From nobody Mon Feb 10 06:55:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YrwMW5qM6z5nT4l; Mon, 10 Feb 2025 06:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YrwMW4gnZz3qNy; Mon, 10 Feb 2025 06:55:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739170551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m7LWqhDcjdRRDQEnJWegNsSmvH25S4xOrELuSxH9iHM=; b=mlkRgoaFERM42K9q46ErbEemHnTylDAfgKD/vRAHvDWele8TW8NYlHABB20Ar71kmaueRc NTC95KYrrnlq7wQGRNWF9LMU69cyZZmZHGOEZw4OKVQ0RyJcC6JOHXQGhTLBBVgf9TWFbm XCQUJxEYaGbsQ2LDUqiqUFI6s/v/NG14VdNNH9AliVdupUprwgvpAbZ/nnFqs8slTLMUB2 fTgZhj0JcN8daqlFXi3cfg/dq/ARvF04QdNHzD8zIAPH5bd9OFZ7POG8f9BzOVa864SSbP qmm0nJDGWkhKhtYeVeQ5xzvUhTQBNFiGe6OSljEukYWYYrRQaZye2O3JMYwD8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739170551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m7LWqhDcjdRRDQEnJWegNsSmvH25S4xOrELuSxH9iHM=; b=kqjacLDhZRNkk8hzrmFB3jOd1HN118D0pSRk3t5ACdM0rno9oJGDdFPaWtG8JEZRufxv1/ crqkVmkpsy1rW/WyOWuEILcc934Hj+LKViDNYqR68Ujll35KJxL1ip24WAUcCfIYrVzhYJ nc0YULTy3VqUXjbsjS61rH3f00Vwcm11+hNhQHTGQPWnzTmoINMvI+AHcmc/7ZOOg7/ylW f4UOrD5kBIE8nT30BymP/ayJmahXfMzmmQ6ko2tPlQkmEsaK4I1pz2k1VVtc2lLPR65lnu nPKAIIu66JqGHbTvi67DZjT4V2L5CBNYbb7PR/jTu4mmCGPZURhTLw3tIEWzmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739170551; a=rsa-sha256; cv=none; b=iG3mCAzmF8ocNnZYKG3/2khUL7xzY0rvm5jPxNykP7ODHq0jlMQkjk9sw5nSeErg2Ksvj2 c4nrBcWkoMIhJiKozXW7Rt4JylMjy4+v5vNvmn72NIKVNiSQz1HZq453NcawkCZDt0Zi4H cSX4o61p8nWOtneqGvSmv/F85N+Ghs0GCsZafYpyyeGaXpDElDsG9r++Msc8jNLfQaOLa/ SudSSpBPkvZ6nMnY6jyGLrtrHtmfHGW+6vfwgQq0EOGoRFw/oQ57yt4S8QR3u0sL99faN7 zfQzo8S4s3WyLuOpwRAmUW5ziPi++V9L+GoF2Yii22BHeGrTTaTzoKyyVlEKxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YrwMW3ZNqz15d; Mon, 10 Feb 2025 06:55: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 51A6tpI8029140; Mon, 10 Feb 2025 06:55:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51A6tpHD029137; Mon, 10 Feb 2025 06:55:51 GMT (envelope-from git) Date: Mon, 10 Feb 2025 06:55:51 GMT Message-Id: <202502100655.51A6tpHD029137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: f424cf5940d7 - stable/14 - mlx4ib(4): Fix some typos in device messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f424cf5940d7427d471ab935647994918d2746bc Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f424cf5940d7427d471ab935647994918d2746bc commit f424cf5940d7427d471ab935647994918d2746bc Author: Gordon Bergling AuthorDate: 2025-02-05 10:31:12 +0000 Commit: Gordon Bergling CommitDate: 2025-02-10 06:54:24 +0000 mlx4ib(4): Fix some typos in device messages - s/availible/available/ (cherry picked from commit 84e3ffac12a8dcfeae0a5e0b25afe447ff2d5fa8) --- sys/dev/mlx4/mlx4_core/mlx4_cmd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/mlx4/mlx4_core/mlx4_cmd.c b/sys/dev/mlx4/mlx4_core/mlx4_cmd.c index 45d06104448d..54256ab1e124 100644 --- a/sys/dev/mlx4/mlx4_core/mlx4_cmd.c +++ b/sys/dev/mlx4/mlx4_core/mlx4_cmd.c @@ -1960,7 +1960,7 @@ static void mlx4_allocate_port_vpps(struct mlx4_dev *dev, int port) err = mlx4_ALLOCATE_VPP_get(dev, port, &availible_vpp, vpp_param); if (err) { - mlx4_info(dev, "Failed query availible VPPs\n"); + mlx4_info(dev, "Failed query available VPPs\n"); return; } @@ -1982,12 +1982,12 @@ static void mlx4_allocate_port_vpps(struct mlx4_dev *dev, int port) /* Query actual allocated VPP, just to make sure */ err = mlx4_ALLOCATE_VPP_get(dev, port, &availible_vpp, vpp_param); if (err) { - mlx4_info(dev, "Failed query availible VPPs\n"); + mlx4_info(dev, "Failed query available VPPs\n"); return; } port_qos->num_of_qos_vfs = num_vfs; - mlx4_dbg(dev, "Port %d Availible VPPs %d\n", port, availible_vpp); + mlx4_dbg(dev, "Port %d Available VPPs %d\n", port, availible_vpp); for (i = 0; i < MLX4_NUM_UP; i++) mlx4_dbg(dev, "Port %d UP %d Allocated %d VPPs\n", port, i, @@ -2884,7 +2884,7 @@ static int mlx4_set_vport_qos(struct mlx4_priv *priv, int slave, int port, memset(vpp_qos, 0, sizeof(struct mlx4_vport_qos_param) * MLX4_NUM_UP); if (slave > port_qos->num_of_qos_vfs) { - mlx4_info(dev, "No availible VPP resources for this VF\n"); + mlx4_info(dev, "No available VPP resources for this VF\n"); return -EINVAL; } From nobody Mon Feb 10 06:57:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YrwPQ21tKz5nTNF; Mon, 10 Feb 2025 06: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YrwPQ1ZHPz3r87; Mon, 10 Feb 2025 06: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=1739170650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y1jAMtXroEoxF1Qz0ZAUvpxSuoI/Ef6KLJktL7UqdPo=; b=hoXHwfD+4dKX7Ak/qLu1c6PdUs8kNtIrI0YbLIRss0JGJQwPsSP2UucmTQcTsjG7XJ5kdT 4JnOogZaXk+eWN33NtAD4wxRK403xgyMD8QgpNon2fKF1lljRoULUQMgI4XgMLSE/E/5a9 ihSD/yjOB2NZ8nGnx+f7J8QceHprhAkWM4qnNAw6SwlJxgGG/YS2c2BbbLPWVf/JWnIDNq jLMfxMq5DvHvZr0nxGISEfKhIWNjhw4w8MMI3IpAUtLsn73wUcj29e7ZLdDdwBYBRWdYN0 OGtjSwIKQ5PE+H/8GcPtC0d8I4vBtA841AHS5QJypP/kTYzxTKEW/5vzaLIshQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739170650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y1jAMtXroEoxF1Qz0ZAUvpxSuoI/Ef6KLJktL7UqdPo=; b=IIboFJmpq/zs+O69QTA8YzRn6BfOJ449L2mdOUbfJgwyxT00vTbWjAEfmaFcnuSmSRZWcp SSC9oydfMO06TPN8pc7XVmqpBfXy4Yjz45FxkFv6sBLjhpDJljucSzmR0r93QDgAHdkJZd j/ztzl+yL8IWS/+MRZ6IaEpG81XqK8FTj6Ih9uOdnkyzTXWJL/wtUvO1GjAnDOEPfNWMiO 3G180IJgNJsUaXNVBNocpydbvSsihh0ZFkeJkvQC+DLTCx7fAMhXcG9n6r7Yqmng1vqCfS ZdfDd9R+uIgXNcuB0POimYRxZh5uM0W07Iu86iy6GNFgOCUDQxdIsWOSz9ClkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739170650; a=rsa-sha256; cv=none; b=JSyxmVempQ3CaPUM2RAm9VSsi1odR2yHQvQI2mnkD0NFJt2DFVxe3C21MjDdj2ix7aAUff s/i5AJw8tMo5hz5TprEg3DsmgAt4eFAJslXpSsJhcyRiZBa+yhCwG5CJIXx5JJ6o+D7TwI YUPJyA3IvGKyYPjvLOC3gX4wNNX5iDujGDgKD+ABHc/5IvrEECdQhASJ4Gsk2A46A3S3kl 4c4tViHEWaw3R283n2OoqhGpDuDeD+zJE1+sZzeageCnUm4/eFRgXetoPDcBkQpTMCt4hQ LrOeARAVFYgW6AEdJiTnyigeXUXZA8g2jQHqhF/eGlbXHoLov/cjuv/KqXlZcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YrwPQ0k0sz191; Mon, 10 Feb 2025 06: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 51A6vUsc029722; Mon, 10 Feb 2025 06: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 51A6vUNp029719; Mon, 10 Feb 2025 06:57:30 GMT (envelope-from git) Date: Mon, 10 Feb 2025 06:57:30 GMT Message-Id: <202502100657.51A6vUNp029719@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: d9c36c812b5b - stable/13 - mlx4ib(4): Fix some typos in device messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d9c36c812b5bb03759bc0b3f4a3cb0e16ea5d98d Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=d9c36c812b5bb03759bc0b3f4a3cb0e16ea5d98d commit d9c36c812b5bb03759bc0b3f4a3cb0e16ea5d98d Author: Gordon Bergling AuthorDate: 2025-02-05 10:31:12 +0000 Commit: Gordon Bergling CommitDate: 2025-02-10 06:56:05 +0000 mlx4ib(4): Fix some typos in device messages - s/availible/available/ (cherry picked from commit 84e3ffac12a8dcfeae0a5e0b25afe447ff2d5fa8) --- sys/dev/mlx4/mlx4_core/mlx4_cmd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/mlx4/mlx4_core/mlx4_cmd.c b/sys/dev/mlx4/mlx4_core/mlx4_cmd.c index 502fe5ca76f6..9d55354d0110 100644 --- a/sys/dev/mlx4/mlx4_core/mlx4_cmd.c +++ b/sys/dev/mlx4/mlx4_core/mlx4_cmd.c @@ -1960,7 +1960,7 @@ static void mlx4_allocate_port_vpps(struct mlx4_dev *dev, int port) err = mlx4_ALLOCATE_VPP_get(dev, port, &availible_vpp, vpp_param); if (err) { - mlx4_info(dev, "Failed query availible VPPs\n"); + mlx4_info(dev, "Failed query available VPPs\n"); return; } @@ -1982,12 +1982,12 @@ static void mlx4_allocate_port_vpps(struct mlx4_dev *dev, int port) /* Query actual allocated VPP, just to make sure */ err = mlx4_ALLOCATE_VPP_get(dev, port, &availible_vpp, vpp_param); if (err) { - mlx4_info(dev, "Failed query availible VPPs\n"); + mlx4_info(dev, "Failed query available VPPs\n"); return; } port_qos->num_of_qos_vfs = num_vfs; - mlx4_dbg(dev, "Port %d Availible VPPs %d\n", port, availible_vpp); + mlx4_dbg(dev, "Port %d Available VPPs %d\n", port, availible_vpp); for (i = 0; i < MLX4_NUM_UP; i++) mlx4_dbg(dev, "Port %d UP %d Allocated %d VPPs\n", port, i, @@ -2884,7 +2884,7 @@ static int mlx4_set_vport_qos(struct mlx4_priv *priv, int slave, int port, memset(vpp_qos, 0, sizeof(struct mlx4_vport_qos_param) * MLX4_NUM_UP); if (slave > port_qos->num_of_qos_vfs) { - mlx4_info(dev, "No availible VPP resources for this VF\n"); + mlx4_info(dev, "No available VPP resources for this VF\n"); return -EINVAL; } From nobody Mon Feb 10 07:39:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YrxKs3CXHz5nW9Q; Mon, 10 Feb 2025 07:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YrxKr6ctkz47m4; Mon, 10 Feb 2025 07:39:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739173168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=290aFS/b/NG5AeSQfXIGQsv/W4pLOaRXUnwFW5fnAWc=; b=E9lutCLJ9lcxVRFCUqDISpeCYTAm2zzfYoYN8S3r0qJj9Mnj+WzWUQGecegdse4hoU7xzY ytnavQuvv0b+BWPcrcwns/y1ztECCOxznLKp71NZI7Km3YQpUDQWjjf4JB0M+QgJvBQ/8o yPlLVXVewGrNnE7O2iQQshqmwug1v0hL2QK49Ah1dhxgqrFt3aoQ/3GwwT5fPb8IPoWwpm PdfC25SpnhZS/ApqG9h5ZcHQzuUalCngUkStctk9h++Vaz54Og9i5qt9vGpW+DN3txE9NL wAw/pyMusLYUs1lcxYu0wyKv+MXAkKJQ++T6gZ2MZn8iXjMpNxAr1WTa8m7Qyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739173168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=290aFS/b/NG5AeSQfXIGQsv/W4pLOaRXUnwFW5fnAWc=; b=Fid74VRjAgUEOX9PSDfIMCKEU5Rofq+Sb5H8Jp3Aq23/BFX/wv3ycPUrRPiF26IM6/3Amn Kt1l88npq+uZ0zyfrZ4g9aYNE18IU3/ULsJFVbevK7e9rucybiDqjmHzIff4L7dArZXz7W Btoc4d8ncnbtqBp0iZ8rku+cVZ1uGa133rEggchh7r9qfdJxwEONYRyhVyR7r8LD3ixaTG 6lq7SiV9lJsqz2n9pBR/L3g3Mrzq089N0vFm+i8Rx7xcYGfW+/y4p/KOAWrDRDD08oO7iE xZEt7pRCmC5slhQGU9kP+BMOf/+9fiiPOjt3x2SbKZwESLHYX0qqglpWNElx0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739173168; a=rsa-sha256; cv=none; b=EDGDYkoQRi/FshtRZ9F6pB7nVxe7ERmU4e8exxxi4y3PLE2viKXIp//FvhfAJV3BOYtBoU 3DAuC1H2cnu8C0SpWCxWFVXyKlOA44yqjCIWLlDryBNBg6DtNtDvR/9cPbDbyhP13H8wf9 r4WpLvpZ6owU4nCkrHykmqUWkg726rqyASon55LaH6pfBzbed3Q2fzhi9kIBe8aIE9EZdB kyM/mIIr5DJfzdr+hxogBz8VP45GpR11IVD3o3UvsLutSm9T1bqsNaDuHP6J+6/KSNXhmf BHMNeerRVDQO5RAKOucLV9lbnZRRmZsNlDYiOfufZmaWqh+vUid5KuEZEYaJtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YrxKr613Hz2t4; Mon, 10 Feb 2025 07:39: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 51A7dS6t006096; Mon, 10 Feb 2025 07:39:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51A7dSP0006093; Mon, 10 Feb 2025 07:39:28 GMT (envelope-from git) Date: Mon, 10 Feb 2025 07:39:28 GMT Message-Id: <202502100739.51A7dSP0006093@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: dfe803fdbc54 - releng/13.5 - Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: dfe803fdbc54e65aaf23c56d53eeeefdef8e42aa Auto-Submitted: auto-generated The branch releng/13.5 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=dfe803fdbc54e65aaf23c56d53eeeefdef8e42aa commit dfe803fdbc54e65aaf23c56d53eeeefdef8e42aa Author: Kirk McKusick AuthorDate: 2025-01-28 01:39:45 +0000 Commit: Kirk McKusick CommitDate: 2025-02-10 07:38:51 +0000 Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106 Standardize the definition of a UFS dinode. Differential Revision: https://reviews.freebsd.org/D48472 (cherry picked from commit 1111a44301da39d7b7459c784230e1405e8980f8) (cherry picked from commit aa90fbed151de512ab6e59f75df009533a15751f) (cherry picked from commit 256389eaf158acaf67f0530764be8af68edee78c) (cherry picked from commit 6cd973d903c8f214d84daf91eb75047631bf1618) (cherry picked from commit e1ebda4458bbaf7d85fb803e20f3afc5441f24d9) (cherry picked from commit 6f87402a02f0801942fe8f0d9a8f7f3e04dfbb01) Approved-by: re (cperciva) --- lib/libufs/inode.c | 14 ++++++- lib/libufs/libufs.h | 10 +---- sbin/dump/traverse.c | 4 -- sbin/fsck_ffs/fsck.h | 4 -- sbin/fsck_ffs/inode.c | 30 +++++++++++++-- sbin/newfs/mkfs.c | 4 -- sbin/quotacheck/quotacheck.c | 4 -- share/man/man7/ffs.7 | 6 ++- stand/libsa/ufs.c | 11 ++---- sys/ufs/ffs/ffs_alloc.c | 3 +- sys/ufs/ffs/ffs_extern.h | 1 + sys/ufs/ffs/ffs_subr.c | 61 +++++++++++++++++++++++++++++++ sys/ufs/ffs/ffs_vfsops.c | 6 +++ sys/ufs/ufs/dinode.h | 26 ++++++++++--- sys/ufs/ufs/inode.h | 9 ++--- usr.sbin/makefs/ffs.c | 22 +++++------ usr.sbin/makefs/ffs/ufs_inode.h | 81 +++++++++++++++++++---------------------- usr.sbin/quot/quot.c | 4 -- 18 files changed, 192 insertions(+), 108 deletions(-) diff --git a/lib/libufs/inode.c b/lib/libufs/inode.c index 780e863928aa..48f2e8b0ff08 100644 --- a/lib/libufs/inode.c +++ b/lib/libufs/inode.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -52,6 +53,7 @@ getinode(struct uufsd *disk, union dinodep *dp, ino_t inum) ino_t min, max; caddr_t inoblock; struct fs *fs; + struct timespec now; ERROR(disk, NULL); @@ -72,6 +74,10 @@ getinode(struct uufsd *disk, union dinodep *dp, ino_t inum) } disk->d_inoblock = inoblock; } + if (clock_gettime(CLOCK_REALTIME_FAST, &now) != 0) { + ERROR(disk, "cannot get current time of day"); + return (-1); + } if (inum >= min && inum < max) goto gotit; bread(disk, fsbtodb(fs, ino_to_fsba(fs, inum)), inoblock, @@ -81,6 +87,8 @@ getinode(struct uufsd *disk, union dinodep *dp, ino_t inum) gotit: switch (disk->d_ufs) { case 1: disk->d_dp.dp1 = &((struct ufs1_dinode *)inoblock)[inum - min]; + if (ffs_oldfscompat_inode_read(fs, disk->d_dp, now.tv_sec)) + putinode(disk); if (dp != NULL) *dp = disk->d_dp; return (0); @@ -88,8 +96,12 @@ gotit: switch (disk->d_ufs) { disk->d_dp.dp2 = &((struct ufs2_dinode *)inoblock)[inum - min]; if (dp != NULL) *dp = disk->d_dp; - if (ffs_verify_dinode_ckhash(fs, disk->d_dp.dp2) == 0) + if (ffs_verify_dinode_ckhash(fs, disk->d_dp.dp2) == 0) { + if (ffs_oldfscompat_inode_read(fs, disk->d_dp, + now.tv_sec)) + putinode(disk); return (0); + } ERROR(disk, "check-hash failed for inode read from disk"); return (-1); default: diff --git a/lib/libufs/libufs.h b/lib/libufs/libufs.h index b26e0c263ce3..8acb365f1f44 100644 --- a/lib/libufs/libufs.h +++ b/lib/libufs/libufs.h @@ -29,14 +29,7 @@ #ifndef __LIBUFS_H__ #define __LIBUFS_H__ - -/* - * libufs structures. - */ -union dinodep { - struct ufs1_dinode *dp1; - struct ufs2_dinode *dp2; -}; +#include /* * userland ufs disk. @@ -107,6 +100,7 @@ void ffs_clusteracct(struct fs *, struct cg *, ufs1_daddr_t, int); void ffs_fragacct(struct fs *, int, int32_t [], int); int ffs_isblock(struct fs *, u_char *, ufs1_daddr_t); int ffs_isfreeblock(struct fs *, u_char *, ufs1_daddr_t); +bool ffs_oldfscompat_inode_read(struct fs *, union dinodep, time_t); void ffs_setblock(struct fs *, u_char *, ufs1_daddr_t); int ffs_sbget(void *, struct fs **, off_t, char *, int (*)(void *, off_t, void **, int)); diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c index 281cffcdf6f2..e18c2ac86bf7 100644 --- a/sbin/dump/traverse.c +++ b/sbin/dump/traverse.c @@ -57,10 +57,6 @@ static char sccsid[] = "@(#)traverse.c 8.7 (Berkeley) 6/15/95"; #include "dump.h" -union dinode { - struct ufs1_dinode dp1; - struct ufs2_dinode dp2; -}; #define DIP(dp, field) \ ((sblock->fs_magic == FS_UFS1_MAGIC) ? \ (dp)->dp1.field : (dp)->dp2.field) diff --git a/sbin/fsck_ffs/fsck.h b/sbin/fsck_ffs/fsck.h index 1a4cc24e63db..899d70e3dcfc 100644 --- a/sbin/fsck_ffs/fsck.h +++ b/sbin/fsck_ffs/fsck.h @@ -76,10 +76,6 @@ #define INOBUFSIZE 64*1024 /* size of buffer to read inodes in pass1 */ #define ZEROBUFSIZE (dev_bsize * 128) /* size of zero buffer used by -Z */ -union dinode { - struct ufs1_dinode dp1; - struct ufs2_dinode dp2; -}; #define DIP(dp, field) \ ((sblock.fs_magic == FS_UFS1_MAGIC) ? \ (dp)->dp1.field : (dp)->dp2.field) diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index 3db8a5e5c23d..f7b9b941fdb4 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -53,6 +53,7 @@ static const char sccsid[] = "@(#)inode.c 8.8 (Berkeley) 4/28/95"; #include "fsck.h" struct bufarea *icachebp; /* inode cache buffer */ +static time_t now; /* current time of day */ static int iblock(struct inodesc *, off_t isize, int type); static ufs2_daddr_t indir_blkatoff(ufs2_daddr_t, ino_t, ufs_lbn_t, ufs_lbn_t, @@ -436,6 +437,7 @@ void ginode(ino_t inumber, struct inode *ip) { ufs2_daddr_t iblk; + union dinodep dpp; struct ufs2_dinode *dp; if (inumber < UFS_ROOTINO || inumber >= maxino) @@ -473,11 +475,14 @@ ginode(ino_t inumber, struct inode *ip) if (sblock.fs_magic == FS_UFS1_MAGIC) { ip->i_dp = (union dinode *) &ip->i_bp->b_un.b_dinode1[inumber - ip->i_bp->b_index]; + dpp.dp1 = (struct ufs1_dinode *)ip->i_dp; + if (ffs_oldfscompat_inode_read(&sblock, dpp, now)) + inodirty(ip); return; } ip->i_dp = (union dinode *) &ip->i_bp->b_un.b_dinode2[inumber - ip->i_bp->b_index]; - dp = (struct ufs2_dinode *)ip->i_dp; + dpp.dp2 = dp = (struct ufs2_dinode *)ip->i_dp; /* Do not check hash of inodes being created */ if (dp->di_mode != 0 && ffs_verify_dinode_ckhash(&sblock, dp)) { pwarn("INODE CHECK-HASH FAILED"); @@ -489,6 +494,8 @@ ginode(ino_t inumber, struct inode *ip) inodirty(ip); } } + if (ffs_oldfscompat_inode_read(&sblock, dpp, now)) + inodirty(ip); } /* @@ -527,6 +534,7 @@ getnextinode(ino_t inumber, int rebuiltcg) mode_t mode; ufs2_daddr_t ndb, blk; union dinode *dp; + union dinodep dpp; struct inode ip; static caddr_t nextinop; @@ -557,10 +565,13 @@ getnextinode(ino_t inumber, int rebuiltcg) nextinop = inobuf.b_un.b_buf; } dp = (union dinode *)nextinop; - if (sblock.fs_magic == FS_UFS1_MAGIC) + if (sblock.fs_magic == FS_UFS1_MAGIC) { nextinop += sizeof(struct ufs1_dinode); - else + dpp.dp1 = (struct ufs1_dinode *)dp; + } else { nextinop += sizeof(struct ufs2_dinode); + dpp.dp2 = (struct ufs2_dinode *)dp; + } if ((ckhashadd & CK_INODE) != 0) { ffs_update_dinode_ckhash(&sblock, (struct ufs2_dinode *)dp); dirty(&inobuf); @@ -579,6 +590,8 @@ getnextinode(ino_t inumber, int rebuiltcg) dirty(&inobuf); } } + if (ffs_oldfscompat_inode_read(&sblock, dpp, now)) + dirty(&inobuf); if (rebuiltcg && (char *)dp == inobuf.b_un.b_buf) { /* * Try to determine if we have reached the end of the @@ -632,8 +645,19 @@ getnextinode(ino_t inumber, int rebuiltcg) void setinodebuf(int cg, ino_t inosused) { + struct timespec time; ino_t inum; + /* + * Get the current value of the present time. + * This will happen before each cylinder group is scanned. + * If for some reason getting the time fails, we will use + * the last time that the superblock was updated. + */ + if (clock_gettime(CLOCK_REALTIME_FAST, &time) == 0) + now = time.tv_sec; + else + now = sblock.fs_time; inum = cg * sblock.fs_ipg; lastvalidinum = inum + inosused - 1; nextinum = inum; diff --git a/sbin/newfs/mkfs.c b/sbin/newfs/mkfs.c index a9bae0c64703..0ba99a22a006 100644 --- a/sbin/newfs/mkfs.c +++ b/sbin/newfs/mkfs.c @@ -95,10 +95,6 @@ static struct csum *fscs; #define sblock disk.d_fs #define acg disk.d_cg -union dinode { - struct ufs1_dinode dp1; - struct ufs2_dinode dp2; -}; #define DIP(dp, field) \ ((sblock.fs_magic == FS_UFS1_MAGIC) ? \ (dp)->dp1.field : (dp)->dp2.field) diff --git a/sbin/quotacheck/quotacheck.c b/sbin/quotacheck/quotacheck.c index fbc8fbce5e77..2ae163545953 100644 --- a/sbin/quotacheck/quotacheck.c +++ b/sbin/quotacheck/quotacheck.c @@ -89,10 +89,6 @@ union { long dev_bsize = 1; ino_t maxino; -union dinode { - struct ufs1_dinode dp1; - struct ufs2_dinode dp2; -}; #define DIP(dp, field) \ ((sblock.fs_magic == FS_UFS1_MAGIC) ? \ (dp)->dp1.field : (dp)->dp2.field) diff --git a/share/man/man7/ffs.7 b/share/man/man7/ffs.7 index 7d003443f32a..a1a319ae47dd 100644 --- a/share/man/man7/ffs.7 +++ b/share/man/man7/ffs.7 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 3, 2020 +.Dd January 19, 2025 .Dt FFS 7 .Os .Sh NAME @@ -285,6 +285,10 @@ upon reallocating file system blocks to be contiguous. Enable support for the rearrangement of blocks to be contiguous. .Pq Default: 1 . +.It Va vfs.ffs.prttimechgs +Print a console message when timestamps for UFS1 filesystems are found +to be in the future and are changed to be the present time. +.Pq Default: 0 . .El .Sh HISTORY The diff --git a/stand/libsa/ufs.c b/stand/libsa/ufs.c index 6c2de232ddbd..8911a84ee3c2 100644 --- a/stand/libsa/ufs.c +++ b/stand/libsa/ufs.c @@ -111,10 +111,7 @@ struct fs_ops ufs_fsops = { struct file { off_t f_seekp; /* seek pointer */ struct fs *f_fs; /* pointer to super-block */ - union dinode { - struct ufs1_dinode di1; - struct ufs2_dinode di2; - } f_di; /* copy of on-disk inode */ + union dinode f_dp; /* copy of on-disk inode */ int f_nindir[UFS_NIADDR]; /* number of blocks mapped by indirect block at level i */ @@ -130,7 +127,7 @@ struct file { }; #define DIP(fp, field) \ ((fp)->f_fs->fs_magic == FS_UFS1_MAGIC ? \ - (fp)->f_di.di1.field : (fp)->f_di.di2.field) + (fp)->f_dp.dp1.field : (fp)->f_dp.dp2.field) typedef struct ufs_mnt { char *um_dev; @@ -188,10 +185,10 @@ read_inode(ino_t inumber, struct open_file *f) } if (fp->f_fs->fs_magic == FS_UFS1_MAGIC) - fp->f_di.di1 = ((struct ufs1_dinode *)buf) + fp->f_dp.dp1 = ((struct ufs1_dinode *)buf) [ino_to_fsbo(fs, inumber)]; else - fp->f_di.di2 = ((struct ufs2_dinode *)buf) + fp->f_dp.dp2 = ((struct ufs2_dinode *)buf) [ino_to_fsbo(fs, inumber)]; /* diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index 09028456435e..163ef4a11e50 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -491,8 +491,7 @@ nospace: * allocation will be used. */ -SYSCTL_NODE(_vfs, OID_AUTO, ffs, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, - "FFS filesystem"); +SYSCTL_DECL(_vfs_ffs); static int doasyncfree = 1; SYSCTL_INT(_vfs_ffs, OID_AUTO, doasyncfree, CTLFLAG_RW, &doasyncfree, 0, diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h index 2e9b485d482b..15688943fa34 100644 --- a/sys/ufs/ffs/ffs_extern.h +++ b/sys/ufs/ffs/ffs_extern.h @@ -85,6 +85,7 @@ int ffs_inotovp(struct mount *, ino_t, uint64_t, int, struct vnode **, int ffs_isblock(struct fs *, uint8_t *, ufs1_daddr_t); int ffs_isfreeblock(struct fs *, uint8_t *, ufs1_daddr_t); void ffs_oldfscompat_write(struct fs *); +bool ffs_oldfscompat_inode_read(struct fs *, union dinodep, time_t); int ffs_own_mount(const struct mount *mp); int ffs_reallocblks(struct vop_reallocblks_args *); int ffs_realloccg(struct inode *, ufs2_daddr_t, ufs2_daddr_t, diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index 351559882ca2..af0e2ac74427 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -35,6 +35,7 @@ #include #ifndef _KERNEL +#include #include #include #include @@ -66,6 +67,7 @@ struct malloc_type; #include #include #include +#include #include #include @@ -396,6 +398,65 @@ ffs_oldfscompat_write(struct fs *fs) } } +/* + * Sanity checks for loading old filesystem inodes. + * + * XXX - Parts get retired eventually. + * Unfortunately new bits get added. + */ +static int prttimechgs = 0; +#ifdef _KERNEL +SYSCTL_NODE(_vfs, OID_AUTO, ffs, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "FFS filesystem"); + +SYSCTL_INT(_vfs_ffs, OID_AUTO, prttimechgs, CTLFLAG_RWTUN, &prttimechgs, 0, + "print UFS1 time changes made to inodes"); +#endif /* _KERNEL */ +bool +ffs_oldfscompat_inode_read(struct fs *fs, union dinodep dp, time_t now) +{ + bool change; + + change = false; + switch (fs->fs_magic) { + case FS_UFS2_MAGIC: + /* No changes for now */ + break; + + case FS_UFS1_MAGIC: + /* + * With the change to unsigned time values in UFS1, times set + * before Jan 1, 1970 will appear to be in the future. Check + * for future times and set them to be the current time. + */ + if (dp.dp1->di_ctime > now) { + if (prttimechgs) + printf("ctime %ud changed to %ld\n", + dp.dp1->di_ctime, (long)now); + dp.dp1->di_ctime = now; + change = true; + } + if (dp.dp1->di_mtime > now) { + if (prttimechgs) + printf("mtime %ud changed to %ld\n", + dp.dp1->di_mtime, (long)now); + dp.dp1->di_mtime = now; + dp.dp1->di_ctime = now; + change = true; + } + if (dp.dp1->di_atime > now) { + if (prttimechgs) + printf("atime %ud changed to %ld\n", + dp.dp1->di_atime, (long)now); + dp.dp1->di_atime = now; + dp.dp1->di_ctime = now; + change = true; + } + break; + } + return (change); +} + /* * Verify the filesystem values. */ diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index a77784b32d78..2cc22ffa32d4 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -205,6 +205,9 @@ ffs_load_inode(struct buf *bp, struct inode *ip, struct fs *fs, ino_t ino) ip->i_gen = dip1->di_gen; ip->i_uid = dip1->di_uid; ip->i_gid = dip1->di_gid; + if (ffs_oldfscompat_inode_read(fs, ip->i_dp, time_second) && + fs->fs_ronly == 0) + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); return (0); } dip2 = ((struct ufs2_dinode *)bp->b_data + ino_to_fsbo(fs, ino)); @@ -224,6 +227,9 @@ ffs_load_inode(struct buf *bp, struct inode *ip, struct fs *fs, ino_t ino) ip->i_gen = dip2->di_gen; ip->i_uid = dip2->di_uid; ip->i_gid = dip2->di_gid; + if (ffs_oldfscompat_inode_read(fs, ip->i_dp, time_second) && + fs->fs_ronly == 0) + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); return (0); } diff --git a/sys/ufs/ufs/dinode.h b/sys/ufs/ufs/dinode.h index b4117a99c262..49f7fd91aa26 100644 --- a/sys/ufs/ufs/dinode.h +++ b/sys/ufs/ufs/dinode.h @@ -113,12 +113,13 @@ typedef int64_t ufs_time_t; #define IFWHT 0160000 /* Whiteout. */ /* - * A dinode contains all the meta-data associated with a UFS2 file. - * This structure defines the on-disk format of a dinode. Since + * Each UFS filesystem version defines the on-disk format of its dinode. + * + * A UFS2 dinode contains all the meta-data associated with a UFS2 file. + * This structure defines the on-disk format of a UFS2 dinode. Since * this structure describes an on-disk structure, all its fields * are defined by types with precise widths. */ - #define UFS_NXADDR 2 /* External addresses in inode. */ #define UFS_NDADDR 12 /* Direct addresses in inode. */ #define UFS_NIADDR 3 /* Indirect addresses in inode. */ @@ -186,11 +187,11 @@ struct ufs1_dinode { uint32_t di_dirdepth; /* 4: IFDIR: depth from root dir */ }; uint64_t di_size; /* 8: File byte count. */ - int32_t di_atime; /* 16: Last access time. */ + uint32_t di_atime; /* 16: Last access time. */ int32_t di_atimensec; /* 20: Last access time. */ - int32_t di_mtime; /* 24: Last modified time. */ + uint32_t di_mtime; /* 24: Last modified time. */ int32_t di_mtimensec; /* 28: Last modified time. */ - int32_t di_ctime; /* 32: Last inode change time. */ + uint32_t di_ctime; /* 32: Last inode change time. */ int32_t di_ctimensec; /* 36: Last inode change time. */ union { struct { @@ -212,4 +213,17 @@ struct ufs1_dinode { #define UFS_LINK_MAX 65500 /* leave a few spare for special values */ +/* + * These structures hold or reference an on-disk dinode. + */ +union dinode { + struct ufs1_dinode dp1; + struct ufs2_dinode dp2; +}; + +union dinodep { + struct ufs1_dinode *dp1; + struct ufs2_dinode *dp2; +}; + #endif /* _UFS_UFS_DINODE_H_ */ diff --git a/sys/ufs/ufs/inode.h b/sys/ufs/ufs/inode.h index afe49bdba882..0fae4c11e309 100644 --- a/sys/ufs/ufs/inode.h +++ b/sys/ufs/ufs/inode.h @@ -89,10 +89,7 @@ struct inode { /* * The real copy of the on-disk inode. */ - union { - struct ufs1_dinode *din1; /* UFS1 on-disk dinode. */ - struct ufs2_dinode *din2; /* UFS2 on-disk dinode. */ - } dinode_u; + union dinodep i_dp; /* On-disk dinode */ ino_t i_number; /* The identity of the inode. */ uint32_t i_flag; /* flags, see below */ @@ -203,8 +200,8 @@ struct inode { #define i_dirhash i_un.dirhash #define i_snapblklist i_un.snapblklist -#define i_din1 dinode_u.din1 -#define i_din2 dinode_u.din2 +#define i_din1 i_dp.dp1 +#define i_din2 i_dp.dp2 #ifdef _KERNEL diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c index cc83f2f2d3d2..c42641fff778 100644 --- a/usr.sbin/makefs/ffs.c +++ b/usr.sbin/makefs/ffs.c @@ -108,7 +108,7 @@ #undef DIP #define DIP(dp, field) \ ((ffs_opts->version == 1) ? \ - (dp)->ffs1_din.di_##field : (dp)->ffs2_din.di_##field) + (dp)->dp1.di_##field : (dp)->dp2.di_##field) /* * Various file system defaults (cribbed from newfs(8)). @@ -855,10 +855,10 @@ ffs_populate_dir(const char *dir, fsnode *root, fsinfo_t *fsopts) /* build on-disk inode */ if (ffs_opts->version == 1) - membuf = ffs_build_dinode1(&din.ffs1_din, &dirbuf, cur, + membuf = ffs_build_dinode1(&din.dp1, &dirbuf, cur, root, fsopts); else - membuf = ffs_build_dinode2(&din.ffs2_din, &dirbuf, cur, + membuf = ffs_build_dinode2(&din.dp2, &dirbuf, cur, root, fsopts); if (debug & DEBUG_FS_POPULATE_NODE) { @@ -944,11 +944,11 @@ ffs_write_file(union dinode *din, uint32_t ino, void *buf, fsinfo_t *fsopts) in.i_number = ino; in.i_size = DIP(din, size); if (ffs_opts->version == 1) - memcpy(&in.i_din.ffs1_din, &din->ffs1_din, - sizeof(in.i_din.ffs1_din)); + memcpy(&in.i_din.dp1, &din->dp1, + sizeof(in.i_din.dp1)); else - memcpy(&in.i_din.ffs2_din, &din->ffs2_din, - sizeof(in.i_din.ffs2_din)); + memcpy(&in.i_din.dp2, &din->dp2, + sizeof(in.i_din.dp2)); if (DIP(din, size) == 0) goto write_inode_and_leave; /* mmm, cheating */ @@ -1178,16 +1178,16 @@ ffs_write_inode(union dinode *dp, uint32_t ino, const fsinfo_t *fsopts) ffs_rdfs(d, fs->fs_bsize, buf, fsopts); if (fsopts->needswap) { if (ffs_opts->version == 1) - ffs_dinode1_swap(&dp->ffs1_din, + ffs_dinode1_swap(&dp->dp1, &dp1[ino_to_fsbo(fs, ino)]); else - ffs_dinode2_swap(&dp->ffs2_din, + ffs_dinode2_swap(&dp->dp2, &dp2[ino_to_fsbo(fs, ino)]); } else { if (ffs_opts->version == 1) - dp1[ino_to_fsbo(fs, ino)] = dp->ffs1_din; + dp1[ino_to_fsbo(fs, ino)] = dp->dp1; else - dp2[ino_to_fsbo(fs, ino)] = dp->ffs2_din; + dp2[ino_to_fsbo(fs, ino)] = dp->dp2; } ffs_wtfs(d, fs->fs_bsize, buf, fsopts); free(buf); diff --git a/usr.sbin/makefs/ffs/ufs_inode.h b/usr.sbin/makefs/ffs/ufs_inode.h index 67581dda3359..e84fa57f6540 100644 --- a/usr.sbin/makefs/ffs/ufs_inode.h +++ b/usr.sbin/makefs/ffs/ufs_inode.h @@ -39,11 +39,6 @@ * @(#)inode.h 8.9 (Berkeley) 5/14/95 */ -union dinode { - struct ufs1_dinode ffs1_din; - struct ufs2_dinode ffs2_din; -}; - struct inode { ino_t i_number; /* The identity of the inode. */ struct vnode *i_devvp; /* vnode pointer (contains fsopts) */ @@ -52,45 +47,45 @@ struct inode { uint64_t i_size; }; -#define i_ffs1_atime i_din.ffs1_din.di_atime -#define i_ffs1_atimensec i_din.ffs1_din.di_atimensec -#define i_ffs1_blocks i_din.ffs1_din.di_blocks -#define i_ffs1_ctime i_din.ffs1_din.di_ctime -#define i_ffs1_ctimensec i_din.ffs1_din.di_ctimensec -#define i_ffs1_db i_din.ffs1_din.di_db -#define i_ffs1_flags i_din.ffs1_din.di_flags -#define i_ffs1_gen i_din.ffs1_din.di_gen -#define i_ffs11_gid i_din.ffs1_din.di_gid -#define i_ffs1_ib i_din.ffs1_din.di_ib -#define i_ffs1_mode i_din.ffs1_din.di_mode -#define i_ffs1_mtime i_din.ffs1_din.di_mtime -#define i_ffs1_mtimensec i_din.ffs1_din.di_mtimensec -#define i_ffs1_nlink i_din.ffs1_din.di_nlink -#define i_ffs1_rdev i_din.ffs1_din.di_rdev -#define i_ffs1_shortlink i_din.ffs1_din.di_shortlink -#define i_ffs1_size i_din.ffs1_din.di_size -#define i_ffs1_uid i_din.ffs1_din.di_uid +#define i_ffs1_atime i_din.dp1.di_atime +#define i_ffs1_atimensec i_din.dp1.di_atimensec +#define i_ffs1_blocks i_din.dp1.di_blocks +#define i_ffs1_ctime i_din.dp1.di_ctime +#define i_ffs1_ctimensec i_din.dp1.di_ctimensec +#define i_ffs1_db i_din.dp1.di_db +#define i_ffs1_flags i_din.dp1.di_flags +#define i_ffs1_gen i_din.dp1.di_gen +#define i_ffs11_gid i_din.dp1.di_gid +#define i_ffs1_ib i_din.dp1.di_ib +#define i_ffs1_mode i_din.dp1.di_mode +#define i_ffs1_mtime i_din.dp1.di_mtime +#define i_ffs1_mtimensec i_din.dp1.di_mtimensec +#define i_ffs1_nlink i_din.dp1.di_nlink +#define i_ffs1_rdev i_din.dp1.di_rdev +#define i_ffs1_shortlink i_din.dp1.di_shortlink +#define i_ffs1_size i_din.dp1.di_size +#define i_ffs1_uid i_din.dp1.di_uid -#define i_ffs2_atime i_din.ffs2_din.di_atime -#define i_ffs2_atimensec i_din.ffs2_din.di_atimensec -#define i_ffs2_blocks i_din.ffs2_din.di_blocks -#define i_ffs2_ctime i_din.ffs2_din.di_ctime -#define i_ffs2_ctimensec i_din.ffs2_din.di_ctimensec -#define i_ffs2_birthtime i_din.ffs2_din.di_birthtime -#define i_ffs2_birthnsec i_din.ffs2_din.di_birthnsec -#define i_ffs2_db i_din.ffs2_din.di_db -#define i_ffs2_flags i_din.ffs2_din.di_flags -#define i_ffs2_gen i_din.ffs2_din.di_gen -#define i_ffs21_gid i_din.ffs2_din.di_gid -#define i_ffs2_ib i_din.ffs2_din.di_ib -#define i_ffs2_mode i_din.ffs2_din.di_mode -#define i_ffs2_mtime i_din.ffs2_din.di_mtime -#define i_ffs2_mtimensec i_din.ffs2_din.di_mtimensec -#define i_ffs2_nlink i_din.ffs2_din.di_nlink -#define i_ffs2_rdev i_din.ffs2_din.di_rdev -#define i_ffs2_shortlink i_din.ffs2_din.di_shortlink -#define i_ffs2_size i_din.ffs2_din.di_size -#define i_ffs2_uid i_din.ffs2_din.di_uid +#define i_ffs2_atime i_din.dp2.di_atime +#define i_ffs2_atimensec i_din.dp2.di_atimensec +#define i_ffs2_blocks i_din.dp2.di_blocks +#define i_ffs2_ctime i_din.dp2.di_ctime +#define i_ffs2_ctimensec i_din.dp2.di_ctimensec +#define i_ffs2_birthtime i_din.dp2.di_birthtime +#define i_ffs2_birthnsec i_din.dp2.di_birthnsec +#define i_ffs2_db i_din.dp2.di_db +#define i_ffs2_flags i_din.dp2.di_flags +#define i_ffs2_gen i_din.dp2.di_gen +#define i_ffs21_gid i_din.dp2.di_gid +#define i_ffs2_ib i_din.dp2.di_ib +#define i_ffs2_mode i_din.dp2.di_mode +#define i_ffs2_mtime i_din.dp2.di_mtime +#define i_ffs2_mtimensec i_din.dp2.di_mtimensec +#define i_ffs2_nlink i_din.dp2.di_nlink +#define i_ffs2_rdev i_din.dp2.di_rdev +#define i_ffs2_shortlink i_din.dp2.di_shortlink +#define i_ffs2_size i_din.dp2.di_size +#define i_ffs2_uid i_din.dp2.di_uid #undef DIP #define DIP(ip, field) \ diff --git a/usr.sbin/quot/quot.c b/usr.sbin/quot/quot.c index e1f8b96acbc6..037db7ba3f55 100644 --- a/usr.sbin/quot/quot.c +++ b/usr.sbin/quot/quot.c @@ -98,10 +98,6 @@ static void quot(char *, char *); (((fs)->fs_magic == FS_UFS1_MAGIC ? sizeof(struct ufs1_dinode) : \ sizeof(struct ufs2_dinode)) * INOCNT(fs)) -union dinode { - struct ufs1_dinode dp1; - struct ufs2_dinode dp2; -}; #define DIP(fs, dp, field) \ (((fs)->fs_magic == FS_UFS1_MAGIC) ? \ (dp)->dp1.field : (dp)->dp2.field) From nobody Mon Feb 10 08:02:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yrxqz3P5kz5nXrJ; Mon, 10 Feb 2025 08:02: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yrxqz2npZz3KKP; Mon, 10 Feb 2025 08:02:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739174527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0yLowd/NhA26NYrG31YSP3p8/voVqm2+nyapsndWdg=; b=kvxlEVxB298j1RrHKvXcVEbTBpr5eLEq5vSuWDlB3RmPN/RfiQ4PActG6F8KdQVwB/guVv QqlkQWbf5OT8+VuVnfb+04KB8B7fYLkObfhXr8a1e3crFQTjoWuC0jqSYlTMuJmC7bM63T +lrQ+jTcM2FGnp8GokpOPuTUMYtcUeAVveUuHh/1tVUvqTVtbsT8hi85S3Vvk/uQQfsZS+ iZvCIu6E6zqLQM13H1ty10OaQNDs6tWllRXK+KAkSCM56YG4v87yYmCJWk6KB7OF115GU3 FPwkfjzawtK+A0J62kQR6XWGTra+OgwcQstrrtNb5heX3rZgLOH5P+ZwX2DMDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739174527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0yLowd/NhA26NYrG31YSP3p8/voVqm2+nyapsndWdg=; b=bSkMAtVVl7cHWgJVAdRDZei+NaMjgdlnNH2NqEuWF0eQ4bi8tD4maPdRe0W5aADHTCUpTN U5MvAuD2f2W/kfdR46DNf+utLq3XkPQXqdHhFBCupURBAsMeKJRFoEjG5IVU/qhjkvcr/k /hsWFrtb8HH45SIw24nQRr21O2tsFCMlD2V1FKbIERgbGg1H8/4RGY6/htgSiPZ9DrMqQd J6wpfvN7u7REyo3ysUOd8321cckdEvdsJCIIuGG/R+u9K8qN04idl53oxa89IfMaYUVqmU 4n7M3tKy7EnOGPIavdtRQoBc/SW4qwkt9exl2nujRhNFXlX94IUPz1b+2XKrqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739174527; a=rsa-sha256; cv=none; b=bAHQ9WFY+HaItKB2yJpUkSUkn1QOTbfq3p2JuCogS5f0QO78/AbmXcrAnn9iXN20+vSFTB qLIawrc6fyQLWAkHhfvowo9zjvTgNSQeMY+nSYhwHQsvcie+Us5cQCf3yhczsnGIR1EoWb M/EsqMkWwXmBTTPq+lPortg12yMRvRkMSSGK662Gf5Q0M+0f0/WgA23Gk4YSqwCfyU1wj0 Nnqj2WsRZOld2JLJM3lLX0gwsndeLkBLiupz23IzgXNjB60+Q5t8aFEnCzOpaay1hzhmiY Kp8Fqenq5VH7tI4xWGKEChQpF/1NI1HdkUxrxSAnaCtM0/F/j6Czb201Nc+Obw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yrxqz2M7wz3cp; Mon, 10 Feb 2025 08:02: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 51A8271s059174; Mon, 10 Feb 2025 08:02:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51A8279c059171; Mon, 10 Feb 2025 08:02:07 GMT (envelope-from git) Date: Mon, 10 Feb 2025 08:02:07 GMT Message-Id: <202502100802.51A8279c059171@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 95ab7b3223c0 - main - ipfw: add missing initializer for 'limit' table value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 95ab7b3223c08cf48ccf764815523ea995a7ea0e Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=95ab7b3223c08cf48ccf764815523ea995a7ea0e commit 95ab7b3223c08cf48ccf764815523ea995a7ea0e Author: Andrey V. Elsukov AuthorDate: 2025-02-10 07:58:23 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-02-10 07:58:23 +0000 ipfw: add missing initializer for 'limit' table value PR: 284691 MFC after: 1 week --- sys/netpfil/ipfw/ip_fw_table_value.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/ipfw/ip_fw_table_value.c b/sys/netpfil/ipfw/ip_fw_table_value.c index 1d4e1db2dcbb..431707ae5d74 100644 --- a/sys/netpfil/ipfw/ip_fw_table_value.c +++ b/sys/netpfil/ipfw/ip_fw_table_value.c @@ -112,6 +112,7 @@ mask_table_value(struct table_value *src, struct table_value *dst, _MCPY(netgraph, IPFW_VTYPE_NETGRAPH); _MCPY(fib, IPFW_VTYPE_FIB); _MCPY(nat, IPFW_VTYPE_NAT); + _MCPY(limit, IPFW_VTYPE_LIMIT); _MCPY(mark, IPFW_VTYPE_MARK); _MCPY(dscp, IPFW_VTYPE_DSCP); _MCPY(nh4, IPFW_VTYPE_NH4); From nobody Mon Feb 10 11:10:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys20z56PHz5nkqr; Mon, 10 Feb 2025 11:10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys20z4P4Rz3ctv; Mon, 10 Feb 2025 11:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o1PjLE4JnkcDoK+jUZ0CCBp4GsC9RBnwL41hTSSmnSw=; b=Zedpx/LjRGXJtF3AjjZy6tmt6a2ddfHvzuKhhYbHdLefcRp+zz6ypf75YjYMB63xo7LGRk 5GNiv81ldoJfKLTKFB63AIDsNL2pfOiednbyM/3QoT8qJBZGFn6XhkwA6fHJf7EPBriAs6 7pgFLq5vRV4ki7UJAXLPoFlkVCsewoHCOGpdmTF6qg2XBevEVUb5+dk72njv4MSxZOJVIk NYYBLZ55iYYjbs6BGEdhH1VzYrDVuDGUVJFFx4+rSJhFu+gTPp58iAe/O3TMcZXdWBlW3U amF+XlUPnmnGRjwliP4SRUDoI97bc6CQbJnW4MFf5Y/LreTrt4TFjn5ftSDUpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o1PjLE4JnkcDoK+jUZ0CCBp4GsC9RBnwL41hTSSmnSw=; b=ldfcq35iNPSb7ZAHgBkg1rBMHicHKnhpQw5xrOilm96d6I0hk1MljxB3Ku8v1Y/EkQod/m YwWPGBfhxVFLhQaLMm7kPCKG3sfg9S5kgywM24P1EIXUq8bCaGY7gRw0/TTgE7FWdQ4ukh xyIz5hEdnTJTacqw82qzcVxkB69clajnQ80o09n9xWt6g81a9rkxIM7WTZpDZmAQmKB9br p8x9Xs3RLTy5hCTWTjm6gUDEw9mDi/hIRP2DBcC8Myl27hy6OIefZYlqdMw9p9Cp0c06mI hG+dWrgC9bIrTDt0P9oH9TpYNYwVmJI5kmwPIIeF0nzAsmdJBu1QkrVzMbeiFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185811; a=rsa-sha256; cv=none; b=TVHxR1KbDF5ddbMVqy73ia5cvD3vWgE905rS/dPX29ExoOdkxxGaryN6ugf4kpFVmbYDkC 27k/KRA9xCuDs44dBgDM+U4eeVKOQsX/Rzba5SbetIPGgv0+NIAp79bskOKSLslByij6wd YjEw38bMF2uhKcMREEEn9fhZ4JLmjkiGY82c7B4tMpUsGKSfwHN4J3zzyznihlCNrIi4Ek ILHBF4jim2irTZwHlKqWffvYOPXFrfgCco2X/JQnMNqeZvuSOFHHNCXl6T5JVRTBOFoNU2 WGhSr2dQghR/gPrVWptGxxxyYj4FrlcklyebDJdwIF9FYmT6MS9Lq62UQh6kOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys20z3ZnRz8Y7; Mon, 10 Feb 2025 11:10: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 51ABABQ0004257; Mon, 10 Feb 2025 11:10:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABABGH004250; Mon, 10 Feb 2025 11:10:11 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:11 GMT Message-Id: <202502101110.51ABABGH004250@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: b452e72bda5e - main - pfctl: simplify pfr_add_tables() to pfr_add_table() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b452e72bda5eaa09d6fad94d3b538f21754c5313 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b452e72bda5eaa09d6fad94d3b538f21754c5313 commit b452e72bda5eaa09d6fad94d3b538f21754c5313 Author: Kristof Provost AuthorDate: 2024-12-04 09:48:13 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pfctl: simplify pfr_add_tables() to pfr_add_table() We only ever add a single table at a time, so remove the size argument. This will make subsequent conversion to netlink easier. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.h | 2 +- sbin/pfctl/pfctl_radix.c | 8 ++------ sbin/pfctl/pfctl_table.c | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/sbin/pfctl/pfctl.h b/sbin/pfctl/pfctl.h index 788232d89006..36dcd73ce57d 100644 --- a/sbin/pfctl/pfctl.h +++ b/sbin/pfctl/pfctl.h @@ -56,7 +56,7 @@ struct pfr_buffer { (var) = pfr_buf_next((buf), (var))) int pfr_get_fd(void); -int pfr_add_tables(struct pfr_table *, int, int *, int); +int pfr_add_table(struct pfr_table *, int *, int); int pfr_del_tables(struct pfr_table *, int, int *, int); int pfr_get_tables(struct pfr_table *, struct pfr_table *, int *, int); int pfr_get_tstats(struct pfr_table *, struct pfr_tstats *, int *, int); diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 22552bcf1737..49a20d6c98f4 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -74,19 +74,15 @@ pfr_report_error(struct pfr_table *tbl, struct pfioc_table *io, } int -pfr_add_tables(struct pfr_table *tbl, int size, int *nadd, int flags) +pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) { struct pfioc_table io; - if (size < 0 || (size && tbl == NULL)) { - errno = EINVAL; - return (-1); - } bzero(&io, sizeof io); io.pfrio_flags = flags; io.pfrio_buffer = tbl; io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = size; + io.pfrio_size = 1; if (ioctl(dev, DIOCRADDTABLES, &io)) { pfr_report_error(tbl, &io, "add table"); return (-1); diff --git a/sbin/pfctl/pfctl_table.c b/sbin/pfctl/pfctl_table.c index 5e701be3c654..4ef4dd69309a 100644 --- a/sbin/pfctl/pfctl_table.c +++ b/sbin/pfctl/pfctl_table.c @@ -89,7 +89,7 @@ static const char *istats_text[2][2][2] = { table.pfrt_flags |= PFR_TFLAG_PERSIST; \ if ((!(opts & PF_OPT_NOACTION) || \ (opts & PF_OPT_DUMMYACTION)) && \ - (pfr_add_tables(&table, 1, &nadd, flags)) && \ + (pfr_add_table(&table, &nadd, flags)) && \ (errno != EPERM)) { \ radix_perror(); \ goto _error; \ From nobody Mon Feb 10 11:10:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys2105whDz5nkqs; Mon, 10 Feb 2025 11:10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys2103vc3z3d0J; Mon, 10 Feb 2025 11:10:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6+iNRQrn4MT1HaTx8teFRJCekT2ZRmNSM1z2WUiWMU=; b=N8H93QYxWcpMOKF/ym0OOhi5ofu2LKWj5zW4UI2XgfXPci586ijX9ak/T+nE8pnPIqBuWu /qHibznh1lqeGnP2OeFgDiLCnpFGa8gdNaJTyIp5e6KYT0eoh3wN56X29fZLxcWMQQ/lgD uPHlo1RVs/EQOEWrNz3N08/EiosrnE9k4SYOB8hurRecFMkv2xUfOrURu4irsT93FAYsif TevRV+KNA2C7eatQQlU+Vbuo9pAXKdQZbPhE88Pr2ZqcipeY9LpBnaFmLbhawVzIImOmir gSPOIfUnpjHq4JMfua5BrDBWozjuP0qSTdXHcOD+EuCKOnprBNQZFhLWPPeh9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6+iNRQrn4MT1HaTx8teFRJCekT2ZRmNSM1z2WUiWMU=; b=clGA3X/+YqZ2Lljo/yPYG4q3DTODX4iv6ZAlaeU00EDzKqni33CVoL0+T7SWKcbGH0m4Dr tjzDDT9wgx+Z6fsKe22G+2E/O+cgWWxKazOA1N6MBfZmA9nan2Z0ArNro8jLgFXyQO17g8 XLijBhp+86znKdJrkeHfRZkJqxxgZusrKjLZBzqMf8S16vYjaMQKxp8m8bxLNObBtodrYd i8OqQf5FMvbu6VvS50YtLhCHb/sL8koorFPZD47rH7Z5bGz5FHWXl7WlYc7KapsfI8KrrZ ZZ4I8OiIvRdn/UFouc4QOZuPdm+zgbJJDMtF0mK8rnvijqjJTuWJ0uJ1WZD/Vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185812; a=rsa-sha256; cv=none; b=u3iq8SmBArEHIe4R3ozOGCiYua1xs1UEATx0LtLj+lkD48Ho4CO1aOaFKv0EuFqfLbPLRR VCqZfr/VNb6K8Y5tJs6VNKqg+Z8KX+cUKAjmzex8EHf6vxoj9+z3wsZ7YKhGc9cmDhT8yx L3FmVLdXmjLiipT2s2MvvI/BmpqmLDHs3Qd5Ezsu+m/qF2m9lbNR0puLudpHqJ5OZTOK4A JSFPP9QTgIKOqWcplReXWyo/8NWOxskSp38s3N+OH6OZYbAOxSPBiRO+Jn1N+0N8K66S8a woGLV41GZ/S0KdX66yyY7Q1faPmXw7xfwVYdJZJuyFLkHeSYYhd47Scu43S2cA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys2103WG5z7kc; Mon, 10 Feb 2025 11:10: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 51ABACFI004905; Mon, 10 Feb 2025 11:10:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABAC6C004899; Mon, 10 Feb 2025 11:10:12 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:12 GMT Message-Id: <202502101110.51ABAC6C004899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 84a80eae6987 - main - pf: convert DIOCRADDTABLES to netlink List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 84a80eae6987bace1552882a7bb94e62fa1dc3ad Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=84a80eae6987bace1552882a7bb94e62fa1dc3ad commit 84a80eae6987bace1552882a7bb94e62fa1dc3ad Author: Kristof Provost AuthorDate: 2025-02-07 16:35:46 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pf: convert DIOCRADDTABLES to netlink Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 43 +++++++++++++++++++++++++++++++++++++++++++ lib/libpfctl/libpfctl.h | 2 ++ sbin/pfctl/pfctl_radix.c | 15 +-------------- sys/netpfil/pf/pf_nl.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_nl.h | 2 ++ 5 files changed, 92 insertions(+), 14 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 2297b24d37a0..50dfcfea703d 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -3100,3 +3100,46 @@ pfctl_clear_tables(struct pfctl_handle *h, struct pfr_table *filter, return (e.error); } + +static struct snl_attr_parser ap_nadd[] = { + { .type = PF_T_NBR_ADDED, .off = 0, .cb = snl_attr_get_uint32 }, +}; +SNL_DECLARE_PARSER(nadd_parser, struct genlmsghdr, snl_f_p_empty, ap_nadd); +int +pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, + int *nadd, int flags) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_ADD_TABLE); + + snl_add_msg_attr_string(&nw, PF_T_ANCHOR, table->pfrt_anchor); + snl_add_msg_attr_string(&nw, PF_T_NAME, table->pfrt_name); + snl_add_msg_attr_u32(&nw, PF_T_TABLE_FLAGS, table->pfrt_flags); + snl_add_msg_attr_u32(&nw, PF_T_FLAGS, flags); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + + seq_id = hdr->nlmsg_seq; + + if (!snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (!snl_parse_nlmsg(&h->ss, hdr, &nadd_parser, nadd)) + continue; + } + + return (e.error); +} + diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 2532894ffa21..300511452d8f 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -542,5 +542,7 @@ int pfctl_get_srcnodes(struct pfctl_handle *h, pfctl_get_srcnode_fn fn, void *ar int pfctl_clear_tables(struct pfctl_handle *h, struct pfr_table *filter, int *ndel, int flags); +int pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, + int *nadd, int flags); #endif diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 49a20d6c98f4..7cb9b6faa0d9 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -76,20 +76,7 @@ pfr_report_error(struct pfr_table *tbl, struct pfioc_table *io, int pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) { - struct pfioc_table io; - - bzero(&io, sizeof io); - io.pfrio_flags = flags; - io.pfrio_buffer = tbl; - io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = 1; - if (ioctl(dev, DIOCRADDTABLES, &io)) { - pfr_report_error(tbl, &io, "add table"); - return (-1); - } - if (nadd != NULL) - *nadd = io.pfrio_nadd; - return (0); + return (pfctl_add_table(pfh, tbl, nadd, flags)); } int diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 737e9cf8cab8..74c5bdca4f77 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -1842,6 +1842,43 @@ pf_handle_clear_tables(struct nlmsghdr *hdr, struct nl_pstate *npt) return (0); } +static int +pf_handle_add_table(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + struct pfioc_table attrs = { 0 }; + struct nl_writer *nw = npt->nw; + struct genlmsghdr *ghdr_new; + int error; + + error = nl_parse_nlmsg(hdr, &table_parser, npt, &attrs); + if (error != 0) + return (error); + + PF_RULES_WLOCK(); + error = pfr_add_tables(&attrs.pfrio_table, 1, &attrs.pfrio_nadd, + attrs.pfrio_flags | PFR_FLAG_USERIOCTL); + PF_RULES_WUNLOCK(); + if (error != 0) + return (error); + + if (!nlmsg_reply(nw, hdr, sizeof(struct genlmsghdr))) + return (ENOMEM); + + ghdr_new = nlmsg_reserve_object(nw, struct genlmsghdr); + ghdr_new->cmd = PFNL_CMD_ADD_TABLE; + ghdr_new->version = 0; + ghdr_new->reserved = 0; + + nlattr_add_u32(nw, PF_T_NBR_ADDED, attrs.pfrio_nadd); + + if (!nlmsg_end(nw)) { + nlmsg_abort(nw); + return (ENOMEM); + } + + return (0); +} + static const struct nlhdr_parser *all_parsers[] = { &state_parser, &addrule_parser, @@ -2043,6 +2080,13 @@ static const struct genl_cmd pf_cmds[] = { .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, }, + { + .cmd_num = PFNL_CMD_ADD_TABLE, + .cmd_name = "ADD_TABLE", + .cmd_cb = pf_handle_add_table, + .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, + .cmd_priv = PRIV_NETINET_PF, + }, }; void diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index d749ef3ab99e..38a44c2c4395 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -62,6 +62,7 @@ enum { PFNL_CMD_GET_RULESET = 24, PFNL_CMD_GET_SRCNODES = 25, PFNL_CMD_CLEAR_TABLES = 26, + PFNL_CMD_ADD_TABLE = 27, __PFNL_CMD_MAX, }; #define PFNL_CMD_MAX (__PFNL_CMD_MAX -1) @@ -431,6 +432,7 @@ enum pf_tables_t { PF_T_TABLE_FLAGS = 3, /* u32 */ PF_T_FLAGS = 4, /* u32 */ PF_T_NBR_DELETED = 5, /* u32 */ + PF_T_NBR_ADDED = 6, /* u32 */ }; #ifdef _KERNEL From nobody Mon Feb 10 11:10:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys21168b3z5nktj; Mon, 10 Feb 2025 11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys2114TGvz3d2m; Mon, 10 Feb 2025 11: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=1739185813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S7FZ88n+a64Xa8M9RiXx2yi6TEpS3UKZ94gySWG91R4=; b=MoMOHcAOf4oneomUMZcjn94amqIjecFhw7NdDDug6DTZq4NqZy0lb4p4qZnIlX6nCzPko4 W04QU4vTKfR4jo5vXRaw4q1EKUQXOdxJIcnJ1IgHG1uh7bRJLO2Q9CoMi62kqNcQYQpJT7 Q+n067mlYQ/x0vp67Pg2fnBNd1Xa06S9H51mWJXHeq5tPZHBj4d2BMN8JVjFxmXdyY+BzL uzjsZacEdBouAtZhX09UCFlurhijejzWDn3I48qDWz1QOm9Vkm0sabwF/cbkVgGizLmAzG lhvwr0ON1HcwQ1kgqtJFbF7qF0k2eWgEc0GLQkE5LCW3NND1DtUlHQBIzEs7GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S7FZ88n+a64Xa8M9RiXx2yi6TEpS3UKZ94gySWG91R4=; b=Tegz0K2C2FkDA+p4RibnjhljIlQ0FC7XK0fnaVwIRNcsle6lNwuTqMWhepi3u1Xzp2jFz4 voqRPF+AcJIZTaxeQVaWfJq/G/xKTeW7m5hOLLWkD8zmbx/MvM37TotpF6BkkADMmyTzPC EviwSWg452Gmp+dmOM1eYaJ1ZZBLm2zkHSdh3dzxvjXrGI/ulfKW/vUu0Bscoh8T1W/Ryi CMD8MyMkeCwT/CPW5MDTxJJ34RMJei/HzLNIIvQ4NBgTTB1hbWrOJQh2N2eHbp3FzrDYjg xbbJm06t/L0Svsq1+KnJgwr9KPlvaNnVmI5gHOp+eIfPNBy8eBgiYkG7Jjie3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185813; a=rsa-sha256; cv=none; b=hIOmc1SL2Sxl0BBHPVuwLdqWHUpHAHsG9MGCqfatb5VDd1sk5P3GahBpU5KeKbk8UbEA5Q vLAFMx76bV1Jk9XONOG4XD4OVrGqOwwSiKFgjJvuHHLvQjvcakiccVNJnMr9Ha6iS05oKT 3+zfoM3qaxzIKPEt6JnDmLO2bcXnVmxAdJy5bQn4Z7FZLhtsNxNbwgVh4Dmi2LCTDU+twy mnlP0v0H5wXlJAOQKH1p7TtfSn9J+iHOX9zegZq52aDQQUfoudEf0awj76dN7wc8W9CkSJ HVwTHZ3Y6YLT5PjyIEzWVm7OE49zbahXwYjgSjXO+SbPA7aiQK+MlaoIuFQnrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys21142cBz8K9; Mon, 10 Feb 2025 11: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 51ABADqt005568; Mon, 10 Feb 2025 11: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 51ABADD1005560; Mon, 10 Feb 2025 11:10:13 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:13 GMT Message-Id: <202502101110.51ABADD1005560@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 2c96c9b053c7 - main - pfctl: simplify pfr_del_tables() to pfr_del_table() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c96c9b053c7db6c7c09fb1ba908c0026f58c864 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=2c96c9b053c7db6c7c09fb1ba908c0026f58c864 commit 2c96c9b053c7db6c7c09fb1ba908c0026f58c864 Author: Kristof Provost AuthorDate: 2025-02-07 17:22:44 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pfctl: simplify pfr_del_tables() to pfr_del_table() We only ever delete a single table at a time, so remove the size argument. This will make subsequent conversion to netlink easier. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.h | 2 +- sbin/pfctl/pfctl_radix.c | 8 ++------ sbin/pfctl/pfctl_table.c | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/sbin/pfctl/pfctl.h b/sbin/pfctl/pfctl.h index 36dcd73ce57d..ffd37cf023a6 100644 --- a/sbin/pfctl/pfctl.h +++ b/sbin/pfctl/pfctl.h @@ -57,7 +57,7 @@ struct pfr_buffer { int pfr_get_fd(void); int pfr_add_table(struct pfr_table *, int *, int); -int pfr_del_tables(struct pfr_table *, int, int *, int); +int pfr_del_table(struct pfr_table *, int *, int); int pfr_get_tables(struct pfr_table *, struct pfr_table *, int *, int); int pfr_get_tstats(struct pfr_table *, struct pfr_tstats *, int *, int); int pfr_clr_tstats(struct pfr_table *, int, int *, int); diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 7cb9b6faa0d9..451b83371d05 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -80,19 +80,15 @@ pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) } int -pfr_del_tables(struct pfr_table *tbl, int size, int *ndel, int flags) +pfr_del_table(struct pfr_table *tbl, int *ndel, int flags) { struct pfioc_table io; - if (size < 0 || (size && tbl == NULL)) { - errno = EINVAL; - return (-1); - } bzero(&io, sizeof io); io.pfrio_flags = flags; io.pfrio_buffer = tbl; io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = size; + io.pfrio_size = 1; if (ioctl(dev, DIOCRDELTABLES, &io)) { pfr_report_error(tbl, &io, "delete table"); return (-1); diff --git a/sbin/pfctl/pfctl_table.c b/sbin/pfctl/pfctl_table.c index 4ef4dd69309a..7137f42b13e8 100644 --- a/sbin/pfctl/pfctl_table.c +++ b/sbin/pfctl/pfctl_table.c @@ -189,7 +189,7 @@ pfctl_table(int argc, char *argv[], char *tname, const char *command, } else if (!strcmp(command, "kill")) { if (argc || file != NULL) usage(); - RVTEST(pfr_del_tables(&table, 1, &ndel, flags)); + RVTEST(pfr_del_table(&table, &ndel, flags)); xprintf(opts, "%d table deleted", ndel); } else if (!strcmp(command, "flush")) { if (argc || file != NULL) From nobody Mon Feb 10 11:10:14 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys21423qWz5nkX2; Mon, 10 Feb 2025 11:10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys21346Myz3dD9; Mon, 10 Feb 2025 11:10:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RzNMDix1uZ8s6vmmELu2kqO5oUMCNreF7UIviS2aWZI=; b=xwR2L+cWyv3hUBo4X7dURXFmsCOh+5KXsl7cV9IyXs3IQDpqnivP6xREOtWyWueW76SDjJ Qkou6idujnf0YJ7ei+ACam8CDFiq9H2rZxuVANtSkycrgc5FGzg8+nFmVkxbEUnTdCjQR/ I1n6tK0Pth52BCuoU0C8kiOT1U1EWAcuz3+Q/t9NqdWCtT8jVFtSTTkpA4nIfkGxh+X+EL m2mhhXmTrLep8uoq9WF/+lXK6naBgs/abMKKb4wxNUviDYADSHHlrxS0gQ2i5TfBAoo3uE xfqY6sC8Pdr0jb3MUf/1Ws7r3TTweOyB5eBsdD4YoR5i3d6P+tikcgZVGwc/dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RzNMDix1uZ8s6vmmELu2kqO5oUMCNreF7UIviS2aWZI=; b=e/nbGb0XaYXyq9JgVYHQVDMxgFvLWF6pyalHVygl6glBTZ2j8opGX0uV417g4GqItkz9a7 VuvW2UhLDjFQsT0MFfCFTTjHVT6+0men5nLypf5uFcTpzMIHoCOLyHvdhJtNNwT0UCQoKN o3etLAWQnFU9edPlM0yATEcsE9tVZ22cSYkxe5GcFWxj2RGDJxNtz3BjtbUslVrv7y7d9O 9DB6LJYt3AzVCPKAAu175LnNUtdJCzAaQmIHYF6hYYw5l86evKazugbM+Uoi21Sxk66kbL E+aUXabvcVTTch70owkyrI9J/IXiepMuNd+W5Z6C4B47tD98DQky7VcjuQyxqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185815; a=rsa-sha256; cv=none; b=f8J3rJn4W0NzSdNxInDhIxbuE41jI3coZSSlqjjfhvArsZ2X6p4wjqIqodxkn5lTgK4j4M 5xd4gl5YhCKKm/m4Fzj9MIl1FPn4DcIrcAwuD4/+k1YELY9DGGuy0CPYreIl4SkVH28zio vJEhOqG649XFtdLg+QykN4eUfcctnfG/hx3e/nmppcHypOFfRk2UajvKEMK+bODEKePwdG sOeRyYx/y6mJ/L5SWp1VmjzDXu4WNTy+5heJIUVAUiOCy9rVivIc7ut4zluxkJO+luTiXX MrOtD4qfDcHTH4JDz0spr0QC7wVyTcqTz0++fY3q59iQ5izuLj48SkVA48InzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys2124Zvbz8bD; Mon, 10 Feb 2025 11:10: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 51ABAE54006245; Mon, 10 Feb 2025 11:10:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABAEII006236; Mon, 10 Feb 2025 11:10:14 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:14 GMT Message-Id: <202502101110.51ABAEII006236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 0d2058abf3b2 - main - pf: convert DIOCRDELTABLES to netlink List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d2058abf3b252e77dae8808dd744c0293b5f433 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0d2058abf3b252e77dae8808dd744c0293b5f433 commit 0d2058abf3b252e77dae8808dd744c0293b5f433 Author: Kristof Provost AuthorDate: 2025-02-07 17:39:51 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pf: convert DIOCRDELTABLES to netlink Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 38 ++++++++++++++++++++++++++++++++++++++ lib/libpfctl/libpfctl.h | 2 ++ sbin/pfctl/pfctl_radix.c | 15 +-------------- sys/netpfil/pf/pf_nl.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_nl.h | 1 + 5 files changed, 86 insertions(+), 14 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 50dfcfea703d..8569d691773c 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -3143,3 +3143,41 @@ pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, return (e.error); } +int +pfctl_del_table(struct pfctl_handle *h, struct pfr_table *table, + int *ndel, int flags) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_DEL_TABLE); + + snl_add_msg_attr_string(&nw, PF_T_ANCHOR, table->pfrt_anchor); + snl_add_msg_attr_string(&nw, PF_T_NAME, table->pfrt_name); + snl_add_msg_attr_u32(&nw, PF_T_TABLE_FLAGS, table->pfrt_flags); + snl_add_msg_attr_u32(&nw, PF_T_FLAGS, flags); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + + seq_id = hdr->nlmsg_seq; + + if (!snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (!snl_parse_nlmsg(&h->ss, hdr, &ndel_parser, ndel)) + continue; + } + + return (e.error); +} + diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 300511452d8f..d5d0a43f90a3 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -544,5 +544,7 @@ int pfctl_clear_tables(struct pfctl_handle *h, struct pfr_table *filter, int *ndel, int flags); int pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, int *nadd, int flags); +int pfctl_del_table(struct pfctl_handle *h, struct pfr_table *table, + int *ndel, int flags); #endif diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 451b83371d05..94de63414885 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -82,20 +82,7 @@ pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) int pfr_del_table(struct pfr_table *tbl, int *ndel, int flags) { - struct pfioc_table io; - - bzero(&io, sizeof io); - io.pfrio_flags = flags; - io.pfrio_buffer = tbl; - io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = 1; - if (ioctl(dev, DIOCRDELTABLES, &io)) { - pfr_report_error(tbl, &io, "delete table"); - return (-1); - } - if (ndel != NULL) - *ndel = io.pfrio_ndel; - return (0); + return (pfctl_del_table(pfh, tbl, ndel, flags)); } int diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 74c5bdca4f77..97552880b9e3 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -1879,6 +1879,43 @@ pf_handle_add_table(struct nlmsghdr *hdr, struct nl_pstate *npt) return (0); } +static int +pf_handle_del_table(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + struct pfioc_table attrs = { 0 }; + struct nl_writer *nw = npt->nw; + struct genlmsghdr *ghdr_new; + int error; + + error = nl_parse_nlmsg(hdr, &table_parser, npt, &attrs); + if (error != 0) + return (error); + + PF_RULES_WLOCK(); + error = pfr_del_tables(&attrs.pfrio_table, 1, &attrs.pfrio_ndel, + attrs.pfrio_flags | PFR_FLAG_USERIOCTL); + PF_RULES_WUNLOCK(); + if (error != 0) + return (error); + + if (!nlmsg_reply(nw, hdr, sizeof(struct genlmsghdr))) + return (ENOMEM); + + ghdr_new = nlmsg_reserve_object(nw, struct genlmsghdr); + ghdr_new->cmd = PFNL_CMD_ADD_TABLE; + ghdr_new->version = 0; + ghdr_new->reserved = 0; + + nlattr_add_u32(nw, PF_T_NBR_DELETED, attrs.pfrio_ndel); + + if (!nlmsg_end(nw)) { + nlmsg_abort(nw); + return (ENOMEM); + } + + return (0); +} + static const struct nlhdr_parser *all_parsers[] = { &state_parser, &addrule_parser, @@ -2087,6 +2124,13 @@ static const struct genl_cmd pf_cmds[] = { .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, }, + { + .cmd_num = PFNL_CMD_DEL_TABLE, + .cmd_name = "DEL_TABLE", + .cmd_cb = pf_handle_del_table, + .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, + .cmd_priv = PRIV_NETINET_PF, + }, }; void diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index 38a44c2c4395..a66ff5bc3f1e 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -63,6 +63,7 @@ enum { PFNL_CMD_GET_SRCNODES = 25, PFNL_CMD_CLEAR_TABLES = 26, PFNL_CMD_ADD_TABLE = 27, + PFNL_CMD_DEL_TABLE = 28, __PFNL_CMD_MAX, }; #define PFNL_CMD_MAX (__PFNL_CMD_MAX -1) From nobody Mon Feb 10 11:15:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys26q4vX6z5nlHr; Mon, 10 Feb 2025 11:15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys26q4Z38z3gwx; Mon, 10 Feb 2025 11:15:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v1F043cXhaatdXC58biNk/tr3CckL7hfmlTESv9f9fA=; b=dtxKGBXnB3NMObW070DhUFlH0dB33zsnMPF8q5M1BcBDhA0b9bcKvfStzLkMvyxUbxZFdh E7qYoSZcsCNouJIp0VSaTZjQac3dKdFFGhbPdKR1eOvvXElcmnKPM8xP9UHBXqwo5KyNqs 5qnoQ6sKVvUSHWs2cm/OTm98tkpEqn9TvFhngDSaCSDGkPW/sWLCbriDrunYJBe+W/KV8Z LqAPcEZDJWHw8TU+DHEtLyGf1MNbLW70NM8AKBYE4h43sMJOwPMG7Ab47rbqxY8KSSyY5T 5w9qHcLD2pwHKHw/qLGEVqSqoifuT1CFcGtemUc5Y14hK0fnQaFWKurEPluQzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v1F043cXhaatdXC58biNk/tr3CckL7hfmlTESv9f9fA=; b=I9qtwzItl/3rLT/pNOiM1Ou0zE9GCuWsa4U9yYzp0vSJNnEjL1E++hQ1MrxMKZwrC2LtUu MGDLS7QVhzwx1nEtk1VKcjkNDlVmaAbTPpTeeHztJVEeJBJrmfLa7ZJBF9AEZzrpSsunMC W6LFSeqnxALtknUwyzEPkNDnqQGQNoalr0Zse1AwNEig3yDXWesjjkOBmw8aogQioUe9vG 8JXQ9LCPq712VZ7zDqGzhp9oiFqp338qGcd78XHCRIY49sfsEVQf4bfDCZaZoy8uVLK7gD n6G+Baus8FX7VeQ8ph3WxnyBxni/KrCWMS+xkgTk9wR1GV7GzQTHPp3pve20wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739186115; a=rsa-sha256; cv=none; b=OtwCKZHe0ELQ2r1+wiX0mtQ1lUNLjEqoITwM9Mmmgt8lsXjjbvg3pr0IqCbN5/WlebQ7Zs jqIrLd2sMdxvP6b2p/FazgN2gUmsa9i89dXywlcEZ19wqDNiYQ7+94eL8QA4V96zyXWb0x PARKFsSMJ6t0LSI4ffGTpNufAWAFALQuatxfy7OmX8umdV6Iui5MOrrtxnS0xtfdfCIixh pZt0A+1L64ZqMQYUM4Tr1R0mvIU1Ew08P+EvcqPzYHzX1kwyH4kV7sgLW1rY/beYmsHvgL NcjrWLDzbGMbPxNgAL98hoQhVrlKsShWt+9oVdJk7VDw3geLCWHSeTGIAke0qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys26q47cGz8H8; Mon, 10 Feb 2025 11:15: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 51ABFFZj016199; Mon, 10 Feb 2025 11:15:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABFF5i016196; Mon, 10 Feb 2025 11:15:15 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:15:15 GMT Message-Id: <202502101115.51ABFF5i016196@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Moore Subject: git: 4ed1837853b1 - stable/14 - libkern: add ilog2 macro List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4ed1837853b17850f2a83ef41fc306da6bcc6f86 Auto-Submitted: auto-generated The branch stable/14 has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=4ed1837853b17850f2a83ef41fc306da6bcc6f86 commit 4ed1837853b17850f2a83ef41fc306da6bcc6f86 Author: Doug Moore AuthorDate: 2024-06-03 16:37:55 +0000 Commit: Doug Moore CommitDate: 2025-02-10 10:27:12 +0000 libkern: add ilog2 macro The kernel source contains several definitions of an ilog2 function; some are slower than necessary, and one of them is incorrect. Elimininate them all and define an ilog2 macro in libkern to replace them, in a way that is fast, correct for all argument types, and, in a GENERIC kernel, includes a check for an invalid zero parameter. Folks at Microsoft have verified that having a correct ilog2 definition for their MANA driver doesn't break it. Reviewed by: alc, markj, mhorne (older version), jhibbits (older version) Differential Revision: https://reviews.freebsd.org/D45170 Differential Revision: https://reviews.freebsd.org/D45235 (cherry picked from commit b0056b31e90029553894d17c441cbb2c06d31412) --- sys/amd64/include/cpufunc.h | 4 - sys/arm64/iommu/smmu.c | 9 -- sys/compat/linuxkpi/common/include/linux/log2.h | 73 ---------------- sys/dev/bxe/bxe.h | 10 --- sys/dev/bxe/ecore_sp.h | 2 +- sys/dev/cxgbe/osdep.h | 8 -- sys/dev/enetc/enetc_hw.h | 1 - sys/dev/mana/gdma_util.h | 9 -- sys/dev/qat/qat/qat_ocf.c | 2 +- sys/i386/include/cpufunc.h | 9 -- sys/powerpc/booke/pmap.c | 1 - sys/powerpc/booke/pmap_32.c | 13 --- sys/powerpc/booke/pmap_64.c | 13 --- sys/sys/libkern.h | 106 ++++++++++++++++++++++++ 14 files changed, 108 insertions(+), 152 deletions(-) diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h index b9893b8896d8..ca53d73b0186 100644 --- a/sys/amd64/include/cpufunc.h +++ b/sys/amd64/include/cpufunc.h @@ -65,10 +65,6 @@ breakpoint(void) #define bsfq(mask) __builtin_ctzl(mask) -#define bsrl(mask) (__builtin_clz(mask) ^ 0x1f) - -#define bsrq(mask) (__builtin_clzl(mask) ^ 0x3f) - static __inline void clflush(u_long addr) { diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index d09f33a9a49f..f5bdfb77f6a0 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -310,15 +310,6 @@ smmu_write_ack(struct smmu_softc *sc, uint32_t reg, return (0); } -static inline int -ilog2(long x) -{ - - KASSERT(x > 0 && powerof2(x), ("%s: invalid arg %ld", __func__, x)); - - return (flsl(x) - 1); -} - static int smmu_init_queue(struct smmu_softc *sc, struct smmu_queue *q, uint32_t prod_off, uint32_t cons_off, uint32_t dwords) diff --git a/sys/compat/linuxkpi/common/include/linux/log2.h b/sys/compat/linuxkpi/common/include/linux/log2.h index 27e91a8bdbe0..2d54c75c7c23 100644 --- a/sys/compat/linuxkpi/common/include/linux/log2.h +++ b/sys/compat/linuxkpi/common/include/linux/log2.h @@ -51,79 +51,6 @@ rounddown_pow_of_two(unsigned long x) return (1UL << (flsl(x) - 1)); } -#define ilog2(n) \ -( \ - __builtin_constant_p(n) ? ( \ - (n) < 1 ? -1 : \ - (n) & (1ULL << 63) ? 63 : \ - (n) & (1ULL << 62) ? 62 : \ - (n) & (1ULL << 61) ? 61 : \ - (n) & (1ULL << 60) ? 60 : \ - (n) & (1ULL << 59) ? 59 : \ - (n) & (1ULL << 58) ? 58 : \ - (n) & (1ULL << 57) ? 57 : \ - (n) & (1ULL << 56) ? 56 : \ - (n) & (1ULL << 55) ? 55 : \ - (n) & (1ULL << 54) ? 54 : \ - (n) & (1ULL << 53) ? 53 : \ - (n) & (1ULL << 52) ? 52 : \ - (n) & (1ULL << 51) ? 51 : \ - (n) & (1ULL << 50) ? 50 : \ - (n) & (1ULL << 49) ? 49 : \ - (n) & (1ULL << 48) ? 48 : \ - (n) & (1ULL << 47) ? 47 : \ - (n) & (1ULL << 46) ? 46 : \ - (n) & (1ULL << 45) ? 45 : \ - (n) & (1ULL << 44) ? 44 : \ - (n) & (1ULL << 43) ? 43 : \ - (n) & (1ULL << 42) ? 42 : \ - (n) & (1ULL << 41) ? 41 : \ - (n) & (1ULL << 40) ? 40 : \ - (n) & (1ULL << 39) ? 39 : \ - (n) & (1ULL << 38) ? 38 : \ - (n) & (1ULL << 37) ? 37 : \ - (n) & (1ULL << 36) ? 36 : \ - (n) & (1ULL << 35) ? 35 : \ - (n) & (1ULL << 34) ? 34 : \ - (n) & (1ULL << 33) ? 33 : \ - (n) & (1ULL << 32) ? 32 : \ - (n) & (1ULL << 31) ? 31 : \ - (n) & (1ULL << 30) ? 30 : \ - (n) & (1ULL << 29) ? 29 : \ - (n) & (1ULL << 28) ? 28 : \ - (n) & (1ULL << 27) ? 27 : \ - (n) & (1ULL << 26) ? 26 : \ - (n) & (1ULL << 25) ? 25 : \ - (n) & (1ULL << 24) ? 24 : \ - (n) & (1ULL << 23) ? 23 : \ - (n) & (1ULL << 22) ? 22 : \ - (n) & (1ULL << 21) ? 21 : \ - (n) & (1ULL << 20) ? 20 : \ - (n) & (1ULL << 19) ? 19 : \ - (n) & (1ULL << 18) ? 18 : \ - (n) & (1ULL << 17) ? 17 : \ - (n) & (1ULL << 16) ? 16 : \ - (n) & (1ULL << 15) ? 15 : \ - (n) & (1ULL << 14) ? 14 : \ - (n) & (1ULL << 13) ? 13 : \ - (n) & (1ULL << 12) ? 12 : \ - (n) & (1ULL << 11) ? 11 : \ - (n) & (1ULL << 10) ? 10 : \ - (n) & (1ULL << 9) ? 9 : \ - (n) & (1ULL << 8) ? 8 : \ - (n) & (1ULL << 7) ? 7 : \ - (n) & (1ULL << 6) ? 6 : \ - (n) & (1ULL << 5) ? 5 : \ - (n) & (1ULL << 4) ? 4 : \ - (n) & (1ULL << 3) ? 3 : \ - (n) & (1ULL << 2) ? 2 : \ - (n) & (1ULL << 1) ? 1 : \ - (n) & (1ULL << 0) ? 0 : \ - -1) : \ - (sizeof(n) <= 4) ? \ - fls((u32)(n)) - 1 : flsll((u64)(n)) - 1 \ -) - #define order_base_2(x) ilog2(roundup_pow_of_two(x)) #endif /* _LINUXKPI_LINUX_LOG2_H_ */ diff --git a/sys/dev/bxe/bxe.h b/sys/dev/bxe/bxe.h index cdef017ac32a..a6313c8304d6 100644 --- a/sys/dev/bxe/bxe.h +++ b/sys/dev/bxe/bxe.h @@ -127,16 +127,6 @@ #ifndef roundup #define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) #endif -#ifndef ilog2 -static inline -int bxe_ilog2(int x) -{ - int log = 0; - while (x >>= 1) log++; - return (log); -} -#define ilog2(x) bxe_ilog2(x) -#endif #include "ecore_sp.h" diff --git a/sys/dev/bxe/ecore_sp.h b/sys/dev/bxe/ecore_sp.h index f39c908f7530..917f27549c1b 100644 --- a/sys/dev/bxe/ecore_sp.h +++ b/sys/dev/bxe/ecore_sp.h @@ -159,7 +159,7 @@ typedef struct mtx ECORE_MUTEX_SPIN; #define ECORE_FREE(_s, _buf, _size) free(_buf, M_TEMP) #define SC_ILT(sc) ((sc)->ilt) -#define ILOG2(x) bxe_ilog2(x) +#define ILOG2(x) ilog2(x) #define ECORE_ILT_ZALLOC(x, y, size) \ do { \ diff --git a/sys/dev/cxgbe/osdep.h b/sys/dev/cxgbe/osdep.h index 39675339dd2c..b8692692fd43 100644 --- a/sys/dev/cxgbe/osdep.h +++ b/sys/dev/cxgbe/osdep.h @@ -130,14 +130,6 @@ typedef boolean_t bool; #define PCI_EXP_LNKSTA_NLW PCIEM_LINK_STA_WIDTH #define PCI_EXP_DEVCTL2 PCIER_DEVICE_CTL2 -static inline int -ilog2(long x) -{ - KASSERT(x > 0 && powerof2(x), ("%s: invalid arg %ld", __func__, x)); - - return (flsl(x) - 1); -} - static inline char * strstrip(char *s) { diff --git a/sys/dev/enetc/enetc_hw.h b/sys/dev/enetc/enetc_hw.h index 507c4657453d..323d5529f50a 100644 --- a/sys/dev/enetc/enetc_hw.h +++ b/sys/dev/enetc/enetc_hw.h @@ -9,7 +9,6 @@ #define BIT(x) (1UL << (x)) #define GENMASK(h, l) (((~0U) - (1U << (l)) + 1) & (~0U >> (32 - 1 - (h)))) -#define ilog2(x) (flsl(x) - 1) #define PCI_VENDOR_FREESCALE 0x1957 diff --git a/sys/dev/mana/gdma_util.h b/sys/dev/mana/gdma_util.h index 822c831b9d70..37c2653d5ec9 100644 --- a/sys/dev/mana/gdma_util.h +++ b/sys/dev/mana/gdma_util.h @@ -170,15 +170,6 @@ find_first_zero_bit(const unsigned long *p, unsigned long max) return (max); } -static inline unsigned long -ilog2(unsigned long x) -{ - unsigned long log = x; - while (x >>= 1) - log++; - return (log); -} - static inline unsigned long roundup_pow_of_two(unsigned long x) { diff --git a/sys/dev/qat/qat/qat_ocf.c b/sys/dev/qat/qat/qat_ocf.c index 8958c7b82e49..b25135b6a678 100644 --- a/sys/dev/qat/qat/qat_ocf.c +++ b/sys/dev/qat/qat/qat_ocf.c @@ -517,7 +517,7 @@ qat_ocf_session_init(device_t dev, M_NOWAIT, 0, ~1UL, - 1 << (bsrl(sessionCtxSize - 1) + 1), + 1 << (ilog2(sessionCtxSize - 1) + 1), 0); if (NULL == sessionCtx) { device_printf(dev, "unable to allocate memory for session\n"); diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h index bf643e6da21f..4bed57b5afbf 100644 --- a/sys/i386/include/cpufunc.h +++ b/sys/i386/include/cpufunc.h @@ -63,15 +63,6 @@ bsfl(u_int mask) return (result); } -static __inline __pure2 u_int -bsrl(u_int mask) -{ - u_int result; - - __asm("bsrl %1,%0" : "=r" (result) : "rm" (mask) : "cc"); - return (result); -} - static __inline void clflush(u_long addr) { diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index 00653fa6d90c..2d7aaa900589 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -239,7 +239,6 @@ static __inline uint32_t tlb_calc_wimg(vm_paddr_t pa, vm_memattr_t ma); static vm_size_t tsize2size(unsigned int); static unsigned int size2tsize(vm_size_t); -static unsigned long ilog2(unsigned long); static void set_mas4_defaults(void); diff --git a/sys/powerpc/booke/pmap_32.c b/sys/powerpc/booke/pmap_32.c index c823bd640c6d..d7d7f5e99bcf 100644 --- a/sys/powerpc/booke/pmap_32.c +++ b/sys/powerpc/booke/pmap_32.c @@ -116,7 +116,6 @@ static unsigned int kernel_ptbls; /* Number of KVA ptbls. */ #define VM_MAPDEV_BASE ((vm_offset_t)VM_MAXUSER_ADDRESS + PAGE_SIZE) static void tid_flush(tlbtid_t tid); -static unsigned long ilog2(unsigned long); /**************************************************************************/ /* Page table management */ @@ -931,18 +930,6 @@ mmu_booke_quick_remove_page(vm_offset_t addr) /* TID handling */ /**************************************************************************/ -/* - * Return the largest uint value log such that 2^log <= num. - */ -static unsigned long -ilog2(unsigned long num) -{ - long lz; - - __asm ("cntlzw %0, %1" : "=r" (lz) : "r" (num)); - return (31 - lz); -} - /* * Invalidate all TLB0 entries which match the given TID. Note this is * dedicated for cases when invalidations should NOT be propagated to other diff --git a/sys/powerpc/booke/pmap_64.c b/sys/powerpc/booke/pmap_64.c index 968d9d9aa472..d8a0dba9ab23 100644 --- a/sys/powerpc/booke/pmap_64.c +++ b/sys/powerpc/booke/pmap_64.c @@ -125,7 +125,6 @@ static pte_t ****kernel_ptbl_root; #define VM_MAPDEV_PA_MAX 0x4000000000000000 /* Don't encroach on DMAP */ static void tid_flush(tlbtid_t tid); -static unsigned long ilog2(unsigned long); /**************************************************************************/ /* Page table management */ @@ -746,18 +745,6 @@ mmu_booke_quick_remove_page(vm_offset_t addr) /* TID handling */ /**************************************************************************/ -/* - * Return the largest uint value log such that 2^log <= num. - */ -static unsigned long -ilog2(unsigned long num) -{ - long lz; - - __asm ("cntlzd %0, %1" : "=r" (lz) : "r" (num)); - return (63 - lz); -} - /* * Invalidate all TLB0 entries which match the given TID. Note this is * dedicated for cases when invalidations should NOT be propagated to other diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h index 92698a3f9b23..6e10ec428090 100644 --- a/sys/sys/libkern.h +++ b/sys/sys/libkern.h @@ -189,6 +189,112 @@ flsll(long long mask) 8 * sizeof(mask) - __builtin_clzll((unsigned long long)mask)); } +static __inline __pure2 int +ilog2_int(int n) +{ + + MPASS(n != 0); + return (8 * sizeof(n) - 1 - __builtin_clz((u_int)n)); +} + +static __inline __pure2 int +ilog2_long(long n) +{ + + MPASS(n != 0); + return (8 * sizeof(n) - 1 - __builtin_clzl((u_long)n)); +} + +static __inline __pure2 int +ilog2_long_long(long long n) +{ + + MPASS(n != 0); + return (8 * sizeof(n) - 1 - + __builtin_clzll((unsigned long long)n)); +} + +#define ilog2_var(n) \ + _Generic((n), \ + default: ilog2_int, \ + long: ilog2_long, \ + unsigned long: ilog2_long, \ + long long: ilog2_long_long, \ + unsigned long long: ilog2_long_long \ + )(n) + +#define ilog2(n) \ +( \ + __builtin_constant_p(n) ? ( \ + (n) < 1 ? -1 : \ + (n) & (1ULL << 63) ? 63 : \ + (n) & (1ULL << 62) ? 62 : \ + (n) & (1ULL << 61) ? 61 : \ + (n) & (1ULL << 60) ? 60 : \ + (n) & (1ULL << 59) ? 59 : \ + (n) & (1ULL << 58) ? 58 : \ + (n) & (1ULL << 57) ? 57 : \ + (n) & (1ULL << 56) ? 56 : \ + (n) & (1ULL << 55) ? 55 : \ + (n) & (1ULL << 54) ? 54 : \ + (n) & (1ULL << 53) ? 53 : \ + (n) & (1ULL << 52) ? 52 : \ + (n) & (1ULL << 51) ? 51 : \ + (n) & (1ULL << 50) ? 50 : \ + (n) & (1ULL << 49) ? 49 : \ + (n) & (1ULL << 48) ? 48 : \ + (n) & (1ULL << 47) ? 47 : \ + (n) & (1ULL << 46) ? 46 : \ + (n) & (1ULL << 45) ? 45 : \ + (n) & (1ULL << 44) ? 44 : \ + (n) & (1ULL << 43) ? 43 : \ + (n) & (1ULL << 42) ? 42 : \ + (n) & (1ULL << 41) ? 41 : \ + (n) & (1ULL << 40) ? 40 : \ + (n) & (1ULL << 39) ? 39 : \ + (n) & (1ULL << 38) ? 38 : \ + (n) & (1ULL << 37) ? 37 : \ + (n) & (1ULL << 36) ? 36 : \ + (n) & (1ULL << 35) ? 35 : \ + (n) & (1ULL << 34) ? 34 : \ + (n) & (1ULL << 33) ? 33 : \ + (n) & (1ULL << 32) ? 32 : \ + (n) & (1ULL << 31) ? 31 : \ + (n) & (1ULL << 30) ? 30 : \ + (n) & (1ULL << 29) ? 29 : \ + (n) & (1ULL << 28) ? 28 : \ + (n) & (1ULL << 27) ? 27 : \ + (n) & (1ULL << 26) ? 26 : \ + (n) & (1ULL << 25) ? 25 : \ + (n) & (1ULL << 24) ? 24 : \ + (n) & (1ULL << 23) ? 23 : \ + (n) & (1ULL << 22) ? 22 : \ + (n) & (1ULL << 21) ? 21 : \ + (n) & (1ULL << 20) ? 20 : \ + (n) & (1ULL << 19) ? 19 : \ + (n) & (1ULL << 18) ? 18 : \ + (n) & (1ULL << 17) ? 17 : \ + (n) & (1ULL << 16) ? 16 : \ + (n) & (1ULL << 15) ? 15 : \ + (n) & (1ULL << 14) ? 14 : \ + (n) & (1ULL << 13) ? 13 : \ + (n) & (1ULL << 12) ? 12 : \ + (n) & (1ULL << 11) ? 11 : \ + (n) & (1ULL << 10) ? 10 : \ + (n) & (1ULL << 9) ? 9 : \ + (n) & (1ULL << 8) ? 8 : \ + (n) & (1ULL << 7) ? 7 : \ + (n) & (1ULL << 6) ? 6 : \ + (n) & (1ULL << 5) ? 5 : \ + (n) & (1ULL << 4) ? 4 : \ + (n) & (1ULL << 3) ? 3 : \ + (n) & (1ULL << 2) ? 2 : \ + (n) & (1ULL << 1) ? 1 : \ + (n) & (1ULL << 0) ? 0 : \ + -1) : \ + ilog2_var(n) \ +) + #define bitcount64(x) __bitcount64((uint64_t)(x)) #define bitcount32(x) __bitcount32((uint32_t)(x)) #define bitcount16(x) __bitcount16((uint16_t)(x)) From nobody Mon Feb 10 11:15:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys26s2gwJz5nlCr; Mon, 10 Feb 2025 11:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys26r5sZlz3gsw; Mon, 10 Feb 2025 11:15:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vNOCKtI2ueONyI5L9NPnt1TQThLDuIKAwVAyM9TfOt4=; b=X2Q4bzGsqusD9Gc5PW7jOmjg6oyN0nZKYNm58t7bzzFdTO1YIlHyLF0e1YBGJGY++df6OE SdoJoBa0AUpY265Dg6VsjJJtvlwEcuGC6wPcdRm0J9xzTEF1slbeZPEvcjVE1LrUSVizST tNJLl21N97qar1rAZr6S1JbqGSAS5RWfw4egyh3GHVt8xfauOkB1QHixYo/wNIa2EHL5pK ErjGrzJG5Tgxf4qGLWmisGrORj2USG5IKSLzxXSnakLSlkaJiY876kZq6ROMOiyYdGhLz4 0lLJ4OsJ7gsoXbAJxtDTrCMwNbR0GuPj07Z7hSDqxracJaqrfr8ZbGOonwLn/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vNOCKtI2ueONyI5L9NPnt1TQThLDuIKAwVAyM9TfOt4=; b=gIzMxsU6v9lP5ltnIrn3GWPrb7swmuovLH9qVaiKlYeyh+GCcsl+9nnFcADgQ+Ixdvv2ZB 1++szvOZnL/JLGh7Z/dZoAKIIYVgzy9rANat28cTh3KAOVorF4MyO99K4Cbhug5qVuEnpk EOjCmWP2lB36KUN8gj6gp1qrbsiEHq1BpB8VOAObL7lcOT0iPdUKRXS5f0U9/KS8KiICXj WVZWSWZ6+VGMPr4QBZQgKs/rPCuRLnAN6i99zKFzniYubzojn7328PRCRpiDMOzQ6kZhpE A4TiTK9vuBCbvPTfKEKkwI9UHoQkk5ge/nwCYD1SAdhlRJ9U7a5qCXkXKKZotg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739186116; a=rsa-sha256; cv=none; b=SutucxSTvnbcvWKFr6fEDWhH+wuSnfNeR5evdyrrkI331sdbwez1aqTSvc3KDoIN1jXHmc YHNpzZDDji6TdcgZlvVKb7lOZmKGU8O7LZjljppjfAFlNfDp8GeNSuRsTVZa2MJAc0NLqk M/kmR2TOKJY/Ie9xavx2+MO3t9ceqDZEhOPntvi79sTe5BbZuwQTDoTFSBaUGDuv9dKDMt iA7gEhU3I7s2QH/5heRs8+VXar0TYR6DdBLbqDi1AQTrf2BXcIpm+HdKJg47XZMODof5fr r3V6hAQyaZ7qCiObB5OvkapeIxDBNRqLbR2qzlrlIIwZ93OqXwTk5I1Ly7p0+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys26r5KQbz7kx; Mon, 10 Feb 2025 11:15: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 51ABFGMf016235; Mon, 10 Feb 2025 11:15:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABFGAC016232; Mon, 10 Feb 2025 11:15:16 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:15:16 GMT Message-Id: <202502101115.51ABFGAC016232@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Moore Subject: git: 7443532d5eed - stable/14 - drm2: Remove one more implementation of ilog2() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7443532d5eeda853af76434d99727b2ea76d03bd Auto-Submitted: auto-generated The branch stable/14 has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=7443532d5eeda853af76434d99727b2ea76d03bd commit 7443532d5eeda853af76434d99727b2ea76d03bd Author: Mark Johnston AuthorDate: 2024-06-05 22:18:19 +0000 Commit: Doug Moore CommitDate: 2025-02-10 10:28:24 +0000 drm2: Remove one more implementation of ilog2() Reviewed by: dougm Fixes: b0056b31e900 ("libkern: add ilog2 macro") Differential Revision: https://reviews.freebsd.org/D45504 (cherry picked from commit c70c791f06601309201f6ca99d39fee83f5dd368) --- sys/dev/drm2/drm_os_freebsd.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/dev/drm2/drm_os_freebsd.h b/sys/dev/drm2/drm_os_freebsd.h index 0ce0dede6d73..58523a33da2a 100644 --- a/sys/dev/drm2/drm_os_freebsd.h +++ b/sys/dev/drm2/drm_os_freebsd.h @@ -297,13 +297,6 @@ get_unaligned_le32(const void *p) } #endif -static inline unsigned long -ilog2(unsigned long x) -{ - - return (flsl(x) - 1); -} - int64_t timeval_to_ns(const struct timeval *tv); struct timeval ns_to_timeval(const int64_t nsec); From nobody Mon Feb 10 11:15:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys26t6LbZz5nlKs; Mon, 10 Feb 2025 11:15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys26s6jZ4z3h2F; Mon, 10 Feb 2025 11:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qo1vZkNVBZYURhrNUHj44WVlLcxJr7OFsPKNu/eiVsk=; b=UAgxL2sgNK9t+3wUMYem+Qa8DbL9YpMqXM7KaRTVQOmNYgs+Rc6V+PKYg/MdBwmOUnTf+Q EHDVclQMDJ8KZSz/yzbSQEFlYa60rhq0AnKGVaQ0LJEGzWz6rnW/jFFo/4PlEXGMQOtzfu OaZ9sQkxZ2strmQBdTJJzea8jFfx7ZTkFE1Gs0camVPyKhd2vaf9Oggfz3U2K6iub+AgVE HAy1GghDYrI0NOVEo1FxCgyBKZRUTz2Bb//T0LK+PfOxMRTLszgEi9Q/pyUialMWQEKJEA YMGsL64tOci5XJm5cfO3YshDUdxfI3kcotsPPWXpR74X7y/jJk8KD6j9BH6Hcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qo1vZkNVBZYURhrNUHj44WVlLcxJr7OFsPKNu/eiVsk=; b=a08h9dJ2H4ofbz8mGQWFAerrlWNWX2g/8GsdGKcRHQ4beQjcpvN2OhNkJF5B8lYBg33xaX HevUh3lKVMx5Whc8VkdMMclMCSkseH7izJg6x0E5NSFdxGWZPE5I7wQEtQjBGpJCaJoG/h INNlE4Wmop7a4zTkpqAWRY11eE6OiruB+Nd1IOdVDAh/YyxQHf0Uy9ZPWaWma2OgcKLlpq 8zKLeyThrAyjVJbc+AIWxxjsVsdTUh/TqQasB6KFWQ/x0zTu/bq4BFYL700VJ2ffWTZFD2 ge9fAj78rUQD8hKh8Fm03xpSo4MkADDaVuKjw/ZghfQUcG233uo/dqLaH8GImw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739186118; a=rsa-sha256; cv=none; b=HmpYJfa1mbE08zmpxg5tx7n/ad2B1u9RjfcUQNs9RHG/sZeU6E7v+qi6xycsyKc4a6jr0l VuyMxJ4VvtGqIzpFFGPfqtbcYpNXZSCPtB2xG2Wj0FHh8D13pOEOK8ABjb9p+9UjOYUdEE 02VK+Hof/Rg5s2Ro4Wh1v0E7JEThLEqvS4X5tOuvLf2zPXZ+nLG08aSLMwUL0ldO5hRn6O 8LXwxUAnwea6SSxoTb+o/f9WeiloJdflJ7l3+cz7aqTf3tijqQcNcLG0tRElwPuya4K39B ek1PMxgJ0Bl+Z6/I8GZWYuug6+9R3t28Zzs/EdVR5ttvZyB3Gjd/zszm2OqDfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys26s6K1rz8WL; Mon, 10 Feb 2025 11:15: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 51ABFHIO016269; Mon, 10 Feb 2025 11:15:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABFH2T016266; Mon, 10 Feb 2025 11:15:17 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:15:17 GMT Message-Id: <202502101115.51ABFH2T016266@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Moore Subject: git: 6f309b9d5654 - stable/14 - log2: move log2 functions from linuxkpi to libkern List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6f309b9d5654b0ddada8d66c23ce028ba009dbcd Auto-Submitted: auto-generated The branch stable/14 has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=6f309b9d5654b0ddada8d66c23ce028ba009dbcd commit 6f309b9d5654b0ddada8d66c23ce028ba009dbcd Author: Doug Moore AuthorDate: 2024-06-24 07:00:31 +0000 Commit: Doug Moore CommitDate: 2025-02-10 10:29:23 +0000 log2: move log2 functions from linuxkpi to libkern Linux has a header file that defines an ilog2 function and some simple functions/macros that use it: roundup_pow_of_two, is_power_of_2, rounddown_pow_of_two, and order_base_2. This change moves three of those simple functions (all but is_power_of_2) from linuxkpi to libkern. It also deletes a few implementations of these functions that have previously been copied into code for various device drivers, so that they can use the libkern version. The is_power_of_2 macro was not moved because powerof2 in param.h provides almost the same service already (except that they disagree about whether 0 is a power of two). Since the linux definitions of these functions were copied into FreeBSD 11 years ago, linux has improved them, and this change provides those improvements. In particular, a giant table of log values for evaluating ilog2 for constant values is no longer necessary. Reviewed by: alc, markj (previous version) Differential Revision: https://reviews.freebsd.org/D45536 (cherry picked from commit c8b0c33b03ac072413b27bed2bdae2ae27426f3a) --- sys/compat/linuxkpi/common/include/linux/log2.h | 23 ++----- sys/dev/drm2/drm_os_freebsd.h | 7 --- sys/dev/mana/gdma_util.h | 12 ---- sys/dev/qlnx/qlnxe/bcm_osal.h | 18 ------ sys/sys/libkern.h | 82 ++++--------------------- 5 files changed, 15 insertions(+), 127 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/log2.h b/sys/compat/linuxkpi/common/include/linux/log2.h index 2d54c75c7c23..660e9adb6fa9 100644 --- a/sys/compat/linuxkpi/common/include/linux/log2.h +++ b/sys/compat/linuxkpi/common/include/linux/log2.h @@ -33,24 +33,9 @@ #include -static inline unsigned long -roundup_pow_of_two(unsigned long x) -{ - return (1UL << flsl(x - 1)); -} - -static inline int -is_power_of_2(unsigned long n) -{ - return (n == roundup_pow_of_two(n)); -} - -static inline unsigned long -rounddown_pow_of_two(unsigned long x) -{ - return (1UL << (flsl(x) - 1)); -} - -#define order_base_2(x) ilog2(roundup_pow_of_two(x)) +#define is_power_of_2(n) ({ \ + __typeof(n) _n = (n); \ + _n != 0 && (_n & (_n - 1)) == 0; \ +}) #endif /* _LINUXKPI_LINUX_LOG2_H_ */ diff --git a/sys/dev/drm2/drm_os_freebsd.h b/sys/dev/drm2/drm_os_freebsd.h index 58523a33da2a..b2a2e82b748b 100644 --- a/sys/dev/drm2/drm_os_freebsd.h +++ b/sys/dev/drm2/drm_os_freebsd.h @@ -234,13 +234,6 @@ typedef void irqreturn_t; #define div_u64(n, d) ((n) / (d)) #define hweight32(i) bitcount32(i) -static inline unsigned long -roundup_pow_of_two(unsigned long x) -{ - - return (1UL << flsl(x - 1)); -} - /** * ror32 - rotate a 32-bit value right * @word: value to rotate diff --git a/sys/dev/mana/gdma_util.h b/sys/dev/mana/gdma_util.h index 37c2653d5ec9..1efa315bbcfe 100644 --- a/sys/dev/mana/gdma_util.h +++ b/sys/dev/mana/gdma_util.h @@ -170,18 +170,6 @@ find_first_zero_bit(const unsigned long *p, unsigned long max) return (max); } -static inline unsigned long -roundup_pow_of_two(unsigned long x) -{ - return (1UL << flsl(x - 1)); -} - -static inline int -is_power_of_2(unsigned long n) -{ - return (n == roundup_pow_of_two(n)); -} - struct completion { unsigned int done; struct mtx lock; diff --git a/sys/dev/qlnx/qlnxe/bcm_osal.h b/sys/dev/qlnx/qlnxe/bcm_osal.h index c820532c9e0a..7148fd3f6215 100644 --- a/sys/dev/qlnx/qlnxe/bcm_osal.h +++ b/sys/dev/qlnx/qlnxe/bcm_osal.h @@ -102,24 +102,6 @@ extern void qlnx_vf_flr_update(void *p_hwfn); #ifndef QLNX_RDMA -static __inline unsigned long -roundup_pow_of_two(unsigned long x) -{ - return (1UL << flsl(x - 1)); -} - -static __inline int -is_power_of_2(unsigned long n) -{ - return (n == roundup_pow_of_two(n)); -} - -static __inline unsigned long -rounddown_pow_of_two(unsigned long x) -{ - return (1UL << (flsl(x) - 1)); -} - #define max_t(type, val1, val2) \ ((type)(val1) > (type)(val2) ? (type)(val1) : (val2)) #define min_t(type, val1, val2) \ diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h index 6e10ec428090..a10289d72dc7 100644 --- a/sys/sys/libkern.h +++ b/sys/sys/libkern.h @@ -223,77 +223,17 @@ ilog2_long_long(long long n) unsigned long long: ilog2_long_long \ )(n) -#define ilog2(n) \ -( \ - __builtin_constant_p(n) ? ( \ - (n) < 1 ? -1 : \ - (n) & (1ULL << 63) ? 63 : \ - (n) & (1ULL << 62) ? 62 : \ - (n) & (1ULL << 61) ? 61 : \ - (n) & (1ULL << 60) ? 60 : \ - (n) & (1ULL << 59) ? 59 : \ - (n) & (1ULL << 58) ? 58 : \ - (n) & (1ULL << 57) ? 57 : \ - (n) & (1ULL << 56) ? 56 : \ - (n) & (1ULL << 55) ? 55 : \ - (n) & (1ULL << 54) ? 54 : \ - (n) & (1ULL << 53) ? 53 : \ - (n) & (1ULL << 52) ? 52 : \ - (n) & (1ULL << 51) ? 51 : \ - (n) & (1ULL << 50) ? 50 : \ - (n) & (1ULL << 49) ? 49 : \ - (n) & (1ULL << 48) ? 48 : \ - (n) & (1ULL << 47) ? 47 : \ - (n) & (1ULL << 46) ? 46 : \ - (n) & (1ULL << 45) ? 45 : \ - (n) & (1ULL << 44) ? 44 : \ - (n) & (1ULL << 43) ? 43 : \ - (n) & (1ULL << 42) ? 42 : \ - (n) & (1ULL << 41) ? 41 : \ - (n) & (1ULL << 40) ? 40 : \ - (n) & (1ULL << 39) ? 39 : \ - (n) & (1ULL << 38) ? 38 : \ - (n) & (1ULL << 37) ? 37 : \ - (n) & (1ULL << 36) ? 36 : \ - (n) & (1ULL << 35) ? 35 : \ - (n) & (1ULL << 34) ? 34 : \ - (n) & (1ULL << 33) ? 33 : \ - (n) & (1ULL << 32) ? 32 : \ - (n) & (1ULL << 31) ? 31 : \ - (n) & (1ULL << 30) ? 30 : \ - (n) & (1ULL << 29) ? 29 : \ - (n) & (1ULL << 28) ? 28 : \ - (n) & (1ULL << 27) ? 27 : \ - (n) & (1ULL << 26) ? 26 : \ - (n) & (1ULL << 25) ? 25 : \ - (n) & (1ULL << 24) ? 24 : \ - (n) & (1ULL << 23) ? 23 : \ - (n) & (1ULL << 22) ? 22 : \ - (n) & (1ULL << 21) ? 21 : \ - (n) & (1ULL << 20) ? 20 : \ - (n) & (1ULL << 19) ? 19 : \ - (n) & (1ULL << 18) ? 18 : \ - (n) & (1ULL << 17) ? 17 : \ - (n) & (1ULL << 16) ? 16 : \ - (n) & (1ULL << 15) ? 15 : \ - (n) & (1ULL << 14) ? 14 : \ - (n) & (1ULL << 13) ? 13 : \ - (n) & (1ULL << 12) ? 12 : \ - (n) & (1ULL << 11) ? 11 : \ - (n) & (1ULL << 10) ? 10 : \ - (n) & (1ULL << 9) ? 9 : \ - (n) & (1ULL << 8) ? 8 : \ - (n) & (1ULL << 7) ? 7 : \ - (n) & (1ULL << 6) ? 6 : \ - (n) & (1ULL << 5) ? 5 : \ - (n) & (1ULL << 4) ? 4 : \ - (n) & (1ULL << 3) ? 3 : \ - (n) & (1ULL << 2) ? 2 : \ - (n) & (1ULL << 1) ? 1 : \ - (n) & (1ULL << 0) ? 0 : \ - -1) : \ - ilog2_var(n) \ -) +#define ilog2_const(n) \ + (8 * (int)sizeof(unsigned long long) - 1 - \ + __builtin_clzll(n)) + +#define ilog2(n) (__builtin_constant_p(n) ? ilog2_const(n) : ilog2_var(n)) +#define rounddown_pow_of_two(n) ((__typeof(n))1 << ilog2(n)) +#define order_base_2(n) ({ \ + __typeof(n) _n = (n); \ + _n == 1 ? 0 : 1 + ilog2(_n - 1); \ +}) +#define roundup_pow_of_two(n) ((__typeof(n))1 << order_base_2(n)) #define bitcount64(x) __bitcount64((uint64_t)(x)) #define bitcount32(x) __bitcount32((uint32_t)(x)) From nobody Mon Feb 10 11:15:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys26v2zHSz5nlNQ; Mon, 10 Feb 2025 11:15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys26v0WNfz3h6B; Mon, 10 Feb 2025 11:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=henna4l6uSx0ns5iHrxZHHX26TlH8QFRYsTA+QBk2pw=; b=Jpte0e1vjuZt6yS5YleBRCScx0YtXCuIQFJSURp61Kj8daotbU1gwNE2dVtMhML0tvbK0h CK10r7dtV2h9CHqqy7BjvzeisY4v9vn5+D3/6J8nEk1fZe0yGmFcSz7HPWso5Ey6vCls7r wVJELAWlznRgVtDOWhZc27uvwq0iJSZfj1dcReoO428X7gyAjOFRE4vuQJuzuwKjz5iLr3 g8nIT0bGJqPYvDtp5rJI8mQiM7Ip633lorNFKdwrVRl44p8gpTuAoCuPx25Zs8+CQ2EHGY Gc5r4fnjfKDRTx7C8U1H0H8AyelbogORF8egxhzBkXeTj9jZAJjyuYIfJ9cqTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=henna4l6uSx0ns5iHrxZHHX26TlH8QFRYsTA+QBk2pw=; b=Aus2oFjAYs27PG1KKBRC9N1ROio2S6Z19jRgJIh7+uC9FHuFtSsH2dFHGjcRkRvUtot5BX mN7mSym82Wi6RT6hawc2OWLsLNjC5MMKcxzEsAYIl8P9z1YIqK1/W6VPxcMIXl9WhINHe5 l3Cv5at9oC1nzjMCcLJ25NsjnA4eaWyIcqVbXrH6gMCoF3SzaPjLmWgm8mjSf4ehgt+002 12M+EoYOmz6hh46J+3d/ifLSOM/aRC/QKUiaObRgxR1jv3DcmtOQTSOO4Uzv5D7iPesh0z JPE9OCy8W+2opjMqfVFewAQ2mlH+cytC1ClvIWAATcbUG6NJC7dvK6dWwWSTbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739186119; a=rsa-sha256; cv=none; b=y07fOZ768lLll28Xxzh9tG+TXX9YIkWPGZAcoPnN/0lhK9BGyBUKsfutNVq1DCdM81KPga nw5uU4HoqANnkJYqUhY3DWWZHGJnQw5zQVrz3f5DQmBxgdL42X4ilg/enqiC5FBrlA8bpe S/ua3XdjEpvLWAguRvXtPGDz/uiayIHBlWkwmnaIvt6iyghmlnDrW1cYkdVxgnxye2yIXJ CE6q4Rzp+GM6M5QoQ9KIGm+ieGmzenp2md4Zwfxk6CdD7fkp6KFAURrU0da8iOlEGd8/CZ A4kH3iBWLn5bK5Ube2zXB042H8FOFSxs1wlTnC3we9L5qAQcm8L7e4U042QSEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys26v07NPz8L5; Mon, 10 Feb 2025 11:15: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 51ABFI23016301; Mon, 10 Feb 2025 11:15:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABFISj016298; Mon, 10 Feb 2025 11:15:18 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:15:18 GMT Message-Id: <202502101115.51ABFISj016298@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Moore Subject: git: 7bcc7a0b88cc - stable/14 - libkern: avoid local var in order_base_2() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b Auto-Submitted: auto-generated The branch stable/14 has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b commit 7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b Author: Doug Moore AuthorDate: 2024-09-27 23:43:07 +0000 Commit: Doug Moore CommitDate: 2025-02-10 10:30:05 +0000 libkern: avoid local var in order_base_2() order_base_2(n) is implemented with a variable, which keeps it from being used at file scope. Implement it instead as ilog2(2*n-1), which produces a different result when 2*n overflows, which appears unlikely in practice. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D46826 (cherry picked from commit b7cbf741d55468ba34305a14ac3acc1c286af034) --- sys/sys/libkern.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h index a10289d72dc7..835e5ffaf0b7 100644 --- a/sys/sys/libkern.h +++ b/sys/sys/libkern.h @@ -229,10 +229,7 @@ ilog2_long_long(long long n) #define ilog2(n) (__builtin_constant_p(n) ? ilog2_const(n) : ilog2_var(n)) #define rounddown_pow_of_two(n) ((__typeof(n))1 << ilog2(n)) -#define order_base_2(n) ({ \ - __typeof(n) _n = (n); \ - _n == 1 ? 0 : 1 + ilog2(_n - 1); \ -}) +#define order_base_2(n) ilog2(2*(n)-1) #define roundup_pow_of_two(n) ((__typeof(n))1 << order_base_2(n)) #define bitcount64(x) __bitcount64((uint64_t)(x)) From nobody Mon Feb 10 11:15:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys26w6QLlz5nlHs; Mon, 10 Feb 2025 11:15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys26w131Pz3grL; Mon, 10 Feb 2025 11:15:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7vdo+G4sXBcMFznokvspphlWX8TWX0/UX2GMnYrn3o=; b=QFQu4KDpo6dvnY2f+14nIZdCO3odbYPPUPzrmPItqPjVswpLyAXA1B7DBbMuWjscNeXVYO JxedYFqRwRIhF9RRQgvQcrrUdIiJ9a853USbTQoj+7ERLDontyVR0HdRybMM7GX+b7Dfzv dxCPmeK6ocC+ym2f5nrN4DRmL2LNQNDSLdvO4db04gASXnh/D5LeCaus1lIFDFkIxWtKsl W0dfEwkdCBoaOXcGMpkohqND+B16ps//MrfRGGxh4r2J0WTCUrKVmMRBtAwRsiRLtqajWV MjfwwzyZZ8Jo1xQPc0vvURIiCd8NavtQtod+OdmAAT+Nx55NbtbSjbkl61bOxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739186120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/7vdo+G4sXBcMFznokvspphlWX8TWX0/UX2GMnYrn3o=; b=d9aVv9liyLXbSqWOVHj+XW1LwXP0iULVYURBuhZXssbacjIDwCEtJSNVxqzez6C3eE1sOG Zujj9/GYebTLSHHiLtSYbuCNdDqTsLafp7aQWRNv/oRWM3rEU3ydNayhnllhNge+pCnOeF 9A83fovyMFKgETIT7gO4h44pqLTiLtxCYe5KI7pvi6iZEGSh25V1VNSL5Iw/j/FD95hHwm JB/oqTzgWuwBkB9R6526LfZ6hUDiBxgx2g5VbQ+zL5MCaPCwtolAQJ22sXhUPsTyqVS9n1 aOCC064aOAFhzpw0En6D7VMBA+BXa5CdIXgkmsRjbFwwzFESRYwc89kn0XOivw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739186120; a=rsa-sha256; cv=none; b=uYpQ7nWcUocTfRhQSc+hudb3klCSSnhQIyV0RnsA5iSvQ76nZhZHZ5pzRIAzyOJHJY/WCK xlZTesvxKJGKdaPHOCy2w801HP9mBEsAs+lnEg1UuIGeBfahVZBMuD+/vErvEFQBB18h/8 mAfLFeCMOwruBfEebhAOaUlGo4v9ACKDeL5UxkztQTMgwa/e1i6dPIt9ryDC+mMfLEwjdW 4l00brPKdFvRcDwh6y8fsxyppQwISxihaINgEb59bvyyGFgE5esYFalO35DgJ8A5yGkoRu yr4xPkm80mEC5m/2JZWCGzX3JfWlH4mq1JpALuEVCvHZQUo9blMeucqFT4xk+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys26w0dHrz7ky; Mon, 10 Feb 2025 11:15: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 51ABFJlG016341; Mon, 10 Feb 2025 11:15:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ABFJIA016338; Mon, 10 Feb 2025 11:15:19 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:15:19 GMT Message-Id: <202502101115.51ABFJIA016338@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Moore Subject: git: 16b7da6f7abe - stable/14 - dev/mana: replace power2 function List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 16b7da6f7abea88a34f09651516e9093fc4e8b68 Auto-Submitted: auto-generated The branch stable/14 has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=16b7da6f7abea88a34f09651516e9093fc4e8b68 commit 16b7da6f7abea88a34f09651516e9093fc4e8b68 Author: Doug Moore AuthorDate: 2024-06-24 06:55:01 +0000 Commit: Doug Moore CommitDate: 2025-02-10 10:50:32 +0000 dev/mana: replace power2 function Replace is_power_of_2(length) with power2(length). When length != 0, as in this case, they produce the same result. This will allow an implementation of is_power_of_two to be dropped. Reviewed by: alc, markj Differential Revision: https://reviews.freebsd.org/D45536 (cherry picked from commit a94ed493b50752cee09245fc312c63b00331f217) --- sys/dev/mana/gdma_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mana/gdma_main.c b/sys/dev/mana/gdma_main.c index 090f6382b071..70985f4fbf65 100644 --- a/sys/dev/mana/gdma_main.c +++ b/sys/dev/mana/gdma_main.c @@ -939,7 +939,7 @@ mana_gd_create_dma_region(struct gdma_dev *gd, int err; int i; - if (length < PAGE_SIZE || !is_power_of_2(length)) { + if (length < PAGE_SIZE || !powerof2(length)) { mana_err(NULL, "gmi size incorrect: %u\n", length); return EINVAL; } From nobody Mon Feb 10 14:16:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys68F2xL0z5mDDV; Mon, 10 Feb 2025 14:16: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys68F26bqz43GG; Mon, 10 Feb 2025 14:16:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739197005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1g2c1gwyqf7LMmbygnDnGnS9+DQkkQKlWiPOJSmjqDk=; b=x9AnbuJohBHYcb9LUPTGPRDp9XIiIa6XQDcW6U5axYgHvpXDeaP/O0r5J9BIkjau11ZHmc UoCTZzn2yuVsaDEOePTwNNCkm1HcbAZjVcg4YmiL8O9269PmviUt+ybWtvMYQFb7/8H0dE 2U6kE59xc/fXvQEfOSvDF364mTV7JlgqerB1HDKTh9mPffsbsjo9eGWH/bAFYo6vaSwdHN aZ2TkCYxwUIS+6ZQm6PgwpdB7F8AHX10dPEqUdeWcDkGHbogQunLztCKFsWTahtJKzyOoj /pcma6zapBrYWRZLozcso7hm+MpBNNxdQYQ/bJA5WK2enHWVBBtK/vyxshenuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739197005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1g2c1gwyqf7LMmbygnDnGnS9+DQkkQKlWiPOJSmjqDk=; b=vYXju3rCXFjBrDLtAtz+jCsFqruR9h9lomUAOpEnde8I6kdMYWqzcO8AULrv6J+qgVvpMH pMI+NaNqCiPGlXOpTtvRKZyP2Am/l0ek1EN0J4vfRVduEfhpmGO41EITDh7nrgIBYX4JrO KSb6LQy6q3U7vlDV3pxeU73U1f4GJ/22/6s/mrHxK3ProMDgm3VFrS1cD+iW94NonRmKvE RG8Q5HT4vmKGs/9ycQWY5gm4YpZHkeElPG0bQF35ZQLEp5O4DYdEVtHn1gi3yLlfV42bt7 pYQIISvvKo7Pvr/rdWkY29ZQx7mcRyGfTo+IZZkZ/wyjZpN2VEXT9g6q14EJPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739197005; a=rsa-sha256; cv=none; b=LOalonz3ie/Ear8c4AF5usJctH3D1OaeUgs8Gs+e6zSGg43It9a5dIiQxr/5WJrKDYRFDp mD2rspqo5yosUkgCaFrHci2pAQaq/HqMVekRRfNk/uGy+qNziY9t0Y+DrNZnB1xefjhTc7 1mW7SsqL0mrhUvM1z4Nrj5mAwA4PLMw5TNliosFEHxswA/3P/SEVV89q3HRINLUfHW/EGM ZS6atZ66a97eZAR+VpP1VHeRHSRtFCPJHC/CEyZUHmnwq+ZGM5zM5nDEZ+WuQnHt8dbDsa jMBi81i0Tb5nzWYKwhzeC4+r91J/P1i6UNiNTx1VvElMItIuQ46cg5hjbieKrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys68F1LWzzDN7; Mon, 10 Feb 2025 14:16: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 51AEGi6o053159; Mon, 10 Feb 2025 14:16:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEGiFO053156; Mon, 10 Feb 2025 14:16:44 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:16:44 GMT Message-Id: <202502101416.51AEGiFO053156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Moore Subject: git: 2ee9d7dcdbe1 - stable/14 - libkern: don't use MPASS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2ee9d7dcdbe143ad3535723aaeac284c2586a963 Auto-Submitted: auto-generated The branch stable/14 has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=2ee9d7dcdbe143ad3535723aaeac284c2586a963 commit 2ee9d7dcdbe143ad3535723aaeac284c2586a963 Author: Doug Moore AuthorDate: 2024-06-03 18:20:00 +0000 Commit: Doug Moore CommitDate: 2025-02-10 14:16:25 +0000 libkern: don't use MPASS Using MPASS in libkern breaks buildworld. Replace MPASS with KASSERT in three places. (cherry picked from commit 08f6f78f81e21b21dd002a9389436b0333cb3488) --- sys/sys/libkern.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h index 835e5ffaf0b7..a792a61aa8ce 100644 --- a/sys/sys/libkern.h +++ b/sys/sys/libkern.h @@ -193,7 +193,7 @@ static __inline __pure2 int ilog2_int(int n) { - MPASS(n != 0); + KASSERT(n != 0, ("ilog argument must be nonzero")); return (8 * sizeof(n) - 1 - __builtin_clz((u_int)n)); } @@ -201,7 +201,7 @@ static __inline __pure2 int ilog2_long(long n) { - MPASS(n != 0); + KASSERT(n != 0, ("ilog argument must be nonzero")); return (8 * sizeof(n) - 1 - __builtin_clzl((u_long)n)); } @@ -209,7 +209,7 @@ static __inline __pure2 int ilog2_long_long(long long n) { - MPASS(n != 0); + KASSERT(n != 0, ("ilog argument must be nonzero")); return (8 * sizeof(n) - 1 - __builtin_clzll((unsigned long long)n)); } From nobody Mon Feb 10 14:32:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6Tw3WnTz5mFfb; Mon, 10 Feb 2025 14:32:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6Tw2l9mz49Ty; Mon, 10 Feb 2025 14:32:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739197924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3NZdtZrLqkm7toK1wFDztXUyNaHviPprItNjD+vkCeI=; b=UrHVxjJazjOl9a4/OZjbBrti8U4GBQVRq3o6DLj0e4H3LqNO/WS7r3SVnxWtj7gzofOocK l2gS5fdltck9n1Kg/bgcwndYM2jJLu+WPe4mDIfTrsd0oU1ldBC9F9SNRvc6Zub/onRCOp RRPgZO44sJ6uOXqGUSCE/DQG2BTx0vYCjqskNkL9sK2J/q/dqp5tZumwqdxbzwyamHq1/l uHbJfBsOXPQ0QPL4GVnVodLOjc9yYAVBu1a7Hg8BIUSh4E2NVfPHN65IxyszBVFbDuZ0pZ WQICg3ahQ2g8VMfX+/x2mIpUASnb8Gt1RCgA43gjF1/0qgFVTL+Q8TdMYUYDcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739197924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3NZdtZrLqkm7toK1wFDztXUyNaHviPprItNjD+vkCeI=; b=hTd306PjWLPbk6r4J8s+LPt50HnxI7KXfvxQJHkmQAao+BEghUVQJ4tAQRJKBa5USaH1In 69w8xizZvegrdkxci6yiGF8YRzYsXVAxJ4D2OAcq5B8yC8C2owM4Uio33clT2Ol+kIJwGG LuS8HaNOW0GWNN1l0vtYjzKGlYnWqCUpDJyjjENsDri+YsVMHATZBegPwZY7PTB8vMy5GO yNRkBLLTOUaVfWCtAUCwsxSEeEJEaIr5mY6QoT1hPV8Z8T/Xu5Sgd0J3gI94sovXOH8o1f 5W5MVMRPYQqDOpzAxBL9n3I0HmOtCjJxVFJa1M5g+y2v96I/fzcU7pqI2wnylg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739197924; a=rsa-sha256; cv=none; b=SHHBjxhF15Pdcq8u+ChIa+2l5sOZUEFXnBAE3etlmWEOoOzTBdCL5SmUvT//FD1fktp4BC ZWmZxwK6GyA2gx8oCS8ZalBNwx2pc0Xb+LN7nZ/Sw4C47cWy9a391Lier6UE7WSaBA885k +86XzH+iAaNt/1vhsM06CcljwgOyF0pSSEy3XAgIQNp/S/R03/2pu3xRQmBQQpkAVMpPC8 tPCQgc5tPmuQqO2vcgH0NLYFpRr/s7xQIDjSxAYZQkOgLwHJbLBECsyL3nf+SdbRYAwmuo LrY9DuQpkVngdLtf62xcJIhvSnwubrjoe0jyPePH58ctV3ykwOKIfGsGQZmf5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6Tw27RhzVVj; Mon, 10 Feb 2025 14:32: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 51AEW4RG088844; Mon, 10 Feb 2025 14:32:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEW4UJ088841; Mon, 10 Feb 2025 14:32:04 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:32:04 GMT Message-Id: <202502101432.51AEW4UJ088841@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: d6138a65405f - main - inet6: add the missing lock acquire to nd6_get_llentry List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d6138a65405f697715189363b2b18581e7abd982 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=d6138a65405f697715189363b2b18581e7abd982 commit d6138a65405f697715189363b2b18581e7abd982 Author: Mateusz Guzik AuthorDate: 2025-02-10 14:27:37 +0000 Commit: Mateusz Guzik CommitDate: 2025-02-10 14:27:37 +0000 inet6: add the missing lock acquire to nd6_get_llentry Reported by: Lexi Winter PR: 282378 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet6/nd6.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index e1fd421060df..887da1ebe21a 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -2357,6 +2357,7 @@ nd6_get_llentry(struct ifnet *ifp, const struct in6_addr *addr, int family) } else { /* child lle already exists, free newly-created one */ lltable_free_entry(LLTABLE6(ifp), child_lle); + LLE_WLOCK(lle_tmp); child_lle = lle_tmp; } LLE_WUNLOCK(lle); From nobody Mon Feb 10 14:47:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6r2452cz5mGTv; Mon, 10 Feb 2025 14:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6r232Fvz4J0D; Mon, 10 Feb 2025 14:47:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739198866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rW6V+1HNR/zjxiUikLJOr1Ox7EvZq0aE6eoFkXx2oh8=; b=E1SSjzwuAoiifwHdeKOG7hG573CFT3U3EbkzW+aBU+hwfH8w0GNdRrz55yXqUXvIXDJAnx oHnVQji5InneRJlt+mPzsDgyE+JHwWBLiCcevVXWVzYVOXtr81gH5cMMSi9QtfYBc78GwX yqQcl3Wvem0OrNOzZEd6JavQWTelBAzyDylauCHEOQ9Xg23in09rcd7kS6DB8Znl56MgDK qWeEJxbRSJHTEGuzXH7BVUGKO7GWusqpegunsTGJWHUxNnJDDiXIX3C1+c8viHOU7acbrS fygM0ygjNKg0TphgOBKF29O9lSsrTQeQCl0ANp3JbRNN2dp02F3VWVSDqG0S3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739198866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rW6V+1HNR/zjxiUikLJOr1Ox7EvZq0aE6eoFkXx2oh8=; b=xXExqOIBZ4wBwKV8xucCkE41gMlVyo6N+eH45AoKqtInwXsI8ENYNuUQGrv0LaV7qSp/rS MdMq/rPizh2gJKIxtYh2ycsS/JQ3/UeJxoi/S/aHWuLNPNzANponkm2YaoK7cjAuxVkV9r hUZBevmFDFTIlgKLEu/9Pg3AR15MMB7H97A4ahjtf9kTvbxrpviqXy9sW/lvU/WhUSjEGJ 4OvklN/Hfx7sKGeSvUEY8tK5hDCIdZeSXKjpBJyvJF6Z+PWOMkfwTVFUMKTB0WjfaAFmTV PvmRHit3cxIruRGfgaPrIMpwuYXr38TahjAEWOZwgRNMR5PQemplDisNkI55gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739198866; a=rsa-sha256; cv=none; b=b8W/0N3n9qgPoP4jv9QFgHfp1smWs9ae3ppaCBFmjhkT+7pAQqjoj1Nk0yXjCHYQU0BS77 Yr4x6AR0oqpzyrKcd8CynPTmWez6GyTb3v6WuDP0AJTl2tn9dd+8EHpRNEcPyqQwayxBPb uoVBxOmnA4jOXYouqkphbZUi7DHyU9XXW9gu9dCnDdmZmVjMJYONT5bFK2kr5CWScRLcNS 7uTiy6U5m+dFyUiuf5oODbDwHE2O5yYBcRI8lKogztIXLND7FJ/FHOqMqWpMKz2rKMmRVd symiIulqLtNlXDXuPZfv5ZJKYgZYW9CRni7r2eNSIvF/Hjp8/xwCqkrLtxtxeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6r22YtkzX7S; Mon, 10 Feb 2025 14:47: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 51AElk5D010644; Mon, 10 Feb 2025 14:47:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AElkxO010641; Mon, 10 Feb 2025 14:47:46 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:47:46 GMT Message-Id: <202502101447.51AElkxO010641@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: efd368784eeb - main - mroute: serialize parallel teardown of the same vnet List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: efd368784eebcc62324f7e1884776a22a73c4688 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=efd368784eebcc62324f7e1884776a22a73c4688 commit efd368784eebcc62324f7e1884776a22a73c4688 Author: Mateusz Guzik AuthorDate: 2025-02-10 14:44:39 +0000 Commit: Mateusz Guzik CommitDate: 2025-02-10 14:45:32 +0000 mroute: serialize parallel teardown of the same vnet Otherwise 2 threads calling here can crash the kernel. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet/ip_mroute.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 501b3e0d9a43..6e6ecd43e9fe 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -139,6 +139,13 @@ static MALLOC_DEFINE(M_MRTABLE, "mroutetbl", "multicast forwarding cache"); * structures. */ +static struct sx __exclusive_cache_line mrouter_teardown; +#define MRW_TEARDOWN_WLOCK() sx_xlock(&mrouter_teardown) +#define MRW_TEARDOWN_WUNLOCK() sx_xunlock(&mrouter_teardown) +#define MRW_TEARDOWN_LOCK_INIT() \ + sx_init(&mrouter_teardown, "IPv4 multicast forwarding teardown") +#define MRW_TEARDOWN_LOCK_DESTROY() sx_destroy(&mrouter_teardown) + static struct rwlock mrouter_lock; #define MRW_RLOCK() rw_rlock(&mrouter_lock) #define MRW_WLOCK() rw_wlock(&mrouter_lock) @@ -692,15 +699,18 @@ ip_mrouter_init(struct socket *so, int version) if (version != 1) return ENOPROTOOPT; + MRW_TEARDOWN_WLOCK(); MRW_WLOCK(); if (ip_mrouter_unloading) { MRW_WUNLOCK(); + MRW_TEARDOWN_WUNLOCK(); return ENOPROTOOPT; } if (V_ip_mrouter != NULL) { MRW_WUNLOCK(); + MRW_TEARDOWN_WUNLOCK(); return EADDRINUSE; } @@ -708,6 +718,7 @@ ip_mrouter_init(struct socket *so, int version) HASH_NOWAIT); if (V_mfchashtbl == NULL) { MRW_WUNLOCK(); + MRW_TEARDOWN_WUNLOCK(); return (ENOMEM); } @@ -717,6 +728,7 @@ ip_mrouter_init(struct socket *so, int version) M_NOWAIT, &V_bw_upcalls_ring_mtx); if (!V_bw_upcalls_ring) { MRW_WUNLOCK(); + MRW_TEARDOWN_WUNLOCK(); return (ENOMEM); } @@ -736,6 +748,7 @@ ip_mrouter_init(struct socket *so, int version) mtx_init(&V_buf_ring_mtx, "mroute buf_ring mtx", NULL, MTX_DEF); MRW_WUNLOCK(); + MRW_TEARDOWN_WUNLOCK(); CTR1(KTR_IPMF, "%s: done", __func__); @@ -754,8 +767,12 @@ X_ip_mrouter_done(void) vifi_t vifi; struct bw_upcall *bu; - if (V_ip_mrouter == NULL) + MRW_TEARDOWN_WLOCK(); + + if (V_ip_mrouter == NULL) { + MRW_TEARDOWN_WUNLOCK(); return (EINVAL); + } /* * Detach/disable hooks to the reset of the system. @@ -830,6 +847,7 @@ X_ip_mrouter_done(void) mtx_destroy(&V_buf_ring_mtx); MRW_WUNLOCK(); + MRW_TEARDOWN_WUNLOCK(); /* * Now drop our claim on promiscuous multicast on the interfaces recorded @@ -2809,6 +2827,7 @@ ip_mroute_modevent(module_t mod, int type, void *unused) switch (type) { case MOD_LOAD: + MRW_TEARDOWN_LOCK_INIT(); MRW_LOCK_INIT(); if_detach_event_tag = EVENTHANDLER_REGISTER(ifnet_departure_event, @@ -2880,6 +2899,7 @@ ip_mroute_modevent(module_t mod, int type, void *unused) rsvp_input_p = NULL; MRW_LOCK_DESTROY(); + MRW_TEARDOWN_LOCK_DESTROY(); break; default: From nobody Mon Feb 10 14:47:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6r40fpkz5mGfH; Mon, 10 Feb 2025 14:47: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6r3438kz4J34; Mon, 10 Feb 2025 14:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739198867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=de004XVDzvOnJLVxKVV20ILKRA8h8HPLtjQHwSdZgBs=; b=vo2hV7YYGuMb3icLYY3zYZfuTYwpKGvc1wyDw57he+IRZYPqMuFVebWpPI4Dllqk4XcY// bO663ujnZx6y/7MrCp/S2p3IWR5WvVRslsVjum386WteFab6SVNOC/F5SGkJ6LfwjIsn+G wusc/x26ZqXGe0W4csKOSIxYWe3Z8AdE6ygTrRHNsf61EC3ZuMSGHD0lMpTKRcLvU6gQ+Q OruWhH1KsG6SSMArQcX5pXzFnNp7gaq0FllyAzmLnlj42HnKM37ILmJcSIc1KTt0hwu4hA /OjBFMF9CnsZMfHZvefnOIxH/2XOQ8q3iOPese4Rt8f+3lzzOmUGCn7UwxXX7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739198867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=de004XVDzvOnJLVxKVV20ILKRA8h8HPLtjQHwSdZgBs=; b=S08Lx+vjrZjT5LeMswHZLnxPENvnZT39wKO7sxXE7M4CUvl0qp0fJLjQMRgCGw03HFjbeb XJTQrUJ6VXXtHHKJUiXwJQawgpBCtk32aMia9aPgHrQTWMvAZBFCCiIl1FioW+PiasQ4aI d22c3qqjRowQXms19fNSrKNwz+VWw+ihJpDTujT+dsu4UazHDAHWuc04yyznkB8xK/O3iZ 1vRjV4KLoY3Lgk29YG0RsFZSLxExrvOFw3yvDTb9nCS2dlNO6LfYahw21IAUI8aABRrGYI r7x+ayLSYCLQaYNS84zH/Aa5clbvWZpjRAztxKr/5Ds4RvKvjXNP0ZDVKgGrKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739198867; a=rsa-sha256; cv=none; b=x+kzbBcyeF2AdHAkdqni2B2x2H5/xvw6iX/CfOcewbl6dTzv4wKLkws/V/c24HwbCLbgaC Rgtfw0WFtjhFpoNnXHp5zMlZnNruxcpKiCCbjpXdqhgfFhjhYYOeE4SrvXvdXAnGK2yoay msI63at5x/iQRWHKBkBzq/8GBj8LH+2fVm1r/DaVa4jJpJ2cpWTJmTcLoPCBzzjBLx1CmE HjpOIpmiQN8yy5Tr4lT2OAWPyEvZp2BAQPjokxqZ1COk9XAhnMByO8A7ltDK6ji3dpeG0m S4lATiyxP19HT+fzMTaDvdvhuhb44d26uEGDYDSYb4M7bE6HOevdzNQWXd51eA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6r33T6JzX7T; Mon, 10 Feb 2025 14:47: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 51AEllXO010677; Mon, 10 Feb 2025 14:47:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEllgJ010674; Mon, 10 Feb 2025 14:47:47 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:47:47 GMT Message-Id: <202502101447.51AEllgJ010674@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 0fd31cf69032 - main - mroute: fix a sysctl vs teardown race List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0fd31cf690328558b8a12ff65397438efc345932 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0fd31cf690328558b8a12ff65397438efc345932 commit 0fd31cf690328558b8a12ff65397438efc345932 Author: Mateusz Guzik AuthorDate: 2025-02-10 14:45:17 +0000 Commit: Mateusz Guzik CommitDate: 2025-02-10 14:45:36 +0000 mroute: fix a sysctl vs teardown race Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet/ip_mroute.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 6e6ecd43e9fe..e224d2e6daf5 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2739,6 +2739,9 @@ sysctl_mfctable(SYSCTL_HANDLER_ARGS) return (error); MRW_RLOCK(); + if (V_mfchashtbl == NULL) + goto out_locked; + for (i = 0; i < mfchashsize; i++) { LIST_FOREACH(rt, &V_mfchashtbl[i], mfc_hash) { error = SYSCTL_OUT(req, rt, sizeof(struct mfc)); From nobody Mon Feb 10 14:52:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xT2dLbz5mGmC; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xS440hz4LPH; Mon, 10 Feb 2025 14: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=1739199148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F5wCjC0tFSBN7QIFg6LYDRm23kdoqew/g3kj17OwMKo=; b=BizM+ZMXkbMeuVYe7KunFrKWmaPNrJ73U7n0aZx9WERwzA5WRx6PkZnJ6S8HcDSxqYTI4U sdN60/5GSI8H7IsFzNAIGFWbKYkTw3YOrx1na8EPVEjm+dUzts5xnkAt0nx3SdV0IFIz+0 iYO1s4ys4+qF/lJrR+d4exdhwXZOAZqtU3w67KUU8h9/VxVif1I7MwauzssDjaMRSXw5ak YzkEdp/8dhD69P4dKYyoMqxF51IfAC+XuOl7rbKWJbLGhNJP8DRr9O1KPzOGS0vwe2XRPI wsdBJFPezlJVexr1pmTEb4RtvP75tiaRzjHLnflPDo262/qOMWPjxlL9mcc1bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F5wCjC0tFSBN7QIFg6LYDRm23kdoqew/g3kj17OwMKo=; b=KpK0j4UDHzzV7AngDubdjS/6nslOvCpNpJp226bYaOMazB+7Ojt/pP0kSIC51cCm9klZWL 0JBcLE8EM1p5hxVadLae668eDujMQf+/SpT2LwcmB4ZYzoCWn292j7X1tN+xVrsUanNv+g fkKQMtKrYtC8w165scY/w3QjNqNQfDDEZ32/QFIyzo6jZ6Ofze8hQzdIIRzUsOkZI/64Z0 u6tr8H+VA4NhxfU4Ue4nKYk3f8u0weg5XvMDow6tH2V/+FmwgmV1WchuBIrVdwQoffDgYq Q4wf+S2Ar9EGhezxH/4LZeNMpDN9wJ+7gPA6bMhVls2VEVw+3E6xHCeQpwpvUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199148; a=rsa-sha256; cv=none; b=QFIqt6lPkeDiJBRIGUA3SYr3GHp5vCrrX2IaHBnn135GKASUuNDtwjZsp/Ueh4DaiSxVJi DCTtPEQgKsQdOR2tI8M/Y4AU7gbvJsFMZk2AmH2GKAakKRoOCRHVPC+PnYpJoUJFRz16R7 G8n5JvXgrTlGgIKUzhkmWTDwpD8l16Bz4KN8x7exbeECW2Iqovuuf6pGXEl+G0BcI8F36d kk0K7sxGYBEKd8aSRBL6sovUcWKBbGrI6za4j1lamnWjHHHAGo8hA2ZosBCmM5EUlmXLAt /82rGXbKbedmaqC6KtICQ4/8oFYnw6Y0gPP3hNqU6vXTLR/gg7SFRIiVeVOIYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xS3gMSzXWj; Mon, 10 Feb 2025 14: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 51AEqSuY027499; Mon, 10 Feb 2025 14: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 51AEqSg3027496; Mon, 10 Feb 2025 14:52:28 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:28 GMT Message-Id: <202502101452.51AEqSg3027496@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: c57e8af7d5dc - stable/14 - LinuxKPI: 802.11: adjustments for v6.11 iwlwifi, rtw88 and rtw89 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c57e8af7d5dce6e5c9b616336ba4594ede6f110b Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c57e8af7d5dce6e5c9b616336ba4594ede6f110b commit c57e8af7d5dce6e5c9b616336ba4594ede6f110b Author: Bjoern A. Zeeb AuthorDate: 2024-10-28 12:15:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:06 +0000 LinuxKPI: 802.11: adjustments for v6.11 iwlwifi, rtw88 and rtw89 Bring in the LinuxKPI 802.11 compat bits which are altering the mac80211 KPI. * In struct ieee80211_bss_conf chandef -> chanreq. * Various struct ieee80211_ops gained a link_id arguemnt, stop gained a suspend flag. * Various functions gained a link_id argument. * ieee80211_tx_status() was renamed to ieee80211_tx_status_skb() Sponsored by: The FreeBSD Foundation (cherry picked from commit 7b43f4d064195bcf66816cb9fe350a1392fe24ce) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 22 ++++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211.c | 14 +++++++------- sys/compat/linuxkpi/common/src/linux_80211.h | 2 +- .../linuxkpi/common/src/linux_80211_macops.c | 6 +++--- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 6dbf07c85bb8..dff152caf140 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -297,7 +297,7 @@ struct ieee80211_bss_conf { uint8_t transmitter_bssid[ETH_ALEN]; struct ieee80211_ftm_responder_params *ftmr_params; struct ieee80211_p2p_noa_attr p2p_noa_attr; - struct cfg80211_chan_def chandef; + struct ieee80211_chanreq chanreq; __be32 arp_addr_list[1]; /* XXX TODO */ struct ieee80211_rate *beacon_rate; struct { @@ -796,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), +#if defined(LINUXKPI_VERSION) && (LINUXKPI_VERSION < 60600) /* v6.6 */ IEEE80211_VIF_DISABLE_SMPS_OVERRIDE = BIT(3), /* Renamed to IEEE80211_VIF_EML_ACTIVE. */ +#endif IEEE80211_VIF_EML_ACTIVE = BIT(4), IEEE80211_VIF_IGNORE_OFDMA_WIDER_BW = BIT(5), }; @@ -970,7 +972,7 @@ enum ieee80211_offload_flags { struct ieee80211_ops { /* TODO FIXME */ int (*start)(struct ieee80211_hw *); - void (*stop)(struct ieee80211_hw *); + void (*stop)(struct ieee80211_hw *, bool); int (*config)(struct ieee80211_hw *, u32); void (*reconfig_complete)(struct ieee80211_hw *, enum ieee80211_reconfig_type); @@ -993,7 +995,7 @@ struct ieee80211_ops { void (*mgd_prepare_tx)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_prep_tx_info *); void (*mgd_complete_tx)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_prep_tx_info *); - void (*mgd_protect_tdls_discover)(struct ieee80211_hw *, struct ieee80211_vif *); + void (*mgd_protect_tdls_discover)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int); void (*flush)(struct ieee80211_hw *, struct ieee80211_vif *, u32, bool); void (*flush_sta)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *); @@ -1024,10 +1026,10 @@ struct ieee80211_ops { bool (*can_aggregate_in_amsdu)(struct ieee80211_hw *, struct sk_buff *, struct sk_buff *); int (*pre_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel_switch *); - int (*post_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *); + int (*post_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *); void (*channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel_switch *); void (*channel_switch_beacon)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_chan_def *); - void (*abort_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *); + void (*abort_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *); void (*channel_switch_rx_beacon)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel_switch *); int (*tdls_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, u8, struct cfg80211_chan_def *, struct sk_buff *, u32); void (*tdls_cancel_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *); @@ -1561,7 +1563,7 @@ ieee80211_beacon_loss(struct ieee80211_vif *vif) } static __inline void -ieee80211_chswitch_done(struct ieee80211_vif *vif, bool t) +ieee80211_chswitch_done(struct ieee80211_vif *vif, bool t, uint32_t link_id) { TODO(); } @@ -1587,7 +1589,7 @@ ieee80211_csa_update_counter(struct ieee80211_vif *vif) } static __inline void -ieee80211_csa_finish(struct ieee80211_vif *vif) +ieee80211_csa_finish(struct ieee80211_vif *vif, uint32_t link_id) { TODO(); } @@ -2111,7 +2113,7 @@ 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) +ieee80211_tx_status_skb(struct ieee80211_hw *hw, struct sk_buff *skb) { linuxkpi_ieee80211_tx_status(hw, skb); } @@ -2225,7 +2227,7 @@ ieee80211_beacon_set_cntdwn(struct ieee80211_vif *vif, u8 counter) } static __inline int -ieee80211_beacon_update_cntdwn(struct ieee80211_vif *vif) +ieee80211_beacon_update_cntdwn(struct ieee80211_vif *vif, uint32_t link_id) { TODO(); return (-1); @@ -2240,7 +2242,7 @@ ieee80211_get_vht_max_nss(struct ieee80211_vht_cap *vht_cap, uint32_t chanwidth, } static __inline bool -ieee80211_beacon_cntdwn_is_complete(struct ieee80211_vif *vif) +ieee80211_beacon_cntdwn_is_complete(struct ieee80211_vif *vif, uint32_t link_id) { TODO(); return (true); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index d2c2a020399d..5aa86ab7ebec 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1270,9 +1270,9 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int } else { error = lkpi_80211_mo_add_chanctx(hw, chanctx_conf); if (error == 0 || error == EOPNOTSUPP) { - vif->bss_conf.chandef.chan = chanctx_conf->def.chan; - vif->bss_conf.chandef.width = chanctx_conf->def.width; - vif->bss_conf.chandef.center_freq1 = + vif->bss_conf.chanreq.oper.chan = chanctx_conf->def.chan; + vif->bss_conf.chanreq.oper.width = chanctx_conf->def.width; + vif->bss_conf.chanreq.oper.center_freq1 = chanctx_conf->def.center_freq1; #ifdef LKPI_80211_HT if (vif->bss_conf.chandef.width == NL80211_CHAN_WIDTH_40) { @@ -1283,7 +1283,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int vif->bss_conf.chandef.center_freq1 -= 10; } #endif - vif->bss_conf.chandef.center_freq2 = + vif->bss_conf.chanreq.oper.center_freq2 = chanctx_conf->def.center_freq2; } else { ic_printf(vap->iv_ic, "%s:%d: mo_add_chanctx " @@ -2841,7 +2841,7 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], lvif->lvif_ifllevent = EVENTHANDLER_REGISTER(iflladdr_event, lkpi_vif_iflladdr, vif, EVENTHANDLER_PRI_ANY); vif->bss_conf.link_id = 0; /* Non-MLO operation. */ - vif->bss_conf.chandef.width = NL80211_CHAN_WIDTH_20_NOHT; + vif->bss_conf.chanreq.oper.width = NL80211_CHAN_WIDTH_20_NOHT; vif->bss_conf.use_short_preamble = false; /* vap->iv_flags IEEE80211_F_SHPREAMBLE */ vif->bss_conf.use_short_slot = false; /* vap->iv_flags IEEE80211_F_SHSLOT */ vif->bss_conf.qos = false; @@ -3027,7 +3027,7 @@ lkpi_ic_vap_delete(struct ieee80211vap *vap) lkpi_80211_mo_remove_interface(hw, vif); /* Single VAP, so we can do this here. */ - lkpi_80211_mo_stop(hw); + lkpi_80211_mo_stop(hw, false); /* XXX SUSPEND */ mtx_destroy(&lvif->mtx); free(lvif, M_80211_VAP); @@ -3084,7 +3084,7 @@ lkpi_ic_parent(struct ieee80211com *ic) start_all = true; } else { #ifdef HW_START_STOP - lkpi_80211_mo_stop(hw); + lkpi_80211_mo_stop(hw, false); /* XXX SUSPEND */ #endif } LKPI_80211_LHW_UNLOCK(lhw); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index b6ac3e85f80f..8605ec86ad1b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -392,7 +392,7 @@ struct lkpi_wiphy { mtx_assert(&(_ltxq)->ltxq_mtx, MA_NOTOWNED) int lkpi_80211_mo_start(struct ieee80211_hw *); -void lkpi_80211_mo_stop(struct ieee80211_hw *); +void lkpi_80211_mo_stop(struct ieee80211_hw *, bool); int lkpi_80211_mo_get_antenna(struct ieee80211_hw *, u32 *, u32 *); int lkpi_80211_mo_set_frag_threshold(struct ieee80211_hw *, uint32_t); int lkpi_80211_mo_set_rts_threshold(struct ieee80211_hw *, uint32_t); diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index 06bf1a58fef1..e60ccbdeb4ce 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -75,7 +75,7 @@ out: } void -lkpi_80211_mo_stop(struct ieee80211_hw *hw) +lkpi_80211_mo_stop(struct ieee80211_hw *hw, bool suspend) { struct lkpi_hw *lhw; @@ -83,8 +83,8 @@ lkpi_80211_mo_stop(struct ieee80211_hw *hw) if (lhw->ops->stop == NULL) return; - LKPI_80211_TRACE_MO("hw %p", hw); - lhw->ops->stop(hw); + LKPI_80211_TRACE_MO("hw %p suspend %d", hw, suspend); + lhw->ops->stop(hw, suspend); lhw->sc_flags &= ~LKPI_MAC80211_DRV_STARTED; } From nobody Mon Feb 10 14:52:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xV3KM0z5mGgq; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xV07dYz4L8s; Mon, 10 Feb 2025 14:52:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkGmo+bzET8MiMCdBGEeAqi5K+lgk/JpAPJuA3MNjaI=; b=sZ+0hA14B6cCtcXurkoxDE6Te3AvGwgph1ds2426N64yR1IlsrmKzR938GJ1JLlhFJvplh rOXz0R5wDNqaYjFtpgsKcbwZj74nItz0uAbzTJiLhHNtB5YUgwT/c/KJBCYCBU2sveyNjk 3Pn7z09VNl5He/6/uEtDM+8jCF2ASw4i24JBqw5grmnWko3pcP+8xkxctE65QHrvsbOCXr Qb0EExKrSBNeF5Hwnh+8LhDIHceU85K4MKJt/J4n4toXUHa1nD5uupwc37GIj/iGy4lj5a XSf0VB1T7W0PaAtVHL9NfdI8B6Opa/Ty/fFG3CyB2DuQfrRZ2jgYv+nGn4mRMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkGmo+bzET8MiMCdBGEeAqi5K+lgk/JpAPJuA3MNjaI=; b=srjt/p4p0YDkybZLdZt5v/BVBqD3eauVrDmCrpP+JLtnsbEHw8da27lh8P9j/ZMXSwaFvF 7XrljKiXH6MMEQlwUQLQRXtmhtNH8HHZ5K4V4TqwWgYzURYPn3Q4AhFJlMaalwlPYxYly3 2uFbkxhd3JiRGExHaDDXlNOVdfsmrLHvDJJRKCuyokiJ+v9FdONUUI8BtVrMhz0Y9ZwQzK NvtoeYcOKZPoSLgEEYpyyYYRPoquGx/NvHHUbEbMvUehp3qS+X6Nun/oDNQPvQJr31tczB P352Q9kAdCHpb7HdURjhmVskvR9iN4a5odhV454IMHmM8Cji8CxFEDfTXahPfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199150; a=rsa-sha256; cv=none; b=oRT/KjmpXDLDN954gDsdT8MdH3DzWMwLuXJwfyCi+yRZm6ohHi+6tWorihlm5W0isUgIwd C/PTIRQlqxFV9iguHHncs96ZwuM89/RZa7zxZ23F4WtChSKpYc6PkBlJ+I2FCnwFPlcaDm d6Mh4wheEap8WMlq0ldWl3eenJ3FpXhF9FG6+XBrMlF8VoYbukDZoIdd2XMUQWEH2I58AE +OrgF2dsaMq6B4P/Et3MGUdmjF0fbupPtHoiHwhMkbWUcV3hh2o+FUBQlISfk6Fqbb0EVJ KaSAQ5ymG/elR/gfE6wYR5M9W/1cfqBSWu/KLOF7VuKMCeATEhNrhTNRrTMmwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xT6rhPzX74; Mon, 10 Feb 2025 14:52: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 51AEqTRS027540; Mon, 10 Feb 2025 14:52:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqTsm027532; Mon, 10 Feb 2025 14:52:29 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:29 GMT Message-Id: <202502101452.51AEqTsm027532@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: f4e352ef16d6 - stable/14 - iwlwifi: update Intel's iwlwifi/mvm driver. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f4e352ef16d6afb4f2238ecdf925d531f8b9e995 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f4e352ef16d6afb4f2238ecdf925d531f8b9e995 commit f4e352ef16d6afb4f2238ecdf925d531f8b9e995 Author: Bjoern A. Zeeb AuthorDate: 2024-09-27 21:53:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:07 +0000 iwlwifi: update Intel's iwlwifi/mvm driver. This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ). Sponsored by: The FreeBSD Foundation (cherry picked from commit a4128aad8503277614f2d214011ef60a19447b83) --- share/man/man4/iwlwifi.4 | 12 +- share/man/man4/iwlwififw.4 | 238 ++- sys/contrib/dev/iwlwifi/cfg/22000.c | 4 +- sys/contrib/dev/iwlwifi/cfg/ax210.c | 12 +- sys/contrib/dev/iwlwifi/cfg/bz.c | 29 +- sys/contrib/dev/iwlwifi/cfg/sc.c | 48 +- sys/contrib/dev/iwlwifi/fw/acpi.c | 649 ++----- sys/contrib/dev/iwlwifi/fw/acpi.h | 220 +-- sys/contrib/dev/iwlwifi/fw/api/alive.h | 6 +- sys/contrib/dev/iwlwifi/fw/api/binding.h | 4 +- sys/contrib/dev/iwlwifi/fw/api/coex.h | 81 +- sys/contrib/dev/iwlwifi/fw/api/commands.h | 30 + sys/contrib/dev/iwlwifi/fw/api/config.h | 4 +- sys/contrib/dev/iwlwifi/fw/api/d3.h | 107 +- sys/contrib/dev/iwlwifi/fw/api/datapath.h | 36 +- sys/contrib/dev/iwlwifi/fw/api/dbg-tlv.h | 81 +- sys/contrib/dev/iwlwifi/fw/api/debug.h | 40 +- sys/contrib/dev/iwlwifi/fw/api/location.h | 160 +- sys/contrib/dev/iwlwifi/fw/api/mac-cfg.h | 60 +- sys/contrib/dev/iwlwifi/fw/api/mac.h | 17 +- sys/contrib/dev/iwlwifi/fw/api/nvm-reg.h | 198 +- sys/contrib/dev/iwlwifi/fw/api/offload.h | 8 +- sys/contrib/dev/iwlwifi/fw/api/phy-ctxt.h | 24 +- sys/contrib/dev/iwlwifi/fw/api/phy.h | 9 +- sys/contrib/dev/iwlwifi/fw/api/power.h | 134 +- sys/contrib/dev/iwlwifi/fw/api/rfi.h | 7 +- sys/contrib/dev/iwlwifi/fw/api/rs.h | 4 +- sys/contrib/dev/iwlwifi/fw/api/rx.h | 26 +- sys/contrib/dev/iwlwifi/fw/api/scan.h | 49 +- sys/contrib/dev/iwlwifi/fw/api/sta.h | 4 +- sys/contrib/dev/iwlwifi/fw/api/stats.h | 153 +- sys/contrib/dev/iwlwifi/fw/api/time-event.h | 80 +- sys/contrib/dev/iwlwifi/fw/api/tx.h | 23 +- sys/contrib/dev/iwlwifi/fw/api/txq.h | 14 +- sys/contrib/dev/iwlwifi/fw/dbg.c | 295 ++- sys/contrib/dev/iwlwifi/fw/dbg.h | 4 +- sys/contrib/dev/iwlwifi/fw/debugfs.c | 17 +- sys/contrib/dev/iwlwifi/fw/dump.c | 3 +- sys/contrib/dev/iwlwifi/fw/error-dump.h | 33 +- sys/contrib/dev/iwlwifi/fw/file.h | 71 +- sys/contrib/dev/iwlwifi/fw/img.h | 4 +- sys/contrib/dev/iwlwifi/fw/init.c | 7 +- sys/contrib/dev/iwlwifi/fw/notif-wait.h | 3 +- sys/contrib/dev/iwlwifi/fw/pnvm.c | 49 +- sys/contrib/dev/iwlwifi/fw/regulatory.c | 639 +++++++ sys/contrib/dev/iwlwifi/fw/regulatory.h | 220 +++ sys/contrib/dev/iwlwifi/fw/rs.c | 1 - sys/contrib/dev/iwlwifi/fw/runtime.h | 30 +- sys/contrib/dev/iwlwifi/fw/uefi.c | 462 ++++- sys/contrib/dev/iwlwifi/fw/uefi.h | 245 ++- sys/contrib/dev/iwlwifi/iwl-config.h | 43 +- sys/contrib/dev/iwlwifi/iwl-context-info-gen3.h | 13 +- sys/contrib/dev/iwlwifi/iwl-csr.h | 10 +- sys/contrib/dev/iwlwifi/iwl-dbg-tlv.c | 94 +- sys/contrib/dev/iwlwifi/iwl-dbg-tlv.h | 6 +- sys/contrib/dev/iwlwifi/iwl-debug.c | 5 +- sys/contrib/dev/iwlwifi/iwl-devtrace.h | 2 + sys/contrib/dev/iwlwifi/iwl-drv.c | 151 +- sys/contrib/dev/iwlwifi/iwl-drv.h | 12 +- sys/contrib/dev/iwlwifi/iwl-eeprom-parse.c | 879 --------- sys/contrib/dev/iwlwifi/iwl-eeprom-read.c | 397 ---- sys/contrib/dev/iwlwifi/iwl-eeprom-read.h | 12 - sys/contrib/dev/iwlwifi/iwl-fh.h | 85 +- sys/contrib/dev/iwlwifi/iwl-io.c | 4 +- sys/contrib/dev/iwlwifi/iwl-modparams.h | 21 +- sys/contrib/dev/iwlwifi/iwl-nvm-parse.c | 223 ++- sys/contrib/dev/iwlwifi/iwl-nvm-parse.h | 23 +- sys/contrib/dev/iwlwifi/iwl-nvm-utils.c | 118 ++ .../{iwl-eeprom-parse.h => iwl-nvm-utils.h} | 19 +- sys/contrib/dev/iwlwifi/iwl-op-mode.h | 32 +- sys/contrib/dev/iwlwifi/iwl-prph.h | 42 +- sys/contrib/dev/iwlwifi/iwl-trans.c | 456 ++++- sys/contrib/dev/iwlwifi/iwl-trans.h | 736 ++------ sys/contrib/dev/iwlwifi/mei/iwl-mei.h | 7 +- sys/contrib/dev/iwlwifi/mvm/coex.c | 124 +- sys/contrib/dev/iwlwifi/mvm/constants.h | 26 +- sys/contrib/dev/iwlwifi/mvm/d3.c | 649 ++++++- sys/contrib/dev/iwlwifi/mvm/debugfs-vif.c | 272 ++- sys/contrib/dev/iwlwifi/mvm/debugfs.c | 418 ++--- sys/contrib/dev/iwlwifi/mvm/debugfs.h | 1 + sys/contrib/dev/iwlwifi/mvm/ftm-initiator.c | 277 ++- sys/contrib/dev/iwlwifi/mvm/ftm-responder.c | 49 +- sys/contrib/dev/iwlwifi/mvm/fw.c | 522 ++---- sys/contrib/dev/iwlwifi/mvm/link.c | 953 +++++++++- sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c | 117 +- sys/contrib/dev/iwlwifi/mvm/mac80211.c | 1423 +++++++++------ sys/contrib/dev/iwlwifi/mvm/mld-key.c | 42 +- sys/contrib/dev/iwlwifi/mvm/mld-mac.c | 11 +- sys/contrib/dev/iwlwifi/mvm/mld-mac80211.c | 672 ++++--- sys/contrib/dev/iwlwifi/mvm/mld-sta.c | 98 +- sys/contrib/dev/iwlwifi/mvm/mvm.h | 592 ++++-- sys/contrib/dev/iwlwifi/mvm/nvm.c | 19 +- sys/contrib/dev/iwlwifi/mvm/offloading.c | 8 +- sys/contrib/dev/iwlwifi/mvm/ops.c | 319 +++- sys/contrib/dev/iwlwifi/mvm/phy-ctxt.c | 115 +- sys/contrib/dev/iwlwifi/mvm/power.c | 179 +- sys/contrib/dev/iwlwifi/mvm/rfi.c | 8 +- sys/contrib/dev/iwlwifi/mvm/rs-fw.c | 33 +- sys/contrib/dev/iwlwifi/mvm/rx.c | 329 +++- sys/contrib/dev/iwlwifi/mvm/rxmq.c | 473 ++--- sys/contrib/dev/iwlwifi/mvm/scan.c | 694 +++++-- sys/contrib/dev/iwlwifi/mvm/sf.c | 5 +- sys/contrib/dev/iwlwifi/mvm/sta.c | 258 ++- sys/contrib/dev/iwlwifi/mvm/sta.h | 47 +- sys/contrib/dev/iwlwifi/mvm/tdls.c | 39 +- sys/contrib/dev/iwlwifi/mvm/testmode.h | 92 + sys/contrib/dev/iwlwifi/mvm/time-event.c | 470 ++++- sys/contrib/dev/iwlwifi/mvm/time-event.h | 21 +- sys/contrib/dev/iwlwifi/mvm/tt.c | 146 +- sys/contrib/dev/iwlwifi/mvm/tx.c | 325 ++-- sys/contrib/dev/iwlwifi/mvm/utils.c | 99 +- sys/contrib/dev/iwlwifi/pcie/ctxt-info-gen3.c | 42 +- sys/contrib/dev/iwlwifi/pcie/ctxt-info.c | 6 +- sys/contrib/dev/iwlwifi/pcie/drv.c | 211 ++- sys/contrib/dev/iwlwifi/pcie/internal.h | 362 +++- sys/contrib/dev/iwlwifi/pcie/rx.c | 47 +- sys/contrib/dev/iwlwifi/pcie/trans-gen2.c | 29 +- sys/contrib/dev/iwlwifi/pcie/trans.c | 482 ++--- sys/contrib/dev/iwlwifi/pcie/tx-gen2.c | 1191 +++++++++++- sys/contrib/dev/iwlwifi/pcie/tx.c | 1270 +++++++++++-- sys/contrib/dev/iwlwifi/queue/tx.c | 1903 -------------------- sys/contrib/dev/iwlwifi/queue/tx.h | 183 -- sys/contrib/dev/iwlwifi/tests/Makefile | 7 + sys/contrib/dev/iwlwifi/tests/devinfo.c | 78 + sys/contrib/dev/iwlwifi/tests/module.c | 10 + sys/modules/iwlwifi/Makefile | 7 +- usr.sbin/fwget/pci/pci_network_intel | 33 +- 127 files changed, 14821 insertions(+), 9009 deletions(-) diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index b4dce91f1ee4..04317c22936f 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -220,15 +220,19 @@ Intel(R) Wi-Fi 6 AX101 .It Intel(R) Wi-Fi 6 AX203 .It -Intel(R) Wi-Fi 6E AX221 160MHz -.It Intel(R) Wi-Fi 6E AX231 160MHz .It -Intel(R) TBD Bz device +Intel(R) Wi-Fi 7 BE201 320MHz +.It +Intel(R) Wi-Fi 7 BE200 320MHz .It -Intel(R) Wi-Fi 6 AX204 160MHz +Intel(R) Wi-Fi 7 BE202 160MHz .It Intel(R) TBD Sc device +.It +Intel(R) TBD Sc2 device +.It +Intel(R) TBD Sc2f device .\" -------------------------------------------------------------------- .El .Sh SEE ALSO diff --git a/share/man/man4/iwlwififw.4 b/share/man/man4/iwlwififw.4 index debd0cda36b5..491a634e70b5 100644 --- a/share/man/man4/iwlwififw.4 +++ b/share/man/man4/iwlwififw.4 @@ -1,5 +1,5 @@ .\"- -.\" Copyright (c) 2021-2023 The FreeBSD Foundation +.\" Copyright (c) 2021-2024 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 21, 2023 +.Dd October 12, 2024 .Dt iwlwififw 4 .Os .Sh NAME @@ -43,13 +43,18 @@ models supported by the .Xr iwlwifi 4 driver. .Pp +One can use +.Xr fwget 8 +to install the correct firmware package. +.Pp .Bl -column -compact "Vendor" "Device" "Subv. " "Subd. " "Firmware-Prefix" .It Ar Name .It Ar Vendor Ta Ar Device Ta Ar Subv. Ta Ar Subd. Ta Ar Firmware-Prefix -.\" --------------------------------------------------------------------- -.\" This list is manually generated from a sysctl and post-processing. -.\" Edits will be overwritten on next update. -.\" --------------------------------------------------------------------- +.% --------------------------------------------------------------------- +.% This list is manually generated from a sysctl and post-processing +.% by sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh generating the list. +.% Edits will be overwritten on next update. +.% --------------------------------------------------------------------- .It "" .It Intel(R) Dual Band Wireless AC 7260 .It 0x8086 Ta 0x08b1 Ta any Ta 0x4070 Ta iwlwifi-7260 @@ -735,6 +740,198 @@ driver. .It Intel(R) Dual Band Wireless AC 8265 .It 0x8086 Ta 0x24fd Ta any Ta 0x9074 Ta iwlwifi-8265 .It "" +.It (unknown) +.It 0x8086 Ta 0x2526 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x271b Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x271c Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x30dc Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x31dc Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x9df0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa370 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x02f0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x06f0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x34f0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x3df0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x4df0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x43f0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa0f0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x2723 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x2725 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x7a70 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x7af0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x51f0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x51f1 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x54f0 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x7f70 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x2729 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x7e40 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x2727 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x272d Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x272b Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 000000 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0090 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0094 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0098 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x009c Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x00c0 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x00c4 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x00e0 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x00e4 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x00e8 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x00ec Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0100 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0110 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0114 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0118 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x011c Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0310 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0314 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0510 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x0a10 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x1671 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x1672 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x1771 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x1772 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x1791 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x1792 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x4090 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x40c4 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x40e0 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x4110 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xa840 Ta any Ta 0x4314 Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x7740 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x4d40 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xe440 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xe340 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0xd340 Ta any Ta any Ta (unknown) +.It "" +.It (unknown) +.It 0x8086 Ta 0x6e70 Ta any Ta any Ta (unknown) +.It "" .It Killer (R) Wireless-AC 1550 Wireless Network Adapter (9260NGW) 160MHz .It 0x8086 Ta 0x2526 Ta any Ta 0x1550 Ta iwlwifi-9260-th-b0-jf-b0 .It "" @@ -1290,9 +1487,6 @@ driver. .It Intel(R) Wi-Fi 6E AX211 160MHz .It 0x8086 Ta any Ta any Ta any Ta (null) .It "" -.It Intel(R) Wi-Fi 6E AX221 160MHz -.It 0x8086 Ta any Ta any Ta any Ta (null) -.It "" .It Intel(R) Wi-Fi 6E AX231 160MHz .It 0x8086 Ta any Ta any Ta any Ta (null) .It "" @@ -1311,9 +1505,6 @@ driver. .It Intel(R) Wi-Fi 6E AX411 160MHz .It 0x8086 Ta any Ta any Ta any Ta iwlwifi-so-a0-gf4-a0 .It "" -.It Intel(R) TBD Bz device -.It 0x8086 Ta any Ta any Ta any Ta (null) -.It "" .It Intel(R) Wireless-AC 9560 160MHz .It 0x8086 Ta any Ta any Ta any Ta iwlwifi-so-a0-jf-b0 .It "" @@ -1332,14 +1523,23 @@ driver. .It Intel(R) Wireless-AC 9462 .It 0x8086 Ta any Ta any Ta any Ta iwlwifi-so-a0-jf-b0 .It "" -.It Intel(R) Wi-Fi 6 AX204 160MHz -.It 0x8086 Ta any Ta any Ta any Ta iwlwifi-so-a0-mr-a0 +.It Intel(R) Wi-Fi 7 BE201 320MHz +.It 0x8086 Ta any Ta any Ta any Ta (null) +.It "" +.It Intel(R) Wi-Fi 7 BE200 320MHz +.It 0x8086 Ta any Ta any Ta any Ta (null) .It "" -.It Intel(R) Wi-Fi 6 AX204 160MHz +.It Intel(R) Wi-Fi 7 BE202 160MHz .It 0x8086 Ta any Ta any Ta any Ta (null) .It "" .It Intel(R) TBD Sc device .It 0x8086 Ta any Ta any Ta any Ta (null) +.It "" +.It Intel(R) TBD Sc2 device +.It 0x8086 Ta any Ta any Ta any Ta (null) +.It "" +.It Intel(R) TBD Sc2f device +.It 0x8086 Ta any Ta any Ta any Ta (null) .\" --------------------------------------------------------------------- .El .Pp @@ -1350,10 +1550,14 @@ in the above listing). .Sh FILES A copy of the .Xr iwlwifi 4 -firmware license is installed at -.Em /usr/share/doc/legal/intel_iwlwifi_firmware.LICENCE . +firmware license is installed along with the +.Pa wifi-firmware-iwlwifi-kmod +package or the +.Pa ports/net/wifi-firmware-iwlwifi-kmod +port (or each of its flavors). .Sh SEE ALSO .Xr iwlwifi 4 , +.Xr fwget 8 , .Xr firmware 9 .Sh HISTORY The diff --git a/sys/contrib/dev/iwlwifi/cfg/22000.c b/sys/contrib/dev/iwlwifi/cfg/22000.c index d594694206b3..2e2fcb3807ef 100644 --- a/sys/contrib/dev/iwlwifi/cfg/22000.c +++ b/sys/contrib/dev/iwlwifi/cfg/22000.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Copyright (C) 2015-2017 Intel Deutschland GmbH - * Copyright (C) 2018-2023 Intel Corporation + * Copyright (C) 2018-2024 Intel Corporation */ #include #include @@ -13,7 +13,7 @@ #define IWL_22000_UCODE_API_MAX 77 /* Lowest firmware API version supported */ -#define IWL_22000_UCODE_API_MIN 50 +#define IWL_22000_UCODE_API_MIN 77 /* NVM versions */ #define IWL_22000_NVM_VERSION 0x0a1d diff --git a/sys/contrib/dev/iwlwifi/cfg/ax210.c b/sys/contrib/dev/iwlwifi/cfg/ax210.c index 8d5f9dce71d5..975e8aed1526 100644 --- a/sys/contrib/dev/iwlwifi/cfg/ax210.c +++ b/sys/contrib/dev/iwlwifi/cfg/ax210.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Copyright (C) 2015-2017 Intel Deutschland GmbH - * Copyright (C) 2018-2023 Intel Corporation + * Copyright (C) 2018-2024 Intel Corporation */ #include #include @@ -10,10 +10,10 @@ #include "fw/api/txq.h" /* Highest firmware API version supported */ -#define IWL_AX210_UCODE_API_MAX 83 +#define IWL_AX210_UCODE_API_MAX 89 /* Lowest firmware API version supported */ -#define IWL_AX210_UCODE_API_MIN 59 +#define IWL_AX210_UCODE_API_MIN 77 /* NVM versions */ #define IWL_AX210_NVM_VERSION 0x0a1d @@ -299,3 +299,9 @@ MODULE_FIRMWARE(IWL_MA_B_HR_B_FW_MODULE_FIRMWARE(IWL_AX210_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_MA_B_GF_A_FW_MODULE_FIRMWARE(IWL_AX210_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_MA_B_GF4_A_FW_MODULE_FIRMWARE(IWL_AX210_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_MA_B_MR_A_FW_MODULE_FIRMWARE(IWL_AX210_UCODE_API_MAX)); + +MODULE_FIRMWARE("iwlwifi-so-a0-gf-a0.pnvm"); +MODULE_FIRMWARE("iwlwifi-so-a0-gf4-a0.pnvm"); +MODULE_FIRMWARE("iwlwifi-ty-a0-gf-a0.pnvm"); +MODULE_FIRMWARE("iwlwifi-ma-b0-gf-a0.pnvm"); +MODULE_FIRMWARE("iwlwifi-ma-b0-gf4-a0.pnvm"); diff --git a/sys/contrib/dev/iwlwifi/cfg/bz.c b/sys/contrib/dev/iwlwifi/cfg/bz.c index b9893b22e41d..3b6b8b410be5 100644 --- a/sys/contrib/dev/iwlwifi/cfg/bz.c +++ b/sys/contrib/dev/iwlwifi/cfg/bz.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Copyright (C) 2015-2017 Intel Deutschland GmbH - * Copyright (C) 2018-2023 Intel Corporation + * Copyright (C) 2018-2024 Intel Corporation */ #include #include @@ -10,10 +10,10 @@ #include "fw/api/txq.h" /* Highest firmware API version supported */ -#define IWL_BZ_UCODE_API_MAX 83 +#define IWL_BZ_UCODE_API_MAX 92 /* Lowest firmware API version supported */ -#define IWL_BZ_UCODE_API_MIN 80 +#define IWL_BZ_UCODE_API_MIN 90 /* NVM versions */ #define IWL_BZ_NVM_VERSION 0x0a1d @@ -129,17 +129,11 @@ static const struct iwl_base_params iwl_bz_base_params = { IWL_DEVICE_BZ_COMMON, \ .ht_params = &iwl_22000_ht_params -#define IWL_DEVICE_GL_A \ - IWL_DEVICE_BZ_COMMON, \ - .ht_params = &iwl_gl_a_ht_params - /* - * If the device doesn't support HE, no need to have that many buffers. - * These sizes were picked according to 8 MSDUs inside 256 A-MSDUs in an + * This size was picked according to 8 MSDUs inside 512 A-MSDUs in an * A-MPDU, with additional overhead to account for processing time. */ -#define IWL_NUM_RBDS_NON_HE 512 -#define IWL_NUM_RBDS_BZ_HE 4096 +#define IWL_NUM_RBDS_BZ_EHT (512 * 16) const struct iwl_cfg_trans_params iwl_bz_trans_cfg = { .device_family = IWL_DEVICE_FAMILY_BZ, @@ -155,21 +149,24 @@ const struct iwl_cfg_trans_params iwl_bz_trans_cfg = { }; const char iwl_bz_name[] = "Intel(R) TBD Bz device"; +const char iwl_fm_name[] = "Intel(R) Wi-Fi 7 BE201 320MHz"; +const char iwl_gl_name[] = "Intel(R) Wi-Fi 7 BE200 320MHz"; +const char iwl_mtp_name[] = "Intel(R) Wi-Fi 7 BE202 160MHz"; const struct iwl_cfg iwl_cfg_bz = { .fw_name_mac = "bz", .uhb_supported = true, IWL_DEVICE_BZ, - .features = IWL_TX_CSUM_NETIF_FLAGS_BZ | NETIF_F_RXCSUM, - .num_rbds = IWL_NUM_RBDS_BZ_HE, + .features = IWL_TX_CSUM_NETIF_FLAGS | NETIF_F_RXCSUM, + .num_rbds = IWL_NUM_RBDS_BZ_EHT, }; const struct iwl_cfg iwl_cfg_gl = { .fw_name_mac = "gl", .uhb_supported = true, IWL_DEVICE_BZ, - .features = IWL_TX_CSUM_NETIF_FLAGS_BZ | NETIF_F_RXCSUM, - .num_rbds = IWL_NUM_RBDS_BZ_HE, + .features = IWL_TX_CSUM_NETIF_FLAGS | NETIF_F_RXCSUM, + .num_rbds = IWL_NUM_RBDS_BZ_EHT, }; @@ -181,3 +178,5 @@ MODULE_FIRMWARE(IWL_BZ_A_FM_C_MODULE_FIRMWARE(IWL_BZ_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_BZ_A_FM4_B_MODULE_FIRMWARE(IWL_BZ_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_GL_B_FM_B_MODULE_FIRMWARE(IWL_BZ_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_GL_C_FM_C_MODULE_FIRMWARE(IWL_BZ_UCODE_API_MAX)); + +MODULE_FIRMWARE("iwlwifi-gl-c0-fm-c0.pnvm"); diff --git a/sys/contrib/dev/iwlwifi/cfg/sc.c b/sys/contrib/dev/iwlwifi/cfg/sc.c index ad283fd22e2a..4ccb0b7bdc20 100644 --- a/sys/contrib/dev/iwlwifi/cfg/sc.c +++ b/sys/contrib/dev/iwlwifi/cfg/sc.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Copyright (C) 2015-2017 Intel Deutschland GmbH - * Copyright (C) 2018-2023 Intel Corporation + * Copyright (C) 2018-2024 Intel Corporation */ #include #include @@ -10,10 +10,10 @@ #include "fw/api/txq.h" /* Highest firmware API version supported */ -#define IWL_SC_UCODE_API_MAX 83 +#define IWL_SC_UCODE_API_MAX 92 /* Lowest firmware API version supported */ -#define IWL_SC_UCODE_API_MIN 82 +#define IWL_SC_UCODE_API_MIN 90 /* NVM versions */ #define IWL_SC_NVM_VERSION 0x0a1d @@ -33,6 +33,10 @@ #define IWL_SC_A_GF_A_FW_PRE "iwlwifi-sc-a0-gf-a0" #define IWL_SC_A_GF4_A_FW_PRE "iwlwifi-sc-a0-gf4-a0" #define IWL_SC_A_WH_A_FW_PRE "iwlwifi-sc-a0-wh-a0" +#define IWL_SC2_A_FM_C_FW_PRE "iwlwifi-sc2-a0-fm-c0" +#define IWL_SC2_A_WH_A_FW_PRE "iwlwifi-sc2-a0-wh-a0" +#define IWL_SC2F_A_FM_C_FW_PRE "iwlwifi-sc2f-a0-fm-c0" +#define IWL_SC2F_A_WH_A_FW_PRE "iwlwifi-sc2f-a0-wh-a0" #define IWL_SC_A_FM_B_FW_MODULE_FIRMWARE(api) \ IWL_SC_A_FM_B_FW_PRE "-" __stringify(api) ".ucode" @@ -48,6 +52,14 @@ IWL_SC_A_GF4_A_FW_PRE "-" __stringify(api) ".ucode" #define IWL_SC_A_WH_A_FW_MODULE_FIRMWARE(api) \ IWL_SC_A_WH_A_FW_PRE "-" __stringify(api) ".ucode" +#define IWL_SC2_A_FM_C_FW_MODULE_FIRMWARE(api) \ + IWL_SC2_A_FM_C_FW_PRE "-" __stringify(api) ".ucode" +#define IWL_SC2_A_WH_A_FW_MODULE_FIRMWARE(api) \ + IWL_SC2_A_WH_A_FW_PRE "-" __stringify(api) ".ucode" +#define IWL_SC2F_A_FM_C_FW_MODULE_FIRMWARE(api) \ + IWL_SC2F_A_FM_C_FW_PRE "-" __stringify(api) ".ucode" +#define IWL_SC2F_A_WH_A_FW_MODULE_FIRMWARE(api) \ + IWL_SC2F_A_WH_A_FW_PRE "-" __stringify(api) ".ucode" static const struct iwl_base_params iwl_sc_base_params = { .eeprom_size = OTP_LOW_IMAGE_SIZE_32K, @@ -124,15 +136,16 @@ static const struct iwl_base_params iwl_sc_base_params = { #define IWL_DEVICE_SC \ IWL_DEVICE_BZ_COMMON, \ + .uhb_supported = true, \ + .features = IWL_TX_CSUM_NETIF_FLAGS | NETIF_F_RXCSUM, \ + .num_rbds = IWL_NUM_RBDS_SC_EHT, \ .ht_params = &iwl_22000_ht_params /* - * If the device doesn't support HE, no need to have that many buffers. - * These sizes were picked according to 8 MSDUs inside 256 A-MSDUs in an + * This size was picked according to 8 MSDUs inside 512 A-MSDUs in an * A-MPDU, with additional overhead to account for processing time. */ -#define IWL_NUM_RBDS_NON_HE 512 -#define IWL_NUM_RBDS_SC_HE 4096 +#define IWL_NUM_RBDS_SC_EHT (512 * 16) const struct iwl_cfg_trans_params iwl_sc_trans_cfg = { .device_family = IWL_DEVICE_FAMILY_SC, @@ -151,10 +164,21 @@ const char iwl_sc_name[] = "Intel(R) TBD Sc device"; const struct iwl_cfg iwl_cfg_sc = { .fw_name_mac = "sc", - .uhb_supported = true, IWL_DEVICE_SC, - .features = IWL_TX_CSUM_NETIF_FLAGS_BZ | NETIF_F_RXCSUM, - .num_rbds = IWL_NUM_RBDS_SC_HE, +}; + +const char iwl_sc2_name[] = "Intel(R) TBD Sc2 device"; + +const struct iwl_cfg iwl_cfg_sc2 = { + .fw_name_mac = "sc2", + IWL_DEVICE_SC, +}; + +const char iwl_sc2f_name[] = "Intel(R) TBD Sc2f device"; + +const struct iwl_cfg iwl_cfg_sc2f = { + .fw_name_mac = "sc2f", + IWL_DEVICE_SC, }; MODULE_FIRMWARE(IWL_SC_A_FM_B_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); @@ -164,3 +188,7 @@ MODULE_FIRMWARE(IWL_SC_A_HR_B_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_SC_A_GF_A_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_SC_A_GF4_A_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_SC_A_WH_A_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); +MODULE_FIRMWARE(IWL_SC2_A_FM_C_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); +MODULE_FIRMWARE(IWL_SC2_A_WH_A_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); +MODULE_FIRMWARE(IWL_SC2F_A_FM_C_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); +MODULE_FIRMWARE(IWL_SC2F_A_WH_A_FW_MODULE_FIRMWARE(IWL_SC_UCODE_API_MAX)); diff --git a/sys/contrib/dev/iwlwifi/fw/acpi.c b/sys/contrib/dev/iwlwifi/fw/acpi.c index dfe8357036eb..8c8880b44827 100644 --- a/sys/contrib/dev/iwlwifi/fw/acpi.c +++ b/sys/contrib/dev/iwlwifi/fw/acpi.c @@ -1,10 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Copyright (C) 2017 Intel Deutschland GmbH - * Copyright (C) 2019-2023 Intel Corporation + * Copyright (C) 2019-2024 Intel Corporation */ #include -#include #include "iwl-drv.h" #include "iwl-debug.h" #include "acpi.h" @@ -13,63 +12,22 @@ const guid_t iwl_guid = GUID_INIT(0xF21202BF, 0x8F78, 0x4DC6, 0xA5, 0xB3, 0x1F, 0x73, 0x8E, 0x28, 0x5A, 0xDE); -IWL_EXPORT_SYMBOL(iwl_guid); -const guid_t iwl_rfi_guid = GUID_INIT(0x7266172C, 0x220B, 0x4B29, - 0x81, 0x4F, 0x75, 0xE4, - 0xDD, 0x26, 0xB5, 0xFD); -IWL_EXPORT_SYMBOL(iwl_rfi_guid); - -static const struct dmi_system_id dmi_ppag_approved_list[] = { - { .ident = "HP", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "HP"), - }, - }, - { .ident = "SAMSUNG", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD"), - }, - }, - { .ident = "MSFT", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), - }, - }, - { .ident = "ASUS", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - }, - }, - { .ident = "GOOGLE-HP", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Google"), - DMI_MATCH(DMI_BOARD_VENDOR, "HP"), - }, - }, - { .ident = "GOOGLE-ASUS", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Google"), - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTek COMPUTER INC."), - }, - }, - { .ident = "GOOGLE-SAMSUNG", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Google"), - DMI_MATCH(DMI_BOARD_VENDOR, "SAMSUNG ELECTRONICS CO., LTD"), - }, - }, - { .ident = "DELL", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - }, - }, - { .ident = "DELL", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Alienware"), - }, - }, - {} +static const size_t acpi_dsm_size[DSM_FUNC_NUM_FUNCS] = { + [DSM_FUNC_QUERY] = sizeof(u32), + [DSM_FUNC_DISABLE_SRD] = sizeof(u8), + [DSM_FUNC_ENABLE_INDONESIA_5G2] = sizeof(u8), + [DSM_FUNC_ENABLE_6E] = sizeof(u32), + [DSM_FUNC_REGULATORY_CONFIG] = sizeof(u32), + /* Not supported in driver */ + [5] = (size_t)0, + [DSM_FUNC_11AX_ENABLEMENT] = sizeof(u32), + [DSM_FUNC_ENABLE_UNII4_CHAN] = sizeof(u32), + [DSM_FUNC_ACTIVATE_CHANNEL] = sizeof(u32), + [DSM_FUNC_FORCE_DISABLE_CHANNELS] = sizeof(u32), + [DSM_FUNC_ENERGY_DETECTION_THRESHOLD] = sizeof(u32), + [DSM_FUNC_RFI_CONFIG] = sizeof(u32), + [DSM_FUNC_ENABLE_11BE] = sizeof(u32), }; static int iwl_acpi_get_handle(struct device *dev, acpi_string method, @@ -195,46 +153,41 @@ out: } /* - * Evaluate a DSM with no arguments and a u8 return value, + * This function receives a DSM function number, calculates its expected size + * according to Intel BIOS spec, and fills in the value in a 32-bit field. + * In case the expected size is smaller than 32-bit, padding will be added. */ -int iwl_acpi_get_dsm_u8(struct device *dev, int rev, int func, - const guid_t *guid, u8 *value) +int iwl_acpi_get_dsm(struct iwl_fw_runtime *fwrt, + enum iwl_dsm_funcs func, u32 *value) { + size_t expected_size; + u64 tmp; int ret; - u64 val; - ret = iwl_acpi_get_dsm_integer(dev, rev, func, - guid, &val, sizeof(u8)); + BUILD_BUG_ON(ARRAY_SIZE(acpi_dsm_size) != DSM_FUNC_NUM_FUNCS); - if (ret < 0) - return ret; - - /* cast val (u64) to be u8 */ - *value = (u8)val; - return 0; -} -IWL_EXPORT_SYMBOL(iwl_acpi_get_dsm_u8); + if (WARN_ON(func >= ARRAY_SIZE(acpi_dsm_size))) + return -EINVAL; -/* - * Evaluate a DSM with no arguments and a u32 return value, - */ -int iwl_acpi_get_dsm_u32(struct device *dev, int rev, int func, - const guid_t *guid, u32 *value) -{ - int ret; - u64 val; + expected_size = acpi_dsm_size[func]; - ret = iwl_acpi_get_dsm_integer(dev, rev, func, - guid, &val, sizeof(u32)); + /* Currently all ACPI DSMs are either 8-bit or 32-bit */ + if (expected_size != sizeof(u8) && expected_size != sizeof(u32)) + return -EOPNOTSUPP; - if (ret < 0) + ret = iwl_acpi_get_dsm_integer(fwrt->dev, ACPI_DSM_REV, func, + &iwl_guid, &tmp, expected_size); + if (ret) return ret; - /* cast val (u64) to be u32 */ - *value = (u32)val; + if ((expected_size == sizeof(u8) && tmp != (u8)tmp) || + (expected_size == sizeof(u32) && tmp != (u32)tmp)) + IWL_DEBUG_RADIO(fwrt, + "DSM value overflows the expected size, truncating\n"); + *value = (u32)tmp; + return 0; } -IWL_EXPORT_SYMBOL(iwl_acpi_get_dsm_u32); static union acpi_object * iwl_acpi_get_wifi_pkg_range(struct device *dev, @@ -302,9 +255,8 @@ iwl_acpi_get_wifi_pkg(struct device *dev, tbl_rev); } - -int iwl_acpi_get_tas(struct iwl_fw_runtime *fwrt, - union iwl_tas_config_cmd *cmd, int fw_ver) +int iwl_acpi_get_tas_table(struct iwl_fw_runtime *fwrt, + struct iwl_tas_data *tas_data) { union acpi_object *wifi_pkg, *data; int ret, tbl_rev, i, block_list_size, enabled; @@ -326,22 +278,9 @@ int iwl_acpi_get_tas(struct iwl_fw_runtime *fwrt, ACPI_TYPE_INTEGER) { u32 tas_selection = (u32)wifi_pkg->package.elements[1].integer.value; - u16 override_iec = - (tas_selection & ACPI_WTAS_OVERRIDE_IEC_MSK) >> ACPI_WTAS_OVERRIDE_IEC_POS; - u16 enabled_iec = (tas_selection & ACPI_WTAS_ENABLE_IEC_MSK) >> - ACPI_WTAS_ENABLE_IEC_POS; - u8 usa_tas_uhb = (tas_selection & ACPI_WTAS_USA_UHB_MSK) >> ACPI_WTAS_USA_UHB_POS; - - enabled = tas_selection & ACPI_WTAS_ENABLED_MSK; - if (fw_ver <= 3) { - cmd->v3.override_tas_iec = cpu_to_le16(override_iec); - cmd->v3.enable_tas_iec = cpu_to_le16(enabled_iec); - } else { - cmd->v4.usa_tas_uhb_allowed = usa_tas_uhb; - cmd->v4.override_tas_iec = (u8)override_iec; - cmd->v4.enable_tas_iec = (u8)enabled_iec; - } + enabled = iwl_parse_tas_selection(fwrt, tas_data, + tas_selection); } else if (tbl_rev == 0 && wifi_pkg->package.elements[1].type == ACPI_TYPE_INTEGER) { @@ -360,22 +299,16 @@ int iwl_acpi_get_tas(struct iwl_fw_runtime *fwrt, IWL_DEBUG_RADIO(fwrt, "Reading TAS table revision %d\n", tbl_rev); if (wifi_pkg->package.elements[2].type != ACPI_TYPE_INTEGER || wifi_pkg->package.elements[2].integer.value > - APCI_WTAS_BLACK_LIST_MAX) { + IWL_WTAS_BLACK_LIST_MAX) { IWL_DEBUG_RADIO(fwrt, "TAS invalid array size %llu\n", wifi_pkg->package.elements[2].integer.value); ret = -EINVAL; goto out_free; } block_list_size = wifi_pkg->package.elements[2].integer.value; - cmd->v4.block_list_size = cpu_to_le32(block_list_size); + tas_data->block_list_size = cpu_to_le32(block_list_size); IWL_DEBUG_RADIO(fwrt, "TAS array size %u\n", block_list_size); - if (block_list_size > APCI_WTAS_BLACK_LIST_MAX) { - IWL_DEBUG_RADIO(fwrt, "TAS invalid array size value %u\n", - block_list_size); - ret = -EINVAL; - goto out_free; - } for (i = 0; i < block_list_size; i++) { u32 country; @@ -389,7 +322,7 @@ int iwl_acpi_get_tas(struct iwl_fw_runtime *fwrt, } country = wifi_pkg->package.elements[3 + i].integer.value; - cmd->v4.block_list_array[i] = cpu_to_le32(country); + tas_data->block_list_array[i] = cpu_to_le32(country); IWL_DEBUG_RADIO(fwrt, "TAS block list country %d\n", country); } @@ -398,19 +331,19 @@ out_free: kfree(data); return ret; } -IWL_EXPORT_SYMBOL(iwl_acpi_get_tas); -int iwl_acpi_get_mcc(struct device *dev, char *mcc) +int iwl_acpi_get_mcc(struct iwl_fw_runtime *fwrt, char *mcc) { union acpi_object *wifi_pkg, *data; u32 mcc_val; int ret, tbl_rev; - data = iwl_acpi_get_object(dev, ACPI_WRDD_METHOD); + data = iwl_acpi_get_object(fwrt->dev, ACPI_WRDD_METHOD); if (IS_ERR(data)) return PTR_ERR(data); - wifi_pkg = iwl_acpi_get_wifi_pkg(dev, data, ACPI_WRDD_WIFI_DATA_SIZE, + wifi_pkg = iwl_acpi_get_wifi_pkg(fwrt->dev, data, + ACPI_WRDD_WIFI_DATA_SIZE, &tbl_rev); *** 36914 LINES SKIPPED *** From nobody Mon Feb 10 14:52:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xZ4brPz5mH1q; Mon, 10 Feb 2025 14:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xZ1w2hz4LX4; Mon, 10 Feb 2025 14:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F4gCsl/oSs+wVw8QDoFHdgQbmN14WCp3sibINoviCdA=; b=NEjIwvKL59QGH8NjDQKdgE7Z1W483XCBaIRuyey0yf0WH0tWC52bZ29qb6xXpyOYc3h0s4 UKWuDai0oyMEkivr24SZTqwlnBtKWg9erxQJ5BEGDSYESjUeRlCtAWSII/4V0NtJnrFCqx Y29c7iMW3pMv0YzjiNXMZyhjB/1JGEBiwhgwZ3RW8t6BfQ5P+lLLtk8YLbq0PM1ND2DSa0 UM+4n2MtUT7W8iNgRwdMAspHFdAwYkoaQ0xQDuhDrtwKc96C6WaO8NFVpbatsjUH4cB/4O ag3otqCKoy6BUmRcQcK4Y8GJLLXqcavBiq9c2yC6EU2Uu5DnVKCMYdakqGjcqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F4gCsl/oSs+wVw8QDoFHdgQbmN14WCp3sibINoviCdA=; b=Noy4kLKpCPo1T/dVSIiONywLAUQZyC91Qtshdx/arrdGvejKtTkO+/g/lRqGjJSXDCuzY1 zOWqsomxgVwcW+6U8ow8bRktdl/W8cFdwUdi5qNnewYxASPuAQt17dYDqv92Hn8u0ipOGY ykw/2urZU7IoQusspvTqhQNFpkGg/UPJZ07/zXbQRqVn6JRN0rZDr0eJPTSHbY/FXTGzHp qmToL82gYjKDYLsAy8O75qUnuX2R7RvpYbGSG/0NuPf2ELJp2ckzUePpbNsGJgw3uI+6qn XZXcde/k0iJMm75vyJAGpT0wJxPUFSP0r899WzuteM0jUdIvFYQNcSVg8woOHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199154; a=rsa-sha256; cv=none; b=q5NfsXXQtE+pUvrJt6aoZKJaGeuRFMyVX6ZkK/dYoC0aDH8SgvVut8B1aDpREkfZKLGBmZ bA55m+EvvXvZ3657Z479g7u9b++l8yrudkRRmAtzWGyH7H1Ay++mM6Ly34aSiJlcx5FTJ6 3MgTN5MI+Ww3GDdzJmLl9AfDwhHD5Z6IMrs8WVeiuSu4EF+BF30FDa7QLweNUblIG8SUb6 k31YvLJMG2ZOl9U5dEaQQdhOhzm9zEo+bVApoptQa09ckXW6iQAOnMyG7l0yozVK0qUYkq TmZ7BicWFma7qSCGr6vC6M+A6ZiQW3tFzNf/vcGGvsG8pcgYZmcUXNmlX81QiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xZ1G8kzXWD; Mon, 10 Feb 2025 14:52: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 51AEqYCS027659; Mon, 10 Feb 2025 14:52:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqXTY027656; Mon, 10 Feb 2025 14:52:33 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:33 GMT Message-Id: <202502101452.51AEqXTY027656@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: e6698f06149c - stable/14 - rtw89: update Realtek's rtw89 driver. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e6698f06149c838b0fff3b1eec206bb79e971130 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e6698f06149c838b0fff3b1eec206bb79e971130 commit e6698f06149c838b0fff3b1eec206bb79e971130 Author: Bjoern A. Zeeb AuthorDate: 2024-10-04 00:00:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:07 +0000 rtw89: update Realtek's rtw89 driver. This adds support for the Realtek 8922AE PCI wireless network (Wi-Fi 7) adapter. This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ). Sponsored by: The FreeBSD Foundation (cherry picked from commit 6d67aabd63555ab62a2f2b7f52a75ef100a2fe75) --- sys/contrib/dev/rtw89/Kconfig | 19 + sys/contrib/dev/rtw89/Makefile | 18 +- sys/contrib/dev/rtw89/acpi.c | 131 +- sys/contrib/dev/rtw89/acpi.h | 53 +- sys/contrib/dev/rtw89/cam.c | 277 +- sys/contrib/dev/rtw89/cam.h | 180 +- sys/contrib/dev/rtw89/chan.c | 2305 +++++++++++++- sys/contrib/dev/rtw89/chan.h | 48 + sys/contrib/dev/rtw89/coex.c | 2996 +++++++++++++++--- sys/contrib/dev/rtw89/coex.h | 176 ++ sys/contrib/dev/rtw89/core.c | 1233 ++++++-- sys/contrib/dev/rtw89/core.h | 1468 ++++++++- sys/contrib/dev/rtw89/debug.c | 440 ++- sys/contrib/dev/rtw89/debug.h | 19 +- sys/contrib/dev/rtw89/efuse.c | 11 +- sys/contrib/dev/rtw89/efuse.h | 18 +- sys/contrib/dev/rtw89/efuse_be.c | 562 ++++ sys/contrib/dev/rtw89/fw.c | 4264 ++++++++++++++++++++++--- sys/contrib/dev/rtw89/fw.h | 2637 ++++++++++------ sys/contrib/dev/rtw89/mac.c | 1738 ++++++++--- sys/contrib/dev/rtw89/mac.h | 377 ++- sys/contrib/dev/rtw89/mac80211.c | 138 +- sys/contrib/dev/rtw89/mac_be.c | 2606 ++++++++++++++++ sys/contrib/dev/rtw89/pci.c | 794 ++++- sys/contrib/dev/rtw89/pci.h | 623 +++- sys/contrib/dev/rtw89/pci_be.c | 618 ++++ sys/contrib/dev/rtw89/phy.c | 2610 ++++++++++++++-- sys/contrib/dev/rtw89/phy.h | 429 ++- sys/contrib/dev/rtw89/phy_be.c | 1002 ++++++ sys/contrib/dev/rtw89/ps.c | 97 +- sys/contrib/dev/rtw89/ps.h | 8 + sys/contrib/dev/rtw89/reg.h | 4292 ++++++++++++++++++++++++- sys/contrib/dev/rtw89/regd.c | 522 +++- sys/contrib/dev/rtw89/rtw8851b.c | 243 +- sys/contrib/dev/rtw89/rtw8851b_table.c | 1409 +++++---- sys/contrib/dev/rtw89/rtw8851b_table.h | 3 - sys/contrib/dev/rtw89/rtw8851be.c | 7 + sys/contrib/dev/rtw89/rtw8852a.c | 158 +- sys/contrib/dev/rtw89/rtw8852a_table.c | 2 + sys/contrib/dev/rtw89/rtw8852a_table.h | 1 - sys/contrib/dev/rtw89/rtw8852ae.c | 7 + sys/contrib/dev/rtw89/rtw8852b.c | 1988 +----------- sys/contrib/dev/rtw89/rtw8852b.h | 122 - sys/contrib/dev/rtw89/rtw8852b_common.c | 2053 ++++++++++++ sys/contrib/dev/rtw89/rtw8852b_common.h | 388 +++ sys/contrib/dev/rtw89/rtw8852b_rfk.c | 25 +- sys/contrib/dev/rtw89/rtw8852b_table.c | 459 +-- sys/contrib/dev/rtw89/rtw8852b_table.h | 3 - sys/contrib/dev/rtw89/rtw8852be.c | 7 + sys/contrib/dev/rtw89/rtw8852bt.h | 13 + sys/contrib/dev/rtw89/rtw8852bt_rfk.c | 4019 ++++++++++++++++++++++++ sys/contrib/dev/rtw89/rtw8852bt_rfk.h | 22 + sys/contrib/dev/rtw89/rtw8852bt_rfk_table.c | 490 +++ sys/contrib/dev/rtw89/rtw8852bt_rfk_table.h | 38 + sys/contrib/dev/rtw89/rtw8852c.c | 231 +- sys/contrib/dev/rtw89/rtw8852c.h | 20 +- sys/contrib/dev/rtw89/rtw8852c_rfk.c | 93 +- sys/contrib/dev/rtw89/rtw8852c_rfk.h | 3 + sys/contrib/dev/rtw89/rtw8852c_rfk_table.c | 42 +- sys/contrib/dev/rtw89/rtw8852c_table.c | 4488 +++++++++++++++------------ sys/contrib/dev/rtw89/rtw8852c_table.h | 3 - sys/contrib/dev/rtw89/rtw8852ce.c | 29 + sys/contrib/dev/rtw89/rtw8922a.c | 2639 ++++++++++++++++ sys/contrib/dev/rtw89/rtw8922a.h | 73 + sys/contrib/dev/rtw89/rtw8922a_rfk.c | 391 +++ sys/contrib/dev/rtw89/rtw8922a_rfk.h | 18 + sys/contrib/dev/rtw89/rtw8922ae.c | 94 + sys/contrib/dev/rtw89/sar.c | 222 +- sys/contrib/dev/rtw89/sar.h | 14 +- sys/contrib/dev/rtw89/ser.c | 44 +- sys/contrib/dev/rtw89/txrx.h | 279 ++ sys/contrib/dev/rtw89/util.c | 106 + sys/contrib/dev/rtw89/util.h | 5 + sys/contrib/dev/rtw89/wow.c | 787 ++++- sys/contrib/dev/rtw89/wow.h | 87 + sys/modules/rtw89/Makefile | 11 +- 76 files changed, 45373 insertions(+), 8472 deletions(-) diff --git a/sys/contrib/dev/rtw89/Kconfig b/sys/contrib/dev/rtw89/Kconfig index 90ffbab7cc4c..3c9f864805b1 100644 --- a/sys/contrib/dev/rtw89/Kconfig +++ b/sys/contrib/dev/rtw89/Kconfig @@ -22,12 +22,18 @@ config RTW89_8851B config RTW89_8852A tristate +config RTW89_8852B_COMMON + tristate + config RTW89_8852B tristate config RTW89_8852C tristate +config RTW89_8922A + tristate + config RTW89_8851BE tristate "Realtek 8851BE PCI wireless network (Wi-Fi 6) adapter" depends on PCI @@ -56,6 +62,7 @@ config RTW89_8852BE select RTW89_CORE select RTW89_PCI select RTW89_8852B + select RTW89_8852B_COMMON help Select this option will enable support for 8852BE chipset @@ -72,6 +79,18 @@ config RTW89_8852CE 802.11ax PCIe wireless network (Wi-Fi 6E) adapter +config RTW89_8922AE + tristate "Realtek 8922AE PCI wireless network (Wi-Fi 7) adapter" + depends on PCI + select RTW89_CORE + select RTW89_PCI + select RTW89_8922A + help + Select this option will enable support for 8922AE chipset + + 802.11be PCIe wireless network (Wi-Fi 7) adapter + supporting 2x2 2GHz/5GHz/6GHz 4096-QAM 160MHz channels. + config RTW89_DEBUG bool diff --git a/sys/contrib/dev/rtw89/Makefile b/sys/contrib/dev/rtw89/Makefile index 41940099af1b..1f1050a7a89d 100644 --- a/sys/contrib/dev/rtw89/Makefile +++ b/sys/contrib/dev/rtw89/Makefile @@ -4,17 +4,21 @@ obj-$(CONFIG_RTW89_CORE) += rtw89_core.o rtw89_core-y += core.o \ mac80211.o \ mac.o \ + mac_be.o \ phy.o \ + phy_be.o \ fw.o \ cam.o \ efuse.o \ + efuse_be.o \ regd.o \ sar.o \ coex.o \ ps.o \ chan.o \ ser.o \ - acpi.o + acpi.o \ + util.o rtw89_core-$(CONFIG_PM) += wow.o @@ -36,6 +40,9 @@ rtw89_8852a-objs := rtw8852a.o \ obj-$(CONFIG_RTW89_8852AE) += rtw89_8852ae.o rtw89_8852ae-objs := rtw8852ae.o +obj-$(CONFIG_RTW89_8852B_COMMON) += rtw89_8852b_common.o +rtw89_8852b_common-objs := rtw8852b_common.o + obj-$(CONFIG_RTW89_8852B) += rtw89_8852b.o rtw89_8852b-objs := rtw8852b.o \ rtw8852b_table.o \ @@ -54,8 +61,15 @@ rtw89_8852c-objs := rtw8852c.o \ obj-$(CONFIG_RTW89_8852CE) += rtw89_8852ce.o rtw89_8852ce-objs := rtw8852ce.o +obj-$(CONFIG_RTW89_8922A) += rtw89_8922a.o +rtw89_8922a-objs := rtw8922a.o \ + rtw8922a_rfk.o + +obj-$(CONFIG_RTW89_8922AE) += rtw89_8922ae.o +rtw89_8922ae-objs := rtw8922ae.o + rtw89_core-$(CONFIG_RTW89_DEBUG) += debug.o obj-$(CONFIG_RTW89_PCI) += rtw89_pci.o -rtw89_pci-y := pci.o +rtw89_pci-y := pci.o pci_be.o diff --git a/sys/contrib/dev/rtw89/acpi.c b/sys/contrib/dev/rtw89/acpi.c index 83252c861c82..272795188f99 100644 --- a/sys/contrib/dev/rtw89/acpi.c +++ b/sys/contrib/dev/rtw89/acpi.c @@ -13,27 +13,118 @@ static const guid_t rtw89_guid = GUID_INIT(0xD2A8C3E8, 0x4B69, 0x4F00, 0x82, 0xBD, 0xFE, 0x86, 0x07, 0x80, 0x3A, 0xA7); -static int rtw89_acpi_dsm_get(struct rtw89_dev *rtwdev, union acpi_object *obj, - u8 *value) +static +int rtw89_acpi_dsm_get_value(struct rtw89_dev *rtwdev, union acpi_object *obj, + u8 *value) { - switch (obj->type) { - case ACPI_TYPE_INTEGER: - *value = (u8)obj->integer.value; - break; - case ACPI_TYPE_BUFFER: - *value = obj->buffer.pointer[0]; - break; - default: - rtw89_debug(rtwdev, RTW89_DBG_UNEXP, - "acpi dsm return unhandled type: %d\n", obj->type); + if (obj->type != ACPI_TYPE_INTEGER) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, + "acpi: expect integer but type: %d\n", obj->type); return -EINVAL; } + *value = (u8)obj->integer.value; + return 0; +} + +static bool chk_acpi_policy_6ghz_sig(const struct rtw89_acpi_policy_6ghz *p) +{ + return p->signature[0] == 0x00 && + p->signature[1] == 0xE0 && + p->signature[2] == 0x4C; +} + +static +int rtw89_acpi_dsm_get_policy_6ghz(struct rtw89_dev *rtwdev, + union acpi_object *obj, + struct rtw89_acpi_policy_6ghz **policy_6ghz) +{ + const struct rtw89_acpi_policy_6ghz *ptr; + u32 expect_len; + u32 len; + + if (obj->type != ACPI_TYPE_BUFFER) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, + "acpi: expect buffer but type: %d\n", obj->type); + return -EINVAL; + } + + len = obj->buffer.length; + if (len < sizeof(*ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: invalid buffer length: %u\n", + __func__, len); + return -EINVAL; + } + + ptr = (typeof(ptr))obj->buffer.pointer; + if (!chk_acpi_policy_6ghz_sig(ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: bad signature\n", __func__); + return -EINVAL; + } + + expect_len = struct_size(ptr, country_list, ptr->country_count); + if (len < expect_len) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: expect %u but length: %u\n", + __func__, expect_len, len); + return -EINVAL; + } + + *policy_6ghz = kmemdup(ptr, expect_len, GFP_KERNEL); + if (!*policy_6ghz) + return -ENOMEM; + + rtw89_hex_dump(rtwdev, RTW89_DBG_ACPI, "policy_6ghz: ", *policy_6ghz, + expect_len); + return 0; +} + +static bool chk_acpi_policy_6ghz_sp_sig(const struct rtw89_acpi_policy_6ghz_sp *p) +{ + return p->signature[0] == 0x52 && + p->signature[1] == 0x54 && + p->signature[2] == 0x4B && + p->signature[3] == 0x07; +} + +static +int rtw89_acpi_dsm_get_policy_6ghz_sp(struct rtw89_dev *rtwdev, + union acpi_object *obj, + struct rtw89_acpi_policy_6ghz_sp **policy) +{ + const struct rtw89_acpi_policy_6ghz_sp *ptr; + u32 buf_len; + + if (obj->type != ACPI_TYPE_BUFFER) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, + "acpi: expect buffer but type: %d\n", obj->type); + return -EINVAL; + } + + buf_len = obj->buffer.length; + if (buf_len < sizeof(*ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: invalid buffer length: %u\n", + __func__, buf_len); + return -EINVAL; + } + + ptr = (typeof(ptr))obj->buffer.pointer; + if (!chk_acpi_policy_6ghz_sp_sig(ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: bad signature\n", __func__); + return -EINVAL; + } + + *policy = kmemdup(ptr, sizeof(*ptr), GFP_KERNEL); + if (!*policy) + return -ENOMEM; + + rtw89_hex_dump(rtwdev, RTW89_DBG_ACPI, "policy_6ghz_sp: ", *policy, + sizeof(*ptr)); return 0; } int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev, - enum rtw89_acpi_dsm_func func, u8 *value) + enum rtw89_acpi_dsm_func func, + struct rtw89_acpi_dsm_result *res) { union acpi_object *obj; int ret; @@ -41,19 +132,27 @@ int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev, obj = acpi_evaluate_dsm(ACPI_HANDLE(rtwdev->dev), &rtw89_guid, 0, func, NULL); if (!obj) { - rtw89_debug(rtwdev, RTW89_DBG_UNEXP, + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "acpi dsm fail to evaluate func: %d\n", func); return -ENOENT; } - ret = rtw89_acpi_dsm_get(rtwdev, obj, value); + if (func == RTW89_ACPI_DSM_FUNC_6G_BP) + ret = rtw89_acpi_dsm_get_policy_6ghz(rtwdev, obj, + &res->u.policy_6ghz); + else if (func == RTW89_ACPI_DSM_FUNC_6GHZ_SP_SUP) + ret = rtw89_acpi_dsm_get_policy_6ghz_sp(rtwdev, obj, + &res->u.policy_6ghz_sp); + else + ret = rtw89_acpi_dsm_get_value(rtwdev, obj, &res->u.value); ACPI_FREE(obj); return ret; } #elif defined(__FreeBSD__) int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev, - enum rtw89_acpi_dsm_func func, u8 *value) + enum rtw89_acpi_dsm_func func, + struct rtw89_acpi_dsm_result *res) { return -ENOENT; } diff --git a/sys/contrib/dev/rtw89/acpi.h b/sys/contrib/dev/rtw89/acpi.h index ed74d8ceb733..d274be1775bf 100644 --- a/sys/contrib/dev/rtw89/acpi.h +++ b/sys/contrib/dev/rtw89/acpi.h @@ -12,10 +12,59 @@ enum rtw89_acpi_dsm_func { RTW89_ACPI_DSM_FUNC_6G_DIS = 3, RTW89_ACPI_DSM_FUNC_6G_BP = 4, RTW89_ACPI_DSM_FUNC_TAS_EN = 5, - RTW89_ACPI_DSM_FUNC_59G_EN = 6, + RTW89_ACPI_DSM_FUNC_UNII4_SUP = 6, + RTW89_ACPI_DSM_FUNC_6GHZ_SP_SUP = 7, +}; + +enum rtw89_acpi_conf_unii4 { + RTW89_ACPI_CONF_UNII4_FCC = BIT(0), + RTW89_ACPI_CONF_UNII4_IC = BIT(1), +}; + +enum rtw89_acpi_policy_mode { + RTW89_ACPI_POLICY_BLOCK = 0, + RTW89_ACPI_POLICY_ALLOW = 1, +}; + +struct rtw89_acpi_country_code { + /* below are allowed: + * * ISO alpha2 country code + * * EU for countries in Europe + */ + char alpha2[2]; +} __packed; + +struct rtw89_acpi_policy_6ghz { + u8 signature[3]; + u8 rsvd; + u8 policy_mode; + u8 country_count; + struct rtw89_acpi_country_code country_list[] __counted_by(country_count); +} __packed; + +enum rtw89_acpi_conf_6ghz_sp { + RTW89_ACPI_CONF_6GHZ_SP_US = BIT(0), +}; + +struct rtw89_acpi_policy_6ghz_sp { + u8 signature[4]; + u8 revision; + u8 override; + u8 conf; + u8 rsvd; +} __packed; + +struct rtw89_acpi_dsm_result { + union { + u8 value; + /* caller needs to free it after using */ + struct rtw89_acpi_policy_6ghz *policy_6ghz; + struct rtw89_acpi_policy_6ghz_sp *policy_6ghz_sp; + } u; }; int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev, - enum rtw89_acpi_dsm_func func, u8 *value); + enum rtw89_acpi_dsm_func func, + struct rtw89_acpi_dsm_result *res); #endif diff --git a/sys/contrib/dev/rtw89/cam.c b/sys/contrib/dev/rtw89/cam.c index f5301c2bbf13..4557c6e035a9 100644 --- a/sys/contrib/dev/rtw89/cam.c +++ b/sys/contrib/dev/rtw89/cam.c @@ -150,8 +150,6 @@ static int rtw89_cam_get_addr_cam_key_idx(struct rtw89_addr_cam_entry *addr_cam, case RTW89_ADDR_CAM_SEC_NONE: return -EINVAL; case RTW89_ADDR_CAM_SEC_ALL_UNI: - if (!(key->flags & IEEE80211_KEY_FLAG_PAIRWISE)) - return -EINVAL; idx = find_first_zero_bit(addr_cam->sec_cam_map, RTW89_SEC_CAM_IN_ADDR_CAM); if (idx >= RTW89_SEC_CAM_IN_ADDR_CAM) @@ -213,6 +211,46 @@ static int rtw89_cam_get_addr_cam_key_idx(struct rtw89_addr_cam_entry *addr_cam, return 0; } +static int rtw89_cam_detach_sec_cam(struct rtw89_dev *rtwdev, + struct ieee80211_vif *vif, + struct ieee80211_sta *sta, + const struct rtw89_sec_cam_entry *sec_cam, + bool inform_fw) +{ + struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta); + struct rtw89_vif *rtwvif; + struct rtw89_addr_cam_entry *addr_cam; + unsigned int i; + int ret = 0; + + if (!vif) { + rtw89_err(rtwdev, "No iface for deleting sec cam\n"); + return -EINVAL; + } + + rtwvif = (struct rtw89_vif *)vif->drv_priv; + addr_cam = rtw89_get_addr_cam_of(rtwvif, rtwsta); + + for_each_set_bit(i, addr_cam->sec_cam_map, RTW89_SEC_CAM_IN_ADDR_CAM) { + if (addr_cam->sec_ent[i] != sec_cam->sec_cam_idx) + continue; + + clear_bit(i, addr_cam->sec_cam_map); + } + + if (inform_fw) { + ret = rtw89_chip_h2c_dctl_sec_cam(rtwdev, rtwvif, rtwsta); + if (ret) + rtw89_err(rtwdev, + "failed to update dctl cam del key: %d\n", ret); + ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL); + if (ret) + rtw89_err(rtwdev, "failed to update cam del key: %d\n", ret); + } + + return ret; +} + static int rtw89_cam_attach_sec_cam(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif, struct ieee80211_sta *sta, @@ -232,6 +270,11 @@ static int rtw89_cam_attach_sec_cam(struct rtw89_dev *rtwdev, rtwvif = (struct rtw89_vif *)vif->drv_priv; addr_cam = rtw89_get_addr_cam_of(rtwvif, rtwsta); + + if (key->cipher == WLAN_CIPHER_SUITE_WEP40 || + key->cipher == WLAN_CIPHER_SUITE_WEP104) + addr_cam->sec_ent_mode = RTW89_ADDR_CAM_SEC_ALL_UNI; + ret = rtw89_cam_get_addr_cam_key_idx(addr_cam, sec_cam, key, &key_idx); if (ret) { rtw89_err(rtwdev, "failed to get addr cam key idx %d, %d\n", @@ -239,10 +282,8 @@ static int rtw89_cam_attach_sec_cam(struct rtw89_dev *rtwdev, return ret; } - key->hw_key_idx = key_idx; addr_cam->sec_ent_keyid[key_idx] = key->keyidx; addr_cam->sec_ent[key_idx] = sec_cam->sec_cam_idx; - addr_cam->sec_entries[key_idx] = sec_cam; set_bit(key_idx, addr_cam->sec_cam_map); ret = rtw89_chip_h2c_dctl_sec_cam(rtwdev, rtwvif, rtwsta); if (ret) { @@ -255,7 +296,6 @@ static int rtw89_cam_attach_sec_cam(struct rtw89_dev *rtwdev, rtw89_err(rtwdev, "failed to update addr cam sec entry: %d\n", ret); clear_bit(key_idx, addr_cam->sec_cam_map); - addr_cam->sec_entries[key_idx] = NULL; return ret; } @@ -292,6 +332,9 @@ static int rtw89_cam_sec_key_install(struct rtw89_dev *rtwdev, goto err_release_cam; } + key->hw_key_idx = sec_cam_idx; + cam_info->sec_entries[sec_cam_idx] = sec_cam; + sec_cam->sec_cam_idx = sec_cam_idx; sec_cam->type = hw_key_type; sec_cam->len = RTW89_SEC_CAM_LEN; @@ -313,6 +356,7 @@ static int rtw89_cam_sec_key_install(struct rtw89_dev *rtwdev, return 0; err_release_cam: + cam_info->sec_entries[sec_cam_idx] = NULL; kfree(sec_cam); clear_bit(sec_cam_idx, cam_info->sec_cam_map); if (ext_key) @@ -356,6 +400,9 @@ int rtw89_cam_sec_key_add(struct rtw89_dev *rtwdev, key->flags |= IEEE80211_KEY_FLAG_SW_MGMT_TX; ext_key = true; break; + case WLAN_CIPHER_SUITE_AES_CMAC: + hw_key_type = RTW89_SEC_KEY_TYPE_BIP_CCMP128; + break; default: return -EOPNOTSUPP; } @@ -380,42 +427,22 @@ int rtw89_cam_sec_key_del(struct rtw89_dev *rtwdev, struct ieee80211_key_conf *key, bool inform_fw) { - struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta); struct rtw89_cam_info *cam_info = &rtwdev->cam_info; - struct rtw89_vif *rtwvif; - struct rtw89_addr_cam_entry *addr_cam; - struct rtw89_sec_cam_entry *sec_cam; - u8 key_idx = key->hw_key_idx; + const struct rtw89_sec_cam_entry *sec_cam; u8 sec_cam_idx; - int ret = 0; - - if (!vif) { - rtw89_err(rtwdev, "No iface for deleting sec cam\n"); - return -EINVAL; - } + int ret; - rtwvif = (struct rtw89_vif *)vif->drv_priv; - addr_cam = rtw89_get_addr_cam_of(rtwvif, rtwsta); - sec_cam = addr_cam->sec_entries[key_idx]; + sec_cam_idx = key->hw_key_idx; + sec_cam = cam_info->sec_entries[sec_cam_idx]; if (!sec_cam) return -EINVAL; - /* detach sec cam from addr cam */ - clear_bit(key_idx, addr_cam->sec_cam_map); - addr_cam->sec_entries[key_idx] = NULL; - if (inform_fw) { - ret = rtw89_chip_h2c_dctl_sec_cam(rtwdev, rtwvif, rtwsta); - if (ret) - rtw89_err(rtwdev, "failed to update dctl cam del key: %d\n", ret); - ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL); - if (ret) - rtw89_err(rtwdev, "failed to update cam del key: %d\n", ret); - } + ret = rtw89_cam_detach_sec_cam(rtwdev, vif, sta, sec_cam, inform_fw); /* clear valid bit in addr cam will disable sec cam, * so we don't need to send H2C command again */ - sec_cam_idx = sec_cam->sec_cam_idx; + cam_info->sec_entries[sec_cam_idx] = NULL; clear_bit(sec_cam_idx, cam_info->sec_cam_map); if (sec_cam->ext_key) clear_bit(sec_cam_idx + 1, cam_info->sec_cam_map); @@ -488,6 +515,21 @@ static int rtw89_cam_get_avail_addr_cam(struct rtw89_dev *rtwdev, return 0; } +static u8 rtw89_get_addr_cam_entry_size(struct rtw89_dev *rtwdev) +{ + const struct rtw89_chip_info *chip = rtwdev->chip; + + switch (chip->chip_id) { + case RTL8852A: + case RTL8852B: + case RTL8851B: + case RTL8852BT: + return ADDR_CAM_ENT_SIZE; + default: + return ADDR_CAM_ENT_SHORT_SIZE; + } +} + int rtw89_cam_init_addr_cam(struct rtw89_dev *rtwdev, struct rtw89_addr_cam_entry *addr_cam, const struct rtw89_bssid_cam_entry *bssid_cam) @@ -509,7 +551,7 @@ int rtw89_cam_init_addr_cam(struct rtw89_dev *rtwdev, } addr_cam->addr_cam_idx = addr_cam_idx; - addr_cam->len = ADDR_CAM_ENT_SIZE; + addr_cam->len = rtw89_get_addr_cam_entry_size(rtwdev); addr_cam->offset = 0; addr_cam->valid = true; addr_cam->addr_mask = 0; @@ -739,27 +781,158 @@ void rtw89_cam_fill_addr_cam_info(struct rtw89_dev *rtwdev, void rtw89_cam_fill_dctl_sec_cam_info_v1(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif, struct rtw89_sta *rtwsta, - u8 *cmd) + struct rtw89_h2c_dctlinfo_ud_v1 *h2c) { struct rtw89_addr_cam_entry *addr_cam = rtw89_get_addr_cam_of(rtwvif, rtwsta); + struct rtw89_wow_param *rtw_wow = &rtwdev->wow; + u8 *ptk_tx_iv = rtw_wow->key_info.ptk_tx_iv; + + h2c->c0 = le32_encode_bits(rtwsta ? rtwsta->mac_id : rtwvif->mac_id, + DCTLINFO_V1_C0_MACID) | + le32_encode_bits(1, DCTLINFO_V1_C0_OP); + + h2c->w4 = le32_encode_bits(addr_cam->sec_ent_keyid[0], + DCTLINFO_V1_W4_SEC_ENT0_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[1], + DCTLINFO_V1_W4_SEC_ENT1_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[2], + DCTLINFO_V1_W4_SEC_ENT2_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[3], + DCTLINFO_V1_W4_SEC_ENT3_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[4], + DCTLINFO_V1_W4_SEC_ENT4_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[5], + DCTLINFO_V1_W4_SEC_ENT5_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[6], + DCTLINFO_V1_W4_SEC_ENT6_KEYID); + h2c->m4 = cpu_to_le32(DCTLINFO_V1_W4_SEC_ENT0_KEYID | + DCTLINFO_V1_W4_SEC_ENT1_KEYID | + DCTLINFO_V1_W4_SEC_ENT2_KEYID | + DCTLINFO_V1_W4_SEC_ENT3_KEYID | + DCTLINFO_V1_W4_SEC_ENT4_KEYID | + DCTLINFO_V1_W4_SEC_ENT5_KEYID | + DCTLINFO_V1_W4_SEC_ENT6_KEYID); + + h2c->w5 = le32_encode_bits(addr_cam->sec_cam_map[0] & 0xff, + DCTLINFO_V1_W5_SEC_ENT_VALID) | + le32_encode_bits(addr_cam->sec_ent[0], + DCTLINFO_V1_W5_SEC_ENT0) | + le32_encode_bits(addr_cam->sec_ent[1], + DCTLINFO_V1_W5_SEC_ENT1) | + le32_encode_bits(addr_cam->sec_ent[2], + DCTLINFO_V1_W5_SEC_ENT2); + h2c->m5 = cpu_to_le32(DCTLINFO_V1_W5_SEC_ENT_VALID | + DCTLINFO_V1_W5_SEC_ENT0 | + DCTLINFO_V1_W5_SEC_ENT1 | + DCTLINFO_V1_W5_SEC_ENT2); + + h2c->w6 = le32_encode_bits(addr_cam->sec_ent[3], + DCTLINFO_V1_W6_SEC_ENT3) | + le32_encode_bits(addr_cam->sec_ent[4], + DCTLINFO_V1_W6_SEC_ENT4) | + le32_encode_bits(addr_cam->sec_ent[5], + DCTLINFO_V1_W6_SEC_ENT5) | + le32_encode_bits(addr_cam->sec_ent[6], + DCTLINFO_V1_W6_SEC_ENT6); + h2c->m6 = cpu_to_le32(DCTLINFO_V1_W6_SEC_ENT3 | + DCTLINFO_V1_W6_SEC_ENT4 | + DCTLINFO_V1_W6_SEC_ENT5 | + DCTLINFO_V1_W6_SEC_ENT6); + + if (rtw_wow->ptk_alg) { + h2c->w0 = le32_encode_bits(ptk_tx_iv[0] | ptk_tx_iv[1] << 8, + DCTLINFO_V1_W0_AES_IV_L); + h2c->m0 = cpu_to_le32(DCTLINFO_V1_W0_AES_IV_L); + + h2c->w1 = le32_encode_bits(ptk_tx_iv[4] | + ptk_tx_iv[5] << 8 | + ptk_tx_iv[6] << 16 | + ptk_tx_iv[7] << 24, + DCTLINFO_V1_W1_AES_IV_H); + h2c->m1 = cpu_to_le32(DCTLINFO_V1_W1_AES_IV_H); + + h2c->w4 |= le32_encode_bits(rtw_wow->ptk_keyidx, + DCTLINFO_V1_W4_SEC_KEY_ID); + h2c->m4 |= cpu_to_le32(DCTLINFO_V1_W4_SEC_KEY_ID); + } +} - SET_DCTL_MACID_V1(cmd, rtwsta ? rtwsta->mac_id : rtwvif->mac_id); - SET_DCTL_OPERATION_V1(cmd, 1); - - SET_DCTL_SEC_ENT0_KEYID_V1(cmd, addr_cam->sec_ent_keyid[0]); - SET_DCTL_SEC_ENT1_KEYID_V1(cmd, addr_cam->sec_ent_keyid[1]); - SET_DCTL_SEC_ENT2_KEYID_V1(cmd, addr_cam->sec_ent_keyid[2]); - SET_DCTL_SEC_ENT3_KEYID_V1(cmd, addr_cam->sec_ent_keyid[3]); - SET_DCTL_SEC_ENT4_KEYID_V1(cmd, addr_cam->sec_ent_keyid[4]); - SET_DCTL_SEC_ENT5_KEYID_V1(cmd, addr_cam->sec_ent_keyid[5]); - SET_DCTL_SEC_ENT6_KEYID_V1(cmd, addr_cam->sec_ent_keyid[6]); - - SET_DCTL_SEC_ENT_VALID_V1(cmd, addr_cam->sec_cam_map[0] & 0xff); - SET_DCTL_SEC_ENT0_V1(cmd, addr_cam->sec_ent[0]); - SET_DCTL_SEC_ENT1_V1(cmd, addr_cam->sec_ent[1]); - SET_DCTL_SEC_ENT2_V1(cmd, addr_cam->sec_ent[2]); - SET_DCTL_SEC_ENT3_V1(cmd, addr_cam->sec_ent[3]); - SET_DCTL_SEC_ENT4_V1(cmd, addr_cam->sec_ent[4]); - SET_DCTL_SEC_ENT5_V1(cmd, addr_cam->sec_ent[5]); - SET_DCTL_SEC_ENT6_V1(cmd, addr_cam->sec_ent[6]); +void rtw89_cam_fill_dctl_sec_cam_info_v2(struct rtw89_dev *rtwdev, + struct rtw89_vif *rtwvif, + struct rtw89_sta *rtwsta, + struct rtw89_h2c_dctlinfo_ud_v2 *h2c) +{ + struct rtw89_addr_cam_entry *addr_cam = rtw89_get_addr_cam_of(rtwvif, rtwsta); + struct rtw89_wow_param *rtw_wow = &rtwdev->wow; + u8 *ptk_tx_iv = rtw_wow->key_info.ptk_tx_iv; + + h2c->c0 = le32_encode_bits(rtwsta ? rtwsta->mac_id : rtwvif->mac_id, + DCTLINFO_V2_C0_MACID) | + le32_encode_bits(1, DCTLINFO_V2_C0_OP); + + h2c->w4 = le32_encode_bits(addr_cam->sec_ent_keyid[0], + DCTLINFO_V2_W4_SEC_ENT0_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[1], + DCTLINFO_V2_W4_SEC_ENT1_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[2], + DCTLINFO_V2_W4_SEC_ENT2_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[3], + DCTLINFO_V2_W4_SEC_ENT3_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[4], + DCTLINFO_V2_W4_SEC_ENT4_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[5], + DCTLINFO_V2_W4_SEC_ENT5_KEYID) | + le32_encode_bits(addr_cam->sec_ent_keyid[6], + DCTLINFO_V2_W4_SEC_ENT6_KEYID); + h2c->m4 = cpu_to_le32(DCTLINFO_V2_W4_SEC_ENT0_KEYID | + DCTLINFO_V2_W4_SEC_ENT1_KEYID | + DCTLINFO_V2_W4_SEC_ENT2_KEYID | + DCTLINFO_V2_W4_SEC_ENT3_KEYID | + DCTLINFO_V2_W4_SEC_ENT4_KEYID | + DCTLINFO_V2_W4_SEC_ENT5_KEYID | + DCTLINFO_V2_W4_SEC_ENT6_KEYID); + + h2c->w5 = le32_encode_bits(addr_cam->sec_cam_map[0], + DCTLINFO_V2_W5_SEC_ENT_VALID_V1) | + le32_encode_bits(addr_cam->sec_ent[0], + DCTLINFO_V2_W5_SEC_ENT0_V1); + h2c->m5 = cpu_to_le32(DCTLINFO_V2_W5_SEC_ENT_VALID_V1 | + DCTLINFO_V2_W5_SEC_ENT0_V1); + + h2c->w6 = le32_encode_bits(addr_cam->sec_ent[1], + DCTLINFO_V2_W6_SEC_ENT1_V1) | + le32_encode_bits(addr_cam->sec_ent[2], + DCTLINFO_V2_W6_SEC_ENT2_V1) | + le32_encode_bits(addr_cam->sec_ent[3], + DCTLINFO_V2_W6_SEC_ENT3_V1) | + le32_encode_bits(addr_cam->sec_ent[4], + DCTLINFO_V2_W6_SEC_ENT4_V1); + h2c->m6 = cpu_to_le32(DCTLINFO_V2_W6_SEC_ENT1_V1 | + DCTLINFO_V2_W6_SEC_ENT2_V1 | + DCTLINFO_V2_W6_SEC_ENT3_V1 | + DCTLINFO_V2_W6_SEC_ENT4_V1); + + h2c->w7 = le32_encode_bits(addr_cam->sec_ent[5], + DCTLINFO_V2_W7_SEC_ENT5_V1) | + le32_encode_bits(addr_cam->sec_ent[6], + DCTLINFO_V2_W7_SEC_ENT6_V1); + h2c->m7 = cpu_to_le32(DCTLINFO_V2_W7_SEC_ENT5_V1 | + DCTLINFO_V2_W7_SEC_ENT6_V1); + + if (rtw_wow->ptk_alg) { + h2c->w0 = le32_encode_bits(ptk_tx_iv[0] | ptk_tx_iv[1] << 8, + DCTLINFO_V2_W0_AES_IV_L); + h2c->m0 = cpu_to_le32(DCTLINFO_V2_W0_AES_IV_L); + + h2c->w1 = le32_encode_bits(ptk_tx_iv[4] | + ptk_tx_iv[5] << 8 | + ptk_tx_iv[6] << 16 | + ptk_tx_iv[7] << 24, + DCTLINFO_V2_W1_AES_IV_H); + h2c->m1 = cpu_to_le32(DCTLINFO_V2_W1_AES_IV_H); + + h2c->w4 |= le32_encode_bits(rtw_wow->ptk_keyidx, + DCTLINFO_V2_W4_SEC_KEY_ID); + h2c->m4 |= cpu_to_le32(DCTLINFO_V2_W4_SEC_KEY_ID); + } } diff --git a/sys/contrib/dev/rtw89/cam.h b/sys/contrib/dev/rtw89/cam.h index 83c160a614e6..5d7b624c2dd4 100644 --- a/sys/contrib/dev/rtw89/cam.h +++ b/sys/contrib/dev/rtw89/cam.h @@ -352,6 +352,180 @@ static inline void FWCMD_SET_ADDR_BSSID_BSSID5(void *cmd, u32 value) le32p_replace_bits((__le32 *)(cmd) + 14, value, GENMASK(31, 24)); } +struct rtw89_h2c_dctlinfo_ud_v1 { + __le32 c0; + __le32 w0; + __le32 w1; + __le32 w2; + __le32 w3; + __le32 w4; + __le32 w5; + __le32 w6; + __le32 w7; + __le32 m0; + __le32 m1; + __le32 m2; + __le32 m3; + __le32 m4; + __le32 m5; + __le32 m6; + __le32 m7; +} __packed; + +#define DCTLINFO_V1_C0_MACID GENMASK(6, 0) +#define DCTLINFO_V1_C0_OP BIT(7) + +#define DCTLINFO_V1_W0_QOS_FIELD_H GENMASK(7, 0) +#define DCTLINFO_V1_W0_HW_EXSEQ_MACID GENMASK(14, 8) +#define DCTLINFO_V1_W0_QOS_DATA BIT(15) +#define DCTLINFO_V1_W0_AES_IV_L GENMASK(31, 16) +#define DCTLINFO_V1_W0_ALL GENMASK(31, 0) +#define DCTLINFO_V1_W1_AES_IV_H GENMASK(31, 0) +#define DCTLINFO_V1_W1_ALL GENMASK(31, 0) +#define DCTLINFO_V1_W2_SEQ0 GENMASK(11, 0) +#define DCTLINFO_V1_W2_SEQ1 GENMASK(23, 12) +#define DCTLINFO_V1_W2_AMSDU_MAX_LEN GENMASK(26, 24) +#define DCTLINFO_V1_W2_STA_AMSDU_EN BIT(27) +#define DCTLINFO_V1_W2_CHKSUM_OFLD_EN BIT(28) +#define DCTLINFO_V1_W2_WITH_LLC BIT(29) +#define DCTLINFO_V1_W2_ALL GENMASK(29, 0) +#define DCTLINFO_V1_W3_SEQ2 GENMASK(11, 0) +#define DCTLINFO_V1_W3_SEQ3 GENMASK(23, 12) +#define DCTLINFO_V1_W3_TGT_IND GENMASK(27, 24) +#define DCTLINFO_V1_W3_TGT_IND_EN BIT(28) +#define DCTLINFO_V1_W3_HTC_LB GENMASK(31, 29) +#define DCTLINFO_V1_W3_ALL GENMASK(31, 0) +#define DCTLINFO_V1_W4_MHDR_LEN GENMASK(4, 0) +#define DCTLINFO_V1_W4_VLAN_TAG_VALID BIT(5) +#define DCTLINFO_V1_W4_VLAN_TAG_SEL GENMASK(7, 6) +#define DCTLINFO_V1_W4_HTC_ORDER BIT(8) +#define DCTLINFO_V1_W4_SEC_KEY_ID GENMASK(10, 9) +#define DCTLINFO_V1_W4_WAPI BIT(15) +#define DCTLINFO_V1_W4_SEC_ENT_MODE GENMASK(17, 16) +#define DCTLINFO_V1_W4_SEC_ENT0_KEYID GENMASK(19, 18) +#define DCTLINFO_V1_W4_SEC_ENT1_KEYID GENMASK(21, 20) +#define DCTLINFO_V1_W4_SEC_ENT2_KEYID GENMASK(23, 22) +#define DCTLINFO_V1_W4_SEC_ENT3_KEYID GENMASK(25, 24) +#define DCTLINFO_V1_W4_SEC_ENT4_KEYID GENMASK(27, 26) +#define DCTLINFO_V1_W4_SEC_ENT5_KEYID GENMASK(29, 28) +#define DCTLINFO_V1_W4_SEC_ENT6_KEYID GENMASK(31, 30) +#define DCTLINFO_V1_W4_ALL (GENMASK(31, 15) | GENMASK(10, 0)) +#define DCTLINFO_V1_W5_SEC_ENT_VALID GENMASK(7, 0) +#define DCTLINFO_V1_W5_SEC_ENT0 GENMASK(15, 8) +#define DCTLINFO_V1_W5_SEC_ENT1 GENMASK(23, 16) +#define DCTLINFO_V1_W5_SEC_ENT2 GENMASK(31, 24) +#define DCTLINFO_V1_W5_ALL GENMASK(31, 0) +#define DCTLINFO_V1_W6_SEC_ENT3 GENMASK(7, 0) +#define DCTLINFO_V1_W6_SEC_ENT4 GENMASK(15, 8) +#define DCTLINFO_V1_W6_SEC_ENT5 GENMASK(23, 16) +#define DCTLINFO_V1_W6_SEC_ENT6 GENMASK(31, 24) +#define DCTLINFO_V1_W6_ALL GENMASK(31, 0) + +struct rtw89_h2c_dctlinfo_ud_v2 { + __le32 c0; + __le32 w0; + __le32 w1; + __le32 w2; + __le32 w3; + __le32 w4; + __le32 w5; + __le32 w6; + __le32 w7; + __le32 w8; + __le32 w9; + __le32 w10; + __le32 w11; + __le32 w12; + __le32 w13; + __le32 w14; + __le32 w15; + __le32 m0; + __le32 m1; + __le32 m2; + __le32 m3; + __le32 m4; + __le32 m5; + __le32 m6; + __le32 m7; + __le32 m8; + __le32 m9; + __le32 m10; + __le32 m11; + __le32 m12; + __le32 m13; + __le32 m14; + __le32 m15; +} __packed; + +#define DCTLINFO_V2_C0_MACID GENMASK(6, 0) +#define DCTLINFO_V2_C0_OP BIT(7) + +#define DCTLINFO_V2_W0_QOS_FIELD_H GENMASK(7, 0) +#define DCTLINFO_V2_W0_HW_EXSEQ_MACID GENMASK(14, 8) +#define DCTLINFO_V2_W0_QOS_DATA BIT(15) +#define DCTLINFO_V2_W0_AES_IV_L GENMASK(31, 16) +#define DCTLINFO_V2_W0_ALL GENMASK(31, 0) +#define DCTLINFO_V2_W1_AES_IV_H GENMASK(31, 0) +#define DCTLINFO_V2_W1_ALL GENMASK(31, 0) +#define DCTLINFO_V2_W2_SEQ0 GENMASK(11, 0) +#define DCTLINFO_V2_W2_SEQ1 GENMASK(23, 12) +#define DCTLINFO_V2_W2_AMSDU_MAX_LEN GENMASK(26, 24) +#define DCTLINFO_V2_W2_STA_AMSDU_EN BIT(27) +#define DCTLINFO_V2_W2_CHKSUM_OFLD_EN BIT(28) +#define DCTLINFO_V2_W2_WITH_LLC BIT(29) +#define DCTLINFO_V2_W2_NAT25_EN BIT(30) +#define DCTLINFO_V2_W2_IS_MLD BIT(31) +#define DCTLINFO_V2_W2_ALL GENMASK(31, 0) +#define DCTLINFO_V2_W3_SEQ2 GENMASK(11, 0) +#define DCTLINFO_V2_W3_SEQ3 GENMASK(23, 12) +#define DCTLINFO_V2_W3_TGT_IND GENMASK(27, 24) +#define DCTLINFO_V2_W3_TGT_IND_EN BIT(28) +#define DCTLINFO_V2_W3_HTC_LB GENMASK(31, 29) +#define DCTLINFO_V2_W3_ALL GENMASK(31, 0) +#define DCTLINFO_V2_W4_VLAN_TAG_SEL GENMASK(7, 5) +#define DCTLINFO_V2_W4_HTC_ORDER BIT(8) +#define DCTLINFO_V2_W4_SEC_KEY_ID GENMASK(10, 9) +#define DCTLINFO_V2_W4_VLAN_RX_DYNAMIC_PCP_EN BIT(11) +#define DCTLINFO_V2_W4_VLAN_RX_PKT_DROP BIT(12) +#define DCTLINFO_V2_W4_VLAN_RX_VALID BIT(13) +#define DCTLINFO_V2_W4_VLAN_TX_VALID BIT(14) +#define DCTLINFO_V2_W4_WAPI BIT(15) +#define DCTLINFO_V2_W4_SEC_ENT_MODE GENMASK(17, 16) +#define DCTLINFO_V2_W4_SEC_ENT0_KEYID GENMASK(19, 18) +#define DCTLINFO_V2_W4_SEC_ENT1_KEYID GENMASK(21, 20) +#define DCTLINFO_V2_W4_SEC_ENT2_KEYID GENMASK(23, 22) +#define DCTLINFO_V2_W4_SEC_ENT3_KEYID GENMASK(25, 24) +#define DCTLINFO_V2_W4_SEC_ENT4_KEYID GENMASK(27, 26) +#define DCTLINFO_V2_W4_SEC_ENT5_KEYID GENMASK(29, 28) +#define DCTLINFO_V2_W4_SEC_ENT6_KEYID GENMASK(31, 30) +#define DCTLINFO_V2_W4_ALL GENMASK(31, 5) +#define DCTLINFO_V2_W5_SEC_ENT7_KEYID GENMASK(1, 0) +#define DCTLINFO_V2_W5_SEC_ENT8_KEYID GENMASK(3, 2) +#define DCTLINFO_V2_W5_SEC_ENT_VALID_V1 GENMASK(23, 8) +#define DCTLINFO_V2_W5_SEC_ENT0_V1 GENMASK(31, 24) +#define DCTLINFO_V2_W5_ALL (GENMASK(31, 8) | GENMASK(3, 0)) +#define DCTLINFO_V2_W6_SEC_ENT1_V1 GENMASK(7, 0) +#define DCTLINFO_V2_W6_SEC_ENT2_V1 GENMASK(15, 8) +#define DCTLINFO_V2_W6_SEC_ENT3_V1 GENMASK(23, 16) +#define DCTLINFO_V2_W6_SEC_ENT4_V1 GENMASK(31, 24) +#define DCTLINFO_V2_W6_ALL GENMASK(31, 0) +#define DCTLINFO_V2_W7_SEC_ENT5_V1 GENMASK(7, 0) +#define DCTLINFO_V2_W7_SEC_ENT6_V1 GENMASK(15, 8) +#define DCTLINFO_V2_W7_SEC_ENT7 GENMASK(23, 16) +#define DCTLINFO_V2_W7_SEC_ENT8 GENMASK(31, 24) +#define DCTLINFO_V2_W7_ALL GENMASK(31, 0) *** 84014 LINES SKIPPED *** From nobody Mon Feb 10 14:52:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xY2Nj1z5mH8b; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xX1rTNz4LML; Mon, 10 Feb 2025 14:52:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2J3wUDOmBmp7Prrak4P/mk9y/OubvSeitNShF2rcL4=; b=GUVZH3PbI2YPo4lXQiNuqQoVm2h5Fv6IIZaqzt4PaT7Jz8ebfNdBFeRac2SMNCBSk/v/rH lG4+rbGPms6VfrRJeH1V+dHdtXphdX3U5q+4HKpA/EXHGljv19uyH5ipbgrw6YCJLmoZlV 9mQ8PsH8fBDo+teE2Tbu8HtctjlkVlLmAOy5KlN/kbvpR2pEaoLEgPxaNK5fSC0ndZthXQ eXrrdoyuByRvcwJkImZOUEIdJtvU6t1Ve2jb+Le5UL+1IdbX6bbXtkrvPkwjyufqLdbbOE pn/0Mx/wYbJ/q/v7hCL5XMdY5UddseV7RRIwL2zbf3vL/i8i7sumGYN8rwh2ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2J3wUDOmBmp7Prrak4P/mk9y/OubvSeitNShF2rcL4=; b=Q4shB4H2dpkn1o/NRC5d5YdtoiuPmay75dm2pgaNd1jWM6KMZZ4sCZlFfNBcSE3c1c0TiT NMP6FsR4BXHLzncwYPpfbMxFaCaG50BvUjQzaVMCbRGPBNUFhJtfEShxKMiMNjX/xQ/27O 4jGvyto/uecctp3WlIyNYKPZwqoXrMi4Fm/YZnHh09Y5YSs3tIUNjyKqx0l6U+OsBr93pl C6qHHxYJj8Oh148Ob8jJvrwvEGub75S23sXL4g5RJQGOeBAQgU+oFKYn/7iV1BBj2k5Ib+ QADnrQ+HkKihA9lXRMWBwxU+Zy1WeNb9Bmgnk7HcY770YUlSpjUcXxUp+hB6wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199152; a=rsa-sha256; cv=none; b=c0yx+0RyZK0kxs8ut/FGpTuNchIKlIQXxiJ3ZoVSN0huOq7oKut/u4/xLxEksY7ivgFJaq GgqKuv1TgcHXT5rk/EPTuVYOya8Yd7Jm5rntgfEZUrJ1E+GSlm56DPkkMyayaIOUkSrbiH NWdnbcvehZdkHysuIN5vxuaqQwuuQ7iaa3JcM3Ofz4o3bTkjnw7u2HhDLtCli4tNqaIHKJ IMVSJIXuankB8M/JovfO+SOXdW/MWhr6NWUfcKI9loz05iz3qUBop4J3hQ5WHvmbEu3Bcj SKxj4NPV7ZeNnJu9kJXX4CYM4V1AIVRa7xmV1xvc67VIWafQdxZbJyxhqni+ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xX1NFfzXWC; Mon, 10 Feb 2025 14:52: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 51AEqWeo027622; Mon, 10 Feb 2025 14:52:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqWNJ027618; Mon, 10 Feb 2025 14:52:32 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:32 GMT Message-Id: <202502101452.51AEqWNJ027618@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: 3de0d1929d19 - stable/14 - rtw88: update Realtek's rtw88 driver. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3de0d1929d19d519d8c14b4b15186ad3f9e0d2b7 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3de0d1929d19d519d8c14b4b15186ad3f9e0d2b7 commit 3de0d1929d19d519d8c14b4b15186ad3f9e0d2b7 Author: Bjoern A. Zeeb AuthorDate: 2024-09-24 23:50:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:07 +0000 rtw88: update Realtek's rtw88 driver. This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ). Sponsored by: The FreeBSD Foundation (cherry picked from commit 11c53278a8a3e86e14377f09bbaa7bad193d3713) --- sys/contrib/dev/rtw88/Makefile | 9 + sys/contrib/dev/rtw88/coex.c | 4 +- sys/contrib/dev/rtw88/debug.c | 54 +- sys/contrib/dev/rtw88/debug.h | 23 +- sys/contrib/dev/rtw88/fw.c | 92 +- sys/contrib/dev/rtw88/fw.h | 5 + sys/contrib/dev/rtw88/mac.c | 27 +- sys/contrib/dev/rtw88/mac80211.c | 12 +- sys/contrib/dev/rtw88/main.c | 25 +- sys/contrib/dev/rtw88/main.h | 27 +- sys/contrib/dev/rtw88/pci.c | 28 +- sys/contrib/dev/rtw88/pci.h | 2 +- sys/contrib/dev/rtw88/phy.c | 3 + sys/contrib/dev/rtw88/ps.c | 2 + sys/contrib/dev/rtw88/reg.h | 27 + sys/contrib/dev/rtw88/regd.c | 24 +- sys/contrib/dev/rtw88/regd.h | 2 + sys/contrib/dev/rtw88/rtw8703b.c | 2122 +++++++++++++++++++++++++++++++ sys/contrib/dev/rtw88/rtw8703b.h | 102 ++ sys/contrib/dev/rtw88/rtw8703b_tables.c | 902 +++++++++++++ sys/contrib/dev/rtw88/rtw8703b_tables.h | 14 + sys/contrib/dev/rtw88/rtw8723cs.c | 34 + sys/contrib/dev/rtw88/rtw8723d.c | 674 +--------- sys/contrib/dev/rtw88/rtw8723d.h | 268 +--- sys/contrib/dev/rtw88/rtw8723x.c | 724 +++++++++++ sys/contrib/dev/rtw88/rtw8723x.h | 518 ++++++++ sys/contrib/dev/rtw88/rtw8821c.c | 70 +- sys/contrib/dev/rtw88/rtw8821c.h | 1 + sys/contrib/dev/rtw88/rtw8821c_table.c | 1154 ++++++++++++----- sys/contrib/dev/rtw88/rtw8821cu.c | 40 +- sys/contrib/dev/rtw88/rtw8822b.c | 1 + sys/contrib/dev/rtw88/rtw8822c.c | 1 + sys/contrib/dev/rtw88/rtw8822c_table.c | 1239 ++++++++---------- sys/contrib/dev/rtw88/rtw8822cu.c | 4 +- sys/contrib/dev/rtw88/rx.h | 2 + sys/contrib/dev/rtw88/sar.c | 4 + sys/contrib/dev/rtw88/sdio.c | 35 +- sys/contrib/dev/rtw88/tx.c | 3 +- sys/contrib/dev/rtw88/usb.c | 87 +- sys/modules/rtw88/Makefile | 2 + 40 files changed, 6278 insertions(+), 2089 deletions(-) diff --git a/sys/contrib/dev/rtw88/Makefile b/sys/contrib/dev/rtw88/Makefile index fd212c09d88a..8f47359b4380 100644 --- a/sys/contrib/dev/rtw88/Makefile +++ b/sys/contrib/dev/rtw88/Makefile @@ -44,6 +44,15 @@ rtw88_8822cs-objs := rtw8822cs.o obj-$(CONFIG_RTW88_8822CU) += rtw88_8822cu.o rtw88_8822cu-objs := rtw8822cu.o +obj-$(CONFIG_RTW88_8723X) += rtw88_8723x.o +rtw88_8723x-objs := rtw8723x.o + +obj-$(CONFIG_RTW88_8703B) += rtw88_8703b.o +rtw88_8703b-objs := rtw8703b.o rtw8703b_tables.o + +obj-$(CONFIG_RTW88_8723CS) += rtw88_8723cs.o +rtw88_8723cs-objs := rtw8723cs.o + obj-$(CONFIG_RTW88_8723D) += rtw88_8723d.o rtw88_8723d-objs := rtw8723d.o rtw8723d_table.o diff --git a/sys/contrib/dev/rtw88/coex.c b/sys/contrib/dev/rtw88/coex.c index 86467d2f8888..de3332eb7a22 100644 --- a/sys/contrib/dev/rtw88/coex.c +++ b/sys/contrib/dev/rtw88/coex.c @@ -3937,7 +3937,9 @@ void rtw_coex_display_coex_info(struct rtw_dev *rtwdev, struct seq_file *m) lte_coex = rtw_coex_read_indirect_reg(rtwdev, 0x38); bt_coex = rtw_coex_read_indirect_reg(rtwdev, 0x54); - if (!coex_stat->bt_disabled && !coex_stat->bt_mailbox_reply) { + if (!coex_stat->wl_under_ips && + (!coex_stat->wl_under_lps || coex_stat->wl_force_lps_ctrl) && + !coex_stat->bt_disabled && !coex_stat->bt_mailbox_reply) { rtw_coex_get_bt_supported_version(rtwdev, &coex_stat->bt_supported_version); rtw_coex_get_bt_patch_version(rtwdev, &coex_stat->patch_ver); diff --git a/sys/contrib/dev/rtw88/debug.c b/sys/contrib/dev/rtw88/debug.c index d745c774aa6f..e84f25b34c46 100644 --- a/sys/contrib/dev/rtw88/debug.c +++ b/sys/contrib/dev/rtw88/debug.c @@ -316,23 +316,13 @@ static ssize_t rtw_debugfs_set_single_input(struct file *filp, { struct seq_file *seqpriv = (struct seq_file *)filp->private_data; struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; - struct rtw_dev *rtwdev = debugfs_priv->rtwdev; - char tmp[32 + 1]; u32 input; - int num; int ret; - ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + ret = kstrtou32_from_user(buffer, count, 0, &input); if (ret) return ret; - num = kstrtoint(tmp, 0, &input); - - if (num) { - rtw_warn(rtwdev, "kstrtoint failed\n"); - return num; - } - debugfs_priv->cb_data = input; return count; @@ -485,19 +475,12 @@ static ssize_t rtw_debugfs_set_fix_rate(struct file *filp, struct rtw_dev *rtwdev = debugfs_priv->rtwdev; struct rtw_dm_info *dm_info = &rtwdev->dm_info; u8 fix_rate; - char tmp[32 + 1]; int ret; - ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + ret = kstrtou8_from_user(buffer, count, 0, &fix_rate); if (ret) return ret; - ret = kstrtou8(tmp, 0, &fix_rate); - if (ret) { - rtw_warn(rtwdev, "invalid args, [rate]\n"); - return ret; - } - dm_info->fix_rate = fix_rate; return count; @@ -879,20 +862,13 @@ static ssize_t rtw_debugfs_set_coex_enable(struct file *filp, struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; struct rtw_dev *rtwdev = debugfs_priv->rtwdev; struct rtw_coex *coex = &rtwdev->coex; - char tmp[32 + 1]; bool enable; int ret; - ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + ret = kstrtobool_from_user(buffer, count, &enable); if (ret) return ret; - ret = kstrtobool(tmp, &enable); - if (ret) { - rtw_warn(rtwdev, "invalid arguments\n"); - return ret; - } - mutex_lock(&rtwdev->mutex); coex->manual_control = !enable; mutex_unlock(&rtwdev->mutex); @@ -951,18 +927,13 @@ static ssize_t rtw_debugfs_set_fw_crash(struct file *filp, struct seq_file *seqpriv = (struct seq_file *)filp->private_data; struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; struct rtw_dev *rtwdev = debugfs_priv->rtwdev; - char tmp[32 + 1]; bool input; int ret; - ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); + ret = kstrtobool_from_user(buffer, count, &input); if (ret) return ret; - ret = kstrtobool(tmp, &input); - if (ret) - return -EINVAL; - if (!input) return -EINVAL; @@ -1030,11 +1001,12 @@ static ssize_t rtw_debugfs_set_dm_cap(struct file *filp, struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; struct rtw_dev *rtwdev = debugfs_priv->rtwdev; struct rtw_dm_info *dm_info = &rtwdev->dm_info; - int bit; + int ret, bit; bool en; - if (kstrtoint_from_user(buffer, count, 10, &bit)) - return -EINVAL; + ret = kstrtoint_from_user(buffer, count, 10, &bit); + if (ret) + return ret; en = bit > 0; bit = abs(bit); @@ -1233,9 +1205,9 @@ static struct rtw_debugfs_priv rtw_debug_priv_dm_cap = { #define rtw_debugfs_add_core(name, mode, fopname, parent) \ do { \ rtw_debug_priv_ ##name.rtwdev = rtwdev; \ - if (!debugfs_create_file(#name, mode, \ + if (IS_ERR(debugfs_create_file(#name, mode, \ parent, &rtw_debug_priv_ ##name,\ - &file_ops_ ##fopname)) \ + &file_ops_ ##fopname))) \ pr_debug("Unable to initialize debugfs:%s\n", \ #name); \ } while (0) @@ -1314,8 +1286,8 @@ void rtw_debugfs_init(struct rtw_dev *rtwdev) #ifdef CONFIG_RTW88_DEBUG -void __rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask, - const char *fmt, ...) +void rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask, + const char *fmt, ...) { struct va_format vaf = { .fmt = fmt, @@ -1334,6 +1306,6 @@ void __rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask, va_end(args); } -EXPORT_SYMBOL(__rtw_dbg); +EXPORT_SYMBOL(rtw_dbg); #endif /* CONFIG_RTW88_DEBUG */ diff --git a/sys/contrib/dev/rtw88/debug.h b/sys/contrib/dev/rtw88/debug.h index e826102083cf..0e48c56451a4 100644 --- a/sys/contrib/dev/rtw88/debug.h +++ b/sys/contrib/dev/rtw88/debug.h @@ -27,8 +27,9 @@ enum rtw_debug_mask { RTW_DBG_SDIO = 0x00040000, #if defined(__FreeBSD__) - RTW_DBG_IO_RW = 0x80000000, + RTW_DBG_IO_RW = 0x10000000, #endif + RTW_DBG_UNEXP = 0x80000000, RTW_DBG_ALL = 0xffffffff }; @@ -46,20 +47,26 @@ static inline void rtw_debugfs_init(struct rtw_dev *rtwdev) {} #ifdef CONFIG_RTW88_DEBUG __printf(3, 4) -void __rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask, - const char *fmt, ...); +void rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask, + const char *fmt, ...); -#if defined(__linux__) -#define rtw_dbg(rtwdev, a...) __rtw_dbg(rtwdev, ##a) -#elif defined(__FreeBSD__) -#define rtw_dbg(rtwdev, ...) __rtw_dbg(rtwdev, __VA_ARGS__) -#endif +static inline bool rtw_dbg_is_enabled(struct rtw_dev *rtwdev, + enum rtw_debug_mask mask) +{ + return !!(rtw_debug_mask & mask); +} #else static inline void rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask, const char *fmt, ...) {} +static inline bool rtw_dbg_is_enabled(struct rtw_dev *rtwdev, + enum rtw_debug_mask mask) +{ + return false; +} + #endif /* CONFIG_RTW88_DEBUG */ #define rtw_info(rtwdev, a...) dev_info(rtwdev->dev, ##a) diff --git a/sys/contrib/dev/rtw88/fw.c b/sys/contrib/dev/rtw88/fw.c index f7fecc48fd39..745e37ea0093 100644 --- a/sys/contrib/dev/rtw88/fw.c +++ b/sys/contrib/dev/rtw88/fw.c @@ -17,6 +17,79 @@ #include "phy.h" #include "mac.h" +static const struct rtw_hw_reg_desc fw_h2c_regs[] = { + {REG_FWIMR, MASKDWORD, "FWIMR"}, + {REG_FWIMR, BIT_FS_H2CCMD_INT_EN, "FWIMR enable"}, + {REG_FWISR, MASKDWORD, "FWISR"}, + {REG_FWISR, BIT_FS_H2CCMD_INT, "FWISR enable"}, + {REG_HMETFR, BIT_INT_BOX_ALL, "BoxBitMap"}, + {REG_HMEBOX0, MASKDWORD, "MSG 0"}, + {REG_HMEBOX0_EX, MASKDWORD, "MSG_EX 0"}, + {REG_HMEBOX1, MASKDWORD, "MSG 1"}, + {REG_HMEBOX1_EX, MASKDWORD, "MSG_EX 1"}, + {REG_HMEBOX2, MASKDWORD, "MSG 2"}, + {REG_HMEBOX2_EX, MASKDWORD, "MSG_EX 2"}, + {REG_HMEBOX3, MASKDWORD, "MSG 3"}, + {REG_HMEBOX3_EX, MASKDWORD, "MSG_EX 3"}, + {REG_FT1IMR, MASKDWORD, "FT1IMR"}, + {REG_FT1IMR, BIT_FS_H2C_CMD_OK_INT_EN, "FT1IMR enable"}, + {REG_FT1ISR, MASKDWORD, "FT1ISR"}, + {REG_FT1ISR, BIT_FS_H2C_CMD_OK_INT, "FT1ISR enable "}, +}; + +static const struct rtw_hw_reg_desc fw_c2h_regs[] = { + {REG_FWIMR, MASKDWORD, "FWIMR"}, + {REG_FWIMR, BIT_FS_H2CCMD_INT_EN, "CPWM"}, + {REG_FWIMR, BIT_FS_HRCV_INT_EN, "HRECV"}, + {REG_FWISR, MASKDWORD, "FWISR"}, + {REG_FWISR, BIT_FS_H2CCMD_INT, "CPWM"}, + {REG_FWISR, BIT_FS_HRCV_INT, "HRECV"}, + {REG_CPWM, MASKDWORD, "REG_CPWM"}, +}; + +static const struct rtw_hw_reg_desc fw_core_regs[] = { + {REG_ARFR2_V1, MASKDWORD, "EPC"}, + {REG_ARFRH2_V1, MASKDWORD, "BADADDR"}, + {REG_ARFR3_V1, MASKDWORD, "CAUSE"}, + {REG_ARFR3_V1, BIT_EXC_CODE, "ExcCode"}, + {REG_ARFRH3_V1, MASKDWORD, "Status"}, + {REG_ARFR4, MASKDWORD, "SP"}, + {REG_ARFRH4, MASKDWORD, "RA"}, + {REG_FW_DBG6, MASKDWORD, "DBG 6"}, + {REG_FW_DBG7, MASKDWORD, "DBG 7"}, +}; + +static void _rtw_fw_dump_dbg_info(struct rtw_dev *rtwdev, + const struct rtw_hw_reg_desc regs[], u32 size) +{ + const struct rtw_hw_reg_desc *reg; + u32 val; + int i; + + for (i = 0; i < size; i++) { + reg = ®s[i]; + val = rtw_read32_mask(rtwdev, reg->addr, reg->mask); + + rtw_dbg(rtwdev, RTW_DBG_FW, "[%s]addr:0x%x mask:0x%x value:0x%x\n", + reg->desc, reg->addr, reg->mask, val); + } +} + +void rtw_fw_dump_dbg_info(struct rtw_dev *rtwdev) +{ + int i; + + if (!rtw_dbg_is_enabled(rtwdev, RTW_DBG_FW)) + return; + + _rtw_fw_dump_dbg_info(rtwdev, fw_h2c_regs, ARRAY_SIZE(fw_h2c_regs)); + _rtw_fw_dump_dbg_info(rtwdev, fw_c2h_regs, ARRAY_SIZE(fw_c2h_regs)); + for (i = 0 ; i < RTW_DEBUG_DUMP_TIMES; i++) { + rtw_dbg(rtwdev, RTW_DBG_FW, "Firmware Coredump %dth\n", i + 1); + _rtw_fw_dump_dbg_info(rtwdev, fw_core_regs, ARRAY_SIZE(fw_core_regs)); + } +} + static void rtw_fw_c2h_cmd_handle_ext(struct rtw_dev *rtwdev, struct sk_buff *skb) { @@ -349,6 +422,7 @@ static void rtw_fw_send_h2c_command_register(struct rtw_dev *rtwdev, if (ret) { rtw_err(rtwdev, "failed to send h2c command\n"); + rtw_fw_dump_dbg_info(rtwdev); return; } @@ -709,12 +783,18 @@ void rtw_fw_beacon_filter_config(struct rtw_dev *rtwdev, bool connect, static const u8 rssi_min = 0, rssi_max = 100, rssi_offset = 100; struct rtw_sta_info *si = sta ? (struct rtw_sta_info *)sta->drv_priv : NULL; - s32 threshold = bss_conf->cqm_rssi_thold + rssi_offset; + s32 thold = RTW_DEFAULT_CQM_THOLD; + u32 hyst = RTW_DEFAULT_CQM_HYST; u8 h2c_pkt[H2C_PKT_SIZE] = {0}; if (!rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_BCN_FILTER)) return; + if (bss_conf->cqm_rssi_thold) + thold = bss_conf->cqm_rssi_thold; + if (bss_conf->cqm_rssi_hyst) + hyst = bss_conf->cqm_rssi_hyst; + if (!connect) { SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_BCN_FILTER_OFFLOAD_P1); SET_BCN_FILTER_OFFLOAD_P1_ENABLE(h2c_pkt, connect); @@ -731,15 +811,15 @@ void rtw_fw_beacon_filter_config(struct rtw_dev *rtwdev, bool connect, rtw_fw_send_h2c_command(rtwdev, h2c_pkt); memset(h2c_pkt, 0, sizeof(h2c_pkt)); - threshold = clamp_t(s32, threshold, rssi_min, rssi_max); + thold = clamp_t(s32, thold + rssi_offset, rssi_min, rssi_max); SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_BCN_FILTER_OFFLOAD_P1); SET_BCN_FILTER_OFFLOAD_P1_ENABLE(h2c_pkt, connect); SET_BCN_FILTER_OFFLOAD_P1_OFFLOAD_MODE(h2c_pkt, BCN_FILTER_OFFLOAD_MODE_DEFAULT); - SET_BCN_FILTER_OFFLOAD_P1_THRESHOLD(h2c_pkt, (u8)threshold); + SET_BCN_FILTER_OFFLOAD_P1_THRESHOLD(h2c_pkt, thold); SET_BCN_FILTER_OFFLOAD_P1_BCN_LOSS_CNT(h2c_pkt, BCN_LOSS_CNT); SET_BCN_FILTER_OFFLOAD_P1_MACID(h2c_pkt, si->mac_id); - SET_BCN_FILTER_OFFLOAD_P1_HYST(h2c_pkt, bss_conf->cqm_rssi_hyst); + SET_BCN_FILTER_OFFLOAD_P1_HYST(h2c_pkt, hyst); SET_BCN_FILTER_OFFLOAD_P1_BCN_INTERVAL(h2c_pkt, bss_conf->beacon_int); rtw_fw_send_h2c_command(rtwdev, h2c_pkt); } @@ -924,7 +1004,7 @@ static u8 rtw_get_rsvd_page_probe_req_location(struct rtw_dev *rtwdev, if (rsvd_pkt->type != RSVD_PROBE_REQ) continue; if ((!ssid && !rsvd_pkt->ssid) || - rtw_ssid_equal(rsvd_pkt->ssid, ssid)) + cfg80211_ssid_eq(rsvd_pkt->ssid, ssid)) location = rsvd_pkt->page; } @@ -941,7 +1021,7 @@ static u16 rtw_get_rsvd_page_probe_req_size(struct rtw_dev *rtwdev, if (rsvd_pkt->type != RSVD_PROBE_REQ) continue; if ((!ssid && !rsvd_pkt->ssid) || - rtw_ssid_equal(rsvd_pkt->ssid, ssid)) + cfg80211_ssid_eq(rsvd_pkt->ssid, ssid)) size = rsvd_pkt->probe_req_size; } diff --git a/sys/contrib/dev/rtw88/fw.h b/sys/contrib/dev/rtw88/fw.h index 43ccdf9965ac..e999c24e4634 100644 --- a/sys/contrib/dev/rtw88/fw.h +++ b/sys/contrib/dev/rtw88/fw.h @@ -29,6 +29,8 @@ #define BCN_FILTER_CONNECTION_LOSS 1 #define BCN_FILTER_CONNECTED 2 #define BCN_FILTER_NOTIFY_BEACON_LOSS 3 +#define RTW_DEFAULT_CQM_THOLD -70 +#define RTW_DEFAULT_CQM_HYST 4 #define SCAN_NOTIFY_TIMEOUT msecs_to_jiffies(10) @@ -44,6 +46,8 @@ #define RTW_OLD_PROBE_PG_CNT 2 #define RTW_PROBE_PG_CNT 4 +#define RTW_DEBUG_DUMP_TIMES 10 + enum rtw_c2h_cmd_id { C2H_CCX_TX_RPT = 0x03, C2H_BT_INFO = 0x09, @@ -808,6 +812,7 @@ static inline bool rtw_fw_feature_ext_check(struct rtw_fw_state *fw, return !!(fw->feature_ext & feature); } +void rtw_fw_dump_dbg_info(struct rtw_dev *rtwdev); void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset, struct sk_buff *skb); void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb); diff --git a/sys/contrib/dev/rtw88/mac.c b/sys/contrib/dev/rtw88/mac.c index 298663b03580..564f5988ee82 100644 --- a/sys/contrib/dev/rtw88/mac.c +++ b/sys/contrib/dev/rtw88/mac.c @@ -309,6 +309,13 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on) pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq; ret = rtw_pwr_seq_parser(rtwdev, pwr_seq); + if (pwr_on && rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) { + if (chip->id == RTW_CHIP_TYPE_8822C || + chip->id == RTW_CHIP_TYPE_8822B || + chip->id == RTW_CHIP_TYPE_8821C) + rtw_write8_clr(rtwdev, REG_SYS_STATUS1 + 1, BIT(0)); + } + if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_SDIO) rtw_write32(rtwdev, REG_SDIO_HIMR, imr); @@ -936,6 +943,12 @@ static int __rtw_download_firmware_legacy(struct rtw_dev *rtwdev, { int ret = 0; + /* reset firmware if still present */ + if (rtwdev->chip->id == RTW_CHIP_TYPE_8703B && + rtw_read8_mask(rtwdev, REG_MCUFW_CTRL, BIT_RAM_DL_SEL)) { + rtw_write8(rtwdev, REG_MCUFW_CTRL, 0x00); + } + en_download_firmware_legacy(rtwdev, true); ret = download_firmware_legacy(rtwdev, fw->firmware->data, fw->firmware->size); en_download_firmware_legacy(rtwdev, false); @@ -1026,14 +1039,15 @@ static void __rtw_mac_flush_prio_queue(struct rtw_dev *rtwdev, msleep(20); } - /* priority queue is still not empty, throw a warning, + /* priority queue is still not empty, throw a debug message * * Note that if we want to flush the tx queue when having a lot of * traffic (ex, 100Mbps up), some of the packets could be dropped. * And it requires like ~2secs to flush the full priority queue. */ if (!drop) - rtw_warn(rtwdev, "timed out to flush queue %d\n", prio_queue); + rtw_dbg(rtwdev, RTW_DBG_UNEXP, + "timed out to flush queue %d\n", prio_queue); } static void rtw_mac_flush_prio_queues(struct rtw_dev *rtwdev, @@ -1187,6 +1201,15 @@ static int __priority_queue_cfg(struct rtw_dev *rtwdev, rtw_write16(rtwdev, REG_FIFOPAGE_CTRL_2 + 2, fifo->rsvd_boundary); rtw_write16(rtwdev, REG_BCNQ1_BDNY_V1, fifo->rsvd_boundary); rtw_write32(rtwdev, REG_RXFF_BNDY, chip->rxff_size - C2H_PKT_BUF - 1); + + if (rtwdev->hci.type == RTW_HCI_TYPE_USB) { + rtw_write8_mask(rtwdev, REG_AUTO_LLT_V1, BIT_MASK_BLK_DESC_NUM, + chip->usb_tx_agg_desc_num); + + rtw_write8(rtwdev, REG_AUTO_LLT_V1 + 3, chip->usb_tx_agg_desc_num); + rtw_write8_set(rtwdev, REG_TXDMA_OFFSET_CHK + 1, BIT(1)); + } + rtw_write8_set(rtwdev, REG_AUTO_LLT_V1, BIT_AUTO_INIT_LLT_V1); if (!check_hw_ready(rtwdev, REG_AUTO_LLT_V1, BIT_AUTO_INIT_LLT_V1, 0)) diff --git a/sys/contrib/dev/rtw88/mac80211.c b/sys/contrib/dev/rtw88/mac80211.c index d01c5268191f..c158cb2e795a 100644 --- a/sys/contrib/dev/rtw88/mac80211.c +++ b/sys/contrib/dev/rtw88/mac80211.c @@ -62,7 +62,7 @@ static int rtw_ops_start(struct ieee80211_hw *hw) return ret; } -static void rtw_ops_stop(struct ieee80211_hw *hw) +static void rtw_ops_stop(struct ieee80211_hw *hw, bool suspend) { struct rtw_dev *rtwdev = hw->priv; @@ -293,9 +293,9 @@ static void rtw_ops_configure_filter(struct ieee80211_hw *hw, if (changed_flags & FIF_ALLMULTI) { if (*new_flags & FIF_ALLMULTI) - rtwdev->hal.rcr |= BIT_AM | BIT_AB; + rtwdev->hal.rcr |= BIT_AM; else - rtwdev->hal.rcr &= ~(BIT_AM | BIT_AB); + rtwdev->hal.rcr &= ~(BIT_AM); } if (changed_flags & FIF_FCSFAIL) { if (*new_flags & FIF_FCSFAIL) @@ -399,6 +399,8 @@ static void rtw_ops_bss_info_changed(struct ieee80211_hw *hw, rtw_coex_media_status_notify(rtwdev, vif->cfg.assoc); if (rtw_bf_support) rtw_bf_assoc(rtwdev, vif, conf); + + rtw_fw_beacon_filter_config(rtwdev, true, vif); } else { rtw_leave_lps(rtwdev); rtw_bf_disassoc(rtwdev, vif, conf); @@ -940,6 +942,10 @@ static void rtw_ops_sta_rc_update(struct ieee80211_hw *hw, } const struct ieee80211_ops rtw_ops = { + .add_chanctx = ieee80211_emulate_add_chanctx, + .remove_chanctx = ieee80211_emulate_remove_chanctx, + .change_chanctx = ieee80211_emulate_change_chanctx, + .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx, .tx = rtw_ops_tx, .wake_tx_queue = rtw_ops_wake_tx_queue, .start = rtw_ops_start, diff --git a/sys/contrib/dev/rtw88/main.c b/sys/contrib/dev/rtw88/main.c index cb4e0f92ae12..de94f750200e 100644 --- a/sys/contrib/dev/rtw88/main.c +++ b/sys/contrib/dev/rtw88/main.c @@ -231,9 +231,6 @@ static void rtw_watch_dog_work(struct work_struct *work) else clear_bit(RTW_FLAG_BUSY_TRAFFIC, rtwdev->flags); - rtw_coex_wl_status_check(rtwdev); - rtw_coex_query_bt_hid_list(rtwdev); - if (busy_traffic != test_bit(RTW_FLAG_BUSY_TRAFFIC, rtwdev->flags)) rtw_coex_wl_status_change_notify(rtwdev, 0); @@ -261,6 +258,8 @@ static void rtw_watch_dog_work(struct work_struct *work) /* make sure BB/RF is working for dynamic mech */ rtw_leave_lps(rtwdev); + rtw_coex_wl_status_check(rtwdev); + rtw_coex_query_bt_hid_list(rtwdev); rtw_phy_dynamic_mechanism(rtwdev); @@ -2030,6 +2029,11 @@ static int rtw_chip_efuse_info_setup(struct rtw_dev *rtwdev) efuse->ext_pa_5g = efuse->pa_type_5g & BIT(0) ? 1 : 0; efuse->ext_lna_2g = efuse->lna_type_5g & BIT(3) ? 1 : 0; + if (!is_valid_ether_addr(efuse->addr)) { + eth_random_addr(efuse->addr); + dev_warn(rtwdev->dev, "efuse MAC invalid, using random\n"); + } + out_disable: rtw_chip_efuse_disable(rtwdev); @@ -2049,8 +2053,6 @@ static int rtw_chip_board_info_setup(struct rtw_dev *rtwdev) rtw_phy_setup_phy_cond(rtwdev, hal->pkg_type); rtw_phy_init_tx_power(rtwdev); - if (rfe_def->agc_btg_tbl) - rtw_load_table(rtwdev, rfe_def->agc_btg_tbl); rtw_load_table(rtwdev, rfe_def->phy_pg_tbl); rtw_load_table(rtwdev, rfe_def->txpwr_lmt_tbl); rtw_phy_tx_power_by_rate_config(hal); @@ -2227,6 +2229,7 @@ EXPORT_SYMBOL(rtw_core_deinit); int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw) { + bool sta_mode_only = rtwdev->hci.type == RTW_HCI_TYPE_SDIO; struct rtw_hal *hal = &rtwdev->hal; int max_tx_headroom = 0; int ret; @@ -2255,10 +2258,12 @@ int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw) ieee80211_hw_set(hw, TX_AMSDU); ieee80211_hw_set(hw, SINGLE_SCAN_ON_ALL_BANDS); - hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | - BIT(NL80211_IFTYPE_AP) | - BIT(NL80211_IFTYPE_ADHOC) | - BIT(NL80211_IFTYPE_MESH_POINT); + if (sta_mode_only) + hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION); + else + hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_AP) | + BIT(NL80211_IFTYPE_ADHOC); hw->wiphy->available_antennas_tx = hal->antenna_tx; hw->wiphy->available_antennas_rx = hal->antenna_rx; @@ -2269,7 +2274,7 @@ int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw) hw->wiphy->max_scan_ssids = RTW_SCAN_MAX_SSIDS; hw->wiphy->max_scan_ie_len = rtw_get_max_scan_ie_len(rtwdev); - if (rtwdev->chip->id == RTW_CHIP_TYPE_8822C) { + if (!sta_mode_only && rtwdev->chip->id == RTW_CHIP_TYPE_8822C) { hw->wiphy->iface_combinations = rtw_iface_combs; hw->wiphy->n_iface_combinations = ARRAY_SIZE(rtw_iface_combs); } diff --git a/sys/contrib/dev/rtw88/main.h b/sys/contrib/dev/rtw88/main.h index e1d903bb88ee..8d754237db31 100644 --- a/sys/contrib/dev/rtw88/main.h +++ b/sys/contrib/dev/rtw88/main.h @@ -195,6 +195,7 @@ enum rtw_chip_type { RTW_CHIP_TYPE_8822C, RTW_CHIP_TYPE_8723D, RTW_CHIP_TYPE_8821C, + RTW_CHIP_TYPE_8703B, }; enum rtw_tx_queue_type { @@ -350,8 +351,10 @@ enum rtw_regulatory_domains { RTW_REGD_UKRAINE = 7, RTW_REGD_MEXICO = 8, RTW_REGD_CN = 9, - RTW_REGD_WW, + RTW_REGD_QATAR = 10, + RTW_REGD_UK = 11, + RTW_REGD_WW, RTW_REGD_MAX }; @@ -530,6 +533,12 @@ struct rtw_hw_reg { u32 mask; }; +struct rtw_hw_reg_desc { + u32 addr; + u32 mask; + const char *desc; +}; + struct rtw_ltecoex_addr { u32 ctrl; u32 wdata; @@ -1196,6 +1205,8 @@ struct rtw_chip_info { u16 fw_fifo_addr[RTW_FW_FIFO_MAX]; const struct rtw_fwcd_segs *fwcd_segs; + u8 usb_tx_agg_desc_num; + u8 default_1ss_tx_path; bool path_div_supported; @@ -1700,11 +1711,13 @@ struct rtw_dm_info { s8 delta_power_index[RTW_RF_PATH_MAX]; s8 delta_power_index_last[RTW_RF_PATH_MAX]; u8 default_ofdm_index; + u8 default_cck_index; bool pwr_trk_triggered; bool pwr_trk_init_trigger; struct ewma_thermal avg_thermal[RTW_RF_PATH_MAX]; s8 txagc_remnant_cck; s8 txagc_remnant_ofdm; + u8 rx_cck_agc_report_type; /* backup dack results for each path and I/Q */ u32 dack_adck[RTW_RF_PATH_MAX]; @@ -2090,18 +2103,6 @@ static inline struct ieee80211_vif *rtwvif_to_vif(struct rtw_vif *rtwvif) return container_of(p, struct ieee80211_vif, drv_priv); } -static inline bool rtw_ssid_equal(struct cfg80211_ssid *a, - struct cfg80211_ssid *b) -{ - if (!a || !b || a->ssid_len != b->ssid_len) - return false; - - if (memcmp(a->ssid, b->ssid, a->ssid_len)) - return false; - - return true; -} - static inline void rtw_chip_efuse_grant_on(struct rtw_dev *rtwdev) { if (rtwdev->chip->ops->efuse_grant) diff --git a/sys/contrib/dev/rtw88/pci.c b/sys/contrib/dev/rtw88/pci.c index 7554bac4902a..82e08f14f9b7 100644 --- a/sys/contrib/dev/rtw88/pci.c +++ b/sys/contrib/dev/rtw88/pci.c @@ -780,7 +780,8 @@ static void __pci_flush_queue(struct rtw_dev *rtwdev, u8 pci_q, bool drop) } if (!drop) - rtw_warn(rtwdev, "timed out to flush pci tx ring[%d]\n", pci_q); + rtw_dbg(rtwdev, RTW_DBG_UNEXP, + "timed out to flush pci tx ring[%d]\n", pci_q); } static void __rtw_pci_flush_queues(struct rtw_dev *rtwdev, u32 pci_queues, @@ -1529,6 +1530,7 @@ static void rtw_pci_phy_cfg(struct rtw_dev *rtwdev) { struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; const struct rtw_chip_info *chip = rtwdev->chip; + struct rtw_efuse *efuse = &rtwdev->efuse; struct pci_dev *pdev = rtwpci->pdev; const struct rtw_intf_phy_para *para; u16 cut; @@ -1577,6 +1579,9 @@ static void rtw_pci_phy_cfg(struct rtw_dev *rtwdev) rtw_err(rtwdev, "failed to set PCI cap, ret = %d\n", ret); } + + if (chip->id == RTW_CHIP_TYPE_8822C && efuse->rfe_option == 5) + rtw_write32_mask(rtwdev, REG_ANAPARSW_MAC_0, BIT_CF_L_V2, 0x1); } static int __maybe_unused rtw_pci_suspend(struct device *dev) @@ -1687,7 +1692,7 @@ static struct rtw_hci_ops rtw_pci_ops = { static int rtw_pci_request_irq(struct rtw_dev *rtwdev, struct pci_dev *pdev) { - unsigned int flags = PCI_IRQ_LEGACY; + unsigned int flags = PCI_IRQ_INTX; int ret; if (!rtw_disable_msi) @@ -1756,12 +1761,16 @@ static int rtw_pci_napi_poll(struct napi_struct *napi, int budget) return work_done; } -static void rtw_pci_napi_init(struct rtw_dev *rtwdev) +static int rtw_pci_napi_init(struct rtw_dev *rtwdev) { struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; - init_dummy_netdev(&rtwpci->netdev); - netif_napi_add(&rtwpci->netdev, &rtwpci->napi, rtw_pci_napi_poll); + rtwpci->netdev = alloc_netdev_dummy(0); + if (!rtwpci->netdev) + return -ENOMEM; + + netif_napi_add(rtwpci->netdev, &rtwpci->napi, rtw_pci_napi_poll); + return 0; } static void rtw_pci_napi_deinit(struct rtw_dev *rtwdev) @@ -1770,6 +1779,7 @@ static void rtw_pci_napi_deinit(struct rtw_dev *rtwdev) rtw_pci_napi_stop(rtwdev); netif_napi_del(&rtwpci->napi); + free_netdev(rtwpci->netdev); } int rtw_pci_probe(struct pci_dev *pdev, @@ -1819,7 +1829,11 @@ int rtw_pci_probe(struct pci_dev *pdev, goto err_pci_declaim; } - rtw_pci_napi_init(rtwdev); + ret = rtw_pci_napi_init(rtwdev); + if (ret) { + rtw_err(rtwdev, "failed to setup NAPI\n"); + goto err_pci_declaim; + } ret = rtw_chip_info_setup(rtwdev); if (ret) { @@ -1907,7 +1921,7 @@ void rtw_pci_shutdown(struct pci_dev *pdev) EXPORT_SYMBOL(rtw_pci_shutdown); MODULE_AUTHOR("Realtek Corporation"); -MODULE_DESCRIPTION("Realtek 802.11ac wireless PCI driver"); +MODULE_DESCRIPTION("Realtek PCI 802.11ac wireless driver"); MODULE_LICENSE("Dual BSD/GPL"); #if defined(__FreeBSD__) MODULE_VERSION(rtw_pci, 1); diff --git a/sys/contrib/dev/rtw88/pci.h b/sys/contrib/dev/rtw88/pci.h index 0c37efd8c66f..13988db1cb4c 100644 --- a/sys/contrib/dev/rtw88/pci.h +++ b/sys/contrib/dev/rtw88/pci.h @@ -215,7 +215,7 @@ struct rtw_pci { bool running; /* napi structure */ - struct net_device netdev; + struct net_device *netdev; struct napi_struct napi; u16 rx_tag; diff --git a/sys/contrib/dev/rtw88/phy.c b/sys/contrib/dev/rtw88/phy.c index 128e75a81bf3..37ef80c9091d 100644 --- a/sys/contrib/dev/rtw88/phy.c +++ b/sys/contrib/dev/rtw88/phy.c @@ -1761,12 +1761,15 @@ static void rtw_load_rfk_table(struct rtw_dev *rtwdev) void rtw_phy_load_tables(struct rtw_dev *rtwdev) { + const struct rtw_rfe_def *rfe_def = rtw_get_rfe_def(rtwdev); const struct rtw_chip_info *chip = rtwdev->chip; u8 rf_path; rtw_load_table(rtwdev, chip->mac_tbl); rtw_load_table(rtwdev, chip->bb_tbl); rtw_load_table(rtwdev, chip->agc_tbl); + if (rfe_def->agc_btg_tbl) + rtw_load_table(rtwdev, rfe_def->agc_btg_tbl); rtw_load_rfk_table(rtwdev); for (rf_path = 0; rf_path < rtwdev->hal.rf_path_num; rf_path++) { diff --git a/sys/contrib/dev/rtw88/ps.c b/sys/contrib/dev/rtw88/ps.c index 07e8cbd436cd..add5a20b8432 100644 --- a/sys/contrib/dev/rtw88/ps.c +++ b/sys/contrib/dev/rtw88/ps.c @@ -104,6 +104,7 @@ void rtw_power_mode_change(struct rtw_dev *rtwdev, bool enter) */ WARN(1, "firmware failed to ack driver for %s Deep Power mode\n", enter ? "entering" : "leaving"); + rtw_fw_dump_dbg_info(rtwdev); } } EXPORT_SYMBOL(rtw_power_mode_change); @@ -164,6 +165,7 @@ static void rtw_fw_leave_lps_check(struct rtw_dev *rtwdev) if (ret) { rtw_write32_clr(rtwdev, REG_TCR, BIT_PWRMGT_HWDATA_EN); rtw_warn(rtwdev, "firmware failed to leave lps state\n"); + rtw_fw_dump_dbg_info(rtwdev); } } diff --git a/sys/contrib/dev/rtw88/reg.h b/sys/contrib/dev/rtw88/reg.h index 7c6c11d50ff3..02ef9a77316b 100644 --- a/sys/contrib/dev/rtw88/reg.h +++ b/sys/contrib/dev/rtw88/reg.h @@ -224,12 +224,25 @@ #define REG_RXFF_BNDY 0x011C #define REG_FE1IMR 0x0120 #define BIT_FS_RXDONE BIT(16) +#define REG_CPWM 0x012C +#define REG_FWIMR 0x0130 +#define BIT_FS_H2CCMD_INT_EN BIT(4) +#define BIT_FS_HRCV_INT_EN BIT(5) +#define REG_FWISR 0x0134 +#define BIT_FS_H2CCMD_INT BIT(4) +#define BIT_FS_HRCV_INT BIT(5) #define REG_PKTBUF_DBG_CTRL 0x0140 #define REG_C2HEVT 0x01A0 #define REG_MCUTST_1 0x01C0 #define REG_MCUTST_II 0x01C4 #define REG_WOWLAN_WAKE_REASON 0x01C7 #define REG_HMETFR 0x01CC +#define BIT_INT_BOX0 BIT(0) +#define BIT_INT_BOX1 BIT(1) +#define BIT_INT_BOX2 BIT(2) +#define BIT_INT_BOX3 BIT(3) +#define BIT_INT_BOX_ALL (BIT_INT_BOX0 | BIT_INT_BOX1 | BIT_INT_BOX2 | \ + BIT_INT_BOX3) #define REG_HMEBOX0 0x01D0 #define REG_HMEBOX1 0x01D4 #define REG_HMEBOX2 0x01D8 @@ -257,6 +270,7 @@ #define BIT_MASK_BCN_HEAD_1_V1 0xfff #define REG_AUTO_LLT_V1 0x0208 #define BIT_AUTO_INIT_LLT_V1 BIT(0) +#define BIT_MASK_BLK_DESC_NUM GENMASK(7, 4) #define REG_DWBCN0_CTRL 0x0208 #define BIT_BCN_VALID BIT(16) #define REG_TXDMA_OFFSET_CHK 0x020C @@ -338,6 +352,11 @@ #define BIT_EN_GNT_BT_AWAKE BIT(3) #define BIT_EN_EOF_V1 BIT(2) #define REG_DATA_SC 0x0483 +#define REG_ARFR2_V1 0x048C +#define REG_ARFRH2_V1 0x0490 +#define REG_ARFR3_V1 0x0494 +#define BIT_EXC_CODE GENMASK(6, 2) +#define REG_ARFRH3_V1 0x0498 #define REG_ARFR4 0x049C #define BIT_WL_RFK BIT(0) #define REG_ARFRH4 0x04A0 @@ -539,6 +558,9 @@ #define REG_RFE_INV16 0x0cbe #define BIT_RFE_BUF_EN BIT(3) +#define REG_ANAPARSW_MAC_0 0x1010 +#define BIT_CF_L_V2 GENMASK(29, 28) + #define REG_ANAPAR_XTAL_0 0x1040 #define BIT_XCAP_0 GENMASK(23, 10) #define REG_CPU_DMEM_CON 0x1080 @@ -548,11 +570,16 @@ #define REG_H2C_PKT_READADDR 0x10D0 #define REG_H2C_PKT_WRITEADDR 0x10D4 +#define REG_FW_DBG6 0x10F8 #define REG_FW_DBG7 0x10FC #define FW_KEY_MASK 0xffffff00 #define REG_CR_EXT 0x1100 +#define REG_FT1IMR 0x1138 +#define BIT_FS_H2C_CMD_OK_INT_EN BIT(25) +#define REG_FT1ISR 0x113c +#define BIT_FS_H2C_CMD_OK_INT BIT(25) #define REG_DDMA_CH0SA 0x1200 #define REG_DDMA_CH0DA 0x1204 #define REG_DDMA_CH0CTRL 0x1208 diff --git a/sys/contrib/dev/rtw88/regd.c b/sys/contrib/dev/rtw88/regd.c index 2f547cbcf6da..7f3b2ea3f2a5 100644 --- a/sys/contrib/dev/rtw88/regd.c +++ b/sys/contrib/dev/rtw88/regd.c @@ -70,16 +70,16 @@ static const struct rtw_regulatory rtw_reg_map[] = { COUNTRY_REGD_ENT("BY", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("BZ", RTW_REGD_FCC, RTW_REGD_FCC), COUNTRY_REGD_ENT("CA", RTW_REGD_IC, RTW_REGD_IC), - COUNTRY_REGD_ENT("CC", RTW_REGD_ETSI, RTW_REGD_ETSI), + COUNTRY_REGD_ENT("CC", RTW_REGD_ACMA, RTW_REGD_ACMA), COUNTRY_REGD_ENT("CD", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("CF", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("CG", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("CH", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("CI", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("CK", RTW_REGD_ETSI, RTW_REGD_ETSI), - COUNTRY_REGD_ENT("CL", RTW_REGD_FCC, RTW_REGD_FCC), + COUNTRY_REGD_ENT("CL", RTW_REGD_CHILE, RTW_REGD_CHILE), COUNTRY_REGD_ENT("CM", RTW_REGD_ETSI, RTW_REGD_ETSI), - COUNTRY_REGD_ENT("CN", RTW_REGD_ETSI, RTW_REGD_ETSI), + COUNTRY_REGD_ENT("CN", RTW_REGD_CN, RTW_REGD_CN), COUNTRY_REGD_ENT("CO", RTW_REGD_FCC, RTW_REGD_FCC), COUNTRY_REGD_ENT("CR", RTW_REGD_FCC, RTW_REGD_FCC), COUNTRY_REGD_ENT("CV", RTW_REGD_ETSI, RTW_REGD_ETSI), @@ -106,7 +106,7 @@ static const struct rtw_regulatory rtw_reg_map[] = { COUNTRY_REGD_ENT("FO", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("FR", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("GA", RTW_REGD_ETSI, RTW_REGD_ETSI), - COUNTRY_REGD_ENT("GB", RTW_REGD_ETSI, RTW_REGD_ETSI), + COUNTRY_REGD_ENT("GB", RTW_REGD_UK, RTW_REGD_UK), COUNTRY_REGD_ENT("GD", RTW_REGD_FCC, RTW_REGD_FCC), COUNTRY_REGD_ENT("GE", RTW_REGD_ETSI, RTW_REGD_ETSI), COUNTRY_REGD_ENT("GF", RTW_REGD_ETSI, RTW_REGD_ETSI), @@ -214,7 +214,7 @@ static const struct rtw_regulatory rtw_reg_map[] = { *** 12010 LINES SKIPPED *** From nobody Mon Feb 10 14:52:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xd23DJz5mH1t; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xc4LZFz4LX7; Mon, 10 Feb 2025 14:52:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W4QnykDaOi8CJLW8OLhx9MiXvWWPyc9l3eVK4/3mNiU=; b=prGt2Js/G2D57DqdWyqZqgP98X3sW+CTu0Z2tZIbHTeyhcWCJgvGlNhcTI9P9sQzfcsB2F IzQjw3iL8t2od8hgBxJCVVOKJ3sM+UpzOj06WhZGDkfvaIlIEWPdxmN1NmD3954zpDUBPr hXyX55BBWsHptG1xzdB58wBVfWbSLNfw60VCItwHT9H6HjJ/IEAcwjTURzptwLidKbSjSx bNu2EFmazToLyGadNn9M5nhgU9gcupwmYGSowmVGshEMJze2ZEU+ZWjVLnrM/e1JbAQsC5 o1bJgFwax5JVjnZ+SsbqoS1oqVaGH8W9oNz7I0y50y+m4gChIarJpQgRNyKu4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W4QnykDaOi8CJLW8OLhx9MiXvWWPyc9l3eVK4/3mNiU=; b=DNfvUO1MKFyb2Mvv4fzINZlSwUa2eMBwc0B9kdG5ipPO8hDm+MmXLFymR9grNuLgYjIyfq wfpzi0w2jCkoF2AABZvwpY+M8x/83IILlfxXCXU81bJr6/d0j+KwkvBiX+0iEpkOfOih5j oZl+gCPJNlmdQm85BBeTG6ILhnYt1TCJbzcKNb1mYk0qGsqXoNw3QAzV0EWSAScW3ra5DO wMYPDjUeHQg/ahz1SEFYar1HRM/uoezX5m+aGA2k6Xscta2S2vhko9u8nL4TMzX87dMYmI MteyXu6hwbhZpXd6ONeozAtwLmnm+dxcUSce7pKAHMIs7pSXwJg+KM5qEbc4Fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199156; a=rsa-sha256; cv=none; b=Ar5gETBpEIVNqfeEtYgw/RlcfJFXSokY4tAPQcBrbfAwwALSixMyef7iEYKxcPFBORjNZy k2LwpEmpzHXktlxooNvIjyE1YAY8DwdAThSQO22IryAZGPdvpfKlazf7UTUVFoWuxDrnUD MimVcPco7e2IkRCxw6wkKBfKbsMc8g+XyUfKwms5HRZjxImJ0DkMpZfvMQl2Rek8DLC1aN 9HKKfx0nnBTF4/US1uGmObIcnozhDXXOa93rfHiBzQY48I+hTjKvyBvj+m6+W/v2SEZQ1L LsavXelXVFE/byvYnMWURjFRgz7B6IVI5Q6GPuAL4klSDrpgId1vL0B9BoohJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xc38rKzWgS; Mon, 10 Feb 2025 14:52: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 51AEqa0p027746; Mon, 10 Feb 2025 14:52:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqasE027742; Mon, 10 Feb 2025 14:52:36 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:36 GMT Message-Id: <202502101452.51AEqasE027742@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: e7f646183711 - stable/14 - net80211: add missing reference for struct ieee80211_vht_mcs_info List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e7f6461837115adba224d0b81d0a12e11cabee35 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e7f6461837115adba224d0b81d0a12e11cabee35 commit e7f6461837115adba224d0b81d0a12e11cabee35 Author: Bjoern A. Zeeb AuthorDate: 2024-11-28 23:28:59 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:08 +0000 net80211: add missing reference for struct ieee80211_vht_mcs_info Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47836 (cherry picked from commit 4294f1cac15300046369d7e464ce96363839757c) --- sys/net80211/ieee80211.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 47e496bf42a1..fe5e1088e130 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -856,6 +856,7 @@ enum ieee80211_vht_mcs_support { IEEE80211_VHT_MCS_NOT_SUPPORTED = 3 /* not supported */ }; +/* 802.11ac-2013, 8.4.2.160.3 Supported VHT-MCS and NSS Set field */ struct ieee80211_vht_mcs_info { uint16_t rx_mcs_map; uint16_t rx_highest; From nobody Mon Feb 10 14:52:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xc5cbDz5mGdT; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xc3vb8z4LPX; Mon, 10 Feb 2025 14:52:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NcLr/S5xr54SCTIlY2X6oqFJoW3Px2wtH98gl6cJmk=; b=gagYfmHwyM270iEk5htpeW9/NWGyHu3mWQZuI55cmjKs+A6YWxUjFjSxxqUKjzhUjTBcQq 1lGkdZVt2pxcauuP4NkMtVpGBXgnls5Ca855pEJq4IVfn+Eiu+EBO9a87L3bqyDwHGrPU2 hQ/a37arVzeJZc9hR/NF0DJUo/YmI1UhJAdybAZkEzMqj4I2/fnKbm7dET5Ma3/h9EGqOe WJaj0vfeDvWRg7t2t3bX0UXzjs3EYBqakBRY8TMIWiaz+gkrBDH1tjaW0CH1ZD3YHo8Rr6 Ko1J6vG+AlH2l4KYJ9dsrtfcNbJBnTi4rVQPJEylTbaE7TlthVKO81Nm4Dot9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9NcLr/S5xr54SCTIlY2X6oqFJoW3Px2wtH98gl6cJmk=; b=o+9BPxhrlVoCQo2xdMt4sTM0DjHMbR2SSv9DrVtf/r5c2B1SB5hMtfTmSJSw2vmyRkJ9HV DGc/qeFAqc4d9VPlB5sSdALXJxOqjFpwmuKTfXupHBij/sVD3o0hrwH3EIEIHRyFm9vF0E ftjbeSWs84/YSeZ+Yi3zPvfLvPf+EVWWpBONETrQvdAqKSaveE3zews76Z30FAa/fFkXeC TjwxP++3JwIQ2CzzIp3/FB0d/WmfLMkjUHNGS5LathyZR18ryg+qMJrSV6H3i6hCpK/0hQ 65lpgS4nzEjxFNMElTVhOn0tIlcrajsqtvICsQxpc/A1UAIXL5QZk99XGb4AyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199156; a=rsa-sha256; cv=none; b=wLmWFvc3gjcL/f58NhMpnYEK7awJ1+vsDP+PgcpaAV3F7cdaoR3gA5eHVhd8RjkbDK2Kkv yXhZBo8oCX2OuBSY9CA2w+01gxk20XVBA2F2FP8/FIjM0V1NBsvK2P6LCBiBqIOh9eODi3 b7YFJ9EPLh1bem4e97bGJIL/TRsu5YIbu8bYFk7UDFc960rNVC2iaj71nwUBsGAz1hpWKV dRLypsDjyU93aHpanqRz4TSMyYztWN1YNOS5iVbGBTfH2ekN/yG3BSQ3EOC05HeFH8mSeJ zDHxkjOQf3KpmyFR5izuSqimiDKrzOPiZTKp1m7/AoIEKkoKWQLDhlfNFX+yOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xb3sktzWgR; Mon, 10 Feb 2025 14:52: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 51AEqZbv027696; Mon, 10 Feb 2025 14:52:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqZRP027693; Mon, 10 Feb 2025 14:52:35 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:35 GMT Message-Id: <202502101452.51AEqZRP027693@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: 25017e9971d6 - stable/14 - LinuxKPI: firmware: change order filenames trying to load firmware List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 25017e9971d6fe56618dcb5a5fb999f1c1d9e5fe Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=25017e9971d6fe56618dcb5a5fb999f1c1d9e5fe commit 25017e9971d6fe56618dcb5a5fb999f1c1d9e5fe Author: Bjoern A. Zeeb AuthorDate: 2024-11-20 13:12:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:08 +0000 LinuxKPI: firmware: change order filenames trying to load firmware Given we have the support in main and stable/14 to load plain firmware files from /boot/firmware/ make use of that. Switch the order to try the original unmangled filename and path first before trying any replacements. This reduces time and console noise (especially under bootverbose). Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D47682 (cherry picked from commit 30d2f84ef2cba12c67c62a9fe4e1d8e22cf27bf9) --- sys/compat/linuxkpi/common/src/linux_firmware.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_firmware.c b/sys/compat/linuxkpi/common/src/linux_firmware.c index 17da91381280..12658df5ce83 100644 --- a/sys/compat/linuxkpi/common/src/linux_firmware.c +++ b/sys/compat/linuxkpi/common/src/linux_firmware.c @@ -88,17 +88,17 @@ _linuxkpi_request_firmware(const char *fw_name, const struct linuxkpi_firmware * * way rather than adding more name-mangling-hacks here in the future * (though we could if needed). */ - /* (1) Try any name removed of path. */ - fwimg = strrchr(fw_name, '/'); - if (fwimg != NULL) - fwimg++; - if (fwimg == NULL || *fwimg == '\0') - fwimg = fw_name; - fbdfw = firmware_get_flags(fwimg, flags); - /* (2) Try the original name if we have not yet. */ - if (fbdfw == NULL && fwimg != fw_name) { - fwimg = fw_name; - fbdfw = firmware_get_flags(fwimg, flags); + /* (1) Try the original name. */ + fbdfw = firmware_get_flags(fw_name, flags); + /* (2) Try any name removed of path, if we have not yet. */ + if (fbdfw == NULL) { + fwimg = strrchr(fw_name, '/'); + if (fwimg != NULL) + fwimg++; + if (fwimg == NULL || *fwimg == '\0') + fwimg = fw_name; + if (fwimg != fw_name) + fbdfw = firmware_get_flags(fwimg, flags); } /* (3) Flatten '/', '.' and '-' to '_' and try with adjusted name. */ if (fbdfw == NULL && From nobody Mon Feb 10 14:52:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xf6pHdz5mH1v; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xd5pczz4LZ6; Mon, 10 Feb 2025 14:52:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wiCAZ7k9pm1P/edVrBM8mRMAodfktrUJA9h771k1JRM=; b=qvznS0q47fmXZPkh+OpGlXbKwyPfXTZQbu80YQg9P1KuBRC565QTeGal3xLBGn+GQiUjD+ Vll6TjmxhPRi0aEMBIqYpNpRn9S455EPODga6vPqfooj4c+bbSw+5eA1CreMUKaSOWaAyB EITffAdbLzgXJc92g62aYE02Cdu3ipC7HYZt2o+tdOWyRpLs80wzleSYEWjAgVqfiagoLC h6hFV4yynPj/rmtxt+W697LS8mag0LIWtep3cxHui9YSL7paxOtMhiV+QpKXkl7EoLKd7V UJ9s8eQhkCmlLYEfAC/B79+hxyRgNEJwPK2V+zkMjIkmovn45ITptxje2XNMVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wiCAZ7k9pm1P/edVrBM8mRMAodfktrUJA9h771k1JRM=; b=Lg+SMFI3DDhKDQm11M8z8OdvqookLs69cDTYOjxe4NsV2xs2RoKSMKpfLvb/KMDt5GEuuT ktEDdDYYF7p5GsVEcOvlUBYDYFU/f2GDCe/5Rt2TF8K3a2zX9ke7z1T7epOBSICIf3V2Oi gDontclxw94WIMOOGyvC92O0XS1QO68Ov5B+mZ9TQnOlVA9MCVD5bP5nsik4DVaSw5Bjtu Jcd9RRuf3ZOuTlcZFjORbneA5i0vIqksBgA1pdtDASbq0S60wy8Uk8+iDIE2ig8VH4We+2 jUlYwgdTrd6Gnn0dQubE9V24Rj6cwvEhAkB6WjEZ8d3pnb1YPveLQqzapgeJkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199157; a=rsa-sha256; cv=none; b=GhBIhhb9HlGoEesqW7DMgIvT26ozbcf6UzZekaxcTSkx8r8PTM/WdFAQcsMzdLO27iA4Bw aVXA5E4P2UJmk7OrvB4Ic8vFmtg+edAcJaK2pBB5zkoKOtsu6If31mBJmPKCauiRALid4n KqecvkrcPGLtDDOZW5cTBmE49dnaQQvbOLT4FbhOpK4/jFvsVAz3fdlS/ng0as5ZZMBkz8 tiNy2JWI8Id8CsIRNCy8zS1lmYHOEJdpTcZt01phZ3YJpEMDUH8jvLGjyyzrdztJsrV+XK YBuDVHIMm00Pcqx8wm/WhkI4vmRh0xTKcOfMypY5VoH06pfA3w2EI8u47Hy/fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xd3cW1zXWF; Mon, 10 Feb 2025 14:52: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 51AEqbK9027783; Mon, 10 Feb 2025 14:52:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqb6E027780; Mon, 10 Feb 2025 14:52:37 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:37 GMT Message-Id: <202502101452.51AEqb6E027780@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: b6d4dc0b30f2 - stable/14 - net80211: name IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_{NONE -> NO160} List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b6d4dc0b30f26b5f1add8b501ffb10fe5947a326 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b6d4dc0b30f26b5f1add8b501ffb10fe5947a326 commit b6d4dc0b30f26b5f1add8b501ffb10fe5947a326 Author: Bjoern A. Zeeb AuthorDate: 2024-11-28 23:37:31 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:08 +0000 net80211: name IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_{NONE -> NO160} IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_NONE is confusing as the field does indicate that the STA does not support 160 (or 80+80) Mhz. [802.11ac: Table 8-183v-Subfields of the VHT Capabilities Info field] All the other bits are related to the support of 160Mhz so make it clear that it does not mean that we do not support any VHT CHAN WIDTH but merely do not support the optional 160/80+80. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47837 (cherry picked from commit 116102101a566ec8924b397c1523d362008fb35c) --- sys/net80211/ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index fe5e1088e130..af411016a170 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -899,7 +899,7 @@ struct ieee80211_vht_operation { #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK 0x0000000C #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK_S 2 -#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_NONE 0 +#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_NO160 0 #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160MHZ 1 #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160_80P80MHZ 2 #define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_RESERVED 3 From nobody Mon Feb 10 14:52:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xh4JN5z5mGh4; Mon, 10 Feb 2025 14:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xf67Fnz4L9N; Mon, 10 Feb 2025 14:52:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AFOYh5c1EVgzbgapVDTovFcMjpGDc5w2HcNWV7M79D0=; b=MUf3XNvcMg9DIMN2a+Gy3/ekt5CHuGEOtAw1IZ/3J3aCSmn0R1brsla48rPcHG+94bRRD/ dcfZotDYcFPymO7KBRmjT2Lif4WY2he5SKuvE7NskgbNb31KckORwlwWXxjrIL2/LmigoG yRTAB9ENQ7d2JQtZDsXw0H5EnazBIY7QQ4Il5BdfnnDOvYCycaJM6uSs+LdmrPdHwTLKJ7 C/OPUXJrbY+1JPNo6qh1QwwS43dWxwp8kdkXHSjmLZrkGxUXMVo9lSsU6lDrID5rNcnZDb aVUtYPNTNKXWAy//9dtktKsvQY+BOlIxntDteXdERn6OgD/BRxPSN+kY5/22uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AFOYh5c1EVgzbgapVDTovFcMjpGDc5w2HcNWV7M79D0=; b=PJ/jhX4phePY0Qrz5mNy9m1Vc/2G1Qm7ivbrIldWI5BGfdCigElBU7QhGyad2gvO7pJ5pF jMM98q4B/2pEEIXhmEWQKhRXD2tiu25jp9TvvjYYW4T6qTEefUkf5t6mWUKINGLPFk6jZ3 /6GRdK3RnlrDqQZjUR8621rB+MTOfewfe0w7BUdVdQNH640mUMb40WNF6sQk2XDRYgfqDj VLbd1dv2MclI5aZYTAKvWOlovgKd9sNngFMQTX1sTUv27l8KNHpQCUdt5gCf0zpZ+6AWca SYiCMXfD7V+p4LsdUiZIdCsXuZR1+gcR/SD1Jj4THJhHMGBspx+rXEMMGU/kjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199158; a=rsa-sha256; cv=none; b=Hcj2aNH0LpI0s7x1ll/dDafcZtFARFG+AJl8fcUF5NXmoWf9kRjSw1KVfFJ1wLngs1ScFv 1TJQWW44BDUThHLE7F69tPymO1czn9p+RC9HJjDjIAm8+RRCkptezsRFZ4xUA/2QCjqa7v qU6ln+RJuBbUGu2b5bGMMLhvT9i2K95W0wyaNuvNgi38HTZKgGuCyTmZ2HLluFm50uXcFH 8kIH+vLUKdCJP1PSlpeOh/AU+ySKi7dt7Pv+YXGOPM4zR5aRn/v8myW/8Fu59fh4Lil0N6 sWduSNZ+KTXVtjzyH9bPuvB5mwswkv5op6HyFkoN0rB0wrDFv/Chieyl7VTLRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xf4P96zXJx; Mon, 10 Feb 2025 14:52: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 51AEqcpf027820; Mon, 10 Feb 2025 14:52:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqc1t027817; Mon, 10 Feb 2025 14:52:38 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:38 GMT Message-Id: <202502101452.51AEqc1t027817@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: 36ace2a923e1 - stable/14 - net80211: 11ac: add options to manage VHT STBC List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 36ace2a923e1e1d51dc775d85c95001cb7e9430e Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=36ace2a923e1e1d51dc775d85c95001cb7e9430e commit 36ace2a923e1e1d51dc775d85c95001cb7e9430e Author: Bjoern A. Zeeb AuthorDate: 2024-11-28 23:54:17 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:08 +0000 net80211: 11ac: add options to manage VHT STBC Add IEEE80211_FVHT_STBC_(TX|RX) flags to allow userspace to manage if STBC will be allowed for VHT RX/TX. For RX this will only allow us to turn it off but no fine grained control of the number of supported spatial streams. Introduce IEEE80211_FVHT_CHANWIDTH_MASK as a helper to make the spelling out of the IEEE80211_FVHT_MASK more readable. Update ifconfig to allow setting of these flags. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47838 (cherry picked from commit 243f6925bf818a64f3c996c6a89fec6c8a6ff058) --- sbin/ifconfig/ifieee80211.c | 8 ++++++++ sys/net80211/ieee80211.c | 4 ++++ sys/net80211/ieee80211_ioctl.c | 20 ++++++++++++++++++++ sys/net80211/ieee80211_var.h | 12 ++++++++++-- sys/net80211/ieee80211_vht.c | 6 ++---- 5 files changed, 44 insertions(+), 6 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index c6875785f8f5..25de7fb13632 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -135,6 +135,8 @@ #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ #define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ #define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */ +#define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */ #endif /* Helper macros unified. */ @@ -6038,6 +6040,12 @@ static struct cmd ieee80211_cmds[] = { DEF_CMD("-vht160", -IEEE80211_FVHT_USEVHT160, set80211vhtconf), DEF_CMD("vht80p80", IEEE80211_FVHT_USEVHT80P80, set80211vhtconf), DEF_CMD("-vht80p80", -IEEE80211_FVHT_USEVHT80P80, set80211vhtconf), + DEF_CMD("vhtstbctx", IEEE80211_FVHT_STBC_TX, set80211vhtconf), + DEF_CMD("-vhtstbctx", -IEEE80211_FVHT_STBC_TX, set80211vhtconf), + DEF_CMD("vhtstbcrx", IEEE80211_FVHT_STBC_RX, set80211vhtconf), + DEF_CMD("-vhtstbcrx", -IEEE80211_FVHT_STBC_RX, set80211vhtconf), + DEF_CMD("vhtstbc", (IEEE80211_FVHT_STBC_TX|IEEE80211_FVHT_STBC_RX), set80211vhtconf), + DEF_CMD("-vhtstbc", -(IEEE80211_FVHT_STBC_TX|IEEE80211_FVHT_STBC_RX), set80211vhtconf), DEF_CMD("rifs", 1, set80211rifs), DEF_CMD("-rifs", 0, set80211rifs), DEF_CMD("smps", IEEE80211_HTCAP_SMPS_ENA, set80211smps), diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index 4afa3f3e9749..9fb424887834 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -710,6 +710,8 @@ ieee80211_vap_attach(struct ieee80211vap *vap, ifm_change_cb_t media_change, ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_USEVHT80); ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_USEVHT160); ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_USEVHT80P80); + ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_STBC_TX); + ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_STBC_RX); IEEE80211_UNLOCK(ic); return 1; @@ -767,6 +769,8 @@ ieee80211_vap_detach(struct ieee80211vap *vap) ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_USEVHT80); ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_USEVHT160); ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_USEVHT80P80); + ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_STBC_TX); + ieee80211_syncflag_vht_locked(ic, IEEE80211_FVHT_STBC_RX); /* NB: this handles the bpfdetach done below */ ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_BPF); diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index d5b242b679d0..8432bf4bcbfd 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -3502,6 +3502,26 @@ ieee80211_ioctl_set80211(struct ieee80211vap *vap, u_long cmd, struct ieee80211r else ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_USEVHT80P80); + /* Check if we can do STBC TX/RX before changing the setting. */ + if ((ireq->i_val & IEEE80211_FVHT_STBC_TX) && + ((vap->iv_vht_cap.vht_cap_info & IEEE80211_VHTCAP_TXSTBC) == 0)) + return EOPNOTSUPP; + if ((ireq->i_val & IEEE80211_FVHT_STBC_RX) && + ((vap->iv_vht_cap.vht_cap_info & IEEE80211_VHTCAP_RXSTBC_MASK) == 0)) + return EOPNOTSUPP; + + /* TX */ + if (ireq->i_val & IEEE80211_FVHT_STBC_TX) + ieee80211_syncflag_vht(vap, IEEE80211_FVHT_STBC_TX); + else + ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_STBC_TX); + + /* RX */ + if (ireq->i_val & IEEE80211_FVHT_STBC_RX) + ieee80211_syncflag_vht(vap, IEEE80211_FVHT_STBC_RX); + else + ieee80211_syncflag_vht(vap, -IEEE80211_FVHT_STBC_RX); + error = ENETRESET; break; diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index d41fb1e6559c..4c5dbcb7cfc0 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -733,12 +733,20 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ #define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ #define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ -#define IEEE80211_FVHT_MASK \ +#define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */ +#define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */ + +#define IEEE80211_FVHT_CHANWIDTH_MASK \ (IEEE80211_FVHT_VHT | IEEE80211_FVHT_USEVHT40 | \ IEEE80211_FVHT_USEVHT80 | IEEE80211_FVHT_USEVHT160 | \ IEEE80211_FVHT_USEVHT80P80) + +#define IEEE80211_FVHT_MASK \ + (IEEE80211_FVHT_CHANWIDTH_MASK | \ + IEEE80211_FVHT_STBC_TX | IEEE80211_FVHT_STBC_RX) + #define IEEE80211_VFHT_BITS \ - "\20\1VHT\2VHT40\3VHT80\4VHT160\5VHT80P80" + "\20\1VHT\2VHT40\3VHT80\4VHT160\5VHT80P80\6STBC_TX\7STBC_RX" #define IEEE80211_COM_DETACHED 0x00000001 /* ieee80211_ifdetach called */ #define IEEE80211_COM_REF_ADD 0x00000002 /* add / remove reference */ diff --git a/sys/net80211/ieee80211_vht.c b/sys/net80211/ieee80211_vht.c index 77a36a395d5c..6e7171631850 100644 --- a/sys/net80211/ieee80211_vht.c +++ b/sys/net80211/ieee80211_vht.c @@ -443,8 +443,7 @@ ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, IEEE80211_VHTCAP_RXSTBC_MASK); } val = MIN(val1, val2); - /* XXX For now, use the 11n config flag */ - if ((vap->iv_flags_ht & IEEE80211_FHT_STBC_TX) == 0) + if ((vap->iv_vht_flags & IEEE80211_FVHT_STBC_TX) == 0) val = 0; new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_TXSTBC); @@ -457,8 +456,7 @@ ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, IEEE80211_VHTCAP_TXSTBC); } val = MIN(val1, val2); - /* XXX For now, use the 11n config flag */ - if ((vap->iv_flags_ht & IEEE80211_FHT_STBC_RX) == 0) + if ((vap->iv_vht_flags & IEEE80211_FVHT_STBC_RX) == 0) val = 0; new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_RXSTBC_MASK); From nobody Mon Feb 10 14:52:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xk0F6Lz5mH20; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xh3BSjz4LV1; Mon, 10 Feb 2025 14:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4tPTL2rXr0qIMDVSphjjWYIRZ5w6uyYV3HUs/Ha8MM=; b=nKTjI3GFSlUuwPaqey4xlgCl2dFPeSCoXapNHZzVEXjP7Ao+ygrGpLTlLPFUWvqRiiw5iD QYI8occmn5sUe3zDI1XooXkUeXzF42CjBxmVXtlehBVx1bBwzUXAg/m3CA4muGpw+YySMK zuMPtKqLgJLgIadVwLY0yKChP1l1aWfkW+MuQGA9dibW6xpT6a7XmiA5jKQbe+c74UX/XE FcXTjz9DPBmdsKFvTgh+Cu7rQZ6yRwHbMw+uBd+nV+9umfa3Qk4VjEwncFX+LqWGeDyjXU XOkhGAyjjr9RFwX7IkVXdMPEZBjzHiTqzjAXwVTFLuqjAqkELpND0XxdtsVCoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4tPTL2rXr0qIMDVSphjjWYIRZ5w6uyYV3HUs/Ha8MM=; b=yjLxfAagA5IZjG9SN7AeKXgKj2k9SJufDsWTxPCvxMMR3T2hAOFpF0GZDl9sEX6LU8hgyw 46YQbDM6eZUxs45fVjyTOv/AKK+Ya/wasZZsDSA8rC/dPF5aCKoK7HXyVXE4XWCmpfN6YD 68dt9JEW6eJWsdlrV3dK05UeHLglwUyVLgHZRKivdqaCB6Na+4rNR6mvls6SN+lMQj8JPy nAIwUefTZhJPAxvtfqQOOFAq0Mb9SNnSM2WW6Alub7uuPaZ/QXs6dIGimmtwiCSv/maYYg /aXffTwm2AY+0QHjj4KP6FkJU5oyvhrv8XR9OPJpRqHy6oHDt20ZyLooshIk1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199160; a=rsa-sha256; cv=none; b=fWzttjKXpYQY8VvrhzLDdO+qifjZ/uD+PXWRtqAFY/E469DElHI7MltceX8Z9blZl4yO6D +oN3npGePSQqgrl6WBjxKgcPY0CaShHqz9Vwnpx/JEaF7/GwxVfzYDBLcygygxRN38MN+a BrFvPHNQ7EFM/B6+2vjawtKli7toxnCQKQwtW4MkCv9OPNDbflwjRf9a7V9pJNLy7PArvy t3i10/3tQwPMIDf7oSBkd4Achqo0yCR3i4cDnqV6uD3WwCeFyn4sKGhAalM/frmjeAygOn yWUJ3WbdYesK989X2VKhPOZeO7BbIZYWDIfi1GdLG1hiBcNOeS6eAZ7knye8qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xg5JLyzXJw; Mon, 10 Feb 2025 14:52: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 51AEqdMu027857; Mon, 10 Feb 2025 14:52:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqdAU027854; Mon, 10 Feb 2025 14:52:39 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:39 GMT Message-Id: <202502101452.51AEqdAU027854@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: c5978cd3e49a - stable/14 - net80211 / LinuxKPI 802.11: use enum ieee80211_sta_rx_bw for ni_chw List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c5978cd3e49a462fe799ff745208b7b0f7ac7ab1 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c5978cd3e49a462fe799ff745208b7b0f7ac7ab1 commit c5978cd3e49a462fe799ff745208b7b0f7ac7ab1 Author: Bjoern A. Zeeb AuthorDate: 2024-12-03 17:43:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:08 +0000 net80211 / LinuxKPI 802.11: use enum ieee80211_sta_rx_bw for ni_chw net80211 node ni_chw currently encodes the channel width as Mhz number. LinuxKPI 802.11 uses enum ieee80211_sta_rx_bw for the same. Rather than keeping the "20" and "40" throughout the code (eventually expanded to 80/160/320) switch them over to use the enum throughout. Once we get to 320Mhz channel widths we would otherwise also need to extend the uint8_t in struct ieee80211_node; making enum ieee80211_sta_rx_bw __packed allows us for lots more channel widths without breaking the KBI. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47891 (cherry picked from commit ca389486a9599768e0ba69dca13c208020623083) (cherry picked from commit 2c8b0d6205f6f98855773e3a82640b50abb2f2f6) --- .../linuxkpi/common/include/linux/ieee80211.h | 8 ------ sys/dev/ath/ath_rate/sample/sample.c | 8 +++--- sys/dev/ath/if_ath_tx_ht.c | 6 ++-- sys/dev/mwl/if_mwl.c | 2 +- sys/net80211/ieee80211_ddb.c | 5 ++-- sys/net80211/ieee80211_ht.c | 18 ++++++------ sys/net80211/ieee80211_node.c | 7 +++-- sys/net80211/ieee80211_node.h | 33 +++++++++++++++++++++- sys/net80211/ieee80211_sta.c | 2 +- 9 files changed, 58 insertions(+), 31 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 865d85c6f7b7..58ebbcfe0097 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -387,14 +387,6 @@ enum ieee80211_sta_state { IEEE80211_STA_AUTHORIZED = 4, /* 802.1x */ }; -enum ieee80211_sta_rx_bw { - IEEE80211_STA_RX_BW_20, - IEEE80211_STA_RX_BW_40, - IEEE80211_STA_RX_BW_80, - IEEE80211_STA_RX_BW_160, - IEEE80211_STA_RX_BW_320, -}; - enum ieee80211_tx_info_flags { /* XXX TODO .. right shift numbers - not sure where that came from? */ IEEE80211_TX_CTL_AMPDU = BIT(0), diff --git a/sys/dev/ath/ath_rate/sample/sample.c b/sys/dev/ath/ath_rate/sample/sample.c index 8e70699f708d..58eea8f64993 100644 --- a/sys/dev/ath/ath_rate/sample/sample.c +++ b/sys/dev/ath/ath_rate/sample/sample.c @@ -179,7 +179,7 @@ ath_rate_sample_find_min_pktlength(struct ath_softc *sc, const struct txschedule *sched = &sn->sched[rix0]; int max_pkt_length = 65530; // ATH_AGGR_MAXSIZE // Note: this may not be true in all cases; need to check? - int is_ht40 = (an->an_node.ni_chw == 40); + int is_ht40 = (an->an_node.ni_chw == IEEE80211_STA_RX_BW_40); // Note: not great, but good enough.. int idx = is_ht40 ? MCS_HT40 : MCS_HT20; @@ -973,7 +973,7 @@ update_stats(struct ath_softc *sc, struct ath_node *an, const int size_bin = size_to_bin(frame_size); const int size = bin_to_size(size_bin); int tt; - int is_ht40 = (an->an_node.ni_chw == 40); + int is_ht40 = (an->an_node.ni_chw == IEEE80211_STA_RX_BW_40); int pct; if (!IS_RATE_DEFINED(sn, rix0)) @@ -1359,7 +1359,7 @@ ath_rate_ctl_reset(struct ath_softc *sc, struct ieee80211_node *ni) continue; printf(" %d %s/%d", dot11rate(rt, rix), dot11rate_label(rt, rix), calc_usecs_unicast_packet(sc, 1600, rix, 0,0, - (ni->ni_chw == 40))); + (ni->ni_chw == IEEE80211_STA_RX_BW_40))); } printf("\n"); } @@ -1390,7 +1390,7 @@ ath_rate_ctl_reset(struct ath_softc *sc, struct ieee80211_node *ni) sn->stats[y][rix].perfect_tx_time = calc_usecs_unicast_packet(sc, size, rix, 0, 0, - (ni->ni_chw == 40)); + (ni->ni_chw == IEEE80211_STA_RX_BW_40)); sn->stats[y][rix].average_tx_time = sn->stats[y][rix].perfect_tx_time; } diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c index ca69d4558d76..62299249bb4f 100644 --- a/sys/dev/ath/if_ath_tx_ht.c +++ b/sys/dev/ath/if_ath_tx_ht.c @@ -284,7 +284,7 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) if (IS_HT_RATE(rate)) { rc[i].flags |= ATH_RC_HT_FLAG; - if (ni->ni_chw == 40) + if (ni->ni_chw == IEEE80211_STA_RX_BW_40) rc[i].flags |= ATH_RC_CW40_FLAG; /* @@ -296,7 +296,7 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) * and doesn't return the fractional part, so * we are always "out" by some amount. */ - if (ni->ni_chw == 40 && + if (ni->ni_chw == IEEE80211_STA_RX_BW_40 && ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI40 && ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40 && vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40 && @@ -304,7 +304,7 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) rc[i].flags |= ATH_RC_SGI_FLAG; } - if (ni->ni_chw == 20 && + if (ni->ni_chw == IEEE80211_STA_RX_BW_20 && ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI20 && ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20 && vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20 && diff --git a/sys/dev/mwl/if_mwl.c b/sys/dev/mwl/if_mwl.c index e0144a13e967..2d9b146c9f60 100644 --- a/sys/dev/mwl/if_mwl.c +++ b/sys/dev/mwl/if_mwl.c @@ -4021,7 +4021,7 @@ mkpeerinfo(MWL_HAL_PEERINFO *pi, const struct ieee80211_node *ni) pi->HTCapabilitiesInfo &= ~IEEE80211_HTCAP_SHORTGI40; if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) == 0) pi->HTCapabilitiesInfo &= ~IEEE80211_HTCAP_SHORTGI20; - if (ni->ni_chw != 40) + if (ni->ni_chw != IEEE80211_STA_RX_BW_40) pi->HTCapabilitiesInfo &= ~IEEE80211_HTCAP_CHWIDTH40; } return pi; diff --git a/sys/net80211/ieee80211_ddb.c b/sys/net80211/ieee80211_ddb.c index eca893fa6810..05b370eafa38 100644 --- a/sys/net80211/ieee80211_ddb.c +++ b/sys/net80211/ieee80211_ddb.c @@ -294,8 +294,9 @@ _db_show_sta(const struct ieee80211_node *ni) db_printf("\thtcap %b htparam 0x%x htctlchan %u ht2ndchan %u\n", ni->ni_htcap, IEEE80211_HTCAP_BITS, ni->ni_htparam, ni->ni_htctlchan, ni->ni_ht2ndchan); - db_printf("\thtopmode 0x%x htstbc 0x%x chw %u\n", - ni->ni_htopmode, ni->ni_htstbc, ni->ni_chw); + db_printf("\thtopmode 0x%x htstbc 0x%x chw %d (%s)\n", + ni->ni_htopmode, ni->ni_htstbc, + ni->ni_chw, ieee80211_ni_chw_to_str(ni->ni_chw)); /* XXX ampdu state */ for (i = 0; i < WME_NUM_TID; i++) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index cb981014fdb9..5da404a92120 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -1477,7 +1477,7 @@ ieee80211_ht_wds_init(struct ieee80211_node *ni) ni->ni_htcap |= IEEE80211_HTCAP_SHORTGI20; if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { ni->ni_htcap |= IEEE80211_HTCAP_CHWIDTH40; - ni->ni_chw = 40; + ni->ni_chw = IEEE80211_STA_RX_BW_40; if (IEEE80211_IS_CHAN_HT40U(ni->ni_chan)) ni->ni_ht2ndchan = IEEE80211_HTINFO_2NDCHAN_ABOVE; else if (IEEE80211_IS_CHAN_HT40D(ni->ni_chan)) @@ -1485,7 +1485,7 @@ ieee80211_ht_wds_init(struct ieee80211_node *ni) if (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40) ni->ni_htcap |= IEEE80211_HTCAP_SHORTGI40; } else { - ni->ni_chw = 20; + ni->ni_chw = IEEE80211_STA_RX_BW_20; ni->ni_ht2ndchan = IEEE80211_HTINFO_2NDCHAN_NONE; } ni->ni_htctlchan = ni->ni_chan->ic_ieee; @@ -1581,7 +1581,7 @@ ieee80211_ht_node_join(struct ieee80211_node *ni) if (ni->ni_flags & IEEE80211_NODE_HT) { vap->iv_ht_sta_assoc++; - if (ni->ni_chw == 40) + if (ni->ni_chw == IEEE80211_STA_RX_BW_40) vap->iv_ht40_sta_assoc++; } htinfo_update(vap); @@ -1599,7 +1599,7 @@ ieee80211_ht_node_leave(struct ieee80211_node *ni) if (ni->ni_flags & IEEE80211_NODE_HT) { vap->iv_ht_sta_assoc--; - if (ni->ni_chw == 40) + if (ni->ni_chw == IEEE80211_STA_RX_BW_40) vap->iv_ht40_sta_assoc--; } htinfo_update(vap); @@ -1827,7 +1827,8 @@ htinfo_update_chw(struct ieee80211_node *ni, int htflags, int vhtflags) done: /* update node's (11n) tx channel width */ - ni->ni_chw = IEEE80211_IS_CHAN_HT40(ni->ni_chan)? 40 : 20; + ni->ni_chw = IEEE80211_IS_CHAN_HT40(ni->ni_chan) ? + IEEE80211_STA_RX_BW_40 : IEEE80211_STA_RX_BW_20; return (ret); } @@ -2603,11 +2604,12 @@ ht_recv_action_ht_txchwidth(struct ieee80211_node *ni, { int chw; - chw = (frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040) ? 40 : 20; + chw = (frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040) ? + IEEE80211_STA_RX_BW_40 : IEEE80211_STA_RX_BW_20; IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, - "%s: HT txchwidth, width %d%s", - __func__, chw, ni->ni_chw != chw ? "*" : ""); + "%s: HT txchwidth, width %d%s (%s)", __func__, + chw, ni->ni_chw != chw ? "*" : "", ieee80211_ni_chw_to_str(chw)); if (chw != ni->ni_chw) { /* XXX does this need to change the ht40 station count? */ ni->ni_chw = chw; diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 8f8dc5f378b8..17ddc8533e41 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -2672,8 +2672,9 @@ ieee80211_dump_node(struct ieee80211_node_table *nt __unused, printf("\thtcap %x htparam %x htctlchan %u ht2ndchan %u\n", ni->ni_htcap, ni->ni_htparam, ni->ni_htctlchan, ni->ni_ht2ndchan); - printf("\thtopmode %x htstbc %x htchw %u\n", - ni->ni_htopmode, ni->ni_htstbc, ni->ni_chw); + printf("\thtopmode %x htstbc %x htchw %d (%s)\n", + ni->ni_htopmode, ni->ni_htstbc, + ni->ni_chw, ieee80211_ni_chw_to_str(ni->ni_chw)); printf("\tvhtcap %x freq1 %d freq2 %d vhtbasicmcs %x\n", ni->ni_vhtcap, (int) ni->ni_vht_chan1, (int) ni->ni_vht_chan2, (int) ni->ni_vht_basicmcs); @@ -2831,7 +2832,7 @@ ieee80211_node_join(struct ieee80211_node *ni, int resp) ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", /* XXX update for VHT string */ ni->ni_flags & IEEE80211_NODE_HT ? - (ni->ni_chw == 40 ? ", HT40" : ", HT20") : "", + (ni->ni_chw == IEEE80211_STA_RX_BW_40 ? ", HT40" : ", HT20") : "", ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "", ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "", ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" : diff --git a/sys/net80211/ieee80211_node.h b/sys/net80211/ieee80211_node.h index 954e8e03563f..0039c743544c 100644 --- a/sys/net80211/ieee80211_node.h +++ b/sys/net80211/ieee80211_node.h @@ -108,6 +108,37 @@ enum ieee80211_mesh_mlstate { #define IEEE80211_MESH_MLSTATE_BITS \ "\20\1IDLE\2OPENSNT\2OPENRCV\3CONFIRMRCV\4ESTABLISHED\5HOLDING" +/* + * This structure is shared with LinuxKPI 802.11 code describing up-to + * which channel width the station can receive. + * Rather than using hardcoded MHz values for the channel width use an enum with + * flags. This allows us to keep the uint8_t slot for ni_chw in + * struct ieee80211_node and means we do not have to sync to the value for + * LinuxKPI. + * + * NB: BW_20 needs to 0 and values need to be sorted! Cannot make it + * bitfield-alike for use with %b. + */ +enum ieee80211_sta_rx_bw { + IEEE80211_STA_RX_BW_20 = 0x00, + IEEE80211_STA_RX_BW_40, + IEEE80211_STA_RX_BW_80, + IEEE80211_STA_RX_BW_160, + IEEE80211_STA_RX_BW_320, +} __packed; + +static inline const char * +ieee80211_ni_chw_to_str(enum ieee80211_sta_rx_bw bw) +{ + switch (bw) { + case IEEE80211_STA_RX_BW_20: return ("BW_20"); + case IEEE80211_STA_RX_BW_40: return ("BW_40"); + case IEEE80211_STA_RX_BW_80: return ("BW_80"); + case IEEE80211_STA_RX_BW_160: return ("BW_160"); + case IEEE80211_STA_RX_BW_320: return ("BW_320"); + } +} + /* * Node specific information. Note that drivers are expected * to derive from this structure to add device-specific per-node @@ -222,7 +253,7 @@ struct ieee80211_node { uint8_t ni_ht2ndchan; /* HT 2nd channel */ uint8_t ni_htopmode; /* HT operating mode */ uint8_t ni_htstbc; /* HT */ - uint8_t ni_chw; /* negotiated channel width */ + enum ieee80211_sta_rx_bw ni_chw; /* negotiated channel width */ struct ieee80211_htrateset ni_htrates; /* negotiated ht rate set */ struct ieee80211_tx_ampdu ni_tx_ampdu[WME_NUM_TID]; struct ieee80211_rx_ampdu ni_rx_ampdu[WME_NUM_TID]; diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c index bb3e6fb86a9d..63b418a3ac34 100644 --- a/sys/net80211/ieee80211_sta.c +++ b/sys/net80211/ieee80211_sta.c @@ -1942,7 +1942,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype, vap->iv_flags&IEEE80211_F_USEPROT ? ", protection" : "", ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", ni->ni_flags & IEEE80211_NODE_HT ? - (ni->ni_chw == 40 ? ", HT40" : ", HT20") : "", + (ni->ni_chw == IEEE80211_STA_RX_BW_40 ? ", HT40" : ", HT20") : "", ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "", ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "", ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" : From nobody Mon Feb 10 14:52:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xl0Bd4z5mH23; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xj72NYz4LgG; Mon, 10 Feb 2025 14:52:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZQ4cxHWKpKDb+i7Bu1Xnh6xox2NeLXGCCr2spS42Od8=; b=aG2Q1W95FQ7akvENUphTHprWZsvdz7zA3CS9ED9LDMwtdFCdr9wHkaf3/wCG/8kCRFPyZU LUxA4UsLzAufWd5PAgPbuOA7YLvwh0rZH007tKJzH1108C7NkWlJ14CDvtGJjyBGBrFyfe E48I/lTPsurTwflYAZRm/GPvVp/bZdxsizopRTgh7l9cmkZXinbJB7BfAI0FMoOlp5pQFB /+5lOwtTmgptfQkmohL5F9YyRfqRYFSJilclaFTz3y1OZo3YYnvAezm0Z+Tu4YOzaayom7 +FoT7JyjARFL/NpeMKVFifgp94Zf+KAr9gyZvpi1lGerzmdWELwHQldPVpd3bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZQ4cxHWKpKDb+i7Bu1Xnh6xox2NeLXGCCr2spS42Od8=; b=puyCaCVTviEquoCzjkc0PD97slPsq+iaXAFL7rRy6vHVqHvEgXwofHMndAgPu4CFEXA4W2 3cL3hYdzmrTn3/BKH5VFSHIbLyWcpP0B+YLix6Xbpt+FLQEUqVxfiV2tCtnXhu3Y+CrXvx qw0fu/EtYnAFrAV9QHU2RO//KkLAMSKVKG89P20z2wvJnMkV+t5wb1KfCklbvMH9QtUjj6 h1zwdOHw/TEQuv7t6liBSYdvRIMdEWeq6tKXExFAF6VA0LhBZfob4lpfskaFVKrRgT76uf zr90Q3s7826sxWjMJ4hTI/dmi+A6RIbAKHNFRqxvD+FGwn33iaW5JlQwOr1UgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199162; a=rsa-sha256; cv=none; b=mhit5ln2TGhmo3AfftHvhPCiHmB7VDP9+qwtsBX7Z9Ru4eQR68dk76NkmrIx40e/sokuhi BMo0NsuRrq2o5J/VQaWHACE4xOMfXH3OEqrQB/5jbBvjEvl+L4P2xrZ5tqKeXFVSkbopjq ac7bMiMgOfoRE7LchcCLoRPIhWlw0d0LApoAtrP4ZGyeKWceyc1XqCjPSU0LJrdgYug6sH tja0BOs/RWCAU5Obj4GqbAtHcUlwYI6R4C7ISHGE8dxbYj7eEiTsD6mT2v7U5TSDFMgyTs c9bep9YZJKdTC/DOVuOuXc+aRWTPlNbjrJ1BVZY+mAA5e6JzL5BWVmu7KfTCqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xj66K9zX78; Mon, 10 Feb 2025 14:52: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 51AEqfDi027935; Mon, 10 Feb 2025 14:52:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqfdY027931; Mon, 10 Feb 2025 14:52:41 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:41 GMT Message-Id: <202502101452.51AEqfdY027931@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: 1a083d59b61a - stable/14 - net80211: HT: check for feature support in ht_recv_action_ht_txchwidth() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1a083d59b61a687c865f16b9bba4820e820bde2a Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1a083d59b61a687c865f16b9bba4820e820bde2a commit 1a083d59b61a687c865f16b9bba4820e820bde2a Author: Bjoern A. Zeeb AuthorDate: 2024-12-01 20:16:19 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:09 +0000 net80211: HT: check for feature support in ht_recv_action_ht_txchwidth() ht_recv_action_ht_txchwidth() can blindly change the channel width to 40 Mhz whether or not that is supported. If 20/40 is not supported there is nothing to do as the channel width cannot change in that case. While here mark unused arguments with __unused. Sponosred by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47857 (cherry picked from commit 30e8252353d95cc77f787ef784942a551d3e0567) --- sys/net80211/ieee80211_ht.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index 5da404a92120..e7b3afe17fdc 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -2599,11 +2599,15 @@ ht_recv_action_ba_delba(struct ieee80211_node *ni, static int ht_recv_action_ht_txchwidth(struct ieee80211_node *ni, - const struct ieee80211_frame *wh, - const uint8_t *frm, const uint8_t *efrm) + const struct ieee80211_frame *wh __unused, + const uint8_t *frm, const uint8_t *efrm __unused) { int chw; + /* If 20/40 is not supported the chw cannot change. */ + if ((ni->ni_htcap & IEEE80211_HTCAP_CHWIDTH40) == 0) + return (0); + chw = (frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040) ? IEEE80211_STA_RX_BW_40 : IEEE80211_STA_RX_BW_20; From nobody Mon Feb 10 14:52:40 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xk2mFJz5mH22; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xh6DxFz4L9W; Mon, 10 Feb 2025 14:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GayNcW2NiMAGihxp+ojrjlVbNEFOIWyzGdDa7ouHCIE=; b=k3tdyfA2dtnzQziZIbfHLOo0EJMOhOwJtlqWIkwmjHZMpYMWSovR4wGRaXUmC6HEizLmCD k4gQ3xWFXbxslfSLgSU/aLwQzS8/4yy6jqXkEwUzXPIotZj8JjWEU89u4k+4k1jHJY3gPw fDPB+XEEehDFdKyue1qNbRWOax1yIW2wfpC5JdAlwAcJPgDkgmIJ6Z5/9MSuzzd130zaky A459KTFb5Dp+bEHG3z91BTzx/Pk8Lg+haWaurfwwHVvTvyO/PnDLfhy8jUKMnq4JvC2s/i sFNk21RnL6IwGR/Yus8SelB6q/SBtOQkOFwDDilreNpM2SMePQ5+SawAJL7BUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GayNcW2NiMAGihxp+ojrjlVbNEFOIWyzGdDa7ouHCIE=; b=VJDVNJ527yMEKGUoYdwCJB0XBzyj9J8M9EaRdP/IoM8Tmif+QI12OWqeD3MRBLvW7Pts2I h3BzXn7VIwqeLLEWx10YID4MSjICgavuJrGtfPAbc656o7hZpsVEtW8kwLUzPr63LHObQp uiBiReY0sECnmoDNmscRg0DT8ahPPVXXa4xOhXagbw+LlF/UJPVsjb3ZljCwx1NRlFcd4s f/IjyVqgu15S4JhBf1vzysnAcvVJ00VEDdQv16lQBhUMrK7oRx0+Mr/+Oobgim53xOhHsm oj/Q62Mxyj6TxJP+XkNp7o91pjkfVVif2oMaivzueYRwtDQe7Kx7Ub8EHDj3zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199160; a=rsa-sha256; cv=none; b=y1G6yiR2Y2FPBnMzZXvqlI2U0h5P6QYOQMkEPpRSqaGIHg22If10Hq8Kr6H4WT469Y3N0/ qA2gW+DAx1ohpRS5MG8De+z/8htamXqnlpGjQb2Y1h07NoJVr6iem/q15qSI8tSQeXEWeK kCH0PQjCNtw1YaGQzWqlYWx+ka3PbblnHho0JXIUlzJqbeeINZ+MqiFl9Xo7fSmer4ap6l rVKMJalb+BCebG74yvqE1sJKR8eCxHu0jK0oyfSoME5ZR7z1w5kH/VHEJ2TepQhmZU6XGu 751fKKu99KIMRkVrw4qBnroFMB6o8dkuhfX1+AvImKCscKZqki3kowCoiUKzmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xh5bxgzX77; Mon, 10 Feb 2025 14:52: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 51AEqe0w027894; Mon, 10 Feb 2025 14:52:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqeUU027891; Mon, 10 Feb 2025 14:52:40 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:40 GMT Message-Id: <202502101452.51AEqeUU027891@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: 1a472e9357f3 - stable/14 - net80211: HT: add missing bit descriptions for IEEE80211_AGGR_BITS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1a472e9357f392644a1ee0e24adeb78e8cf66c20 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1a472e9357f392644a1ee0e24adeb78e8cf66c20 commit 1a472e9357f392644a1ee0e24adeb78e8cf66c20 Author: Bjoern A. Zeeb AuthorDate: 2024-12-01 20:22:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:08 +0000 net80211: HT: add missing bit descriptions for IEEE80211_AGGR_BITS The print mask for IEEE80211_AGGR_BITS is missing three fields. Add them for completness. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47858 (cherry picked from commit 8437d7d6a4d6827ccb78c06341c6e3d847da44dd) --- sys/net80211/ieee80211_ht.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_ht.h b/sys/net80211/ieee80211_ht.h index 6ba791065d15..3f7b430ea6ce 100644 --- a/sys/net80211/ieee80211_ht.h +++ b/sys/net80211/ieee80211_ht.h @@ -87,7 +87,8 @@ struct ieee80211_tx_ampdu { (IEEE80211_AGGR_RUNNING|IEEE80211_AGGR_XCHGPEND|IEEE80211_AGGR_NAK)) != 0) #define IEEE80211_AGGR_BITS \ - "\20\1IMMEDIATE\2XCHGPEND\3RUNNING\4SETUP\5NAK" + "\20\1IMMEDIATE\2XCHGPEND\3RUNNING\4SETUP\5NAK" \ + "\6BARPEND\7WAITRX\10AMSDU" /* * Traffic estimator support. We estimate packets/sec for From nobody Mon Feb 10 14:52:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xp2Nybz5mGkV; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xn4yjDz4Ldg; Mon, 10 Feb 2025 14:52:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199165; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jaM78vMRJaR5H7ngMmbCvc4fglbXunOXMiuMmqu9U9U=; b=UvqpokCm3oiY5VePaBvJ/XGhK9yGmehSeKfSbKNxT0+czhd2bAZ975bucsEnj83Et9NLoN Hh9+Mj2tc5jSFwyHNXrUm79xBIYVEUgH0S5nfTQgVtu6710JpatD7JdVbNSGirqAezWMA+ FLHPgr6kQLN8yKdYVXZPD6yS8ScFaPgp7J+ycOY5IFV8ll30P3Y0gTCPHaHNIj7VqLmmYp ercroIJHB+WiVcSUpaSWfgXifRpK12InTRgsA0AfUAYg9/c9sqDEJvSZyp70HFolHnZSk/ tK7csD+pvhHpsLAI2uNd9gSRmq0WWc5d3S9h3OWEl2mDs/sDG95ur6BUYpzBcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199165; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jaM78vMRJaR5H7ngMmbCvc4fglbXunOXMiuMmqu9U9U=; b=Kz+zcobNG6d47YBAOGcB5BsVNkZbxb5b4V53zJcUGYcvDOu9a/1XMs7prLlMkUDiOXaQ/m +XdjIjOScLXiiTZh5+DBHjbWT2OCCTjbsBUyrAdVZuC8G93SF/hnlcTOOoIYiM6NFmhzhk Pia5nZ87RvyeOFounDugeG9SNDisLll8q6sWCzsQLZhdqCw+XBbQU4CIhu+pvHy85Tuml+ DURXwamgjpt39Xaz2ganJqRixqD/sIhQh+3ozhNfkKCKOsrKq4ni+JqaDsuKWjZe443DvY IZrpqMk+VS4sR9ALMfUJ73B7Q9ZxrDc0JQbm/rKonG4+8RcNVofVkzz4mSs05g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199165; a=rsa-sha256; cv=none; b=cKHDat5IO/+KZmI1OIPvgnEZNh34TJtJEjEpzYTZzrCR1ey7hZHKee5gnER8IWAwZVgIzH A+MlhsyVA75dBtI1PSWNOEO6DmKZd9Oe12UoRpeRuiF1VYFetnnWB+dA4of+ynSPpUck+O sp2EEMmGCBxA5unUAntGXrK/q4KqMlTZLCOpIImvo7E6Gjne+phfNCfPtRfNtxfNa0twOx gnF9v9utId4vNVfDKT4nOfBBYmlHJLtpd5IAvU/8rrkg845JkLgO1tYqSVw9A44Kx1xBuI eL+VCoerQJ3IOMnGN8eLZtshPnylxkcc13KvAQsRGON2fY3GuTmTHBHJzoOj8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xn11fGzWgV; Mon, 10 Feb 2025 14:52: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 51AEqjZJ028045; Mon, 10 Feb 2025 14:52:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqj8c028042; Mon, 10 Feb 2025 14:52:45 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:45 GMT Message-Id: <202502101452.51AEqj8c028042@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: 4d027e53be06 - stable/14 - net80211: (v)ht: use macros at hand List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4d027e53be06ceae1a6923453fd59f596e31cf7d Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4d027e53be06ceae1a6923453fd59f596e31cf7d commit 4d027e53be06ceae1a6923453fd59f596e31cf7d Author: Bjoern A. Zeeb AuthorDate: 2025-01-04 08:06:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:09 +0000 net80211: (v)ht: use macros at hand Rather than duplicating the manual logic here and leaving a comment, use the self-explanatory macros we already have. No functional changes intended. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48359 (cherry picked from commit 5fdc4824a5e2646a07c0638eca9f5c81b0b85fd5) --- sys/net80211/ieee80211_ht.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index e7b3afe17fdc..821c45c9f4e7 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -1938,9 +1938,7 @@ ieee80211_vht_get_vhtflags(struct ieee80211_node *ni, uint32_t htflags) vhtflags = 0; if (ni->ni_flags & IEEE80211_NODE_VHT && vap->iv_vht_flags & IEEE80211_FVHT_VHT) { if ((ni->ni_vht_chanwidth == IEEE80211_VHT_CHANWIDTH_160MHZ) && - /* XXX 2 means "160MHz and 80+80MHz", 1 means "160MHz" */ - (_IEEE80211_MASKSHIFT(vap->iv_vht_cap.vht_cap_info, - IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= 1) && + IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ(vap->iv_vht_cap.vht_cap_info) && (vap->iv_vht_flags & IEEE80211_FVHT_USEVHT160)) { vhtflags = IEEE80211_CHAN_VHT160; /* Mirror the HT40 flags */ @@ -1950,9 +1948,7 @@ ieee80211_vht_get_vhtflags(struct ieee80211_node *ni, uint32_t htflags) vhtflags |= IEEE80211_CHAN_HT40D; } } else if ((ni->ni_vht_chanwidth == IEEE80211_VHT_CHANWIDTH_80P80MHZ) && - /* XXX 2 means "160MHz and 80+80MHz" */ - (_IEEE80211_MASKSHIFT(vap->iv_vht_cap.vht_cap_info, - IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2) && + IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160_80P80MHZ(vap->iv_vht_cap.vht_cap_info) && (vap->iv_vht_flags & IEEE80211_FVHT_USEVHT80P80)) { vhtflags = IEEE80211_CHAN_VHT80P80; /* Mirror the HT40 flags */ From nobody Mon Feb 10 14:52:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xn491Vz5mH3y; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xm0lrNz4Lb1; Mon, 10 Feb 2025 14:52:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2j/8QYpVCnW+KSkh5xvtbmbRBoT0HJXtkXZLO7YJN+I=; b=au6R734uz4oStqFB3q/569bj1joxR6nR6/vXAYApjZENaI4gSxwCVcePHj1yvjWYIfxa2z taIUJTFQu9wRb1AhcBgdnRyAaantp9QNTjhcRtSknk4zkgSLCB575BvmDxLahj30L8Te1I sfni5SU/VkWy9k1TXgnejYMuAUF0iXNJKLdnWSX7DPKQr6uu05m/5R+sCMb8LrADfLy02p qea2LW67oEDe7ux6J2sI0aFCQa4wjU4/oPhqZ03fJFwdR5Z2hBojetFxykWqUCmPPR4e/J 31YaFEiQmWt0QHG8xcyS6ZMo6ri/LGCAVyAZ7K4HiUg3kjD22EXW8nk6HyXaHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2j/8QYpVCnW+KSkh5xvtbmbRBoT0HJXtkXZLO7YJN+I=; b=GWDRtxvFevNYTOymjPsyZRVj2lnKPLNsBL6kkW26s69drspp45vjzPP2ZgthnEwG/U2s/4 Y2cd2hlJ4rAD+co80U1BF/k83dlNNK2C5CFtdkWFkE3ONpgZdWyX0a7hKY3W3CahjOfo/1 600fY6bwa5oPSBAQwNXyXFB+1jkGq5jKM1Lzy6XzDs/jnE9t8DTooxyX5JsZGaQ6NdPg7l alaIxwoavIWTE3MdOc36Cz1bccIvwQ6PgfYE1rPoFaeYH3mOCK8vsrYWx8lD8atIUOtvPI 5SeNi+0T8rOme0nU1d7bQCeZBic+0++JiUSZMR3cKa2YJl9Xrlp8hucsFyGcfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199164; a=rsa-sha256; cv=none; b=hywoFK9gmdNt+AQ3uiqvGGfNutKLSbY9NFF6wM6XZmVjdcMeKtSPs/Y1ZTnecj5v/8/Eie iKaVTWvqaI9qx1k2w0+v/4YTmg+s/3/7Gzz8EfVw6y72havlrW6cwKY6bxTH2o+qfE5yGP SeTQP8p/UfpajZD5Vb6vr2+iAxVWB9/PIIbUpvv2SlkHzADcoG7hA5pgY06zbO7SstWU7T bV1mJ88ybBMeoL7uv2SnVK8Nyc5EadpXENAy2iZntkFN73bNdY4Rtt8J7VqS7P1rVNeRzc Mw1orGW8sfMIQ03QKgQt5Osnep9868CR+2WLn7FfLKCsVQsEdmcy1j4KF81HAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xl6m4RzWgT; Mon, 10 Feb 2025 14:52: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 51AEqhWJ028009; Mon, 10 Feb 2025 14:52:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqhV1028006; Mon, 10 Feb 2025 14:52:43 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:43 GMT Message-Id: <202502101452.51AEqhV1028006@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: b7be66e4e86f - stable/14 - net80211: add missing 80Mhz and 160Mhz channel ranges List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b7be66e4e86f49f5d55deeb7053bd2e86ac2ee8a Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b7be66e4e86f49f5d55deeb7053bd2e86ac2ee8a commit b7be66e4e86f49f5d55deeb7053bd2e86ac2ee8a Author: Bjoern A. Zeeb AuthorDate: 2025-01-04 08:02:19 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:09 +0000 net80211: add missing 80Mhz and 160Mhz channel ranges We have two arrays, one for 80Mhz and one for 160Mhz. Both were lacking frequency ranges for more possibly available configurations (the other bits of what is valid are for regdomain to set right). Sponsored by: The FreeBSD Foundation Fixes: 67f4aa3878efa, 04e7bb08a5750 Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48357 (cherry picked from commit 1832eb102e10c7f2891c032ecf7b265b75d3cd50) --- sys/net80211/ieee80211.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index 9fb424887834..0aaded2bdbcd 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -1162,12 +1162,14 @@ struct vht_chan_range vht80_chan_ranges[] = { { 5570, 5650 }, { 5650, 5730 }, { 5735, 5815 }, + { 5815, 5895 }, { 0, 0 } }; struct vht_chan_range vht160_chan_ranges[] = { { 5170, 5330 }, { 5490, 5650 }, + { 5735, 5895 }, { 0, 0 } }; From nobody Mon Feb 10 14:52:42 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xm4Vxpz5mH7M; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xl14dbz4LjT; Mon, 10 Feb 2025 14:52:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jeTjsK0HnA5pP5K870S8zd4cLdOqz5iGlGRai2YFp9s=; b=wKwu82/cKhzdwzCHZRKPZwjcbtTTs8PtUjDknxHYw+UlFgfIG7186cpbr4By2VSTh97HTi Zx+uz+5K4tpqDSxeBjvnLsjQ9dRp9isVZ4DkssCQ+RLUoaOKBSTpjFRXfW7CsSDVSCJZ3c 3Y/vdwI0rQfnolBFa+ZFdKDQSLNUzJoygtHyUmXpsWq/ISBUgxFTSO+vdTljWnH2PA8Clq PdyjrlkAkQrVVJnrqu1UnBY1R1NNvn7tN5fsCj/Fr+bcnDyyHtyZuzufzHmdnNP0yBZ6pY SOQnGgwpCRxAbEMGGlZ2Rn4M59Os2+Kqhfkaf26r4mbcBipCphukoGshsl1BDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jeTjsK0HnA5pP5K870S8zd4cLdOqz5iGlGRai2YFp9s=; b=JB5f8DSn6HABRUtmfqcjpSyaz0Y2EwMQbvcpnJlAa4zBlrC/A2K43tt1qyiApjVAqnEqY2 nndvIxcMXVJyg1YovVXN75e6/NgTqED+A158Qy67WApceJyQbUUwnnkab5NQrqymh38Ck/ Snka1BWmsIwruFnhmDZ+UYs1bKDwDtsOrjontaTWttYyNC2mgD6KSjM05YBqRvjxvCeslu YDXOWjO1othHGKUF4qrYbcQW23Zv1gLUEpP6esIILrrVQnSaqXEwadV3tG/R7SJ2cj2cCX Ins2kL/dKOuueSO593mO22kT4jSOLKCAEWUaMWST/W2bIv5P8MmHfhRu55XC9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199163; a=rsa-sha256; cv=none; b=U/s/6y7XYtPMcgFV6o1lb+N4hFoPFhOsjXL9OvnuUiCqfgAXJFx7MXM9OnqLUHEIBbgjvX heaWbvFmvyoQSg8aH5nHH5ThlaUUeeDgW+UoN2LcI05EnvlHZrzM/vWzcMgRMszZRCHjLq OPYjopfRBFIBNRwcXzbw/MdDdgWJEI0Vkdtl/IsePodOCHeN4D2JXRUTPUoHEvEQTvpclB 3j90pQN7buJXzTAOpj7q+vyv4vzXYnacr930r5rGqyBSvsPZkRVZU8CVIMxTgBGNQv0EuW 4BsUBRUlB4YxrUpKnMh4Bl5FPcEXIfZPT+Yx6GHnHjcCYqqKCy4RbmoMvofnwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xk71RBzXWG; Mon, 10 Feb 2025 14:52: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 51AEqgnv027973; Mon, 10 Feb 2025 14:52:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqg3x027970; Mon, 10 Feb 2025 14:52:42 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:42 GMT Message-Id: <202502101452.51AEqg3x027970@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: 594d6c7141b7 - stable/14 - net80211: correct typo s/Insure/Ensure/ List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 594d6c7141b7f5a7845044982b946479a6c5fd27 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=594d6c7141b7f5a7845044982b946479a6c5fd27 commit 594d6c7141b7f5a7845044982b946479a6c5fd27 Author: Bjoern A. Zeeb AuthorDate: 2025-01-07 11:56:07 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:09 +0000 net80211: correct typo s/Insure/Ensure/ No functional changes. Sposnored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D48358 (cherry picked from commit e6d40f90110ad8026f1af3fa68f836463936ea78) --- sys/net80211/ieee80211_crypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_crypto.c b/sys/net80211/ieee80211_crypto.c index 6a1182b52480..bdbe52720f6e 100644 --- a/sys/net80211/ieee80211_crypto.c +++ b/sys/net80211/ieee80211_crypto.c @@ -666,7 +666,7 @@ ieee80211_crypto_decap(struct ieee80211_node *ni, struct mbuf *m, int hdrlen, k = &ni->ni_ucastkey; /* - * Insure crypto header is contiguous and long enough for all + * Ensure crypto header is contiguous and long enough for all * decap work. */ cip = k->wk_cipher; From nobody Mon Feb 10 14:52:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xp6FGmz5mHBK; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xp2Gkvz4LSd; Mon, 10 Feb 2025 14:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0cFa1tI7geMSu57dMRVLPiJza3ndRKsqYqpCSodDlw0=; b=pd7BeJEX1bVUZy2dKXR33Sxirqyvh/AFHz/AbXDxRP0cxkv7aJOe+kS/vBPmyszVM+wntD JY5fbaqmunXU10TxNtJd0/g0SgJx7Q3WChC2VnGLtcykE3s8xt6K+Xmdn+HEYIZi35rHvx 1fC5iBNFfRvulnJtdGfBNLW2PwSBvqGIIHamPPvDYn6dAizpY8j4waLWHM91kkR1z4402I F/wD5G3Rui7nnkf3d3+lfkyX65ca+2M6ib40XWVhDEH2qMZDL1iSY/3PSrWztUWja0yiKl b7KDfMDQnuy4YrhKXMMM56qDq2COkxFGDB9PysYgukbEUOu4yQmt6U9dRzGpIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0cFa1tI7geMSu57dMRVLPiJza3ndRKsqYqpCSodDlw0=; b=g/FBIl9J6CRh6MZK0hzeTC5t7dWSVyTT4ChVkWHRjvkeuegw0nzF6yiRq92F0LQTybsQZX 8Wq+oRH193jYew3tqJDRNqHkHNTJeyXIVIDrN/3ssXqzeQ/urXUkJl4oVLI5NyPdfSSN6t iS5h9xUcHHAyfTUXFCZzJYMczSmHt66DgixblyJwkNiN+WBNN1bZiYDZWyt+fztNfQVy/X r1TsSOiioeR3CTVGsQ9vkzcc5OAYdt+Dm6T14ap2FNodUae8zcIsv9uLxC7nk7BDC4kbhd I1ndpr89YIfJXUF4VmK7tpFOmkJpww1tSYwns3/bJ1Jt8vlbvOzxXCkaT5Pcmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199166; a=rsa-sha256; cv=none; b=NTBgF2aXwARLpW1qrxML38bxtScKsHf4KkxqDxeyH9/+KBLo9pIG/j1ZuTj/UxuzL05d+N VjWlQXLTIUY+AvKgYdoRwAgI0t7irasmYzFVkyH7Dh05HsNJ0mV3ktuRJ3jpDjH2uK3cch LC0JsQG6rOPDXDI7fUp0U4z4wj8l5oi5sPDdkmt1LpsouSlKRkEkQfaBdKjQiVkubm6kGK faeJmLWbSrwodTamdwjd0NPuNgf5WmuVbXv7Zb3Ya/Cd7APvlf1ACeclPYu3n6z2gZ7hQy voJVHhd10D4ZHqfCspgZsbYZGtbVgHfpU1138QGd+BoGGhNUAKiauzxPO2P31g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xp1nWrzXWr; Mon, 10 Feb 2025 14:52: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 51AEqkum028082; Mon, 10 Feb 2025 14:52:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqk33028079; Mon, 10 Feb 2025 14:52:46 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:46 GMT Message-Id: <202502101452.51AEqk33028079@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: 4eaf978df5e1 - stable/14 - net80211: add IEEE80211_IS_LOCKED() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4eaf978df5e11c70c6319467fedadc7a2b27e76c Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4eaf978df5e11c70c6319467fedadc7a2b27e76c commit 4eaf978df5e11c70c6319467fedadc7a2b27e76c Author: Bjoern A. Zeeb AuthorDate: 2025-01-15 22:50:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:09 +0000 net80211: add IEEE80211_IS_LOCKED() When trying to sort out a teardown locking problem (downcall in the driver can sleep) I found that the fan-out tree was getting too big to fix net80211 locking per-se for this while working on entirely different problems. Add IEEE80211_IS_LOCKED() so the driver can check and un-/re-lock as necessary (as we do in other cases already) to avoid panics on debug kernels left and right. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48475 (cherry picked from commit 054c5ddf587a7a0c430cf64dbf100b718eafdcc5) --- sys/net80211/ieee80211_freebsd.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h index ec017bb21ec4..e21364884e15 100644 --- a/sys/net80211/ieee80211_freebsd.h +++ b/sys/net80211/ieee80211_freebsd.h @@ -73,6 +73,8 @@ typedef struct { mtx_assert(IEEE80211_LOCK_OBJ(_ic), MA_OWNED) #define IEEE80211_UNLOCK_ASSERT(_ic) \ mtx_assert(IEEE80211_LOCK_OBJ(_ic), MA_NOTOWNED) +#define IEEE80211_IS_LOCKED(_ic) \ + mtx_owned(IEEE80211_LOCK_OBJ(_ic)) /* * Transmit lock. From nobody Mon Feb 10 14:52:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xs3p1dz5mGdc; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xq3HSrz4LYF; Mon, 10 Feb 2025 14:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RWOz1YTXr2Ij7w0lhcRBqTqgnz692/mRPgVe0pwz4wU=; b=IJBT+0xC100nMyvd6YvmoiEzJTSylMwtoCJQSOdWW/TSkNkE7SQhQDzjOjNsgOVaIRXu3Y OR943frr362/pU/6WmQ114tH7u+CZmU9pIO5Rhu155OcMjNzn5u6a76ReaKhBoOtnaPt/Z kawqWmSFJDSYmUWusg9SIKYhspRW36h3HAucGNd6E0/gLjLd+85ftNOl6vriTx5hW71Agt P7YkvWHjYilOyXjJTJZNPRiG2+SxHq3AO7d1ftTw9F9cnSvuvON6E3iQ0nT6pLEK3Cf1pi ApOv2FTDoQSdwNGjN9iSJQcO74sHAgTO5CuGGQVsjJ05GZ3Ttj7mfUjdrzWM0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RWOz1YTXr2Ij7w0lhcRBqTqgnz692/mRPgVe0pwz4wU=; b=PvonAjZSuyFup2+jcOT1jkKRq3roampyGx10YjLpk3Anq9YgkfxwMWgppDwn4H82S2BPa+ +KYhRR5XDflBsqDa+mh638a9Xx6kTLxsY0rGvPpGZ3Up1M8jYXsjroHC+7snfgMe59yl/d HkhU/AJ7DqamauIQANoOdYWlPjtqYsBGbwqjr0SKlFlzmxEF/ew0GxqOMSbKGi1BCJ7fa0 Bo4aGTu5+i4vLTkpPTPZ0PWYeOFV6SiFa/zx/ZQt7lXkniU2hmi162DW+DRtDKuqJb6gzf kKbpDqcqlLDJ0fAdo2jNN0WAHVVybQlmSD4I9MV6o/o+CYzNburo5RSVnxdbKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199167; a=rsa-sha256; cv=none; b=IvxRKGcJG0KKXzk4fVwNwJIg/FNLvSgFpegfPBL3lj1Oi6E591TN+UjK+HiVRdlVlCffgH 03/mDzXFHOHlsoH0i7RiazQJozcaHEe0qGQwBPhkj8QOwV1EhfuiCa3DsMkrG18xclRIn5 Mxr05C0nZQAzOlMZw1ax9TOXPYEy2+OYAykIGzHiUgqh8mbS64pe9M7cV00jU9s9bXiOfl pYNmUmDVQPxCav6yhr0n0n1AuDdbxKzhGzEOaL8DwzMnjMsYQq8WxznRdNkcLdhlfufWiO Oqt/K/IgGyZRMd3JLzIpMkguUkXKTEsXFSbvk+gzcCvFZ7Tl25QZIWwuYsv2Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xq2mywzXWH; Mon, 10 Feb 2025 14:52: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 51AEqlVi028120; Mon, 10 Feb 2025 14:52:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqlZ2028117; Mon, 10 Feb 2025 14:52:47 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:47 GMT Message-Id: <202502101452.51AEqlZ2028117@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: 950dc789cc63 - stable/14 - LinuxKPI: 802.11: make HT compile again List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 950dc789cc63e65882f65f5601911085e7f07e6c Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=950dc789cc63e65882f65f5601911085e7f07e6c commit 950dc789cc63e65882f65f5601911085e7f07e6c Author: Bjoern A. Zeeb AuthorDate: 2024-12-01 19:53:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:09 +0000 LinuxKPI: 802.11: make HT compile again Bring in changes missed during the last driver updates to make HT compile when enabled. Sponsored by: The FreeBSD Foundation Fixes: 7b43f4d064195 (cherry picked from commit 943a19c666d67424cdde6cbcd096f28359b2d314) --- sys/compat/linuxkpi/common/src/linux_80211.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 5aa86ab7ebec..3c9b9dc42fcc 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1275,12 +1275,12 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int vif->bss_conf.chanreq.oper.center_freq1 = chanctx_conf->def.center_freq1; #ifdef LKPI_80211_HT - if (vif->bss_conf.chandef.width == NL80211_CHAN_WIDTH_40) { + if (vif->bss_conf.chanreq.oper.width == NL80211_CHAN_WIDTH_40) { /* Note: it is 10 not 20. */ if (IEEE80211_IS_CHAN_HT40U(ni->ni_chan)) - vif->bss_conf.chandef.center_freq1 += 10; + vif->bss_conf.chanreq.oper.center_freq1 += 10; else if (IEEE80211_IS_CHAN_HT40D(ni->ni_chan)) - vif->bss_conf.chandef.center_freq1 -= 10; + vif->bss_conf.chanreq.oper.center_freq1 -= 10; } #endif vif->bss_conf.chanreq.oper.center_freq2 = From nobody Mon Feb 10 14:52:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xs5zDkz5mH2C; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xr5CcNz4Lk4; Mon, 10 Feb 2025 14:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ue5ozmHG5DSex07heUKF62yAzqMiveoy9lfJ+JtUzhs=; b=MR/+tbFDKvVTQfpNtasH8xem7BPjHYyCfp3JgoZ5NYkepQU/MgcitJUVkgqJ2qWzNYOoS3 aqrJgCQJcOhTddSzbhCkxwcCfTJXDnt+WVatHp0eeqpggnx56lpLu0yqM5rtJ4HioXMWHA Qe6MkfNaa7ccCO9Cibcd0RY99kqINc4++VLtySpNE75Rwuvrs+0tn4pgApzZ2JluvjWHpX rlLsu1/Z4sq3mocqWzSa8f6a2EjbJTo7v25zmEvycjOQeP56zLVBMZwh66L92wcMkVgpLC M0/SAjxDquqBOIBSLOKpeN77z0bJoM5GAFndXEwtsiGekcdzgIlJRKL4U+KoXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ue5ozmHG5DSex07heUKF62yAzqMiveoy9lfJ+JtUzhs=; b=C3B6qVTcfnSh5baIpbsyiOMa99uboMGyggkGRu93Ir/sNPDiLiDlfoS43rf8/PF5BFDStc mx/O73SQ6DgE999I8NTpcdx9+hLqeTrKUmYbVexFwE80lYoaySb9DQ0+y1OUZfCc+Nj0/V MBgcIPviqNnQ1WyMi2Z+3CLAolwnBrIHFdShahf2tvQrdRzDCKi01G/4o9c7w4n+bh6P3B RHCDDwNVejrc7iexA/Drt9FPYo8llFN8L2Sh7siq2hr8sjodkvagBHxhRnr/dJLZlKlyrr iPN5hnuMDn77Qw41kLqrVoIAJE663X2zQqeoNKdFxnLJ/3iaIRpinTSh6fLQQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199168; a=rsa-sha256; cv=none; b=OG4tc0LqNySTTKi66IG3zpEEUcNFg04GhW3TncfTYFz9rB8AT0ihorG4Xdok59oVsc1VnF DIyjj2VNlxz0aLMiZGQlKFQ8ShPaS4SkJqmUPjcm5Ayz+fGctTVDhWnv/gIquxKaItHmLT fIuPTrGY2xDxncs1aRLdmCgzoJXeKrcKWTe4aSKpUHSEgIlodJj4/2uIrTWH/Bt0A7YUtJ mZwjRfV5pLnofmnkMs7ufv8VE3V9obgdKdpf+0/Jvc5sg/1k+73TYSvj97oVF/QgYGgBNi PEyu2+pkV0a4uh0pMB7DYwAkKmtsnjcfx1iMsSYyBd/1fypdAdmTYTRmrpFNLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xr3sdKzXJx; Mon, 10 Feb 2025 14:52: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 51AEqm6B028160; Mon, 10 Feb 2025 14:52:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqmtO028157; Mon, 10 Feb 2025 14:52:48 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:48 GMT Message-Id: <202502101452.51AEqmtO028157@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: 69aeb770a925 - stable/14 - LinuxKPI: 802.11: implement wiphy_{,un}lock() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 69aeb770a925f23d073dcedaa14bb4565bbeaee0 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=69aeb770a925f23d073dcedaa14bb4565bbeaee0 commit 69aeb770a925f23d073dcedaa14bb4565bbeaee0 Author: Bjoern A. Zeeb AuthorDate: 2024-12-28 09:43:33 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:10 +0000 LinuxKPI: 802.11: implement wiphy_{,un}lock() This will help us to get minimally better lock coverage in iwlwifi though not yet against the LinuxKPI implementation which will likely switch to this in the future. At least the TODO() logging noise is out of the way. Sponsored by: The FreeBSD Foundation (cherry picked from commit 95a7aa8009877ca95d81967f9af568ef832bb565) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index f489e7a7da11..7780b265cf6b 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -1358,13 +1359,13 @@ wiphy_dev(struct wiphy *wiphy) static __inline void wiphy_lock(struct wiphy *wiphy) { - TODO(); + mutex_lock(&wiphy->mtx); } static __inline void wiphy_unlock(struct wiphy *wiphy) { - TODO(); + mutex_unlock(&wiphy->mtx); } static __inline void From nobody Mon Feb 10 14:52:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xw37b6z5mH7P; Mon, 10 Feb 2025 14:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xt6RLZz4Lh8; Mon, 10 Feb 2025 14:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hTAs51CWYk1/zu797dS4QlwBHEuWrpCi7nr4ax0yLVo=; b=RILqOWDGH30/WlwD8dLUmFn5WxNX3w1iRMP2THKPFRmV62E/gRFfKdDq6s9oCgzB80Tk7z 0P9f/WRhTrgymKhvCRuhsASJfGfOMaMN9vk/Kh0pKBePAzS2FBEFWiPuzBwsJmtXGisDk4 ufRIBYwK1m+f2fu10MJHULVMNEhHMRhW0J5j1pA8zyuwg89dt8QKocrYwYnIYqjyuh7mBO mv4sDxKRDSGsxs8MD+l41iQZ5LUapALVThzsco6aU0wyZgxNRZ5TNZ1VY67XzTZVHcAYox kIMf6aZ/qs1/QkuAQhKR1EaAP8TW/I2Ayiy0jjE7HeIshifcpFFNWoQ04rJNVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hTAs51CWYk1/zu797dS4QlwBHEuWrpCi7nr4ax0yLVo=; b=h1aFX39fNh6bjHsOKYHhn4xR4O029ZTUGAm/evmBZw6P/lp/QBsNZ79q6P9Pps4HNxVsRs A/GAKOEI0Lg2Ed+V0APfDmTiXLg//WmW2LSjziRlYc/iKrqCTJgrZhg/oP25VZ9UKZwuRw ntlPlN/FZ044sqg+T+lgp0rKYaZdZEaPcanZmyB6lffqIU0vuFdDnzIG947kAhV/4D6VFF ME/7tLCiN+ntAsOaiovYN4XHo6cm99RSPb7emCuTKgXCpo9W7kjaZzhBCuc5fciAc5n509 lvkmAP1YSo8aRx4jUGr/9GJB9tTYCzWsDM4DfI/DhEhRWWz0kEdfbK7PqChXZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199170; a=rsa-sha256; cv=none; b=NpSpTfeINkYWwjS+yDhP4LuMkaQDbBV/6pXRlmfB3k94dN7qwqKS7F/ZtiOTYrbPaLaW1g 3tlOME+vts4At/17Su66Vn2EHhuPHTz6VNrB8//J4gbCw4tISgkDtPdMilfC6h6m8swR7p YIFF8XzNIltX53H55rjpuPiYxFVtsgfmLo9I5HRxucdabExgnChOzzFQvy9TbVSPMECWVW Z4HD25U2N1LsS222+KZCOVDCXvXC75HGQvTQT/XyAdFix8b5TWs7+8wMX47kdnBwuxjWMY 2mjSd5DjCHmm879AYjw1E0XEnrpC3HgRtFiMBLfBnUW/npG4q7b2qvuzB26f/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xt5hmDzXWT; Mon, 10 Feb 2025 14:52: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 51AEqo9u028233; Mon, 10 Feb 2025 14:52:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqoWC028230; Mon, 10 Feb 2025 14:52:50 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:50 GMT Message-Id: <202502101452.51AEqoWC028230@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: 706c18c8b666 - stable/14 - LinuxKPI: 802.11: improve the IMPROVE_HT() macro List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 706c18c8b66611d25fba9c003df11b0ce0c04521 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=706c18c8b66611d25fba9c003df11b0ce0c04521 commit 706c18c8b66611d25fba9c003df11b0ce0c04521 Author: Bjoern A. Zeeb AuthorDate: 2024-12-28 10:13:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:10 +0000 LinuxKPI: 802.11: improve the IMPROVE_HT() macro Let the macro take a format string and arguments and add __func__, __LINE__ to the output. Sponsored by: The FreeBSD Foundation (cherry picked from commit a4cdb785bbd7e26cc3f2ed0bb4e5cf7ea83c400b) --- sys/compat/linuxkpi/common/src/linux_80211.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 8605ec86ad1b..0c4c615d82e5 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -78,9 +78,10 @@ if (linuxkpi_debug_80211 & D80211_IMPROVE_TXQ) \ printf("%s:%d: XXX LKPI80211 IMPROVE_TXQ\n", __func__, __LINE__) -#define IMPROVE_HT(...) \ +#define IMPROVE_HT(fmt, ...) \ if (linuxkpi_debug_80211 & D80211_TRACE_MODE_HT) \ - printf("%s:%d: XXX LKPI80211 IMPROVE_HT\n", __func__, __LINE__) + printf("%s:%d: XXX LKPI80211 IMPROVE_HT " fmt "\n", \ + __func__, __LINE__, ##__VA_ARGS__); #define MTAG_ABI_LKPI80211 1707696513 /* LinuxKPI 802.11 KBI */ From nobody Mon Feb 10 14:52:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xw370pz5mGmh; Mon, 10 Feb 2025 14:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xs5jBfz4LfD; Mon, 10 Feb 2025 14:52:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LTNTCam8oNzbebg9F3RNIcrCazMhOJ4+yDdM5CXTSEc=; b=Ty5f0f4xQCPNvgGjV1vc52vS3ompFeaf4xCPVUO9g0BDq8pKPmOCU0KV8xszHB03ZZVmQN staqK3lsT9PvJR3MCZ10INpFgV2Xp60Rz/j/41R6p1zNqgOpuWSPZa8W0VOGS0QWeYOph2 GkmXkWQj5TrRkrjZN3rTDG2tEEzMbAD4uiu/Ka0+1ZUW+Kwx8xC2GdcNq3dJKCW0JTgOnr kEPt+Miu0Y8vtXO0mxVcf065uMIJFFrIlciHtokXdwfTLXNd3Yg5QAWG0N6QG6nVT93Yzf CgWsLt2X1yJFJP4QhiDii+Qx61U71Sc6x7Gzta2RcOivtqm0MIvOuFHbyjXqMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LTNTCam8oNzbebg9F3RNIcrCazMhOJ4+yDdM5CXTSEc=; b=AmEISKUf6jeUkKi/vVl7obWKW4+OCXx6fwis9O/8md8plSO5K31uCkwt1pwHdKX+0+hXXe hx/wPkBgCYnUKboWHl51nYVOlyaZSd6CKqBOU4zijGLCkVZI/oZJBua1rGdUx26CP/LbRA O0GYij7ExrbOnOZ/O1z5eoqn9dWYIOX4HNZnda4x0HkoyOWG1IIbKEORUbrteVZcTyIqfe F2WC6cCpEJ8acbGu4uy2jF3hMkl5nFUdL0AOOlzTnq6eZUa3Eim6wAM0mewENF9iuYOMki U3k27tUMjz32nC1ltwpMiJz3UAv2GqYELV0DW1jiXfmNLf1RJ4vsnO9pE1AvuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199169; a=rsa-sha256; cv=none; b=WG/ubTyoWvYhKehK6Ht1J9ee92YGWsyhX0KlPtIV/6NV9iH+urN7NDJ9GY6UKSOuWBbnhJ Ijdbp9VfzW4cqHGCY/YZmAtcd/X+qGG3+lOc2f97qgtuYdgDl8sW8JSTPUC3ICQ4MzWQbk XARsOWIoOp0HBW+LEWOJvcbJ32wPD0GxaB2UMum/E/IQmDJJ/NlYaN3IXABdaex1F8JG6h vJysUKZMWN1863krxER4DGrYWUq6JLG3r4tt+U+H8G4y+PVcuoiigd6MmJvEdA1oXc8aiv ndMvzcawo4k9uCtChP+fOWHPqI19aezMZhyamyyJnW42+T2evjTnuAXPodz3lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xs4q13zX79; Mon, 10 Feb 2025 14:52: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 51AEqn9Z028196; Mon, 10 Feb 2025 14:52:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqnX7028193; Mon, 10 Feb 2025 14:52:49 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:49 GMT Message-Id: <202502101452.51AEqnX7028193@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: 08e6f5e449e3 - stable/14 - LinuxKPI: 802.11: add a print mask for ieee80211_rx_status_flags bits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 08e6f5e449e36eb45530eed3556e1aa5e36970ac Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=08e6f5e449e36eb45530eed3556e1aa5e36970ac commit 08e6f5e449e36eb45530eed3556e1aa5e36970ac Author: Bjoern A. Zeeb AuthorDate: 2025-01-07 12:16:57 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:10 +0000 LinuxKPI: 802.11: add a print mask for ieee80211_rx_status_flags bits Add a print mask for use with %b to aid debugging. It is a lot easier to read names than numbers. Sponsored by: The FreeBSD Foundation (cherry picked from commit f1aeb5d850cf26418fb70a16d1304b92c45b5f1d) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 11 +++++++++++ sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index dff152caf140..3aa383554e93 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -625,6 +625,17 @@ enum ieee80211_rx_status_flags { RX_FLAG_FAILED_PLCP_CRC = BIT(31), }; +#define IEEE80211_RX_STATUS_FLAGS_BITS \ + "\20\1ALLOW_SAME_PN\2AMPDU_DETAILS\3AMPDU_EOF_BIT\4AMPDU_EOF_BIT_KNOWN" \ + "\5DECRYPTED\6DUP_VALIDATED\7FAILED_FCS_CRC\10ICV_STRIPPED" \ + "\11MACTIME_PLCP_START\12MACTIME_START\13MIC_STRIPPED" \ + "\14MMIC_ERROR\15MMIC_STRIPPED\16NO_PSDU\17PN_VALIDATED" \ + "\20RADIOTAP_HE\21RADIOTAP_HE_MU\22RADIOTAP_LSIG\23RADIOTAP_VENDOR_DATA" \ + "\24NO_SIGNAL_VAL\25IV_STRIPPED\26AMPDU_IS_LAST\27AMPDU_LAST_KNOWN" \ + "\30AMSDU_MORE\31MACTIME_END\32ONLY_MONITOR\33SKIP_MONITOR" \ + "\348023\35RADIOTAP_TLV_AT_END\36MACTIME\37MACTIME_IS_RTAP_TS64" \ + "\40FAILED_PLCP_CRC" + enum mac80211_rx_encoding { RX_ENC_LEGACY = 0, RX_ENC_HT, diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 3c9b9dc42fcc..2741f52aca9c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5334,13 +5334,13 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, /* Implement a dump_rxcb() !!! */ if (linuxkpi_debug_80211 & D80211_TRACE_RX) - printf("TRACE-RX: %s: RXCB: %ju %ju %u, %#0x, %u, %#0x, %#0x, " + printf("TRACE-RX: %s: RXCB: %ju %ju %u, %b, %u, %#0x, %#0x, " "%u band %u, %u { %d %d %d %d }, %d, %#x %#x %#x %#x %u %u %u\n", __func__, (uintmax_t)rx_status->boottime_ns, (uintmax_t)rx_status->mactime, rx_status->device_timestamp, - rx_status->flag, + rx_status->flag, IEEE80211_RX_STATUS_FLAGS_BITS, rx_status->freq, rx_status->bw, rx_status->encoding, From nobody Mon Feb 10 14:52:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6xw3hGkz5mHHH; Mon, 10 Feb 2025 14:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xw0mx4z4LWD; Mon, 10 Feb 2025 14:52:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=73j5em+ClFFFAxJtAkYGYm0/3aHY5/6g9KJVPzKpvDQ=; b=reMhmQLQvjQnNXMAgyp3HwX5gY/80u4ESLiGtrYdfiJEr8trwQ++kluIrMZK27e+t3SEmx mJmEVqzKqPsgAoLhpb1HncLO1WB2BNyItGTVmSyWcxcVnADkZwobUCviREL2QnoS3XUH3f pCwOXfbgG/XeSBRBgaE1WKSjdJW46d6Wg9oV1FEpoxNSbx0A9Q+6I6LbSqV1M1G/6QjX0g KlxTCPjUxsITGKnayqwFP9zLKGDybPG8QkSZVLX7bWeCwJen4KAaFe3A9cp7neE+6VJoMM EsWDeo2BXxfpXJ93YRJU/LpYPF0i9Al+PoTFu622CFuHEgC17B4rUD+9JAjdsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=73j5em+ClFFFAxJtAkYGYm0/3aHY5/6g9KJVPzKpvDQ=; b=oCZw5N0IdvFiCB0z1mGv95b9cm/jcmppaaOjdrdzaIOA1D1wSiZ2QQfh6AvkGwDx7s1iqF FRTGKmCSRGLaonW+cillTz1s98GoTFNfwhX77l5q9QPX5NRKptW9tnBQfosPf5jHYv5M1q m6X3SgY9npCKvlFcfRSKjPu1LAbJGzOVfpVgDa5/qFm53hpcPDELIRh9vmIk1NpZ+8eyUB a9GqzuLpROs4o0hsbFlEQ0mPn9XWDYacZNGI95K3UJDBgXyZNM3BpJp5j826VmyMofX1up 3f1lwUxjmmY35YxPNvVeErsaHBVWx1cJs4w/hFezX+gsY5xQmcdIXlIFB/sliQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199172; a=rsa-sha256; cv=none; b=kJAODr9t9QjWWMhaBxaIf/TPKI5LdK1iBMJUtCn0NHJpUw/mskOeSBjQDPvm18DmKjsW+g kJkK4itobiNQj/URJBOPenqBFUHU5KBhI89rLpRTY9B6dWiBQOVpURSaFDuzqg7TvZe7S2 Dlu2+L2Tv4Z1bBWEyxQxvey4Wlr2goa6qaaIkVAhk7ypn4yToyWAVefJQhdarjLAwpQ9kY /uL+ZQKKZv0Uq6mPV9bP4aqSZdj32pT/uq+Y1XyIGq4ZBhj/JZXIuQgTyWq3ghfrxnK0kU qFOprhnecgTQ6kd2mvRLEYVVKM2A6JgNpwxN5oQ4FRSzhXFGfNL8L5jIAq1x/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xw0BhFzX7B; Mon, 10 Feb 2025 14:52: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 51AEqpJJ028275; Mon, 10 Feb 2025 14:52:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqpn0028272; Mon, 10 Feb 2025 14:52:51 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:51 GMT Message-Id: <202502101452.51AEqpn0028272@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: 1a7956f64b5c - stable/14 - LinuxKPI: 802.11: implement ieee80211_get_{he,eht}_iftype_cap{,_vif} List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1a7956f64b5cbe912acd49729e18f1f6c1e05607 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1a7956f64b5cbe912acd49729e18f1f6c1e05607 commit 1a7956f64b5cbe912acd49729e18f1f6c1e05607 Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 11:46:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:10 +0000 LinuxKPI: 802.11: implement ieee80211_get_{he,eht}_iftype_cap{,_vif} Implement the combination of all four functions, the *_vif versions from mac80211.h as a wrapper to the non-*_vif ones in cfg80211.h. Put the function pairs next to each other and in the right files and harmonize argument naming, etc. Both of them have shown up too often in the todo-tracing to bother enough to implement them now for a time in the future when we will support HE/EHT. Sponsored by: The FreeBSD Foundation (cherry picked from commit c75a558d0729da87ee3c016b57cc8f5ac4fc65d0) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 34 +++++++++++++++++++++-- sys/compat/linuxkpi/common/include/net/mac80211.h | 26 ++++++++--------- 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 7780b265cf6b..0b6a66033536 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -2073,12 +2073,40 @@ ieee80211_get_sband_iftype_data(const struct ieee80211_supported_band *band, return (NULL); } -static __inline const struct ieee80211_sta_eht_cap * +static inline const struct ieee80211_sta_he_cap * +ieee80211_get_he_iftype_cap(const struct ieee80211_supported_band *band, + enum nl80211_iftype iftype) +{ + const struct ieee80211_sband_iftype_data *iftype_data; + const struct ieee80211_sta_he_cap *he_cap; + + iftype_data = ieee80211_get_sband_iftype_data(band, iftype); + if (iftype_data == NULL) + return (NULL); + + he_cap = NULL; + if (iftype_data->he_cap.has_he) + he_cap = &iftype_data->he_cap; + + return (he_cap); +} + +static inline const struct ieee80211_sta_eht_cap * ieee80211_get_eht_iftype_cap(const struct ieee80211_supported_band *band, enum nl80211_iftype iftype) { - TODO(); - return (NULL); + const struct ieee80211_sband_iftype_data *iftype_data; + const struct ieee80211_sta_eht_cap *eht_cap; + + iftype_data = ieee80211_get_sband_iftype_data(band, iftype); + if (iftype_data == NULL) + return (NULL); + + eht_cap = NULL; + if (iftype_data->eht_cap.has_eht) + eht_cap = &iftype_data->eht_cap; + + return (eht_cap); } static inline bool diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 3aa383554e93..891277e42541 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1605,7 +1605,7 @@ ieee80211_csa_finish(struct ieee80211_vif *vif, uint32_t link_id) TODO(); } -static __inline enum nl80211_iftype +static inline enum nl80211_iftype ieee80211_vif_type_p2p(struct ieee80211_vif *vif) { @@ -2271,14 +2271,6 @@ ieee80211_channel_switch_disconnect(struct ieee80211_vif *vif, bool _x) TODO(); } -static __inline const struct ieee80211_sta_he_cap * -ieee80211_get_he_iftype_cap(const struct ieee80211_supported_band *band, - enum nl80211_iftype type) -{ - TODO(); - return (NULL); -} - static __inline void ieee80211_key_mic_failure(struct ieee80211_key_conf *key) { @@ -2427,20 +2419,24 @@ ieee80211_vif_is_mld(const struct ieee80211_vif *vif) return (vif->valid_links != 0); } -static __inline const struct ieee80211_sta_he_cap * +static inline const struct ieee80211_sta_he_cap * ieee80211_get_he_iftype_cap_vif(const struct ieee80211_supported_band *band, struct ieee80211_vif *vif) { - TODO(); - return (NULL); + enum nl80211_iftype iftype; + + iftype = ieee80211_vif_type_p2p(vif); + return (ieee80211_get_he_iftype_cap(band, iftype)); } -static __inline const struct ieee80211_sta_eht_cap * +static inline const struct ieee80211_sta_eht_cap * ieee80211_get_eht_iftype_cap_vif(const struct ieee80211_supported_band *band, struct ieee80211_vif *vif) { - TODO(); - return (NULL); + enum nl80211_iftype iftype; + + iftype = ieee80211_vif_type_p2p(vif); + return (ieee80211_get_eht_iftype_cap(band, iftype)); } static inline uint32_t From nobody Mon Feb 10 14:52:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y034Twz5mH7b; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xz3RFKz4Lkq; Mon, 10 Feb 2025 14:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8rlWIaD7+Z5vOycX/VH8sphzr4F2q4XYX8ExB94onf0=; b=jb+IpzNqvjMVOsNoLNBTMXWhaNFLpLnfnVzYcF10n0PNVt7B4UQtDqVXe6bkjnubTOKzB/ MRo8CxYocdkkNnxeawz2edaJn0sQIo7cSONdLH1xH15KsEe4PiuTwu6ExbsQLEIC7+fEst FMG+NEG2XrDKVAK0E1UGKJ6IhjE52huQfrwGP+7CjNV+ABruC3KfYXQKbvxiGHxR7v4rJe F10SLD0+ydoN0qBrM0J1QWKcq0aSzWfbyChRWKpF77waEmxpprn30bFCpXgWVHFjKu4Cuc CPIrig47I+U7DBi4v+CiGXIPU5cAnHQV4gSvGUKOP4htcyyQvMcGGLMyaMJCsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8rlWIaD7+Z5vOycX/VH8sphzr4F2q4XYX8ExB94onf0=; b=jC0U3mhp86HHRW88MLiVjQm5QPxkBHCbReAM2Q2KTOpSs08dxsL9uSdOOQNqU1/LncBq8s wtJRFmoPHRhXyDA7WGKukVtSqHTZ8Mk3PwC8rN/O9/ZdRZyfaCyNwpRRClJgG6haYbj/ic 9B009LB5EOt+JexAxPbKPrXxzLrOsN2DmXl1ifj69K2+SBADL2vstdwpMOMl3VqAKqi2B1 eN6d24tzGN3TERMzxuCFva5Jgn/1IFg0P4O+MYL9tj2O4iPVOjT0y5U8rVy41cvdvwR1AL 56g7Ppa3yztUnFCy7HUMFXPbFvaWQPzj9Xnc34WxnBeZC8mfrVtq8pbUaKPCnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199175; a=rsa-sha256; cv=none; b=BOI5khUK2/nNHS7ddvcW/0UIpDs9G/ZgcGQ/prloCLsqkDcp82umG51mjIeiVGA5gGusz5 grTXYMr2MrK+skRazX4ezSKh4Svv//Y/QxzHDYhJAeYDN7jsUzakVTKyABsvoMThIrC2/a pP1NRWAurlMrtixdU+fmG1PmYId9NSsWXVEGef0iUOJVMxg1K5oQVIszLY2Qi+VwVvw5yW B2AdQrZiep5BIA3yCvrOmfufFVmSGq1NcftDrtGGrlhuiTSAEPOSrIzm9Oaq7n0NECvNwz 6tnkzfa8YBy1PVqE9BmEMpQo/FpuTaoKonD+TadGx4sI2qQZX63FWE+vSGaFow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xz2Zm2zXZB; Mon, 10 Feb 2025 14:52: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 51AEqtTp028394; Mon, 10 Feb 2025 14:52:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqtIE028391; Mon, 10 Feb 2025 14:52:55 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:55 GMT Message-Id: <202502101452.51AEqtIE028391@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: bd42a2567348 - stable/14 - LinuxKPI: 802.11: turn on debugfs for iwlwifi and rtw88 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bd42a2567348e88c2fafa6adeadac01b86b1a95c Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bd42a2567348e88c2fafa6adeadac01b86b1a95c commit bd42a2567348e88c2fafa6adeadac01b86b1a95c Author: Bjoern A. Zeeb AuthorDate: 2024-12-28 09:52:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:11 +0000 LinuxKPI: 802.11: turn on debugfs for iwlwifi and rtw88 Make iwlwifi compile with debugfs after the last updates and turn it on for both iwlwifi and rtw88 in order to be able to get at least some useful information on driver/firwmare state. Sponsored by: The FreeBSD Foundation (cherry picked from commit 07f6575585bf69ae48dffe87c4578057ae4782d8) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 4 ++++ sys/contrib/dev/iwlwifi/mvm/debugfs-vif.c | 2 ++ sys/modules/iwlwifi/Makefile | 2 +- sys/modules/rtw88/Makefile | 5 ++++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 67c291fc2b89..8872be569e44 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -737,6 +737,7 @@ struct ieee80211_sta_agg { }; struct ieee80211_link_sta { + struct ieee80211_sta *sta; uint8_t addr[ETH_ALEN]; uint8_t link_id; uint32_t supp_rates[NUM_NL80211_BANDS]; @@ -1121,6 +1122,9 @@ struct ieee80211_ops { /* #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 *); + void (*vif_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *); + void (*link_sta_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_link_sta *, struct dentry *); + void (*link_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, struct dentry *); /* #endif */ }; diff --git a/sys/contrib/dev/iwlwifi/mvm/debugfs-vif.c b/sys/contrib/dev/iwlwifi/mvm/debugfs-vif.c index aa5058955323..0b3bc62f39a7 100644 --- a/sys/contrib/dev/iwlwifi/mvm/debugfs-vif.c +++ b/sys/contrib/dev/iwlwifi/mvm/debugfs-vif.c @@ -888,10 +888,12 @@ void iwl_mvm_vif_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif) void iwl_mvm_vif_dbgfs_add_link(struct iwl_mvm *mvm, struct ieee80211_vif *vif) { struct dentry *dbgfs_dir = vif->debugfs_dir; +#if defined(__linux__) struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); char buf[3 * 3 + 11 + (NL80211_WIPHY_NAME_MAXLEN + 1) + (7 + IFNAMSIZ + 1) + 6 + 1]; char name[7 + IFNAMSIZ + 1]; +#endif /* this will happen in monitor mode */ if (!dbgfs_dir) diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile index e69cac51dae2..3508f29979a8 100644 --- a/sys/modules/iwlwifi/Makefile +++ b/sys/modules/iwlwifi/Makefile @@ -4,7 +4,7 @@ DEVIWLWIFIDIR= ${SRCTOP}/sys/contrib/dev/iwlwifi .PATH: ${DEVIWLWIFIDIR} WITH_CONFIG_PM= 0 -WITH_DEBUGFS= 0 +WITH_DEBUGFS= 1 KMOD= if_iwlwifi diff --git a/sys/modules/rtw88/Makefile b/sys/modules/rtw88/Makefile index d9613b38eadf..bc4c3eb848ea 100644 --- a/sys/modules/rtw88/Makefile +++ b/sys/modules/rtw88/Makefile @@ -4,6 +4,7 @@ DEVRTW88DIR= ${SRCTOP}/sys/contrib/dev/rtw88 .PATH: ${DEVRTW88DIR} WITH_CONFIG_PM= 0 +WITH_DEBUGFS= 1 KMOD= if_rtw88 @@ -40,6 +41,8 @@ CFLAGS+= -DLINUXKPI_VERSION=60800 CFLAGS+= -I${DEVRTW88DIR} CFLAGS+= ${LINUXKPI_INCLUDES} CFLAGS+= -DCONFIG_RTW88_DEBUG -#CFLAGS+= -DCONFIG_RTW88_DEBUGFS +.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 +CFLAGS+= -DCONFIG_RTW88_DEBUGFS +.endif .include From nobody Mon Feb 10 14:52:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y032vyz5mH7Z; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xx1ML1z4Lkh; Mon, 10 Feb 2025 14:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sma8j3AAP0jL2lfiT7PEZj/O4tavN1d1nY2FC+g/0B4=; b=xmZQFjeiSxOAaXgj8G08wI64uN0AlYfDc2nLSyMRmw/UQEcCqr9+kyRQyhphGIBZcOk/UR 9LRhSsVaKy9JxseBH9GWJlAMKmYQOXCPDFAzsWFT2vZ4Q0UcjtB1jiayWRH9Bgzmk03cZw uqPXR4SGYXAbstOI/g2TkrDG7wHmIN3FIkKg8pBfXLU1dZrGck0khTkiWjO2tbGWgnAerQ lU5MKLWWs/qUlfY/o6W99xx6dENy4QqI3JEZnAbe7bIg7fOL85N6NxIlb9gHoBBiR/jPc0 2oa28fHzTQaUDTlrnocmzluYIrnPU+8DPnUY24dplFxeWueEdXwlnkQGWLDs6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sma8j3AAP0jL2lfiT7PEZj/O4tavN1d1nY2FC+g/0B4=; b=TmC6bUgvPTcQ/S8i3ia9H678E44baFSarzPVOvPIIfPaVsITcIGjLvJzrG9MwjJRn0RUYO pOKmIE3tsyWKgOHdf2v3tZrPsLvt/m+q4ry5JNNfeotjNYVDtQHNE1Mp8ROv1xI4ciBPl6 p/W/STPQK+N9Mz7aIsH/dDwMCVRlVu2pEdzYSXbiD5Z09X3ty3LkV74C/zSaxxv0smaAwW PHnFFzPwzYsGMcCS/I4KknrW0lJryvJY070F5hopK1Zc1mhuQu3urnLCCflLR3qKxwFsnX c/yMvQLPX/cGymvq8j+yEyjdu5gzKPZr5W6MkF91LbTC2uN9hZfxqR3SSoD99Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199173; a=rsa-sha256; cv=none; b=fI6KSGFbwWjHLr2TJrwZYk7Oz5yYZoARN0Uhw9Euo1eGYVpfKA/4ckUEs4N5eVFJsg2RYb hnw9OSTHdIleIpnHzW7NgE5BFVaKixA3TN8ry3kOU5C3k5aJz5RicxMgEPv6SaYQocoeGh gFKyPij1+ImxE28SkibXx/pB7ySuFYYPLJJDe4NuSgheZqV1QEb4ohNAseBywr1vTM5un5 eOz4bZdHk969wx+strVtyWxOsFmX05VjKz6cTpFNGnFFPp2mD7u2+qaUnDxAGXQserY9nJ iZqWb9UriDzLPXUn7rTUUgvCiv60gIQGNY2Bw1tPKOz9QRyTa3545ocbU0f4SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xx0WGVzXJn; Mon, 10 Feb 2025 14:52: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 51AEqqsn028315; Mon, 10 Feb 2025 14:52:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqqHM028312; Mon, 10 Feb 2025 14:52:52 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:52 GMT Message-Id: <202502101452.51AEqqHM028312@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: 6d2408973256 - stable/14 - LinuxKPI; 802.11 initalize ic_vht_cap.supp_mcs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6d240897325657ca455b2b6e94107f9914f778a7 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6d240897325657ca455b2b6e94107f9914f778a7 commit 6d240897325657ca455b2b6e94107f9914f778a7 Author: Bjoern A. Zeeb AuthorDate: 2025-01-10 23:55:59 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:10 +0000 LinuxKPI; 802.11 initalize ic_vht_cap.supp_mcs Given the channel struct has an extra bool we cannot assign the information 1:1 to net80211. While the caps where assigned the suppoerted mcs sets were not. Fix that. Sponsored by: The FreeBSD Foundation (cherry picked from commit ecb2e5f9c30a8c0ae491d07b2300e37eb599c298) --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 2741f52aca9c..d0dde529c7a8 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4552,6 +4552,8 @@ lkpi_ic_getradiocaps(struct ieee80211com *ic, int maxchan, ic->ic_flags_ext |= IEEE80211_FEXT_VHT; ic->ic_vht_cap.vht_cap_info = hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap.cap; + ic->ic_vht_cap.supp_mcs = + hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap.vht_mcs; setbit(bands, IEEE80211_MODE_VHT_5GHZ); chan_flags |= NET80211_CBW_FLAG_VHT80; From nobody Mon Feb 10 14:52:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y033yGz5mH45; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6xy3DhWz4Lkn; Mon, 10 Feb 2025 14:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199174; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7fd+r540ENwpSDLY48vaYutBtYEE+GhEVsl4pk549yI=; b=vqeJS67fgPKbEg07OZT4O0Jr/Uefs0s4/1s16MZoRDSqCqttV1UxLwI/arb/TxCvcwlBYn oYTcfLTfwv2T+ljCdA94suSl2bRONqsBIkD+2Uwc7T2+n602I2oipK0NXDUGDvQu+F1d6k XlJqq4/3Jd/j23oqXnsbrmU30/juk956vUWbzcbSdy4pQTW74U8MQ5nkdIxl0lIvGRTw43 MLYuk+zm/CU457tT9zxop6z7Iv90OFa1+fmFRKGH3bQQ95bk46MRZgzxLulno9Wmh+8z5n KBNBVChF09Qr+3C4Pv8jdJ6wpDGbqRRz393/y2dE8Q97MWxhChOeZGh9d7OFFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199174; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7fd+r540ENwpSDLY48vaYutBtYEE+GhEVsl4pk549yI=; b=TJR7lq/nx18CdNyY59FTO6pPjDUYVdnLqM/XrxW/rRrrOfiKRglJiz2NI2iD3S+/38U+8p 88X2bU2qlM+YEFOeS881ZtaFnsR+yVXatlPDteofO6rgIHwQ7TWz77yKwS3Qcr3f96z/j+ FTJ0giQoU+cJMI3Zd1Ju23Jwf9v13rtI3j/gDG9oc1PUX1CoUTCVORoPX50NWEPqrnY6vn 6NvibnvLcENvvo42AB7DtREbCjn6XlZzI2PasXiW4bu72dn/iEF802WQM3uAiFICz0yHst 7m235DL8IO22LkSW7tGZttbpUzRTpCdIEkbkR09JzooJTd5aF5xIY+iC/xmJDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199174; a=rsa-sha256; cv=none; b=IjRnQtIVXC7HXtozyM2eaTUdRapinuD5NJKFYHi+44I/MBPmaS4suvVnbTyq//0vnMxNES OWwOYOOyutX1fQWsJKLysdjhMdFVVcoHUmkqn2wNiY9qF+8wFbG869ywkRfNw5vcLRQS6V T61bMOs6yVQlD321e+CXj1PtVDS0dDNbWB5Q29ki5blOSX34yXtRE8DLGA1HtbsyqZuQ25 laKq9E9cX5bhYoHi/gP3dvokGAS48EiTnkJ/QREFOAHU+Fi0aZxar2mXSb7f4Ucvqzy+46 Nxf7mkD5jEFU2i+dRz980XYbqIaAySJoB2xJmqzLYGdMNhNZxJLpYGT19cF2Lw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6xy1k5kzXWs; Mon, 10 Feb 2025 14:52: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 51AEqs6P028357; Mon, 10 Feb 2025 14:52:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqsZo028354; Mon, 10 Feb 2025 14:52:54 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:54 GMT Message-Id: <202502101452.51AEqsZo028354@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: fde943a07e47 - stable/14 - LinuxKPI: 802.11: remove rate_lowest_index() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fde943a07e4718ffdcf5fb56a8645954c814b43c Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fde943a07e4718ffdcf5fb56a8645954c814b43c commit fde943a07e4718ffdcf5fb56a8645954c814b43c Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 11:51:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:11 +0000 LinuxKPI: 802.11: remove rate_lowest_index() rate_lowest_index() is no longer used anywhere in our code. Garbage collect it. Sponsored by: The FreeBSD Foundation (cherry picked from commit 1b840f09b6b379c0aae5a558ba5a4ed6bb571a85) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 891277e42541..67c291fc2b89 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -2182,15 +2182,6 @@ ieee80211_txq_get_depth(struct ieee80211_txq *txq, unsigned long *frame_cnt, linuxkpi_ieee80211_txq_get_depth(txq, frame_cnt, byte_cnt); } -static __inline int -rate_lowest_index(struct ieee80211_supported_band *band, - struct ieee80211_sta *sta) -{ - IMPROVE(); - return (0); -} - - static __inline void SET_IEEE80211_PERM_ADDR (struct ieee80211_hw *hw, uint8_t *addr) { From nobody Mon Feb 10 14:52:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y34ZZ9z5mH8w; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y15jc5z4Ln9; Mon, 10 Feb 2025 14:52:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gp2Wr6LqV3O6pO0EiLQPyMg//pAG/Nakcdl3D1nf8uo=; b=QEbq7xRptuM3nIY8MivWtxwJuQ42J6H/1P0x8mnlSgTCmyWSiIdbXXV3Ij+WO8QDNSXB4V xReyFNMbgRIdoGc3soLCnfY6BRnrpi17FWh/fhwKsBx1z0l9I2iz6gzbwBWanEnpn0WiE7 n8cZ11NpkbZrvf/Xor/J5CpMFXiXjT+byeXdO3eMtq79BRFN/sFVFTvWrVDdZMBGaKwdtm qzwuCNN0sP2iDFihWmgkBjrLsTcg1ia3kV5nXY6Lq5R6TUalf3+EQd/QKLwBN1zndLnpBx 6OHFVO/W42uV9S9tbDGtNnpSabQexDLj55sii6mVIfAEIorUt9JOwETvCdROcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gp2Wr6LqV3O6pO0EiLQPyMg//pAG/Nakcdl3D1nf8uo=; b=ZauHAjmm/OkeaQ8Eqxyw+hMwKxFDm1LgzGB050k7QEEmKXvbbFffLqpGhObukH/pnHKU4F yLjlKUnnVFX9G8V8PcHkwEGPQok4kxyNhoqx77WfNMW28kPVoKHN75DOcqrR0FoIbTauUU Iio7s5ZK0uKsg/Gg81wCHHDB/+35b7YxYQq9E+6XDK6MZ52u/LMxosPVtO1B0k9LdJUnMh AoIHrhkuFK8hzd1lvCOveVmXDtMNUQXwdnBvWAkXeVmEWyLSSM8h2Rb+XEdeHdPmR4aNKa LaeUA1Xicgzc/EVNhRxiN7+2LambK/0chnnFKGRfGA+9ajpuzXqp/tN1z45uiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199177; a=rsa-sha256; cv=none; b=axtCKQZ+CNQGP9dOaaHRarAObvUJjjANskhNUYRHS/cznORmiuN87rgS/aSErAaZak8CtH kzE8S52afsKUY+x0npqmgR1k0L/7Gp9LT9ORdAvyDIW48ZLoNlv6Da8RqgcsQJvcjTRfsi GdA8DTOKqiR16lrLoZPIghZTZXyA2HWCh5L/oyglbXkeBZozcnRhZxY6Qzs35KS7jQ078i REtH0Njsf1e3ju+yOk1eWW00rFFHzDg9dVGIzj2ncWr1qETpfv//ICJWQQMcXOsecV77PD H6SLWfZnknis8TDmHg/Z3sOPoWIUOoKEzgG72wl1ZWF7m4W9XcIbQ7SLSW3WwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y13yWlzXJy; Mon, 10 Feb 2025 14:52: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 51AEqvEE028474; Mon, 10 Feb 2025 14:52:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqvtK028471; Mon, 10 Feb 2025 14:52:57 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:57 GMT Message-Id: <202502101452.51AEqvtK028471@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: be330cd9f9ac - stable/14 - rtw89: turn on debugfs support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: be330cd9f9ac784b9f5ca9a50402ef0e333d67a1 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=be330cd9f9ac784b9f5ca9a50402ef0e333d67a1 commit be330cd9f9ac784b9f5ca9a50402ef0e333d67a1 Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 22:17:18 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:11 +0000 rtw89: turn on debugfs support Following 07f6575585bf also turn on debugfs support for rtw89. Sponnsored by: The FreeBSD Foundation (cherry picked from commit 446eab491e523e3d7586e11cb16448e524297da4) --- sys/modules/rtw89/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/modules/rtw89/Makefile b/sys/modules/rtw89/Makefile index 9aede7b528fe..8c2905404f4f 100644 --- a/sys/modules/rtw89/Makefile +++ b/sys/modules/rtw89/Makefile @@ -4,6 +4,7 @@ DEVRTW89DIR= ${SRCTOP}/sys/contrib/dev/rtw89 .PATH: ${DEVRTW89DIR} WITH_CONFIG_PM= 0 +WITH_DEBUGFS= 1 KMOD= if_rtw89 @@ -43,7 +44,9 @@ CFLAGS+= -DLINUXKPI_VERSION=60800 CFLAGS+= -I${DEVRTW89DIR} CFLAGS+= ${LINUXKPI_INCLUDES} CFLAGS+= -DCONFIG_RTW89_DEBUGMSG -#CFLAGS+= -DCONFIG_RTW89_DEBUGFS +.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 +CFLAGS+= -DCONFIG_RTW89_DEBUGFS +.endif #CFLAGS+= -ferror-limit=0 From nobody Mon Feb 10 14:52:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y34bbJz5mH8x; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y261K6z4LnK; Mon, 10 Feb 2025 14:52:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KFLHNngZ5ZyFxvOQ31RLaA2TVnqF+WnxDZ9kP8u9iog=; b=DzlTfaGO5g5IXmeV52XoqZWZM0Wq76zbmFDXnBDIadVj3dLiMhJNvzo/8CQiULnOrVIrbM vyVd+QIaA3FoEh9wYk95LdtltUC7KJAlm1z8OzdZoiZvYzjhI4h421Xb6BbIIfl3+AYH5d uIRxEteBxn6Gyu02/NcAoqw11sU60qqjfnk/S9FESu09B6YKj9xTA4Y3e7tJoE7iJElSGW SN40DNw5d/9xEbLR7I+VzUSjyWR/z4zymNvtzyAqldVg2uVgqDgqBF39js0T8eXmw1Agjg JU3Sj6Xdp2RSmnXCnew7y2X4EOD+Wwyve1P9e+ADiyII0jPg09FO11ioR4Ks+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KFLHNngZ5ZyFxvOQ31RLaA2TVnqF+WnxDZ9kP8u9iog=; b=AWPMIj/TLlDskhfayk5WR1ApDsjGBi+BlX+/1l4Hbrh+OJrJrZtHnglsPW89MqlIw1PzoZ y12VW3+ZAq38LP2xm4i6672URFkWrqmRYYiUnKDunpxSdMEqzc7cxVPh4HMUfDwcUDRwvx zAkp6FI5fBPOJe7JT8KaVLmYz51KPK9PIyOif8FzNyliuiBVv1hTYM5vcqxhbV7KJDqQe2 juBGsQUDTdG46sFXg/BUBdSIc3+03fQxuZEEWYdJNbEcDeSqBTZdf5M5lFfB/8+9nvwgCj cC+Ff1jyBwU69INkJgIKp3ixhMkBNBCvTFtuY+/WMLp16XBP32E5+qFPaHQ3ZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199178; a=rsa-sha256; cv=none; b=xjB3pA68FkJ9A55jY+6ySwuva/IMY/c52ORfU1CoQpKM44frrhF2B3UqXIgGdt7XXCbmCa gaEZubHILmtUyxn/o+dOCSQ74FEnOydzuYgsIahKax9BHHlfoC1XNDTJ95XnNTgOkkc0LR AyNMJSr3Na8dIfwOpAGaGU+i/WIk1ECfKNI3q7X0qR+26tJGsUE7EcBEBj40CjvG7iOQkl iT4lwK7+TFZpCdfQXQBsvIZGqj/5TLviXH9kYLUR7FRhSX5yyjKD702nUe8WvmT6Cr9wwB GHDYRqtDqG8fi98jB6vQreNRSvvAjLnT8eVMnoZ00JyrcAoHuqCORQup015dyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y25Kz5zX7C; Mon, 10 Feb 2025 14:52: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 51AEqwZD028511; Mon, 10 Feb 2025 14:52:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqwdG028508; Mon, 10 Feb 2025 14:52:58 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:58 GMT Message-Id: <202502101452.51AEqwdG028508@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: 9689622f9898 - stable/14 - rtw88/rtw89: add module_param to enable/disable HT/VHT and EHT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9689622f98982d785c906051e7114e6f7d5d4095 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9689622f98982d785c906051e7114e6f7d5d4095 commit 9689622f98982d785c906051e7114e6f7d5d4095 Author: Bjoern A. Zeeb AuthorDate: 2025-01-26 00:26:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:11 +0000 rtw88/rtw89: add module_param to enable/disable HT/VHT and EHT In order to better test HT and VHT support with LinuxKPI add (tunable) options disabled by default to on-demand enable HT/VHT and for rtw89 also EHT. It is expected that we will remove this FreeBSD-specific code again in the future. Sponsored by: The FreeBSD Foundation (cherry picked from commit 7a5b55e3b448744b099c274763992cba2e3ebce5) --- sys/contrib/dev/rtw88/main.c | 22 ++++++++++++++++++++++ sys/contrib/dev/rtw89/core.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/sys/contrib/dev/rtw88/main.c b/sys/contrib/dev/rtw88/main.c index de94f750200e..5157f447b93c 100644 --- a/sys/contrib/dev/rtw88/main.c +++ b/sys/contrib/dev/rtw88/main.c @@ -46,6 +46,16 @@ MODULE_PARM_DESC(disable_lps_deep, "Set Y to disable Deep PS"); MODULE_PARM_DESC(support_bf, "Set Y to enable beamformee support"); MODULE_PARM_DESC(debug_mask, "Debugging mask"); +#if defined(__FreeBSD__) +static bool rtw_ht_support = false; +module_param_named(support_ht, rtw_ht_support, bool, 0644); +MODULE_PARM_DESC(support_ht, "Set to Y to enable HT support"); + +static bool rtw_vht_support = false; +module_param_named(support_vht, rtw_vht_support, bool, 0644); +MODULE_PARM_DESC(support_vht, "Set to Y to enable VHT support"); +#endif + static struct ieee80211_channel rtw_channeltable_2g[] = { {.center_freq = 2412, .hw_value = 1,}, {.center_freq = 2417, .hw_value = 2,}, @@ -1666,7 +1676,11 @@ static void rtw_set_supported_band(struct ieee80211_hw *hw, sband = kmemdup(&rtw_band_2ghz, sizeof(*sband), GFP_KERNEL); if (!sband) goto err_out; +#if defined(__linux__) if (chip->ht_supported) +#elif defined(__FreeBSD__) + if (rtw_ht_support && chip->ht_supported) +#endif rtw_init_ht_cap(rtwdev, &sband->ht_cap); hw->wiphy->bands[NL80211_BAND_2GHZ] = sband; } @@ -1675,9 +1689,17 @@ static void rtw_set_supported_band(struct ieee80211_hw *hw, sband = kmemdup(&rtw_band_5ghz, sizeof(*sband), GFP_KERNEL); if (!sband) goto err_out; +#if defined(__linux__) if (chip->ht_supported) +#elif defined(__FreeBSD__) + if (rtw_ht_support && chip->ht_supported) +#endif rtw_init_ht_cap(rtwdev, &sband->ht_cap); +#if defined(__linux__) if (chip->vht_supported) +#elif defined(__FreeBSD__) + if (rtw_vht_support && chip->vht_supported) +#endif rtw_init_vht_cap(rtwdev, &sband->vht_cap); hw->wiphy->bands[NL80211_BAND_5GHZ] = sband; } diff --git a/sys/contrib/dev/rtw89/core.c b/sys/contrib/dev/rtw89/core.c index d1f82bfad4a9..85d8dee4e85d 100644 --- a/sys/contrib/dev/rtw89/core.c +++ b/sys/contrib/dev/rtw89/core.c @@ -29,6 +29,21 @@ static bool rtw89_disable_ps_mode; module_param_named(disable_ps_mode, rtw89_disable_ps_mode, bool, 0644); MODULE_PARM_DESC(disable_ps_mode, "Set Y to disable low power mode"); +#if defined(__FreeBSD__) +static bool rtw_ht_support = false; +module_param_named(support_ht, rtw_ht_support, bool, 0644); +MODULE_PARM_DESC(support_ht, "Set to Y to enable HT support"); + +static bool rtw_vht_support = false; +module_param_named(support_vht, rtw_vht_support, bool, 0644); +MODULE_PARM_DESC(support_vht, "Set to Y to enable VHT support"); + +static bool rtw_eht_support = false; +module_param_named(support_eht, rtw_eht_support, bool, 0644); +MODULE_PARM_DESC(support_eht, "Set to Y to enable EHT support"); +#endif + + #define RTW89_DEF_CHAN(_freq, _hw_val, _flags, _band) \ { .center_freq = _freq, .hw_value = _hw_val, .flags = _flags, .band = _band, } #define RTW89_DEF_CHAN_2G(_freq, _hw_val) \ @@ -4006,7 +4021,13 @@ static int rtw89_core_set_supported_band(struct rtw89_dev *rtwdev) sband_2ghz = kmemdup(&rtw89_sband_2ghz, size, GFP_KERNEL); if (!sband_2ghz) goto err; +#if defined(__FreeBSD__) + if (rtw_ht_support) +#endif rtw89_init_ht_cap(rtwdev, &sband_2ghz->ht_cap); +#if defined(__FreeBSD__) + if (rtw_eht_support) +#endif rtw89_init_he_eht_cap(rtwdev, NL80211_BAND_2GHZ, sband_2ghz); hw->wiphy->bands[NL80211_BAND_2GHZ] = sband_2ghz; } @@ -4015,8 +4036,17 @@ static int rtw89_core_set_supported_band(struct rtw89_dev *rtwdev) sband_5ghz = kmemdup(&rtw89_sband_5ghz, size, GFP_KERNEL); if (!sband_5ghz) goto err; +#if defined(__FreeBSD__) + if (rtw_ht_support) +#endif rtw89_init_ht_cap(rtwdev, &sband_5ghz->ht_cap); +#if defined(__FreeBSD__) + if (rtw_vht_support) +#endif rtw89_init_vht_cap(rtwdev, &sband_5ghz->vht_cap); +#if defined(__FreeBSD__) + if (rtw_eht_support) +#endif rtw89_init_he_eht_cap(rtwdev, NL80211_BAND_5GHZ, sband_5ghz); hw->wiphy->bands[NL80211_BAND_5GHZ] = sband_5ghz; } From nobody Mon Feb 10 14:52:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y344yxz5mHDw; Mon, 10 Feb 2025 14:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y03wScz4Ly4; Mon, 10 Feb 2025 14:52:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=950e7v2xLxEqWYF/1/r4UbslKMKuUanyv5ajRT2XiEs=; b=NfU3TVM9KwtkeAyXhYBNaE6JVsPzpfzmWaWLjAEu+1LYwc80eu5PXEFVHWTRMdldu5notF jltWbQdlVdOAIPWs4qG/J8Q2eAZ2fKcpvtdX0J1+oL8v7kW6vtS+MFPnbZwY4UT5RAfNXg gXJCv3BtXlKtGZB0rePwDAlVQ7mMhqmp6bAQZKzubwLuEnc1wi7xmd4Te3edcFg3AAyBBq Kqq4tAVG4S6nglm8sIDnDCWkoJjyj57jYzKOcMs2m0OFXqPdDvCGyjchbTooFQ7q1xwGNN CNDPu6PA+vNV7w69bXIpJ4VebgSns/HOHeAGiWd8kVVe8Dna/6u2D7Mqbm3vNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=950e7v2xLxEqWYF/1/r4UbslKMKuUanyv5ajRT2XiEs=; b=Wg2tr/HkqpZhSTd+qBrVM4JlRfuYXro2Huqq4j5JVNMno4Aov0mbDILFXrTsvvsPKBUfvE T2x0THd6hAsB1IIoym+rcB6OaEl3CJ7Wg31oRzfz+XK/VigsRkG6OZT3SyD9mod9DBMrgY j7LcN4N+yAhJC6n8x4rsuD5sE+bbjc+QXbsNY/g9hey1SvdRQeQx/TGsA8hYWf7BgKgWMZ gXOgp4q7LS6eoDZC5mtatlXkhkfZWV0XF6YnCAMXaQXPBSfLbTrnGhcbm2gh4CszrqyHJx OEBCTsacVl5CHYg2YbwKDDp9iFqaBuE4nizgls8wtuOcE40PGxi2hKpq7pchdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199176; a=rsa-sha256; cv=none; b=qxqcG7xtGyJIOKsUoeQqUU52TPUxGbRgx5CpyD8QeVkO4hS95YperqfdrWWadOuF3Z7eKY OxKDUnUBSWml89CwnxLtkQGp9C6uWowt85bokrwkRzszDAFwKpS8d8TdNjSb5d7yf9DqUq 5ncHg+SZgaHzzZ5KYgjW/QyjKDE5AjuJw5howhN47WIVt43qz5Y7cJYuwd0qnOVtpDjO3f PD6W0dZCHBk6DlK5xYcNPTYdLLDU/3W9XOLBv8Wvb7wLDYB66vvJ7OrgAebVq1ffwakGZ8 xLRjpxoUplf4uYLxepxvLuFYZDRZShHk7TRrax12EFY2QQGcAuv5WIDweF8SZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y033mDzXWt; Mon, 10 Feb 2025 14:52: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 51AEquZZ028437; Mon, 10 Feb 2025 14:52:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEquc2028433; Mon, 10 Feb 2025 14:52:56 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:56 GMT Message-Id: <202502101452.51AEquc2028433@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: 787787fa8938 - stable/14 - iwlwifi: module correct -DCONFIG_* List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 787787fa89381015693acb5ae2a34a7c6e892261 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=787787fa89381015693acb5ae2a34a7c6e892261 commit 787787fa89381015693acb5ae2a34a7c6e892261 Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 12:47:09 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:11 +0000 iwlwifi: module correct -DCONFIG_* Remove the =1 from -DCONFIG_* in the conditional cases. They are not needed. Sponsored by: The FreeBSD Foundation (cherry picked from commit 411c857b4ccedd6491dff9a35e952bc49d053053) --- sys/modules/iwlwifi/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile index 3508f29979a8..fd11e670b540 100644 --- a/sys/modules/iwlwifi/Makefile +++ b/sys/modules/iwlwifi/Makefile @@ -32,13 +32,13 @@ SRCS+= pcie/tx-gen2.c pcie/tx.c .if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 SRCS+= fw/debugfs.c mvm/debugfs.c mvm/debugfs-vif.c -CFLAGS+= -DCONFIG_IWLWIFI_DEBUGFS=${WITH_DEBUGFS} -CFLAGS+= -DCONFIG_MAC80211_DEBUGFS=${WITH_DEBUGFS} +CFLAGS+= -DCONFIG_IWLWIFI_DEBUGFS +CFLAGS+= -DCONFIG_MAC80211_DEBUGFS .endif .if defined(WITH_CONFIG_PM) && ${WITH_CONFIG_PM} > 0 SRCS+= mvm/d3.c -CFLAGS+= -DCONFIG_PM=${WITH_CONFIG_PM} -CFLAGS+= -DCONFIG_PM_SLEEP=${WITH_CONFIG_PM} +CFLAGS+= -DCONFIG_PM +CFLAGS+= -DCONFIG_PM_SLEEP .endif SRCS+= iwl-devtrace.c From nobody Mon Feb 10 14:52:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y45bh8z5mH96; Mon, 10 Feb 2025 14:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y36QcXz4LnV; Mon, 10 Feb 2025 14:52:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ukJ3zX4srHlPxs+Eh2qI9LcG7agWOvKnD6EYeR+LRU8=; b=Pjz6cAuhPrYKl46zfLaDAcFuGdeO14rNFdABnfcXWDAiCIdcsITqsVBHU8oqJNxenWZoIR Ry8DxeGROt0jd+u/dCA4cwA5e6t8rPyftIu58CfRuNQP9j8W/7oldg+Q7BzMsQNyqplAY4 +VeG2/xzUDANu+h1K2G3QTG8l/2zq1WhY5zSlDgYxD5/CLTh0H2V5PJLSjxi7oAxvFfxIw QsoI7Du8PSLpGSNOhS4Yg9Nuoov9WTvMgVmEw/5kU372KYWfEaF2yG/UELw7MQyEqmp5sQ gEoQCKCZZ3Zn8c/oHMXOQYGiUgZytQqChZyA2UBvwEtS1WHARtaswIC+syCPqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ukJ3zX4srHlPxs+Eh2qI9LcG7agWOvKnD6EYeR+LRU8=; b=gWOBxI4TvBHu4tBfkQVr2fHRJUU6TcTjOCv37WrGGFj/CTA6i8Ip7+H2WUH2LvXI09OXoG X/TrwIPmxJAabfQaQi9ZcrSvjs2sfG2TS6W3KaqffALX2dJ2XyQ8ecwEOCwQEuS8L6usxd KD7G2ZomCG0lAjKLDDio2S1nh0R6gB+wVYRsT/uDtmJnjzKJJVKf3pJX/EsFzDcyLTSs9M /s9+gXuLJI0GbsLus+V5+cwSCnDDmXbi5/gLutyXtvCTFCLdqLhY2d0K64F8Vhcygi+HuO NpVlHVtfQvVjCKYPhT1ZE9rVsDNMH2sKyKbwOlhrSRQszN6QOQaQH0LvtpLWJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199179; a=rsa-sha256; cv=none; b=kvFwK4wtT/6YiN/2NULCKbZQowW9jgPkj52NcQm9gMYPcZqOAjx1JZKfZFRWEmc2g0S28b /oYbdPVu45n3l90lkazdcKQ9T2NKj9hAbxUz5rsfctmlbZKM3eSH95zeKXQjZTUXBh+lqV sp079+T3tjIn3DC2pe/aEXdi0IkYwra6A+B/NXcaiSI8vDcUD0eZWdpYneB1w0yPe67Ssw 4qyjks8b5cmqHsFdZVVu2fyvLLZzIA1rldIkynRSBKU3zxDRpKYavDdCDvP/D55Yhdh2h+ Tv6OaordU7Bu8gHHm3dMS8Hd69+q9t/ih7/p/kbwqBAtI7DvNfAOxHD9C+8Byw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y35pfnzXK0; Mon, 10 Feb 2025 14:52: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 51AEqx7I028555; Mon, 10 Feb 2025 14:52:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqxGu028552; Mon, 10 Feb 2025 14:52:59 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:59 GMT Message-Id: <202502101452.51AEqxGu028552@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: 0735e8ddc328 - stable/14 - rtw88/rtw89: avoid duplicate top-level directory with debugfs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0735e8ddc3284765a7e35a2d2f83a6ce1faff2c7 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0735e8ddc3284765a7e35a2d2f83a6ce1faff2c7 commit 0735e8ddc3284765a7e35a2d2f83a6ce1faff2c7 Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 23:55:53 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:11 +0000 rtw88/rtw89: avoid duplicate top-level directory with debugfs If people like me having multiple cards in the same system creating the debugfs dirctory leads to a panic upon attaching the 2nd card due to the duplicate name. Rather than using the hard coded driver name, use the device name (e.g., rtw880, rtw881, rtw882). This solves two issues: it avoids the duplicate name and we get individual debugging/statistic information for each card. Sponsored by: The FreeBSD Foundation X-Note: ath1[01]k and mt76 likely will need a similar change (cherry picked from commit b4886c4ece3e692c294aa853da7aec849f8d00a2) --- sys/contrib/dev/rtw88/debug.c | 4 ++++ sys/contrib/dev/rtw89/debug.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/sys/contrib/dev/rtw88/debug.c b/sys/contrib/dev/rtw88/debug.c index e84f25b34c46..1373633d73ee 100644 --- a/sys/contrib/dev/rtw88/debug.c +++ b/sys/contrib/dev/rtw88/debug.c @@ -1223,7 +1223,11 @@ void rtw_debugfs_init(struct rtw_dev *rtwdev) { struct dentry *debugfs_topdir; +#if defined(__linux__) debugfs_topdir = debugfs_create_dir("rtw88", +#elif defined(__FreeBSD__) + debugfs_topdir = debugfs_create_dir(dev_name(rtwdev->dev), +#endif rtwdev->hw->wiphy->debugfsdir); rtw_debugfs_add_w(write_reg); rtw_debugfs_add_rw(read_reg); diff --git a/sys/contrib/dev/rtw89/debug.c b/sys/contrib/dev/rtw89/debug.c index 750ef1578e18..a87f4b49829d 100644 --- a/sys/contrib/dev/rtw89/debug.c +++ b/sys/contrib/dev/rtw89/debug.c @@ -3974,7 +3974,11 @@ void rtw89_debugfs_init(struct rtw89_dev *rtwdev) { struct dentry *debugfs_topdir; +#if defined(__linux__) debugfs_topdir = debugfs_create_dir("rtw89", +#elif defined(__FreeBSD__) + debugfs_topdir = debugfs_create_dir(dev_name(rtwdev->dev), +#endif rtwdev->hw->wiphy->debugfsdir); rtw89_debugfs_add_rw(read_reg); From nobody Mon Feb 10 14:53:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y54JN0z5mHNL; Mon, 10 Feb 2025 14:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y5277gz4LyS; Mon, 10 Feb 2025 14:53:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fhmckj7mckfkDBXxojOCPqxIJ1RzMZRQdYG2V5DqA5U=; b=smXIZbKDhT19GVggT/kgy2sxTFmH4kr3ShAT+Qpgd+hKOA7qO+hImR8G0xxfI/MRFPYwkn Oau1aX8/VEgxS+EMjIs4aV0Km+90CNE1IKcKNhgjeQ4tttKCwYeAcByYd4Uii0puZ1PnWs d5dFP1s2jmGnj0Ddb5fm0r0rGmdnQvfrzzyq7PFbWVHQIoP/AvfbkzVI3V7v+QUyvd7rAI yHny1sxMFXTCxnVKJeNYZtqJMXrw32njD5O6M92pA6QhY8JZ7zwXWQUwdcQeiRnOj5vgZd zheWAQ9wtYIbLBBDUhaA3ht9buevaAabWjSxIg2z6vLCSdozd1stb9I0nxKCag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fhmckj7mckfkDBXxojOCPqxIJ1RzMZRQdYG2V5DqA5U=; b=wqg1kjEXileYcoR0B0wa6zWoQQkpLQwMhOl37sS52sAheT7523n3BfctOS3gdH7pdOAaW3 3xDLiKc+YIMTE5ilXWAlSroAFIiMldIjMzLN8vrgxR6AriNUzDSJkx3KljpLAEAg5B0z2l GE6DwmuGSlbIpwrsETP82IxaazUE6nM5mY0XLMG2Iedc2QGmYVRTQJUowZcuiQ3MznGeCH m3fixB4WZafNAuKH4BIGQ3SciOfvj/6V8F92Npb4z5WJvnCXeeTZf5z/DPEnReSp4wZVd5 XQYTa45jh2EsO1NfTvLFseOFRhDHwkiYqAPpz2g9S7oBXLh07NmJuxyeqDxfmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199181; a=rsa-sha256; cv=none; b=nic7Aft7/yMQoILr7oDoBCh9Y+vDR4eqyNM/oEXli079/RAq9MdhZ0RUtcdSkfMjZbqDn1 lkWBHSP3jDxNEH71GS+cm8ZDU5JPtcpBsZbqyVE7GQHJDYO6cdSiB0lR7AHBftLP2gmNGP l0k3l/Xy0EbSdfZNFMLVWSigMFqR5hoSMO/PybelS6xqv1GpZjKZrmgRlLQDpZzOV7nM+K pkivOCIfrJG7rDHYV9Uap4LNcvAH+vNJ7g8amoOamcmGBhSylGL8djYhxKXfqr5mMeGWzC p0Fq00segwLomAJQR4KUATu9dF32Vb70D8wCjJiHiXQWvFVLN97TdrkzeB+o9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y46xL6zX74; Mon, 10 Feb 2025 14:53: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 51AEr0JR028598; Mon, 10 Feb 2025 14:53:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEr05D028595; Mon, 10 Feb 2025 14:53:00 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:53:00 GMT Message-Id: <202502101453.51AEr05D028595@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: 9bb63440a21d - stable/14 - lib80211: regdomain: add the two other 160MHz bands List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9bb63440a21dfc383598c277fbc6f43df4eb45c0 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9bb63440a21dfc383598c277fbc6f43df4eb45c0 commit 9bb63440a21dfc383598c277fbc6f43df4eb45c0 Author: Bjoern A. Zeeb AuthorDate: 2025-01-04 07:58:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:12 +0000 lib80211: regdomain: add the two other 160MHz bands ETSI had one 160Mhz band in regdomain but the other two were missing. Add them. I am always confused that the bands use the center frequency of the 20Mhz edge channels rather than the actual edges so it seems we are only configuring 140Mhz instead of 160Mhz. We will have to go through the entire regdomain file one day and make sure to verify all the power levels. Sponsored by: The FreeSBD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48356 (cherry picked from commit a3a308f0f29b14d522c56dd88231e27fdf206104) --- lib/lib80211/regdomain.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/lib80211/regdomain.xml b/lib/lib80211/regdomain.xml index 5a432f39ccf6..557af0349cb0 100644 --- a/lib/lib80211/regdomain.xml +++ b/lib/lib80211/regdomain.xml @@ -572,6 +572,13 @@ IEEE80211_CHAN_VHT80 INDOOR + + + 22 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT160 + IEEE80211_CHAN_DFS + @@ -651,6 +658,13 @@ IEEE80211_CHAN_VHT80 IEEE80211_CHAN_DFS + + + 13 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_VHT160 + IEEE80211_CHAN_DFS + @@ -1905,6 +1919,11 @@ 80 20 IEEE80211_CHAN_A + + 5180 5320 + 160 20 + IEEE80211_CHAN_A + 5260 5340 @@ -1958,6 +1977,11 @@ 80 20 IEEE80211_CHAN_A + + 5745 5885 + 160 20 + IEEE80211_CHAN_A + 5180 5240 40 20 From nobody Mon Feb 10 14:53:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y85Kj7z5mHHb; Mon, 10 Feb 2025 14:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y74q4Gz4M43; Mon, 10 Feb 2025 14:53:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xpKfe572BzbGjHsMnnZqtYiPG8ri2kU6wKxuOVmVG7A=; b=t3fDUKPqg1E3bPhV7hUCs3jjA2thfQP2IMyB0kwVG6ChAqvOpJdkF8hNyvgOVj7jGZ/eIC yGCo6bJYm4l77jxefxz1Y6BlG6QzLrhkPAlGazFaR8WOQUhpp5sWnxzMb2J3hKqK7YvK4c zUv+aCnPLFO08R6/Px6eR9cEqFS4vFIS6BooetZY1IVYsZlFn49f60XMMSj3XfWwGXEG7G I+jqfS7I7ku8/55yJziY0zrgXI4DJzWNMmSAj/JxF7sFGN/qn3yXcG6ijQ1AnsRyxNY3ls E6eIIuXdU9hcvsauaI8t23VWdIx/uivioSN2bihrz+zoUHhvGgOJotSyFJLt2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xpKfe572BzbGjHsMnnZqtYiPG8ri2kU6wKxuOVmVG7A=; b=RaUg2hdZyRFjererP/jRh61ziz38y5iHX9wji1gI7jBIp2slx2PY7r6H0qYiLzgwMbpstV r3gYOzMy2zxJmRklZuIVZszO0nlUTO6K4sQwiw7zqWJ/B6NMR1c/M48GaLxCg7G+Ov55jY UiacXWyhHfE/e5eQfL+6rZuzTMCs3by3z3j4VJClwIaz81cNb7Rgjezd+ga7NJ/RHT4G4t cmctbXkBAv5FSxR+Xd/2DPQZbleRtRwfA0c1w/aPAylzHPO2IqeyPjfy9Yc2WilNu6Bncn XAFeiMbNKhrbgzDxEtjrbV94J1a8aJ9C/K/vsuubV//FL9IQW2Ick58iHMF//A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199183; a=rsa-sha256; cv=none; b=kDkuW/jUBdSzp3GTuA37yWwDXdMNZ/DjSpYfcIjt8Qj77w3pN1nUfFc6Rfz/oIgMPUrctL UbKu+jZus5ovYz3T7QQ9v5T8BeqRPMnvMs1EP/eufFjPGXg+FZqnglsTUcmMm5SrwSi+yz cCR03yM2uxpJ06n1u9H5flc2tJHeFpi7921LmKY9Ip0i+XLmb3/d7wrixamrqLhJDIhFPy 3dHb7xawuEIngFXApbza1+ZFpxKhjDNsI+JJlVxmK4cCD6HnU9T+TSF5s2FFjUCXyHXkX4 Ed5zq4cDaOOAxtUHE7dSmWSiZvzBarP8jnO0BHtMEIX/YnGM1VfVtMMNNARdaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y71r1XzXWv; Mon, 10 Feb 2025 14:53: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 51AEr3Mg028675; Mon, 10 Feb 2025 14:53:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEr3qB028672; Mon, 10 Feb 2025 14:53:03 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:53:03 GMT Message-Id: <202502101453.51AEr3qB028672@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: 054c043b0abf - stable/14 - ifconfig: 802.11: fix indentation of a line List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 054c043b0abf7615124e2a9a8e00742a8afcdffd Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=054c043b0abf7615124e2a9a8e00742a8afcdffd commit 054c043b0abf7615124e2a9a8e00742a8afcdffd Author: Bjoern A. Zeeb AuthorDate: 2025-01-04 08:01:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:12 +0000 ifconfig: 802.11: fix indentation of a line No functional changes. Sponsored by: The FreeBSD Foundation (cherry picked from commit cf71349a23f02b55bd3bb4973decac87f7a7d2b8) --- sbin/ifconfig/ifieee80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index 396368798da3..77f7bdabb0b2 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -2296,7 +2296,7 @@ regdomain_addchans(if_ctx *ctx, struct ieee80211req_chaninfo *ci, memset(c, 0, sizeof(*c)); c->ic_freq = freq; c->ic_flags = flags; - if (c->ic_flags & IEEE80211_CHAN_DFS) + if (c->ic_flags & IEEE80211_CHAN_DFS) c->ic_maxregpower = nb->maxPowerDFS; else c->ic_maxregpower = nb->maxPower; From nobody Mon Feb 10 14:53:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y65ycdz5mHHZ; Mon, 10 Feb 2025 14:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y62rTDz4Lln; Mon, 10 Feb 2025 14:53:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u9l9vlN9tYsdghdqHJXjLUMV9+4bFFhYROtN8toRVP0=; b=tj3k3s0D4olhYAx3JgE7Y+yb9C0Spy3XDKkcODRE6BYr7/5gO0sqVLQ9xHLTgKptinVr9A n123S5PMpxeAhI6JBJmhLQHCMteVJk/WbuuI+1bVd/17U+uI60YfS/OAtC4khGVYU6cJ3w KgEi2CrP3nqnnIxIaxLMfZojPOM2q6h9udpRz5sI/8ehxjvlS/zgscby9QPyxTq38LYrCx QddfItBH1hhtQKX8WZ1hJgAqTrsvCxLq+QZjR0uy2GFjNE8j7jEbEEhqEd5e9oJ0COXwLU t3sXXXtcdHAyu8j/uZJkVNJHpNGJk9gJKZMDRe+RxZ0YTeNhwGWuYc4s7S96DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u9l9vlN9tYsdghdqHJXjLUMV9+4bFFhYROtN8toRVP0=; b=aMtx1DhKc5FFQLkD1DlBJDZDnKtI5lVZnvLE4w7JbeKP/S3JFZzi4RdEskT6nvwvtgfeZN rl+WY8RlSw+jRoayKZwUwHzPww3IXGV5/acubUvlyeEeX+eP6bAebxJAvl7kOVsCnvoA7m ziZUOz58AIdIXNnxg4jCm5dYYXhRoZBmKbKOJTLv574nl9nyDhiDsVzfMRWarTplHYNzBE /TM8vNPoca66+lfV7/BE4yHdRgsM34OxBN6/YcshoTnWnQqu5t4FKPjh6N5DHWX/RRabuS PNDY1G6SnYcIUcDdYiV4V4D4NhVyOmitnqsnLy1+NtFP7l6495VIMarG0YO+LQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199182; a=rsa-sha256; cv=none; b=jb5knebRrxwuiX1o3zZQR5DOsCs606uibOAD3KXC4MvZjG4G1SitOH7/wu1viJeDXd3OXQ 8XLzxW+e8ddl2NOwFHuE9kpyU6u4Imdh2GTla7Z2meewWTK4b/wm/iEEVcHjVoosgWZnO5 5zL7vz8p/eypAOWpMgZQzMmUCXhGDIJPgd8G8Pmx5kxZSQUAtJ1JHQNoncfS0GkFdGRlpm mypHWFuuKfId/2U85pCByfbnlVxjflKFTCFN/G0WZNQfKL6QaZnTda5u9Sk8WKBxgObOH2 2Ax+9JTJsi+60bQh3Jp/82zlTuDlj3iIPWVuqz/yjyeWwp6G/sm2T4eXt3Iagw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y60sM9zWgW; Mon, 10 Feb 2025 14:53: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 51AEr2sT028635; Mon, 10 Feb 2025 14:53:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEr2Wh028632; Mon, 10 Feb 2025 14:53:02 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:53:02 GMT Message-Id: <202502101453.51AEr2Wh028632@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: 1b5e1d919fc3 - stable/14 - ifconfig: remove debug printfs from set80211vhtconf() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1b5e1d919fc347d68ff149f6ac1d5c64a38897b6 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1b5e1d919fc347d68ff149f6ac1d5c64a38897b6 commit 1b5e1d919fc347d68ff149f6ac1d5c64a38897b6 Author: Bjoern A. Zeeb AuthorDate: 2024-12-28 10:00:09 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:12 +0000 ifconfig: remove debug printfs from set80211vhtconf() Anyone testing VHT options would wonder about these extra two printfs by now. Remove them from the tree before I have to do so locally again in another branch. Sponsored by: The FreeBSD Foundation Fixes: e9bb7f9aa1b4f Reviewed by: adrian, emaste Differential Revision: https://reviews.freebsd.org/D48319 (cherry picked from commit 91a4107d6d3028acd96df96de33b8a7665d3eb03) --- sbin/ifconfig/ifieee80211.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index 25de7fb13632..396368798da3 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -1978,13 +1978,11 @@ set80211vhtconf(if_ctx *ctx, const char *val __unused, int d) { if (get80211val(ctx, IEEE80211_IOC_VHTCONF, &vhtconf) < 0) errx(-1, "cannot set VHT setting"); - printf("%s: vhtconf=0x%08x, d=%d\n", __func__, vhtconf, d); if (d < 0) { d = -d; vhtconf &= ~d; } else vhtconf |= d; - printf("%s: vhtconf is now 0x%08x\n", __func__, vhtconf); set80211(ctx, IEEE80211_IOC_VHTCONF, vhtconf, 0, NULL); } From nobody Mon Feb 10 14:53:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6yC34nxz5mHFD; Mon, 10 Feb 2025 14:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y940kBz4M91; Mon, 10 Feb 2025 14:53:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Dt2y1AiVKxpJhhnG6blQReWOYijHbngZTK9RiNzRdo=; b=GljZ4EoMjU10JSS1C7QlBI7oB8IEfUXOou8NIEeuwo+e6yywRz0nsQIEUOTRPXFPi1wlbX bBlBcZSEDqZ1YsXLFaYZvix2tBWIXh2WlpAt9IRY0y2SRqCn8ZNiunXqqFf1qHtU1O+l9q wLBUIQJNcWesKtH2v3GQY5sQWk/K3JwYG0AK+XbBHqOBnhlIJG3sbVyBwFgAzuzZ4XK7t9 vPYPf8V+Caslxg8tl5peFklzejHtS0RPZ3jNArXtr97101rR3445LrK6iuE3UDPEH3S3ru PVla0DvUKB0E2u9mOxMiYTYCFmhifSWpPVjytnLCHGGES88yTMaWTg1F7GYFBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Dt2y1AiVKxpJhhnG6blQReWOYijHbngZTK9RiNzRdo=; b=yeQwID6D3qiKL5ME3LQk7Fac8jXqVMyhflhiw18kTwvJPM4PrUimmjG5AVYGKT7R4Zb1Pt O3fFyJ4dGzDmKzg78Tn1jdMbLggMJEzMBXBxOTuXcgEXBGzVzrUUfWGQP7gsQfFuAnOORF 1rw9NMxpzvJJxueG30YT38ji2kjC+0XLlT7dJqtfldfH3E+jMP1m+pmds8qdqTNe2ZY1T7 c3cjrZhWBsaRJDu/XhaIb5SXf1J61BP3BeW3amp366nHw5QUE9MCEoJ+d7XZIVjMhsolzT V3lU+ktOMkICTVFYwqBnBy+VeSSSllZitmxwMzN6cgLRp3Q0n3mUPb95mjSgfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199185; a=rsa-sha256; cv=none; b=EKvq6xUJDkek8cskLsCAhFQnU4gQp79FUKiClGpE9o9qQpYBruZeM0KneUbj/TkL0SGDKz FB9hz69XAJcTdkeb8N3/tt8V+FlUEzW5o6Tm4WLXeRUZbmPKl74Loc3npPkgZNVmCVKkxD rfAd34Ag1uHpY9BtfqhU5n0le8MkFGiuBGiBOo1DRCT2Xjm1P5xNtQ0yJp7nMLGmjfBf8j 6CM04V8EYgBJicFzIwgNfR6xpLFWkWMd/4npPLx15/ygcQ2Yhr9j7+hUbIcqP6hcpn1A29 1uWrT7t1OyKwpQGjgADsfj1uCpGVd2TrOpSOnHDC1lxP55K2Rq3Ppa5p2lkgFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y93BnVzWgY; Mon, 10 Feb 2025 14:53: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 51AEr5Lv028755; Mon, 10 Feb 2025 14:53:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEr5xG028752; Mon, 10 Feb 2025 14:53:05 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:53:05 GMT Message-Id: <202502101453.51AEr5xG028752@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: 8552e8de6d7e - stable/14 - contrib/wpa: pass IFM_IEEE80211_VHT5G if vht_enabled on the channel List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8552e8de6d7e980403c2247f9c2b802211b4b894 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8552e8de6d7e980403c2247f9c2b802211b4b894 commit 8552e8de6d7e980403c2247f9c2b802211b4b894 Author: Bjoern A. Zeeb AuthorDate: 2022-11-09 16:41:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:12 +0000 contrib/wpa: pass IFM_IEEE80211_VHT5G if vht_enabled on the channel Set media mode correctly to IFM_IEEE80211_VHT5G if vht_enabled is set on the channel. Otherwise we'll end up setting 11NA. Not a problem on first sight given net80211 does the upgrade to VHT for us. But we would not set iv_des_mode ("desired mode") on the vap. Setting this will put a contraint on/help scanning for our desired (VHT) channels to my understanding of the code. Sponsored by: The FreeBSD Foundation Reviewed by: cy, adrian Differential Revision: https://reviews.freebsd.org/D35978 (cherry picked from commit a0e45db6f6eb6660e78921bbd5307fa7fc13d0a9) --- contrib/wpa/src/drivers/driver_bsd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/wpa/src/drivers/driver_bsd.c b/contrib/wpa/src/drivers/driver_bsd.c index 5f734b737184..75a1a061e0a7 100644 --- a/contrib/wpa/src/drivers/driver_bsd.c +++ b/contrib/wpa/src/drivers/driver_bsd.c @@ -615,6 +615,7 @@ bsd_set_freq(void *priv, struct hostapd_freq_params *freq) mode = IFM_IEEE80211_11B; } else { mode = + freq->vht_enabled ? IFM_IEEE80211_VHT5G : freq->ht_enabled ? IFM_IEEE80211_11NA : IFM_IEEE80211_11A; } From nobody Mon Feb 10 14:53:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6yC27MLz5mHKv; Mon, 10 Feb 2025 14:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y84PPsz4Lwj; Mon, 10 Feb 2025 14:53:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D8UzjCisAd8MGIX+tFDvcyhsnERfp6zVOT6OgcONw9g=; b=S5q2w/1+EGT/jelYvAkkGd8cTdIoXvTsdaZUEXjwBxBM5/byzUk0haE7UoGMabClZ+7KL8 SrKOz8U/4jmcF+ahe0bzlpUe31RpA70/nVURaAH9pWFMpCJXfPA7x4ea9S9/QNVHii7mzU M2jcCyhaDqcJsLx4Knkg65aLw7l0sYI0u5J1VtnQjX5ODXMnj+tClyQ7RZxCyvNF05iAAk MHXb+WMfkp8s5J2kpt9Zu5CkrXMRA2mEGFZTKHLUgbnOQJhDgB3ov3dtxIHCyoAIW5C0yq boDcb9th0zjdYGaQeSX5voJhZbssuDfh9qxpmQO9LgKFsN+VzonKrrxWmv6xvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D8UzjCisAd8MGIX+tFDvcyhsnERfp6zVOT6OgcONw9g=; b=YxyaDZMAYmoerPS0udf+qK+1w6TcImyLN+I4gpxl3GABJwH1L3+5FI2YLVqOzePQuWXdhV bN4PM/NZ5ihaQtodNEmGeBE8Wqo+gRC0LDAF6DQFDi9CQ329ZH7WlZhuh/Nrm+2xiI9NK+ QdylQmXQjZhO4tBXV4mZvMVfUiCWzHp3TlJZwmIvWqHvG+RuOoPh9NCHChndWXZyEYlNGd PYZEf2P7+Xk+jHLPGhPhrsyo+bl8FrSgWWElzywXxWvA7e+qH+SB/QRmxrHdfPuJR70zWW HOIicn3oHSOFu0p7ElK/O4s2TRDoShELiFycvAULstwSuU9ewxWodwumhPcJUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199184; a=rsa-sha256; cv=none; b=DeIKz6ykJJEgG2LnSKWy8NCtR3mIBgon8ynNCESBXTal8J4u5qMVLmZYNy9q5Do/iQE7o0 vHKwT8xunEs8D3D/JM+fS4t04JzZ5QMInHSOwm4203BnNqPF1lLx4GPR4DNuaJaTJtjCb/ S8KVNsMswl88DRoWZ29ALtslHerzzGRyO8twWY6Jrow9+yXP9BKysOoFsa2spl6tekMEiY j2g23LYQu9LcaMPtIbAudHgRjJKS11XQwr3Rs8Smz9pKOdN7BEcDUY0S9UpreHtH+hLRup 9uR/bTpgcbGicP656dS/sDfam7QBnKMFPDszbYhFhjC3+wdnTO2PKEm6mf8Tmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y82f34zWgX; Mon, 10 Feb 2025 14:53: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 51AEr41r028713; Mon, 10 Feb 2025 14:53:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEr4fV028710; Mon, 10 Feb 2025 14:53:04 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:53:04 GMT Message-Id: <202502101453.51AEr4fV028710@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: 4f9bec61d85a - stable/14 - ifconfig: make -vht work List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4f9bec61d85a8092f2256808557f3df62072876e Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4f9bec61d85a8092f2256808557f3df62072876e commit 4f9bec61d85a8092f2256808557f3df62072876e Author: Bjoern A. Zeeb AuthorDate: 2025-01-04 16:58:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:12 +0000 ifconfig: make -vht work Also hide the other vht options on -vht and only show vht40/80/160/80p80 when vht is enabled. While here fix some whitespace and comments. Sponsored by: The FreeBSD Foundation Reviewed by: adrian, emaste Differential Revision: https://reviews.freebsd.org/D48326 (cherry picked from commit 42410c6d682c4e00ce6147f99b51a55f6f3fe075) --- sbin/ifconfig/ifieee80211.c | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index 77f7bdabb0b2..d4dcfdf63254 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -198,8 +198,10 @@ static int gottxparams = 0; static struct ieee80211_channel curchan; static int gotcurchan = 0; static struct ifmediareq *global_ifmr; + +/* HT */ static int htconf = 0; -static int gothtconf = 0; +static int gothtconf = 0; static void gethtconf(if_ctx *ctx) @@ -213,7 +215,7 @@ gethtconf(if_ctx *ctx) /* VHT */ static int vhtconf = 0; -static int gotvhtconf = 0; +static int gotvhtconf = 0; static void getvhtconf(if_ctx *ctx) @@ -5416,26 +5418,27 @@ end: if (IEEE80211_IS_CHAN_VHT(c) || verbose) { getvhtconf(ctx); - if (vhtconf & IEEE80211_FVHT_VHT) + if (vhtconf & IEEE80211_FVHT_VHT) { LINE_CHECK("vht"); - else + + if (vhtconf & IEEE80211_FVHT_USEVHT40) + LINE_CHECK("vht40"); + else + LINE_CHECK("-vht40"); + if (vhtconf & IEEE80211_FVHT_USEVHT80) + LINE_CHECK("vht80"); + else + LINE_CHECK("-vht80"); + if (vhtconf & IEEE80211_FVHT_USEVHT160) + LINE_CHECK("vht160"); + else + LINE_CHECK("-vht160"); + if (vhtconf & IEEE80211_FVHT_USEVHT80P80) + LINE_CHECK("vht80p80"); + else + LINE_CHECK("-vht80p80"); + } else if (verbose) LINE_CHECK("-vht"); - if (vhtconf & IEEE80211_FVHT_USEVHT40) - LINE_CHECK("vht40"); - else - LINE_CHECK("-vht40"); - if (vhtconf & IEEE80211_FVHT_USEVHT80) - LINE_CHECK("vht80"); - else - LINE_CHECK("-vht80"); - if (vhtconf & IEEE80211_FVHT_USEVHT160) - LINE_CHECK("vht160"); - else - LINE_CHECK("-vht160"); - if (vhtconf & IEEE80211_FVHT_USEVHT80P80) - LINE_CHECK("vht80p80"); - else - LINE_CHECK("-vht80p80"); } if (get80211val(ctx, IEEE80211_IOC_WME, &wme) != -1) { @@ -6029,7 +6032,7 @@ static struct cmd ieee80211_cmds[] = { DEF_CMD("ht", 3, set80211htconf), /* NB: 20+40 */ DEF_CMD("-ht", 0, set80211htconf), DEF_CMD("vht", IEEE80211_FVHT_VHT, set80211vhtconf), - DEF_CMD("-vht", 0, set80211vhtconf), + DEF_CMD("-vht", -IEEE80211_FVHT_VHT, set80211vhtconf), DEF_CMD("vht40", IEEE80211_FVHT_USEVHT40, set80211vhtconf), DEF_CMD("-vht40", -IEEE80211_FVHT_USEVHT40, set80211vhtconf), DEF_CMD("vht80", IEEE80211_FVHT_USEVHT80, set80211vhtconf), From nobody Mon Feb 10 14:53:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6yC34F9z5mHFC; Mon, 10 Feb 2025 14:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6yB5LDBz4LpL; Mon, 10 Feb 2025 14:53:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eOKF7B+aQH4lM4E/flQqhJmUQ0JB6a/qa0ZudKxPOa4=; b=UP/bSYyts7H7oNpRk9oNwoigIt1CXrveaqMJ+sj+petHDKik6BJb4ewe47b2C9RJFC9ZzW LBrXc8UTjcIk2PxCjw0tlYzACK/TYDJLZL2t040F05uJYqz8tPoXnd2vzDbzAFIwTArSgR MOtS4fiNxeUFEOPG6sPgMMnoG0kGO/sTdwLBShyg72aTATO7JWcWV8rqB4QQOtCQw6oSuB WNj9Co8uBXGoVVzb4C0qDL08Vvi8Xe1CM+zwPbKA8fqtcrbqpOuJGDu+6NtQa8Yrle8MAw K22mPsBeZ9oZpQt/0VPBk9sfB3uIyQ8n7DDtvHk15wcz0cie8aZgL+o0LJvEow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eOKF7B+aQH4lM4E/flQqhJmUQ0JB6a/qa0ZudKxPOa4=; b=JSUM0UR6xFdiEoGq08qb7vH7ttyY7aD9ntzdU483wl3qpE5RF4n9/pxRqlXs1KuzBlBtpq bH5B2+jussbQvtYKykDYLXJo6W2ScSEcAbNWKufLo4dOGYbusdxeV9Oxq2FLQR6sPSEQsz PjzBpyfLhL03PNJy2/1V7iSI7asLKqo7Fxy/3sKvoSaz9mbs2+MgjWr34OKugwX056r8PQ C2M0K+LkOZVvRi42w6ckOmCYr7wJF0IV3cLCB0ky2B7tOOpmnzG1aggDrEi8R0OQsDIUEA czUcDszWSxeuHv0OoJINY8EprhtBEyX57E8opvzUNEle85GzKfNAHOKUTI0Aow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199186; a=rsa-sha256; cv=none; b=ox2t2mRZzD86Ty3uyCITCwOPoVhGhaCsNKXs0Xmi6vsrRFGVGLkd2T11ahmn5UxXAT5Xv9 7d9JIcsGEPMThW3ys+TlnyzXbMo/Xo5B9hip7JBaiKubIHZ760pnffdjVSd4q1wiOl/WGf 76bO6VwGp0l1WEM0LnKejQHvsI2v5pAzsqKy/qtWi12y70QSBLJ2YDvsIQl2QYCM1PaWUT to3w2IT4xUvYV+zfxVCaYQBjWqTbRQ39vUm9zFaqjfXELlRBmf/xVUFLRwkaBQ4cNv5q+z muiXaMxu3m6MqEfBEv6xXfZTFtMiYGiuBFA1OgkDg6cMSswo/lfaWNsXs47f4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6yB4Hs2zWgZ; Mon, 10 Feb 2025 14:53: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 51AEr6pB028794; Mon, 10 Feb 2025 14:53:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEr6Jt028791; Mon, 10 Feb 2025 14:53:06 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:53:06 GMT Message-Id: <202502101453.51AEr6Jt028791@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: 51b3a9dacfee - stable/14 - lindebugfs: use __func__ not __FUNCTION__ List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 51b3a9dacfeec79759fa497d9fe8e87dde2c45be Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=51b3a9dacfeec79759fa497d9fe8e87dde2c45be commit 51b3a9dacfeec79759fa497d9fe8e87dde2c45be Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 12:07:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:12 +0000 lindebugfs: use __func__ not __FUNCTION__ Change to the C99 version and not the old gcc name. No functional changes. Sponsored by: The FreeBSD Foundation Reviewed by: dumbbell, emaste Differential Revision: https://reviews.freebsd.org/D48736 (cherry picked from commit 94e6c8d7d19de68b29233e59c85b16c645c1a872) --- sys/compat/lindebugfs/lindebugfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/lindebugfs/lindebugfs.c b/sys/compat/lindebugfs/lindebugfs.c index 6ff9cea6c4e8..ab1dc2a0e5e0 100644 --- a/sys/compat/lindebugfs/lindebugfs.c +++ b/sys/compat/lindebugfs/lindebugfs.c @@ -131,7 +131,7 @@ debugfs_fill(PFS_FILL_ARGS) rc = d->dm_fops->open(&vn, &lf); if (rc < 0) { #ifdef INVARIANTS - printf("%s:%d open failed with %d\n", __FUNCTION__, __LINE__, rc); + printf("%s:%d open failed with %d\n", __func__, __LINE__, rc); #endif return (-rc); } @@ -166,7 +166,7 @@ debugfs_fill(PFS_FILL_ARGS) if (rc < 0) { #ifdef INVARIANTS - printf("%s:%d read/write failed with %d\n", __FUNCTION__, __LINE__, rc); + printf("%s:%d read/write failed with %d\n", __func__, __LINE__, rc); #endif return (-rc); } From nobody Mon Feb 10 16:23:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys8yn3QFLz5mPHq; Mon, 10 Feb 2025 16:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys8yn2lkGz3psJ; Mon, 10 Feb 2025 16:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739204625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RMOhIExFkOiZF/rnzLtuC0r5ayagDf5ue4rtCvPlepY=; b=ilAo0cMLS9RNAjONHAcfHpFIsBGa28lU8HyNtFkfi/9zvViK8j7XiCZbcfp3jLLaxUMSq7 ArwllNFcQh6Tj7AU/YiLUs4tSrSM04imLgnPjfss/yKK81T9qWO+fjSkary6kRmWFenlVJ HzdO+mOiHLr7+WkxAVsJjYePHKdCSvY/SXQELttXrrdshnN+WQyz3LjA1YM7rLVrJNFJMF iPAFsTZsy0XeWKc0lfQWbSyLAM1hjkQDSnqbimWbT5YTXn4LPOhBpG/NK6A6s3UAc/suhC 8TX5RN4SoL6aN4I9NmWT9K4ivwo7Ps6M+objLohn1z6acJOWqxMEPD/HTykFrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739204625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RMOhIExFkOiZF/rnzLtuC0r5ayagDf5ue4rtCvPlepY=; b=pdenzOvfD5261GhPEthou7l0V5E4zib3MUq7gqssTdCL+5uYlvZ7h8RFR1pTCz7phG50/T CcqRiCUpGNDpFeIz8xij0w7Dp7k/xWrxDDiVGP4M9/2J6hDTnW0OIBWtiR5X3C86OhbPWD uWbKuNodGCzG1hBBny2u4pXep+UMciXBcwRbpiWbwltz/0cdYEckK7PVxP8/8nAou2uY+S cPqOn/nM/zeLqzzP/oBVQlF/aJxtPa7wRPE+WeAN2Ugs5cUNYNumBaypNDkJm1jaSaEgqL stvNVwpBCdXW/KEb/QA3xGxjtlKJs+VUardc01q0+RSgSCbvyIwBjXJVz35XCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739204625; a=rsa-sha256; cv=none; b=P7BJTncb0wUiWPSRaKTaAEZrAhvA5JzvIV7QSezRkqsGwKM7BJDgC7L+XzSk/FMBp/96FU zpXkYXXpPfjUMPvA1m3GXZA2BjHjbOJiDHbM+7EOybPADBf89azxwDN7E29UeIBc6+IzPv dnXaxeUvljBuZg/FYlpQYnYpjYCqGd1ammvCBzqWyX/xcSLsFAOFG4d57I3sCLCsuMiTtS 9y/sq9ZThu03zsu3HuC+oO87eZ2TjnjB5GqpNFGbAo6b7I7fvpWSDmVmdTyeHF+K+V1/de TlePdmkIol/fpc9CWiaXN/azvPgmkEq6BNhT/xO02LaIhm5VzLCtp7HRCWVAvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys8yn25XwzbNv; Mon, 10 Feb 2025 16:23: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 51AGNjwn098857; Mon, 10 Feb 2025 16:23:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AGNjsZ098854; Mon, 10 Feb 2025 16:23:45 GMT (envelope-from git) Date: Mon, 10 Feb 2025 16:23:45 GMT Message-Id: <202502101623.51AGNjsZ098854@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: a63701848fe5 - main - ssh: Move XAUTH_PATH setting to ssh.mk List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a63701848fe5462c4e8bbff0131bb42979e603ec Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a63701848fe5462c4e8bbff0131bb42979e603ec commit a63701848fe5462c4e8bbff0131bb42979e603ec Author: Ed Maste AuthorDate: 2025-02-09 20:37:24 +0000 Commit: Ed Maste CommitDate: 2025-02-10 16:22:42 +0000 ssh: Move XAUTH_PATH setting to ssh.mk XAUTH_PATH is normally set (in the upstream build infrastructure) in config.h. We previously set it in ssh and sshd's Makefiles if LOCALBASE is set, and over time have sometimes also defined it in config.h. Leave it unset in config.h and move the CFLAGS logic to to ssh.mk so that it will be set when building all ssh libraries and programs but still be set by LOCALBASE. Reviewed by: jlduran Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48907 --- crypto/openssh/config.h | 2 +- secure/ssh.mk | 2 ++ secure/usr.bin/ssh/Makefile | 4 ---- secure/usr.sbin/sshd/Makefile | 3 --- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index 6462ff16d8d9..aedacd88df10 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -2015,7 +2015,7 @@ #endif /* Define if xauth is found in your path */ -#define XAUTH_PATH "/usr/local/bin/xauth" +/* #undef XAUTH_PATH */ /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ diff --git a/secure/ssh.mk b/secure/ssh.mk index 9ee533c10eca..c331e40c16f8 100644 --- a/secure/ssh.mk +++ b/secure/ssh.mk @@ -7,6 +7,8 @@ SSHDIR= ${SRCTOP}/crypto/openssh CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h +CFLAGS+= -DXAUTH_PATH=\"${LOCALBASE:U/usr/local}/bin/xauth\" + .if ${MK_USB} != "no" # Built-in security key support CFLAGS+= -include sk_config.h diff --git a/secure/usr.bin/ssh/Makefile b/secure/usr.bin/ssh/Makefile index 7c3eb68ea083..9bff63f29395 100644 --- a/secure/usr.bin/ssh/Makefile +++ b/secure/usr.bin/ssh/Makefile @@ -29,10 +29,6 @@ LIBADD+= gssapi LIBADD+= crypto -.if defined(LOCALBASE) -CFLAGS+= -DXAUTH_PATH=\"${LOCALBASE}/bin/xauth\" -.endif - .include .PATH: ${SSHDIR} diff --git a/secure/usr.sbin/sshd/Makefile b/secure/usr.sbin/sshd/Makefile index 323fe4b8c99f..2762d4151009 100644 --- a/secure/usr.sbin/sshd/Makefile +++ b/secure/usr.sbin/sshd/Makefile @@ -62,9 +62,6 @@ LIBADD+= wrap LIBADD+= crypto -.if defined(LOCALBASE) -CFLAGS+= -DXAUTH_PATH=\"${LOCALBASE}/bin/xauth\" -.endif .include From nobody Mon Feb 10 18:44:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsD5h4lpTz5mZny; Mon, 10 Feb 2025 18:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsD5h3MfGz3sck; Mon, 10 Feb 2025 18:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739213096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZMHtn3JaSW71MQWMd6gH4G1sJ7rQIa3s+mQfdR1cSMg=; b=AmaC5kWxfHja++f2dXJqfTSm5n4VcsZJvePm75op2Rd9lHXVyZjuSu1Edj1K0/td+gkidi 1W3JZ5ZxuHqkVYKYGCWrggzG354uzY/9wCVe+Vvo/sjEgyk12IcGJmK8GX8ppPhuvD0QHI WpPbC9hPqpLDyRowj6VnQIZfBJnS5vC+IOYJzyGvT9x0mbfo2c8hLQZkjVXFRNm7RTx9Ko KbXBEcAOtceMPsEsKps40913aSoDqaCDsbEyEOxrnqzgfKQVmt6h1lYqrDAKMDUzjqMkef KXPw9sdXWHNrsH4MOkIEvplET6TBaot5x4p6UZydsdUmQat4OpaMauv98UBgeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739213096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZMHtn3JaSW71MQWMd6gH4G1sJ7rQIa3s+mQfdR1cSMg=; b=WNbl07eize9thSfcy0hX8cEU4lepy5D2NWhb+cdy2ZLA1cupoywBtuazDlmBQjo59I0dCI 0aPBigK/FMEkaRALyUwlFxZkG0M4P4IuZRCys0dQ6Dnb7m+LeExGuF4KzyWlR7NZLEbg+3 UzBfBbze2QC3q/sF8I+QO2+h+omzRk5dtWZpBF3ikX0pDyYvX7ZzvZyQrhBehgX7K8s+mv GGnx1OFyV7fBnQecqBAOdS+1bGj7boylyT1KHc5diPBr336/YuAuTzNgq53T2giWoyuHa9 T6C9HkZTTSI1T/bn88nLvqpjEUwzyJ577eu0r+H4BVi9Imc3QPa6Nq11TA6pnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739213096; a=rsa-sha256; cv=none; b=BvHiUQq6lPpypnZ/KXaTR2zrZY4lhWQwDtmgDP8p71o8iIqPVEkrzRtjhDgEyDOKoVv5s/ B4dD4pZxfX587E2KkFCEgu/kf1HsIna6P3OIJemI/xhDNJcOAUHAjUdDGQECbrqC1xw6sA TE39xhy6TyzZnn75G7ndA5Vr8C+vm2z0Eaqjzjl66Ch03YsmWvYucVsjKnUWFH8U3ETyOt 5l2dttqxMqncrZ1QpoClh1daawhSlbPGiC0+O08DIn2+QzNjLA1MrAX6zivdSy5mMma0Mg fQsWdOZcAiLrme/j0DXy2K6dLPqRqvX/dNNvpUMkXKDZHEuWiTnh0uZmNl9wrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsD5h1P9jzfYn; Mon, 10 Feb 2025 18:44: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 51AIiuvi062287; Mon, 10 Feb 2025 18:44:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AIitlp062284; Mon, 10 Feb 2025 18:44:55 GMT (envelope-from git) Date: Mon, 10 Feb 2025 18:44:55 GMT Message-Id: <202502101844.51AIitlp062284@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 09b435d3dc2a - main - Remove obsolete clang18 files for aarch64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09b435d3dc2a591fba08be04d5659d03cce08285 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=09b435d3dc2a591fba08be04d5659d03cce08285 commit 09b435d3dc2a591fba08be04d5659d03cce08285 Author: Ronald Klop AuthorDate: 2025-02-10 18:41:26 +0000 Commit: Dimitry Andric CommitDate: 2025-02-10 18:43:34 +0000 Remove obsolete clang18 files for aarch64 This fixes a warning from "make delete-old" about a non-empty directory on aarch64. Reviewed by: dim Fixes: 0fca6ea1d4ee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48904 --- ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index ad126cc5914d..70396c46ca46 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -579,6 +579,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-riscv64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64le.a @@ -597,6 +598,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a From nobody Mon Feb 10 19:34:41 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsFC64PBTz5mfGl; Mon, 10 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsFC612xPz3HxX; Mon, 10 Feb 2025 19:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739216082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j6A6MounLs5UYnKnF1fQeDAecDIdg3jBR1WfZTFqQSM=; b=qWOYGECCHw5gipwDBtwD7hXRLmiLaJfc9i0g++p8mHZ3Ln21qmOsRsuuO2FkzbDtmKHHvY vWIrS38kVw23CC1WAFoUlr8y8VdbXk+J/hAL+I5nUg31QclgcwRa5QGw93iMsSrfVR3b0X 6pkfSDXBP4ybUzSJyKKlu6o6VEr2Qa3kL+nrYtO8YThiwnB8KVTWjk2eI2HoZeyFWC2Fkv Lnc0RUPVPgTHG/HaNvsq33ZVoP/AX9dyWb+WJHSGNzLRNSvxqtQD+hoftLZfUMY5qhm1bE 3gAT/68NIdbAspLkllcTdIKyC8PVVV7xALUyqN1ZoG0uf9d4uedPYed8yEjZrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739216082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j6A6MounLs5UYnKnF1fQeDAecDIdg3jBR1WfZTFqQSM=; b=paXJhje/OyVV6HkIIemBHlYOyp0/8myadI3xsvj2eBN1/jHlXipHvtoGjbtdVJ55JRqLBV x15fcZ4x0qfTy4YOjmoW4ORw4KuFlQ6dpim8yBy3W9Ccwxbisb4ypw8BBye1HrK4/pF3iX VO8x+Yx3Q4auJLsplkezOjr4+7TPu9XDLglO6GU1QObKsFiaepbKbBMqW0ZdoUkBCeN73P ek9F49AhyBu2Cy7H4zpxTAk0GNEP0Elavbqs7mgbK9v91XkwNZ3U+Vb520a3/lt0zteCW5 zinUk0UO4HjDFy0jDqT4FP2cc5pLJzfVVPtMSKf+UmqiuUFLUS9DindC8yqbEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739216082; a=rsa-sha256; cv=none; b=OC8HZEsqEQsQsCk7txn9nLDNFExz5VQSMKwWBp7U1WZ0nljoBUGnPI0mKv28F2/a5jZpaI begug9Ar4U/rBXsZaMPIk+6RHmWOhzl+KXcDadcH52dhLO9N/WfU2e1DDyJMs8MwbG3kVY xL0R/AAncKtQQj95kA4dnmvWmUlwskFxNsYS8bxvEuNi0PvwbEGU8jjX4pACDP3EddcnAe NLC15FpFp0E2Z5Syw9VQ4WqPZNn2Jbhip3LSuF6P0vjrL/Oql35Dx1jk+tFnDXNU5g/xzD wMSR2VpEyOeS1BYfPwMmetzxCNIN6uZmTLMdMh95ZiwuhPGgvM+SA4WF0rQ42A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsFC60NBwzgyc; Mon, 10 Feb 2025 19:34: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 51AJYf44056094; Mon, 10 Feb 2025 19:34:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AJYfJZ056091; Mon, 10 Feb 2025 19:34:41 GMT (envelope-from git) Date: Mon, 10 Feb 2025 19:34:41 GMT Message-Id: <202502101934.51AJYfJZ056091@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 4a7f4f289c1a - main - sockets: make pr_aio_queue the default method List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a7f4f289c1a8239b2d8a2bc99ca68644a74130e Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=4a7f4f289c1a8239b2d8a2bc99ca68644a74130e commit 4a7f4f289c1a8239b2d8a2bc99ca68644a74130e Author: Gleb Smirnoff AuthorDate: 2025-02-10 19:30:45 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-10 19:30:45 +0000 sockets: make pr_aio_queue the default method Call it directly instead of each time calling pr_aio_queue_notsupp() and then doing the actual job. The only user of non default method was cxgbe(4). It calls now into the default method in case of own method failure. This preserves existing behavior. Reviewed by: markj, jhb Differential Revision: https://reviews.freebsd.org/D48863 --- sys/dev/cxgbe/tom/t4_tom.c | 11 ++++++++--- sys/kern/sys_socket.c | 15 ++++++++------- sys/kern/uipc_domain.c | 8 +------- sys/sys/socketvar.h | 1 + 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c index 97cb380d0e71..9b09facd05a7 100644 --- a/sys/dev/cxgbe/tom/t4_tom.c +++ b/sys/dev/cxgbe/tom/t4_tom.c @@ -2219,11 +2219,16 @@ t4_aio_queue_tom(struct socket *so, struct kaiocb *job) if (ulp_mode(toep) == ULP_MODE_TCPDDP || ulp_mode(toep) == ULP_MODE_NONE) { error = t4_aio_queue_ddp(so, job); - if (error != EOPNOTSUPP) - return (error); + if (error == 0) + return (0); + else if (error != EOPNOTSUPP) + return (soaio_queue_generic(so, job)); } - return (t4_aio_queue_aiotx(so, job)); + if (t4_aio_queue_aiotx(so, job) != 0) + return (soaio_queue_generic(so, job)); + else + return (0); } static int diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c index 33cfd1637b78..456d93ff0d68 100644 --- a/sys/kern/sys_socket.c +++ b/sys/kern/sys_socket.c @@ -802,15 +802,16 @@ soo_aio_cancel(struct kaiocb *job) static int soo_aio_queue(struct file *fp, struct kaiocb *job) { - struct socket *so; + struct socket *so = fp->f_data; + + return (so->so_proto->pr_aio_queue(so, job)); +} + +int +soaio_queue_generic(struct socket *so, struct kaiocb *job) +{ struct sockbuf *sb; sb_which which; - int error; - - so = fp->f_data; - error = so->so_proto->pr_aio_queue(so, job); - if (error == 0) - return (0); /* Lock through the socket, since this may be a listening socket. */ switch (job->uaiocb.aio_lio_opcode & (LIO_WRITE | LIO_READ)) { diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index 734d9ee91349..51e0f8cc7726 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -58,12 +58,6 @@ pr_accept_notsupp(struct socket *so, struct sockaddr *sa) return (EOPNOTSUPP); } -static int -pr_aio_queue_notsupp(struct socket *so, struct kaiocb *job) -{ - return (EOPNOTSUPP); -} - static int pr_bind_notsupp(struct socket *so, struct sockaddr *nam, struct thread *td) { @@ -190,10 +184,10 @@ pr_init(struct domain *dom, struct protosw *pr) DEFAULT(pr_soreceive, soreceive_generic); DEFAULT(pr_sopoll, sopoll_generic); DEFAULT(pr_setsbopt, sbsetopt); + DEFAULT(pr_aio_queue, soaio_queue_generic); #define NOTSUPP(foo) if (pr->foo == NULL) pr->foo = foo ## _notsupp NOTSUPP(pr_accept); - NOTSUPP(pr_aio_queue); NOTSUPP(pr_bind); NOTSUPP(pr_bindat); NOTSUPP(pr_connect); diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h index bfbb5cbd37fd..735ff49062de 100644 --- a/sys/sys/socketvar.h +++ b/sys/sys/socketvar.h @@ -526,6 +526,7 @@ struct socket * struct socket * sopeeloff(struct socket *); int sopoll_generic(struct socket *so, int events, struct thread *td); +int soaio_queue_generic(struct socket *so, struct kaiocb *job); int soreceive(struct socket *so, struct sockaddr **paddr, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp); int soreceive_stream(struct socket *so, struct sockaddr **paddr, From nobody Mon Feb 10 20:20:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsGCW5Hdgz5mjTX; Mon, 10 Feb 2025 20:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsGCW1vLpz3fLg; Mon, 10 Feb 2025 20:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739218807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3fZ9Nu232JoWrQLM4ReUf/lfyjcbKiUF6U1z7S+LcE=; b=fcEoy8Sk8LMRiCj3mvmYUUw+xaBvXUhl8kRzznec+epP20isradb0+RoYH3eHQcK51jWTi s2AnqbSFotNXr2jYkC2EgMz0ClUxl3lWD+/MSdrqzFILR2ehCIjF0Q7+0xDe+rqwuXGf8Y a0LGn6qHIY1bnDVMNur1uGvPsXJD6PNJuSPrAo9yl7Pos8Y2hzduSL+X+yYTrMHdVq1uwI 2W4WQ9g41htXPcSMur/5KS517SE26IvPCOopK5FaAHzslXEX1Nuk763Botx+hAMxruS5RB evbUSmcwVYE+2YLh5nHR14ltmuCqen3bauC0PeWkfeOKnGyk0be5f/42dt8umQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739218807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3fZ9Nu232JoWrQLM4ReUf/lfyjcbKiUF6U1z7S+LcE=; b=V42YV8ut+mya0qLzk+DLVAGSnim3pgCO4FyaHeuZ4RPE4eWeahGVMkzTrQfYkB+vUWfe4x LDM4HawpY4vLHJy/I1PfFLRNw9MabyCZD1iz5niqu1zqlYc/41WBRLEK3V3LRpE84BVYpT 0XeMHJ4A5M8sr6Tk1IIt8zLzAZzXrp4KRlwVX+W7qPgyCDYNuaUduoLfAzb0qouHb7XxFm nPU+MTVcWxMeIsRBz3eRijUWpK/Cf+Soq3jQdjd1sKhZZHLgcfCYXzjVGrER0V/dg6sLiy zz1jNi5ZaPuFyUqybAt22dW8cvb3w47jFFeD4euyd0wsxjLphFLKjZUWojwg3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739218807; a=rsa-sha256; cv=none; b=ollCKk2lZdZGlE68kZAPISm3INt3aSgBTGsu1UweoSIMgzvLAvdqWNBdBOfJTJCaOyZaVE jmLXkE8+7ImfEg7tHtuQpfFGCnAHCec5Le+RUT3JWx4KLaslgGqO+zmD7YXe79hCN9ye+j gR240cUmRdrq+bPUO2t+KWLGguxLyUCAwVcuqLOOGbKz1WHPub9Z7LbOpLCq5maKgnhToe lCAW0XMledt/KxGE9gMtilWdTqiCYmXUv/silCTOSZX2K9cvsiWJXqaWSk9bFoZY5JxEP4 ifb4TxPKQVy/r44KA3ZAuzXfBhdB2B+TSXhNqP3fdltIQdaIVeJJg6XW8tpqqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsGCW1FG9zjHd; Mon, 10 Feb 2025 20:20: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 51AKK7L6036658; Mon, 10 Feb 2025 20:20:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AKK7Ig036651; Mon, 10 Feb 2025 20:20:07 GMT (envelope-from git) Date: Mon, 10 Feb 2025 20:20:07 GMT Message-Id: <202502102020.51AKK7Ig036651@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 90710f4a3473 - main - pctrie: add parent pointer to nodes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 90710f4a3473f7cf0dd1cfa17a7c3176cc471c71 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=90710f4a3473f7cf0dd1cfa17a7c3176cc471c71 commit 90710f4a3473f7cf0dd1cfa17a7c3176cc471c71 Author: Doug Moore AuthorDate: 2025-02-10 20:17:28 +0000 Commit: Doug Moore CommitDate: 2025-02-10 20:17:28 +0000 pctrie: add parent pointer to nodes Add a parent pointer field to the pctrie_node struct, and maintain it as part of inserting and removing pctrie items. Much code is written to maintain one, or an array, of trailing pointers; that maintenance can be dropped with parent pointers available. Code affected includes remove, reclaim, lookup_le, and lookup_ge. In places, functions written once for iterator-free searching and again for iterator-maintaining searching can be replaced with a single function that serves both purposes. Fix an overflow error in lower-bound testing for lookup_le. Reviewed by: markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D48588 --- sys/kern/subr_pctrie.c | 656 ++++++++++++++++--------------------------------- sys/sys/pctrie.h | 162 +++++------- 2 files changed, 268 insertions(+), 550 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index a078f0587f37..16690c3521bf 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -81,6 +81,7 @@ struct pctrie_node { uint64_t pn_owner; /* Owner of record. */ pn_popmap_t pn_popmap; /* Valid children. */ uint8_t pn_clev; /* Level * WIDTH. */ + smr_pctnode_t pn_parent; /* Parent node. */ smr_pctnode_t pn_child[PCTRIE_COUNT]; /* Child nodes. */ }; @@ -107,28 +108,6 @@ pctrie_keybarr(struct pctrie_node *node, uint64_t index, int *slot) return (false); } -/* - * Check radix node. - */ -static __inline void -pctrie_node_put(struct pctrie_node *node) -{ -#ifdef INVARIANTS - int slot; - - KASSERT(powerof2(node->pn_popmap), - ("pctrie_node_put: node %p has too many children %04x", node, - node->pn_popmap)); - for (slot = 0; slot < PCTRIE_COUNT; slot++) { - if ((node->pn_popmap & (1 << slot)) != 0) - continue; - KASSERT(smr_unserialized_load(&node->pn_child[slot], true) == - PCTRIE_NULL, - ("pctrie_node_put: node %p has a child", node)); - } -#endif -} - enum pctrie_access { PCTRIE_SMR, PCTRIE_LOCKED, PCTRIE_UNSERIALIZED }; /* @@ -185,6 +164,16 @@ pctrie_root_load(struct pctrie *ptree, smr_t smr, enum pctrie_access access) return (pctrie_node_load(pctrie_root(ptree), smr, access)); } +/* + * Get the child of a node. + */ +static __inline smr_pctnode_t * +pctrie_child(struct pctrie *ptree, struct pctrie_node *node, uint64_t index) +{ + return (node == NULL ? pctrie_root(ptree) : + &node->pn_child[pctrie_slot(node, index)]); +} + /* * Returns TRUE if the specified node is a leaf and FALSE otherwise. */ @@ -221,6 +210,24 @@ pctrie_toptr(struct pctrie_node *node, int keyoff) return ((void *)(((uintptr_t)node & ~PCTRIE_FLAGS) - keyoff)); } +/* + * Make 'parent' a parent of 'child'. + */ +static __inline void +pctrie_setparent(struct pctrie_node *child, struct pctrie_node *parent) +{ + pctrie_node_store(&child->pn_parent, parent, PCTRIE_UNSERIALIZED); +} + +/* + * Return the parent of 'node'. + */ +static __inline struct pctrie_node * +pctrie_parent(struct pctrie_node *node) +{ + return (pctrie_node_load(&node->pn_parent, NULL, PCTRIE_UNSERIALIZED)); +} + /* * Make 'child' a child of 'node'. */ @@ -260,12 +267,6 @@ pctrie_node_size(void) return (sizeof(struct pctrie_node)); } -enum pctrie_insert_neighbor_mode { - PCTRIE_INSERT_NEIGHBOR_NONE, - PCTRIE_INSERT_NEIGHBOR_LT, - PCTRIE_INSERT_NEIGHBOR_GT, -}; - /* * Look for where to insert the key-value pair into the trie. Complete the * insertion if it replaces a null leaf. Return the insertion location if the @@ -273,19 +274,10 @@ enum pctrie_insert_neighbor_mode { * * If the key is already present in the trie, populate *found_out as if by * pctrie_lookup(). - * - * With mode PCTRIE_INSERT_NEIGHBOR_GT or PCTRIE_INSERT_NEIGHBOR_LT, set - * *neighbor_out to the lowest level node we encounter during the insert lookup - * that is a parent of the next greater or lesser entry. The value is not - * defined if the key was already present in the trie. - * - * Note that mode is expected to be a compile-time constant, and this procedure - * is expected to be inlined into callers with extraneous code optimized out. */ static __always_inline void * pctrie_insert_lookup_compound(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out, struct pctrie_node **neighbor_out, - enum pctrie_insert_neighbor_mode mode) + struct pctrie_node **parent_out, uint64_t **found_out) { uint64_t index; struct pctrie_node *node, *parent; @@ -308,51 +300,29 @@ pctrie_insert_lookup_compound(struct pctrie *ptree, uint64_t *val, else pctrie_addnode(parent, index, pctrie_toleaf(val), PCTRIE_LOCKED); + *parent_out = parent; return (NULL); } if (*pctrie_toval(node) == index) { *found_out = pctrie_toval(node); + *parent_out = parent; return (NULL); } break; } if (pctrie_keybarr(node, index, &slot)) break; - /* - * Descend. If we're tracking the next neighbor and this node - * contains a neighboring entry in the right direction, record - * it. - */ - if (mode == PCTRIE_INSERT_NEIGHBOR_LT) { - if ((node->pn_popmap & ((1 << slot) - 1)) != 0) - *neighbor_out = node; - } else if (mode == PCTRIE_INSERT_NEIGHBOR_GT) { - if ((node->pn_popmap >> slot) > 1) - *neighbor_out = node; - } parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - /* - * The caller will split this node. If we're tracking the next - * neighbor, record the old node if the old entry is in the right - * direction. - */ - if (mode == PCTRIE_INSERT_NEIGHBOR_LT) { - if (*pctrie_toval(node) < index) - *neighbor_out = node; - } else if (mode == PCTRIE_INSERT_NEIGHBOR_GT) { - if (*pctrie_toval(node) > index) - *neighbor_out = node; - } - /* * 'node' must be replaced in the tree with a new branch node, with * children 'node' and 'val'. Return the place that points to 'node' * now, and will point to to the new branching node later. */ + *parent_out = parent; return ((parent == NULL) ? pctrie_root(ptree): &parent->pn_child[slot]); } @@ -361,14 +331,15 @@ pctrie_insert_lookup_compound(struct pctrie *ptree, uint64_t *val, * if the key already exists, and do not look for neighboring entries. */ void * -pctrie_insert_lookup_strict(struct pctrie *ptree, uint64_t *val) +pctrie_insert_lookup_strict(struct pctrie *ptree, uint64_t *val, + struct pctrie_node **parent_out) { void *parentp; uint64_t *found; found = NULL; - parentp = pctrie_insert_lookup_compound(ptree, val, &found, NULL, - PCTRIE_INSERT_NEIGHBOR_NONE); + parentp = pctrie_insert_lookup_compound(ptree, val, parent_out, + &found); if (__predict_false(found != NULL)) panic("%s: key %jx is already present", __func__, (uintmax_t)*val); @@ -381,71 +352,47 @@ pctrie_insert_lookup_strict(struct pctrie *ptree, uint64_t *val) */ void * pctrie_insert_lookup(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out) -{ - *found_out = NULL; - return (pctrie_insert_lookup_compound(ptree, val, found_out, NULL, - PCTRIE_INSERT_NEIGHBOR_NONE)); -} - -/* - * Wrap pctrie_insert_lookup_compound to implement find or insert and find next - * greater entry. Find a subtree that contains the next entry greater than the - * newly-inserted or to-be-inserted entry. - */ -void * -pctrie_insert_lookup_gt(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out, struct pctrie_node **neighbor_out) + struct pctrie_node **parent_out, uint64_t **found_out) { *found_out = NULL; - *neighbor_out = NULL; - return (pctrie_insert_lookup_compound(ptree, val, found_out, - neighbor_out, PCTRIE_INSERT_NEIGHBOR_GT)); + return (pctrie_insert_lookup_compound(ptree, val, parent_out, + found_out)); } /* - * Wrap pctrie_insert_lookup_compound to implement find or insert and find next - * lesser entry. Find a subtree that contains the next entry less than the - * newly-inserted or to-be-inserted entry. - */ -void * -pctrie_insert_lookup_lt(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out, struct pctrie_node **neighbor_out) -{ - *found_out = NULL; - *neighbor_out = NULL; - return (pctrie_insert_lookup_compound(ptree, val, found_out, - neighbor_out, PCTRIE_INSERT_NEIGHBOR_LT)); -} - -/* - * Uses new node to insert key-value pair into the trie at given location. + * Inserts newly allocated node 'child' into trie at location 'parentp', with + * parent 'parent' and two children, 'val' and whatever non-NULL node or leaf + * was at 'parentp' to begin with. */ void -pctrie_insert_node(void *parentp, struct pctrie_node *parent, uint64_t *val) +pctrie_insert_node(uint64_t *val, struct pctrie_node *parent, void *parentp, + struct pctrie_node *child) { struct pctrie_node *node; uint64_t index, newind; /* - * Clear the last child pointer of the newly allocated parent. We want + * Clear the last child pointer of the newly allocated child. We want * to clear it after the final section has exited so lookup can not * return false negatives. It is done here because it will be * cache-cold in the dtor callback. */ - if (parent->pn_popmap != 0) { - pctrie_node_store(&parent->pn_child[ffs(parent->pn_popmap) - 1], + if (child->pn_popmap != 0) { + pctrie_node_store(&child->pn_child[ffs(child->pn_popmap) - 1], PCTRIE_NULL, PCTRIE_UNSERIALIZED); - parent->pn_popmap = 0; + child->pn_popmap = 0; } /* - * Recover the values of the two children of the new parent node. If + * Recover the values of the two children of the new child node. If * 'node' is not a leaf, this stores into 'newind' the 'owner' field, * which must be first in the node. */ index = *val; node = pctrie_node_load(parentp, NULL, PCTRIE_UNSERIALIZED); + pctrie_setparent(child, parent); + if (!pctrie_isleaf(node)) + pctrie_setparent(node, child); newind = *pctrie_toval(node); /* @@ -456,17 +403,17 @@ pctrie_insert_node(void *parentp, struct pctrie_node *parent, uint64_t *val) _Static_assert(sizeof(long long) >= sizeof(uint64_t), "uint64 too wide"); _Static_assert(sizeof(uint64_t) * NBBY <= - (1 << (sizeof(parent->pn_clev) * NBBY)), "pn_clev too narrow"); - parent->pn_clev = rounddown(ilog2(index ^ newind), PCTRIE_WIDTH); - parent->pn_owner = PCTRIE_COUNT; - parent->pn_owner = index & -(parent->pn_owner << parent->pn_clev); + (1 << (sizeof(child->pn_clev) * NBBY)), "pn_clev too narrow"); + child->pn_clev = rounddown(ilog2(index ^ newind), PCTRIE_WIDTH); + child->pn_owner = PCTRIE_COUNT; + child->pn_owner = index & -(child->pn_owner << child->pn_clev); /* These writes are not yet visible due to ordering. */ - pctrie_addnode(parent, index, pctrie_toleaf(val), PCTRIE_UNSERIALIZED); - pctrie_addnode(parent, newind, node, PCTRIE_UNSERIALIZED); + pctrie_addnode(child, index, pctrie_toleaf(val), PCTRIE_UNSERIALIZED); + pctrie_addnode(child, newind, node, PCTRIE_UNSERIALIZED); /* Synchronize to make the above visible. */ - pctrie_node_store(parentp, parent, PCTRIE_LOCKED); + pctrie_node_store(parentp, child, PCTRIE_LOCKED); } /* @@ -531,41 +478,44 @@ pctrie_lookup_unlocked(struct pctrie *ptree, uint64_t index, smr_t smr) } /* - * Returns the last node examined in the search for the index, and updates the - * search path to that node. + * Returns the last node examined in the search for the index, and sets the + * parent of that node. */ static __always_inline struct pctrie_node * -_pctrie_iter_lookup_node(struct pctrie_iter *it, uint64_t index, smr_t smr, - enum pctrie_access access) +_pctrie_lookup_node(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index, struct pctrie_node **parent_out, + smr_t smr, enum pctrie_access access) { - struct pctrie_node *node; + struct pctrie_node *parent; int slot; /* * Climb the search path to find the lowest node from which to start the * search for a value matching 'index'. */ - while (it->top != 0) { - node = it->path[it->top - 1]; + while (node != NULL) { KASSERT(!powerof2(node->pn_popmap), ("%s: freed node in iter path", __func__)); - if (!pctrie_keybarr(node, index, &slot)) { - node = pctrie_node_load( - &node->pn_child[slot], smr, access); + if (!pctrie_keybarr(node, index, &slot)) break; - } - --it->top; + node = pctrie_parent(node); + } + + if (node == NULL) { + parent = NULL; + node = pctrie_root_load(ptree, smr, access); + } else { + parent = node; + node = pctrie_node_load(&node->pn_child[slot], smr, access); } - if (it->top == 0) - node = pctrie_root_load(it->ptree, smr, access); /* Seek a node that matches index. */ while (!pctrie_isleaf(node) && !pctrie_keybarr(node, index, &slot)) { - KASSERT(it->top < nitems(it->path), - ("%s: path overflow in trie %p", __func__, it->ptree)); - it->path[it->top++] = node; + parent = node; node = pctrie_node_load(&node->pn_child[slot], smr, access); } + if (parent_out != NULL) + *parent_out = parent; return (node); } @@ -579,7 +529,8 @@ _pctrie_iter_lookup(struct pctrie_iter *it, uint64_t index, smr_t smr, struct pctrie_node *node; it->index = index; - node = _pctrie_iter_lookup_node(it, index, smr, access); + node = _pctrie_lookup_node(it->ptree, it->node, index, &it->node, + smr, access); return (pctrie_match_value(node, index)); } @@ -603,13 +554,14 @@ pctrie_iter_insert_lookup(struct pctrie_iter *it, uint64_t *val) struct pctrie_node *node; it->index = *val; - node = _pctrie_iter_lookup_node(it, *val, NULL, PCTRIE_LOCKED); + node = _pctrie_lookup_node(it->ptree, it->node, *val, &it->node, + NULL, PCTRIE_LOCKED); if (node == PCTRIE_NULL) { - if (it->top == 0) + if (it->node == NULL) pctrie_node_store(pctrie_root(it->ptree), pctrie_toleaf(val), PCTRIE_LOCKED); else - pctrie_addnode(it->path[it->top - 1], it->index, + pctrie_addnode(it->node, it->index, pctrie_toleaf(val), PCTRIE_LOCKED); return (NULL); } @@ -622,10 +574,7 @@ pctrie_iter_insert_lookup(struct pctrie_iter *it, uint64_t *val) * children 'node' and 'val'. Return the place that points to 'node' * now, and will point to to the new branching node later. */ - if (it->top == 0) - return (pctrie_root(it->ptree)); - node = it->path[it->top - 1]; - return (&node->pn_child[pctrie_slot(node, it->index)]); + return (pctrie_child(it->ptree, it->node, it->index)); } /* @@ -678,122 +627,21 @@ pctrie_iter_prev(struct pctrie_iter *it) return (_pctrie_iter_stride(it, -1, NULL, PCTRIE_LOCKED)); } -/* - * Returns the value with the least index that is greater than or equal to the - * specified index, or NULL if there are no such values. - * - * Requires that access be externally synchronized by a lock. - */ -static __inline uint64_t * -pctrie_lookup_ge_node(struct pctrie_node *node, uint64_t index) -{ - struct pctrie_node *succ; - uint64_t *m; - int slot; - - /* - * Descend the trie as if performing an ordinary lookup for the - * specified value. However, unlike an ordinary lookup, as we descend - * the trie, we use "succ" to remember the last branching-off point, - * that is, the interior node under which the least value that is both - * outside our current path down the trie and greater than the specified - * index resides. (The node's popmap makes it fast and easy to - * recognize a branching-off point.) If our ordinary lookup fails to - * yield a value that is greater than or equal to the specified index, - * then we will exit this loop and perform a lookup starting from - * "succ". If "succ" is not NULL, then that lookup is guaranteed to - * succeed. - */ - succ = NULL; - for (;;) { - if (pctrie_isleaf(node)) { - if ((m = pctrie_toval(node)) != NULL && *m >= index) - return (m); - break; - } - if (pctrie_keybarr(node, index, &slot)) { - /* - * If all values in this subtree are > index, then the - * least value in this subtree is the answer. - */ - if (node->pn_owner > index) - succ = node; - break; - } - - /* - * Just in case the next search step leads to a subtree of all - * values < index, check popmap to see if a next bigger step, to - * a subtree of all pages with values > index, is available. If - * so, remember to restart the search here. - */ - if ((node->pn_popmap >> slot) > 1) - succ = node; - node = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - - /* - * Restart the search from the last place visited in the subtree that - * included some values > index, if there was such a place. - */ - if (succ == NULL) - return (NULL); - if (succ != node) { - /* - * Take a step to the next bigger sibling of the node chosen - * last time. In that subtree, all values > index. - */ - slot = pctrie_slot(succ, index) + 1; - KASSERT((succ->pn_popmap >> slot) != 0, - ("%s: no popmap siblings past slot %d in node %p", - __func__, slot, succ)); - slot += ffs(succ->pn_popmap >> slot) - 1; - succ = pctrie_node_load(&succ->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - - /* - * Find the value in the subtree rooted at "succ" with the least index. - */ - while (!pctrie_isleaf(succ)) { - KASSERT(succ->pn_popmap != 0, - ("%s: no popmap children in node %p", __func__, succ)); - slot = ffs(succ->pn_popmap) - 1; - succ = pctrie_node_load(&succ->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - return (pctrie_toval(succ)); -} - -uint64_t * -pctrie_lookup_ge(struct pctrie *ptree, uint64_t index) -{ - return (pctrie_lookup_ge_node( - pctrie_root_load(ptree, NULL, PCTRIE_LOCKED), index)); -} - -uint64_t * -pctrie_subtree_lookup_gt(struct pctrie_node *node, uint64_t index) -{ - if (node == NULL || index + 1 == 0) - return (NULL); - return (pctrie_lookup_ge_node(node, index + 1)); -} - /* * Find first leaf >= index, and fill iter with the path to the parent of that * leaf. Return NULL if there is no such leaf less than limit. */ -uint64_t * -pctrie_iter_lookup_ge(struct pctrie_iter *it, uint64_t index) +static __inline uint64_t * +_pctrie_lookup_ge(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index, struct pctrie_node **parent_out, uint64_t limit) { - struct pctrie_node *node; + struct pctrie_node *parent; uint64_t *m; int slot; /* Seek a node that matches index. */ - node = _pctrie_iter_lookup_node(it, index, NULL, PCTRIE_LOCKED); + node = _pctrie_lookup_node(ptree, node, index, &parent, + NULL, PCTRIE_LOCKED); /* * If no such node was found, and instead this path leads only to nodes @@ -801,36 +649,58 @@ pctrie_iter_lookup_ge(struct pctrie_iter *it, uint64_t index) */ if (node == PCTRIE_NULL || *pctrie_toval(node) < index) { /* Climb the path to find a node with a descendant > index. */ - while (it->top != 0) { - node = it->path[it->top - 1]; + for (node = parent; node != NULL; node = pctrie_parent(node)) { slot = pctrie_slot(node, index) + 1; if ((node->pn_popmap >> slot) != 0) break; - --it->top; } - if (it->top == 0) + if (node == NULL) { + if (parent_out != NULL) + *parent_out = NULL; return (NULL); + } /* Step to the least child with a descendant > index. */ slot += ffs(node->pn_popmap >> slot) - 1; + parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } /* Descend to the least leaf of the subtrie. */ while (!pctrie_isleaf(node)) { - if (it->limit != 0 && node->pn_owner >= it->limit) + if (limit != 0 && node->pn_owner >= limit) return (NULL); slot = ffs(node->pn_popmap) - 1; - KASSERT(it->top < nitems(it->path), - ("%s: path overflow in trie %p", __func__, it->ptree)); - it->path[it->top++] = node; + parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } + if (parent_out != NULL) + *parent_out = parent; m = pctrie_toval(node); - if (it->limit != 0 && *m >= it->limit) + if (limit != 0 && *m >= limit) return (NULL); - it->index = *m; + return (m); +} + +uint64_t * +pctrie_lookup_ge(struct pctrie *ptree, uint64_t index) +{ + return (_pctrie_lookup_ge(ptree, NULL, index, NULL, 0)); +} + +/* + * Find first leaf >= index, and fill iter with the path to the parent of that + * leaf. Return NULL if there is no such leaf less than limit. + */ +uint64_t * +pctrie_iter_lookup_ge(struct pctrie_iter *it, uint64_t index) +{ + uint64_t *m; + + m = _pctrie_lookup_ge(it->ptree, it->node, index, &it->node, it->limit); + if (m != NULL) + it->index = *m; return (m); } @@ -851,91 +721,76 @@ pctrie_iter_jump_ge(struct pctrie_iter *it, int64_t jump) return (pctrie_iter_lookup_ge(it, index)); } -#ifdef INVARIANTS -void -pctrie_subtree_lookup_gt_assert(struct pctrie_node *node, uint64_t index, - struct pctrie *ptree, uint64_t *res) -{ - uint64_t *expected; - - if (index + 1 == 0) - expected = NULL; - else - expected = pctrie_lookup_ge(ptree, index + 1); - KASSERT(res == expected, - ("pctrie subtree lookup gt result different from root lookup: " - "ptree %p, index %ju, subtree %p, found %p, expected %p", ptree, - (uintmax_t)index, node, res, expected)); -} -#endif - /* - * Returns the value with the greatest index that is less than or equal to the - * specified index, or NULL if there are no such values. - * - * Requires that access be externally synchronized by a lock. + * Find first leaf <= index, and fill iter with the path to the parent of that + * leaf. Return NULL if there is no such leaf greater than limit. */ static __inline uint64_t * -pctrie_lookup_le_node(struct pctrie_node *node, uint64_t index) +_pctrie_lookup_le(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index, struct pctrie_node **parent_out, uint64_t limit) { - struct pctrie_node *pred; + struct pctrie_node *parent; uint64_t *m; int slot; + /* Seek a node that matches index. */ + node = _pctrie_lookup_node(ptree, node, index, &parent, NULL, + PCTRIE_LOCKED); + /* - * Mirror the implementation of pctrie_lookup_ge_node, described above. + * If no such node was found, and instead this path leads only to nodes + * > index, back up to find a subtrie with the greatest value < index. */ - pred = NULL; - for (;;) { - if (pctrie_isleaf(node)) { - if ((m = pctrie_toval(node)) != NULL && *m <= index) - return (m); - break; + if (node == PCTRIE_NULL || *pctrie_toval(node) > index) { + /* Climb the path to find a node with a descendant < index. */ + for (node = parent; node != NULL; node = pctrie_parent(node)) { + slot = pctrie_slot(node, index); + if ((node->pn_popmap & ((1 << slot) - 1)) != 0) + break; } - if (pctrie_keybarr(node, index, &slot)) { - if (node->pn_owner < index) - pred = node; - break; + if (node == NULL) { + if (parent_out != NULL) + *parent_out = NULL; + return (NULL); } - if ((node->pn_popmap & ((1 << slot) - 1)) != 0) - pred = node; + + /* Step to the greatest child with a descendant < index. */ + slot = ilog2(node->pn_popmap & ((1 << slot) - 1)); + parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - if (pred == NULL) - return (NULL); - if (pred != node) { - slot = pctrie_slot(pred, index); - KASSERT((pred->pn_popmap & ((1 << slot) - 1)) != 0, - ("%s: no popmap siblings before slot %d in node %p", - __func__, slot, pred)); - slot = ilog2(pred->pn_popmap & ((1 << slot) - 1)); - pred = pctrie_node_load(&pred->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - while (!pctrie_isleaf(pred)) { - KASSERT(pred->pn_popmap != 0, - ("%s: no popmap children in node %p", __func__, pred)); - slot = ilog2(pred->pn_popmap); - pred = pctrie_node_load(&pred->pn_child[slot], NULL, + /* Descend to the greatest leaf of the subtrie. */ + while (!pctrie_isleaf(node)) { + if (limit != 0 && limit >= node->pn_owner + + ((uint64_t)PCTRIE_COUNT << node->pn_clev) - 1) + return (NULL); + slot = ilog2(node->pn_popmap); + parent = node; + node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - return (pctrie_toval(pred)); + if (parent_out != NULL) + *parent_out = parent; + m = pctrie_toval(node); + if (limit != 0 && *m <= limit) + return (NULL); + return (m); } uint64_t * pctrie_lookup_le(struct pctrie *ptree, uint64_t index) { - return (pctrie_lookup_le_node( - pctrie_root_load(ptree, NULL, PCTRIE_LOCKED), index)); + return (_pctrie_lookup_le(ptree, NULL, index, NULL, 0)); } uint64_t * -pctrie_subtree_lookup_lt(struct pctrie_node *node, uint64_t index) +pctrie_subtree_lookup_lt(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index) { - if (node == NULL || index == 0) + if (index == 0) return (NULL); - return (pctrie_lookup_le_node(node, index - 1)); + return (_pctrie_lookup_le(ptree, node, index - 1, NULL, 0)); } /* @@ -945,50 +800,11 @@ pctrie_subtree_lookup_lt(struct pctrie_node *node, uint64_t index) uint64_t * pctrie_iter_lookup_le(struct pctrie_iter *it, uint64_t index) { - struct pctrie_node *node; uint64_t *m; - int slot; - - /* Seek a node that matches index. */ - node = _pctrie_iter_lookup_node(it, index, NULL, PCTRIE_LOCKED); - /* - * If no such node was found, and instead this path leads only to nodes - * > index, back up to find a subtrie with the greatest value < index. - */ - if (node == PCTRIE_NULL || *pctrie_toval(node) > index) { - /* Climb the path to find a node with a descendant < index. */ - while (it->top != 0) { - node = it->path[it->top - 1]; - slot = pctrie_slot(node, index); - if ((node->pn_popmap & ((1 << slot) - 1)) != 0) - break; - --it->top; - } - if (it->top == 0) - return (NULL); - - /* Step to the greatest child with a descendant < index. */ - slot = ilog2(node->pn_popmap & ((1 << slot) - 1)); - node = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - /* Descend to the greatest leaf of the subtrie. */ - while (!pctrie_isleaf(node)) { - if (it->limit != 0 && it->limit >= - node->pn_owner + (PCTRIE_COUNT << node->pn_clev) - 1) - return (NULL); - slot = ilog2(node->pn_popmap); - KASSERT(it->top < nitems(it->path), - ("%s: path overflow in trie %p", __func__, it->ptree)); - it->path[it->top++] = node; - node = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - m = pctrie_toval(node); - if (it->limit != 0 && *m <= it->limit) - return (NULL); - it->index = *m; + m = _pctrie_lookup_le(it->ptree, it->node, index, &it->node, it->limit); + if (m != NULL) + it->index = *m; return (m); } @@ -1009,35 +825,27 @@ pctrie_iter_jump_le(struct pctrie_iter *it, int64_t jump) return (pctrie_iter_lookup_le(it, index)); } -#ifdef INVARIANTS -void -pctrie_subtree_lookup_lt_assert(struct pctrie_node *node, uint64_t index, - struct pctrie *ptree, uint64_t *res) -{ - uint64_t *expected; - - if (index == 0) - expected = NULL; - else - expected = pctrie_lookup_le(ptree, index - 1); - KASSERT(res == expected, - ("pctrie subtree lookup lt result different from root lookup: " - "ptree %p, index %ju, subtree %p, found %p, expected %p", ptree, - (uintmax_t)index, node, res, expected)); -} -#endif - -static void -pctrie_remove(struct pctrie *ptree, uint64_t index, struct pctrie_node *parent, - struct pctrie_node *node, struct pctrie_node **freenode) +/* + * If 'child', a leaf and a child of 'parent', is not NULL and has key 'index', + * then remove it from the pctrie and return its value. If doing so produces an + * internal node with only one child, purge it from the pctrie and save it in + * *freenode for later disposal. + */ +static uint64_t * +pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, + struct pctrie_node *child, struct pctrie_node **freenode) { - struct pctrie_node *child; + uint64_t *m; int slot; + *freenode = NULL; + m = pctrie_match_value(child, index); + if (m == NULL) + return (m); if (node == NULL) { pctrie_node_store(pctrie_root(ptree), PCTRIE_NULL, PCTRIE_LOCKED); - return; + return (m); } slot = pctrie_slot(node, index); KASSERT((node->pn_popmap & (1 << slot)) != 0, @@ -1046,28 +854,19 @@ pctrie_remove(struct pctrie *ptree, uint64_t index, struct pctrie_node *parent, node->pn_popmap ^= 1 << slot; pctrie_node_store(&node->pn_child[slot], PCTRIE_NULL, PCTRIE_LOCKED); if (!powerof2(node->pn_popmap)) - return; + return (m); KASSERT(node->pn_popmap != 0, ("%s: bad popmap all zeroes", __func__)); slot = ffs(node->pn_popmap) - 1; child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); KASSERT(child != PCTRIE_NULL, ("%s: bad popmap slot %d in node %p", __func__, slot, node)); - if (parent == NULL) - pctrie_node_store(pctrie_root(ptree), child, PCTRIE_LOCKED); - else { - slot = pctrie_slot(parent, index); - KASSERT(node == - pctrie_node_load(&parent->pn_child[slot], NULL, - PCTRIE_LOCKED), ("%s: invalid child value", __func__)); - pctrie_node_store(&parent->pn_child[slot], child, - PCTRIE_LOCKED); - } - /* - * The child is still valid and we can not zero the - * pointer until all SMR references are gone. - */ - pctrie_node_put(node); *freenode = node; + node = pctrie_parent(node); + if (!pctrie_isleaf(child)) + pctrie_setparent(child, node); + pctrie_node_store(pctrie_child(ptree, node, index), child, + PCTRIE_LOCKED); + return (m); } /* @@ -1078,24 +877,18 @@ uint64_t * pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, struct pctrie_node **freenode) { - struct pctrie_node *child, *node, *parent; - uint64_t *m; + struct pctrie_node *child, *node; int slot; - DEBUG_POISON_POINTER(parent); - *freenode = node = NULL; + node = NULL; child = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); while (!pctrie_isleaf(child)) { - parent = node; node = child; slot = pctrie_slot(node, index); child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - m = pctrie_match_value(child, index); - if (m != NULL) - pctrie_remove(ptree, index, parent, node, freenode); - return (m); + return (pctrie_remove(ptree, node, index, child, freenode)); } /* @@ -1105,27 +898,14 @@ pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, uint64_t * pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode) { - struct pctrie_node *child, *node, *parent; + struct pctrie_node *child; uint64_t *m; - int slot; - DEBUG_POISON_POINTER(parent); - *freenode = NULL; - if (it->top >= 1) { - parent = (it->top >= 2) ? it->path[it->top - 2] : NULL; - node = it->path[it->top - 1]; - slot = pctrie_slot(node, it->index); - child = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } else { - node = NULL; - child = pctrie_root_load(it->ptree, NULL, PCTRIE_LOCKED); - } - m = pctrie_match_value(child, it->index); - if (m != NULL) - pctrie_remove(it->ptree, it->index, parent, node, freenode); + child = pctrie_node_load(pctrie_child(it->ptree, it->node, it->index), + NULL, PCTRIE_LOCKED); + m = pctrie_remove(it->ptree, it->node, it->index, child, freenode); if (*freenode != NULL) - --it->top; + it->node = pctrie_parent(it->node); return (m); } @@ -1137,25 +917,16 @@ uint64_t * pctrie_iter_value(struct pctrie_iter *it) { struct pctrie_node *node; - int slot; - if (it->top == 0) - node = pctrie_root_load(it->ptree, NULL, - PCTRIE_LOCKED); - else { - node = it->path[it->top - 1]; - slot = pctrie_slot(node, it->index); *** 319 LINES SKIPPED *** From nobody Mon Feb 10 20:55:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsGzy0XjKz5mmG5; Mon, 10 Feb 2025 20:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsGzx51GFz3xrW; Mon, 10 Feb 2025 20:55:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739220909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7G94i741Os5wJC13JfMWKY1/J8WEjyWgT/DA6+HppMg=; b=SGUOzzdGSzJ4Iz09wgPU1XgXkqxKjQYbuc2L1sSNYFnrcl/s2eM8DJfMmp7+9IHmTfWwoe Mi95dZwil5yS/qOu/tAuNuZPUnb4SdDZ5FMZoY9g77w917UEMALWOEv7t2cidGiVh/9+ED wfHFZcyRnl0mYrLqiRF9/8YQKJZbBQmM80NMGXix051kBGbWathODrgYEYSLvVR0WY5D3p urfIy5JGkJGbXvhzw0P3UyQbFVxHf1hVC96lVxEpcazEybsDq7keL5qw/aknLNxpI4kEMH agFPZjrCZ2F/sf5m70Li9hoEKhbXBQQH/H85DZh42oMc7XIhGvXbt+23MMWlCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739220909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7G94i741Os5wJC13JfMWKY1/J8WEjyWgT/DA6+HppMg=; b=oLDG+ACTi9Nv4VZMfpjLYeOPrKqf6Vl4ZAV/pnQ8/HCjMjLWVopp2QMIZ/ZdddZTYRu3vZ UhOg1Fpa7nqnTHMIlVq9m3p9/wDwcjSpfKZIbNGy1y6Og/XqtBzFten6e/7v2Yw0YDwveL Fu4pvhdo/68ZNfaCGBDBktlOsRrgdQeqYsusE3+1ZywcnLnLJkEhLTeojtVL4BQ+hOPlP6 GwLQA31olokpeX6xcPczgy8SSbbSo+GZuVHumCiZ6xLd/6wC/5K+hi8R2yiLm89wtWX0/p Ae5gJffCT5SNhVv6JDcbSQeJmtyfH4u8FpT0v4rQjTsDPd4hDFgNDNf2I+2yDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739220909; a=rsa-sha256; cv=none; b=A5bcZart/GjC7dFnk3/JXNIb2VDaGGSkYK3Sop5fINWjDXi2JTLx3kZWXsRJvU4xpCCMFx /iNsgYwobxCNO2jE2PGWaiseCoJFu5/bLOleYLUQk9XeKTKwOPUjI+KDT9+ryvIJ6IYPpk MSiYCTlX3IzXY8e406uqXxe1W4OtgwhjIWXzcKowFyw7Z28yd9Xs77W86gucLYRiEWV3+K jVyEWjJCxpIiaBBI9MPj5DkG5jodPtnfIRnPofPnilMNBdRFdKngF2uje6Jbzhag+NmVgt iDCZceXPq2LlJsYlEfULy0AHVzzn0U5lKt9svZttl4qx4yZFUXx0QidKHp0AhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsGzx1rnWzk1d; Mon, 10 Feb 2025 20:55: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 51AKt91Z006566; Mon, 10 Feb 2025 20:55:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AKt9mK006563; Mon, 10 Feb 2025 20:55:09 GMT (envelope-from git) Date: Mon, 10 Feb 2025 20:55:09 GMT Message-Id: <202502102055.51AKt9mK006563@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 0b707d5fe8b6 - main - ssh: Disable support for DSA keys List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b707d5fe8b6b1920eb29c6375a6be92b7e44758 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0b707d5fe8b6b1920eb29c6375a6be92b7e44758 commit 0b707d5fe8b6b1920eb29c6375a6be92b7e44758 Author: Ed Maste AuthorDate: 2025-02-09 20:41:12 +0000 Commit: Ed Maste CommitDate: 2025-02-10 20:54:25 +0000 ssh: Disable support for DSA keys This is the upstream default -- from the 9.8p1 release notes: Future deprecation notice ========================= OpenSSH plans to remove support for the DSA signature algorithm in early 2025. This release disables DSA by default at compile time. DSA, as specified in the SSHv2 protocol, is inherently weak - being limited to a 160 bit private key and use of the SHA1 digest. Its estimated security level is only 80 bits symmetric equivalent. OpenSSH has disabled DSA keys by default since 2015 but has retained run-time optional support for them. DSA was the only mandatory-to- implement algorithm in the SSHv2 RFCs, mostly because alternative algorithms were encumbered by patents when the SSHv2 protocol was specified. This has not been the case for decades at this point and better algorithms are well supported by all actively-maintained SSH implementations. We do not consider the costs of maintaining DSA in OpenSSH to be justified and hope that removing it from OpenSSH can accelerate its wider deprecation in supporting cryptography libraries. This release, and its deactivation of DSA by default at compile-time, marks the second step in our timeline to finally deprecate DSA. The final step of removing DSA support entirely is planned for the first OpenSSH release of 2025. --- The config.h comment /* DSA keys explicitly enabled */ is somewhat confusing, but this is what upstream's ./configure generates. Reviewed by: jlduran Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48910 --- crypto/openssh/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index aedacd88df10..29f73831ad7b 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -1977,8 +1977,8 @@ /* Define if you want to enable AIX4's authenticate function */ /* #undef WITH_AIXAUTHENTICATE */ -/* Define if to enable DSA keys. */ -#define WITH_DSA 1 +/* DSA keys explicitly enabled */ +/* #undef WITH_DSA */ /* Define if you have/want arrays (cluster-wide session management, not C arrays) */ From nobody Mon Feb 10 21:21:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsHZ06bnDz5mpJB; Mon, 10 Feb 2025 21: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsHZ05wsJz49bF; Mon, 10 Feb 2025 21: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=1739222472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8uctngXZZ8CoVkq/TNwvCtqRurmxmqO/pm4mNQJYIyI=; b=KYN97PUZCvjfTcvLV/SwDOm2WVxWTh5Vl3H+rkIMZ9ZzttcTaJlg6AH0G3hBMHU7Pxm51E AaT3RiOTLF7wgVsL4zOWnPK80cpCHyjnhFDyjsx0j9ouWZek91V0n0Q5Z76bEH/gB9Qqlz f16RLsW20tE4xL1GFqxhPXTn2QlRNS7iPK3V/1o4WN4ugFd597pmsBo9UVV1TdWLUGkkMp Rbew8JTbZjF01a0p/uYI+PQTKaSVWzn4KSvBrWQVFU7++3lfLnRVOKOth1cWg+uLG0Bwde pvZVS1POZ/D73RJ1Sk4AjT/jsQqRCQ8shUEcCwnTBK8JMHge0skDL4xmo1+pLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739222472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8uctngXZZ8CoVkq/TNwvCtqRurmxmqO/pm4mNQJYIyI=; b=b49NL/bCPdVlx6+aF6M5bVnvF6HbkUAQKHU3b2yHsTOlgDi7ufZNrnFC8YHsFC637D+/AL +73yPa4r1jOrVDhDc+yv7gdtZj/GW0JR0rN656OIlZaiVCHLczYNM87K324mj5hIiGe95v Uy85GO9Cabw8N+lmXw3EmU//vFzgLTNEr7MLwaxe/6rf3Aep7aIV01jeZTfnOs7y+yrsUG 4Ftoe+FDlaxTxUriyCRGKBya+15ef3RzhX6xKvZWthlzKsuAEzWVDFHVBIpjUfRDl/iEdm jlZDOOaKPiXSjcBDJ+X7e9CEhP4VAnWX7xR5gg/eOm59cJeimZGgaHhg33axVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739222472; a=rsa-sha256; cv=none; b=hXE7db8XQottWndikgCybrqdEVQPKUgjXd5F55v3M/eeHtEvtpDzda+xb/XfDGste2cgBd lDmdDya8Snu8Olsq4ID35g+sO3INmABdHs5WXkSpA8jD6F9peed4VHNC207DdsEoWo+zuI CXBnVSpa25z5B058wPYvKVq2H/N0JaowmRYi5ZHYKR7VvBwNuSm+OYUbQ7a1Lugkr/ovPy 8kbas5/ycQ+3Soa0yaOldVjulKbu8Gi8Y9Nz4Vk+Uhf5WDfbuI6tfwcGUBwfNjDDi8AgtX Pt/MlzjR5GQ7udVgJEV35I/d9wjNZperpzoXb/7kLya0JKdHSHTrNwZdDV+BFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsHZ05XPvzkls; Mon, 10 Feb 2025 21: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 51ALLCgj056573; Mon, 10 Feb 2025 21: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 51ALLCuS056570; Mon, 10 Feb 2025 21:21:12 GMT (envelope-from git) Date: Mon, 10 Feb 2025 21:21:12 GMT Message-Id: <202502102121.51ALLCuS056570@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 923c223f27e7 - main - icmp: use per rate limit randomized jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 923c223f27e792e51ca13c476428adbbf6887551 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=923c223f27e792e51ca13c476428adbbf6887551 commit 923c223f27e792e51ca13c476428adbbf6887551 Author: Michael Tuexen AuthorDate: 2025-02-10 21:16:20 +0000 Commit: Michael Tuexen CommitDate: 2025-02-10 21:16:20 +0000 icmp: use per rate limit randomized jitter Using the same random jitter for multiple rate limits allows an attacker to use one rate limiter to figure out the current jitter and then use this knowledge to de-randomize the other rate limiters. This can be mitigated by using a separate randomized jitter for each rate limiter. This issue was reported as issue number 10 in Keyu Man et al.: SCAD: Towards a Universal and Automated Network Side-Channel Vulnerability Detection Reviewed by: rrs, Peter Lei, glebius MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D48804 --- sys/netinet/ip_icmp.c | 20 ++++++++++++-------- sys/netinet6/icmp6.c | 50 +++++++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 58484e532fef..2b61820cdaa8 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -88,7 +88,7 @@ SYSCTL_PROC(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLTYPE_UINT | &sysctl_icmplim_and_jitter, "IU", "Maximum number of ICMP responses per second"); -VNET_DEFINE_STATIC(int, icmplim_curr_jitter) = 0; +VNET_DEFINE_STATIC(int, icmplim_curr_jitter[BANDLIM_MAX]) = {0}; #define V_icmplim_curr_jitter VNET(icmplim_curr_jitter) VNET_DEFINE_STATIC(u_int, icmplim_jitter) = 16; #define V_icmplim_jitter VNET(icmplim_jitter) @@ -1108,14 +1108,16 @@ static const char *icmp_rate_descrs[BANDLIM_MAX] = { }; static void -icmplim_new_jitter(void) +icmplim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < BANDLIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmplim_jitter > 0) - V_icmplim_curr_jitter = + V_icmplim_curr_jitter[which] = arc4random_uniform(V_icmplim_jitter * 2 + 1) - V_icmplim_jitter; } @@ -1144,7 +1146,9 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmplim_jitter = new; - icmplim_new_jitter(); + for (int i = 0; i < BANDLIM_MAX; i++) { + icmplim_new_jitter(i); + } } } } @@ -1160,8 +1164,8 @@ icmp_bandlimit_init(void) for (int i = 0; i < BANDLIM_MAX; i++) { V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp_rates[i].cr_ticks = ticks; + icmplim_new_jitter(i); } - icmplim_new_jitter(); } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); @@ -1190,14 +1194,14 @@ badport_bandlim(int which) ("%s: which %d", __func__, which)); pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + - V_icmplim_curr_jitter); + V_icmplim_curr_jitter[which]); if (pps > 0) { if (V_icmplim_output) log(LOG_NOTICE, "Limiting %s response from %jd to %d packets/sec\n", icmp_rate_descrs[which], (intmax_t )pps, - V_icmplim + V_icmplim_curr_jitter); - icmplim_new_jitter(); + V_icmplim + V_icmplim_curr_jitter[which]); + icmplim_new_jitter(which); } if (pps == -1) return (-1); diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index b962d39151e9..3740a3eaec0d 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2750,22 +2750,6 @@ SYSCTL_PROC(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, &sysctl_icmp6lim_and_jitter, "IU", "Maximum number of ICMPv6 error/reply messages per second"); -VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter) = 0; -#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) - -VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; -#define V_icmp6lim_jitter VNET(icmp6lim_jitter) -SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, - &sysctl_icmp6lim_and_jitter, "IU", - "Random errppslimit jitter adjustment limit"); - -VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; -#define V_icmp6lim_output VNET(icmp6lim_output) -SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, - "Enable logging of ICMPv6 response rate limiting"); - typedef enum { RATELIM_PARAM_PROB = 0, RATELIM_TOO_BIG, @@ -2787,15 +2771,33 @@ static const char *icmp6_rate_descrs[RATELIM_MAX] = { [RATELIM_OTHER] = "(other)", }; +VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter[RATELIM_MAX]) = {0}; +#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) + +VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; +#define V_icmp6lim_jitter VNET(icmp6lim_jitter) +SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Random errppslimit jitter adjustment limit"); + +VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; +#define V_icmp6lim_output VNET(icmp6lim_output) +SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, + "Enable logging of ICMPv6 response rate limiting"); + static void -icmp6lim_new_jitter(void) +icmp6lim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < RATELIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmp6lim_jitter > 0) - V_icmp6lim_curr_jitter = + V_icmp6lim_curr_jitter[which] = arc4random_uniform(V_icmp6lim_jitter * 2 + 1) - V_icmp6lim_jitter; } @@ -2824,7 +2826,9 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmp6lim_jitter = new; - icmp6lim_new_jitter(); + for (int i = 0; i < RATELIM_MAX; i++) { + icmp6lim_new_jitter(i); + } } } } @@ -2844,8 +2848,8 @@ icmp6_ratelimit_init(void) for (int i = 0; i < RATELIM_MAX; i++) { V_icmp6_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp6_rates[i].cr_ticks = ticks; + icmp6lim_new_jitter(i); } - icmp6lim_new_jitter(); } VNET_SYSINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp6_ratelimit_init, NULL); @@ -2907,14 +2911,14 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) }; pps = counter_ratecheck(&V_icmp6_rates[which], V_icmp6errppslim + - V_icmp6lim_curr_jitter); + V_icmp6lim_curr_jitter[which]); if (pps > 0) { if (V_icmp6lim_output) log(LOG_NOTICE, "Limiting ICMPv6 %s output from %jd " "to %d packets/sec\n", icmp6_rate_descrs[which], (intmax_t )pps, V_icmp6errppslim + - V_icmp6lim_curr_jitter); - icmp6lim_new_jitter(); + V_icmp6lim_curr_jitter[which]); + icmp6lim_new_jitter(which); } if (pps == -1) { ICMP6STAT_INC(icp6s_toofreq); From nobody Mon Feb 10 22:08:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsJcl1d7Lz5msKR; Mon, 10 Feb 2025 22:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsJck0cK7z3XXj; Mon, 10 Feb 2025 22:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739225318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/lIlHOcCHHEZsG/FNCqxeSHJrmTlNghamS7hfYt7ws=; b=c9hrw8HnLhkurJdLFOZxRDiK9laNpSrcdQDRGhVRyqKpAO59/GDJVGIKOGb6zC5L3SjSq/ dXUBAnj2vdzfyCg/ErDftvCVMWPs2pST/LdfuMiGmEQY7wcAA3cuvijjjREYJzjBikEipC koTRDgtEI+r2svVvoMuL2ghAzn90NNpEntiOlxxKukJlLjmtmtqnla1hdEhZ8MnAfc/Gx2 kRAAx1VXrq278H8RoOMRyKjnaZ4QrBcAe+YolLWXRsWRjHKBOAd7uEa3NilNCauBxmHt+G GuwzO5WAXCiqZRhhpG4m6BErYhFrW2IaQIHKPlyqzzlU1ePr11iVmvxoiraNbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739225318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/lIlHOcCHHEZsG/FNCqxeSHJrmTlNghamS7hfYt7ws=; b=VcXkvlq/3YcHgA/+PMXVzmaziJ5URzXEB9VG53rGJuO+uiI9JVLJtOpyj/axYjitU+urKU x0xZ3UphndhNpdF7Xi5z4hvrqDuEAbUzPkBoemwEP139PIw/7mL/Z8EzQz4cec42/7ZsnW lLbWh7NWLL7xG4wcC91KOSkVwjQ5aQ/nqbgSn4qsP1HVjvINaYQ+IpcmkrJBUdWcJs7YhU WKwX0juRNQqzWkW+wy89YRDeguQPgSk0x1IQrzns48WCjKsmHsx5jqWiSzz9xiFfcv9ge5 q/O08WGPcwF8+/r1swE1VCYOSXzg7/XwwhCeaM//KNEcjqNOf6C0BhQjwRDrvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739225318; a=rsa-sha256; cv=none; b=Rb98a7ENYqWH7hx01D5LVP6UhcaGkI9iSN3D/GzbfTrTNd1WVcIUc2LNwtZADn/FVPrk27 4Kg85ThJb/RPL7sgyJ2sKEZpaT1rCA07rJgAV0hf8YLW7lasSvvEyKmJWTyS2EY8KaD6fm Sc19storyxs3b+Gd9HrekwvAHblSwYpqizGDmYTGLXoNN6swxaKF6GuCEpNN0xs1HwpIfz 1YpKyI7vo1SBJx+QDt9Q/JUwnZn+ZGYCPgJ5M+SgdUL9RgD82cWoBUPwqDOPFuiPOAP+ij 36hZihV/KQ8JVq8dtntGE4+MvuEsa731StL2KnerAh+7q+pbCwJrzQC0qSSUDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsJck0DCFzldF; Mon, 10 Feb 2025 22:08: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 51AM8bHv039637; Mon, 10 Feb 2025 22:08:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AM8b5h039634; Mon, 10 Feb 2025 22:08:37 GMT (envelope-from git) Date: Mon, 10 Feb 2025 22:08:37 GMT Message-Id: <202502102208.51AM8b5h039634@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: bc7ee0b52a8d - main - tests/unix_stream: add test that checks a full socket isn't writable List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc7ee0b52a8dd613711c7225244aac954b41e534 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=bc7ee0b52a8dd613711c7225244aac954b41e534 commit bc7ee0b52a8dd613711c7225244aac954b41e534 Author: Gleb Smirnoff AuthorDate: 2025-02-10 21:53:41 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-10 22:01:16 +0000 tests/unix_stream: add test that checks a full socket isn't writable --- tests/sys/kern/unix_stream.c | 86 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 5 deletions(-) diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index d57cfad020fa..49aabdaa0943 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -26,14 +26,15 @@ */ #include -#include -#include -#include -#include #include +#include +#include #include - +#include +#include #include +#include +#include #include @@ -49,6 +50,18 @@ do_socketpair(int *sv) ATF_REQUIRE(sv[0] != sv[1]); } +static u_long +getsendspace(void) +{ + u_long sendspace; + + ATF_REQUIRE_MSG(sysctlbyname("net.local.stream.sendspace", &sendspace, + &(size_t){sizeof(u_long)}, NULL, 0) != -1, + "sysctl net.local.stream.sendspace failed: %s", strerror(errno)); + + return (sendspace); +} + /* getpeereid(3) should work with stream sockets created via socketpair(2) */ ATF_TC_WITHOUT_HEAD(getpeereid); ATF_TC_BODY(getpeereid, tc) @@ -86,11 +99,74 @@ ATF_TC_BODY(send_0, tc) close(sv[1]); } +static void +check_writable(int fd, int expect) +{ + fd_set wrfds; + struct pollfd pfd[1]; + struct kevent kev; + int nfds, kq; + + FD_ZERO(&wrfds); + FD_SET(fd, &wrfds); + nfds = select(fd + 1, NULL, &wrfds, NULL, + &(struct timeval){.tv_usec = 1000}); + ATF_REQUIRE_MSG(nfds == expect, + "select() returns %d errno %d", nfds, errno); + + pfd[0] = (struct pollfd){ + .fd = fd, + .events = POLLOUT | POLLWRNORM, + }; + nfds = poll(pfd, 1, 1); + ATF_REQUIRE_MSG(nfds == expect, + "poll() returns %d errno %d", nfds, errno); + + ATF_REQUIRE(kq = kqueue()); + EV_SET(&kev, fd, EVFILT_WRITE, EV_ADD, 0, 0, NULL); + ATF_REQUIRE(kevent(kq, &kev, 1, NULL, 0, NULL) == 0); + nfds = kevent(kq, NULL, 0, &kev, 1, + &(struct timespec){.tv_nsec = 1000000}); + ATF_REQUIRE_MSG(nfds == expect, + "kevent() returns %d errno %d", nfds, errno); + close(kq); +} + +/* + * Make sure that a full socket is not reported as writable by event APIs. + */ +ATF_TC_WITHOUT_HEAD(full_not_writable); +ATF_TC_BODY(full_not_writable, tc) +{ + void *buf; + u_long sendspace; + int sv[2]; + + sendspace = getsendspace(); + ATF_REQUIRE((buf = malloc(sendspace)) != NULL); + do_socketpair(sv); + ATF_REQUIRE(fcntl(sv[0], F_SETFL, O_NONBLOCK) != -1); + do {} while (send(sv[0], buf, sendspace, 0) == (ssize_t)sendspace); + ATF_REQUIRE(errno == EAGAIN); + ATF_REQUIRE(fcntl(sv[0], F_SETFL, 0) != -1); + + check_writable(sv[0], 0); + + /* Read some data and re-check. */ + ATF_REQUIRE(read(sv[1], buf, sendspace / 2) == sendspace / 2); + + check_writable(sv[0], 1); + + free(buf); + close(sv[0]); + close(sv[1]); +} ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, getpeereid); ATF_TP_ADD_TC(tp, send_0); + ATF_TP_ADD_TC(tp, full_not_writable); return atf_no_error(); } From nobody Mon Feb 10 22:23:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsJxq0Gn7z5mtVh; Mon, 10 Feb 2025 22:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsJxp6mXkz3gK8; Mon, 10 Feb 2025 22:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Ejd4UByDXXs26gV6IwQaqT0YAI1RWXG9tDNaDOtauc=; b=Ih43qFOetPqDLnSN0q/c41NPH3qILeCiY5IWptG0ZhNVCWOEhlfFOBrlwmi2j3zGa3+XAb 3vLzvVHkiUXuGYqm9QmKGE5K9DVsv+idLHWE1VxXRVq53DzGHanfukR7Zf1XTXP/1YgOOF u3cKtJgrID7At/teUkDKu2GbQgrKTkm63NA/siKYyOSFqsb69SE/U364JdZjXdViwWgysa 8LFWfv/BDLR8RJhBqKTIQuSKw4yvvbRXuupWqWzH2gC+eiYa5rLOJ2pol607XDTnOI6mX0 AOPUicMqqVCkRsyJ0rlBeOPRhroK4z5X6fwOvSUb7T9QpsrIx9ccLrDJTcGPOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Ejd4UByDXXs26gV6IwQaqT0YAI1RWXG9tDNaDOtauc=; b=SH8bxL6npO9uVUzpJZSmGc1Lov3KUCCF2teQZ6hHjfkFLQvV5ENHe+waUY4NF3hHpch4dQ D1zfljtTOUB+JL6nbR7yRaewb1QBcn9QIJXAOqaEecrmLiLjWLOk+UEyiojSIgINmU8TKh XkzxepDlhTZnZTGtltb9knEBSvN4BzBzVwlymrIxyJr8v+B+d3l5QLQUH/t5ZlvyMPjcsL svKoA7JcySPO1s1V7CNE8Gop+Xl5vwkMQh/oVZldcXfIigV8VzYRlXnbeuTHubKB1YHYrT P3CThiWqfDZQ/2qSd1omIlmNFXk6+s5NQt5nq5tCKMR/mDopSxHMYqbls5G9UQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739226207; a=rsa-sha256; cv=none; b=eUSVwaIQxBQHEJF7UdANPLDK+nFR2BnAXr+WPk+gcFF6LvHFWodKX7S/Ylyn8S7os0kP0/ wezTWZ590IlTi8jRY7u3zsE+BEi4jqQdYb9sEWCEdDMyY8eJEKMb4LMl0m5IT5ZumljS28 2ywojBqa+SxxTl13N5TTfSRn8aZhaBui8EVJl93+bs4qfhKttY+OopgujPgifVel4dMULp DqPrSVa8LdxPh4XcC+LGdg6C1J2muTCjf+mv+yGYPyDu2llkSRk4G4pugX1AsSYPFP5mAb RIKxmJZRTug6iSkBxFRhfiWD+1visTrIDseRbPC/QXCkicBsoGdv5pE7mjAhPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsJxp6DQjzm8N; Mon, 10 Feb 2025 22:23: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 51AMNQQ8075544; Mon, 10 Feb 2025 22:23:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AMNQkq075541; Mon, 10 Feb 2025 22:23:26 GMT (envelope-from git) Date: Mon, 10 Feb 2025 22:23:26 GMT Message-Id: <202502102223.51AMNQkq075541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: c8245ceb4756 - main - Update dirdeps.mk et al List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8245ceb47565e864a350e6aa33ba9a6461ebe02 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=c8245ceb47565e864a350e6aa33ba9a6461ebe02 commit c8245ceb47565e864a350e6aa33ba9a6461ebe02 Author: Simon J. Gerraty AuthorDate: 2025-02-10 22:20:06 +0000 Commit: Simon J. Gerraty CommitDate: 2025-02-10 22:20:06 +0000 Update dirdeps.mk et al Update dirdeps.mk and friends to match latest contrib/bmake/mk Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D48855 --- share/mk/auto.obj.mk | 14 ++++++++------ share/mk/dirdeps-targets.mk | 5 ++++- share/mk/dirdeps.mk | 13 +++++++------ share/mk/gendirdeps.mk | 4 ++-- share/mk/meta.sys.mk | 13 ++++++++++++- share/mk/meta2deps.py | 16 ++++++++++++---- share/mk/sys.dependfile.mk | 4 +++- 7 files changed, 48 insertions(+), 21 deletions(-) diff --git a/share/mk/auto.obj.mk b/share/mk/auto.obj.mk index 21aa8e4a40d0..cfe60ef9c4d6 100644 --- a/share/mk/auto.obj.mk +++ b/share/mk/auto.obj.mk @@ -1,14 +1,16 @@ -# $Id: auto.obj.mk,v 1.12 2015/12/16 01:57:06 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: auto.obj.mk,v 1.17 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2004, Simon J. Gerraty # # This file is provided in the hope that it will # be of use. There is absolutely NO WARRANTY. # Permission to copy, redistribute or otherwise -# use this file is hereby granted provided that +# use this file is hereby granted provided that # the above copyright notice and this notice are -# left intact. -# +# left intact. +# # Please send copies of changes and bug-fixes to: # sjg@crufty.net # @@ -16,7 +18,7 @@ ECHO_TRACE ?= echo .ifndef Mkdirs -# A race condition in some versions of mkdir, means that it can bail +# A race condition in some versions of mkdir, means that it can bail # if another process made a dir that mkdir expected to. # We repeat the mkdir -p a number of times to try and work around this. # We stop looping as soon as the dir exists. @@ -53,7 +55,7 @@ __objdir:= ${__objdir} # We need to chdir, make the directory if needed .if !exists(${__objdir}/) && \ (${.TARGETS} == "" || ${.TARGETS:Nclean*:N*clean:Ndestroy*} != "") -# This will actually make it... +# This will actually make it... __objdir_made != echo ${__objdir}/; umask ${OBJDIR_UMASK:U002}; \ ${ECHO_TRACE} "[Creating objdir ${__objdir}...]" >&2; \ ${Mkdirs}; Mkdirs ${__objdir} diff --git a/share/mk/dirdeps-targets.mk b/share/mk/dirdeps-targets.mk index 9e3fb814fada..a8a547c0ce9b 100644 --- a/share/mk/dirdeps-targets.mk +++ b/share/mk/dirdeps-targets.mk @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-2-Clause # # RCSid: -# $Id: dirdeps-targets.mk,v 1.27 2024/02/25 19:12:13 sjg Exp $ +# $Id: dirdeps-targets.mk,v 1.28 2024/10/19 00:47:38 sjg Exp $ # # @(#) Copyright (c) 2019-2020 Simon J. Gerraty # @@ -160,6 +160,9 @@ MK_DIRDEPS_CACHE = yes .endfor .if defined(STATIC_DIRDEPS_CACHE) .export STATIC_DIRDEPS_CACHE +.if !empty(DEBUG_DIRDEPS_TARGETS) +.info STATIC_DIRDEPS_CACHE=${STATIC_DIRDEPS_CACHE:S,${SRCTOP}/,,} +.endif .endif .endif diff --git a/share/mk/dirdeps.mk b/share/mk/dirdeps.mk index 80720a7ca225..b281d15ec346 100644 --- a/share/mk/dirdeps.mk +++ b/share/mk/dirdeps.mk @@ -1,4 +1,4 @@ -# $Id: dirdeps.mk,v 1.171 2024/09/30 21:21:25 sjg Exp $ +# $Id: dirdeps.mk,v 1.175 2025/01/05 01:16:19 sjg Exp $ # SPDX-License-Identifier: BSD-2-Clause # @@ -152,7 +152,7 @@ # any other DIRDEP. # # This allows for adding TESTS to the build, such that the build -# if any test fails, but without the risk of introducing +# will fail if any test fails, but without the risk of introducing # circular dependencies. now_utc ?= ${%s:L:localtime} @@ -445,6 +445,7 @@ _DIRDEP_USE: .USE .MAKE TARGET_SPEC=${.TARGET:E} \ MACHINE=${.TARGET:E} \ ${DIRDEP_MAKE} -C ${DIRDEP_DIR} ${DIRDEP_TARGETS} || exit 1; \ + ${DIRDEP_USE_EPILOGUE} \ break; \ done @@ -568,7 +569,7 @@ BUILD_DIRDEPS = no dirdeps: dirdeps-cached dirdeps-cached: ${DIRDEPS_CACHE} .MAKE @echo "${TRACER}Using ${DIRDEPS_CACHE}" - @MAKELEVEL=${.MAKE.LEVEL} \ + @${DIRDEPS_CACHED_ENV} MAKELEVEL=${.MAKE.LEVEL} \ TARGET_SPEC=${TARGET_SPEC} \ ${TARGET_SPEC_VARS:@v@$v=${$v}@} \ ${.MAKE} -C ${_CURDIR} -f ${DIRDEPS_CACHE} \ @@ -606,10 +607,10 @@ ${DIRDEPS_CACHE}: .META .NOMETA_CMP BUILD_DIRDEPS_CACHE=yes \ .MAKE.DEPENDFILE=.none \ ${"${DEBUG_DIRDEPS:Nno}":?DEBUG_DIRDEPS='${DEBUG_DIRDEPS}':} \ - ${.MAKEFLAGS:tW:S,-D ,-D,g:tw:M*WITH*} \ - ${.MAKEFLAGS:tW:S,-d ,-d,g:tw:M-d*} \ + ${.MAKEFLAGS:S,-D ,-D,gW:M*WITH*} \ + ${.MAKEFLAGS:S,-d ,-d,gW:M-d*} \ 3>&1 1>&2 | sed 's,${SRCTOP},_{SRCTOP},g;s,_{SRCTOP}/_{SRCTOP},_{SRCTOP},g;s,_{,$${,g' >> ${.TARGET}.new && \ - mv ${.TARGET}.new ${.TARGET} + { ${BUILD_DIRDEPS_EPILOGUE} mv ${.TARGET}.new ${.TARGET}; } .endif .endif diff --git a/share/mk/gendirdeps.mk b/share/mk/gendirdeps.mk index 5d54aa232152..53e736da3391 100644 --- a/share/mk/gendirdeps.mk +++ b/share/mk/gendirdeps.mk @@ -1,4 +1,4 @@ -# $Id: gendirdeps.mk,v 1.50 2023/11/04 16:47:34 sjg Exp $ +# $Id: gendirdeps.mk,v 1.51 2025/01/05 01:16:19 sjg Exp $ # SPDX-License-Identifier: BSD-2-Clause # @@ -237,7 +237,7 @@ dir_list != cd ${_OBJDIR} && \ sed ${GENDIRDEPS_SEDCMDS} .if ${dir_list:M*ERROR\:*} != "" -.warning ${dir_list:tW:C,.*(ERROR),\1,} +.warning ${dir_list:C,.*(ERROR),\1,W} .warning Skipping ${_DEPENDFILE:S,${SRCTOP}/,,} # we are not going to update anything .else diff --git a/share/mk/meta.sys.mk b/share/mk/meta.sys.mk index 6e4216ab5383..1104204dc8c9 100644 --- a/share/mk/meta.sys.mk +++ b/share/mk/meta.sys.mk @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause # -# $Id: meta.sys.mk,v 1.54 2024/03/10 15:53:51 sjg Exp $ +# $Id: meta.sys.mk,v 1.56 2024/11/22 23:51:48 sjg Exp $ # # @(#) Copyright (c) 2010-2023, Simon J. Gerraty @@ -40,6 +40,11 @@ META_MODE += nofilemon MKDEP_MK ?= auto.dep.mk .endif +# META_MODE_XTRAS makes it easier to add things like 'env' +# from the command line when debugging +# :U avoids problems from := below +META_MODE += ${META_MODE_XTRAS:U} + .MAKE.MODE ?= ${META_MODE} _filemon := ${.MAKE.PATH_FILEMON:U/dev/filemon} @@ -101,6 +106,12 @@ SB = ${SRCTOP:H} ERROR_LOGDIR ?= ${SB}/error meta_error_log = ${ERROR_LOGDIR}/meta-${.MAKE.PID}.log +.if ${.MAKE.LEVEL} == 0 && !empty(NEWLOG_SH) && exists(${ERROR_LOGDIR}) +.BEGIN: _rotateErrorLog +_rotateErrorLog: .NOMETA .NOTMAIN + @${NEWLOG_SH} -d -S -n ${ERROR_LOG_GENS:U4} ${ERROR_LOGDIR} +.endif + .ERROR: _metaError # We are interested here in the target(s) that caused the build to fail. # We want to ignore targets that were "aborted" due to failure diff --git a/share/mk/meta2deps.py b/share/mk/meta2deps.py index f188d0f01de8..44c752d0e7eb 100755 --- a/share/mk/meta2deps.py +++ b/share/mk/meta2deps.py @@ -39,7 +39,7 @@ We only pay attention to a subset of the information in the SPDX-License-Identifier: BSD-2-Clause RCSid: - $Id: meta2deps.py,v 1.47 2024/02/17 17:26:57 sjg Exp $ + $Id: meta2deps.py,v 1.50 2024/09/27 00:08:36 sjg Exp $ Copyright (c) 2011-2020, Simon J. Gerraty Copyright (c) 2011-2017, Juniper Networks, Inc. @@ -294,6 +294,7 @@ class MetaFile: if not _objroot in self.objroots: self.objroots.append(_objroot) + self.sb = conf.get('SB', '') # we want the longest match self.srctops.sort(reverse=True) self.objroots.sort(reverse=True) @@ -461,6 +462,10 @@ class MetaFile: if self.curdir: self.seenit(self.curdir) # we ignore this + if self.sb and self.name.startswith(self.sb): + error_name = self.name.replace(self.sb+'/','') + else: + error_name = self.name interesting = '#CEFLRVX' for line in f: self.line += 1 @@ -550,9 +555,9 @@ class MetaFile: self.parse_path(path, cwd, w[0], w) if version == 0: - raise AssertionError('missing filemon data') + raise AssertionError('missing filemon data: {}'.format(error_name)) if not eof_token: - raise AssertionError('truncated filemon data') + raise AssertionError('truncated filemon data: {}'.format(error_name)) setid_pids = [] # self.pids should be empty! @@ -570,7 +575,8 @@ class MetaFile: print("ERROR: missing eXit for {} pid {}".format(path, pid)) for pid in setid_pids: del self.pids[pid] - assert(len(self.pids) == 0) + if len(self.pids) > 0: + raise AssertionError('bad filemon data - missing eXits: {}'.format(error_name)) if not file: f.close() @@ -714,6 +720,8 @@ def main(argv, klass=MetaFile, xopts='', xoptf=None): 'EXCLUDES': [], } + conf['SB'] = os.getenv('SB', '') + try: machine = os.environ['MACHINE'] if machine: diff --git a/share/mk/sys.dependfile.mk b/share/mk/sys.dependfile.mk index 49232646d569..3c13b1c92bff 100644 --- a/share/mk/sys.dependfile.mk +++ b/share/mk/sys.dependfile.mk @@ -1,4 +1,6 @@ -# $Id: sys.dependfile.mk,v 1.10 2023/05/10 19:23:26 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: sys.dependfile.mk,v 1.11 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2012-2023, Simon J. Gerraty # From nobody Mon Feb 10 22:26:51 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsK1l6v0hz5mv1t; Mon, 10 Feb 2025 22:26: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsK1l6DK0z3hjl; Mon, 10 Feb 2025 22:26:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDATpJvfqiRyMLEUTTV69szrRb6TNpbJMLullyc8PAI=; b=G0KjnlGV2HgMDocmDSHs/mQ0SEgGJlBEOgI7kg/PrW9UDefVBLMVzGkGW+HJ9auyLV3962 MVjZO9AnS+ZJ4JY8j3/0P5Q8omfuUMS0Zr6bk20bHEaLlW+F6jFNK+kMH6iJ0qbKlKRtT0 TEtqi37Vsu9HZ9brRhB/IPsSbeWTqAYPCq4SlREevxhs9yCNBknWF/odLg2L1dEFgFq2io 5DozL8YnZ1xykNoGhyzuV+Ku50uS/V2EigqSFkf5snIWCfzrK69ZtRd3IX31qLx/6fcDvr ZaWn72aXU9TFDYL1SupqhpMHQ9rzabNY0hRZ1XSbDJmwoTb3LxAJTmis7MjPsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDATpJvfqiRyMLEUTTV69szrRb6TNpbJMLullyc8PAI=; b=l1VNquW266HK+qHvQBrhcxPkwliIIbw1L17jc628+GonkYFfXuO90oX5z6Q1EEu8ZyVjQo a6pnXw8sluO3rPyrT+nLljBBj/l42Cb8N3U80mRY/11EjFmQIAFBzudnPMGt5mMCUIETmu Pin1BLpUUIY4USoiJxzO/ErSgAk0n9z81+9H6s4+O91tqLXXv8/mYdNWwqhaRkIeESRqUw E8RaN1ncfydmj28BT+QlHlOHZgwWHIKma7GDgE76UkrJ4sA1E/Iw/spWxpUub5yCwtx365 VbAUmAfUhku6nKaGCqo6U8H0PxhzSotzNoKjs5rdxOsz84rJGSPUwTZx4niy6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739226411; a=rsa-sha256; cv=none; b=YncfkvB7Xb/3WUWz4ML/XvUe9u3CI1cqy+tONh8rjSqc7vCVfoIiMy/cFvcKig7C+09CWC pZevfcTmXLDetM8SKPvNgrRN3ULe6RF8346kXyETDzRFAD2nElgAfxZEnQcUiIS4BDsV75 dib79IxUXafGeYCNeOOgD9gLh27ojTH8HczRupUt2hPmtfKodVDZCR8kfNQiNt0BGRBCdF oxiYeBVEYRwiHYEbuqVJnN+JvJggeHUDRWk7vRQwh4GGYkGhnF6uw3pXOQsU2AXlHUASYd xBSQS/ECMIiYJX3BI7vgfcXomDfDThrx3jDDZ8kCyRfNH56+g1QYTwU+NFL1jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsK1l5rBMzmMn; Mon, 10 Feb 2025 22:26: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 51AMQpOW076643; Mon, 10 Feb 2025 22:26:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AMQp6T076640; Mon, 10 Feb 2025 22:26:51 GMT (envelope-from git) Date: Mon, 10 Feb 2025 22:26:51 GMT Message-Id: <202502102226.51AMQp6T076640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: f8f5b658bc76 - main - rc.subr:rc_trace take advantage of sdot List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f8f5b658bc76cd539951fb8ac712d9acf71763ca Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=f8f5b658bc76cd539951fb8ac712d9acf71763ca commit f8f5b658bc76cd539951fb8ac712d9acf71763ca Author: Simon J. Gerraty AuthorDate: 2025-02-10 22:23:38 +0000 Commit: Simon J. Gerraty CommitDate: 2025-02-10 22:23:38 +0000 rc.subr:rc_trace take advantage of sdot Since we now have sdot, use it to get RC_LEVEL from rc.conf.d/rc_trace also avoid logging execution of ':' when RC_LEVEL > 0 Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D48856 --- libexec/rc/rc.subr | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index dc2cc06bb806..b7f8953012d7 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -207,15 +207,8 @@ rc_trace() if [ -z "$RC_LEVEL" ]; then [ -f $cf ] || return - if [ -s $cf ]; then - # don't try to set RC_LEVEL without sed - if [ -n "$SED" ]; then - RC_LEVEL=$($SED -n '/^RC_LEVEL=/ { s/.*=//p;q; }' $cf) - RC_LEVEL=${RC_LEVEL:-0} - fi - else - RC_LEVEL=0 - fi + RC_LEVEL=0 # existence is 0 at least + sdot $cf # allow override fi [ ${RC_LEVEL:-0} -ge ${level:-0} ] || return rc_log "$@" @@ -1310,7 +1303,9 @@ run_rc_command() _postcmd=\$${rc_arg}_postcmd if [ -n "$_cmd" ]; then - rc_trace 1 "$_cmd" + if [ "$_cmd" != : ]; then + rc_trace 1 "$_cmd" + fi if [ -n "$_env" ]; then eval "export -- $_env" fi From nobody Tue Feb 11 00:50:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsNCL0FCtz5n6Fh; Tue, 11 Feb 2025 00:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsNCK6gVYz3kBf; Tue, 11 Feb 2025 00:50:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739235022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B6ezo4CFW8QymuLG0PhQzxnWG6ejS8IN8AM8z/3wDn4=; b=TBl84I7wEjr36A2G8GROT2c0rS3a582+9tUNgH/5cd8Hw1wasTwZzSeWleRBSMouhqbMLN k6mUtf01/eCwQ1tSEzf1bIhB7BOIB1ihnqegHHzN5O4gwt/+wqLt2GhuX3OZtDAmLxFHyl IHSvrdcGswUVK+CbOZJ4QkYBnu6ZubN8AOjyJvp4U17xdXFcho7ASJRELOCvEkWx72c+h1 Ikqbe+pcG9tAj9Ir2jqtwJhvz5NL+G6iTLhvUpj5baGBOdXtMK0gFTQhbWCUSXCRoADsYx QgU7uUyj5nMROQy+cLKB0i/laCle1scg+14bRSsciqaVRVS5dP25oPT0Yx58Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739235022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B6ezo4CFW8QymuLG0PhQzxnWG6ejS8IN8AM8z/3wDn4=; b=qGSeKSaasamwnFB4Zaz5wE7WMQ1MbwKyJrLeH/zRB70KPv9OlaT2amrMEdr+b1CC8fbPv5 fkov+1/C2DbF3cNQQEYS17ZLbomtlxXk4zCeJ7VduC7e5lImQDI9hGgw1oChlNHBbhT0qo sgr0UB2SFVsR/KEYOhsq6rHh7096mja1dHV00d3gce6YBEUQkfcXlDVuxICWJSZfcaMuTA /JSl/cKum7mRsUkr/W3mGB2SKYH12T813UckJtWeOUxYNctHoRssneJaX9vZvabA/5Vy5h imKr4SrBVp/o1k0kUs3wCs3lcOobE6KDhBKxQxsdQUkZbpEPyF5Biw9y+3zLWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739235022; a=rsa-sha256; cv=none; b=pdC/bbbFJKXAfxfv8aoWjFXotoU6OjzY/EjYZsmpARCi5pktYJd4iwC2rZ1ZANY0VA6zHn NHA3PDv+wG+VaUVG6eGCzFOBgANWlu7VNBQD2YjW7QVn/XD/FupYCNYMzFNQ99lreIwMoF FNpMbwoyV8XU4RH4Uew5hwOWTd4MX0uK1ymGHFbKGjAOhqMVGTtHzfoLwlEmEoOrUm12bU b/Ac77Dsohdyuqz8sBTPV9n+22OHEMv/WSK5YQrdE9kiSVNDs8pC7YaFpSh5fR3wkSGgv0 R7n8La7Rkc60fiyWeUT2hA+ZJRNSfmLdz5Bn+jAXgnNcVMSsfR5AUOq8s8kE5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsNCK67jnzqq3; Tue, 11 Feb 2025 00:50: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 51B0oLYV046866; Tue, 11 Feb 2025 00:50:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B0oLGn046863; Tue, 11 Feb 2025 00:50:21 GMT (envelope-from git) Date: Tue, 11 Feb 2025 00:50:21 GMT Message-Id: <202502110050.51B0oLGn046863@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: 50202e05a356 - stable/14 - net: if_media for 100BASE-BX List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 50202e05a356881e125ec5da7871b67d6580aeb5 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=50202e05a356881e125ec5da7871b67d6580aeb5 commit 50202e05a356881e125ec5da7871b67d6580aeb5 Author: Kevin Bowling AuthorDate: 2025-02-08 23:49:46 +0000 Commit: Kevin Bowling CommitDate: 2025-02-11 00:48:35 +0000 net: if_media for 100BASE-BX d82c3e81: net: if_media for 100BASE-BX Renumber 1000BASE-BX and add 100BASE-BX sequentially I added this 1000BASE-BX in 78c63ed260fa20b3500aedfe41dc0dcae9593f51 but did not connect it to any code yet, appologize for the churn. 7835a4ad: net: if_media fix syntax/build Fixes: d82c3e815a5f ("net: if_media for 100BASE-BX") (cherry picked from commit d82c3e815a5fc0069562b69145ad695f9aa183f9) (cherry picked from commit 7835a4ad6948290c92ea55c7be34ae72f4e2b0bd) --- sys/net/ieee8023ad_lacp.c | 1 + sys/net/if_media.h | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c index c1e91f7fcb3e..f6a1be8004e0 100644 --- a/sys/net/ieee8023ad_lacp.c +++ b/sys/net/ieee8023ad_lacp.c @@ -1137,6 +1137,7 @@ lacp_compose_key(struct lacp_port *lp) case IFM_100_T2: case IFM_100_T: case IFM_100_SGMII: + case IFM_100_BX: key = IFM_100_TX; break; case IFM_1000_SX: diff --git a/sys/net/if_media.h b/sys/net/if_media.h index c03a4c87b355..534ad36da517 100644 --- a/sys/net/if_media.h +++ b/sys/net/if_media.h @@ -258,6 +258,8 @@ uint64_t ifmedia_baudrate(int); #define IFM_400G_AUI8 IFM_X(117) /* 400G-AUI8 */ #define IFM_50G_KR4 IFM_X(118) /* 50GBase-KR4 */ #define IFM_40G_LM4 IFM_X(119) /* 40GBase-LM4 */ +#define IFM_100_BX IFM_X(120) /* 100Base-BX */ +#define IFM_1000_BX IFM_X(121) /* 1000Base-BX */ /* * Please update ieee8023ad_lacp.c:lacp_compose_key() @@ -437,6 +439,7 @@ struct ifmedia_description { { IFM_100_T4, "100baseT4" }, \ { IFM_100_VG, "100baseVG" }, \ { IFM_100_T2, "100baseT2" }, \ + { IFM_100_BX, "100baseBX" }, \ { IFM_10_STP, "10baseSTP" }, \ { IFM_10_FL, "10baseFL" }, \ { IFM_1000_SX, "1000baseSX" }, \ @@ -784,6 +787,7 @@ struct ifmedia_baudrate { { IFM_ETHER | IFM_100_T4, IF_Mbps(100) }, \ { IFM_ETHER | IFM_100_VG, IF_Mbps(100) }, \ { IFM_ETHER | IFM_100_T2, IF_Mbps(100) }, \ + { IFM_ETHER | IFM_100_BX, IF_Mbps(100) }, \ { IFM_ETHER | IFM_1000_SX, IF_Mbps(1000) }, \ { IFM_ETHER | IFM_10_STP, IF_Mbps(10) }, \ { IFM_ETHER | IFM_10_FL, IF_Mbps(10) }, \ From nobody Tue Feb 11 00:52:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsNG96Hn5z5n6hp; Tue, 11 Feb 2025 00:52: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsNG93bVfz3kdD; Tue, 11 Feb 2025 00:52:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739235169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+lRWwGvm768X7ZZah897K4zwhxvVeizv5/fTM669tw=; b=nqIvCagUjPcqKgEbV0yXbyrjY8bEgGwxgqKKxTfzbuqgtwCUbvzMcLZ97XJNneorTSxBP6 Jdv8xMkiZfhZoHPKdJQQt60sAdxoCYMqkHXcSciMWySCIRWP3K/cXPV4p6ZHeUlcMjV6i+ lWsQp9gBzzQEDgjB2mNUNKXUXp+B68+tnCNSX5F8IphUvxFokyeAXfHkShrHJqXOKRvzDR iGtKpVKVRPsysAhJQR6T2WjkU/3QVKOY+pgL+zLRMOE6e8/F0fsZMUuC9CFFDrslt+TwpO Xx3kkyLZpdRHicIWJDyfAICt7H/wCULDpAb5ZmROgio8FMNHhtv9dVtP9xPyaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739235169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+lRWwGvm768X7ZZah897K4zwhxvVeizv5/fTM669tw=; b=ZNnpQsr5K8H0FO707XUkjsVLgtfyldRWsoNL/QHPcJPv9RRr/IQVOfJXagr2NVO/mesc0t nTufN+448K5AZwXgudPlvSm1kpDYThStrzzzWO1SYRJOC888SF6oyZFfdU7nEH8kccARKe 44dYOCxKIx+JZDfhXw5nH9DAcx996JkgxN5zYm3sLBWEHcnctRzfsT+w+bsh8c1PcwlEpg xBjiBLYyZLzxW+t9wj1/f9mAnjqBNaMyDCRLIgzyNAmYnsnN6TkyucaY3hk7lbZwrO4+8Y xR1+OQmYQlDPhxnkjYfwjavVQSCV8RwycZq3zMFzSqslVI6QrSTKUfXnwKIy7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739235169; a=rsa-sha256; cv=none; b=KL92u0jzeXYFghHCjwKl79Ls983okb50+e2oEGEhFl2Vi1+vdMygGKeo+X0nofDy4x89ld p0VEwJ+GaqaU1negJgDG7eF2NIpLRn0zzSzWf37BZJcuYHjcHFe7gfO/J6qTno6agnHXRn qNiocJVKEyYv/vu0wxRO00IkOkNJV4XCiXsM/poqAvIYbGJHya+iFbF3sK0Hc7O1wCFg5d vq3IzhYjyxSxpIvteQVU3VHUsRiNUjxr+klV46ZLceQ9HXHgK2CpDf1aZUHR9LSSYNTKBh VF5smLbIb1i5LWkXOJd2BAmWTc/EFxhvKH9BEd9+ggVLPMOdxEnELp/VpH0VlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsNG935NTzqv3; Tue, 11 Feb 2025 00:52: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 51B0qn4q055316; Tue, 11 Feb 2025 00:52:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B0qnXM055313; Tue, 11 Feb 2025 00:52:49 GMT (envelope-from git) Date: Tue, 11 Feb 2025 00:52:49 GMT Message-Id: <202502110052.51B0qnXM055313@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: a32cc87cc0a0 - stable/13 - net: if_media for 100BASE-BX List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a32cc87cc0a0dae1984665bd9e0727c1eeac6c96 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=a32cc87cc0a0dae1984665bd9e0727c1eeac6c96 commit a32cc87cc0a0dae1984665bd9e0727c1eeac6c96 Author: Kevin Bowling AuthorDate: 2025-02-08 23:49:46 +0000 Commit: Kevin Bowling CommitDate: 2025-02-11 00:52:16 +0000 net: if_media for 100BASE-BX d82c3e81: net: if_media for 100BASE-BX Renumber 1000BASE-BX and add 100BASE-BX sequentially I added this 1000BASE-BX in 78c63ed260fa20b3500aedfe41dc0dcae9593f51 but did not connect it to any code yet, appologize for the churn. 7835a4ad: net: if_media fix syntax/build Fixes: d82c3e815a5f ("net: if_media for 100BASE-BX") (cherry picked from commit d82c3e815a5fc0069562b69145ad695f9aa183f9) (cherry picked from commit 7835a4ad6948290c92ea55c7be34ae72f4e2b0bd) --- sys/net/ieee8023ad_lacp.c | 1 + sys/net/if_media.h | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c index 049e8bf6e1ee..746f8dc08746 100644 --- a/sys/net/ieee8023ad_lacp.c +++ b/sys/net/ieee8023ad_lacp.c @@ -1139,6 +1139,7 @@ lacp_compose_key(struct lacp_port *lp) case IFM_100_T2: case IFM_100_T: case IFM_100_SGMII: + case IFM_100_BX: key = IFM_100_TX; break; case IFM_1000_SX: diff --git a/sys/net/if_media.h b/sys/net/if_media.h index c03a4c87b355..534ad36da517 100644 --- a/sys/net/if_media.h +++ b/sys/net/if_media.h @@ -258,6 +258,8 @@ uint64_t ifmedia_baudrate(int); #define IFM_400G_AUI8 IFM_X(117) /* 400G-AUI8 */ #define IFM_50G_KR4 IFM_X(118) /* 50GBase-KR4 */ #define IFM_40G_LM4 IFM_X(119) /* 40GBase-LM4 */ +#define IFM_100_BX IFM_X(120) /* 100Base-BX */ +#define IFM_1000_BX IFM_X(121) /* 1000Base-BX */ /* * Please update ieee8023ad_lacp.c:lacp_compose_key() @@ -437,6 +439,7 @@ struct ifmedia_description { { IFM_100_T4, "100baseT4" }, \ { IFM_100_VG, "100baseVG" }, \ { IFM_100_T2, "100baseT2" }, \ + { IFM_100_BX, "100baseBX" }, \ { IFM_10_STP, "10baseSTP" }, \ { IFM_10_FL, "10baseFL" }, \ { IFM_1000_SX, "1000baseSX" }, \ @@ -784,6 +787,7 @@ struct ifmedia_baudrate { { IFM_ETHER | IFM_100_T4, IF_Mbps(100) }, \ { IFM_ETHER | IFM_100_VG, IF_Mbps(100) }, \ { IFM_ETHER | IFM_100_T2, IF_Mbps(100) }, \ + { IFM_ETHER | IFM_100_BX, IF_Mbps(100) }, \ { IFM_ETHER | IFM_1000_SX, IF_Mbps(1000) }, \ { IFM_ETHER | IFM_10_STP, IF_Mbps(10) }, \ { IFM_ETHER | IFM_10_FL, IF_Mbps(10) }, \ From nobody Tue Feb 11 01:11:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsNhC2yPFz5n7ft; Tue, 11 Feb 2025 01:11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsNhC2RJxz3mBD; Tue, 11 Feb 2025 01:11:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739236315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7CyK7Xg0BhR+VFWHUzTEyxo3h0BA5swauEUAJh7PqRA=; b=dLuAwGgOjRiof5LyQElZJ5Nd2Cm2ENPlU1sRG7Tg4HCT+gdSFIqTzKSglt/TLCVomFcHCv 97y3ilFnELdoA6s4r1FewtO7qhZ0CtlT4oMk40ZY+aTtA9qAp3k9L3kXNJNew0i4W6l8Ew N749nD4NaJHLZngXv35wH9Aol5nnXRVGJCbYslHizbK9EUlRF2cqws8D3ZWGuFH+WgvRGP zfLXGaZCsUlKfF6QKzB+ohwYqZJlme1e7hZso6bjuMvJ4Kjlaye4ijZlJR1qTeme7pdFtI JIzGz49511jhiAV8kHkuHAXIKBI/GTXhzmNxHTKtufGiht0//Kw1xABCCaIvbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739236315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7CyK7Xg0BhR+VFWHUzTEyxo3h0BA5swauEUAJh7PqRA=; b=Lfozlea4GitWAONSK86EDxM72ZhQsReUJ/jkG/olnJ6HKom+q6yjyX6cX/FGmapP0e77q/ lzyxy6aWqKpToaZGBmU38Ab6P46ccUPI2WnoHcPaZoiKxJc7v8ix8TGqUqEqr624R/8zk4 KOTCB/O5uwItUnMHKTHVHDKaTznKfP4MzOXmQJ5DwpU/7p77x6j0EX+kGazxrP17RMaC1X lhregathdh+2xtCgRd6r+XCv7LbLEE0y1oc64gP8VVvfTOx3LuihkOMGY4fr5xUUnl7z2Y 5PX36RsENKa9uX5jrHNTs2Pkgyq+QUrPwRv+doYpC/1N3W+5VB5TSapcATctuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739236315; a=rsa-sha256; cv=none; b=P0Px0Q8EDGHodg8a2ur40HeiyYeE7aLvcShxfgFZL1yzOxXmboVmejwD+4W5sYWUVmCYDy qG3i7qH39wQp1OLXcb66FhqpP7Pxvv0b7lFJmCFqjw29qUF5MKcdrCruob5DYY4Ya8IVBX WdFVouE743Jqa/qKdnSk/kRgTaY/sk9mHaYIK7EopHZamo1Yhe9T4CgKB1v40Y4GqNxyM5 Ozt5uFXL2boQZiepfxNGbsANvLIr74fSQEJ5bnMvDHdEM7TzKkCe1kRs3ZvW/g+lutMftN PT/hSeCWaYZwj0afpO5xvOUlJQPnIF9nYR3jwJ6xjy744TAgFEdm7zGhhkWR0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsNhC1slrzrs7; Tue, 11 Feb 2025 01:11: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 51B1BtJm088070; Tue, 11 Feb 2025 01:11:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B1Bt3E088067; Tue, 11 Feb 2025 01:11:55 GMT (envelope-from git) Date: Tue, 11 Feb 2025 01:11:55 GMT Message-Id: <202502110111.51B1Bt3E088067@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: cba91bf59c79 - stable/14 - unlink, rmdir: call notify_upper from VOP pre method instead of syscall List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cba91bf59c79eadc3b60b83fe2185116496f08fb Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cba91bf59c79eadc3b60b83fe2185116496f08fb commit cba91bf59c79eadc3b60b83fe2185116496f08fb Author: Konstantin Belousov AuthorDate: 2025-02-04 00:23:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-02-11 01:11:49 +0000 unlink, rmdir: call notify_upper from VOP pre method instead of syscall PR: 254210 (cherry picked from commit 1a0cb938f7b461edc40316cb44a80438df674174) --- sys/kern/vfs_subr.c | 2 ++ sys/kern/vfs_syscalls.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 729741ea901f..5a0a7f9161ed 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -6157,6 +6157,7 @@ vop_remove_pre(void *ap) a = ap; dvp = a->a_dvp; vp = a->a_vp; + vfs_notify_upper(vp, VFS_NOTIFY_UPPER_UNLINK); vn_seqc_write_begin(dvp); vn_seqc_write_begin(vp); } @@ -6225,6 +6226,7 @@ vop_rmdir_pre(void *ap) a = ap; dvp = a->a_dvp; vp = a->a_vp; + vfs_notify_upper(vp, VFS_NOTIFY_UPPER_UNLINK); vn_seqc_write_begin(dvp); vn_seqc_write_begin(vp); } diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 45a9a0c2bd48..17ab419fb0ae 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -1996,7 +1996,6 @@ restart: if (error != 0) goto out; #endif - vfs_notify_upper(vp, VFS_NOTIFY_UPPER_UNLINK); error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd); #ifdef MAC out: @@ -3964,7 +3963,6 @@ restart: goto fdout; goto restart; } - vfs_notify_upper(vp, VFS_NOTIFY_UPPER_UNLINK); error = VOP_RMDIR(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); vn_finished_write(mp); out: From nobody Tue Feb 11 03:30:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsRmQ1sfxz5nJlC; Tue, 11 Feb 2025 03:30:46 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsRmQ0sQHz41cZ; Tue, 11 Feb 2025 03:30:46 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739244646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5DNFRxS7CrxZi7KqkpfNHrF4lqQtsHMOy5FSCjEBcjo=; b=j7bGj1rvhB8aMTXSxoSVNk71CmgCOBXj8PssyXAGRi07xOZR4E6U9cQd/OPAq3G9Zh8HUZ cAUwGrdcso0Z4gnfDwU0Jd/bwI0mTd5Z36oEvB/dYMwkq2bcT4iosrURfM0kUxcqk7nnFE hIOL5dX8V/rCJn3GZ4Mte3DtaNIyc/F+dcXPCdvjsGZ80HNZEswB3fFJvqNk6AKtNPQeg/ hk1IjukPb53hUVuI18+Hqq5wnSWRIEySbiNKsbkgUzfk+kZigSc6RoW3LO9ZC2LFpLAFiD v3msbd8YCZXgfXaKx4o/eAlZqxWEe4M7Ihl3EtLJpK5m+Dhja8fPSv1xxkKz9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739244646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5DNFRxS7CrxZi7KqkpfNHrF4lqQtsHMOy5FSCjEBcjo=; b=HmCRhZfo5UMOa+K8m4C93tKh2Sj4B3MDMVekcnYVF1rrN+eE6TPpZhSrncerUnhcmCCHpc EDVQUmRD3OpmRhitDKxy4djfTPw6wf7dtE/mxKVlACAoD8LiWTCJ44OkZQK9oVYi1RM904 B/7tRJkZ2y3YBAEFN+xYoy94oblOdO2sFIZLipHb1UhtItaNNe8gpjQeMllnxbDbZwn+Xg VBhFdwV7M6mmIWGO2wisP8cUd/7cmkSwoqNd5FI9VYk2gYT/gruEu/AXyScXvQMtdlipoX pnjOClHmwxLK/mFtiejkRSqOAZNsDaMLeuqEUs9QUD2MvaFn0USLIlrUINgjyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739244646; a=rsa-sha256; cv=none; b=kBpp0yu1h3IP9jg3rl42yH7f4ywTJ8Y+C+vQGCgY2+PSDq8F8P+mdGhmHGxqO+Af2cTyZf 7IPf+boQzHYelB6nB/1ac89EyDAxG4+wmAtP3x3Y6jo54HT5gzXAZhGZEQNKcavp1v2VMw 2CVDgM/8R8WzKSdh+IR54i27aJnPFfl8Hz8CJ8e0EqyNPAQGSMBaNssPzZCJvN3kNBEOpi OWIILVXo5DSSD+o/b650je7maDb+VQFkDVV4SIBln2d/B2TF66ARzZwj7BlADB8ykCaWWK MqTowWvclj/r9fMj1XZOv3Fg76gbKVgavMCRjNpGKC5AsumJ0Hs4PUzfHoymfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from smtpclient.apple (ns1.oxydns.net [45.32.91.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4YsRmN4lTgz13ym; Tue, 11 Feb 2025 03:30:44 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.10\)) Subject: Re: git: 7bcc7a0b88cc - stable/14 - libkern: avoid local var in order_base_2() From: Zhenlei Huang In-Reply-To: <202502101115.51ABFISj016298@gitrepo.freebsd.org> Date: Tue, 11 Feb 2025 11:30:38 +0800 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-branches@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <858BD10B-A2C9-4D3A-9FF5-C5573597DF8B@FreeBSD.org> References: <202502101115.51ABFISj016298@gitrepo.freebsd.org> To: Doug Moore X-Mailer: Apple Mail (2.3696.120.41.1.10) > On Feb 10, 2025, at 7:15 PM, Doug Moore wrote: >=20 > The branch stable/14 has been updated by dougm: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7bcc7a0b88ccb5e1fe31de88ab9a17e4= 6859318b >=20 > commit 7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b > Author: Doug Moore > AuthorDate: 2024-09-27 23:43:07 +0000 > Commit: Doug Moore > CommitDate: 2025-02-10 10:30:05 +0000 >=20 > libkern: avoid local var in order_base_2() >=20 > order_base_2(n) is implemented with a variable, which keeps it from > being used at file scope. Implement it instead as ilog2(2*n-1), = which > produces a different result when 2*n overflows, which appears = unlikely > in practice. >=20 > Reviewed by: bz > Differential Revision: https://reviews.freebsd.org/D46826 >=20 > (cherry picked from commit = b7cbf741d55468ba34305a14ac3acc1c286af034) > --- > sys/sys/libkern.h | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) >=20 > diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h > index a10289d72dc7..835e5ffaf0b7 100644 > --- a/sys/sys/libkern.h > +++ b/sys/sys/libkern.h > @@ -229,10 +229,7 @@ ilog2_long_long(long long n) >=20 > #define ilog2(n) (__builtin_constant_p(n) ? ilog2_const(n) : = ilog2_var(n)) > #define rounddown_pow_of_two(n) ((__typeof(n))1 << ilog2(n)) > -#define order_base_2(n) ({ \ > - __typeof(n) _n =3D (n); \ This local var `_n` is within the scope of the macro `order_base_2`, it = is surrounded with {} and is harmless, so it will not pollute the file scoped variables. Am I reading the commit message wrong ? Best regards, Zhenlei > - _n =3D=3D 1 ? 0 : 1 + ilog2(_n - 1); \ > -}) > +#define order_base_2(n) ilog2(2*(n)-1) > #define roundup_pow_of_two(n) ((__typeof(n))1 << = order_base_2(n)) >=20 > #define bitcount64(x) __bitcount64((uint64_t)(x)) From nobody Tue Feb 11 03:38:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsRx369chz5nKLw; Tue, 11 Feb 2025 03:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsRx357Ksz43Dx; Tue, 11 Feb 2025 03:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIxJcR9Xd5MlaPIrwQlbI6RMvy2yIDFCRbtAc709oMw=; b=kVBXus/BwF4Ze/cSrFhufalQOnn+6Fa5RgVpS4P710ygQHlZpDEc9dZCDPsbKZvoKlaoMj lOPm8lEzWBoH0PwWfWaRJw++zpZXgHtKKl5LtcvoGag1FtROlY50lrChdzfOgwgDgYYVNg N7bxHeSO9utuw81wdcBdSJXTL9/wNOL3TsPe26Y+wLSEyRgXXReislaiYMn/nCHPcTsX4Q rsuyWG2HgSglCDjb9anVXcrW4DeNFLPb/okaNQorSXDuTg7uCkhYeAb5E+NPLFY1I+V5ZY hh947tkYNTfMLfQRQo0SYd6qOOofOBbAArFG5rA16DpwhG+XkjH4i3R2dDzFfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIxJcR9Xd5MlaPIrwQlbI6RMvy2yIDFCRbtAc709oMw=; b=eRqH2kXBbuuefu3h2hBFqXH/czTwujrJhCCn0k9DQLd0j9O1PauxE87oliuAVL7hDTPasf fR6c4DC3rSDAkAVYx2Sq9F3ZKUsMxiF+ZeWUMUFxda5AFTVFynr/xXAX4g1DTTt1+l4YSd Rf2GqZaS87mho/hJqcteM5RAuRdWWgLZtw0LOp9SaYmOxtnABRLAWwiWCi2XF7JWJar5QK fZKZhiI9KcU+5y/fyzOmvdGNWCTMWa3GX8ShR8jqNZijhjSXQHbwOEIdE6JApBGO9pfXW3 RKwEZLw9P8Mv7NQIjEUzQ0UwEq9iYC9E2U3S84GEuNkPr8xgxSJQTDypLGEYLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739245095; a=rsa-sha256; cv=none; b=L5ohWU0qSHVenJYjiYN2pHOocnqdDZHTFObp7ZCZFh/3NP0wMRJcR/hUIUQ3xOOZwh7jdJ 3CQm/jwAm6IbnyWaVBxpHwTHZY4oJjpHgekFCEFmtMQqZFbLUSYoU2wkOtN6cYB68QHfyp hethSvGu35Ty2n7Dv59is28Q98rMm/6svtGPedsHveoqq442N3fYXobOMwEtkdqqkmsfdK FRu4sCPjMAw1TO0iw3nJuIL4A7ecJQaX+/US7dJkABcXWJSs3Bt/Vp3ktejshpawl8HhMR d/6p0AqDJwcPe8INr0tK7vCJpc6hQFub1rhhyh01AcS2PI85nrbc++Mc0nzJDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsRx34gtTzw7J; Tue, 11 Feb 2025 03:38: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 51B3cF0B057312; Tue, 11 Feb 2025 03:38:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B3cFYJ057309; Tue, 11 Feb 2025 03:38:15 GMT (envelope-from git) Date: Tue, 11 Feb 2025 03:38:15 GMT Message-Id: <202502110338.51B3cFYJ057309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 183621655613 - main - ixgbe: x550 support for 1000BASE-BX SFP modules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 183621655613bcc97e4ec7d22adbc829347ed426 Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=183621655613bcc97e4ec7d22adbc829347ed426 commit 183621655613bcc97e4ec7d22adbc829347ed426 Author: Kevin Bowling AuthorDate: 2025-02-10 04:02:17 +0000 Commit: Kevin Bowling CommitDate: 2025-02-11 00:44:28 +0000 ixgbe: x550 support for 1000BASE-BX SFP modules Add support for 1Gbit BiDi modules to x550 derivatives MFC after: 1 week --- sys/dev/ixgbe/ixgbe_x550.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/dev/ixgbe/ixgbe_x550.c b/sys/dev/ixgbe/ixgbe_x550.c index ba72b5d1366e..7f07190f832c 100644 --- a/sys/dev/ixgbe/ixgbe_x550.c +++ b/sys/dev/ixgbe/ixgbe_x550.c @@ -1496,6 +1496,8 @@ static s32 ixgbe_supported_sfp_modules_X550em(struct ixgbe_hw *hw, bool *linear) case ixgbe_sfp_type_1g_sx_core1: case ixgbe_sfp_type_1g_lx_core0: case ixgbe_sfp_type_1g_lx_core1: + case ixgbe_sfp_type_1g_bx_core0: + case ixgbe_sfp_type_1g_bx_core1: *linear = false; break; case ixgbe_sfp_type_unknown: @@ -1829,9 +1831,11 @@ s32 ixgbe_get_link_capabilities_X550em(struct ixgbe_hw *hw, /* Check if 1G SFP module. */ if (hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 - || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1) { *speed = IXGBE_LINK_SPEED_1GB_FULL; return IXGBE_SUCCESS; } From nobody Tue Feb 11 03:44:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsS471BZnz5nKN6; Tue, 11 Feb 2025 03:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsS46749bz448y; Tue, 11 Feb 2025 03:44:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVfM+090/pmZqC8m2aTWhXaRknhHOlmayAlBI5X2YoI=; b=P2fR8XpoLMD6FNk4irzYArpmxRUp57uZM33dpaqrcHkfWZ8l5Llh8xv175uWd3G4dd0aok 1E+uQ1COu4AqexbGt0zgRhCagetsRah5Nj8E2fpruMcrtlCrBBaugKlnj0pbiXwjfujiA5 xYJjqwSJlZ2o0ZnxlwSCbBOzaJmAcF+hige3qu4dKpwySokUcszn6bF0LadTzRplP+xst9 hmGuNHTvPktUpiGKXle6jwBGG3AZBlP1AwZ0LAp4AGJ45l/vw8ifevR2nmzWpGE+sMxXkh ps/siWHsZ7yntSLz2R4qvL6Ix/EHt9ucjo3RbHH6g27wssCg+rMtxeAsA2ENqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVfM+090/pmZqC8m2aTWhXaRknhHOlmayAlBI5X2YoI=; b=ORoBTteMrPPJw/UJievznwQiabDn2g/rvFURUqIU9gn39RgkKR3oSdGH/Gk03gmOmHkFNM FCwi0lGxfZX01fu9Q+BSJlXqhHeRIIpa0d2veynMXQniQCo8sFaYyG00HqumS2PfcTrJMR DRcYaj+5XlRhQSt5URdCizfYb4WxB+RP8cyLTcR83RGISbFZKRbet9k9wm85gzsKACehEo yDf0/szapiXYhRxcc+dnv7uf1KbQ71KHVZIwlj2x1dMewIq3Ik9bii7hj378/vvmCyL1Rq S+tVXdVHuKhhcLtUzJgFe6U1a2eCPbzWD6D8UdDWbgpAvoFq+HS7LHOcNo56WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739245463; a=rsa-sha256; cv=none; b=ScisK8TKCPQIO+xkuxeEx542xppFgFI8i64u2gVNLe8gS29HFA+xpFv48ogEcB8UuH04+H bfnRETft8XEqKGYOTLuEv2XnTqo0jIEc+OoJDJkR+EfT2I606vztkwry5GqBiis0eDnZdE U2Qo2cxeDiejSQQkHOrzzvCTMwvZE04vkObM5cliLGamG1H6kK34ZEl4QglaOwG8pr+h9z hm1l2xBy+S9hx9C+AS38xX+ry/EzspFHgcEJqMglYlmr6TdmUYhZ7n7Q0XLgokW6I6sYBH t6oUs+rmsdaGW3Md5iWyzV6s0k/LQwCo+Af8QrniUiNHqUk8pYb6J2eNFbqPww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsS466bYnzw3t; Tue, 11 Feb 2025 03:44: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 51B3iMjw074913; Tue, 11 Feb 2025 03:44:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B3iM2v074910; Tue, 11 Feb 2025 03:44:22 GMT (envelope-from git) Date: Tue, 11 Feb 2025 03:44:22 GMT Message-Id: <202502110344.51B3iM2v074910@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: bf6f0db8a762 - main - ixgbe: Add ixgbe_dev_from_hw() back List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: bf6f0db8a762966b08430692c92ae34e667948db Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=bf6f0db8a762966b08430692c92ae34e667948db commit bf6f0db8a762966b08430692c92ae34e667948db Author: Kevin Bowling AuthorDate: 2025-02-11 03:40:51 +0000 Commit: Kevin Bowling CommitDate: 2025-02-11 03:41:51 +0000 ixgbe: Add ixgbe_dev_from_hw() back This got lost many years ago in 8eb6488ebb0dcd92517625e4833ddf7d26e3b3a3 It is used by the driver's DBG printfs. MFC after: 3 days --- sys/dev/ixgbe/ixgbe_osdep.c | 6 ++++++ sys/dev/ixgbe/ixgbe_osdep.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sys/dev/ixgbe/ixgbe_osdep.c b/sys/dev/ixgbe/ixgbe_osdep.c index 2fa651df8936..892924712c38 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.c +++ b/sys/dev/ixgbe/ixgbe_osdep.c @@ -33,6 +33,12 @@ #include "ixgbe.h" +inline device_t +ixgbe_dev_from_hw(struct ixgbe_hw *hw) +{ + return ((struct ixgbe_softc *)hw->back)->dev; +} + inline u16 ixgbe_read_pci_cfg(struct ixgbe_hw *hw, u32 reg) { diff --git a/sys/dev/ixgbe/ixgbe_osdep.h b/sys/dev/ixgbe/ixgbe_osdep.h index eca15f0f3816..cf7c578fd684 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.h +++ b/sys/dev/ixgbe/ixgbe_osdep.h @@ -197,6 +197,7 @@ struct ixgbe_osdep /* These routines need struct ixgbe_hw declared */ struct ixgbe_hw; +device_t ixgbe_dev_from_hw(struct ixgbe_hw *hw); /* These routines are needed by the shared code */ extern u16 ixgbe_read_pci_cfg(struct ixgbe_hw *, u32); From nobody Tue Feb 11 05:05:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsTtD70pcz5mwd1; Tue, 11 Feb 2025 05:05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsTtD6QXyz3Cwl; Tue, 11 Feb 2025 05:05:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739250356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8xgnGO911Lr4SdP1TtrhMOAHQFcyj3NYd/FWgpkuWo=; b=kfxF/QXF4sBNYymAgmzTb9XMIqcQxa8PfdJayhsItGo+tmMocwF4XTidaFfUk5a4Xuk2Cv ZCqDft+VlexPq2EHUiNg/1BRPYlcaO1KwUl+wct5AacC55F1sMIIXg63oKuumXkrpH7m1/ QVXO7CMSM7uU5HQYTjwGQSAMi5ayKPo/cEFSx90qQ9gxJcNC1kIMDNMIiLzYeTJgHe0SOB zNMhBssfhKhubTd+Imwtqf2Q9fqXF462F2+YYnrEu+14fusp4W5/8tvovTMnJBPh1CB16I gtyTHIHXFEFae2obAw/GCV55sKa3Tp0Tw4/BM5TziXphwiL448VWgSuGTjnUvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739250356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8xgnGO911Lr4SdP1TtrhMOAHQFcyj3NYd/FWgpkuWo=; b=Vqy4nPB5TErCCyx7RkR4pP765vPi/lgh2P68xV/EV2X3Z1om+3U2gAtYBfQftn1SPVVBdk I7XWRdBgwseFFdxiwnso/hf99neSld+y0LrcdgNjcLqS25DMEMvSfo2N0NHwzajT8GWY/Z q0LvwUNSsnfOTjNTvOuqVlx/s4qk//LU8a1AS21wNEPPslN2TdEo25CbV8qpMpv85d4xUV 7rMnMONp4O/DMAjOpgFdy/4BqHwo7uxgJ499fOA0yxOj/2lCutUsaHOY4f5wsKTrdwn8DN otTBJV8mHf94NVs9bkxlX5jB5gadTafLH2eTnbrYRScy6nA5HYsQYvfWNHasAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739250356; a=rsa-sha256; cv=none; b=RgptX1dgrdHjOZTEetHHaIOJ3tEILQbSQUAgOLIzjt2VtKok+JgruJc/Y8oL4YNmO7Ip77 c2BvUtoECP4vJWuzma2jwNLGZTzrpob001yQDJqiTMIMVesBhOPO6z0RND6PwhU7dbxrt4 s/LvMswt391DVbBhYSSJdy1XbvJCvYbVu9ZDYMexHHWPNnD6yeQABn70RjMoy5Mz323+1K j2N0jO/gTJGz/QKV5/9u7oOnjItj1yaN5l8cP6SpUpelchC0dTyivU/lAjDw+CTCs5onVg k+9jNQGatlMOAi66cPQysyX63L5QN50aZdVMQaEpXWtMpUwlZfroqsggvxw/jQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsTtD60gszy8c; Tue, 11 Feb 2025 05:05: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 51B55udE026013; Tue, 11 Feb 2025 05:05:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B55u4U026010; Tue, 11 Feb 2025 05:05:56 GMT (envelope-from git) Date: Tue, 11 Feb 2025 05:05:56 GMT Message-Id: <202502110505.51B55u4U026010@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bryan Drewery Subject: git: 2f17efa0d7b6 - main - config(5): Fix display of includeoptions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bdrewery X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f17efa0d7b6102855a472d9fa001265290d5aee Auto-Submitted: auto-generated The branch main has been updated by bdrewery: URL: https://cgit.FreeBSD.org/src/commit/?id=2f17efa0d7b6102855a472d9fa001265290d5aee commit 2f17efa0d7b6102855a472d9fa001265290d5aee Author: Bryan Drewery AuthorDate: 2025-02-11 05:05:26 +0000 Commit: Bryan Drewery CommitDate: 2025-02-11 05:05:26 +0000 config(5): Fix display of includeoptions --- usr.sbin/config/config.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/config/config.5 b/usr.sbin/config/config.5 index 8c2c62b706bd..93d65819d1d8 100644 --- a/usr.sbin/config/config.5 +++ b/usr.sbin/config/config.5 @@ -21,7 +21,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 17, 2022 +.Dd February 10, 2025 .Dt CONFIG 5 .Os .Sh NAME @@ -241,7 +241,7 @@ and return to the current file after is successfully processed. .\" -------- INCLUDEOPTIONS -------- .Pp -.It .Ic includeoptions Ar filename +.It Ic includeoptions Ar filename Specifies a file containing a list of additional options specific to that kernel configuration file. This is useful for build environments that need to add From nobody Tue Feb 11 05:15:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsV5l2LxNz5mx02; Tue, 11 Feb 2025 05:15:55 +0000 (UTC) (envelope-from unkadoug@gmail.com) Received: from mail-oi1-x22a.google.com (mail-oi1-x22a.google.com [IPv6:2607:f8b0:4864:20::22a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsV5l0Rvwz3FQF; Tue, 11 Feb 2025 05:15:54 +0000 (UTC) (envelope-from unkadoug@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oi1-x22a.google.com with SMTP id 5614622812f47-3f314ff6ffdso2984991b6e.0; Mon, 10 Feb 2025 21:15:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739250954; x=1739855754; darn=freebsd.org; h=content-transfer-encoding:in-reply-to:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=h3+nqeQfebaXApwoP9/me3OuLHzEteIkBYzhR5x9kJo=; b=ROVejfwsSEaTeD4xLTPmo0PsGnXUVTyH8K9mcr1ny5BjHLR+emBiNxiozQBxqaZbzC eVLlQ34zSMOs/3BKnVZkw8GuHJbEKcV3d6a+5u/8br9r5tLKavV7Cnt/oCWhCYVPZnLd +Kk8uQEQOBVRGFnNDlsiTDti+fuomIRfNpH0cA5IkxmAcibOWv4yejWEFmHkXVsKn8UX zzUGnAvxd9DzQt4D9TgO1Uaql6Qd24Ut6wad4jos581a1hnqT3HWJBFqS53eWexB8UPw 2ZLJD9S+RGWeSu8SfCC0qkMdyy/N//+v14nmXKiuDW2cmh5Xra0L3knJJNHhdaVTDfYA iJ9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739250954; x=1739855754; h=content-transfer-encoding:in-reply-to:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=h3+nqeQfebaXApwoP9/me3OuLHzEteIkBYzhR5x9kJo=; b=strD7Q0vYST7oOB4JsxjFWlk86FL2fAJYH1zpVPlOQdDA945wZQYubyeQ6ZaXglKDm 7UlPV9wKIZTK76unYNB3RfvMH/jx6iJs9WHfFfVTICIx2F81Hmhlixp1jpL5ysScB9Pp jhJJnwnYSeziycCq7MT6AanBFti5c9oDf2SCsuyGQYus/nqlL+kV8eVCVCzCv8b6VAXv j+5y8uTO1knOWtzWXpCr51hH65ayElqhFkE3Z9tc6d+dBiIQs8uWZtLcs42vdOxgy/c7 TMeyXz807FHT2aq0UcQlb7DLcQMfU2DJIqthF/xXb0zCqGYXtjy1fxGQHtOTEYA5HJHh IkaA== X-Forwarded-Encrypted: i=1; AJvYcCW4L35NAz15XuLywxZYhRGPq/HBiqr8RX8THh3ZiOlLD7sO6ArYnH3w8esZIG0leYp27g==@freebsd.org, AJvYcCWt4Yq7DLLuGN6bDbMWPY1Z9V1mUO0hYxH92B3t+8TJ3/iULoaf4wZGWKTlm5KmFtqA+AJEIYIFDOJtatK+3e5ns6GDIA==@freebsd.org, AJvYcCWtYkTuxpExpr25grS955L6D1ybIA1Fzb0YV6+nfab9BrfDAELN+YyK/WPmNRWSjofJZj7L5Ze5s5hCW44mLwVoeB/8YEkDhnKK@freebsd.org X-Gm-Message-State: AOJu0YzRfi90G7Ofp1f6NHPwvDHonQNHYCrAq00CDv7804FdgzvL2a08 WTDNVQtNcFlbTRi81dSLbbj8I0BCmq0nsqJbtUzLsFPVA1Pl6ZhTyxlcxdDD X-Gm-Gg: ASbGncuRpOx/fDA/coXEfVFyhk6tNIAExy74D3wNr+GyZejwbmKgDXvtZvvaGGKNeJ0 kaG8f5FNv7TsrQd2GgdMtM2G5+Scfcxqte15Dp/psfijjvTvyDaVKiFuzqV7BRucOI9uQIRn5JW zfidN5ylrTK2OII2mEhqCHjW5R38Gz8pqjdZG+G10Ml7biL55jt9YjZzJA9fxwga1myk5uBEX3j fpOVPKY9T/aNjJLgqmnzTvD8HEpxsOG2i6bYYvjTcO4pW6+6XM0FcLCOZdNulLvaiYEpWpRIXXp PbilfYZNwRIr3UrYIdmpD+/ECuAA+pxiHfvkT7bS/jzaz4gHlDb3BqC49BKf3QNNW1Kd6mof4Q= = X-Google-Smtp-Source: AGHT+IHo0TpzJ4GDZbqTqHF/n98C4H/JPZ9GMjhNOYrY2uzyRjGDSD8Tu+VsYZGrySjwIf58r4fKXQ== X-Received: by 2002:a05:6808:3505:b0:3ea:64cc:4954 with SMTP id 5614622812f47-3f392363e82mr12249275b6e.35.1739250953639; Mon, 10 Feb 2025 21:15:53 -0800 (PST) Received: from [108.254.203.202] (108-254-203-202.lightspeed.hstntx.sbcglobal.net. [108.254.203.202]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3f3a5a74dc5sm1604478b6e.29.2025.02.10.21.15.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 10 Feb 2025 21:15:53 -0800 (PST) From: Doug Moore X-Google-Original-From: Doug Moore Message-ID: Date: Mon, 10 Feb 2025 23:15:52 -0600 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: git: 7bcc7a0b88cc - stable/14 - libkern: avoid local var in order_base_2() Content-Language: en-US To: Zhenlei Huang Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-branches@freebsd.org" , "Bjoern A. Zeeb" References: <202502101115.51ABFISj016298@gitrepo.freebsd.org> <858BD10B-A2C9-4D3A-9FF5-C5573597DF8B@FreeBSD.org> In-Reply-To: <858BD10B-A2C9-4D3A-9FF5-C5573597DF8B@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4YsV5l0Rvwz3FQF X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] bz@freebsd.org presented the problem that this change fixed.  I think it was in a driver.  It may have been a case in which the macro argument had side effects, and having it appear twice in the macro made those side effects happen twice.  But I have not preserved the original report from bz.  I regret that I did not adequately describe the problem being fixed in the commit message.  Perhaps bz can shed some light on the matter. Doug On 2/10/25 21:30, Zhenlei Huang wrote: > >> On Feb 10, 2025, at 7:15 PM, Doug Moore wrote: >> >> The branch stable/14 has been updated by dougm: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b >> >> commit 7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b >> Author: Doug Moore >> AuthorDate: 2024-09-27 23:43:07 +0000 >> Commit: Doug Moore >> CommitDate: 2025-02-10 10:30:05 +0000 >> >> libkern: avoid local var in order_base_2() >> >> order_base_2(n) is implemented with a variable, which keeps it from >> being used at file scope. Implement it instead as ilog2(2*n-1), which >> produces a different result when 2*n overflows, which appears unlikely >> in practice. >> >> Reviewed by: bz >> Differential Revision: https://reviews.freebsd.org/D46826 >> >> (cherry picked from commit b7cbf741d55468ba34305a14ac3acc1c286af034) >> --- >> sys/sys/libkern.h | 5 +---- >> 1 file changed, 1 insertion(+), 4 deletions(-) >> >> diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h >> index a10289d72dc7..835e5ffaf0b7 100644 >> --- a/sys/sys/libkern.h >> +++ b/sys/sys/libkern.h >> @@ -229,10 +229,7 @@ ilog2_long_long(long long n) >> >> #define ilog2(n) (__builtin_constant_p(n) ? ilog2_const(n) : ilog2_var(n)) >> #define rounddown_pow_of_two(n) ((__typeof(n))1 << ilog2(n)) >> -#define order_base_2(n) ({ \ >> - __typeof(n) _n = (n); \ > This local var `_n` is within the scope of the macro `order_base_2`, it is surrounded with > {} and is harmless, so it will not pollute the file scoped variables. > > Am I reading the commit message wrong ? > > Best regards, > Zhenlei > >> - _n == 1 ? 0 : 1 + ilog2(_n - 1); \ >> -}) >> +#define order_base_2(n) ilog2(2*(n)-1) >> #define roundup_pow_of_two(n) ((__typeof(n))1 << order_base_2(n)) >> >> #define bitcount64(x) __bitcount64((uint64_t)(x)) > > From nobody Tue Feb 11 05:23:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsVGZ5GdCz5mxWb for ; Tue, 11 Feb 2025 05:23:34 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsVGZ3TV8z3FZQ for ; Tue, 11 Feb 2025 05:23:34 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-38dc0cd94a6so2358204f8f.0 for ; Mon, 10 Feb 2025 21:23:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739251413; x=1739856213; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r9+m78g6ry9R8pWkl5xRIMhQ4H4UUPHj9BcEuCrTRF4=; b=MD061bZVkKZCse0mPb4iGZL4DiNDQOIu+Prj/nmwshBbfJpXH4/qBzdhNkzFODKCYv bHrKEk1sQHSMm3ZzUGIt2HbeUmzShXAwnhvutHrVNVttxzwXSjjk/s7MXc4RJrdoF0Qh zWjSW5ugmScfG653rZTTRjp/Xi0t8FTRAQ6UHjykUE4NB64aE9XGmw3ym83qnqmKflIq Pk2Rn/pvY0u7W2IIZyIvsK5755pRCj3A5YWoxOyxBYNgTO0337weaFXfmu3ntDBTX/MK MfD/pb9aUfh+pamfg5tJAtkxvoYCyjhztZFmIvv1yrBp8+QfxyvkqKXgpnhS7+rLq8Bk w+qA== X-Forwarded-Encrypted: i=1; AJvYcCXB0XAu9dNeIP4A05EHr0VmYYzua8iWr4uZIwfvHDr24bF/ybiGDlg2zZTe4Em7SmXUOdYXmfI6wjmTpw1jARtyWdJn@freebsd.org X-Gm-Message-State: AOJu0Ywf35GuYiezv1J+ToZ5o4Y2N19tonLvzSjHzMEbZR+ikcuQ/3F9 UjMUm6QpPGCgu+VLzSWHKj92UWMaGxvPwcM/KRtJDxp5tfFW0XyDU3V0NDq2Uk0= X-Gm-Gg: ASbGncvHkS65GE5Bo5VFtKQp2US9/v5bs0ebRxfywO/ScDbQol4IULfmv6Wvq92CW/F WXC4tpTJo0mdsdzPXVkD6a/lWuqlO9P4bQerrIveEC5ZwzY3xnW5DHXcqIPxS2a3EO0MkzgB3IS LFOU9OFUTqjgyHmw+JHk+5rlQPM/F8fvKa7KAApmtEF9t+RwtVZXaeeoseY1TpFQz+uIToX64ve mRhUZPL1RwGjIwIWSR43liJFFTfYTvPPjYcCBz6lIY7fo5mFEbr4+OZg1yd9hnixwyypVeG6vG0 2xQLXBiTj0LYcLIZzv6Yj/SkXV5tDQ== X-Google-Smtp-Source: AGHT+IH3Awqpnj2auuTk7eQPBWp2+zhPuhE/Vmfz+dIvFOqF4l3iiWMyxY5q/LJkZ7x9382eCTs8Fw== X-Received: by 2002:a5d:5f4a:0:b0:38d:cfff:c0d9 with SMTP id ffacd0b85a97d-38dcfffc217mr11001814f8f.39.1739251412859; Mon, 10 Feb 2025 21:23:32 -0800 (PST) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4393963c84esm86489895e9.27.2025.02.10.21.23.32 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Feb 2025 21:23:32 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Re: git: 7bcc7a0b88cc - stable/14 - libkern: avoid local var in order_base_2() From: Jessica Clarke In-Reply-To: <858BD10B-A2C9-4D3A-9FF5-C5573597DF8B@FreeBSD.org> Date: Tue, 11 Feb 2025 05:23:21 +0000 Cc: Doug Moore , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-branches@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <803D3DBC-A4F5-47FB-8034-5241461D4A71@freebsd.org> References: <202502101115.51ABFISj016298@gitrepo.freebsd.org> <858BD10B-A2C9-4D3A-9FF5-C5573597DF8B@FreeBSD.org> To: Zhenlei Huang X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Rspamd-Queue-Id: 4YsVGZ3TV8z3FZQ X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] On 11 Feb 2025, at 03:30, Zhenlei Huang wrote: >> On Feb 10, 2025, at 7:15 PM, Doug Moore wrote: >>=20 >> The branch stable/14 has been updated by dougm: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7bcc7a0b88ccb5e1fe31de88ab9a17e4= 6859318b >>=20 >> commit 7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b >> Author: Doug Moore >> AuthorDate: 2024-09-27 23:43:07 +0000 >> Commit: Doug Moore >> CommitDate: 2025-02-10 10:30:05 +0000 >>=20 >> libkern: avoid local var in order_base_2() >>=20 >> order_base_2(n) is implemented with a variable, which keeps it from >> being used at file scope. Implement it instead as ilog2(2*n-1), = which >> produces a different result when 2*n overflows, which appears = unlikely >> in practice. >>=20 >> Reviewed by: bz >> Differential Revision: https://reviews.freebsd.org/D46826 >>=20 >> (cherry picked from commit = b7cbf741d55468ba34305a14ac3acc1c286af034) >> --- >> sys/sys/libkern.h | 5 +---- >> 1 file changed, 1 insertion(+), 4 deletions(-) >>=20 >> diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h >> index a10289d72dc7..835e5ffaf0b7 100644 >> --- a/sys/sys/libkern.h >> +++ b/sys/sys/libkern.h >> @@ -229,10 +229,7 @@ ilog2_long_long(long long n) >>=20 >> #define ilog2(n) (__builtin_constant_p(n) ? ilog2_const(n) : = ilog2_var(n)) >> #define rounddown_pow_of_two(n) ((__typeof(n))1 << ilog2(n)) >> -#define order_base_2(n) ({ \ >> - __typeof(n) _n =3D (n); \ >=20 > This local var `_n` is within the scope of the macro `order_base_2`, = it is surrounded with > {} and is harmless, so it will not pollute the file scoped variables. >=20 > Am I reading the commit message wrong ? It=E2=80=99s not about pollution. GNU statement expressions are just not = valid at file scope, they must be used within a function (since otherwise the implementation would have to have a full blown interpreter to constant evaluate the whole thing, just like C++ and now C to some extent have ended up with these days with constexpr). That is, you cannot write: int x =3D ({ ... }); at file scope. Jess From nobody Tue Feb 11 08:25:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsZJP68qNz5nCL4; Tue, 11 Feb 2025 08:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsZJP4j50z4B8H; Tue, 11 Feb 2025 08:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739262325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+TGBaw1wJUBIqJtC8HUJnyvufJlHjpGeUOY5lQhlYA=; b=G1Dv+3/C3Tlwp0hc0XV8Wih5eAWNWcUJk8B4puajnZUGKNorqxy6jS0H7i9/4XnvaE0XCu yhmxHMpYq9XMEQzM7avukQbDeXmhAWGEOsl2tYGYB/l+BJ2OXXw0Qc8GnDseX0Ah03/qgU jMYmUlwHfohRn0PvkN13yUA9b8x1FUJhzbOHx6rTnZLhY4iaB/2N+1HDI5c/2+UvLphw2u 8l1zqNrqErALLUNcqXbofkr97DiqtC0bdxN35qfWBkppv7y0odGiB2mKhQP2MjHgO4vFC8 ntVRkvpoo/Lc0lqb+rtwULD2AYd8/MyHZeJwVoBcVDLFxBnjkjLrDJJLy9h8KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739262325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+TGBaw1wJUBIqJtC8HUJnyvufJlHjpGeUOY5lQhlYA=; b=BkSLqGGdNwqytGLqKwJpZGtnbQ9nqL4EpPRxvHD0xOh9VmiWJMckooW8ogKh5DyLMHDz1o +BGP1mztWeF7ATRAwx1jhZyfYQ8sx45jDyUWoFPbGTKSciKuZkICVgaymKbmZw+fTECZTT inNrcbuB8QZlRoT+WzSM6rvcczkCH0qLb/d5mMrgg11EU1fY/SJVt9NuRXadGo94E3BEwv bPV+nTE0sbVPSKElW/VzcaN5XHZmUQVQloKFB8zRSpBQdW1EQT4A48IKp6V3SEejMmRlik vGCQcLozdFRiMy3JbOxhUedxSrA3S1f+J4vK3FTinTukG/K95ws1iCVJ1yPJqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739262325; a=rsa-sha256; cv=none; b=TFE77HeN+MiOglIWqeIVfo90mQvV6OymFNEyJzwVYi7hEgJIqcHkz/uhuJrPN1pfduUhYq BgLWvTn/lfVi6mK/x2yB0J9OjoDRkdJSmYJmh4EglRcpGM7SoQu01r01gqN5pghIyJgCl0 fXva3mHmDndxRPDRvchf7cthsB8Qi8jxACwEyCfLJlNK7fOKwQmxPu7AGEIWib6j/Z0Jdq TAwigMH5o21HYaP86k0V2tIxWxyqF9LMsAMunjTUPy6X+1dZ5gBApVzcGiAWqM7y8rP3pc JpqxrTWUWVFTUez+w0Cha2rx0k3yrzkAVTx8GBmQEoZ1gMqPdl4NA/C/d/XXrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsZJP3sN0z14c2; Tue, 11 Feb 2025 08:25: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 51B8PPnx099787; Tue, 11 Feb 2025 08:25:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B8PPDA099784; Tue, 11 Feb 2025 08:25:25 GMT (envelope-from git) Date: Tue, 11 Feb 2025 08:25:25 GMT Message-Id: <202502110825.51B8PPDA099784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 03704b89e785 - main - linuxkpi: cc_platform: Add CC_ATTR_GUEST_MEM_ENCRYPT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03704b89e78560823cac4e447885412cb395a527 Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=03704b89e78560823cac4e447885412cb395a527 commit 03704b89e78560823cac4e447885412cb395a527 Author: Emmanuel Vadot AuthorDate: 2025-02-11 08:24:42 +0000 Commit: Emmanuel Vadot CommitDate: 2025-02-11 08:27:48 +0000 linuxkpi: cc_platform: Add CC_ATTR_GUEST_MEM_ENCRYPT Add this attribute which is a no-op for us but in linux represent that the guest memory encryption is active. drm ttm started to check this flag in > 6.1.92 Sponsored by: Beckhoff Automation GmbH & Co. KG --- sys/compat/linuxkpi/common/include/linux/cc_platform.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/cc_platform.h b/sys/compat/linuxkpi/common/include/linux/cc_platform.h index 01c0de17f7d2..1544c141614b 100644 --- a/sys/compat/linuxkpi/common/include/linux/cc_platform.h +++ b/sys/compat/linuxkpi/common/include/linux/cc_platform.h @@ -8,6 +8,7 @@ enum cc_attr { CC_ATTR_MEM_ENCRYPT, + CC_ATTR_GUEST_MEM_ENCRYPT, }; static inline bool From nobody Tue Feb 11 09:55:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YscJq2g1Jz5nKBF; Tue, 11 Feb 2025 09:55: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YscJq27S3z3gwd; Tue, 11 Feb 2025 09:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739267755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nHRoEHt+wIvr69pxPB73HHMNlvKf4W+IwcZp1YFbKkw=; b=tW8fv+UVPh7V7bM0M+4kOZ1aNFZ+yjO/fMjR6wIdScm3gGZyyU+JN4QO1qck6vs0L7fF5J A/BTFAp1+sd5jON9nX+IQBdrAPK6Hteg1acKZhsHtpJtSOQZu+RR5rTUWD6XzkC81hDkFZ F5BmfSDy/528k+lU5ojWy+GDenTecps2nhNSHRh4Ram19VbOaiIOnpdYj7By4rMtC2Eo8w u9/o8JiUVry/0sVZGQGcqH8Zxiqzro1dOCSVijoGMKoMWXMn5jr+0/6wtHusYkTrfdYPa8 V1bJiSCV/aXf8igN3F7XWcmWx/rPqxTeq9gDBCG/pChGaV1FBeMwFjVNuruP+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739267755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nHRoEHt+wIvr69pxPB73HHMNlvKf4W+IwcZp1YFbKkw=; b=D5DSwX5sPPUDaScHyqgsbigU0KjKd8JlVd6jaU8qv1RmVD+qpTgshw1Ce2ru6Hc8OO6jdp NaWAGxO5Cpw1nTu2+cX0dvhQEzACsXjWuWwECJHcLLPUwg3VrchBdo4LRK2jCyXRTMmZYB KMXhMXQNmS+o5t3NAwXIc3yt66Bc8RuEq4lEcvM7sp74/Opj+Y26yhhhJs/vWSPkBoFhMs Klo48itdhedEer1JJSQXcWjENfOsj6leOKrNXb1S8lNgYnCnAjtJjKN9kWV5uGXo7TpGZz DgyKKTwoDFVflP2gCrDbag2+JL4bpRDMtr6TFZo6nvKmTwGFxMYVyOplznajbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739267755; a=rsa-sha256; cv=none; b=RRixOcQzaWZL6Ux/CX6TDnl9okdLovPZqSTtSFmhrkW+nbpi4mzasw5aRJtqfVAuwiNTzr TzR0lrpRTqTergOgNekesMyFypwTT8tKVI8OSlEXV3kyzP6WiI0iYuugwGRmhNUtkPbsz8 XuvIYz98kz6bP65hl/PmnwL9VP8rvusYQRmU+lzbaRVkhaJuuo1p6TyG4K8YnBBtQGO+cC I+bfhiI8+pJrRLPe5PRIEnSeFZXIEoUkjo8yEsSQaX1Yy/DXQauCtnl7B8YiPLpwG4rQVF KJuRoMPoIq9JdqkB9bZjsxReheGZGuxowU7TRWbhZBP14AP0kFna6de6YgJgRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YscJq1l1pz16cn; Tue, 11 Feb 2025 09:55: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 51B9ttDg068431; Tue, 11 Feb 2025 09:55:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B9ttj8068428; Tue, 11 Feb 2025 09:55:55 GMT (envelope-from git) Date: Tue, 11 Feb 2025 09:55:55 GMT Message-Id: <202502110955.51B9ttj8068428@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 706a03f61bbb - main - ipfw: make 'ipfw show' output compatible with 'ipfw add' command List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 706a03f61bbb6e0cf10e6c3727966495b30d763e Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=706a03f61bbb6e0cf10e6c3727966495b30d763e commit 706a03f61bbb6e0cf10e6c3727966495b30d763e Author: Andrey V. Elsukov AuthorDate: 2025-02-11 09:48:17 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-02-11 09:48:17 +0000 ipfw: make 'ipfw show' output compatible with 'ipfw add' command If rule was added in compact form and rule body is empty, print 'proto ip' opcode to be compatible with ipfw(8) syntax parser. Before: $ ipfw add allow proto ip 000700 allow After: $ ipfw add allow proto ip 000700 allow proto ip MFC after: 1 week --- sbin/ipfw/ipfw2.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 51eae7e8e246..cc0970207749 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -2380,6 +2380,13 @@ show_static_rule(struct cmdline_opts *co, struct format_opts *fo, if (rule->flags & IPFW_RULE_JUSTOPTS) { state.flags |= HAVE_PROTO | HAVE_SRCIP | HAVE_DSTIP; + /* + * Print `proto ip` if all opcodes has been already printed. + */ + if (memchr(state.printed, 0, rule->act_ofs) == NULL) { + bprintf(bp, " proto ip"); + goto end; + } goto justopts; } From nobody Tue Feb 11 10:10:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yscdl0g26z5nLCj; Tue, 11 Feb 2025 10:10:35 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yscdl0W61z3lN2; Tue, 11 Feb 2025 10:10:35 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739268635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=nn8ebaI2XVu6t6Hq+gE7nOo3AJFfdl5GPBX+/DyR4Z8=; b=BO/KW17zOrnrfJdeqAerkCqwJ82YdtaAv7Xh4sug15/hP8B0rHehBlp2DQsbE+5XuQCfIh yBiwCvm1MkgxAniiXcZqDot7qp+KeZUCgpAof9SW5x9+eCK1SKN7YnEbbsEkueKYuP5Gy4 9HxCbLpDNxjOMyIJaxVl/MwppyOYe6qC2q2Nx+/IsT0p3/0hXs0eSu0LlvIm83Ejq9vf7g sgXTI2I07bffkRvVqb7/XzNR0XZuyIZqLRoH5iixl/ju1jhQKWhvwLdsFutlXM6BW5S6Sf 0F+XuWpW5BkuYd4t6PWD7aGK+lfErX7UvI+KS2C75d7S7uaU/IBZJn34LKJYUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739268635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=nn8ebaI2XVu6t6Hq+gE7nOo3AJFfdl5GPBX+/DyR4Z8=; b=X7/lwROXx8/g62G1UOaeFs089Zrhqgqnit296Cx03B5IS2tHUPTIk/3kb0EVIIYJyAEpY2 fXYso7ju99/ODc+zDVmzAGdSqpLrGsyivnKemc6TNLb/cQpLprYO/aigMug636ZxHNQmeP otwlnhOBKfL6EOFI9TzYvsg3G3SH2I5pt0ZFKxiUnjobcnAdeWDI0gu7Me7n3ywC4Zm/HS Id/m/YeKML5Oez0bc2PT1qxYEbjnEDdw3faE8BKynubkE7m4vkVaJPB+kfkzI/ci2GlGGe pzZQJAs0XdVLkqkColiMMpB5/9qoieXSHEq1p+9VZbANM6piPrEHsJ8heGvEkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739268635; a=rsa-sha256; cv=none; b=Ekrkvo7Oun/iXWCs1OioKc76ZgXF8Whyb24jf4FhhbPBGZaZWFT81wiqS2xBFvFwzXcyVV xQvk/e2ohnVohxPCqsBbBrSymfsNcYYew2TO9Bts7WqNz/W7cRWeBXsjIC8f2Nn8mXKcYD EaTccvL+3w0IIKX34vsncFYx4Vv3EJ6KUOW3ePM7Hz5M9ESAkGsUY4CRur4F0CNleUzXvI pdok6lL1y3/lVb0R5T1fVP6Hl2Cup0KFI5Et0Seg7+Grc5LHCfqo83qZOKJ/imIpEbVqhP K/BnZxGUs+iQhYDucomqWnxQbmt2g/Asrn8TCuOe7w24nzP4y87QOCOm7wbFrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2001:19f0:6001:9db:98f0:9fe0:3545:10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Yscdj24sqz1C7R; Tue, 11 Feb 2025 10:10:33 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: <5BF2F37C-16B4-4B39-B14B-131CE430BB4A@FreeBSD.org> Content-Type: multipart/alternative; boundary="Apple-Mail=_578F92E7-3BA6-4432-8E6C-74615E94D42A" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.10\)) Subject: Re: git: 7bcc7a0b88cc - stable/14 - libkern: avoid local var in order_base_2() Date: Tue, 11 Feb 2025 18:10:23 +0800 In-Reply-To: <803D3DBC-A4F5-47FB-8034-5241461D4A71@freebsd.org> Cc: Doug Moore , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-branches@freebsd.org" To: Jessica Clarke References: <202502101115.51ABFISj016298@gitrepo.freebsd.org> <858BD10B-A2C9-4D3A-9FF5-C5573597DF8B@FreeBSD.org> <803D3DBC-A4F5-47FB-8034-5241461D4A71@freebsd.org> X-Mailer: Apple Mail (2.3696.120.41.1.10) --Apple-Mail=_578F92E7-3BA6-4432-8E6C-74615E94D42A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Feb 11, 2025, at 1:23 PM, Jessica Clarke = wrote: >=20 > On 11 Feb 2025, at 03:30, Zhenlei Huang > wrote: >>> On Feb 10, 2025, at 7:15 PM, Doug Moore wrote: >>>=20 >>> The branch stable/14 has been updated by dougm: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D7bcc7a0b88ccb5e1fe31de88ab9a17e4= 6859318b >>>=20 >>> commit 7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b >>> Author: Doug Moore >>> AuthorDate: 2024-09-27 23:43:07 +0000 >>> Commit: Doug Moore >>> CommitDate: 2025-02-10 10:30:05 +0000 >>>=20 >>> libkern: avoid local var in order_base_2() >>>=20 >>> order_base_2(n) is implemented with a variable, which keeps it from >>> being used at file scope. Implement it instead as ilog2(2*n-1), = which >>> produces a different result when 2*n overflows, which appears = unlikely >>> in practice. >>>=20 >>> Reviewed by: bz >>> Differential Revision: https://reviews.freebsd.org/D46826 >>>=20 >>> (cherry picked from commit = b7cbf741d55468ba34305a14ac3acc1c286af034) >>> --- >>> sys/sys/libkern.h | 5 +---- >>> 1 file changed, 1 insertion(+), 4 deletions(-) >>>=20 >>> diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h >>> index a10289d72dc7..835e5ffaf0b7 100644 >>> --- a/sys/sys/libkern.h >>> +++ b/sys/sys/libkern.h >>> @@ -229,10 +229,7 @@ ilog2_long_long(long long n) >>>=20 >>> #define ilog2(n) (__builtin_constant_p(n) ? ilog2_const(n) : = ilog2_var(n)) >>> #define rounddown_pow_of_two(n) ((__typeof(n))1 << ilog2(n)) >>> -#define order_base_2(n) ({ \ >>> - __typeof(n) _n =3D (n); \ >>=20 >> This local var `_n` is within the scope of the macro `order_base_2`, = it is surrounded with >> {} and is harmless, so it will not pollute the file scoped variables. >>=20 >> Am I reading the commit message wrong ? >=20 > It=E2=80=99s not about pollution. GNU statement expressions are just = not valid > at file scope, they must be used within a function (since otherwise = the > implementation would have to have a full blown interpreter to constant > evaluate the whole thing, just like C++ and now C to some extent have > ended up with these days with constexpr). >=20 > That is, you cannot write: >=20 > int x =3D ({ ... }); >=20 > at file scope. Ahh, I see. Thanks for the explaining! >=20 > Jess --Apple-Mail=_578F92E7-3BA6-4432-8E6C-74615E94D42A Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

On Feb 11, 2025, at 1:23 PM, Jessica Clarke <jrtc27@freebsd.org> = wrote:

On 11 Feb 2025, at 03:30, Zhenlei Huang <zlei@FreeBSD.org> = wrote:
On Feb 10, 2025, at 7:15 = PM, Doug Moore <dougm@FreeBSD.org> wrote:

The branch stable/14 has been updated by dougm:

URL: https://cgit.FreeBSD.org/src/commit/?id=3D7bcc7a0b88ccb5e1fe31d= e88ab9a17e46859318b

commit = 7bcc7a0b88ccb5e1fe31de88ab9a17e46859318b
Author: =     Doug Moore <dougm@FreeBSD.org>
AuthorDate: 2024-09-27 23:43:07 +0000
Commit: =     Doug Moore <dougm@FreeBSD.org>
CommitDate: 2025-02-10 10:30:05 +0000

 libkern: avoid local var in order_base_2()

 order_base_2(n) is implemented with a = variable, which keeps it from
 being used at file = scope. Implement it instead as ilog2(2*n-1), which
 produces a different result when 2*n overflows, which = appears unlikely
 in practice.

 Reviewed by:    bz
 Differential Revision:  https://reviews.freebsd.org/D46826

 (cherry picked from commit = b7cbf741d55468ba34305a14ac3acc1c286af034)
---
sys/sys/libkern.h | 5 +----
1 file changed, 1 = insertion(+), 4 deletions(-)

diff --git = a/sys/sys/libkern.h b/sys/sys/libkern.h
index = a10289d72dc7..835e5ffaf0b7 100644
--- = a/sys/sys/libkern.h
+++ b/sys/sys/libkern.h
@@= -229,10 +229,7 @@ ilog2_long_long(long long n)

#define ilog2(n) (__builtin_constant_p(n) ? ilog2_const(n) : = ilog2_var(n))
#define rounddown_pow_of_two(n) = ((__typeof(n))1 << ilog2(n))
-#define = order_base_2(n) ({ \
- __typeof(n) _n =3D (n); \

This local var `_n` is within the = scope of the macro `order_base_2`, it is surrounded with
{} = and is harmless, so it will not pollute the file scoped variables.

Am I reading the commit message wrong ?

It=E2=80=99s not about pollution. GNU statement expressions = are just not valid
at file scope, they must be used within a function (since = otherwise the
implementation = would have to have a full blown interpreter to constant
evaluate the = whole thing, just like C++ and now C to some extent have
ended up with = these days with constexpr).

That is, you cannot write:

 int x =3D ({ ... });

at file scope.

Ahh, I see. Thanks for the explaining!


Jess



= --Apple-Mail=_578F92E7-3BA6-4432-8E6C-74615E94D42A-- From nobody Tue Feb 11 10:33:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysd7c6vlLz5nN3H; Tue, 11 Feb 2025 10:33: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7c45qHz3t8m; Tue, 11 Feb 2025 10:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lD8eSk369hJqlohdvluWlW5k/apJnDbQSCbGHfGg564=; b=og9C24vwmijLhMmO6Q29/EnzJ0YlHwQR0fVqQSR+7C1GQxABhKTTQ0dYSbfarXGsQi77PT KU/o/xgNUBanHMvfR42sWViznPwdgn+/G2OpQv0cEZVZuErHuXQfUkp6LKiPM8j5UPLUvU DYgnebhctLI0Io1HDkunw5Qm5BKf+KHRr1zs0pI/J11PLpqxEMLm5EZk9IuBU4B7O9mzRl gCHCGO4HwxupJucvrHwU5fMc+fqTQ6zx4n8OlUsJOWZvyZ8rH3HasBMYaGnF8D5AFqIX45 RRFRfQU+4ZPer888eeuIM8fA1IKUPYznbh8E0eeSyQFvVGPaKiGBzQhAgavLaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lD8eSk369hJqlohdvluWlW5k/apJnDbQSCbGHfGg564=; b=SYB7YjSQzq0hwNLJR3dE8GEC+nvEE6DJ3gFiT7Q6zCvG8NdCi0Y4/ee9zC7HfSbyhahrJl c/gZRumomvxOCAccjSviApawdo2Q1s0y0MJXnEl7QVHR1PaYWqDfkIwAEcnwpO6DUOzfCH PuDC25IjmFsBIVb8DsJjrN7nz5p7P+Nv9ZhhtH0iCM7mQlPz9qAOJEU/Jw/SUR0awrVl3f /3xnV+2bWMNRmxuUzZFM2FXsKlp8WTloAXFYWrNDfKtMJfumbL+cXCTNDkZrOX84jplFXm pjggK2LC5lJl73+rHEAH89XGmiNGCFE3jly+4gzCwLIT8ofKxi0ExUPgDqRyUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269980; a=rsa-sha256; cv=none; b=TxVvrGwX8mkP+PsBrqW17R+O4ML/k5n41Yx5mt+UhT6wDGPkAKbwIuUbUvsTWZM6qjnyQJ iEMqoRpsshGE7F/O3kLSbk1USUUqMjxTjo/XMpgwvUWXZ5kI+Pu7gDUzr+zW6lgOpTkJml QnQqsuqd8BllEt6hab6ESmjA6CDfKK/BAswXjGUfauRji0A3xgoCJ+lTpt5qoiSa25iWJX pWlwtUyrZ46RTJKYgosxKt35zOuQfZmmzOnm5WdiCkVsDzRJ5JKSxiAUDTT5gmpHuvVrbc GLu4cylWJftHI6VWljhcL8/bGYJ7PAUrygHCuF6mz4ImLgcpDzvtfrBX5EGT7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7c3Y3Rz17XL; Tue, 11 Feb 2025 10:33: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 51BAX0uB043107; Tue, 11 Feb 2025 10:33:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAX0Dr043104; Tue, 11 Feb 2025 10:33:00 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:33:00 GMT Message-Id: <202502111033.51BAX0Dr043104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: db100bd93036 - main - pf tests: add more fragmentation test cases List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db100bd93036855c7688dc088b811dc7b660f51d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=db100bd93036855c7688dc088b811dc7b660f51d commit db100bd93036855c7688dc088b811dc7b660f51d Author: Kristof Provost AuthorDate: 2025-02-04 13:06:33 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:22 +0000 pf tests: add more fragmentation test cases Add more test cases for pf fragment hole counter. Also look into final fragment of echo reply and check total length of IP packet. MFC after: 1 week Obtained from: OpenBSD, bluhm , 640736615b Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/Makefile | 4 ++ tests/sys/netpfil/pf/frag-adjhole.py | 58 +++++++++++++++++++++ tests/sys/netpfil/pf/frag-overhole.py | 83 ++++++++++++++++++++++++++++++ tests/sys/netpfil/pf/fragmentation_pass.sh | 38 ++++++++++++++ 4 files changed, 183 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 2edd8e7d2026..8a24fae47dcb 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -71,6 +71,8 @@ ${PACKAGE}FILES+= CVE-2019-5597.py \ frag-overindex.py \ frag-overlimit.py \ frag-overreplace.py \ + frag-overhole.py \ + frag-adjhole.py \ pfsync_defer.py \ pft_ether.py \ pft_read_ipfix.py \ @@ -83,6 +85,8 @@ ${PACKAGE}FILESMODE_fragcommon.py= 0555 ${PACKAGE}FILESMODE_frag-overindex.py= 0555 ${PACKAGE}FILESMODE_frag-overlimit.py= 0555 ${PACKAGE}FILESMODE_frag-overreplace.py= 0555 +${PACKAGE}FILESMODE_frag-overhole.py= 0555 +${PACKAGE}FILESMODE_frag-adjhole.py= 0555 ${PACKAGE}FILESMODE_pfsync_defer.py= 0555 ${PACKAGE}FILESMODE_pft_ether.py= 0555 ${PACKAGE}FILESMODE_pft_read_ipfix.py= 0555 diff --git a/tests/sys/netpfil/pf/frag-adjhole.py b/tests/sys/netpfil/pf/frag-adjhole.py new file mode 100644 index 000000000000..99caf66617dd --- /dev/null +++ b/tests/sys/netpfil/pf/frag-adjhole.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2025 Alexander Bluhm + +from fragcommon import * + +# |--------| +# |--------| +# |-------| +# |----| + +def send(src, dst, send_if, recv_if): + pid = os.getpid() + eid = pid & 0xffff + payload = b"ABCDEFGHIJKLMNOP" * 2 + packet = sp.IP(src=src, dst=dst)/ \ + sp.ICMP(type='echo-request', id=eid) / payload + frag = [] + fid = pid & 0xffff + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + flags='MF') / bytes(packet)[20:36]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=2, flags='MF') / bytes(packet)[36:52]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=1, flags='MF') / bytes(packet)[28:44]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=4) / bytes(packet)[52:60]) + eth=[] + for f in frag: + eth.append(sp.Ether()/f) + if os.fork() == 0: + time.sleep(1) + sp.sendp(eth, iface=send_if) + os._exit(0) + + ans = sp.sniff(iface=recv_if, timeout=3, filter= + "ip and src " + dst + " and dst " + src + " and icmp") + for a in ans: + if a and a.type == sp.ETH_P_IP and \ + a.payload.proto == 1 and \ + a.payload.frag == 0 and a.payload.flags == 0 and \ + sp.icmptypes[a.payload.payload.type] == 'echo-reply': + id = a.payload.payload.id + print("id=%#x" % (id)) + if id != eid: + print("WRONG ECHO REPLY ID") + exit(2) + data = a.payload.payload.payload.load + print("payload=%s" % (data)) + if data == payload: + exit(0) + print("PAYLOAD!=%s" % (payload)) + exit(1) + print("NO ECHO REPLY") + exit(2) + +if __name__ == '__main__': + main(send) diff --git a/tests/sys/netpfil/pf/frag-overhole.py b/tests/sys/netpfil/pf/frag-overhole.py new file mode 100644 index 000000000000..91697b6b83c6 --- /dev/null +++ b/tests/sys/netpfil/pf/frag-overhole.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2025 Alexander Bluhm + +from fragcommon import * + +# index boundary 4096 | +# |--------------| +# .... +# |--------------| +# |----------| +# |XXXX----------| +# |XXXX----| +# |---| + +# this should trigger "frag tail overlap %d" and "frag head overlap %d" +def send(src, dst, send_if, recv_if): + pid = os.getpid() + eid = pid & 0xffff + payload = b"ABCDEFGHIJKLMNOP" + dummy = b"01234567" + fragsize = 1024 + boundary = 4096 + fragnum = int(boundary / fragsize) + packet = sp.IP(src=src, dst=dst)/ \ + sp.ICMP(type='echo-request', id=eid)/ \ + ((int((boundary + fragsize) / len(payload)) + 1) * payload) + packet_length = len(packet) + frag = [] + fid = pid & 0xffff + for i in range(fragnum-1): + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(i * fragsize)>>3, flags='MF')/ + bytes(packet)[20 + i * fragsize:20 + (i + 1) * fragsize]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary - fragsize) >> 3, flags='MF')/ + bytes(packet)[20 + boundary - fragsize:20 + boundary - len(dummy)]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary - len(dummy)) >> 3, flags='MF')/ + (dummy+bytes(packet)[20 + boundary:20 + boundary + fragsize])) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary - 8 - len(dummy)) >> 3, flags='MF')/ + (dummy+bytes(packet)[20 + boundary - 8:20 + boundary])) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary + fragsize) >> 3)/bytes(packet)[20 + boundary + fragsize:]) + eth=[] + for f in frag: + eth.append(sp.Ether() / f) + + if os.fork() == 0: + time.sleep(1) + for e in eth: + sp.sendp(e, iface=send_if) + time.sleep(0.001) + os._exit(0) + + ans = sp.sniff(iface=recv_if, timeout=3, filter= + "ip and src " + dst + " and dst " + src + " and icmp") + for a in ans: + if a and a.type == sp.ETH_P_IP and \ + a.payload.proto == 1 and \ + a.payload.frag == 0 and \ + sp.icmptypes[a.payload.payload.type] == 'echo-reply': + id = a.payload.payload.id + print("id=%#x" % (id)) + if id != eid: + print("WRONG ECHO REPLY ID") + exit(2) + if a and a.type == sp.ETH_P_IP and \ + a.payload.proto == 1 and \ + a.payload.frag > 0 and \ + a.payload.flags == '': + length = (a.payload.frag << 3) + a.payload.len + print("len=%d" % (length)) + if length != packet_length: + print("WRONG ECHO REPLY LENGTH") + exit(1) + exit(0) + print("NO ECHO REPLY") + exit(1) + +if __name__ == '__main__': + main(send) diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index 68b078d42ddc..4e0665094ae6 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -354,6 +354,42 @@ overlimit_cleanup() pft_cleanup } +atf_test_case "overhole" "cleanup" +overhole_head() +{ + atf_set descr 'ping fragment at index boundary which modifies pf hole counter' + atf_set require.user root + atf_set require.progs scapy +} + +overhole_body() +{ + frag_common overhole +} + +overhole_cleanup() +{ + pft_cleanup +} + +atf_test_case "adjhole" "cleanup" +adjhole_head() +{ + atf_set descr 'overlapping ping fragments which modifies pf hole counter' + atf_set require.user root + atf_set require.progs scapy +} + +adjhole_body() +{ + frag_common adjhole +} + +adjhole_cleanup() +{ + pft_cleanup +} + atf_test_case "reassemble" "cleanup" reassemble_head() { @@ -618,6 +654,8 @@ atf_init_test_cases() atf_add_test_case "overreplace" atf_add_test_case "overindex" atf_add_test_case "overlimit" + atf_add_test_case "overhole" + atf_add_test_case "adjhole" atf_add_test_case "reassemble" atf_add_test_case "no_df" atf_add_test_case "reassemble_slowpath" From nobody Tue Feb 11 10:32:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysd7b4MCpz5nMXP; Tue, 11 Feb 2025 10:32: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7b3Dq9z3t2N; Tue, 11 Feb 2025 10:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4gTAjy+x5xCy0wMyivNvy5QaPslx4uZvjtf0zyEiB8I=; b=bNdC8R8lhbt3kEzL0X3kb7bPGw09WQS+TSDTM793Mj3ixaB820MYMsLA6YffmgctzpCVSC 2FGPFDEMXsR9MOcMoAjxbdtqWArF0fhq1JgcE3eK2wTutYEPNIqf84tfkAeytIFlEaS98R tjfAOgZgX60EivoLMKJJHSc23TI939VfQE6bZARl6KF4JVoxkhOjR/AYqdN95BBFFeSGrL kjWQ3OqjawE1JyyJPF6XutphsIOT5NsmFnP/VNoXfjAt5SGODU6Ofw7CLdn23MdN7n+AZG sqPFl4pyXAwRU40pkPkTuhP8CibbR66Uf1oUqN81YzQVfuQnHr+YhKf8ZWIsXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4gTAjy+x5xCy0wMyivNvy5QaPslx4uZvjtf0zyEiB8I=; b=WWYOLyq0WlpRMZOtrprFbzdo3U66cmzkCWTtd3pzX/JZSQv1rfg/QgvxrhndH0IgCKdmQM +Zy2aoXPscntAtT5VzYAbn5pb7R4OaWn+uUUodldOpLZArkRiSWRZDfOyyMW7LoZqJ56mv rDRcFL4JCF60SUyNLOuEgImDW4sxVQQQJgd/bdPofw1Jz2ZrfLY3+g6nM+5lSSpLpGYSe8 i57fYPGqBKCVWGrWMB2HWY1/PxsOqXsd6164VJVH7ekIn0vQJaacZ1WptVQzfK33s+eAjp x+EELaSB1ArTwNd6AgS6l0raHstwozaV9qyw42oQLDUHvUWuRc+YfgKlEe13Iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269979; a=rsa-sha256; cv=none; b=hkOAMkNj3AjcXqbng5Fmrlahl771NRF8RnHHB6GeP2l+SGWQq1/C0n5aPCHnHbZBazApVY TaL3/i6kqXzFAkJyKqHiBkSnFxRdXV+7RkdbCYvskWrw+zC7EPLf+dyhJvyG6j0wQk7jv4 8ypIjclnbZiE1XBq7sMu/cfw7ugaBJ2+CkQKljSE8ul6+zmPYDPg13WEzYYEQxpWh+NgJ8 8n0dAZiVu65TqgCX7s5PFoH+NxyCXHABYBgG+13WbTQn3gM5owp206uhWnP2kVWZf+Set4 gC16KDYzdo6uhbeToyid3pR6nLxhSesVvHVpxVCiGGSr0vWrxKkRGpzAO9VV8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7b2nz5z17XK; Tue, 11 Feb 2025 10:32: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 51BAWx6C043048; Tue, 11 Feb 2025 10:32:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAWxbC043045; Tue, 11 Feb 2025 10:32:59 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:32:59 GMT Message-Id: <202502111032.51BAWxbC043045@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 8b2feafb535d - main - pf: fix fragment hole count List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b2feafb535d10a559b995c6fc2529715f927e2a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b2feafb535d10a559b995c6fc2529715f927e2a commit 8b2feafb535d10a559b995c6fc2529715f927e2a Author: Kristof Provost AuthorDate: 2025-02-04 16:19:55 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:21 +0000 pf: fix fragment hole count Fragment reassembly finishes when no holes are left in the fragment queue. In certain overlap conditions, the hole counter was wrong and pf(4) created an incomplete IP packet. Before adjusting the length, remove the overlapping fragment from the queue and insert it again afterwards. pf_frent_remove() and pf_frent_insert() adjust the hole counter automatically. bug reported and fix tested by Lucas Aubard with Johan Mazel, Gilles Guette and Pierre Chifflier; OK claudio@ MFC after: 1 week Obtained from: OpenBSD, bluhm , 9915416fe8 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_norm.c | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index f096ea9e493f..7290ede8d393 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -534,7 +534,6 @@ pf_fillup_fragment(struct pf_fragment_cmp *key, struct pf_frent *frent, struct pf_frent *after, *next, *prev; struct pf_fragment *frag; uint16_t total; - int old_index, new_index; PF_FRAG_ASSERT(); @@ -648,32 +647,20 @@ pf_fillup_fragment(struct pf_fragment_cmp *key, struct pf_frent *frent, uint16_t aftercut; aftercut = frent->fe_off + frent->fe_len - after->fe_off; - DPFPRINTF(("adjust overlap %d\n", aftercut)); if (aftercut < after->fe_len) { + DPFPRINTF(("frag tail overlap %d", aftercut)); m_adj(after->fe_m, aftercut); - old_index = pf_frent_index(after); + /* Fragment may switch queue as fe_off changes */ + pf_frent_remove(frag, after); after->fe_off += aftercut; after->fe_len -= aftercut; - new_index = pf_frent_index(after); - if (old_index != new_index) { - DPFPRINTF(("frag index %d, new %d\n", - old_index, new_index)); - /* Fragment switched queue as fe_off changed */ - after->fe_off -= aftercut; - after->fe_len += aftercut; - /* Remove restored fragment from old queue */ - pf_frent_remove(frag, after); - after->fe_off += aftercut; - after->fe_len -= aftercut; - /* Insert into correct queue */ - if (pf_frent_insert(frag, after, prev)) { - DPFPRINTF( - ("fragment requeue limit exceeded\n")); - m_freem(after->fe_m); - uma_zfree(V_pf_frent_z, after); - /* There is not way to recover */ - goto bad_fragment; - } + /* Insert into correct queue */ + if (pf_frent_insert(frag, after, prev)) { + DPFPRINTF(("fragment requeue limit exceeded")); + m_freem(after->fe_m); + uma_zfree(V_pf_frent_z, after); + /* There is not way to recover */ + goto free_fragment; } break; } From nobody Tue Feb 11 10:33:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysd7g2KJWz5nMmm; Tue, 11 Feb 2025 10:33: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7f5GX4z3t0R; Tue, 11 Feb 2025 10:33:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41XmsI6C0ocic8Jwo/u4TxzhqsdltknYeI0Fp2hIFZo=; b=mCUpna2cTTTGMYG+7XnrrUrXh/Hlrv495jcecFV4fIUySQNh+SSDSOjDCmNOdkW+2b4uBW UOP3MTF3BlJ5SjMHwnazo9m0KeRWo8L6Oj0uF312+CRNLSfrGM6g4L3kOD6EIHLEDkmc3B Kt/pFR0lvAL6pg1WAhjL7cDyacW+WC8vvGPOIrE+ZeK6IQLc2fAFVoquXsw1cP1yPH2qlg yikD7YdiGCnAYjC5pP9uE+j2NhRu2YcjbhlILwFWXqwcNlFF8FqN/tQ9LblVEGbSsWEBvR n677Ulda5kqVnNKkMWz3fRRIlht1dxvU9QPTEEKkyj77vYgNN/2l1OmimzURGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41XmsI6C0ocic8Jwo/u4TxzhqsdltknYeI0Fp2hIFZo=; b=vQKHHhJ46I40Qr8Bg9HDK8gl+gsm7VuLNnWfY8P8DgQE+TKb1TvpjuUH+fgjetwxeclPaH MBbSlrahgjcwu3F1sMpp8kLTbO8bZ3QuTrUKQu01jlGQ00EBCXgFrxa7POBRlsquqJvVy7 E3x6sTW4koCCZI4ZXcUdJZ2bLPEKEPmfX64yZtK5RDCOixVzx1u83OgSS8tU0B8lvxQ2Wj 2QnVmu3Aog4qbTdH9h3upL5jjSzZPlIuyNwxs8+AEDh39cERtGFDTFNpGQmxA4fI23973F EKd3be+6CXXLXgHX2EU232ttWpMP/20YL8TCNST8Cn9B9kMCMsRsAlOCnaqwzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269982; a=rsa-sha256; cv=none; b=tVU2EcEg1RHFhFpBWjYdqliNVQ+FtjL46VGjIWz4bWbHzZ8rPiPQPsC7bpRn8MIr9eLMSp DFjXQEixrX6I5mckgabFgEV/47QW4v21kd3h1m+9K6AZikNR6/GXJgTudpvUiRMxTipw47 m4em0cjKB1VW6OavUtUbaf1g9+YuMLYtispSNlGfdpwuVXH9muh5HmD2aCNxcqAi7x5eu/ 0QmZ6ihUNLWDX4BdghtHv26yIa1N+7IAlzcgD287PfAMWX1OMYypuMVrCXO5KjmF9v1MNo 6TZf9hxV5TdSXsPy0P1S/QCCFyeo4/qKteVLBkz2+5E/Vz1j90e2gtIYZoPzqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7f4nlXz18BT; Tue, 11 Feb 2025 10:33: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 51BAX2OB043188; Tue, 11 Feb 2025 10:33:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAX2xe043185; Tue, 11 Feb 2025 10:33:02 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:33:02 GMT Message-Id: <202502111033.51BAX2xe043185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 85c333a947e9 - main - =?utf-8?Q?pf.conf.5: fix =E2=89=A4?= List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 85c333a947e950d9267517afd1d9c30a655b7bfb Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=85c333a947e950d9267517afd1d9c30a655b7bfb commit 85c333a947e950d9267517afd1d9c30a655b7bfb Author: Kristof Provost AuthorDate: 2025-02-05 14:52:15 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:22 +0000 pf.conf.5: fix ≤ pf.conf expects <=, not ≤ (and the same applies to ≥ and >=). Make sure the man page reflects this. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index c438cfc6894b..4020243c521b 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -1870,9 +1870,9 @@ Ports and ranges of ports are specified by using these operators: = (equal) != (unequal) \*(Lt (less than) -\*(Le (less than or equal) +<= (less than or equal) \*(Gt (greater than) -\*(Ge (greater than or equal) +>= (greater than or equal) : (range including boundaries) \*(Gt\*(Lt (range excluding boundaries) \*(Lt\*(Gt (except range) @@ -1913,7 +1913,7 @@ pass in all pass in from any to any pass in proto tcp from any port \*(Lt 1024 to any pass in proto tcp from any to any port 25 -pass in proto tcp from 10.0.0.0/8 port \*(Ge 1024 \e +pass in proto tcp from 10.0.0.0/8 port >= 1024 \e to ! 10.1.2.3 port != ssh pass in proto tcp from any os "OpenBSD" .Ed @@ -3425,7 +3425,7 @@ os = "os" ( os-name | "{" os-list "}" ) user = "user" ( unary-op | binary-op | "{" op-list "}" ) group = "group" ( unary-op | binary-op | "{" op-list "}" ) -unary-op = [ "=" | "!=" | "\*(Lt" | "\*(Le" | "\*(Gt" | "\*(Ge" ] +unary-op = [ "=" | "!=" | "\*(Lt" | "<=" | "\*(Gt" | ">=" ] ( name | number ) binary-op = number ( "\*(Lt\*(Gt" | "\*(Gt\*(Lt" | ":" ) number op-list = ( unary-op | binary-op ) [ [ "," ] op-list ] From nobody Tue Feb 11 10:33:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysd7f2Qswz5nMb2; Tue, 11 Feb 2025 10:33: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7d4yvSz3t4N; Tue, 11 Feb 2025 10:33:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=16xFUqWh56B34vreI07a/XP/phRZa0uL/5BxPJ0LzGA=; b=HSXjU2HXsw5li6B0fjUCzh1Clge1dVvav3IUk0tgp1AdbeXecdP0GU4A3BCJwomcnA0gA/ Xfd5gtSvVhXJpgZC2Kw3mHcKG+Sf9BMMQsgge3QxU+/O5gT1Wpxm3leiIRTjY/il/yMCIw B74byyJKdCFpuniyWSRYSVD3j2Xd+wxV/hT1DobgCK18pDwjJHKXGNxWXmmr+RYFxA/oen VWBnF9HV1+9IJIuiOFgeDrd3lUFSyDoRJ0eKjfmmb6aol4Tl1S8F7JXw/pfitkyntYAdlI xzRSPkNS1mSqUgoA+8PhcP+VqgUUDj98dfi1dj/Wf1eTaxz4NDYNNNPh9B591Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=16xFUqWh56B34vreI07a/XP/phRZa0uL/5BxPJ0LzGA=; b=aJXp1mAXiWVXc+7YKwEhFV8vGPUXVCJigxQVCS1vbXy1ZhucvPSHRtlcUZuzBCe15IqONo //p9cTl1VqyslThI2D7Bd6Lh+8oteZTCqlYVuo+uuQBcnsUAJWhkKQalm8M8vTuOHZj5jH mVw/VcQaehL5mInWn97Wpvb1HHB7LaUrRZx1cxWxjwfe+hym97y+WczTXUHOFFKn+qV+XJ kKr6NOBSy4LLOm7NycPabWlf/cz0ElEb8x0HrGd9v/b4omjY1zHg2S3Sv/wLHk8poxfo1n dEMnsLgmy/vH61onQ3oGHxeEgBTvRzq6QHxaLWuxUZ3VRM4Yzk+zqHbEdC2qEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269981; a=rsa-sha256; cv=none; b=UOcYKNxebDEvaO5Vs4KCxMtUekZBVAa0t+AOZ1UjDQwNJ/rg/knC9spMRBTQ+N7dWryNcC lo9tdOFBHDQzPlwmTiz9mY7SvUt0c49/ae+++tl3+irLYLxBLqTW7MCKXDfvSkfDHp0/k8 sfpeyLxNf2R8ZA6GUwSmxNY/pAHuhaCVhfpNVAfLeaMfOH9zEyGCIijUXrdazcaZxSyt75 tK9nGwR1ZvxOnZX3woYVsv1EBDqdTLl4L8EKYX5OufwxsNKc+CH6B1VlCzU7V68hNpDfkz 878vms7AIHvyJ5kNSHD6YdepmLKQsxmIjGM+5+dB9LIz3yiihEG2GAtaW/YZrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7d4Bp8z18BS; Tue, 11 Feb 2025 10:33: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 51BAX1kN043150; Tue, 11 Feb 2025 10:33:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAX1ma043147; Tue, 11 Feb 2025 10:33:01 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:33:01 GMT Message-Id: <202502111033.51BAX1ma043147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 4c4a7a8da49c - main - pf.conf.5: fix range for assigned ports managed by the IANA (see RFC 1700). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c4a7a8da49c8c9c99826c834bd3159c262f7ac7 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4c4a7a8da49c8c9c99826c834bd3159c262f7ac7 commit 4c4a7a8da49c8c9c99826c834bd3159c262f7ac7 Author: Kristof Provost AuthorDate: 2025-02-05 12:59:09 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:22 +0000 pf.conf.5: fix range for assigned ports managed by the IANA (see RFC 1700). ok sthen@ Obtained from: OpenBSD, sobrado , 908a1da340 Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index a517015b5ff8..c438cfc6894b 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd January 10, 2025 +.Dd February 5, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -1911,9 +1911,9 @@ The host, port and OS specifications are optional, as in the following examples: .Bd -literal -offset indent pass in all pass in from any to any -pass in proto tcp from any port \*(Le 1024 to any +pass in proto tcp from any port \*(Lt 1024 to any pass in proto tcp from any to any port 25 -pass in proto tcp from 10.0.0.0/8 port \*(Gt 1024 \e +pass in proto tcp from 10.0.0.0/8 port \*(Ge 1024 \e to ! 10.1.2.3 port != ssh pass in proto tcp from any os "OpenBSD" .Ed From nobody Tue Feb 11 13:48:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsjTd5dR2z5nby7; Tue, 11 Feb 2025 13:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsjTd4KL5z45yS; Tue, 11 Feb 2025 13:48:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739281733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRDjIIKKFJ6QBt/lNk/xIXwS8eVouFDUi7L1AXtbLfo=; b=YYIuyBMMjfTtnBVIyvarHXjmS+IFbZk4cG+RhvXzqrEeVj5MWcfTys8IcKal0CmjNs4U8F A14vWB9RgXxOoyYXyFLJq7WypwIMydRCkcf5mbhVze/cGMCuBjNj6Jt3x7MXZoatwt8EO3 NC9uYuev5FaBeRzWn7vEBWm1iVGWLZWjE0Fe4i5lH93Czarmim7ijLrkq6mE+D2ddVFiJ1 bNY+YwnBepAjI6kEuB1O3/zhpGZKtc6LqHwnZP3qhII+LuddjmPPLq2yrmP+6MKyPxnSVJ CMG7TrypOvWmKe1h7Al/ktLC+WmiktGC8xjuMJihVX50UIg7dhqDCYfPoGuXTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739281733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRDjIIKKFJ6QBt/lNk/xIXwS8eVouFDUi7L1AXtbLfo=; b=THezhBNvyBq3YroatgTqkgAaTaJgZrkrPIVP+kTMkgHCKS7pggSuFWZF1lmeS6XOpiU/tk YGG4fjdKGn6k43e5/ros7svp+INOomBMWDcdF9NjXTrwEWAlWd7bTk+i5ymYetlBdKIEjx sNb1xiGMmwqbce0uyzUWYD8zsD8eYJfD5v/z29sfEYZ+9DqKiYi0qv/yXw81c0c1MeTRx5 R4Q7cyDizk4UOUCUefwA8GX/HTDvByqUsSQFRQFKGF8EOJ48qoqxOuFaYWT8gnJWhRUi24 pE+ooj7l7N8Qe1qxLK2/54ruGTXFxd5ajfSVtqFKJgis+QP3oXkoyZFMsf2epQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739281733; a=rsa-sha256; cv=none; b=uN8A8B0b4IWRuJIq66+FjrP+ixQ9/iedbwQaZ6+W1FLa165yVM7KuhyoJtLrhTHj2r+YGb 9CXUUgXW+2hyQyScoLCi91TzubOQc1tDvINMBCFjYcy1EjmfXOhTxBY9tiz7DdRtkniY4a EaQmNwwUYHlS9OzyV1UmPTwXaB0PmDTvfwRyQjAtA7g56zfW2erHQhrqbi3uX+Birb1tci zg9Qf7b4fPOeLuUNb0QzIpn6/EPqTtmo/60egMFSGVN0Q7mHRPbX8xnYhNMPW0TvBzs8or cY12oP5TosPlzC6ScVDgr94jyqWp6JtxN8DnoXTm81z1TN4ZcOQMeezAR1hTXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsjTd3YPWzhm; Tue, 11 Feb 2025 13:48: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 51BDmr8q003220; Tue, 11 Feb 2025 13:48:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BDmrqn003217; Tue, 11 Feb 2025 13:48:53 GMT (envelope-from git) Date: Tue, 11 Feb 2025 13:48:53 GMT Message-Id: <202502111348.51BDmrqn003217@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Juraj Lutter Subject: git: c204fdb1c859 - stable/13 - periodic: set _localbase for periodic scripts from within periodic.conf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: otis X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c204fdb1c859847ff972acdcadf6002759038e11 Auto-Submitted: auto-generated The branch stable/13 has been updated by otis: URL: https://cgit.FreeBSD.org/src/commit/?id=c204fdb1c859847ff972acdcadf6002759038e11 commit c204fdb1c859847ff972acdcadf6002759038e11 Author: Juraj Lutter AuthorDate: 2024-11-08 13:38:19 +0000 Commit: Juraj Lutter CommitDate: 2025-02-11 13:48:14 +0000 periodic: set _localbase for periodic scripts from within periodic.conf Set _localbase variable from within /etc/defaults/periodic.conf for use by periodic scripts. This fixes e5d7100c09, no other functional changes intended. Reported by: gahr, otis Reviewed by: markj, gahr MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47486 (cherry picked from commit c8b89c11a1181e900acb638cfde7a55e92553175) --- usr.sbin/periodic/periodic.conf | 9 +++++++++ usr.sbin/periodic/periodic.sh | 12 ++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/usr.sbin/periodic/periodic.conf b/usr.sbin/periodic/periodic.conf index 088e3c612e70..36b3ff5b0070 100644 --- a/usr.sbin/periodic/periodic.conf +++ b/usr.sbin/periodic/periodic.conf @@ -15,6 +15,15 @@ # # +_set_localbase() { + _localbase=`/sbin/sysctl -n user.localbase 2> /dev/null` + # Set default value of _localbase if not previously set + : ${_localbase:="/usr/local"} +} + +# Set _localbase with fallback to /usr/local +_set_localbase + # What files override these defaults ? periodic_conf_files="/etc/periodic.conf /etc/periodic.conf.local ${_localbase}/etc/periodic.conf" diff --git a/usr.sbin/periodic/periodic.sh b/usr.sbin/periodic/periodic.sh index a45d6af73691..0a78a930b4b6 100644 --- a/usr.sbin/periodic/periodic.sh +++ b/usr.sbin/periodic/periodic.sh @@ -29,14 +29,6 @@ if [ $# -lt 1 ] ; then usage fi -_localbase=`/sbin/sysctl -n user.localbase 2> /dev/null` -# Set default value of _localbase if not previously set -: ${_localbase:="/usr/local"} - -# Use a deterministic path to match the preset from /etc/crontab in case -# periodic is run interactively. -export PATH=/sbin:/bin:/usr/sbin:/usr/bin:${_localbase}/sbin:${_localbase}/bin - # If possible, check the global system configuration file, # to see if there are additional dirs to check if [ -r /etc/defaults/periodic.conf ]; then @@ -44,6 +36,10 @@ if [ -r /etc/defaults/periodic.conf ]; then source_periodic_confs fi +# Use a deterministic path to match the preset from /etc/crontab in case +# periodic is run interactively. +export PATH=/sbin:/bin:/usr/sbin:/usr/bin:${_localbase}/sbin:${_localbase}/bin + host=`hostname` export host From nobody Tue Feb 11 13:49:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsjV21M22z5nc6T; Tue, 11 Feb 2025 13:49: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsjV155h2z46Gx; Tue, 11 Feb 2025 13:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739281753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D1OyvQjE6XnGAEZ0HneKc77iTBibrw+QbeD1GDiFRkQ=; b=IlMtxAS5/zjfiCU0QDlsDDixhktJTruWPs3ouYdKTNGJcWjBobiZ4sWfyViqmfD/uUCXtR b1sByvryPSxiBa00578g4jcp78qik/G8WbazZsqZw6MZmVp++8sxeOM/vC2DDq6acVf7ag vL/Eda2i8H6Hjv4YZhjAp1Rem4vs4bNvC3EeDKFMU4no5HBIIsKQQOmql9ftGRPi7TR00q JlwVkG2QmKO/3i+mlFPlYKPpzOjkueedIyipwu0Vri04PT9LdDD+5Vl2PxNrHS9cU0CXG6 dHwTZpOIMqirkYI15BcezDjQfRQ+Gg1HJZx+FhjWBiGCYQFrg/ZTN0O3eb5bhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739281753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D1OyvQjE6XnGAEZ0HneKc77iTBibrw+QbeD1GDiFRkQ=; b=kAUpZAmKuVKKff3CTHUJF/2QlFWKiNIrZ329lzfMuCLwyhneSMhJFv1bocjW7C4UBwNb5t 4ROvQgj+JDeydTXOIzbb+JdfHZ1THofp23Nsh6qokigMCZXaLaRLA9RFP1ZMUT3HFZOdvp K2m3HAmrPMrY0czSn5/H+ne+wMuYkbVrBVaQGTgUR+oeYwhweXtA3OzOF0bZ5ViehdMUhM kn+KbP38jr0EubkJTUYR3KY23A/8rQFxqGDZzfy34f+3QHdQfxNCv8ITTQnumWROFdHBQV dGN/KHflwdE5fHVlN0zlv0cNMLWqdoCRNoD0r6Yci3Acg2r7XGx9L9nHbtL8EQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739281753; a=rsa-sha256; cv=none; b=O9rSoe962xSNttMM0FaZz6Bt2yVWb2C5z9AMFVZUh7RsNs9auFpHX+hQ5mTJaBWCIKpJ/V aEkEKZ9iSYNnYj9eAHQfr+5G0tbEHl5waT8sf3HOjNZRu7/DM7CAoIEepuqyg6PYyAaaYQ q1+J7W3sfHkR9ac+htnvLJRDdL8SbEFjXB1CO9WeayDMPdnxu26Qp634+9G/9c+WbVimfQ JSc7AYZGIoeFasRc0yxpllkZyuj5dCMHbUkJe3pZurApaXtcT+UtQjfpdsEG1UtnmIrb9n LgQ+LhFEu/q0daJaMzaLKf9Y4qt+ks7ERaxvVK6LbVt/ezIV4agtFVzgfTUJ+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsjV147J8zhn; Tue, 11 Feb 2025 13:49: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 51BDnDFV003447; Tue, 11 Feb 2025 13:49:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BDnDPt003444; Tue, 11 Feb 2025 13:49:13 GMT (envelope-from git) Date: Tue, 11 Feb 2025 13:49:13 GMT Message-Id: <202502111349.51BDnDPt003444@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Juraj Lutter Subject: git: 860d98fc6d12 - stable/14 - periodic: set _localbase for periodic scripts from within periodic.conf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: otis X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 860d98fc6d1237ceea25469a26f7c7cc9c7e4e66 Auto-Submitted: auto-generated The branch stable/14 has been updated by otis: URL: https://cgit.FreeBSD.org/src/commit/?id=860d98fc6d1237ceea25469a26f7c7cc9c7e4e66 commit 860d98fc6d1237ceea25469a26f7c7cc9c7e4e66 Author: Juraj Lutter AuthorDate: 2024-11-08 13:38:19 +0000 Commit: Juraj Lutter CommitDate: 2025-02-11 13:47:28 +0000 periodic: set _localbase for periodic scripts from within periodic.conf Set _localbase variable from within /etc/defaults/periodic.conf for use by periodic scripts. This fixes e5d7100c09, no other functional changes intended. Reported by: gahr, otis Reviewed by: markj, gahr MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47486 (cherry picked from commit c8b89c11a1181e900acb638cfde7a55e92553175) --- usr.sbin/periodic/periodic.conf | 9 +++++++++ usr.sbin/periodic/periodic.sh | 12 ++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/usr.sbin/periodic/periodic.conf b/usr.sbin/periodic/periodic.conf index 3bb34d827564..7066c7b49fd1 100644 --- a/usr.sbin/periodic/periodic.conf +++ b/usr.sbin/periodic/periodic.conf @@ -15,6 +15,15 @@ # # +_set_localbase() { + _localbase=`/sbin/sysctl -n user.localbase 2> /dev/null` + # Set default value of _localbase if not previously set + : ${_localbase:="/usr/local"} +} + +# Set _localbase with fallback to /usr/local +_set_localbase + # What files override these defaults ? periodic_conf_files="/etc/periodic.conf /etc/periodic.conf.local ${_localbase}/etc/periodic.conf" diff --git a/usr.sbin/periodic/periodic.sh b/usr.sbin/periodic/periodic.sh index bb7ecaa01894..61e3022e63aa 100644 --- a/usr.sbin/periodic/periodic.sh +++ b/usr.sbin/periodic/periodic.sh @@ -29,14 +29,6 @@ if [ $# -lt 1 ] ; then usage fi -_localbase=`/sbin/sysctl -n user.localbase 2> /dev/null` -# Set default value of _localbase if not previously set -: ${_localbase:="/usr/local"} - -# Use a deterministic path to match the preset from /etc/crontab in case -# periodic is run interactively. -export PATH=/sbin:/bin:/usr/sbin:/usr/bin:${_localbase}/sbin:${_localbase}/bin - # If possible, check the global system configuration file, # to see if there are additional dirs to check if [ -r /etc/defaults/periodic.conf ]; then @@ -44,6 +36,10 @@ if [ -r /etc/defaults/periodic.conf ]; then source_periodic_confs fi +# Use a deterministic path to match the preset from /etc/crontab in case +# periodic is run interactively. +export PATH=/sbin:/bin:/usr/sbin:/usr/bin:${_localbase}/sbin:${_localbase}/bin + host=`hostname` export host From nobody Tue Feb 11 14:12:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysk0l3rQlz5ndZg; Tue, 11 Feb 2025 14:12: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk0l1tsgz4KJ0; Tue, 11 Feb 2025 14:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jysj1QY3rytVMgcgClky78JtOdEK+8WChO8SlvPnpUQ=; b=pAqRpq2rPXoQQ5dnaribYx02yu9wj8R+/pNkgGVaWtpaxkR5PW8ZHk/W/eONLpXvJky0x7 Umg7UIG9tXwMPd0l20lHbVvNoH9nGfs/5E7y4JDGEGH8na4c9owNZPqK4TxQzCsjZG7P3P kFfUwkrNIgdfZsPgs3tx6pgrCq+NLyfmuEtLrjYyKMryERIhVCgcy1glh7iuyHpqqzc26+ XQShYpUaBVhw6OyuTdjSR02+oAsGGkh/iIH6bV+LfJodKIOEbcgZiShN8Z5oaFG+INpoi5 WmsaSdm46mr3YPL4pDvhy+dQxmMnAM50J1Brsxdg7UpSsDw9u5WAd+4hNEZEsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jysj1QY3rytVMgcgClky78JtOdEK+8WChO8SlvPnpUQ=; b=FSPTB5MClxDF13Rh2yxo17Bp5LGUjVh0iXCs4a5OLnWr7FEmSsqg5hO+Z/dkl+FHOxzIzv G1WxGh3GOgCT7InEEKgzwQW8heUbqK4DyGXaDbM+Dfhm3qBGbbffSQf27nSoQpxRSkKbF8 8wGfjLkw8LwXWYLPtGWoxPXch2uX+OtkDSlEZcNcG3wVNclNLt8u4ledLdHgA+d4z+oFE3 VAiJ9/75CXKeIs34Q1jjH1F8h0VwlUNc257kju4lsvIAtfxHE8UK5SKkC0J3+GSNI+STk0 tCbAQ8loBa8rdZjykSpTYHnMUaep6AB2OXN4ghJ/KD9++MDX57tZNhouowYJOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283143; a=rsa-sha256; cv=none; b=FTWh1htEVNEyTrMlPqNrtZmUT4BlHBEb1P4E83QGP6Fm/07MIDYUKxQ/iZMocgmh76U8YU jTGNfCK9MbX/eMmIzVIup0l+m2Artho8FuQ7AINomQopMVvuDBhCpauUMK5K11DPfB+FeK +wwpYWl00zVkclmq++2LBlt/seacZbnJ543UhlSkYEJ8n6NLDjxMpUPwkyyzkn0gjrfzMu BZeeu7KcofnyYWinDnPdFaz9F0kId25BCgjS8LRm+zQGLVHT7FpSpEJr4oBknkLCLxdbmh xfjiJy9CJQao4tcGIaWzgJKOUTPJDs+ajcuDYFaKUB2t46YjciIAa6ke/D5cqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk0l1RJRz1RX; Tue, 11 Feb 2025 14:12: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 51BECNVh058720; Tue, 11 Feb 2025 14:12:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BECNQw058717; Tue, 11 Feb 2025 14:12:23 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:12:23 GMT Message-Id: <202502111412.51BECNQw058717@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: a3835cceb088 - main - pci: Cosmetic cleanups to MSI/MSI-X routines List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a3835cceb0882494628d5d075f99a86bd3464672 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a3835cceb0882494628d5d075f99a86bd3464672 commit a3835cceb0882494628d5d075f99a86bd3464672 Author: John Baldwin AuthorDate: 2025-02-11 14:11:10 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:11:10 +0000 pci: Cosmetic cleanups to MSI/MSI-X routines - Use unsigned integers for various variables. The count argument to the alloc method as well as the IRQ values used with the pcib_if.m methods should also be unsigned eventually. - Use mallocarray to allocate arrays - Use bool in a few places Reviewed by: Krzysztof Galazka Differential Revision: https://reviews.freebsd.org/D48889 --- sys/dev/pci/pci.c | 63 ++++++++++++++++++++++++++++------------------------ sys/dev/pci/pcivar.h | 4 ++-- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 84db16587bde..06bff2e96e89 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -1790,7 +1790,7 @@ pci_resume_msix(device_t dev) struct pcicfg_msix *msix = &dinfo->cfg.msix; struct msix_table_entry *mte; struct msix_vector *mv; - int i; + u_int i; if (msix->msix_alloc > 0) { /* First, mask all vectors. */ @@ -1823,10 +1823,11 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) struct pci_devinfo *dinfo = device_get_ivars(child); pcicfgregs *cfg = &dinfo->cfg; struct resource_list_entry *rle; - int actual, error, i, irq, max; + u_int actual, i, max; + int error, irq; /* Don't let count == 0 get us into trouble. */ - if (*count == 0) + if (*count < 1) return (EINVAL); /* If rid 0 is allocated, then fail. */ @@ -1886,7 +1887,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) device_printf(child, "using IRQ %ju for MSI-X\n", rle->start); else { - int run; + bool run; /* * Be fancy and try to print contiguous runs of @@ -1895,14 +1896,14 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) */ device_printf(child, "using IRQs %ju", rle->start); irq = rle->start; - run = 0; + run = false; for (i = 1; i < actual; i++) { rle = resource_list_find(&dinfo->resources, SYS_RES_IRQ, i + 1); /* Still in a run? */ if (rle->start == irq + 1) { - run = 1; + run = true; irq++; continue; } @@ -1910,7 +1911,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) /* Finish previous range. */ if (run) { printf("-%d", irq); - run = 0; + run = false; } /* Start new range. */ @@ -1930,10 +1931,10 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) pci_mask_msix(child, i); /* Allocate and initialize vector data and virtual table. */ - cfg->msix.msix_vectors = malloc(sizeof(struct msix_vector) * actual, - M_DEVBUF, M_WAITOK | M_ZERO); - cfg->msix.msix_table = malloc(sizeof(struct msix_table_entry) * actual, + cfg->msix.msix_vectors = mallocarray(actual, sizeof(struct msix_vector), M_DEVBUF, M_WAITOK | M_ZERO); + cfg->msix.msix_table = mallocarray(actual, + sizeof(struct msix_table_entry), M_DEVBUF, M_WAITOK | M_ZERO); for (i = 0; i < actual; i++) { rle = resource_list_find(&dinfo->resources, SYS_RES_IRQ, i + 1); cfg->msix.msix_vectors[i].mv_irq = rle->start; @@ -1998,14 +1999,15 @@ pci_remap_msix_method(device_t dev, device_t child, int count, struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msix *msix = &dinfo->cfg.msix; struct resource_list_entry *rle; - int i, irq, j, *used; + u_int i, irq, j; + bool *used; /* * Have to have at least one message in the table but the * table can't be bigger than the actual MSI-X table in the * device. */ - if (count == 0 || count > msix->msix_msgnum) + if (count < 1 || count > msix->msix_msgnum) return (EINVAL); /* Sanity check the vectors. */ @@ -2018,17 +2020,17 @@ pci_remap_msix_method(device_t dev, device_t child, int count, * It's a big pain to support it, and it doesn't really make * sense anyway. Also, at least one vector must be used. */ - used = malloc(sizeof(int) * msix->msix_alloc, M_DEVBUF, M_WAITOK | + used = mallocarray(msix->msix_alloc, sizeof(*used), M_DEVBUF, M_WAITOK | M_ZERO); for (i = 0; i < count; i++) if (vectors[i] != 0) - used[vectors[i] - 1] = 1; + used[vectors[i] - 1] = true; for (i = 0; i < msix->msix_alloc - 1; i++) - if (used[i] == 0 && used[i + 1] == 1) { + if (!used[i] && used[i + 1]) { free(used, M_DEVBUF); return (EINVAL); } - if (used[0] != 1) { + if (!used[0]) { free(used, M_DEVBUF); return (EINVAL); } @@ -2061,7 +2063,7 @@ pci_remap_msix_method(device_t dev, device_t child, int count, * used. */ free(msix->msix_table, M_DEVBUF); - msix->msix_table = malloc(sizeof(struct msix_table_entry) * count, + msix->msix_table = mallocarray(count, sizeof(struct msix_table_entry), M_DEVBUF, M_WAITOK | M_ZERO); for (i = 0; i < count; i++) msix->msix_table[i].mte_vector = vectors[i]; @@ -2069,15 +2071,15 @@ pci_remap_msix_method(device_t dev, device_t child, int count, /* Free any unused IRQs and resize the vectors array if necessary. */ j = msix->msix_alloc - 1; - if (used[j] == 0) { + if (!used[j]) { struct msix_vector *vec; - while (used[j] == 0) { + while (!used[j]) { PCIB_RELEASE_MSIX(device_get_parent(dev), child, msix->msix_vectors[j].mv_irq); j--; } - vec = malloc(sizeof(struct msix_vector) * (j + 1), M_DEVBUF, + vec = mallocarray(j + 1, sizeof(struct msix_vector), M_DEVBUF, M_WAITOK); bcopy(msix->msix_vectors, vec, sizeof(struct msix_vector) * (j + 1)); @@ -2119,7 +2121,7 @@ pci_release_msix(device_t dev, device_t child) struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msix *msix = &dinfo->cfg.msix; struct resource_list_entry *rle; - int i; + u_int i; /* Do we have any messages to release? */ if (msix->msix_alloc == 0) @@ -2440,7 +2442,8 @@ pci_remap_intr_method(device_t bus, device_t dev, u_int irq) struct msix_vector *mv; uint64_t addr; uint32_t data; - int error, i, j; + u_int i, j; + int error; /* * Handle MSI first. We try to find this IRQ among our list @@ -2605,11 +2608,12 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) struct pci_devinfo *dinfo = device_get_ivars(child); pcicfgregs *cfg = &dinfo->cfg; struct resource_list_entry *rle; - int actual, error, i, irqs[32]; + u_int actual, i; + int error, irqs[32]; uint16_t ctrl; /* Don't let count == 0 get us into trouble. */ - if (*count == 0) + if (*count < 1) return (EINVAL); /* If rid 0 is allocated, then fail. */ @@ -2670,7 +2674,7 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) if (actual == 1) device_printf(child, "using IRQ %d for MSI\n", irqs[0]); else { - int run; + bool run; /* * Be fancy and try to print contiguous runs @@ -2678,18 +2682,18 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) * we are in a range. */ device_printf(child, "using IRQs %d", irqs[0]); - run = 0; + run = false; for (i = 1; i < actual; i++) { /* Still in a run? */ if (irqs[i] == irqs[i - 1] + 1) { - run = 1; + run = true; continue; } /* Finish previous range. */ if (run) { printf("-%d", irqs[i - 1]); - run = 0; + run = false; } /* Start new range. */ @@ -2724,7 +2728,8 @@ pci_release_msi_method(device_t dev, device_t child) struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msi *msi = &dinfo->cfg.msi; struct resource_list_entry *rle; - int error, i, irqs[32]; + u_int i, irqs[32]; + int error; /* Try MSI-X first. */ error = pci_release_msix(dev, child); diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h index 1c7b772afea9..0041c5a22b49 100644 --- a/sys/dev/pci/pcivar.h +++ b/sys/dev/pci/pcivar.h @@ -117,8 +117,8 @@ struct pcicfg_msix { uint8_t msix_pba_bar; /* BAR containing PBA. */ uint32_t msix_table_offset; uint32_t msix_pba_offset; - int msix_alloc; /* Number of allocated vectors. */ - int msix_table_len; /* Length of virtual table. */ + u_int msix_alloc; /* Number of allocated vectors. */ + u_int msix_table_len; /* Length of virtual table. */ struct msix_table_entry *msix_table; /* Virtual table. */ struct msix_vector *msix_vectors; /* Array of allocated vectors. */ struct resource *msix_table_res; /* Resource containing vector table. */ From nobody Tue Feb 11 14:12:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysk0n2dFhz5ndwn; Tue, 11 Feb 2025 14:12: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk0m357pz4KFm; Tue, 11 Feb 2025 14:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIMTI9re4umcWLl4UjH5DaVumSEz3WFZ824igvH8kyo=; b=k3a6GVPwYvG2LeBdmw+qClWOSe8qn6chOtA3Q0E1LeijnAfgkmJkhGG7XAvbLpp+WqIxgn EMJ+l4cnjNOvQUF2gfh+poXPZi7BqE5+RDls/HNuyIjSyUUDSyMbJbRxFXoRen7J9/S8lk M+Z4YAMSPNqfEtXF9S+aVnMOG5byCIPkR0W/Q4vhgHKHMrseP7HFH6gtrynjICAUDSrU8H /pzeft6Ifi0r/4wI66WLJ73181McYE1V6p7hh8fpS4Tx5I0VMdOBN7SRZBXfbPB+5z4158 QXAuZbuu/dBEcbPE7jLZWqHwQLJfdcpjM0iKf+V74Udp7mc1y7C2bHGY2+srsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIMTI9re4umcWLl4UjH5DaVumSEz3WFZ824igvH8kyo=; b=Zt5p2jlbrhCp8hy4XZNMReAQAzXp7Zs7VyVhbBlC3wqSfWn8TKbDPNFlR88YjSgoer2TVS lrMdGAoZfQxjw3jY0zTGzjMGe7akDPhUGsxJWh9F2joRYIq71PX1mBUy2NtneNHErIwr4m dRV4RNhHcaQZXgHNGN0N8rYU4jfb2wGW2bXZXZj9tGhRhboT82Vr9NU3YWPaNe40hOtnCm uB/qeroK3Z7hkpWeDkWTTHQrCCncjXxQiD7O5RcY+l8mJUShXiOd7g/aEfG5Hpfn7JMAuY a/inwv0+1OepFMmau/c8UCoGOK9E+hZgMrlItgvzzCff33UL9bQfDjSPTVuxqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283144; a=rsa-sha256; cv=none; b=FNgdd7+KpeLFpoqaloy6d0HDuBc2AxhOZPa42HCNZOYSs6k8GsjacQxL4RQ+YxKH8YP25N 7E1AQCTSL7zkvccyVnJfA+oSykgpyDucA8yTSbOfs4Du3ejUaNkEX63AHWubkLX/wL73pc EOyO4TuKj/o3EieF5dY0sd7wdhGfmyjfFo6am/Js8HxeU+W6w0bqjwOGcpPrBe2OxKotfH tFVmKuvrV3znSBtU0D+Sxl35iU8n7/pHby5sbVXMWBogh3mEKMhkNWw9fVtozV+ZXVZmyC Z3b1F5Qz15eYD2ziUgeAHJ2zKH6ZzML3jeXF2m5+uqUY4X54occgQ87qtm1YUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk0m2f2jzcG; Tue, 11 Feb 2025 14:12: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 51BECOG1058753; Tue, 11 Feb 2025 14:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BECOJK058750; Tue, 11 Feb 2025 14:12:24 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:12:24 GMT Message-Id: <202502111412.51BECOJK058750@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 346020138a0f - main - pci: Don't cache the count of MSI/MSI-X messages before allocation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 346020138a0fd20085ebc285f090df38d7d18527 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=346020138a0fd20085ebc285f090df38d7d18527 commit 346020138a0fd20085ebc285f090df38d7d18527 Author: John Baldwin AuthorDate: 2025-02-11 14:11:48 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:11:48 +0000 pci: Don't cache the count of MSI/MSI-X messages before allocation A device can in theory change the read-only fields in the MSI/MSI-X control registers that indicate the maximum number of supported registers in response to changing other device registers. For example, certain Intel networking VFs change the number of messages as a result of changes in the PCI_IOV_ADD_VF callback. To support this, always read the current value of the relevant control register in the *_count and *_alloc methods. Once messages have been allocated, the control register value remains cached. Reported by: Krzysztof Galazka Reviewed by: Krzysztof Galazka , erj Differential Revision: https://reviews.freebsd.org/D48890 --- sys/dev/iavf/iavf_lib.c | 25 ---------------- sys/dev/iavf/iavf_lib.h | 1 - sys/dev/iavf/if_iavf_iflib.c | 3 -- sys/dev/pci/pci.c | 70 ++++++++++++++++++++++++++------------------ sys/dev/pci/pcireg.h | 3 ++ sys/dev/pci/pcivar.h | 2 -- 6 files changed, 45 insertions(+), 59 deletions(-) diff --git a/sys/dev/iavf/iavf_lib.c b/sys/dev/iavf/iavf_lib.c index 3116ce0501c2..433d31904ea4 100644 --- a/sys/dev/iavf/iavf_lib.c +++ b/sys/dev/iavf/iavf_lib.c @@ -1463,31 +1463,6 @@ iavf_mark_del_vlan_filter(struct iavf_sc *sc, u16 vtag) return (i); } -/** - * iavf_update_msix_devinfo - Fix MSIX values for pci_msix_count() - * @dev: pointer to kernel device - * - * Fix cached MSI-X control register information. This is a workaround - * for an issue where VFs spawned in non-passthrough mode on FreeBSD - * will have their PCI information cached before the PF driver - * finishes updating their PCI information. - * - * @pre Must be called before pci_msix_count() - */ -void -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); - 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; -} - /** * iavf_disable_queues_with_retries - Send PF multiple DISABLE_QUEUES messages * @sc: device softc diff --git a/sys/dev/iavf/iavf_lib.h b/sys/dev/iavf/iavf_lib.h index f3ccd9f0c52f..2f874b2e4410 100644 --- a/sys/dev/iavf/iavf_lib.h +++ b/sys/dev/iavf/iavf_lib.h @@ -474,7 +474,6 @@ struct iavf_mac_filter * u64 iavf_baudrate_from_link_speed(struct iavf_sc *sc); void iavf_add_vlan_filter(struct iavf_sc *sc, u16 vtag); int iavf_mark_del_vlan_filter(struct iavf_sc *sc, u16 vtag); -void iavf_update_msix_devinfo(device_t dev); void iavf_disable_queues_with_retries(struct iavf_sc *); int iavf_sysctl_current_speed(SYSCTL_HANDLER_ARGS); diff --git a/sys/dev/iavf/if_iavf_iflib.c b/sys/dev/iavf/if_iavf_iflib.c index d460df6e0d25..e4dd3b1e59a4 100644 --- a/sys/dev/iavf/if_iavf_iflib.c +++ b/sys/dev/iavf/if_iavf_iflib.c @@ -379,9 +379,6 @@ iavf_if_attach_pre(if_ctx_t ctx) scctx->isc_capabilities = scctx->isc_capenable = IAVF_CAPS; scctx->isc_tx_csum_flags = CSUM_OFFLOAD; - /* Update OS cache of MSIX control register values */ - iavf_update_msix_devinfo(dev); - return (0); err_vc_tq: diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 06bff2e96e89..ad13e7f9a3a4 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -952,14 +952,10 @@ pci_read_cap(device_t pcib, pcicfgregs *cfg) case PCIY_MSI: /* PCI MSI */ cfg->msi.msi_location = ptr; cfg->msi.msi_ctrl = REG(ptr + PCIR_MSI_CTRL, 2); - cfg->msi.msi_msgnum = 1 << ((cfg->msi.msi_ctrl & - PCIM_MSICTRL_MMC_MASK)>>1); break; case PCIY_MSIX: /* PCI MSI-X */ cfg->msix.msix_location = ptr; cfg->msix.msix_ctrl = REG(ptr + PCIR_MSIX_CTRL, 2); - cfg->msix.msix_msgnum = (cfg->msix.msix_ctrl & - PCIM_MSIXCTRL_TABLE_SIZE) + 1; val = REG(ptr + PCIR_MSIX_TABLE, 4); cfg->msix.msix_table_bar = PCIR_BAR(val & PCIM_MSIX_BIR_MASK); @@ -1734,7 +1730,7 @@ pci_mask_msix(device_t dev, u_int index) struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset, val; - KASSERT(msix->msix_msgnum > index, ("bogus index")); + KASSERT(PCI_MSIX_MSGNUM(msix->msix_ctrl) > index, ("bogus index")); offset = msix->msix_table_offset + index * 16 + 12; val = bus_read_4(msix->msix_table_res, offset); val |= PCIM_MSIX_VCTRL_MASK; @@ -1753,7 +1749,7 @@ pci_unmask_msix(device_t dev, u_int index) struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset, val; - KASSERT(msix->msix_table_len > index, ("bogus index")); + KASSERT(PCI_MSIX_MSGNUM(msix->msix_ctrl) > index, ("bogus index")); offset = msix->msix_table_offset + index * 16 + 12; val = bus_read_4(msix->msix_table_res, offset); val &= ~PCIM_MSIX_VCTRL_MASK; @@ -1790,11 +1786,13 @@ pci_resume_msix(device_t dev) struct pcicfg_msix *msix = &dinfo->cfg.msix; struct msix_table_entry *mte; struct msix_vector *mv; - u_int i; + u_int i, msgnum; if (msix->msix_alloc > 0) { + msgnum = PCI_MSIX_MSGNUM(msix->msix_ctrl); + /* First, mask all vectors. */ - for (i = 0; i < msix->msix_msgnum; i++) + for (i = 0; i < msgnum; i++) pci_mask_msix(dev, i); /* Second, program any messages with at least one handler. */ @@ -1825,6 +1823,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) struct resource_list_entry *rle; u_int actual, i, max; int error, irq; + uint16_t ctrl, msgnum; /* Don't let count == 0 get us into trouble. */ if (*count < 1) @@ -1863,11 +1862,14 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) } cfg->msix.msix_pba_res = rle->res; + ctrl = pci_read_config(child, cfg->msix.msix_location + PCIR_MSIX_CTRL, + 2); + msgnum = PCI_MSIX_MSGNUM(ctrl); if (bootverbose) device_printf(child, "attempting to allocate %d MSI-X vectors (%d supported)\n", - *count, cfg->msix.msix_msgnum); - max = min(*count, cfg->msix.msix_msgnum); + *count, msgnum); + max = min(*count, msgnum); for (i = 0; i < max; i++) { /* Allocate a message. */ error = PCIB_ALLOC_MSIX(device_get_parent(dev), child, &irq); @@ -1927,7 +1929,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) } /* Mask all vectors. */ - for (i = 0; i < cfg->msix.msix_msgnum; i++) + for (i = 0; i < msgnum; i++) pci_mask_msix(child, i); /* Allocate and initialize vector data and virtual table. */ @@ -1942,9 +1944,10 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) } /* Update control register to enable MSI-X. */ - cfg->msix.msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; + ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; pci_write_config(child, cfg->msix.msix_location + PCIR_MSIX_CTRL, - cfg->msix.msix_ctrl, 2); + ctrl, 2); + cfg->msix.msix_ctrl = ctrl; /* Update counts of alloc'd messages. */ cfg->msix.msix_alloc = actual; @@ -2007,7 +2010,7 @@ pci_remap_msix_method(device_t dev, device_t child, int count, * table can't be bigger than the actual MSI-X table in the * device. */ - if (count < 1 || count > msix->msix_msgnum) + if (count < 1 || count > PCI_MSIX_MSGNUM(msix->msix_ctrl)) return (EINVAL); /* Sanity check the vectors. */ @@ -2173,9 +2176,13 @@ pci_msix_count_method(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msix *msix = &dinfo->cfg.msix; + uint16_t ctrl; - if (pci_do_msix && msix->msix_location != 0) - return (msix->msix_msgnum); + if (pci_do_msix && msix->msix_location != 0) { + ctrl = pci_read_config(child, msix->msix_location + + PCIR_MSI_CTRL, 2); + return (PCI_MSIX_MSGNUM(ctrl)); + } return (0); } @@ -2610,7 +2617,7 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) struct resource_list_entry *rle; u_int actual, i; int error, irqs[32]; - uint16_t ctrl; + uint16_t ctrl, msgnum; /* Don't let count == 0 get us into trouble. */ if (*count < 1) @@ -2633,13 +2640,15 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) if (cfg->msi.msi_location == 0 || !pci_do_msi) return (ENODEV); + ctrl = pci_read_config(child, cfg->msi.msi_location + PCIR_MSI_CTRL, 2); + msgnum = PCI_MSI_MSGNUM(ctrl); if (bootverbose) device_printf(child, - "attempting to allocate %d MSI vectors (%d supported)\n", - *count, cfg->msi.msi_msgnum); + "attempting to allocate %d MSI vectors (%u supported)\n", + *count, msgnum); /* Don't ask for more than the device supports. */ - actual = min(*count, cfg->msi.msi_msgnum); + actual = min(*count, msgnum); /* Don't ask for more than 32 messages. */ actual = min(actual, 32); @@ -2708,7 +2717,6 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) } /* Update control register with actual count. */ - ctrl = cfg->msi.msi_ctrl; ctrl &= ~PCIM_MSICTRL_MME_MASK; ctrl |= (ffs(actual) - 1) << 4; cfg->msi.msi_ctrl = ctrl; @@ -2782,9 +2790,13 @@ pci_msi_count_method(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msi *msi = &dinfo->cfg.msi; + uint16_t ctrl; - if (pci_do_msi && msi->msi_location != 0) - return (msi->msi_msgnum); + if (pci_do_msi && msi->msi_location != 0) { + ctrl = pci_read_config(child, msi->msi_location + PCIR_MSI_CTRL, + 2); + return (PCI_MSI_MSGNUM(ctrl)); + } return (0); } @@ -3038,19 +3050,21 @@ pci_print_verbose(struct pci_devinfo *dinfo) status & PCIM_PSTAT_DMASK); } if (cfg->msi.msi_location) { - int ctrl; + uint16_t ctrl, msgnum; ctrl = cfg->msi.msi_ctrl; + msgnum = PCI_MSI_MSGNUM(ctrl); printf("\tMSI supports %d message%s%s%s\n", - cfg->msi.msi_msgnum, - (cfg->msi.msi_msgnum == 1) ? "" : "s", + msgnum, (msgnum == 1) ? "" : "s", (ctrl & PCIM_MSICTRL_64BIT) ? ", 64 bit" : "", (ctrl & PCIM_MSICTRL_VECTOR) ? ", vector masks":""); } if (cfg->msix.msix_location) { + uint16_t msgnum; + + msgnum = PCI_MSIX_MSGNUM(cfg->msix.msix_ctrl); printf("\tMSI-X supports %d message%s ", - cfg->msix.msix_msgnum, - (cfg->msix.msix_msgnum == 1) ? "" : "s"); + msgnum, (msgnum == 1) ? "" : "s"); if (cfg->msix.msix_table_bar == cfg->msix.msix_pba_bar) printf("in map 0x%x\n", cfg->msix.msix_table_bar); diff --git a/sys/dev/pci/pcireg.h b/sys/dev/pci/pcireg.h index 623deb8b4505..f6aaf30611e4 100644 --- a/sys/dev/pci/pcireg.h +++ b/sys/dev/pci/pcireg.h @@ -616,6 +616,8 @@ #define PCIM_MSICTRL_MMC_16 0x0008 #define PCIM_MSICTRL_MMC_32 0x000A #define PCIM_MSICTRL_MSI_ENABLE 0x0001 +#define PCI_MSI_MSGNUM(ctrl) \ + (1 << (((ctrl) & PCIM_MSICTRL_MMC_MASK) >> 1)) #define PCIR_MSI_ADDR 0x4 #define PCIR_MSI_ADDR_HIGH 0x8 #define PCIR_MSI_DATA 0x8 @@ -965,6 +967,7 @@ #define PCIM_MSIXCTRL_MSIX_ENABLE 0x8000 #define PCIM_MSIXCTRL_FUNCTION_MASK 0x4000 #define PCIM_MSIXCTRL_TABLE_SIZE 0x07FF +#define PCI_MSIX_MSGNUM(ctrl) (((ctrl) & PCIM_MSIXCTRL_TABLE_SIZE) + 1) #define PCIR_MSIX_TABLE 0x4 #define PCIR_MSIX_PBA 0x8 #define PCIM_MSIX_BIR_MASK 0x7 diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h index 0041c5a22b49..c0d54f8e58e0 100644 --- a/sys/dev/pci/pcivar.h +++ b/sys/dev/pci/pcivar.h @@ -90,7 +90,6 @@ struct pcicfg_vpd { struct pcicfg_msi { uint16_t msi_ctrl; /* Message Control */ uint8_t msi_location; /* Offset of MSI capability registers. */ - uint8_t msi_msgnum; /* Number of messages */ int msi_alloc; /* Number of allocated messages. */ uint64_t msi_addr; /* Contents of address register. */ uint16_t msi_data; /* Contents of data register. */ @@ -111,7 +110,6 @@ struct msix_table_entry { struct pcicfg_msix { uint16_t msix_ctrl; /* Message Control */ - uint16_t msix_msgnum; /* Number of messages */ uint8_t msix_location; /* Offset of MSI-X capability registers. */ uint8_t msix_table_bar; /* BAR containing vector table. */ uint8_t msix_pba_bar; /* BAR containing PBA. */ From nobody Tue Feb 11 14:13:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysk2C3n5Dz5ndkY; Tue, 11 Feb 2025 14:13: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk2C3HWsz4L6L; Tue, 11 Feb 2025 14:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQKEQ8g2HO86ssIP6jbJIrJx9La8Kh5C+We1dRzC8b4=; b=TxlTAEbsSH6zCr1yuXuUqaZbLX7vgxNcMB+QvsPZg5fkJ2bLdHmir9YFQ3/qAKf+KSTKum VOYPImWOKKr3CnEULByongD+gsKy9l9LQxEZxft+2Ojio3Djc2Dh5byZKyFpYFPzrHE9Kf y0eLD+RFUziugG7bamur+fyQ/F0e7/adgdS472RJ5AYGqELTvLZVYcnmRH4hKQDvQpwqFv V1v1W2Mpco/QRU/2nMu4bOHHlQ/+VPrgsW/w7LiVpfqv8SVLSMTqVUoFA+GsIMH0qI7fIt sg3B6lgKxd5gMt1NAuaB0L228fjcKrvzClyD+GIeYwAtCs2RNz3OA8TB5u+Epg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQKEQ8g2HO86ssIP6jbJIrJx9La8Kh5C+We1dRzC8b4=; b=Y5FD1eut8X8w5BWpPNpQXKVlnJKQ8LIjX4vW7w9yJTgZumGCp4MO/2XEUPn4og+RbzJfsR UrIa5v5f/kOOBVKBeM+mTTVJYi7BhGxPuKLLhmDHIU8G8eTD4hi6gvF4uZ+8IIUK3yzVwX Bin/dKd01cugDMxhEwdXfs2z2FJE9uASEeTHXhUOML5Lflf+iZ8/MUMl1d2ngfrakzj0Yp fYLeRhVQIYjuA3/1QE9THRJekc5iQ0cC3uSdLOAUdIK6q5LDxCxgJCP39yHBB0ecKMhFZm wmxsV2OSq++WxV4YBsXpB2qmKGfpcw+noDg1RWgvCvhC6TMWD/rSF/9kKkOdIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283219; a=rsa-sha256; cv=none; b=Tb6xJ0QqXTSCP0OMPxqhPE0L9awbTVLu114JJwjtnvSMfCnYJUkPdghWsUvchbf+3v2EHR Oul5KPgRuPbfpf1vMbawXnSn9bvABMIb4/+hjFzwtuGEVbYu0w93UmhnL4berLqCTk8e8w RCLvatWBHb2PVopyXaBtYn3iNuKCqpFaZvur5M8PmVOOhZpgwyHIe6uKcEuBPRywbT0z8r 9qTC/LJPzqzjHTn+mznCXti1YREC3GzKRL9vxPebtxH/EjfZdw0cgrS2QJDByJgaJ88DoS UpFu1z9GTytD8Jp7OLOcycX5XFFIiuxSdDAYlYgq0D6yzz5EgExFr9t3EywKyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk2C2lLgzcJ; Tue, 11 Feb 2025 14:13: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 51BEDdNG059283; Tue, 11 Feb 2025 14:13:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BEDdq7059280; Tue, 11 Feb 2025 14:13:39 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:13:39 GMT Message-Id: <202502111413.51BEDdq7059280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: d35b039af944 - main - gpart: Stop documenting freebsd-vinum partition types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d35b039af944f68fe99bb3ad2f0c6d5ec7917096 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d35b039af944f68fe99bb3ad2f0c6d5ec7917096 commit d35b039af944f68fe99bb3ad2f0c6d5ec7917096 Author: John Baldwin AuthorDate: 2025-02-11 14:13:05 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:13:32 +0000 gpart: Stop documenting freebsd-vinum partition types Support for the partition types is still retained so that tools can display existing partitions. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D48535 --- lib/geom/part/gpart.8 | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 121e6d6a5119..f76c1d9d5d6c 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 2, 2024 +.Dd February 11, 2025 .Dt GPART 8 .Os .Sh NAME @@ -681,15 +681,6 @@ The scheme-specific types are for APM, and .Qq Li "!516e7cb6-6ecf-11d6-8ff8-00022d09712b" for GPT. -.It Cm freebsd-vinum -A -.Fx -partition that contains a Vinum volume. -The scheme-specific types are -.Qq Li "!FreeBSD-Vinum" -for APM, and -.Qq Li "!516e7cb8-6ecf-11d6-8ff8-00022d09712b" -for GPT. .It Cm freebsd-zfs A .Fx From nobody Tue Feb 11 14:17:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysk795Zmqz5ndm0; Tue, 11 Feb 2025 14:17: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk794sNQz4MBy; Tue, 11 Feb 2025 14:17:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kkZlSFmtFpoeXzkTMUQQXs1aaiTbcEmAKVe0Okpi6s=; b=LyqtByNIIf4LTJbLbl2ICkpVSZKGy8W0k3EfWSZJ2mf1iwvag4YuNKBIPZewadRRhlWCUw BpnjhHdkRjCMPw2J+C4j+zLdtJ1CZYkLSiHAfFxS8HPZ54YBveq1ACLqQeuoz3jZmkfrmr 6jt8aQtYjPvCxy/WmPNpnx96N2EYT2kyhICNyAdfH2bSee2On5I9dID4hDDEJ0NNbYCKAM F2edKo1f7Y5yIidDN/lw1WWoAaX9OrrtXDaIv/VFI1K81S+2NnHsICBqpkv62s/Vs2lWzA DS0EgZAXj19UwBETbFf2DPXzOue/IHsKpK2u1qv3TY8DyQ7CX2JXINgYI461DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kkZlSFmtFpoeXzkTMUQQXs1aaiTbcEmAKVe0Okpi6s=; b=toBE6riQ5kTEnz900NaXpluwp5eTwmqGNcCN5qhDn+6NE3YlufiW19/mZO7YsCDic4j1iw Q1c/E1VOwfk9pJF4aL1q2q7G3xCEoQYbOOu1zGubtwOs5f4wey5VbM42Apws55e9+ds4Ut 6xr7Xku3pTf93qHHkN69mMGdYOHYpkXXSOT9tsuiLe/K7hTJLt7L8u6dtStdKyJi5MZmQF LgNJnnAh4BaotKFGTs+eWHSRCJyh/EOivnO5dXrb6sKIgAAxqNfsFypynZJyuj+CvvazAT Imo2ISP5wQDfCUcrl2g1jaEGpfF+UiH6qp4dS4FdHb1TZleT0wKfq5lSsVborA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283477; a=rsa-sha256; cv=none; b=FoI2O2yzqSh6Qp9rk3Uv66WsYLjRjb5n3Yq4ucM+fxkG2BWZDI/LnXZDfgEjTvZe9nmaC4 biVtNpWp4fEPx2uQLiCd5fWlL7+MsyQfwxXjvSL+HwCgOXIC7IApDrOU+EzP2LxtldJIYF Wdqh9HnBaQFlBwQcakzUYEb9CNZw4ZBzFLFbJJdi2d4zLWrBwYeu2sJkAUaeK7usWCX6vT hz2myhjZ3EcGKEKrq5vF575GucQQ0M4EXbyEKyRQhuZQbeaa0+8Ok5hL1Ui5a+9dfzku2A gvrXfeRbXvhip4d0HI6vjjigGfqfSJXjgl33Swq5IxacKzR8Cimg27xuYpmllA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk7948L2z1rk; Tue, 11 Feb 2025 14:17: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 51BEHvXf060723; Tue, 11 Feb 2025 14:17:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BEHvPX060720; Tue, 11 Feb 2025 14:17:57 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:17:57 GMT Message-Id: <202502111417.51BEHvPX060720@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: ca4eddea97c5 - main - src: Use gnu17 as the default C standard for userland instead of gnu99 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ca4eddea97c54a567c25e0fcf4641a6885f33bdf Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ca4eddea97c54a567c25e0fcf4641a6885f33bdf commit ca4eddea97c54a567c25e0fcf4641a6885f33bdf Author: Minsoo Choo AuthorDate: 2025-01-09 16:13:06 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:16:25 +0000 src: Use gnu17 as the default C standard for userland instead of gnu99 Tracking newer versions of C (and C++) permits assuming newer language features in the base system. Some C11 extensions are already used in the base system but implemented on top of GNU C extensions such as _Alignas and _Static_assert. In some cases the fallback versions in cdefs.h are more limited than the native C11 extensions. Even though C11 is the next major version of C, C17 is chosen instead since C17 does not add new features to C but merely fixes defects in C11. It is also well supported by a wide range of clang (7.0.0+) and GCC (8.1+) versions. Along with changing the default, this change also removes explicit requests for c11 via the CSTD variable in various Makefiles. Libraries and binaries for ZFS continue to use c99. PR: 284039 (exp-run) Reviewed by: imp, arichardson, emaste Differential Revision: https://reviews.freebsd.org/D43237 --- libexec/tftpd/tests/Makefile | 1 - sbin/newfs_msdos/Makefile | 1 - share/mk/bsd.sys.mk | 3 +-- usr.bin/sort/Makefile | 1 - usr.bin/zstd/Makefile | 1 - usr.sbin/makefs/Makefile | 1 - 6 files changed, 1 insertion(+), 7 deletions(-) diff --git a/libexec/tftpd/tests/Makefile b/libexec/tftpd/tests/Makefile index 661120335ace..d1faca03331e 100644 --- a/libexec/tftpd/tests/Makefile +++ b/libexec/tftpd/tests/Makefile @@ -4,6 +4,5 @@ ATF_TESTS_C= functional TEST_METADATA.functional+= timeout=15 LIBADD= util -CSTD= c11 .include diff --git a/sbin/newfs_msdos/Makefile b/sbin/newfs_msdos/Makefile index a3ea6a6a6750..bd5b3486b6b6 100644 --- a/sbin/newfs_msdos/Makefile +++ b/sbin/newfs_msdos/Makefile @@ -9,7 +9,6 @@ SRCS= newfs_msdos.c mkfs_msdos.c .if ${MACHINE_CPUARCH} == "arm" WARNS?= 3 .endif -CSTD= c11 HAS_TESTS= SUBDIR.${MK_TESTS}+= tests diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index c136bf1e1aff..63496e9b8ccd 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -10,8 +10,7 @@ .include -# the default is gnu99 for now -CSTD?= gnu99 +CSTD?= gnu17 .if ${CSTD} == "c89" || ${CSTD} == "c90" CFLAGS+= -std=iso9899:1990 diff --git a/usr.bin/sort/Makefile b/usr.bin/sort/Makefile index 561af217af79..46cc431edd31 100644 --- a/usr.bin/sort/Makefile +++ b/usr.bin/sort/Makefile @@ -3,7 +3,6 @@ PACKAGE= runtime PROG= sort SRCS= bwstring.c coll.c file.c mem.c radixsort.c sort.c vsort.c -CSTD= c11 sort.1: sort.1.in sed ${MAN_SUB} ${.ALLSRC} >${.TARGET} diff --git a/usr.bin/zstd/Makefile b/usr.bin/zstd/Makefile index dd54acbf83cd..0e73e2eb0dd2 100644 --- a/usr.bin/zstd/Makefile +++ b/usr.bin/zstd/Makefile @@ -25,7 +25,6 @@ MLINKS= zstd.1 unzstd.1 \ zstd.1 zstdcat.1 \ zstd.1 zstdmt.1 -CSTD=c11 WARNS?= 2 LIBADD= zstd .PATH: ${SRCTOP}/sys/contrib/zstd/programs diff --git a/usr.sbin/makefs/Makefile b/usr.sbin/makefs/Makefile index 75733714fcc2..47a41cfac813 100644 --- a/usr.sbin/makefs/Makefile +++ b/usr.sbin/makefs/Makefile @@ -15,7 +15,6 @@ SRCS= cd9660.c \ MAN= makefs.8 NO_WCAST_ALIGN= -CSTD= c11 .if ${MK_ZFS} != "no" SRCS+= zfs.c From nobody Tue Feb 11 14:17:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysk7C1RVHz5ndm1; Tue, 11 Feb 2025 14:17: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk7B4lBRz4MRL; Tue, 11 Feb 2025 14:17:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PJkSQ1pErnkTWlWgKWVPFyas2N21e+zuyvv3q/A0CAU=; b=HLqYHqQvPYUMxESPkS+2hmNBb6WSjXQPdU15W9+vU3HqQBmCop9qqAL5ijrHdeSnH/J6tX ugD9gdeueKc/KbBAEdGyeRYID1CNs5BIevhWh0BSYvfcJCwk9ZINlk9vKIAVCsiGkAF8CD fqkUTG5lPpNMnw7HZOoAo+T7fqsqD525IFiG7WGO6ivn5Wgb1yN2gLf0JIvXKUyf0a40Ew pot1+lEIlOTtTjL7oxaX812GME8fVm41NT4QLFdKaFzmkUiUo/obdbwzYdqSlwH9g0Zw6X fI01lbzWu7LB+JXJUEiVbwBacFcsnA77t0/v86BKJfAz9O+uWteuCU6ndsoteQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PJkSQ1pErnkTWlWgKWVPFyas2N21e+zuyvv3q/A0CAU=; b=YMgSDb4LCQkdFDTz+ULoun9+HNQMhTtcXX3PEBcmT4mL0fBpGRa8glG1G50jpbprio2xX3 B7jbfIp1wgJd5sVYHzUfWUHMaO7838g+YWuMFexqrTALgUtmoJJktM7KvV3WDDH++SU4pM JKmlAkLUx0HsuPJLF2Pt5pCNUrCS+e0TjvsxKhlFgHjYrhPZNhSX9Dkh2Xm7h8MCsOQzgF yMvPET/5I2ogt4LFpkyEpaZTAryKvr2o41SBxl3wYx1su1uwWGdyXtVSHxkSbttUTyLeGp AmOA+oE/lsK2V4i8K9T8udg09gb+rQdzH/oh0e6Gbfjaek+kLMieaG/jZY1/4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283478; a=rsa-sha256; cv=none; b=GcdoQpj3CZMN+ZCbGR3R+PkEpkncfLQ3j+LqJfnP44r4ntnJVejOhAEzLgWB/00LLxp9IL EZ1kWwu/Xl62J+qsYPOFNKsZEl57z29Zbs9HTHKoSkILSTjASBbARN/0nTnCnYP6fiWAu2 kmLqxL6nWqsS5lfMW11qi+h8VjUbZKoBwnUUNFvIQWFz5cJeTW+wihWlhqjXTpZ2dNIySb ghD4FWyfVM6CowLiHcaLWdmn6MphV2pp0UUS8OENGVCnyHtobDt3aIsFi73KgvYO46yBsE 9EBhkszalvfRdPalpYrTqpRJW9oslGH1jrlN95PLGQlxIxsubgwW4jEneI3dwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk7B4HGdz1fs; Tue, 11 Feb 2025 14:17: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 51BEHwhN060757; Tue, 11 Feb 2025 14:17:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BEHw86060754; Tue, 11 Feb 2025 14:17:58 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:17:58 GMT Message-Id: <202502111417.51BEHw86060754@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3a98d5701c7f - main - sys: Use gnu17 as the default C standard for the kernel List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a98d5701c7f3b6e0933ddb0085ea8ec3fd30d25 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3a98d5701c7f3b6e0933ddb0085ea8ec3fd30d25 commit 3a98d5701c7f3b6e0933ddb0085ea8ec3fd30d25 Author: Minsoo Choo AuthorDate: 2024-12-13 03:56:05 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:17:01 +0000 sys: Use gnu17 as the default C standard for the kernel Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D43239 --- sys/conf/kern.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 5d07a1d9ad3c..78a160e73cde 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -367,7 +367,7 @@ PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \ .PHONY: ${PHONY_NOTMAIN} .NOTMAIN: ${PHONY_NOTMAIN} -CSTD?= gnu99 +CSTD?= gnu17 # c99/gnu99 is the minimum C standard version supported for kernel build .if ${CSTD} == "k&r" || ${CSTD} == "c89" || ${CSTD} == "c90" || \ From nobody Tue Feb 11 16:53:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsnZJ5D45z5nqt4; Tue, 11 Feb 2025 16:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsnZJ4hv0z48Km; Tue, 11 Feb 2025 16:53:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739292792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rm5o6mL+PDTgMbtpjo6n1k8hhMK/IqiTTMvEKZjadUk=; b=XEcmAxIYoVoyIdbZuMWZ/snIWC3rjJqXCsBodYbhwt4UimV7M+Olpo+O52a50Nhzq8W7PE mnnyias2NPAkmQuJNRy4FbyQ2X7NZJvJkJBUU2K1U1+0ds1oUtax2EocBOUyXSGY+IAOiY b0MeGXWsvTQUuzaJ9fM4z77oO5gNVFJESeytKML5LT/bk8tluO0hFFEYWCDmbGSga04nRE FlDYpuSdVMSvUXkM7FOQrMiHxPPz2/MGNa7so9YIbqaLXbnJxUh4tm7bw0FaOFCrmIBzeJ UDQWTPickmGGwIRkFBCbLvDgYKYLJHXRxwyBti2N2ZvxJyx2VsQxpzzuCCp5vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739292792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rm5o6mL+PDTgMbtpjo6n1k8hhMK/IqiTTMvEKZjadUk=; b=LqqxHMgLK3u5A5yRSFkIOVe4WuJFa/ZAFQLJaHxXRW6xQRna8p5B/Vmt4nU1C2jYvc1uaC /NBb+D7A0F+9p1eAnxU5OIAmfMoAGh8DYYqKCE+FCzfbZXaYd7UwhN+He/5Fokk4NB06Vt ncdHlS+mtVaiKjUDYN1sQMUbKAXoeoDOFq/JG+HUBgU/q78VEMq5sJmoPeHoOYeIvbMgmv fhHgQ+gaDmhd1ziAhdLAnrTpPsIw6DPueCVbrYiC/w2Ogq6oh40JZNP58Xguo+oPHeCiwO XxNlkYqmVFMtDBW4sXYU+Uq98bgboRTT5Ts+Tl9l/UEYVnK2KCyiHzevInOUvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739292792; a=rsa-sha256; cv=none; b=aUGrWmRdfNV63sT7g+BaXW7w/IaJ06svTRMMtYQhfstm53c/tReb6NitmHjpPol4qM71Hs x/l+Ao1bBdfJ2vrNc+05Ai4RjECHvm+1wGF1C3bB+WHM8KXD4bFxs2Upj0348wuW0zsoDk L/4bhLtYh1J63p04Us/JY6dUGFbS9F3FqGueHWBpt4b7biE7AMayU/Tyf30RxgY7Qnrmp5 4BOBKLpT63htcMYUjngc/NlaDhtrGLqpXvCI9aI1CO2xXwUn449z8V1sBHMO3x65WeBmml IwBA2W7AbmN1wGPcDLKnJIS60KgAaMQmBkPWwSNi4aYAMefv34QVxF4za/pTWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsnZJ3zkGz5Zt; Tue, 11 Feb 2025 16:53: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 51BGrCk5057489; Tue, 11 Feb 2025 16:53:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BGrCPO057486; Tue, 11 Feb 2025 16:53:12 GMT (envelope-from git) Date: Tue, 11 Feb 2025 16:53:12 GMT Message-Id: <202502111653.51BGrCPO057486@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 8921c82b76e3 - stable/14 - carp: don't unintentionally revert to multicast mode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8921c82b76e355deadf6a7810dfe20d65de49daa Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8921c82b76e355deadf6a7810dfe20d65de49daa commit 8921c82b76e355deadf6a7810dfe20d65de49daa Author: Kristof Provost AuthorDate: 2025-01-21 09:49:55 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 16:52:42 +0000 carp: don't unintentionally revert to multicast mode PR: 284140 MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit af33f86e6aef6b15c8aa3da615167272aa7a3ee3) --- sbin/ifconfig/carp.c | 4 ---- tests/sys/netinet/carp.sh | 7 +++++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/sbin/ifconfig/carp.c b/sbin/ifconfig/carp.c index dd09838b5d8b..a23c245f7fe6 100644 --- a/sbin/ifconfig/carp.c +++ b/sbin/ifconfig/carp.c @@ -246,10 +246,6 @@ static struct afswtch af_carp = { static __constructor void carp_ctor(void) { - /* Default to multicast. */ - setcarp_mcast(NULL, NULL, 0); - setcarp_mcast6(NULL, NULL, 0); - for (size_t i = 0; i < nitems(carp_cmds); i++) cmd_register(&carp_cmds[i]); af_register(&af_carp); diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index d0e10bc2c085..8cea2f4cbf1b 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -155,8 +155,11 @@ unicast_v4_body() atf_check -s exit:0 -o ignore jexec carp_uni_v4_one \ ping -c 3 192.0.2.1 - jexec carp_uni_v4_two ifconfig - jexec carp_uni_v4_three ifconfig + # Check that we remain in unicast when tweaking settings + atf_check -s exit:0 -o ignore \ + jexec carp_uni_v4_two ifconfig ${epair_one}b vhid 1 advskew 2 + atf_check -s exit:0 -o match:"peer 198.51.100.130" \ + jexec carp_uni_v4_two ifconfig ${epair_one}b } unicast_v4_cleanup() From nobody Tue Feb 11 17:03:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsnpJ0vQbz5nrp4; Tue, 11 Feb 2025 17: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsnpH4K8nz3F3c; Tue, 11 Feb 2025 17:03:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739293415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Aup3SZMlM06G7Mir10rIKDdftmiKHu2mHHlYjVIKjM=; b=mPSwNbjnsqNjNEV6xwCLiScX2pBvxEGlZ+mhMgBdpfOHEkDkaju6PSBt2KZwRkZOjQX4Ut cytNKdDTLCBVNrzGWshesfLOAw0A0OpoVsjw0Z4CACVFchVohLnwwBKFdq47h6WSmP4cmv 6Gx2eGZXT8gDA43W76n3WcHfK0ZIUzXgHNnF0yY19v4lalmm2FGMnW0/UfHOwiUVnkIccB nrF07oxnoecNdOyypyjz1dfG7JPbO+3i5c9MeY6Xrnz0HcWFDnbpkYe4iVxBCDpnnzgCTc r0w01kNW5ikG1LxoAITebg7+CaHorUTrtgvG1vTFT7XGMjs6v2ccgcrdzCLfgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739293415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Aup3SZMlM06G7Mir10rIKDdftmiKHu2mHHlYjVIKjM=; b=H/tVABkcDEjOijL9qXpqkhxFQWQ0D1dZlmFwIarE1cNLcWKGpqaTcvfHEE2NRtvNncopDn MLdM0x2G5iyqkXbx1Tf33yknZ6HThoWpfIJwsjYonBwjHQgJbVTllcD9Yjt8rbZPVX8qWD D9Wd37z2uoGdpr++Se0VF8+FSTZs/4pXGDsk8JdIMz3MJjEPe7+MD8IAKYhPmKNK6NwphM TYuL7CkbDldV+7Jk6yaYdgzqR+6W1qfWwXkVboKiFxPpNb+arxF/MLzL0n9M3Mqfzv64vV 8hWy/qI/7lqJqqGMjXUjJi5uG4xUIvmnxhvrKMldrBt/rvoF0gSROiv41MdLDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739293415; a=rsa-sha256; cv=none; b=DmSoXZyIT1H5RIIUphbWCHYJfZJHcNnBllT/y7pPnWJ9Li+z+/ZwNvu+KDvJ1qU0sweFYv NBF0+42D9QYZflHUJ5RNyqHtJxM11jI+YaQDBNcH/2JI30pXPz5WWGccpbVZ1HMN0tU5E2 HZ4zxe3nX4M1l6wlto9BgU6vJbecMm+6p1zldhhVkfm1R03mrqzuL6x6K7FpfNpsWfy9oN Ui+gbriLoj9PLdpIsvuOpRWdlUG6TsNclx7kmicohOH0aQrEJA+MxfGGvRinrDJxtRX7sH loMIMIGd3ZGEPTjwja1cGFxaZhEwgiOywsbCMMinfu6IgXOC5Am0HyEgO1L13Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsnpH3wZmz5mT; Tue, 11 Feb 2025 17:03: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 51BH3ZeY078078; Tue, 11 Feb 2025 17:03:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BH3Zsf078075; Tue, 11 Feb 2025 17:03:35 GMT (envelope-from git) Date: Tue, 11 Feb 2025 17:03:35 GMT Message-Id: <202502111703.51BH3Zsf078075@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: e295e0b8cfd3 - main - tests: Add scapy as a required program List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e295e0b8cfd34017dbaf5ccc908d3e9bbd505e62 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=e295e0b8cfd34017dbaf5ccc908d3e9bbd505e62 commit e295e0b8cfd34017dbaf5ccc908d3e9bbd505e62 Author: Jose Luis Duran AuthorDate: 2025-02-11 16:59:51 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-11 16:59:51 +0000 tests: Add scapy as a required program The utils.subr file includes a couple of subroutines (ping_dummy_check_request and ping_server_check_reply) that require scapy. Add this requirement in the header of each test that makes use of them. Reported by: Jenkins Reviewed by: kp, ngie Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D48917 --- tests/sys/netpfil/pf/fragmentation_pass.sh | 3 +++ tests/sys/netpfil/pf/max_states.sh | 1 + tests/sys/netpfil/pf/route_to.sh | 3 +++ tests/sys/netpfil/pf/src_track.sh | 2 ++ 4 files changed, 9 insertions(+) diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index 4e0665094ae6..e72b065b77bb 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -443,6 +443,7 @@ no_df_head() { atf_set descr 'Test removing of DF flag' atf_set require.user root + atf_set require.progs scapy } no_df_body() @@ -481,6 +482,7 @@ reassemble_slowpath_head() { atf_set descr 'Test reassembly on the slow path' atf_set require.user root + atf_set require.progs scapy } reassemble_slowpath_body() @@ -609,6 +611,7 @@ dummynet_fragmented_head() { atf_set descr 'Test dummynet on NATed fragmented traffic' atf_set require.user root + atf_set require.progs scapy } dummynet_fragmented_body() diff --git a/tests/sys/netpfil/pf/max_states.sh b/tests/sys/netpfil/pf/max_states.sh index 03142eeaffa6..3548d838e3a6 100755 --- a/tests/sys/netpfil/pf/max_states.sh +++ b/tests/sys/netpfil/pf/max_states.sh @@ -31,6 +31,7 @@ max_states_head() { atf_set descr 'Max states per rule' atf_set require.user root + atf_set require.progs scapy } max_states_body() diff --git a/tests/sys/netpfil/pf/route_to.sh b/tests/sys/netpfil/pf/route_to.sh index 305ca4c8eddd..06a320f5fac2 100644 --- a/tests/sys/netpfil/pf/route_to.sh +++ b/tests/sys/netpfil/pf/route_to.sh @@ -516,6 +516,7 @@ ifbound_reply_to_head() { atf_set descr 'Test that reply-to states bind to the expected interface' atf_set require.user root + atf_set require.progs scapy } ifbound_reply_to_body() @@ -571,6 +572,7 @@ ifbound_reply_to_v6_head() { atf_set descr 'Test that reply-to states bind to the expected interface for IPv6' atf_set require.user root + atf_set require.progs scapy } ifbound_reply_to_v6_body() @@ -630,6 +632,7 @@ ifbound_reply_to_rdr_dummynet_head() { atf_set descr 'Test that reply-to states bind to the expected non-default-route interface after rdr and dummynet' atf_set require.user root + atf_set require.progs scapy } ifbound_reply_to_rdr_dummynet_body() diff --git a/tests/sys/netpfil/pf/src_track.sh b/tests/sys/netpfil/pf/src_track.sh index 620f1353f9fe..e8873d1dc750 100755 --- a/tests/sys/netpfil/pf/src_track.sh +++ b/tests/sys/netpfil/pf/src_track.sh @@ -132,6 +132,7 @@ max_src_conn_rule_head() { atf_set descr 'Max connections per source per rule' atf_set require.user root + atf_set require.progs scapy } max_src_conn_rule_body() @@ -191,6 +192,7 @@ max_src_states_rule_head() { atf_set descr 'Max states per source per rule' atf_set require.user root + atf_set require.progs scapy } max_src_states_rule_body() From nobody Tue Feb 11 17:45:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yspkw1Rprz5mQVm; Tue, 11 Feb 2025 17:45: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yspkw08fSz3Vj9; Tue, 11 Feb 2025 17:45:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739295944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2t+bG9vDTFLcpjCGv/WEGCDdUbp1UMLjOsD/aQMd5NM=; b=m0ZYgHlZNqM2gAYiVCqf9tT9b5GJTNxgMG/j2n5kM5h+dbEke1W3++iLr2Ytt1prl50Dpb D3w73Q4pmad92bTIrNmC5bjpolwLe1Xx/4np6psZuKH+HUGlS5mN4rvVUCrg62ajOP/r4E 05j/J04VDNN2YuTzsX7TiyCAH0sdokuRMqCG11rVeUERDaLzvxF2JFbY4wjCWG8575ndfs uBLdZMkGw57BENzRBGsCwfSv8GuqtGRPmLT3iti2XXHR/7X9+9p8+yACRq8QY1JoMcjXU0 o+qTM7fV2JG6HIFDzabmmwawrgswSvC6x9PPSzg7fzSNjHfz3lpTIbbgf1AeJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739295944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2t+bG9vDTFLcpjCGv/WEGCDdUbp1UMLjOsD/aQMd5NM=; b=cICiA7BW8hHy46ds94pUQF32B/WH75yQKiAjToxTBIaUJ2mEF76pnQ2Imjf/NMo2tdZrlu orGuyuwFIqkooO52h7cqIrltUdlZQgcCnaoo5H/IQhtQDZukNICFztx2hWhoNHq9V0jTF5 0mBNOYcPDD/cFnat1avdDRdH1S25HTO5XWIulmLf7K0cpFc4v6JlMvkg0WECTZEa/Apgfo rc6mFi0GDPgowWMkrBhjUNngKAr1HPoNi5csVIV2CX0owkbo2YYYpey9rhXZFqCjyNCTgy ywkC1u0SyNVVtTLd3Mho0k6NJIpgNVR0sip25Szu668biRt/sjiYT/Tcwmpsmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739295944; a=rsa-sha256; cv=none; b=JVK8QiXuZBvyE+Q267yTavjWbPOfFeJlHVtHqtfX9qOA7skyWv61Zy8qe7Q9v0Fs5gNLmx +Qtitz+XqGEcZnYj8ZqT8TZ4K/+0ij1NyBtc6uCACtAjxFKFY1fGKmGF2MLLAWEN6uuezK aa9O/HsmPkqEHtLeKng2MkQZXeGPc5JuQUARmJWRL5qaICsv9fgO0+TQq50qVigdji0+b9 7otjYtFBKrzd5/7haPROm8+EdBNwGZWJcKvBBfEZctDef2a+q9JVckCyLWJk3X1TmT2+i7 7zC9OiR3UWV8qYjOMVukH2Ir94sgSazs/p6Wx3ON0L5f0Fc+TX4yXd7GjiKCXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yspkv6Svqz62N; Tue, 11 Feb 2025 17:45: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 51BHjheG052936; Tue, 11 Feb 2025 17:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BHjhbV052933; Tue, 11 Feb 2025 17:45:43 GMT (envelope-from git) Date: Tue, 11 Feb 2025 17:45:43 GMT Message-Id: <202502111745.51BHjhbV052933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: e9c2838d93ca - main - Add newlog.sh and setops.sh to share/mk List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9c2838d93cab8098e333a32990d75439dc84359 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e9c2838d93cab8098e333a32990d75439dc84359 commit e9c2838d93cab8098e333a32990d75439dc84359 Author: Simon J. Gerraty AuthorDate: 2025-02-11 17:42:17 +0000 Commit: Simon J. Gerraty CommitDate: 2025-02-11 17:42:17 +0000 Add newlog.sh and setops.sh to share/mk jobs.mk makes use of newlog.sh if found. Set NEWLOG_SH in local.sys.env.mk to save jobs.mk searching for it. PR: 284390 Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D48737 --- share/mk/Makefile | 7 +++++++ share/mk/local.sys.env.mk | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/share/mk/Makefile b/share/mk/Makefile index 737b11d5a0f2..ec9af16d24c3 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -69,8 +69,10 @@ FILES= \ meta.sys.mk \ meta2deps.py \ meta2deps.sh \ + ${SRCTOP}/contrib/bmake/mk/newlog.sh \ ${SRCTOP}/contrib/bmake/mk/posix.mk \ stage-install.sh \ + ${SRCTOP}/contrib/bmake/mk/setopts.sh \ sys.mk \ sys.dependfile.mk \ sys.dirdeps.mk \ @@ -78,6 +80,11 @@ FILES= \ FILESDIR= ${BINDIR}/mk +# make sure scripts are executable +.for file in ${FILES:M*.sh} ${FILES:M*.py} +FILESMODE_${file} = 555 +.endfor + .if ${MK_TESTS} != "no" FILES+= atf.test.mk FILES+= googletest.test.inc.mk diff --git a/share/mk/local.sys.env.mk b/share/mk/local.sys.env.mk index 71a46f122bf4..470c2d8559eb 100644 --- a/share/mk/local.sys.env.mk +++ b/share/mk/local.sys.env.mk @@ -43,6 +43,12 @@ TIME_STAMP_END?= ${TIME_STAMP_DATE} # error spam and show a proper error. Mkdirs= Mkdirs() { mkdir -p $$* || :; } +# jobs.mk wants this +.if empty(NEWLOG_SH) +NEWLOG_SH:= ${SRCTOP}/contrib/bmake/mk/newlog.sh +.export NEWLOG_SH +.endif + .if !empty(.MAKEFLAGS:M-s) ECHO_TRACE?= true .endif From nobody Tue Feb 11 18:23:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsqZw5qYXz5mTqS; Tue, 11 Feb 2025 18:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsqZw3L61z3mJy; Tue, 11 Feb 2025 18:23:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4txCab7ID7ay/I28JkQF8TlVqqHnssVaAE16NgjTfMk=; b=BFn9Jl5ufEDaBQcr/akD6c9LnerSqEfMUC3OVwRs+GWP6BFkob9lvFyUJ4TsqnVxdtUU1b nBGt64uxZ01ONtUmZ6sDpX0fHTDRhuH3EGGWWVcuAO8ApJIHOvmeiFGqged0Nb9HfHLMSF yuEcCaIIQGioerqkHwkfvTMJI7uemG2lzZNJLfbS6x7Z6wzFbAr2K/QkzMpP7a5ef7HwH7 Gn552oNs2SnrJyhFnHeCnyrBs5DQ6NzNpPNjao6daGuQmy0wtcX20wCp0dV6QfuIFjmlRv ho+DFmJ8ybBl55c8unMqZQG09pPzGdZBkPjwYQdbOay0hc4xyEAGQsBetXfUDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4txCab7ID7ay/I28JkQF8TlVqqHnssVaAE16NgjTfMk=; b=g+zljowqF70QLFhZiX42odfDR6i+F9r2m1tP+U4UdMaCEpj4ykv57A68YY88C1PmQTL3O8 I6DiovS3NVn29BDhOp2xhHf5RKPSmZH0wa+a0NbPYG4kpiT3qbQaXRxMf+AOJtXHVXu1dI okvHBnwfkpgH7gRYT/qWKipyy5oaVewlA/AIlDlSBjm06UCeQakmCaQ3Ga5/JPg97zuHjA 55b5FmpQCY5mHvC7TQ3E4EH/+HgQ01guDBDph0aMopp1l2x1+tXlhZPsJhKV+eIrwKe96p 7R0CQbMxXiPW/Vr/oR5G6+sUeTwIaZwKrtmHjf8t7ekNoB63oq7z/fZc2O2+Mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739298232; a=rsa-sha256; cv=none; b=mC/W/7ck4Ag0YA3/ylyJHlev9wTmJhSaDuM5XAiLDeQOrAzJTJqr4dRiq7xpzyr927fCWX zRDv1FBhpuvYpy8p5MOU7f2nJTDOFHotRnmsoclgg3T7pHS2zfaCthKPmVDOaLNGkHHYlf xIdbySrDmng164He7980ivxSb+FwCJ9BBjqeyJhcmvSbiJfe7fMhCmetp6/gRGjLs+B+pr dkkyoJ3CzD5hjmt3ZehKix8k6p5bFrhPS8uFQ2NlIpLstRGSbJv2iJMvbycU8XgQtcw+Ew AI8mb1jbRRQc054uHFXU1FsGTA+pYri9uwY0m28krnqh4/9pjSmaHxY3V+5gcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsqZw2jr9z7nf; Tue, 11 Feb 2025 18:23: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 51BINqLO027224; Tue, 11 Feb 2025 18:23:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BINqF6027221; Tue, 11 Feb 2025 18:23:52 GMT (envelope-from git) Date: Tue, 11 Feb 2025 18:23:52 GMT Message-Id: <202502111823.51BINqF6027221@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 01a46c7dc002 - main - sockstat: use bool for flags List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01a46c7dc002bb4d2a35bdcebf0ed194846bfe01 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=01a46c7dc002bb4d2a35bdcebf0ed194846bfe01 commit 01a46c7dc002bb4d2a35bdcebf0ed194846bfe01 Author: Gleb Smirnoff AuthorDate: 2025-02-11 18:23:15 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-11 18:23:15 +0000 sockstat: use bool for flags No functional change. --- usr.bin/sockstat/sockstat.c | 75 +++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index 3347978c8b47..6283f600b322 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -78,24 +79,24 @@ #define sstosun(ss) ((struct sockaddr_un *)(ss)) #define sstosa(ss) ((struct sockaddr *)(ss)) -static int opt_4; /* Show IPv4 sockets */ -static int opt_6; /* Show IPv6 sockets */ -static int opt_C; /* Show congestion control */ -static int opt_c; /* Show connected sockets */ -static int opt_f; /* Show FIB numbers */ -static int opt_I; /* Show spliced socket addresses */ -static int opt_i; /* Show inp_gencnt */ +static bool opt_4; /* Show IPv4 sockets */ +static bool opt_6; /* Show IPv6 sockets */ +static bool opt_C; /* Show congestion control */ +static bool opt_c; /* Show connected sockets */ +static bool opt_f; /* Show FIB numbers */ +static bool opt_I; /* Show spliced socket addresses */ +static bool opt_i; /* Show inp_gencnt */ static int opt_j; /* Show specified jail */ -static int opt_L; /* Don't show IPv4 or IPv6 loopback sockets */ -static int opt_l; /* Show listening sockets */ -static int opt_n; /* Don't resolve UIDs to user names */ -static int opt_q; /* Don't show header */ -static int opt_S; /* Show protocol stack if applicable */ -static int opt_s; /* Show protocol state if applicable */ -static int opt_U; /* Show remote UDP encapsulation port number */ -static int opt_u; /* Show Unix domain sockets */ -static int opt_v; /* Verbose mode */ -static int opt_w; /* Wide print area for addresses */ +static bool opt_L; /* Don't show IPv4 or IPv6 loopback sockets */ +static bool opt_l; /* Show listening sockets */ +static bool opt_n; /* Don't resolve UIDs to user names */ +static bool opt_q; /* Don't show header */ +static bool opt_S; /* Show protocol stack if applicable */ +static bool opt_s; /* Show protocol state if applicable */ +static bool opt_U; /* Show remote UDP encapsulation port number */ +static bool opt_u; /* Show Unix domain sockets */ +static u_int opt_v; /* Verbose mode */ +static bool opt_w; /* Wide print area for addresses */ /* * Default protocols to use if no -P was defined. @@ -1340,7 +1341,7 @@ display(void) struct sock *s; int n, pos; - if (opt_q != 1) { + if (!opt_q) { printf("%-8s %-10s %-5s %-3s %-6s %-*s %-*s", "USER", "COMMAND", "PID", "FD", "PROTO", opt_w ? 45 : 21, "LOCAL ADDRESS", @@ -1493,25 +1494,25 @@ main(int argc, char *argv[]) while ((o = getopt(argc, argv, "46CcfIij:Llnp:P:qSsUuvw")) != -1) switch (o) { case '4': - opt_4 = 1; + opt_4 = true; break; case '6': - opt_6 = 1; + opt_6 = true; break; case 'C': - opt_C = 1; + opt_C = true; break; case 'c': - opt_c = 1; + opt_c = true; break; case 'f': - opt_f = 1; + opt_f = true; break; case 'I': - opt_I = 1; + opt_I = true; break; case 'i': - opt_i = 1; + opt_i = true; break; case 'j': opt_j = jail_getid(optarg); @@ -1519,13 +1520,13 @@ main(int argc, char *argv[]) errx(1, "jail_getid: %s", jail_errmsg); break; case 'L': - opt_L = 1; + opt_L = true; break; case 'l': - opt_l = 1; + opt_l = true; break; case 'n': - opt_n = 1; + opt_n = true; break; case 'p': parse_ports(optarg); @@ -1534,25 +1535,25 @@ main(int argc, char *argv[]) protos_defined = parse_protos(optarg); break; case 'q': - opt_q = 1; + opt_q = true; break; case 'S': - opt_S = 1; + opt_S = true; break; case 's': - opt_s = 1; + opt_s = true; break; case 'U': - opt_U = 1; + opt_U = true; break; case 'u': - opt_u = 1; + opt_u = true; break; case 'v': ++opt_v; break; case 'w': - opt_w = 1; + opt_w = true; break; default: usage(); @@ -1608,13 +1609,13 @@ main(int argc, char *argv[]) err(1, "Unable to apply pwd commands limits"); if ((!opt_4 && !opt_6) && protos_defined != -1) - opt_4 = opt_6 = 1; + opt_4 = opt_6 = true; if (!opt_4 && !opt_6 && !opt_u) - opt_4 = opt_6 = opt_u = 1; + opt_4 = opt_6 = opt_u = true; if ((opt_4 || opt_6) && protos_defined == -1) protos_defined = set_default_protos(); if (!opt_c && !opt_l) - opt_c = opt_l = 1; + opt_c = opt_l = true; if (opt_4 || opt_6) { for (i = 0; i < protos_defined; i++) From nobody Tue Feb 11 18:23:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsqZx5shgz5mTkP; Tue, 11 Feb 2025 18:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsqZx43Zdz3mVf; Tue, 11 Feb 2025 18:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjlWAX42yg0HTpwWErvUPHB4mkc/v+K27r0FuanJlRE=; b=QrvyMet5JSs67CjcJ8sJUBMQeMD5iA+4ZwLbIASRgOFwyMyprN5Bg/pPka1vNWHiCK1Ubm 0FyOdDbrJi7GPQTXC1YQvg3gWEquVeMppeZyzeLYIBkeZmM6X/w2caOnQafSbsA+lJVKa5 wD4yOXpeU+RXMYouED9tJ0NPFWxK35aqmsK7WfOUwAcZUHXKVuweFjuKdk1l9rDObj80vm TQo/f4IRbDfx0Sh/TNXwZ7IksVAfT46lSOnzZj3ZKpl/AP6etYvGKb5CE6G+UWPHsubL+M DNGyv6/O2U3+2RKZrco+xBb7KlRS1Lfz2L0uAuuw0hKZHvdK03Ca+EkX8F92UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjlWAX42yg0HTpwWErvUPHB4mkc/v+K27r0FuanJlRE=; b=Dr67kQIHW0ke9p9sDb/HqBXoBISKR8RGuyEgqpbPnNpO5DrXKcHzEue9LFfgmUgGGiFwB0 3F/9VBgjrHnT4GxJb8h9IoftcjsF8IJF+pcdoLVQQ4x4EJfrm4Aome73gHlwVmtFxas8tB qZ/AYI4GMTRcQP8TNo59H6TUc4O7JOc86rk6x6xUvtmXDDSt31WkkxY77dL3bxmf6MLKRv JPrzr7qc2yFwLcdc3oMd4GFrlHxcEDplmqAjnzR6hAkuM/KH1aSfZ8q9UkOv/+HhE8tsWl OMl55DxCwRiF5++h+cZhbuI8HEKyxZxWXXmUN0jvfZVmeFUAzGfAVdCUOaxOqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739298233; a=rsa-sha256; cv=none; b=RHaDMc3NIY5ve8ZuhegxUHaiCUe71c5cIzX2uentpH2IzZx9ne9ViXZYGcX7JLKupz6Zlw Eff3vVS+TZ3iLrDQYYq0F0BJWF9cL7OuCXiLzqUUnLVJj0OTIGb9Hqz0NKNIwsFylgq/e0 +MeEcVw6H8idJsaCE51bV0QKoFhqhFqU9KpbsLJND08qda782S0rNbAkBfgi3DzHuKboJ9 z8fZgAWgz1vJQdMLz1x5nWJrfEmJLvEtZr810yImtyVko2NZNCV4qx+SHvPElDsP6zI0aX smL8Ze7HtNrbvC9FlpMfgdpz1N5Ew1FbU7/2QGMs0Jq8bgb3d80rCUjPF/iLKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsqZx3fknz8WT; Tue, 11 Feb 2025 18:23: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 51BINr1F027271; Tue, 11 Feb 2025 18:23:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BINrMw027268; Tue, 11 Feb 2025 18:23:53 GMT (envelope-from git) Date: Tue, 11 Feb 2025 18:23:53 GMT Message-Id: <202502111823.51BINrMw027268@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 9f55128fecb5 - main - sockstat: with -A print pcb addresses, just like netstat(1) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f55128fecb5b5eb8e8fffa5b65d38255762d176 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=9f55128fecb5b5eb8e8fffa5b65d38255762d176 commit 9f55128fecb5b5eb8e8fffa5b65d38255762d176 Author: Gleb Smirnoff AuthorDate: 2025-02-11 18:23:15 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-11 18:23:15 +0000 sockstat: with -A print pcb addresses, just like netstat(1) --- usr.bin/sockstat/sockstat.1 | 7 +++++-- usr.bin/sockstat/sockstat.c | 20 +++++++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/usr.bin/sockstat/sockstat.1 b/usr.bin/sockstat/sockstat.1 index ca486a088b13..b13c6afdd9c0 100644 --- a/usr.bin/sockstat/sockstat.1 +++ b/usr.bin/sockstat/sockstat.1 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd October 15, 2024 +.Dd February 6, 2025 .Dt SOCKSTAT 1 .Os .Sh NAME @@ -33,7 +33,7 @@ .Nd list open sockets .Sh SYNOPSIS .Nm -.Op Fl 46CcfIiLlnqSsUuvw +.Op Fl 46ACcfIiLlnqSsUuvw .Op Fl j Ar jail .Op Fl p Ar ports .Op Fl P Ar protocols @@ -54,6 +54,9 @@ Show Show .Dv AF_INET6 (IPv6) sockets. +.It Fl A +Show the address of a protocol control block (PCB) associated with a socket; +used for debugging. .It Fl C Display the congestion control module, if applicable. This is currently only implemented for TCP. diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index 6283f600b322..e1a52c57b3d1 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -81,6 +81,7 @@ static bool opt_4; /* Show IPv4 sockets */ static bool opt_6; /* Show IPv6 sockets */ +static bool opt_A; /* Show kernel address of pcb */ static bool opt_C; /* Show congestion control */ static bool opt_c; /* Show connected sockets */ static bool opt_f; /* Show FIB numbers */ @@ -771,6 +772,7 @@ gather_inet(int proto) if ((faddr = calloc(1, sizeof *faddr)) == NULL) err(1, "malloc()"); sock->socket = so->xso_so; + sock->pcb = so->so_pcb; sock->splice_socket = so->so_splice_so; sock->proto = proto; sock->inp_gencnt = xip->inp_gencnt; @@ -1206,10 +1208,13 @@ displaysock(struct sock *s, int pos) default: abort(); } + while (pos < offset) + pos += xprintf(" "); + if (opt_A) { + pos += xprintf("0x%16lx", s->pcb); + offset += 18; + } if (opt_f) { - do - pos += xprintf(" "); - while (pos < offset); pos += xprintf("%d", s->fibnum); offset += 7; } @@ -1346,6 +1351,8 @@ display(void) "USER", "COMMAND", "PID", "FD", "PROTO", opt_w ? 45 : 21, "LOCAL ADDRESS", opt_w ? 45 : 21, "FOREIGN ADDRESS"); + if (opt_A) + printf(" %-18s", "PCB KVA"); if (opt_f) /* RT_MAXFIBS is 65535. */ printf(" %-6s", "FIB"); @@ -1477,7 +1484,7 @@ static void usage(void) { errx(1, - "usage: sockstat [-46CcfIiLlnqSsUuvw] [-j jid] [-p ports] [-P protocols]"); + "usage: sockstat [-46ACcfIiLlnqSsUuvw] [-j jid] [-p ports] [-P protocols]"); } int @@ -1491,7 +1498,7 @@ main(int argc, char *argv[]) int o, i; opt_j = -1; - while ((o = getopt(argc, argv, "46CcfIij:Llnp:P:qSsUuvw")) != -1) + while ((o = getopt(argc, argv, "46ACcfIij:Llnp:P:qSsUuvw")) != -1) switch (o) { case '4': opt_4 = true; @@ -1499,6 +1506,9 @@ main(int argc, char *argv[]) case '6': opt_6 = true; break; + case 'A': + opt_A = true; + break; case 'C': opt_C = true; break; From nobody Tue Feb 11 19:08:14 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsrZ7143Cz5mY6H; Tue, 11 Feb 2025 19:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsrZ62ZyNz47Nm; Tue, 11 Feb 2025 19:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739300894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MjPr4nxPXpUXOENxLdqyfEcMBQyKrvmg7yV2qd2JUCI=; b=TTR387nG9ocQjVvyJItZx6TltxG0x45V7vI/pW/W9z2IR1YWx2AjYx4hq3ysEftb9xVR1u DT6kzLnMDDVHSeSGzS0k3IFpStk12MUugZrddR0klpAPt1mN019EKGsx58vfLRjzAFfm2Z pJq9FusNDOsTJLHiIp9kHm5ORGSmDiIwqkSs1AR9//Gk3fdaZ4a0Irl6xnlG9uhUE5LVla uIJm6ONVolMv8yuhBP91NWEUmrYSzlypu7Y4/RQ5EopaaIRRzLI6FD3GkbHMyo893hzu1a b9/yb8syrl4mBDGLKRRgcoxTjhrSW4+CygMZ91PHE+1HmV/Ia4APPlhe7IC7ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739300894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MjPr4nxPXpUXOENxLdqyfEcMBQyKrvmg7yV2qd2JUCI=; b=s6ktP7Tj9A2s/PifVVHxr2P3Q/UkEu5YqM46/S7/+XoISxUE65ap6elUvjZYQr1HcQCkHj iqtzaQvp6sCucB2vB9qbCMIVQy7Tj6/wbfVixltFNYDAzjpKhmWtUuIUYTyyKWbG66BvQj y/Jbz8iwjGcf0xNZFwwfJA1DcS89QUFWia+EnlSWL2j+ubbCmM2LGw5mb2cBvf0G1Pp6M7 ZSTrRxC0f+aVxuz4LGewBdzYhZhnGjcAXFT5KCgBco+W0BGT96JmsCspMBnL9A3/iYsAj0 7x7u10ieoVcgnquqxKHDS6f8Tnujc0EwdVy6Bb0lVqrVIuYz3wz7m7WJmVUQtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739300894; a=rsa-sha256; cv=none; b=d/2O/Qct9hbp02yFLIVNK1r6k/dEyno5j0yH1FUIezXsXPWTXqW1mydP/rzkFGLiK25+hd +h9n2qARBNyb1V6BRzwqcvwjPXSHa8EPLCTcwZFiMcHf5J6JHFz86eBTRJaGFW+w677COY VCkrrKBO+IrPhL6awdi8ldrn7/ipI5MLKmQ7CQILAHDR2eq4Komqbh9SxcImYv1v4a0rQ6 oyif6w+F/tPZVdldfKSOrXDjyw2UZA20/yLXGggICvWsERbJZcly12rZgbLdZWSFsKR9ci zGZKjQuma84BkU/Z+FpzxKxvY8ZKJSDGkVUZzflVhuoviEvk9wmxebi+c0G0MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsrZ62BvTz9RZ; Tue, 11 Feb 2025 19:08: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 51BJ8EdY004582; Tue, 11 Feb 2025 19:08:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BJ8E2c004579; Tue, 11 Feb 2025 19:08:14 GMT (envelope-from git) Date: Tue, 11 Feb 2025 19:08:14 GMT Message-Id: <202502111908.51BJ8E2c004579@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 1b2636e535ed - main - tests/unix_stream: fix signedness error List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b2636e535edf10c4da0dda5a8b538be8e9358bd Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=1b2636e535edf10c4da0dda5a8b538be8e9358bd commit 1b2636e535edf10c4da0dda5a8b538be8e9358bd Author: Gleb Smirnoff AuthorDate: 2025-02-11 19:07:41 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-11 19:07:41 +0000 tests/unix_stream: fix signedness error Fixes: bc7ee0b52a8dd613711c7225244aac954b41e534 --- tests/sys/kern/unix_stream.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index 49aabdaa0943..d93bbeff4e41 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -153,7 +153,7 @@ ATF_TC_BODY(full_not_writable, tc) check_writable(sv[0], 0); /* Read some data and re-check. */ - ATF_REQUIRE(read(sv[1], buf, sendspace / 2) == sendspace / 2); + ATF_REQUIRE(read(sv[1], buf, sendspace / 2) == (ssize_t)sendspace / 2); check_writable(sv[0], 1); From nobody Tue Feb 11 20:13:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yst1P1prfz5mfJY; Tue, 11 Feb 2025 20:13: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yst1P0xfpz3hMK; Tue, 11 Feb 2025 20:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739304809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g/OVY58lI6xrcQOq7QgiLA0kHxyPNiVta1076uwul0Y=; b=RCi7qIMKZtdrYnAXcTij1qx7Rb8vdnribGklch1FgZmgHOWIxaSF5dL5bQ+q2vfRp95kU9 T8XPUskvqh6J3Qb+ymEgDapXBG0e/cDRCemJaj80taYOAIYIRN+8gYGQCTA8woZwJzdu2P NdPonM5jlsLwb5FOvfY/mHz5Gse92UnpgYplzHoJDhdHyE/eidwCU0loLvONgnYwe/w6Pr dCsiIPtGv9AljQpaoBI+zVrCGxOYlkp2lG2f39TOWcbR/jlUvMjru8fwBskXhpEcsHz1j1 5lgy+SIat8QaJ157BMn7XCgdVaat+WHuTxLi+6yoDiEThXdzcvBhsdoAUWHt+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739304809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g/OVY58lI6xrcQOq7QgiLA0kHxyPNiVta1076uwul0Y=; b=jJy5sfBugsVU6edlfTynDV2KZ0DFYRcESfJM173m5tDcGHcgaO4E7/0BaLrPfTtd7dmCXM PJ/5whJJeZsBXrxbRkss5jgbpChYqXyMQRSWxVIUujZdemYp3U2kVjURQlHoslgTg+kbCl arbCkpTts2ZMYa3DxLsujJbdFnACCRaTMUiGsNqOZIgadue0q9WDT1ukndXqqcCAO70UaX 1q1BtxkoRPped8jButlMcdkUBar0L2XPBReI6ifEgfTehHjT7q69ucAhBOUpsMaa+IH7xY Y6Ihiv2VCfWW/X2ww7vl7b+fpg2RBqNWDGf+vQf52qcl+uFRzfO2iuwjg+eUUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739304809; a=rsa-sha256; cv=none; b=K335AndQbIIoZuATYiKliEKTi7TyTMLwb4ax7aGwaManObFWpHJyZMheaNT1Xd8/Dfw/Xe DDfvjnmnp1YX8Wa00bI1Zod203JJM7EdMKjjIP82f9wMh+fOWyobHkMyIgrPylhUFqcLoO C7B3XSRHKi0wgI0OjE2a6cn5QnBnRZ8VoOXTs5b8nyhCg04AxFhF0PwY3rc94zMJdgvpMC vPqcIK+Kw/DSmHOOhDS++cuCkD+vog56hQQXhiBkMRX2BjYVK0enB7yNGUMiITLocQh6Qj GufdNyayccQ+K0eJNu3s/XZ0sHun3Gs8eT2htoIWM44jGNCCYfzrcvqRlJ25oA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yst1P0HWmzCBQ; Tue, 11 Feb 2025 20:13: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 51BKDSx6034782; Tue, 11 Feb 2025 20:13:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BKDSIG034779; Tue, 11 Feb 2025 20:13:28 GMT (envelope-from git) Date: Tue, 11 Feb 2025 20:13:28 GMT Message-Id: <202502112013.51BKDSIG034779@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 975c6f333703 - main - ssh: Update config.h for OpenSSL ED25519 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 975c6f3337039d14ecf87d674af72ac5ab0fee02 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=975c6f3337039d14ecf87d674af72ac5ab0fee02 commit 975c6f3337039d14ecf87d674af72ac5ab0fee02 Author: Ed Maste AuthorDate: 2025-02-11 13:52:07 +0000 Commit: Ed Maste CommitDate: 2025-02-11 20:12:31 +0000 ssh: Update config.h for OpenSSL ED25519 OpenSSH-portable had a configure bug that prevented it from detecting OpenSSL ED25519 support, fixed in 8d0e46c1ddb5 ("Fix OpenSSL ED25519 support detection"). This will come in with the OpenSSH 9.8p1 update, but fix the error in config.h now. Reported by: jlduran Reviewed by: jlduran Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48942 --- crypto/openssh/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index 29f73831ad7b..851366b65dfc 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -1754,7 +1754,7 @@ #define OPENSSL_HAS_ECC 1 /* libcrypto has ed25519 support */ -/* #undef OPENSSL_HAS_ED25519 */ +#define OPENSSL_HAS_ED25519 1 /* libcrypto has NID_X9_62_prime256v1 */ #define OPENSSL_HAS_NISTP256 1 From nobody Tue Feb 11 20:48:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YstpG0R9cz5mhZ7; Tue, 11 Feb 2025 20:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YstpF685Pz40nK; Tue, 11 Feb 2025 20:48:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739306933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHualwq368PHu0EfxdSq6IU/nLz+mVFW9qh/sMuSRzU=; b=pi5ekmrPwy4cq/Q3rLD/U9wu2b5JX+AZBcy86bXZr88X3/565fGYeDUnY7WGYgM2wcbXE/ a1Vi1xDdevETvJ0UgjFFJ2r06VkuOW6qSwEFbqb1Ucq7AyewnrQ6VqXUgHDGfcvu5yQ6Uv xntKIg/E+FzL77z3sCnT5TvvkjDsS9giT6tKri+RWzw1/adB5NKl1cWc1KE/A+jOzHo+vw dSLIo9txnGPWpBpSCWbeIct0aZmjjLDiMm7ftZ73rfai4VgutQzgt8ZHzHibWFwRsHHqz8 OI4Kamv+0gU58UWc15rdTWDWSXP0eZIHubP9GbMsklvNFTbYO7rLWcZmHb8Xng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739306933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHualwq368PHu0EfxdSq6IU/nLz+mVFW9qh/sMuSRzU=; b=FKi8XCZg2MSJOgjdDGGCemh2wBUxTR+XvphW5GRep4XtJeKobIPH/k/9Y+R3KpakbKI/qp bzPpF/NaLeTvRVrt00NRFuKEKyynn0NWkWV3o0B2RBY8bkkaBk973WL6Go20FSiFKfSz7N kMu2wWrI9e0tcECCpk8evGt2Kxwcugu0O1XSDa+IHb9+fRD9ZHfaD7ic076tl3dSXtXfjW Hv6TIHIA6wV1chOJxlea17JCNVRUIdFEs+GvtjgsCDW0H0cAk4L2TcWkPBlxjHL/na5AjB JSuC7JyaLAv5BVmTUBwuDvKVlWNL2EEtzaCEoczuVhxYuD1KzQ0EgS/BQ/iz4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739306933; a=rsa-sha256; cv=none; b=wsfpz7jL1iPR5N7wB5y6xaUsEUZvf9YWaXFYZu3TUkIe+NC3x0OqRJrvpotb/U345S8KrT SUezqqfNkaByvi1BqIGI+2m0C0X28gI2tFjbCxA3v785pdgKkj1VodlKR4uqRMhYMnCU7x hzlpPQ2rxDzY6nVuBAmMt3XN5t6OxPecJqL8sV80MtOIAKhIJcaYJbAnNZN3jX+4FzXHpw Ladj+4noub++d7/8YCQzf02ov64ldAC05y8N/1uYP/PJKhSBGZgwnn+G9Ohk+YrHK3tVtF 60NXlWJPZFZgVcK7KjrYdLbFODzzqXggDOBX9ZjsLrxn/BzG99sRIP+vmuYIwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YstpF4S0YzDBR; Tue, 11 Feb 2025 20:48: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 51BKmri7092028; Tue, 11 Feb 2025 20:48:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BKmrYW092025; Tue, 11 Feb 2025 20:48:53 GMT (envelope-from git) Date: Tue, 11 Feb 2025 20:48:53 GMT Message-Id: <202502112048.51BKmrYW092025@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: c48ca725a83c - main - make_dev.9: Fix mda_cr typo + polish List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c48ca725a83c0c8b27210d50977835c0b916bf07 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c48ca725a83c0c8b27210d50977835c0b916bf07 commit c48ca725a83c0c8b27210d50977835c0b916bf07 Author: Alexander Ziaee AuthorDate: 2025-02-11 20:42:27 +0000 Commit: Alexander Ziaee CommitDate: 2025-02-11 20:47:47 +0000 make_dev.9: Fix mda_cr typo + polish The make_dev_args_init structure example said mda_cred, however the correct form is mda_cr according to the reporter and my git grep. A new document description has been contributed by jhb. While here, fix grammar and trivial typos (spacing, colons before examples, trailing delimiter) and spdx. MFC after: 3 days Reported by: jhb (much polish and document description) Reported by: Evgenii Ivanov on Community Discord Reviewed by: carlavilla, mhorne, jhb, kib Approved by: carlavilla, mhorne (mentors) Differential Revision: https://reviews.freebsd.org/D48516 --- share/man/man9/make_dev.9 | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/share/man/man9/make_dev.9 b/share/man/man9/make_dev.9 index 5428b4c7a74e..de56f350faa5 100644 --- a/share/man/man9/make_dev.9 +++ b/share/man/man9/make_dev.9 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 Chris Costello .\" All rights reserved. .\" @@ -22,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 2, 2016 +.Dd January 19, 2025 .Dt MAKE_DEV 9 .Os .Sh NAME @@ -38,9 +41,7 @@ .Nm destroy_dev_sched_cb , .Nm destroy_dev_drain , .Nm dev_depends -.Nd manage -.Vt cdev Ns 's -and DEVFS registration for devices +.Nd create and destroy character devices including devfs registration .Sh SYNOPSIS .In sys/param.h .In sys/conf.h @@ -105,6 +106,7 @@ struct make_dev_args { void *mda_si_drv2; }; .Ed +.Pp Before use and filling with the desired values, the structure must be initialized by the .Fn make_dev_args_init @@ -166,10 +168,10 @@ member of the initialized The .Va args.mda_flags argument alters the operation of -.Fn make_dev_s. +.Fn make_dev_s . The following values are currently accepted: .Pp -.Bl -tag -width "It Dv MAKEDEV_CHECKNAME" -compact -offset indent +.Bl -tag -width "MAKEDEV_CHECKNAME" -compact -offset indent .It Dv MAKEDEV_REF reference the created device .It Dv MAKEDEV_NOWAIT @@ -200,12 +202,13 @@ is specified. .Pp The .Xr dev_clone 9 -event handler shall specify +event handler shall specify the .Dv MAKEDEV_REF -flag when creating a device in response to lookup, to avoid race where -the device created is destroyed immediately after -.Xr devfs_lookup 9 -drops his reference to cdev. +flag when creating a device in response to lookup, to avoid a race where +the created device is immediately destroyed after +.Fn devfs_lookup +drops its reference to +.Fa cdev . .Pp The .Dv MAKEDEV_ETERNAL @@ -226,13 +229,14 @@ and the device name is invalid or already exists. .Pp The .Fn make_dev_p -use of the form +use of the form: .Bd -literal -offset indent struct cdev *dev; int res; res = make_dev_p(flags, &dev, cdevsw, cred, uid, gid, perms, name); .Ed -is equivalent to the code +.Pp +is equivalent to the code: .Bd -literal -offset indent struct cdev *dev; struct make_dev_args args; @@ -241,7 +245,7 @@ int res; make_dev_args_init(&args); args.mda_flags = flags; args.mda_devsw = cdevsw; -args.mda_cred = cred; +args.mda_cr = cred; args.mda_uid = uid; args.mda_gid = gid; args.mda_mode = perms; @@ -250,10 +254,11 @@ res = make_dev_s(&args, &dev, name); .Pp Similarly, the .Fn make_dev_credf -function call is equivalent to +function call is equivalent to: .Bd -literal -offset indent - (void) make_dev_s(&args, &dev, name); +(void) make_dev_s(&args, &dev, name); .Ed +.Pp In other words, .Fn make_dev_credf does not allow the caller to obtain the return value, and in @@ -263,14 +268,14 @@ options, the function asserts that the device creation succeeded. .Pp The .Fn make_dev_cred -function is equivalent to the call +function is equivalent to the call: .Bd -literal -offset indent make_dev_credf(0, cdevsw, unit, cr, uid, gid, perms, fmt, ...); .Ed .Pp The .Fn make_dev -function call is the same as +function call is the same as: .Bd -literal -offset indent make_dev_credf(0, cdevsw, unit, NULL, uid, gid, perms, fmt, ...); .Ed @@ -377,7 +382,7 @@ is called, with argument .Fa arg . The .Fn destroy_dev_sched -function is the same as +function is the same as: .Bd -literal -offset indent destroy_dev_sched_cb(cdev, NULL, NULL); .Ed From nobody Tue Feb 11 21:28:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysvgn33Bsz5mlmw; Tue, 11 Feb 2025 21:28: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysvgn0y9nz3LPv; Tue, 11 Feb 2025 21:28:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739309301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rrOtySJKgIkw4JVH5Ho7IxCfIBtGOoovxPCD1c+ccBQ=; b=Mf5eavt2C/+w2VP6MHkHGetHQkFCWzlldMvTzDkvWbMcS+YLabGt+U1l5ZGj37kRPbp8tl g2Ot//dzg7CYZliscBOJcdoRh/aXEWxGP6SaM2CwCePNLO9ckmI1xWAaGT0jsDgJBoXBeQ qzShFlc9NwNa51saboV+hapLS2vurdHD3yCmHOuM0Op09rRLo0jO3YZyj5rLuLv1WuqG38 5wp5AtXhBV7JUxSZfmQTDpEhBviCyux+kcINNX455qeGnRtXzmf4c1luq+6rvNDYUT+kcQ F6WBXdlLlu+vY1Ux1XE7o0x0kSwkCcyr4tuOLII9bZ/eZcxErmRrtoZrz/QycA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739309301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rrOtySJKgIkw4JVH5Ho7IxCfIBtGOoovxPCD1c+ccBQ=; b=wJPtDGMwtb7EHfkKbP1ZdG5ZSVK+482AKtjSOFmxxN9IilalvfTp0t9DIF3cp47I+fMiKD UfSctl5DlFmMWmdEtnrZ0NpiHzSQSnUJJtxlu0Gq/oa6SnEOpSPoCZnhr5pgp8dRIl9nWc 43kJuQT9hO7EaAiWQu9vdH/EV4ZA0W/KPuY7OzovCmxGCRYg9g31PMgeVv9hw+IShhQ78T SHYWJ+qUH871Vc+HUeJ3WCDTQKdxZc5QjZbEcjXqaNwElC3O5lH14oDqTFa8zCXH9/dKqq xAiqvuH1du7vlXN0J1R1fyNJmsXMow9HnhXKTzvpy1F57HFMamGQfX9z5F5uKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739309301; a=rsa-sha256; cv=none; b=x5R2peMrdqaE3HvwEVY54ImDapPXmfKv1e2VWBxSUojjeFmhz93E0YCLca6JBkbzqt6aD8 L/wYTopfrD1X3GvEVYDW/osewNjv/IqBZPLfh4gF2WJr1tu56QwnBWpdqEkuBcoxBhFBMX RUgSbC6xLemja1dUYTRV0ig/qT5yQVRhker++zQICOCoQH8C3FY1+nVVxe5NNFG8cfUH8M pyfaBzo5RfNccotkkBeuYImAgMzojB1Tw/VHVzEHiny4lPRwT6X4DKBBkdOz7x9j6hxfY5 kqB9/Fu+A7DdPTLMlwsGp/FgpgWn4rgytylRLGfQUVCeJV8MT6y9Da73dlSwMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysvgn0YdtzTx2; Tue, 11 Feb 2025 21:28: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 51BLSKnp067022; Tue, 11 Feb 2025 21:28:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BLSKxH067019; Tue, 11 Feb 2025 21:28:20 GMT (envelope-from git) Date: Tue, 11 Feb 2025 21:28:20 GMT Message-Id: <202502112128.51BLSKxH067019@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: 90702fb5de14 - stable/14 - install: Fix METALOG ouptut for numeric -o and -g args List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 90702fb5de14c34e2404bd1f58706a067ac459bc Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=90702fb5de14c34e2404bd1f58706a067ac459bc commit 90702fb5de14c34e2404bd1f58706a067ac459bc Author: Ed Maste AuthorDate: 2025-01-17 19:14:22 +0000 Commit: Ed Maste CommitDate: 2025-02-11 21:27:17 +0000 install: Fix METALOG ouptut for numeric -o and -g args install's -o and -g flags both accept a name or a numeric argument. In -U -M (non-root METALOG) mode it always emitted uname= and gname= in the METALOG, but these are not appropriate for numeric IDs. If the -o and/or -u arguments parse as an ID, emit uid= and/or gid= respectively. Note that if an argument is valid as both a name and numeric ID we will prefer the name in normal (non -U -M) mode and the ID in -U -M mode. We don't want to require a passwd db in non-root mode, and entirely-numeric user or group names are a terrible idea so just accept this discrepancy. PR: 284119 Reviewed by: jlduran Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48504 (cherry picked from commit 4b04f5d7e8a2bb0488ad5804ecaf45cef5b1d46f) --- usr.bin/xinstall/xinstall.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index 1667c54e3649..4d771186781b 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -1444,10 +1444,22 @@ metadata_log(const char *path, const char *type, struct timespec *ts, p = buf; /* Print details. */ fprintf(metafp, ".%s%s type=%s", *p ? "/" : "", p, type); - if (owner) - fprintf(metafp, " uname=%s", owner); - if (group) - fprintf(metafp, " gname=%s", group); + if (owner) { + id_t id; + + if (parseid(owner, &id)) + fprintf(metafp, " uid=%jd", (intmax_t)id); + else + fprintf(metafp, " uname=%s", owner); + } + if (group) { + id_t id; + + if (parseid(group, &id)) + fprintf(metafp, " gid=%jd", (intmax_t)id); + else + fprintf(metafp, " gname=%s", group); + } fprintf(metafp, " mode=%#o", mode); if (slink) { strsnvis(buf, buflen, slink, VIS_CSTYLE, extra); From nobody Tue Feb 11 21:32:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysvn315zdz5mmJY; Tue, 11 Feb 2025 21:32: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysvn30K5Sz3PTR; Tue, 11 Feb 2025 21:32:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739309575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YkzLelMYwEF5T7VH5/C/f4tIF73QmseoPf53604c6uc=; b=YuapM5vO+IlaFH93QwwU352X5mKfIBvOquJmeYiyltK9p/W06zqeAjXjKAP1/hLIp8v4F6 BCte2fyECUDEAixxM43Gy6rTaSmTqUkZRu/4XyBJLXu9nDVphtEE9RY4iK1JzeJ0SUkzdl 9GQzYaJF1XnWeDjtrfZBodF8HO4ReF5YBBejfxLkzp12DzPr2qoz4znwOrFz4jkWjICRii DEDyeaV7NuxgNyXz0EwmhkPSjcGZZE5VJmVPOp0gQr8c4k7UPtkLXcAoXT0Jf2CsHTRqYn YsSmtzVALyqWFezVzPAXBI+Kzo6n87wxWLmonIiYcuw/A//KmD8rCjzBBga7Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739309575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YkzLelMYwEF5T7VH5/C/f4tIF73QmseoPf53604c6uc=; b=vT7AV/VhnahQ/VoubjGo/U0Hi2dsbrZtm6v7AB9cEbJdME3owdRdKVy5yvFS5VM+deAQVz y3gUBc+OMPA+Vq1EhFiDa0sblgngi+GCVk/bIrr25MIsuu7e+6l5iNcFkFZSlbtTXyucBI NMXMnNZD2NmERoU1MyXRRJAm4dZOP5wR26oQcLvWRH00AMcrXSmxCfh+vAh348g8FeuBob 8GJfWiUC+8hdXgN/yWtvTyP8W4pl/CoFGUFV/JTORbPLNXSMkyOz/Aatnr2ehT4wyf1kBs LhJO/41185SxroKEpcuZcvfXvrSmVz+vpFwoKMiB/poPYJ4SdcIaHETcMQGA1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739309575; a=rsa-sha256; cv=none; b=eTR/8TbX6fTRUacTJ9rBxO8bRazHoi2YPLIPU8fn0X/Bp1jeg2CL7eBOccValpMzsuzDFJ d18brMfXFbXF8X8XE1iM7PL6wx7xE+E20xHjUQdFB1CSXME3UdKtRz3fxbuEUXc/ZXLVuC i+W5XjogjUAKHsmdsUw+Y7scUDBJr3h7x8HrnwnN3Y48HbREAN4qmQHPnp/zprQYYWDWkO tQe9ddL5bAUzap8A7p9TG5NySkDF4o4mjagUKXHRni5+LXkAWUJ+TdnuV5wYgW+kAxsv9x 5NkhwBsbKRi1aD4mKWChbAj2MZQilkE0lmsh2l8pEdL+fvfeordRbmBBr2PG0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysvn26QfQzVFn; Tue, 11 Feb 2025 21:32: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 51BLWsI4083681; Tue, 11 Feb 2025 21:32:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BLWs80083678; Tue, 11 Feb 2025 21:32:54 GMT (envelope-from git) Date: Tue, 11 Feb 2025 21:32:54 GMT Message-Id: <202502112132.51BLWs80083678@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: 916ee8225f53 - stable/14 - contrib: Remove now-unused cortex-strings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 916ee8225f53af703548c7e787e104a59a91a164 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=916ee8225f53af703548c7e787e104a59a91a164 commit 916ee8225f53af703548c7e787e104a59a91a164 Author: Ed Maste AuthorDate: 2025-01-17 14:51:00 +0000 Commit: Ed Maste CommitDate: 2025-02-11 21:30:59 +0000 contrib: Remove now-unused cortex-strings Replaced by arm-optimized-routines in commit 2e8ff4d1d5b9 ("Switch to Arm Optimized Routines for mem* & str*"). Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48500 (cherry picked from commit 4a7d6666c5ddd135b2023b4b3b4962770ff2e73b) --- contrib/cortex-strings/.gitignore | 11 - contrib/cortex-strings/Makefile.am | 327 --------- contrib/cortex-strings/README | 111 --- contrib/cortex-strings/autogen.sh | 69 -- contrib/cortex-strings/benchmarks/dhry/dhry.h | 311 --------- contrib/cortex-strings/benchmarks/dhry/dhry_1.c | 778 ---------------------- contrib/cortex-strings/benchmarks/dhry/dhry_2.c | 186 ------ contrib/cortex-strings/benchmarks/multi/harness.c | 407 ----------- contrib/cortex-strings/configure.ac | 88 --- contrib/cortex-strings/scripts/add-license.sh | 79 --- contrib/cortex-strings/scripts/bench.py | 175 ----- contrib/cortex-strings/scripts/fixup.py | 27 - contrib/cortex-strings/scripts/libplot.py | 78 --- contrib/cortex-strings/scripts/plot-align.py | 67 -- contrib/cortex-strings/scripts/plot-sizes.py | 120 ---- contrib/cortex-strings/scripts/plot-top.py | 61 -- contrib/cortex-strings/scripts/plot.py | 123 ---- contrib/cortex-strings/scripts/trim.sh | 9 - contrib/cortex-strings/src/aarch64/memchr.S | 172 ----- contrib/cortex-strings/src/aarch64/memcmp.S | 162 ----- contrib/cortex-strings/src/aarch64/memcpy.S | 225 ------- contrib/cortex-strings/src/aarch64/memmove.S | 150 ----- contrib/cortex-strings/src/aarch64/memset.S | 235 ------- contrib/cortex-strings/src/aarch64/strchr.S | 165 ----- contrib/cortex-strings/src/aarch64/strchrnul.S | 144 ---- contrib/cortex-strings/src/aarch64/strcmp.S | 166 ----- contrib/cortex-strings/src/aarch64/strcpy.S | 336 ---------- contrib/cortex-strings/src/aarch64/strlen.S | 233 ------- contrib/cortex-strings/src/aarch64/strncmp.S | 222 ------ contrib/cortex-strings/src/aarch64/strnlen.S | 181 ----- contrib/cortex-strings/src/arm/memchr.S | 155 ----- contrib/cortex-strings/src/arm/memcpy.S | 617 ----------------- contrib/cortex-strings/src/arm/memset.S | 122 ---- contrib/cortex-strings/src/arm/strchr.S | 80 --- contrib/cortex-strings/src/arm/strcmp.S | 500 -------------- contrib/cortex-strings/src/thumb-2/strcpy.c | 173 ----- contrib/cortex-strings/src/thumb-2/strlen.S | 150 ----- contrib/cortex-strings/src/thumb/aeabi_idiv.S | 318 --------- contrib/cortex-strings/src/thumb/strcmp-armv6m.S | 143 ---- 39 files changed, 7676 deletions(-) diff --git a/contrib/cortex-strings/.gitignore b/contrib/cortex-strings/.gitignore deleted file mode 100644 index 558ca155c736..000000000000 --- a/contrib/cortex-strings/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -*.a -*.o -*.la -*.lo -*.png -*.pyc -.deps -.dirstamp -.libs -try-* -cache.txt diff --git a/contrib/cortex-strings/Makefile.am b/contrib/cortex-strings/Makefile.am deleted file mode 100644 index db6bb93254a4..000000000000 --- a/contrib/cortex-strings/Makefile.am +++ /dev/null @@ -1,327 +0,0 @@ -# Copyright (c) 2011, Linaro Limited -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * 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. -# * Neither the name of the Linaro nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -# - -# Top level Makefile for cortex-strings - -# Used to record the compiler version in the executables -COMPILER = $(shell $(CC) --version 2>&1 | head -n1) - -# The main library -lib_LTLIBRARIES = \ - libcortex-strings.la - -## Test suite -check_PROGRAMS = \ - tests/test-memchr \ - tests/test-memcmp \ - tests/test-memcpy \ - tests/test-memmove \ - tests/test-memset \ - tests/test-strchr \ - tests/test-strcmp \ - tests/test-strcpy \ - tests/test-strlen \ - tests/test-strncmp \ - tests/test-strnlen - -# Options for the tests -tests_cflags = -I$(srcdir)/tests $(AM_CFLAGS) -tests_ldadd = libcortex-strings.la -tests_test_memchr_LDADD = $(tests_ldadd) -tests_test_memchr_CFLAGS = $(tests_cflags) -tests_test_memcmp_LDADD = $(tests_ldadd) -tests_test_memcmp_CFLAGS = $(tests_cflags) -tests_test_memcpy_LDADD = $(tests_ldadd) -tests_test_memcpy_CFLAGS = $(tests_cflags) -tests_test_memmove_LDADD = $(tests_ldadd) -tests_test_memmove_CFLAGS = $(tests_cflags) -tests_test_memset_LDADD = $(tests_ldadd) -tests_test_memset_CFLAGS = $(tests_cflags) -tests_test_strchr_LDADD = $(tests_ldadd) -tests_test_strchr_CFLAGS = $(tests_cflags) -tests_test_strcmp_LDADD = $(tests_ldadd) -tests_test_strcmp_CFLAGS = $(tests_cflags) -tests_test_strcpy_LDADD = $(tests_ldadd) -tests_test_strcpy_CFLAGS = $(tests_cflags) -tests_test_strlen_LDADD = $(tests_ldadd) -tests_test_strlen_CFLAGS = $(tests_cflags) -tests_test_strncmp_LDADD = $(tests_ldadd) -tests_test_strncmp_CFLAGS = $(tests_cflags) - -TESTS = $(check_PROGRAMS) - -## Benchmarks -noinst_PROGRAMS = \ - dhry \ - dhry-native \ - try-none \ - try-this \ - try-plain \ - try-newlib-c \ - try-bionic-c \ - try-glibc-c - -# Good 'ol Dhrystone -dhry_SOURCES = \ - benchmarks/dhry/dhry_1.c \ - benchmarks/dhry/dhry_2.c \ - benchmarks/dhry/dhry.h - -dhry_CFLAGS = -Dcompiler="\"$(COMPILER)\"" -Doptions="\"$(CFLAGS)\"" -dhry_LDADD = libcortex-strings.la - -dhry_native_SOURCES = $(dhry_SOURCES) -dhry_native_CFLAGS = $(dhry_CFLAGS) - -# Benchmark harness -noinst_LIBRARIES = \ - libmulti.a \ - libbionic-c.a \ - libglibc-c.a \ - libnewlib-c.a \ - libplain.a - -libmulti_a_SOURCES = \ - benchmarks/multi/harness.c - -libmulti_a_CFLAGS = -DVERSION=\"$(VERSION)\" $(AM_CFLAGS) - -## Other architecture independant implementaions -libbionic_c_a_SOURCES = \ - reference/bionic-c/bcopy.c \ - reference/bionic-c/memchr.c \ - reference/bionic-c/memcmp.c \ - reference/bionic-c/memcpy.c \ - reference/bionic-c/memset.c \ - reference/bionic-c/strchr.c \ - reference/bionic-c/strcmp.c \ - reference/bionic-c/strcpy.c \ - reference/bionic-c/strlen.c - -libglibc_c_a_SOURCES = \ - reference/glibc-c/memchr.c \ - reference/glibc-c/memcmp.c \ - reference/glibc-c/memcpy.c \ - reference/glibc-c/memset.c \ - reference/glibc-c/strchr.c \ - reference/glibc-c/strcmp.c \ - reference/glibc-c/strcpy.c \ - reference/glibc-c/strlen.c \ - reference/glibc-c/wordcopy.c \ - reference/glibc-c/memcopy.h \ - reference/glibc-c/pagecopy.h - -libnewlib_c_a_SOURCES = \ - reference/newlib-c/memchr.c \ - reference/newlib-c/memcmp.c \ - reference/newlib-c/memcpy.c \ - reference/newlib-c/memset.c \ - reference/newlib-c/strchr.c \ - reference/newlib-c/strcmp.c \ - reference/newlib-c/strcpy.c \ - reference/newlib-c/strlen.c \ - reference/newlib-c/shim.h - -libplain_a_SOURCES = \ - reference/plain/memset.c \ - reference/plain/memcpy.c \ - reference/plain/strcmp.c \ - reference/plain/strcpy.c - -try_none_SOURCES = -try_none_LDADD = libmulti.a -lrt -try_this_SOURCES = -try_this_LDADD = libmulti.a libcortex-strings.la -lrt -try_bionic_c_SOURCES = -try_bionic_c_LDADD = libmulti.a libbionic-c.a -lrt -try_glibc_c_SOURCES = -try_glibc_c_LDADD = libmulti.a libglibc-c.a -lrt -try_newlib_c_SOURCES = -try_newlib_c_LDADD = libmulti.a libnewlib-c.a -lrt -try_plain_SOURCES = -try_plain_LDADD = libmulti.a libplain.a -lrt - -# Architecture specific - -if HOST_AARCH32 - -if WITH_NEON -# Pull in the NEON specific files -neon_bionic_a9_sources = \ - reference/bionic-a9/memcpy.S \ - reference/bionic-a9/memset.S -neon_bionic_a15_sources = \ - reference/bionic-a15/memcpy.S \ - reference/bionic-a15/memset.S -fpu_flags = -mfpu=neon -else -if WITH_VFP -fpu_flags = -mfpu=vfp -else -fpu_flags = -msoft-float -endif -endif - -# Benchmarks and example programs -noinst_PROGRAMS += \ - try-bionic-a9 \ - try-bionic-a15 \ - try-csl \ - try-glibc \ - try-newlib \ - try-newlib-xscale - -# Libraries used in the benchmarks and examples -noinst_LIBRARIES += \ - libbionic-a9.a \ - libbionic-a15.a \ - libcsl.a \ - libglibc.a \ - libnewlib.a \ - libnewlib-xscale.a - -# Main library -libcortex_strings_la_SOURCES = \ - src/thumb-2/strcpy.c \ - src/arm/memchr.S \ - src/arm/strchr.S \ - src/thumb-2/strlen.S \ - src/arm/memset.S \ - src/arm/memcpy.S \ - src/arm/strcmp.S - -# Libraries containing the difference reference versions -libbionic_a9_a_SOURCES = \ - $(neon_bionic_a9_sources) \ - reference/bionic-a9/memcmp.S \ - reference/bionic-a9/strcmp.S \ - reference/bionic-a9/strcpy.S \ - reference/bionic-a9/strlen.c - -libbionic_a9_a_CFLAGS = -Wa,-mimplicit-it=thumb - -libbionic_a15_a_SOURCES = \ - $(neon_bionic_a15_sources) \ - reference/bionic-a15/memcmp.S \ - reference/bionic-a15/strcmp.S \ - reference/bionic-a15/strcpy.S \ - reference/bionic-a15/strlen.c - -libbionic_a15_a_CFLAGS = -Wa,-mimplicit-it=thumb - -libcsl_a_SOURCES = \ - reference/csl/memcpy.c \ - reference/csl/memset.c \ - reference/csl/arm_asm.h - -libglibc_a_SOURCES = \ - reference/glibc/memcpy.S \ - reference/glibc/memset.S \ - reference/glibc/strchr.S \ - reference/glibc/strlen.S - -libnewlib_a_SOURCES = \ - reference/newlib/memcpy.S \ - reference/newlib/strcmp.S \ - reference/newlib/strcpy.c \ - reference/newlib/strlen.c \ - reference/newlib/arm_asm.h \ - reference/newlib/shim.h - -libnewlib_xscale_a_SOURCES = \ - reference/newlib-xscale/memchr.c \ - reference/newlib-xscale/memcpy.c \ - reference/newlib-xscale/memset.c \ - reference/newlib-xscale/strchr.c \ - reference/newlib-xscale/strcmp.c \ - reference/newlib-xscale/strcpy.c \ - reference/newlib-xscale/strlen.c \ - reference/newlib-xscale/xscale.h - -# Flags for the benchmark helpers -try_bionic_a9_SOURCES = -try_bionic_a9_LDADD = libmulti.a libbionic-a9.a -lrt -try_bionic_a15_SOURCES = -try_bionic_a15_LDADD = libmulti.a libbionic-a15.a -lrt -try_csl_SOURCES = -try_csl_LDADD = libmulti.a libcsl.a -lrt -try_glibc_SOURCES = -try_glibc_LDADD = libmulti.a libglibc.a -lrt -try_newlib_SOURCES = -try_newlib_LDADD = libmulti.a libnewlib.a -lrt -try_newlib_xscale_SOURCES = -try_newlib_xscale_LDADD = libmulti.a libnewlib-xscale.a -lrt - -AM_CPPFLAGS = $(fpu_flags) -AM_LDFLAGS = $(fpu_flags) - -endif - -# aarch64 specific -if HOST_AARCH64 - -libcortex_strings_la_SOURCES = \ - src/aarch64/memchr.S \ - src/aarch64/memcmp.S \ - src/aarch64/memcpy.S \ - src/aarch64/memmove.S \ - src/aarch64/memset.S \ - src/aarch64/strchr.S \ - src/aarch64/strchrnul.S \ - src/aarch64/strcmp.S \ - src/aarch64/strcpy.S \ - src/aarch64/strlen.S \ - src/aarch64/strncmp.S \ - src/aarch64/strnlen.S - -endif - -libcortex_strings_la_LDFLAGS = -version-info 1:0:0 - -AM_CFLAGS = \ - -std=gnu99 -Wall \ - -fno-builtin -fno-stack-protector -U_FORTIFY_SOURCE \ - $(AM_CPPFLAGS) - -if WITH_SUBMACHINE -AM_CFLAGS += \ - -mtune=$(submachine) -endif - -EXTRA_DIST = \ - tests/hp-timing.h \ - tests/test-string.h \ - tests/test-skeleton.c \ - scripts/add-license.sh \ - scripts/bench.py \ - scripts/fixup.py \ - scripts/libplot.py \ - scripts/plot-align.py \ - scripts/plot.py \ - scripts/plot-sizes.py \ - scripts/plot-top.py \ - scripts/trim.sh \ - autogen.sh diff --git a/contrib/cortex-strings/README b/contrib/cortex-strings/README deleted file mode 100644 index 5e9e9d3f1d6f..000000000000 --- a/contrib/cortex-strings/README +++ /dev/null @@ -1,111 +0,0 @@ -= Cortex-A String Routines = - -This package contains optimised string routines including memcpy(), memset(), -strcpy(), strlen() for the ARM Cortex-A series of cores. - -Various implementations of these routines are provided, including generic -implementations for ARMv7-A cores with/without Neon, Thumb2 implementations -and generic implementations for cores supporting AArch64. - -== Getting started == -First configure and then install libcortex-strings.so. To make other -applications use this library, either add -lcortex-strings to the link -command or use LD_PRELOAD to load the library into existing applications. - -Our intent is to get these routines into the common C libraries such -as GLIBC, Bionic, and Newlib. Your system may already include them! - -== Contents == - * src/ contains the routines themselves - * tests/ contains the unit tests - * reference/ contains reference copies of other ARM-focused - implementations gathered from around the Internet - * benchmarks/ contains various benchmarks, tools, and scripts used to - check and report on the different implementations. - -The src directory contains different variants organised by the -implementation they run on and optional features used. For example: - * src/thumb-2 contains generic non-NEON routines for AArch32 (with Thumb-2). - * src/arm contains tuned routines for Cortex-A class processors. - * src/aarch64 contains generic routines for AArch64. - * src/thumb contains generic routines for armv6-M (with Thumb). - -== Reference versions == -reference/ contains versions collected from various popular Open -Source libraries. These have been modified for use in benchmarking. -Please refer to the individual files for any licensing terms. - -The routines were collected from the following releases: - * EGLIBC 2.13 - * Newlib 1.19.0 - * Bionic android-2.3.5_r1 - -== Licensing == -All Linaro-authored routines are under the modified BSD license: - -Copyright (c) 2011, Linaro Limited -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of the Linaro nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. - -All ARM-authored routines are under the modified BSD license: - -Copyright (c) 2014 ARM Ltd -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of the Linaro nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. - -All third party routines are under a GPL compatible license. - -== Notes and Limitations == -Some of the implementations have been collected from other -projects and have a variety of licenses and copyright holders. - -== Style == -Assembly code attempts to follow the GLIBC coding convetions. They -are: - * Copyright headers in C style comment blocks - * Instructions indented with one tab - * Operands indented with one tab - * Text is wrapped at 70 characters - * End of line comments are fine diff --git a/contrib/cortex-strings/autogen.sh b/contrib/cortex-strings/autogen.sh deleted file mode 100755 index 8e0591cc315a..000000000000 --- a/contrib/cortex-strings/autogen.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh -# -# autogen.sh glue for hplip -# -# HPLIP used to have five or so different autotools trees. Upstream -# has reduced it to two. Still, this script is capable of cleaning -# just about any possible mess of autoconf files. -# -# BE CAREFUL with trees that are not completely automake-generated, -# this script deletes all Makefile.in files it can find. -# -# Requires: automake 1.9, autoconf 2.57+ -# Conflicts: autoconf 2.13 -set -e - -# Refresh GNU autotools toolchain. -echo Cleaning autotools files... -find -type d -name autom4te.cache -print0 | xargs -0 rm -rf \; -find -type f \( -name missing -o -name install-sh -o -name mkinstalldirs \ - -o -name depcomp -o -name ltmain.sh -o -name configure \ - -o -name config.sub -o -name config.guess \ - -o -name Makefile.in \) -print0 | xargs -0 rm -f - -echo Running autoreconf... -autoreconf --force --install - -# For the Debian package build -test -d debian && { - # link these in Debian builds - rm -f config.sub config.guess - ln -s /usr/share/misc/config.sub . - ln -s /usr/share/misc/config.guess . - - # refresh list of executable scripts, to avoid possible breakage if - # upstream tarball does not include the file or if it is mispackaged - # for whatever reason. - [ "$1" = "updateexec" ] && { - echo Generating list of executable files... - rm -f debian/executable.files - find -type f -perm +111 ! -name '.*' -fprint debian/executable.files - } - - # Remove any files in upstream tarball that we don't have in the Debian - # package (because diff cannot remove files) - version=`dpkg-parsechangelog | awk '/Version:/ { print $2 }' | sed -e 's/-[^-]\+$//'` - source=`dpkg-parsechangelog | awk '/Source:/ { print $2 }' | tr -d ' '` - if test -r ../${source}_${version}.orig.tar.gz ; then - echo Generating list of files that should be removed... - rm -f debian/deletable.files - touch debian/deletable.files - [ -e debian/tmp ] && rm -rf debian/tmp - mkdir debian/tmp - ( cd debian/tmp ; tar -zxf ../../../${source}_${version}.orig.tar.gz ) - find debian/tmp/ -type f ! -name '.*' -print0 | xargs -0 -ri echo '{}' | \ - while read -r i ; do - if test -e "${i}" ; then - filename=$(echo "${i}" | sed -e 's#.*debian/tmp/[^/]\+/##') - test -e "${filename}" || echo "${filename}" >>debian/deletable.files - fi - done - rm -fr debian/tmp - else - echo Emptying list of files that should be deleted... - rm -f debian/deletable.files - touch debian/deletable.files - fi -} - -exit 0 diff --git a/contrib/cortex-strings/benchmarks/dhry/dhry.h b/contrib/cortex-strings/benchmarks/dhry/dhry.h deleted file mode 100644 index 3010aecdd31f..000000000000 --- a/contrib/cortex-strings/benchmarks/dhry/dhry.h +++ /dev/null @@ -1,311 +0,0 @@ -/* - ************************************************************************** - * DHRYSTONE 2.1 BENCHMARK PC VERSION - ************************************************************************** - * - * "DHRYSTONE" Benchmark Program - * ----------------------------- - * - * Version: C, Version 2.1 - * - * File: dhry.h (part 1 of 3) - * - * Date: May 25, 1988 - * - * Author: Reinhold P. Weicker - * Siemens AG, AUT E 51 - * Postfach 3220 - * 8520 Erlangen - * Germany (West) - * Phone: [+49]-9131-7-20330 - * (8-17 Central European Time) - * Usenet: ..!mcsun!unido!estevax!weicker - * - * Original Version (in Ada) published in - * "Communications of the ACM" vol. 27., no. 10 (Oct. 1984), - * pp. 1013 - 1030, together with the statistics - * on which the distribution of statements etc. is based. - * - * In this C version, the following C library functions are used: - * - strcpy, strcmp (inside the measurement loop) - * - printf, scanf (outside the measurement loop) - * In addition, Berkeley UNIX system calls "times ()" or "time ()" - * are used for execution time measurement. For measurements - * on other systems, these calls have to be changed. - * - * Collection of Results: - * Reinhold Weicker (address see above) and - * - * Rick Richardson - * PC Research. Inc. - * 94 Apple Orchard Drive - * Tinton Falls, NJ 07724 - * Phone: (201) 389-8963 (9-17 EST) - * Usenet: ...!uunet!pcrat!rick - * - * Please send results to Rick Richardson and/or Reinhold Weicker. - * Complete information should be given on hardware and software used. - * Hardware information includes: Machine type, CPU, type and size - * of caches; for microprocessors: clock frequency, memory speed - * (number of wait states). - * Software information includes: Compiler (and runtime library) - * manufacturer and version, compilation switches, OS version. - * The Operating System version may give an indication about the - * compiler; Dhrystone itself performs no OS calls in the measurement - * loop. - * - * The complete output generated by the program should be mailed - * such that at least some checks for correctness can be made. - * - ************************************************************************** - * - * This version has changes made by Roy Longbottom to conform to a common - * format for a series of standard benchmarks for PCs: - * - * Running time greater than 5 seconds due to inaccuracy of the PC clock. - * - * Automatic adjustment of run time, no manually inserted parameters. - * - * Initial display of calibration times to confirm linearity. - * - * Display of results within one screen (or at a slow speed as the test - * progresses) so that it can be seen to have run successfully. - * - * Facilities to type in details of system used etc. - * - * All results and details appended to a results file. - * - * - * Roy Longbottom - * 101323.2241@compuserve.com - * - ************************************************************************** - * - * For details of history, changes, other defines, benchmark construction - * statistics see official versions from ftp.nosc.mil/pub/aburto where - * the latest table of results (dhry.tbl) are available. See also - * netlib@ornl.gov - * - ************************************************************************** - * - * Defines: The following "Defines" are possible: - * -DREG=register (default: Not defined) - * As an approximation to what an average C programmer - * might do, the "register" storage class is applied - * (if enabled by -DREG=register) - * - for local variables, if they are used (dynamically) - * five or more times - * - for parameters if they are used (dynamically) - * six or more times - * Note that an optimal "register" strategy is - * compiler-dependent, and that "register" declarations - * do not necessarily lead to faster execution. - * -DNOSTRUCTASSIGN (default: Not defined) - * Define if the C compiler does not support - * assignment of structures. - * -DNOENUMS (default: Not defined) - * Define if the C compiler does not support - * enumeration types. - *************************************************************************** - * - * Compilation model and measurement (IMPORTANT): - * - * This C version of Dhrystone consists of three files: - * - dhry.h (this file, containing global definitions and comments) - * - dhry_1.c (containing the code corresponding to Ada package Pack_1) - * - dhry_2.c (containing the code corresponding to Ada package Pack_2) - * - * The following "ground rules" apply for measurements: - * - Separate compilation - * - No procedure merging - * - Otherwise, compiler optimizations are allowed but should be indicated - * - Default results are those without register declarations - * See the companion paper "Rationale for Dhrystone Version 2" for a more - * detailed discussion of these ground rules. - * - * For 16-Bit processors (e.g. 80186, 80286), times for all compilation - * models ("small", "medium", "large" etc.) should be given if possible, - * together with a definition of these models for the compiler system used. - * - ************************************************************************** - * Examples of Pentium Results - * - * Dhrystone Benchmark Version 2.1 (Language: C) - * - * Month run 4/1996 - * PC model Escom - * CPU Pentium - * Clock MHz 100 - * Cache 256K - * Options Neptune chipset - * OS/DOS Windows 95 - * Compiler Watcom C/ C++ 10.5 Win386 - * OptLevel -otexan -zp8 -fp5 -5r - * Run by Roy Longbottom - * From UK - * Mail 101323.2241@compuserve.com - * - * Final values (* implementation-dependent): - * - * Int_Glob: O.K. 5 - * Bool_Glob: O.K. 1 - * Ch_1_Glob: O.K. A - * Ch_2_Glob: O.K. B - * Arr_1_Glob[8]: O.K. 7 - * Arr_2_Glob8/7: O.K. 1600010 - * Ptr_Glob-> - * Ptr_Comp: * 98008 - * Discr: O.K. 0 - * Enum_Comp: O.K. 2 - * Int_Comp: O.K. 17 - * Str_Comp: O.K. DHRYSTONE PROGRAM, SOME STRING - * Next_Ptr_Glob-> - * Ptr_Comp: * 98008 same as above - * Discr: O.K. 0 - * Enum_Comp: O.K. 1 - * Int_Comp: O.K. 18 - * Str_Comp: O.K. DHRYSTONE PROGRAM, SOME STRING - * Int_1_Loc: O.K. 5 - * Int_2_Loc: O.K. 13 - * Int_3_Loc: O.K. 7 - * Enum_Loc: O.K. 1 - * Str_1_Loc: O.K. DHRYSTONE PROGRAM, 1'ST STRING - * Str_2_Loc: O.K. DHRYSTONE PROGRAM, 2'ND STRING - * - * Register option Selected. - * - * Microseconds 1 loop: 4.53 - * Dhrystones / second: 220690 - * VAX MIPS rating: 125.61 - * - * - * Dhrystone Benchmark Version 2.1 (Language: C) - * - * Month run 4/1996 - * PC model Escom - * CPU Pentium - * Clock MHz 100 - * Cache 256K - * Options Neptune chipset - * OS/DOS Windows 95 - * Compiler Watcom C/ C++ 10.5 Win386 - * OptLevel No optimisation - * Run by Roy Longbottom - * From UK - * Mail 101323.2241@compuserve.com - * - * Final values (* implementation-dependent): - * - * Int_Glob: O.K. 5 - * Bool_Glob: O.K. 1 - * Ch_1_Glob: O.K. A - * Ch_2_Glob: O.K. B - * Arr_1_Glob[8]: O.K. 7 - * Arr_2_Glob8/7: O.K. 320010 - * Ptr_Glob-> - * Ptr_Comp: * 98004 - * Discr: O.K. 0 - * Enum_Comp: O.K. 2 - * Int_Comp: O.K. 17 - * Str_Comp: O.K. DHRYSTONE PROGRAM, SOME STRING - * Next_Ptr_Glob-> - * Ptr_Comp: * 98004 same as above - * Discr: O.K. 0 - * Enum_Comp: O.K. 1 - * Int_Comp: O.K. 18 - * Str_Comp: O.K. DHRYSTONE PROGRAM, SOME STRING - * Int_1_Loc: O.K. 5 - * Int_2_Loc: O.K. 13 - * Int_3_Loc: O.K. 7 - * Enum_Loc: O.K. 1 - * Str_1_Loc: O.K. DHRYSTONE PROGRAM, 1'ST STRING - * Str_2_Loc: O.K. DHRYSTONE PROGRAM, 2'ND STRING - * - * Register option Not selected. - * - * Microseconds 1 loop: 20.06 - * Dhrystones / second: 49844 - * VAX MIPS rating: 28.37 - * - ************************************************************************** - */ - -/* Compiler and system dependent definitions: */ - -#ifndef TIME -#define TIMES -#endif - /* Use times(2) time function unless */ - /* explicitly defined otherwise */ - -#ifdef TIMES -/* #include - #include */ - /* for "times" */ -#endif - -#define Mic_secs_Per_Second 1000000.0 - /* Berkeley UNIX C returns process times in seconds/HZ */ - -#ifdef NOSTRUCTASSIGN -#define structassign(d, s) memcpy(&(d), &(s), sizeof(d)) -#else -#define structassign(d, s) d = s -#endif - -#ifdef NOENUM -#define Ident_1 0 -#define Ident_2 1 -#define Ident_3 2 -#define Ident_4 3 -#define Ident_5 4 - typedef int Enumeration; -#else - typedef enum {Ident_1, Ident_2, Ident_3, Ident_4, Ident_5} - Enumeration; -#endif - /* for boolean and enumeration types in Ada, Pascal */ - -/* General definitions: */ - -#include -#include - - /* for strcpy, strcmp */ - -#define Null 0 - /* Value of a Null pointer */ -#define true 1 -#define false 0 - -typedef int One_Thirty; -typedef int One_Fifty; -typedef char Capital_Letter; -typedef int Boolean; -typedef char Str_30 [31]; -typedef int Arr_1_Dim [50]; -typedef int Arr_2_Dim [50] [50]; - -typedef struct record - { - struct record *Ptr_Comp; - Enumeration Discr; - union { - struct { - Enumeration Enum_Comp; - int Int_Comp; - char Str_Comp [31]; - } var_1; - struct { - Enumeration E_Comp_2; - char Str_2_Comp [31]; - } var_2; - struct { - char Ch_1_Comp; - char Ch_2_Comp; - } var_3; - } variant; - } Rec_Type, *Rec_Pointer; - - - diff --git a/contrib/cortex-strings/benchmarks/dhry/dhry_1.c b/contrib/cortex-strings/benchmarks/dhry/dhry_1.c deleted file mode 100644 index da272e4c4234..000000000000 --- a/contrib/cortex-strings/benchmarks/dhry/dhry_1.c +++ /dev/null @@ -1,778 +0,0 @@ -/* - ************************************************************************* - * - * "DHRYSTONE" Benchmark Program - * ----------------------------- - * - * Version: C, Version 2.1 - * - * File: dhry_1.c (part 2 of 3) - * - * Date: May 25, 1988 - * - * Author: Reinhold P. Weicker - * - ************************************************************************* - */ - - #include - #include - #include - #include "dhry.h" - /*COMPILER COMPILER COMPILER COMPILER COMPILER COMPILER COMPILER*/ - - #ifdef COW - #define compiler "Watcom C/C++ 10.5 Win386" - #define options " -otexan -zp8 -5r -ms" - #endif - #ifdef CNW - #define compiler "Watcom C/C++ 10.5 Win386" - #define options " No optimisation" - #endif - #ifdef COD - #define compiler "Watcom C/C++ 10.5 Dos4GW" - #define options " -otexan -zp8 -5r -ms" - #endif - #ifdef CND - #define compiler "Watcom C/C++ 10.5 Dos4GW" - #define options " No optimisation" - #endif - #ifdef CONT - #define compiler "Watcom C/C++ 10.5 Win32NT" - #define options " -otexan -zp8 -5r -ms" - #endif - #ifdef CNNT - #define compiler "Watcom C/C++ 10.5 Win32NT" - #define options " No optimisation" - #endif - #ifdef COO2 - #define compiler "Watcom C/C++ 10.5 OS/2-32" - #define options " -otexan -zp8 -5r -ms" - #endif - #ifdef CNO2 - #define compiler "Watcom C/C++ 10.5 OS/2-32" - #define options " No optimisation" - #endif - - -/* Global Variables: */ - *** 6986 LINES SKIPPED *** From nobody Tue Feb 11 23:53:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysyts6Tmzz5n0T7; Tue, 11 Feb 2025 23:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysyts5ttQz3QhL; Tue, 11 Feb 2025 23:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739317989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kpgtx8HIWNpgRniPml+CGFhAgN3PeV/0+h52C60Q994=; b=pjG+L+lafHJxhUFG5u7go0+svUnCBajVxwhdhWSSMWjM345QpuwsU1Mh/qeaS10jr4JqCs lAk4K81aL2entqyLSk12OMhHB/hm4J7fUSP74svEgZPbfqOWzX6GVLcXc6upxmLLZGrml0 r2nJZGEvtzbZnA7lAi+fWvlLaMVsL+DLkxw+aKMUAtMfoqSI4V6NCSZLIB3hNo1Eo5QLfT lvmzHcZuENLlp3ayQXh1kN6GkLSXYHV3vh+64Skxj59DYulAGOzEyIrKFwElOgLMRqNsqx 9NDRFmtTyZf9RFevysA5tc3+XboSMSwUTJyyecMM8U+NMujNqdsyJwOOv4tgNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739317989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kpgtx8HIWNpgRniPml+CGFhAgN3PeV/0+h52C60Q994=; b=ya7CzRYMmpxl4lYBsGJD7oF0J3TCJSjxsLle4hzhUiKyoMEO25jhChU37DVxSKQXyVkAak 4f5wM0LuSkbD611k6c2T50jbQEgk+hmrZwIinO6briTBviEo2BL0QbSCkW1AsTvRHK3zOn dgf9luolFx8EiPa0BLevqQYkUSy8Lsd6vGDggUurv4D3yGWulnPvPchrASORt11h7OWKew Fyph4KCm8+eeZMand4BeyRBdklpTbo+h9T5wjJ6E3rB11VtszwcvXqbSES9fL1EEUM1FWt YOZxfWbs12VTMbHAg+hGi/7eAAhg14RmwFORDI82LxeQ3BPlAu7hlmxvTlBiDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739317989; a=rsa-sha256; cv=none; b=JlwtExxwTJne0xCTOskTO20rMhDshP1LiLgoe6qch8F2BohIOqa9vd5bOkEMcqOO84UZMo 0ZgQAjsUOnTAyJDc5xKER5PVzlNWw7Zki1Qvkkqa6hF68isYDiA3Lb2yrRdQhJHHf7dR9o yl9+oyOBRoyZf8/T6giJwyfexWP5Do2qR2kJAkRFc77dd4PFKLDj88x2ROxwy7ZhoI9kWV BBBG6AUZlNuN52Ya3H6NGERP4GsQN1HIGW2BoWmKdKWFbUW2ZkcWPeQuUkT4ZKBgNF6+iX cq/OYLtawcKWYmfQnCJD5g7wxHQMQf/CmYYihndycFxBcsukSAF0qyJDrONN/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysyts5TL1zbvs; Tue, 11 Feb 2025 23:53: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 51BNr9IX045923; Tue, 11 Feb 2025 23:53:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BNr9dU045920; Tue, 11 Feb 2025 23:53:09 GMT (envelope-from git) Date: Tue, 11 Feb 2025 23:53:09 GMT Message-Id: <202502112353.51BNr9dU045920@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: b97a478896e9 - main - nfscl: Re-initialize session seq#s when server shrinks slot table List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b97a478896e9523245c2041b064121ccb1f70426 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=b97a478896e9523245c2041b064121ccb1f70426 commit b97a478896e9523245c2041b064121ccb1f70426 Author: Rick Macklem AuthorDate: 2025-02-11 23:50:57 +0000 Commit: Rick Macklem CommitDate: 2025-02-11 23:50:57 +0000 nfscl: Re-initialize session seq#s when server shrinks slot table When a NFSv4.1/4.2 server reduces the size of the slot table for a session as indicated by a smaller value for sr_target_highest_slot in a Sequence reply, the sequence numbers for the slots no longer in use must be re-initialized. This is needed since the slot table may be grown again by the server later. The RFC did not make the need for the sequence numbers to be re-initialized when a shrink/grow of the slot table size happens, but this has now been confirmed as correct behaviour. The patch adds the code that does this re-initialization. I am not currently aware of a NFSv4.1/4.2 server where the session slots fail if this is not done, but there may be such a case. MFC after: 2 weeks --- sys/fs/nfs/nfs_commonkrpc.c | 42 ++++++++++++++++++++++++++++++++++-------- sys/fs/nfs/nfs_commonsubs.c | 2 ++ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index e5c658ce76d2..e35172ee2b34 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -123,6 +123,7 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_da SYSCTL_INT(_vfs_nfs, OID_AUTO, dsretries, CTLFLAG_RW, &nfs_dsretries, 0, "Number of retries for a DS RPC before failure"); +static void nfs_resetslots(struct nfsclsession *); static void nfs_down(struct nfsmount *, struct thread *, const char *, int, int); static void nfs_up(struct nfsmount *, struct thread *, const char *, @@ -670,7 +671,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, struct thread *td, struct ucred *cred, u_int32_t prog, u_int32_t vers, u_char *retsum, int toplevel, u_int64_t *xidp, struct nfsclsession *dssep) { - uint32_t retseq, retval, slotseq, *tl; + uint32_t retseq, retval, retval0, slotseq, *tl; int i = 0, j = 0, opcnt, set_sigset = 0, slot; int error = 0, usegssname = 0, secflavour = AUTH_SYS; int freeslot, maxslot, reterr, slotpos, timeo; @@ -1039,7 +1040,7 @@ tryagain: sep->nfsess_badslots |= (0x1ULL << nd->nd_slotid); mtx_unlock(&sep->nfsess_mtx); /* And free the slot. */ - nfsv4_freeslot(sep, nd->nd_slotid, false); + nfsv4_freeslot(sep, nd->nd_slotid, true); } if (stat == RPC_INTR) error = EINTR; @@ -1192,15 +1193,22 @@ tryagain: if (retseq != sep->nfsess_slotseq[slot]) printf("retseq diff 0x%x\n", retseq); - retval = fxdr_unsigned(uint32_t, *++tl); + retval0 = fxdr_unsigned(uint32_t,*tl++); + retval = fxdr_unsigned(uint32_t, *tl); if ((retval + 1) < sep->nfsess_foreslots - ) + ) { sep->nfsess_foreslots = (retval + 1); - else if ((retval + 1) > - sep->nfsess_foreslots) - sep->nfsess_foreslots = (retval - < 64) ? (retval + 1) : 64; + nfs_resetslots(sep); + } else if ((retval + 1) > + sep->nfsess_foreslots) { + if (retval0 > retval) + printf("Sess:highest > " + "target_highest\n"); + sep->nfsess_foreslots = + (retval < NFSV4_SLOTS) ? + (retval + 1) : NFSV4_SLOTS; + } } mtx_unlock(&sep->nfsess_mtx); @@ -1463,6 +1471,24 @@ nfsmout: return (error); } +/* + * Reset slots above nfsess_foreslots that are not busy. + */ +static void +nfs_resetslots(struct nfsclsession *sep) +{ + int i; + uint64_t bitval; + + bitval = (1 << sep->nfsess_foreslots); + for (i = sep->nfsess_foreslots; i < NFSV4_SLOTS; i++) { + if ((sep->nfsess_slots & bitval) == 0 && + (sep->nfsess_badslots & bitval) == 0) + sep->nfsess_slotseq[i] = 0; + bitval <<= 1; + } +} + /* * Mark all of an nfs mount's outstanding requests with R_SOFTTERM and * wait for all requests to complete. This is used by forced unmounts diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index d4d97f4eb966..7bb2df82272c 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -5047,6 +5047,8 @@ nfsv4_freeslot(struct nfsclsession *sep, int slot, bool resetseq) mtx_lock(&sep->nfsess_mtx); if (resetseq) sep->nfsess_slotseq[slot]--; + else if (slot > sep->nfsess_foreslots) + sep->nfsess_slotseq[slot] = 0; if ((bitval & sep->nfsess_slots) == 0) printf("freeing free slot!!\n"); sep->nfsess_slots &= ~bitval; From nobody Wed Feb 12 01:43:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1LS6N2fz5n80L; Wed, 12 Feb 2025 01:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1LS5qvpz3gq7; Wed, 12 Feb 2025 01:43:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b32eAcL+0HYMwoXr3vqXHp8D/mX+BMxS6Pv0I4FK7Jg=; b=JeLvCmOIohSZyA9oTn8EFcoBmexkIuzIVvAqj545ynpPr5p7zvdba7PIndQ3x7IwtS9+pz itZ4y0I7UPUs4XkvOq9v6J8rNXRg4FNjkXOpFQUThuxVpfQMw6GAIomavWDEtYW9RlT9Gi tVlX6mDmTWZq+InetFrrtLEyQgsiHEttlbV+pgtoXzogr4JChBuqvKJFQ0NArsF1OHrAyi 3Ig/yKHyC0UFfmV5VVZL2yOMowXlIlJ1jh2yk1Rf8fKCaaY2OrWfAk6fVWU7Ryhs/8Wp7e 6tpXfJyJ+2YWgiPuppfQ2fVWyLXLBUhAyhM7+dCTuHAzC2yq0H/GQasyTMxn8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b32eAcL+0HYMwoXr3vqXHp8D/mX+BMxS6Pv0I4FK7Jg=; b=G+m/s4E63XQb1lFNAJnCwvenboYKbPjIJy2goKFWSDcaXQfWeseaF+osyM1tT9cdRYtRs9 xyUdetwUpcRn8f8oT70ntW+8W7emaSVWTgr4M5TVWg5nbCMgF0UiX/fz3sk+LME7GIxoj8 nqimd0RRMuXH8DjhMLMnHczkIq+xBJ3Zy7vm0o64gfn6eSO3w7YbgP+o/M5uKZCJ2LWVb9 HgAbBG67i7EwPZAHRee1VJ1KHfEZvZFzDFRu4TZ4Ur98OIo7CNvSPg2J0xcp8umhiz/jZt uB0iU8/rxe3cCX56X8exoXLnHlSw6pMvCU7AdhvfQFp0Rx5yQu1B95ryvZr5Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324624; a=rsa-sha256; cv=none; b=oip3Ow0sbY79CV7X9iPZJRx3/jamjF1DGp97c/hNf2wkGD27eb3m9UECpz33oe6DMM19ve If4AicBoKn23RGXcJCipBzSPGN9GKV7gT2TR8mv2+7gsFkiaCZLQMR59R0vWMLoTSfLwOa 3826QenAfuWpJx3SNo1Qbxs9D9anBZ+nDIWtZkiwxAnxUOzHTfgj9442GKGjQ3Qm4xzDQq 1Or+HLMwEf3SsL+Jp/foaT331ykRRVQZA/YuaYsHOETJcml5IigE5Pg4Q6DofIU9K2Z/d9 +ufNOziMJmR4iwGojaTaCcxzV8B7iNnzYAu65lssJfdP7geKsnTf5vGcVtl7kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1LS5MQgzfXW; Wed, 12 Feb 2025 01:43: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 51C1hiJd051613; Wed, 12 Feb 2025 01:43:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1hiJS051610; Wed, 12 Feb 2025 01:43:44 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:43:44 GMT Message-Id: <202502120143.51C1hiJS051610@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: e58d9b71f37d - stable/14 - nanobsd: Always define the partition index List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e58d9b71f37dde1cd19bb0af3a4bf94938f4406d Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=e58d9b71f37dde1cd19bb0af3a4bf94938f4406d commit e58d9b71f37dde1cd19bb0af3a4bf94938f4406d Author: Jose Luis Duran AuthorDate: 2025-02-04 14:07:00 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:32:12 +0000 nanobsd: Always define the partition index Print the desired partition index together with the starting LBA and the size. Otherwise, when only one code partition is desired, the configuration partition (/cfg) may not end up in the third slice, thus breaking the scripts that expect it there. This was the previous approach, changed in 587c054bea0f ("nanobsd: Use gpart and create code image before full disk image"). Fix it by printing the index as the last column to reduce the chances of breaking current overrides, and using it as the gpart index. PR: 262098 Reviewed by: imp Approved by: emaste (mentor) Fixes: 587c054bea0f ("nanobsd: Use gpart and create code image before full disk image") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47835 (cherry picked from commit dc4b36b96333f2ab05f3c454f0df2e0a0d4d451d) --- tools/tools/nanobsd/legacy.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/tools/nanobsd/legacy.sh b/tools/tools/nanobsd/legacy.sh index a45b447337b2..2f689212263e 100644 --- a/tools/tools/nanobsd/legacy.sh +++ b/tools/tools/nanobsd/legacy.sh @@ -64,31 +64,30 @@ calculate_partitioning ( ) ( } # First image partition start at second track - print $3, isl * cs - $3 + print $3, isl * cs - $3, 1 c = isl * cs; # Second image partition (if any) also starts offset one # track to keep them identical. if ($2 > 1) { - print $3 + c, isl * cs - $3 + print $3 + c, isl * cs - $3, 2 c += isl * cs; } # Config partition starts at cylinder boundary. - print c, csl * cs + print c, csl * cs, 3 c += csl * cs # Data partition (if any) starts at cylinder boundary. if ($7 > 0) { - print c, dsl * cs + print c, dsl * cs, 4 } else if ($7 < 0 && $1 > c) { - print c, $1 - c + print c, $1 - c, 4 } else if ($1 < c) { print "Disk space overcommitted by", \ c - $1, "sectors" > "/dev/stderr" exit 2 } - } ' > ${NANO_LOG}/_.partitioning ) @@ -174,7 +173,7 @@ create_diskimage ( ) ( } { # Make partition - print "gpart add -t freebsd -b ", $1, " -s ", $2, " $1" + print "gpart add -t freebsd -b ", $1, " -s ", $2, " -i ", $3, " $1" } END { # Force slice 1 to be marked active. This is necessary From nobody Wed Feb 12 01:43:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1LV24sYz5n7RM; Wed, 12 Feb 2025 01:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1LT6dqPz3h44; Wed, 12 Feb 2025 01:43:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KaNcOprAGdR/G0mm4rMwSf2JwPuRvIyEK69NSf6hAZk=; b=hLIYssAveroOmsUwr0b8mt2D5K52bHGJzAP7OL7JNI5akCAHPQ6gKkIMvPQpiOYb6KHSWD vH29rnsX1jlkoUd5MI83olMjLdUA4TVjx4KyQUFbm8/gwvbZwpP/nt/UN8JEfrNe1rC2kY r84WeY3iJTqFxG45/lUPzQFNbwcSaYQYyTQdKevlLjdet7iYFZ1nxHa8B6agn51iQzEdsE v15E0h/7o6mLdypAnRV7lcVwI0DaehOS4XKmNwUFfW7e05dzG2CzbAN6btyIFnA1pULT0x widpLHf5BfWZ3v7/aVwNP/CJNVG/qZs0jEPFyixiPWVC+d8wpsAKv74GSIljlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KaNcOprAGdR/G0mm4rMwSf2JwPuRvIyEK69NSf6hAZk=; b=TPCrUE/54FbLK9n5VzJdxnI9YoPTWeapi23L9jwZ6I4xOpPwkIf63lGTBplHGf4C4ZRJ7p KSyxxo/vxc85GPJcHcQeoAfUFVQ9zLp5/uZ2oLdm4i4n4gZmR/H3YptZILkkm4PUlTxGTJ l5vViyARz4pVtIHLQ+ncNHKcpGykqmnvNolJ5hDuDhlHdQBNzh7gDFIHw++MFVGFRFD0CW WGSvVvrkcIiph6SxUcR8mJm9cauWeihdEf8XKaUcH74biOiL3GF6M5nk4D+EPabUw47lL5 WsKubJcwn5GvSdRzhjCu/cbxq3EyRkwlP89BmZXEHcJRWj1avwRnwelLvLBI9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324626; a=rsa-sha256; cv=none; b=msZBvsSH/2Fc68Kk1PdjV0D6hf/MoYUTboJPLpNae2QMkSQldAmV/U6I84N86j8Lc1Biut 0H7WH0SwfVWMzSdIaKDwOoO3S1roGctnoAh3OSnxZvyjC58E5Nwi3W+mLR6+3kr7K2M03S 1SXhOtnhD/x5+Wq1T85Moh80wcI3Z6dU5reZmez3RSW9WchTRztizgiX2TFzcYoO/djTXn pqLOvY6g8eHEFl7R/OkWBsRuVQq0R+Bb1ETcE2agdDYnGE6F0j3IeM8yX/cgqyQUYK1tub +m29/Wh36K7J6FN4JhF3wR2nbnclydx0o59JJyVHCWUYD3YlyI1eDlhHHq6RZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1LT63k2zfb4; Wed, 12 Feb 2025 01:43: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 51C1hjnO051653; Wed, 12 Feb 2025 01:43:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1hjTk051649; Wed, 12 Feb 2025 01:43:45 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:43:45 GMT Message-Id: <202502120143.51C1hjTk051649@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: ac74f9a6547c - stable/14 - csu tests: Remove extra slash List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ac74f9a6547c353f13d18bc2ede5283bde00f7f2 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=ac74f9a6547c353f13d18bc2ede5283bde00f7f2 commit ac74f9a6547c353f13d18bc2ede5283bde00f7f2 Author: Jose Luis Duran AuthorDate: 2025-02-04 14:15:12 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:33:15 +0000 csu tests: Remove extra slash Remove an extra slash that ends up in the metalog. This double slash can produce an invalid specification file if there are subdirectories down the hierarchy when sorted. For example, consider the following metalog excerpt: ./base/aaa type=dir ./base//aaa/bbb type=dir If sorted, would turn out: ./base//aaa/bbb type=dir ./base/aaa type=dir Apparently missing the ./base/aaa directory in the specification. Luckily here are no subdirectories. Reviewed by: imp, emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48778 (cherry picked from commit 841856570e7b623c4f1283939936ffa005d2fcf4) --- lib/csu/tests/dso/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/csu/tests/dso/Makefile b/lib/csu/tests/dso/Makefile index 6975e64c5dfe..cbe7f74310ab 100644 --- a/lib/csu/tests/dso/Makefile +++ b/lib/csu/tests/dso/Makefile @@ -19,6 +19,6 @@ SRCS+= ${src}.c SRCS+= ${src}.cc .endfor -LIBDIR= ${TESTSBASE}/lib/csu/dynamiclib/ +LIBDIR= ${TESTSBASE}/lib/csu/dynamiclib .include From nobody Wed Feb 12 01:43:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1LW2Ppzz5n7rn; Wed, 12 Feb 2025 01:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1LW0GDdz3gqB; Wed, 12 Feb 2025 01:43:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LC+hCdn+KAJwKE00AscfJaPRD8NmWbPPEmM+k91wjPQ=; b=qjUI5mKPoS4Fyzkg42WNWfIfQJbsqj2bWMCrUsc64GC+6PxrQgdr03i8O0PZlOkndo/Zem C6f7NxIkdzarcSsWMarKQ6m3IhJ5ApVhLt6uXuIshlbozvYzfwj7Y3f4ila2Q5BLLyRRxV uKa1lQbbDUMLeUbvgUpb7y6wSf+bhg3Acwqf6XdhoNdh40cNxi+V5zf9qD00OpaDEvfLWd z70eMY18qiOt+UdxBk67xvyXnkC9qkR+XipyWVZF13uDGpvORy/dk1rrGuQO5oohH1u1Bk 5Zfb9jih9TWInhVIvcMf3LX2hOdng0J0THt9RYooPfRamOaoliw8Q+1dnhcJHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LC+hCdn+KAJwKE00AscfJaPRD8NmWbPPEmM+k91wjPQ=; b=KWViUhLU4Zau9RPYkreEQTBOctpJNSj3w0sdn3Rf1VnnL12HcP1njSJvyzImWfRernk0VD KQkuWBvthnrFqFHpXa4YHu0Tes1bJSLiudiE9OoiHXNcqMQoapzoMv84olfjTtJYx/41mv 5FwwDCkBxwsloISnblgebOAXn382uCm+XB+nHxGhEYn6lT6f5dwCcfu743zR1MgvCgpvJl uKnPvsgAFAKmfdPoXMnuFRB0h2V5EtpbVAzjDCjv5ANF41qgnTGazW44XbYoVGuSZaJauH 1U58Hh+QrCR3dCJ0AnT8iII4cZ+9SFbOTyunBiLGqrqgp5gAa4o+QeEfjGpj+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324627; a=rsa-sha256; cv=none; b=GKY0XhaaCp9KcZVlojCl1dgAR08u9giB0W58XKr1dABYOR1XW+nbpGJ4vv2y3Eu9ay7e3M wTIqPm38yP7AVj2dbqz9neUZINymoXHypssdnEGby8OS87ohRzjtHauTg8xsEJ+dNgIaiC Bs1iSFWhNYxNYKhGpVzLm8LPQt2f5RZHwqcle3ygnHwQPpvpLDC/yyKXXXEmuTUGw/0Z4B Ulk0nxvcaixX9SesmyeNeK3S500fa4+qZIy4Eh+MZbSqv3eCLTt7ELXK9x6cUCRdGejVAb RSAbZFqfQfsUHJiP5VIK3yjYW/YlnQj3Y+OpUAi9uylHIIE6e3cTpRv8dUavFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1LV6qWSzfPY; Wed, 12 Feb 2025 01:43: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 51C1hkAl051696; Wed, 12 Feb 2025 01:43:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1hkTP051693; Wed, 12 Feb 2025 01:43:46 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:43:46 GMT Message-Id: <202502120143.51C1hkTP051693@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f9e98800af5d - stable/14 - libopencsd: Remove extra slashes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f9e98800af5d2ea158f49b792de60bbf10233a39 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f9e98800af5d2ea158f49b792de60bbf10233a39 commit f9e98800af5d2ea158f49b792de60bbf10233a39 Author: Jose Luis Duran AuthorDate: 2025-02-04 14:15:37 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:33:35 +0000 libopencsd: Remove extra slashes Remove extra slashes that end up in the metalog. These double slashes can produce an invalid specification file if there are subdirectories down the hierarchy when sorted. For example, consider the following metalog excerpt: ./base/aaa type=dir ./base//aaa/bbb type=dir If sorted, would turn out: ./base//aaa/bbb type=dir ./base/aaa type=dir Apparently missing the ./base/aaa directory in the specification. Luckily here are no subdirectories. Reviewed by: imp, emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48779 (cherry picked from commit bccaf0262dcab84be49c42cc6b7a81c279c44b62) --- lib/libopencsd/Makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/libopencsd/Makefile b/lib/libopencsd/Makefile index d6d648ef1e32..6f0edc649c64 100644 --- a/lib/libopencsd/Makefile +++ b/lib/libopencsd/Makefile @@ -122,7 +122,7 @@ APIINCS= \ ocsd_c_api_types.h \ opencsd_c_api.h -APIINCSDIR=${INCLUDEDIR}/opencsd/c_api/ +APIINCSDIR=${INCLUDEDIR}/opencsd/c_api ETEINCS= \ ete_decoder.h \ @@ -130,7 +130,7 @@ ETEINCS= \ trc_dcd_mngr_ete.h \ trc_pkt_types_ete.h -ETEINCSDIR=${INCLUDEDIR}/opencsd/ete/ +ETEINCSDIR=${INCLUDEDIR}/opencsd/ete ETMV4INCS= \ etmv4_decoder.h \ @@ -143,7 +143,7 @@ ETMV4INCS= \ trc_pkt_proc_etmv4i.h \ trc_pkt_types_etmv4.h -ETMV4INCSDIR=${INCLUDEDIR}/opencsd/etmv4/ +ETMV4INCSDIR=${INCLUDEDIR}/opencsd/etmv4 ETMV3INCS= \ etmv3_decoder.h \ @@ -154,7 +154,7 @@ ETMV3INCS= \ trc_pkt_proc_etmv3.h \ trc_pkt_types_etmv3.h -ETMV3INCSDIR=${INCLUDEDIR}/opencsd/etmv3/ +ETMV3INCSDIR=${INCLUDEDIR}/opencsd/etmv3 PTMINCS= \ ptm_decoder.h \ @@ -165,7 +165,7 @@ PTMINCS= \ trc_pkt_proc_ptm.h \ trc_pkt_types_ptm.h -PTMINCSDIR=${INCLUDEDIR}/opencsd/ptm/ +PTMINCSDIR=${INCLUDEDIR}/opencsd/ptm STMINCS= \ stm_decoder.h \ @@ -176,7 +176,7 @@ STMINCS= \ trc_pkt_proc_stm.h \ trc_pkt_types_stm.h -STMINCSDIR=${INCLUDEDIR}/opencsd/stm/ +STMINCSDIR=${INCLUDEDIR}/opencsd/stm INCSGROUPS=INCS APIINCS ETEINCS ETMV3INCS ETMV4INCS PTMINCS STMINCS From nobody Wed Feb 12 01:43:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1LX4jDFz5n87b; Wed, 12 Feb 2025 01:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1LX0sdsz3h69; Wed, 12 Feb 2025 01:43:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3QAbjUuCD0jO8vEOkNreWnWz8L4hLTonqWEVQr3kFII=; b=GtGoDepjYJRHdp252tjtNKrUBjTQiBdS2kH9qiGRFQMh8SlNfTDNZvbSJTRg39QKSjopzo nYiqmwKLJxv3JoO3XRP3pm/Ddt9slt0TpdTvnymJdE8GBaQ7gcvb9YMS720WgNTuOie8UV TjkQ6byoshW38RnwQhl9pNwGbRePaZDHYvWjEFSUEY3M3LLmb5rWo0U+2wfIE1ARDkv2se UXlBZud2LBsdh5rDUDw47NE6A/BSOXVrPNE/CGT3LHgBn/4PVZlznnZcq8HSG6Rq7dwbtW J8uGG1zlgWJlycfVaUObUgv8f4pwZ829w/FHNcFp8XUGw17of2Xpzf0TvL4j9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3QAbjUuCD0jO8vEOkNreWnWz8L4hLTonqWEVQr3kFII=; b=RpIClXfFVlQ8gOcBALYMY0uO2RQ9D7TTkfVfFGcRA8BUfA/ZxCtYvq8nMfGLT8O4d5mcAE hNy2T697SU8/le/LIlxVn59GyVoujMK0ijx0kDTA+AP5bX0SZadg4OX3edLzXCfI21JOv8 AAm1PQQLKbygbB48L/e6UMgjBrjRa4lXzXytzD5z9j2J8Ef/LDAPhqw98IGyEOiqbxje2l y/55xP4LmfIZOnbAI7BVZMX6x+L550KyOAS7G8EcP7Lkotk+XTHAL+HZQEpp7daeIKczu7 kye8MDyn+vtnyogBE6fe7P6Itbibxl+3r1H3ih9rlI6zI4UpVTFVu1Giv5i/8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324628; a=rsa-sha256; cv=none; b=gd1YjxTSa8xWbL0dYQuK7w83kbDoxQJuWj+xhosXcn1HmGjY8kDjhq+IxbQZiGNm87355f jEr/YgUhBItHaMqqIF58+Yx8dangG99bm3IW3LXb63Q+H0ooQRibWLeCBrXsU2hopZQlwk x/NTL7I8FsvEvZdsF22rBaxVGc3EdTqioKicMHX36GbANAartud+LnL+8JTVDgeDNwBIe1 GkdvhYxvEUajepdDq9V8g6PNgTB8l8cEnU65EWg9PVcfOIoQ5n7GWqCZ1JTIbo1nLGjJ1/ yxYjw3P6WPlXOglfj0DWkrD1G45y7GXVCt7X+GEQ4oLEsvb9ZF3Iwx7m8KkpTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1LX0MVRzfV9; Wed, 12 Feb 2025 01:43: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 51C1hlvZ051732; Wed, 12 Feb 2025 01:43:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1hlQs051729; Wed, 12 Feb 2025 01:43:47 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:43:47 GMT Message-Id: <202502120143.51C1hlQs051729@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 911d0089d0ff - stable/14 - mk: Move vm stack test debug symbols List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 911d0089d0ffa27ee11965b5c42b79a803958654 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=911d0089d0ffa27ee11965b5c42b79a803958654 commit 911d0089d0ffa27ee11965b5c42b79a803958654 Author: Jose Luis Duran AuthorDate: 2025-02-04 14:47:24 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:36:34 +0000 mk: Move vm stack test debug symbols Avoid the creation of a /usr/tests/sys/vm/stack/.debug directory by placing sys/vm/stack test debug symbols under /usr/lib/debug. Reviewed by: emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48796 (cherry picked from commit 88d448ec815c1fda27be94846f88ccd96251febd) (cherry picked from commit 955f974a1a37cf3ae8b241327b1fef74c8932855) --- ObsoleteFiles.inc | 3 +++ share/mk/bsd.lib.mk | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 81f6f1110d3e..0d639bd572a9 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250204: sys/vm/stack test symbols moved to /usr/lib/debug +OLD_DIRS+=usr/tests/sys/vm/stack/.debug + # 20241201: new clang import which bumps version from 18 to 19 OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_builtin_vars.h OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_cmath.h diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 29807b6bec82..63563acacc3d 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -248,7 +248,8 @@ SHLIB_NAME_FULL=${SHLIB_NAME}.full # Use ${DEBUGDIR} for base system debug files, else .debug subdirectory .if ${_SHLIBDIR} == "/boot" ||\ ${SHLIBDIR:C%/lib(/.*)?$%/lib%} == "/lib" ||\ - ${SHLIBDIR:C%/usr/(tests/)?lib(32|exec)?(/.*)?%/usr/lib%} == "/usr/lib" + ${SHLIBDIR:C%/usr/lib(32|exec)?(/.*)?%/usr/lib%} == "/usr/lib" ||\ + ${SHLIBDIR:C%/usr/tests(/.*)?%/usr/tests%} == "/usr/tests" DEBUGFILEDIR=${DEBUGDIR}${_SHLIBDIR} .else DEBUGFILEDIR=${_SHLIBDIR}/.debug From nobody Wed Feb 12 01:43:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1LY5k8Fz5n80P; Wed, 12 Feb 2025 01:43: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1LY1TTgz3gvn; Wed, 12 Feb 2025 01:43:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nk2bxSjowROoCYZoLNgf6C6Hd7+EDqREeKd3oRKKxHs=; b=gSLkAeWUOPZJNA6kV3HJl4MHUxpUaxscs0O7XMhGfpJ/dljbw1129Hnrs9YjmLVIjRCk24 JiCo9xZ67TLoTQG7uXQ7+qsEm/56JFgc1YvDxRRDd/lpSuES/kEj+Nl7oy8MyGzoqvtYpR 3icXUnpo8Zn+mlsGf1+dkiSbrDjegsLaz/2Wjsqj8PUZRvXzmkeoWKKUNScnQa7AqPvQ/m pwjZY2Mhss1EopMdy5E8XVemh5L/DrGDDAEoNPNZXFAtLDGH9OqqcpQGTNaurHf0m6dCso RU4R2VMma4oK0uNgfBpQIYco/QwHr2W/0MzuYZE7bJ3sDz8GVu7+utkCEsw4Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324629; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nk2bxSjowROoCYZoLNgf6C6Hd7+EDqREeKd3oRKKxHs=; b=DbVEiidE617KrDfodYScEaru9xVH9zE5ddJ7VCED4QAn+ji5xfj60VnwjkpcyWdil+8kp9 lzWYwuMbq95NeoMnKg36o4gHb60DtE6ajD/8D8EtwR+kAAZBMMdY48gR4WHrfEGJDVPALA uD8VCenklhK+uIgMDze3PI4lbf3G01UXbfbdC27LZOU0f8M+Rq0Z8llUsIWN8Ew1RavfMK eI3iRTmUKYIsK8sdS24jfN9Qy/pRr+6mnH4Ul0ONh/FDHaylBOLTXQuVboURr9KHcFywKJ aulRyVIBUdNQM2wx+u0S7rmZDNKgjc4Oj/w0RbgBmP6glYhLa2qSQHUDcuIzTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324629; a=rsa-sha256; cv=none; b=S07foyFNmKWJPC0BHyHccv+g9Sh63gyzyQmxcT4+NPvDkHxuVBQ+WTMT9D0krRVU0SLrje Yhwt4SXE+p42Hn9ThMbIdSO7CDyrpGKRvdtCMVfVQGBli1VNh+P1R1tIf12SE2msU/IHXX cqmk0kp+GV4ov3mzVnCIcIMhtrxBDwXii4hDu9Oc/uINUgdz41EIfFzQjzwnGwlCnZtIm5 VPQEEtA+Ls5KeUT8hZnsnic+b/jtkB+mbxy8yfBFUFiDtr/nnj1em1921iVhwv5PBf5zA2 Xo3a418CBjFhKNgEkMH22QkAadi7jJo9ak5iKpel9+OuLlPp2K/y5XH4rCCnrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1LY0m4WzfPZ; Wed, 12 Feb 2025 01:43: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 51C1hnrl051768; Wed, 12 Feb 2025 01:43:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1hnZU051765; Wed, 12 Feb 2025 01:43:49 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:43:49 GMT Message-Id: <202502120143.51C1hnZU051765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: abada75ea8c8 - stable/14 - mtree: Add missing libxo/encoder path List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: abada75ea8c8fca18b769241d38d97e31df44c74 Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=abada75ea8c8fca18b769241d38d97e31df44c74 commit abada75ea8c8fca18b769241d38d97e31df44c74 Author: Jose Luis Duran AuthorDate: 2025-02-05 19:50:21 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:37:09 +0000 mtree: Add missing libxo/encoder path Reviewed by: imp Approved by: emaste (mentor) Fixes: d1a0d267b78b ("Upgrade libxo to 0.4.5.") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48836 (cherry picked from commit d10deaea12adb73a698d907a148f081c402d5dd6) --- etc/mtree/BSD.debug.dist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index d601bd0883aa..5c855f1aaaf8 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -39,6 +39,10 @@ .. i18n .. + libxo + encoder + .. + .. .. libexec bsdinstall From nobody Wed Feb 12 01:43:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1Lb1fS8z5n82w; Wed, 12 Feb 2025 01: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1LZ28Jpz3gw4; Wed, 12 Feb 2025 01:43:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=42x97zBSCh44ovbXaSsDM8oyLZkY3GANJLUW8D8qsuc=; b=YTc/SI6sA3t1u97HOfv0sCV2q0lTqWQn1oXNdzvtiBUSzHvylGcQvg9g7AVNVsQFkU/W/N FGOWUTh9BGPyqhpnE1mEVNTHS2DN07DDz5WuMiMVEGn7LcdSZWK1jGnK0ejDIeGyrfTNj8 ouSFYnwtH3G4q2aPiQ6dyo1kCmhdCJjgk6OdwTZXV5Odz1I46SdDG1g/jlAW5G4+0VjbQR +ZaEeYz0Ys0JmqZ/RBxH/iKQfhCNhMsOYae9+BJ5BqfciSxQbpheV4L+zHOvsy0gNoT3lz ssQ2QE48+Tae0nwYVDIQ1dyac60Q+Bat6oe1qDwy8wKcVqwvb3ygh07lidCJpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=42x97zBSCh44ovbXaSsDM8oyLZkY3GANJLUW8D8qsuc=; b=LM0JakI/WtHUqPuTe/RYq9ckIuYJU1HPWkrI8C4grmovd5Zruc7spXr+Sz3uPuM3wLoBmt NzT2KvpA8jS0HWlCq38UUbEfTf5gE4Sllal8JGskTGogGHMX0LVtbqlYY4MqCgzOmlVlbo D5UF7bUqtpFb3zIN1GxZafLtGItFi/SPYFufyA9cFejFFxo38/W4Bf7Mgann80w37W3jWe 59B/uez4g/lY+cO8y2VckUgZ4W+AVDVVgFoqUchCKatg3USFFK5Su4iZ6Q3IFNSUzApmos sq1ohCkJJqMb1PJ9d3ciBztBHLVPhoq4belI3Oye1WlKxjciP7M7IAiPbMCyUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324630; a=rsa-sha256; cv=none; b=ufelBrF6LTz50ZtOlWDxf6td8p3FUHG+fpQ3+V2pAXP2Uy4PkWsQJvnzvdY0FzO6EhV9H3 T+Rk4ls2SvokCbBHGuUYozZJ4+SRLbdc3AJNH2vovj9JM7CjIrjvcga6PM+nyg1xBGGOBT 5CMj72b/9D6sQGWjILCUwqXAxhXxZLCqPpKOT8wp7MjYg/23IVrcj2g8382b380OYDEHW8 qTHWtO6XeveqoPPq2xX0ut7Ff9Yxn8NI9amltg1cCdb+0V/ub6tCyDAq8CGXAp3o7r1YWp drHIyClgt6/HIv/oELkA+tS/CB9IDr6YnsjVXgYHNN2ORDb4RDlSjCfxRdIWDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1LZ1Tr6zfRP; Wed, 12 Feb 2025 01:43: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 51C1hoc9051809; Wed, 12 Feb 2025 01:43:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1ho5K051803; Wed, 12 Feb 2025 01:43:50 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:43:50 GMT Message-Id: <202502120143.51C1ho5K051803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f7393d289275 - stable/14 - mtree: Add missing ossl-modules entry List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f7393d28927521b175818bc0d1650abcf1804eab Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f7393d28927521b175818bc0d1650abcf1804eab commit f7393d28927521b175818bc0d1650abcf1804eab Author: Jose Luis Duran AuthorDate: 2025-02-05 19:51:09 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:37:27 +0000 mtree: Add missing ossl-modules entry Reviewed by: imp Approved by: emaste (mentor) Fixes: b077aed33b7b ("Merge OpenSSL 3.0.9") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48837 (cherry picked from commit 16197cf147e98c2ffc0250f8b71f0fa485c03ecc) --- etc/mtree/BSD.debug.dist | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index 5c855f1aaaf8..f64dc79a297f 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -43,6 +43,8 @@ encoder .. .. + ossl-modules + .. .. libexec bsdinstall From nobody Wed Feb 12 01:44:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1MJ5Wf1z5n7xQ; Wed, 12 Feb 2025 01:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1MJ4jwLz3jRC; Wed, 12 Feb 2025 01:44:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=butVo0LG4wn5wnMFNhvfDiGuUNayxsKodGxpuUTtt9k=; b=cM70BayD+/my9zvNJwNpr/HfwOYo4+mxM0CxUumxHwGL0ilaLjNDbP365wJycwQJBMYfc0 igO51LJlIUJ71l+WYDV2cXIyCoPQZEl6TO0VhnxJ2yO2Gx982ZZw04F36/qL3PKBu6oaok sIXadVyNsBPQJ1rBIUBkrGRP/a1txV83A6uGazla1/iiI12djD21OkbWLkrUGRRgtk7ljB w/fOMDBmhL9MhmyBmURCdwn+poovjKJx3oSMgYnwvcZ91l/B+InhhpVJ37S3ZK5GNfx280 b5MyRBT6vMYJHDEIp6HHRa3tvVCWK8QCj4dDCZqv/TawztulO7a4ni0WKC4Yiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=butVo0LG4wn5wnMFNhvfDiGuUNayxsKodGxpuUTtt9k=; b=sJ7G6ObUYb9Rqoy1X6CXo3cuHwLKJY4p3GoyLQj+GDD3Td3E20aGDMKaXj0xL8KHyKNAxQ yqaDAyybe+BPreQZnKoh/aakg7tutJOkujCFUJHA4sR72aGM8+WHnWEXG2DOJ7VuXDNlrL vTzKEK+sbqelOctIzc18qsawAax7vvWsLlE9eoKf+2k8kk86cjBmLFSFM9JtAp1lOVwakU 8zwyoemEYvgi7eZNmXgD1nJUPvjpq32dpatFhZXSts8hvWE8CuQjBA/O2XuI5gll0Oq1Df A+ovMasKfK3FMarSBEBv4dgdRUT3ZzKTdlsXX8T56lew9ZUywQPDI4QSTa3Tig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324668; a=rsa-sha256; cv=none; b=GqdcGSaDPeaWlLSnEKT84MEVEI1KcoKf4hwQK1pIj6eTKeHl43SloeO5XrEATagfJ6m6vE As6gOtJWX9etmuIW/YExkDdGWF7bBWIlJw1V6LuNpt8jaIgk2d3Xjgb1FmLqaV0xpR5cg9 7/6kWjOK4gG/2J4mfzAtRYJJ+nmO+3kkUdkeNLAtkobfA7WBN0Z9PiWtAoRRmDvAhhrGr2 Iqle805qDAGC0BqnTJk2DF1hUabmexuv8p3V6/8gCS7MZ4SpYJ0BKoNH1sK3hEygtJnvAu lpVveiRLOa2182QJsQlG0Tt6KBQXtDw/OEKbTV8j0ptRQO3JnZOrBidqkGA9UA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1MJ3W0Pzf1h; Wed, 12 Feb 2025 01:44: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 51C1iSvE052187; Wed, 12 Feb 2025 01:44:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1iSu0052184; Wed, 12 Feb 2025 01:44:28 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:44:28 GMT Message-Id: <202502120144.51C1iSu0052184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 6fc8d02b59dd - stable/13 - nanobsd: Always define the partition index List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6fc8d02b59dd7c343a2ab681e57c13c27c6425f7 Auto-Submitted: auto-generated The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=6fc8d02b59dd7c343a2ab681e57c13c27c6425f7 commit 6fc8d02b59dd7c343a2ab681e57c13c27c6425f7 Author: Jose Luis Duran AuthorDate: 2025-02-04 14:07:00 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:38:47 +0000 nanobsd: Always define the partition index Print the desired partition index together with the starting LBA and the size. Otherwise, when only one code partition is desired, the configuration partition (/cfg) may not end up in the third slice, thus breaking the scripts that expect it there. This was the previous approach, changed in 587c054bea0f ("nanobsd: Use gpart and create code image before full disk image"). Fix it by printing the index as the last column to reduce the chances of breaking current overrides, and using it as the gpart index. PR: 262098 Reviewed by: imp Approved by: emaste (mentor) Fixes: 587c054bea0f ("nanobsd: Use gpart and create code image before full disk image") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47835 (cherry picked from commit dc4b36b96333f2ab05f3c454f0df2e0a0d4d451d) --- tools/tools/nanobsd/legacy.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/tools/nanobsd/legacy.sh b/tools/tools/nanobsd/legacy.sh index a45b447337b2..2f689212263e 100644 --- a/tools/tools/nanobsd/legacy.sh +++ b/tools/tools/nanobsd/legacy.sh @@ -64,31 +64,30 @@ calculate_partitioning ( ) ( } # First image partition start at second track - print $3, isl * cs - $3 + print $3, isl * cs - $3, 1 c = isl * cs; # Second image partition (if any) also starts offset one # track to keep them identical. if ($2 > 1) { - print $3 + c, isl * cs - $3 + print $3 + c, isl * cs - $3, 2 c += isl * cs; } # Config partition starts at cylinder boundary. - print c, csl * cs + print c, csl * cs, 3 c += csl * cs # Data partition (if any) starts at cylinder boundary. if ($7 > 0) { - print c, dsl * cs + print c, dsl * cs, 4 } else if ($7 < 0 && $1 > c) { - print c, $1 - c + print c, $1 - c, 4 } else if ($1 < c) { print "Disk space overcommitted by", \ c - $1, "sectors" > "/dev/stderr" exit 2 } - } ' > ${NANO_LOG}/_.partitioning ) @@ -174,7 +173,7 @@ create_diskimage ( ) ( } { # Make partition - print "gpart add -t freebsd -b ", $1, " -s ", $2, " $1" + print "gpart add -t freebsd -b ", $1, " -s ", $2, " -i ", $3, " $1" } END { # Force slice 1 to be marked active. This is necessary From nobody Wed Feb 12 01:44:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1MK73Scz5n87p; Wed, 12 Feb 2025 01:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1MK4xHQz3jRD; Wed, 12 Feb 2025 01:44:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QlNOe7YIgjikbCOCQgyM6fSlllq2mDqEYWk/dcob+zo=; b=uF7guuchj8axq5qWw+gwkxNJcc4D8+TD0QIv6Lt9mMl9yY3NalZgprHxgRKoZ7STbliQr8 pFloBuLBXN9yPQmfJnVJZvgI8BNuOpafW34d43zJBw5ku/moK9013Mq4YDlfkfSrdk0u+v QLES8BWLa2pt0rf5IoNrWqdGqZYV3DVJKaLukJTpcQJlTMEorZkNnFwTZFsugXwpIrpXmH hKsKuuBJZNAYJAO+Sfp2CSZml5bbdmbID3vQVC+BhG2B5BhHgT4MFMPDNkU/tm4kUpl9bQ dZUbmj5ZyHTZvoFRmxJdrk5IgVmUFvAdX9Sqwn2RpD9hHd7D59z+ESFCUg1YKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QlNOe7YIgjikbCOCQgyM6fSlllq2mDqEYWk/dcob+zo=; b=V72yCLnm8oGuCEjHYKyLrvBzs5W+BeMndN4XW2tiThiYHsekxrrCFERTuczcEG9XHR+51z Ky27bJ4RUh89k99flGX48UNYi+hLsqKW4B3agYtmzEvLD0D5Jm8AoXrx28Snm8UMT7qGdt GYBQLuVUWOCeVWBSLx1eT9oPJb0ZKvPzCXfCSWNKYulzMA2d5qxOmxDQLV/2F1wMFEqOs/ BExW4k7aG/HBbikcDNrnFICXeRq5Z4w0hsDtszA+hC2xLlZGvPlXflamvIYARPNfu2dNDV qfO1fLlaKFg/prwt7Ebke5BsYhJWlwAXX9IrvkYeBQTkNvPuAKaMH5Qfy8TjpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324669; a=rsa-sha256; cv=none; b=nZvkU4FD23MCkWm55hqqZn4Z7MD12tmuJ1CdxHN5xaTe7kEPFEnn+zi86lgUeTLYflnB02 f1xYW6PGTmLIu3hOKvYQAiZJTKfST3rOMWUrl6bkGVm4A5J9IZZB24ew6Sl/hY4I2z7fDk HyKnl/PFEA+DW0JeNITHDy5vNrdlW+yf/HiXyNHEc5LMMmIalrzhhontZhaFPBp5R7bmxP 4JI/c9+YQV0pBErpYnQh5uCEu4KX1Ou9GSLiiz/EmMpSQQ7eKWbWw3jTzYkb/+/GPhDlMg gnMe18UXZTJGcwBQINAaA+mvv65kgxrlZXFM9AqaKQ2T7eZQNqVwTMkhgaDHIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1MK4WH4zflj; Wed, 12 Feb 2025 01:44: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 51C1iTAZ052223; Wed, 12 Feb 2025 01:44:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1iTJl052220; Wed, 12 Feb 2025 01:44:29 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:44:29 GMT Message-Id: <202502120144.51C1iTJl052220@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 11391f2fa39d - stable/13 - csu tests: Remove extra slash List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 11391f2fa39d6bb3f61ebaf0a2470d7fd0f421e0 Auto-Submitted: auto-generated The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=11391f2fa39d6bb3f61ebaf0a2470d7fd0f421e0 commit 11391f2fa39d6bb3f61ebaf0a2470d7fd0f421e0 Author: Jose Luis Duran AuthorDate: 2025-02-04 14:15:12 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:38:56 +0000 csu tests: Remove extra slash Remove an extra slash that ends up in the metalog. This double slash can produce an invalid specification file if there are subdirectories down the hierarchy when sorted. For example, consider the following metalog excerpt: ./base/aaa type=dir ./base//aaa/bbb type=dir If sorted, would turn out: ./base//aaa/bbb type=dir ./base/aaa type=dir Apparently missing the ./base/aaa directory in the specification. Luckily here are no subdirectories. Reviewed by: imp, emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48778 (cherry picked from commit 841856570e7b623c4f1283939936ffa005d2fcf4) --- lib/csu/tests/dso/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/csu/tests/dso/Makefile b/lib/csu/tests/dso/Makefile index 6975e64c5dfe..cbe7f74310ab 100644 --- a/lib/csu/tests/dso/Makefile +++ b/lib/csu/tests/dso/Makefile @@ -19,6 +19,6 @@ SRCS+= ${src}.c SRCS+= ${src}.cc .endfor -LIBDIR= ${TESTSBASE}/lib/csu/dynamiclib/ +LIBDIR= ${TESTSBASE}/lib/csu/dynamiclib .include From nobody Wed Feb 12 01:44:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1MP4tnkz5n83L; Wed, 12 Feb 2025 01:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1MP14LJz3jMJ; Wed, 12 Feb 2025 01:44:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C1zz85HRILpGwPJ6b7FrHFXiCtmYLZev69YIQE6pFPQ=; b=E+P0wKu84Xxnprp6PHbRRGrL+dNdUsFZWdnKQSd3m+qJUNwKiKq454v3fBmzDIgEwSlLTU avh6uA4TqtQ8s2nyOP3SDbVawywceNZ3c7AqsU1DdPpt9IjrEXWAeQtRjIzQNYCX23B/Sh LDCkVWsz19W9tKtNS4kG4WVSokQv//dB5LglAFG6DRwHE8aaMTvhCBGu+NWEURuijtgzTQ RkFVmJ79bzC6dPvJoKguQ5M7iuEoR+EJDaH938e5NL+YiCCzJKDYIg6Lmsm3L3WmJhKADF uKRpQso3NGv7D0S5+MGv/Xlp6cd2A7tl6G4taXQOG/JMiFgy9dB/jBUAC2UjcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C1zz85HRILpGwPJ6b7FrHFXiCtmYLZev69YIQE6pFPQ=; b=cslHiBvoiGWvgZJy72QZ7ZLVTOtIG+LjvQMzXkRDM3KAYxaCfknhRZ3gGHboy2gljy7yt7 MuYSbRSoAFzDMaKx6eVBa8oQgKCDAxi6MDhD0XbQPxC6NQ+lcxR6JRfNolBRZ4962ztb2E 3s5/pLWaiWAGu42oEQJrm/ukqDWZ36LGekejI4zwsV9NyR6t+tRge3qGnhFMyq/K5ITFA8 QVsxOUf7g/KmP1sb7o1vPdqBY5L/3Tb4jGVxXUR3fnIah/YOEQSIYDAzmIDHWFB5m/gS8K a5aCJH/nae8QevgMiUDtjhtj6S004Uya5Qmyy1p5n0e61YTAdkjxQ0NNSJZ8OQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324673; a=rsa-sha256; cv=none; b=gLrUqG/FHZOMBM1+8cmqzx1o/Mqt0xKhjbJkqb6O4zKoZ8nUh75vjYvlUsOeCThI3mM8Sd Kns9nGF5sHpc9mBkGU5+lmNA6MvTbTtslWdMRbm3w2WpYhGSkMSSSAbmuEW/mlb2wDLndV hGGH7NlVy3W17+VVSde0nqVebbUkh5fE3ftIqlmwf1o7TCcnMokRCQL5MD5MMD/zQ2S9Ow u/1UG7KzXdkCjitnx6t1N8QjW552xiHBUggKGpMd4cvAKWA1wBU4lOVxrgC8g/4yC/63RW u3FteztCWcAEfco+JCarx8nr475sGEz/rGnY6bIETs0KK8U7YhmOJBK89JqCGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1MP0M50zfb6; Wed, 12 Feb 2025 01:44: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 51C1iW2S052340; Wed, 12 Feb 2025 01:44:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1iWNo052337; Wed, 12 Feb 2025 01:44:32 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:44:32 GMT Message-Id: <202502120144.51C1iWNo052337@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 28ac62860b59 - stable/13 - mtree: Add missing libxo/encoder path List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 28ac62860b5925214015bef77481b3f6696a4a88 Auto-Submitted: auto-generated The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=28ac62860b5925214015bef77481b3f6696a4a88 commit 28ac62860b5925214015bef77481b3f6696a4a88 Author: Jose Luis Duran AuthorDate: 2025-02-05 19:50:21 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:41:52 +0000 mtree: Add missing libxo/encoder path Reviewed by: imp Approved by: emaste (mentor) Fixes: d1a0d267b78b ("Upgrade libxo to 0.4.5.") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48836 (cherry picked from commit d10deaea12adb73a698d907a148f081c402d5dd6) --- etc/mtree/BSD.debug.dist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index 0d5a58f010a1..53eb1910304a 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -41,6 +41,10 @@ .. i18n .. + libxo + encoder + .. + .. .. libexec bsdinstall From nobody Wed Feb 12 01:44:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1MM1DyFz5n7sS; Wed, 12 Feb 2025 01:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1ML6M99z3jRF; Wed, 12 Feb 2025 01:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Cg/bsxm7MGYPlUyyderW22faCKQz7EArKTHru09Vio=; b=mCoBmRXkx8YI+SQuQn6u3ZtpmnLOUasvjLEuqmtr/pvQvG4YdBUiWqm91HPLVpiHypiHhX FAT18SHTdKhO89+JRioRCMb6wHiherD/MQIusfYmxd1omT/i6kFmpjw1gaK07bIULyO0Kf pC+IP9UOZImfK6QcKdKoH+NQOtEfa7hTEdfCWmczkow/LfSoGLWFcgiBLS6tb7VMVFE1z2 EsbaBhrghIXQqtKwpQ7ou6vnTRhnJ6c8sUzqHbtj4UIo9ZDxRKOK1NzAysspSE239yjTYe ZpJez+aCWYZrddnbPLrcSdNbb5xNLc9jOOFixDF6kX5rnYz/f3nPND1y2boTjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Cg/bsxm7MGYPlUyyderW22faCKQz7EArKTHru09Vio=; b=hcniZhGiPis4Nd3jTfboaynxSKwYHeWDRpQM838e0wZ3cS+qBlrPYa1MnjHR4Jb5ybffi3 xpuQZ2EJfvqouITNyqrwT4Qf400o8wxuonsFyPQ+u0tbWjBFsGwsmMygafNxwCnCXir4uS WW5TX2IdseuhmpAHXvV+snzEZNF3xCIQbOK8l3uq79xnwdYJFTzx/JBaK1/f7kdfF5r9Vq f3NSsP+DNNobgAuY3BQfuvHd3Xk2H+spoHmI6vI0avv7/wAYFQoN92Fqwco4gpeOtfJEen U0jNG35+ZVYh9CqgMsk1YUOM2JjhKKYiG4uSdFARMqTCVc4K1zPDv3zQ+WaA2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324670; a=rsa-sha256; cv=none; b=mzB6OY1FDC67/xHHvJh0MNpKPua/1u0X9gvKy78s9lufGL11ejnROyIE55AkGhA3CW8ZSi Q7L0uFU0j6abGwb2H1r2SHTdpz+BLv22WAKMqwJSXL7Ri74UgS72U9jKo4eqsY0OalgD7k yOS97XfmWXcdBu3LFgGlIMgNRLhh51YEdutp84PtsQ/NP14zI9rQv4tN09kMVAxMkn8piP wq2kK6LV57ww7O/VYuNnYS1dtmkTOgFBEkdbAPLSukGHkajWFdvTYbW6OKIU0tpYtsGRwp g6GfFQswjn+vBpv+uManIiI55pE3MkzU+MtCMAhsSHR3yv1P54ErLhHQwPbaHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1ML5Tbszf1j; Wed, 12 Feb 2025 01:44: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 51C1iUmi052259; Wed, 12 Feb 2025 01:44:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1iUv8052256; Wed, 12 Feb 2025 01:44:30 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:44:30 GMT Message-Id: <202502120144.51C1iUv8052256@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 65b71a21fc78 - stable/13 - libopencsd: Remove extra slashes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 65b71a21fc78eb7012b9a83bc84458288f9c197e Auto-Submitted: auto-generated The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=65b71a21fc78eb7012b9a83bc84458288f9c197e commit 65b71a21fc78eb7012b9a83bc84458288f9c197e Author: Jose Luis Duran AuthorDate: 2025-02-04 14:15:37 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:39:41 +0000 libopencsd: Remove extra slashes Remove extra slashes that end up in the metalog. These double slashes can produce an invalid specification file if there are subdirectories down the hierarchy when sorted. For example, consider the following metalog excerpt: ./base/aaa type=dir ./base//aaa/bbb type=dir If sorted, would turn out: ./base//aaa/bbb type=dir ./base/aaa type=dir Apparently missing the ./base/aaa directory in the specification. Luckily here are no subdirectories. Reviewed by: imp, emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48779 (cherry picked from commit bccaf0262dcab84be49c42cc6b7a81c279c44b62) --- lib/libopencsd/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/libopencsd/Makefile b/lib/libopencsd/Makefile index b1a9f6f5a98b..bae8dea6e444 100644 --- a/lib/libopencsd/Makefile +++ b/lib/libopencsd/Makefile @@ -116,7 +116,7 @@ APIINCS= \ ocsd_c_api_types.h \ opencsd_c_api.h -APIINCSDIR=${INCLUDEDIR}/opencsd/c_api/ +APIINCSDIR=${INCLUDEDIR}/opencsd/c_api ETMV4INCS= \ etmv4_decoder.h \ @@ -129,7 +129,7 @@ ETMV4INCS= \ trc_pkt_proc_etmv4i.h \ trc_pkt_types_etmv4.h -ETMV4INCSDIR=${INCLUDEDIR}/opencsd/etmv4/ +ETMV4INCSDIR=${INCLUDEDIR}/opencsd/etmv4 ETMV3INCS= \ etmv3_decoder.h \ @@ -140,7 +140,7 @@ ETMV3INCS= \ trc_pkt_proc_etmv3.h \ trc_pkt_types_etmv3.h -ETMV3INCSDIR=${INCLUDEDIR}/opencsd/etmv3/ +ETMV3INCSDIR=${INCLUDEDIR}/opencsd/etmv3 PTMINCS= \ ptm_decoder.h \ @@ -151,7 +151,7 @@ PTMINCS= \ trc_pkt_proc_ptm.h \ trc_pkt_types_ptm.h -PTMINCSDIR=${INCLUDEDIR}/opencsd/ptm/ +PTMINCSDIR=${INCLUDEDIR}/opencsd/ptm STMINCS= \ stm_decoder.h \ @@ -162,7 +162,7 @@ STMINCS= \ trc_pkt_proc_stm.h \ trc_pkt_types_stm.h -STMINCSDIR=${INCLUDEDIR}/opencsd/stm/ +STMINCSDIR=${INCLUDEDIR}/opencsd/stm INCSGROUPS=INCS APIINCS ETMV3INCS ETMV4INCS PTMINCS STMINCS From nobody Wed Feb 12 01:44:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yt1MN43Pfz5n7v6; Wed, 12 Feb 2025 01:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yt1MM72wtz3j9W; Wed, 12 Feb 2025 01:44:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q+kt7mVWngy46PP1Tu6RL/tpVU7oht6KrHdGkNJEUuQ=; b=lyyw1E//LAKDTSR7z/+4LeWYW1w7KFRMLMOjxR9zVtY7vCNch2qfNaNaohs0o6Rqy6t6x7 o8C9f8aE3PP1lPQ1PY/4fsI71HEPYevvepphG0WNxwwwL5RIxeBsWqbrObRauiFEdwqUr+ KlhioJ7PLtWHxhUbNp6pEw9IuLRBbxyg8TJRt0ovnGRExSZ88oTwiztWnAkOo0jp+zHLFM yuo1kghW/NHrdSYOsPpYtRLw2PkQCoR3cbiRCr4B3RY964z1hqoyw51DHIrDEY8WSLRFXS YuKEhk0HbjGwF5CRC/Qn52uGin4ELoLtiSl5T+lwdHVcgx0scN1CKzWBot9lsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739324672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q+kt7mVWngy46PP1Tu6RL/tpVU7oht6KrHdGkNJEUuQ=; b=GVHUXbpN98yOsvbO9E5UJH/jT1Lk2K3I8raeguaTP86KVyeZuAhVg3/hjA4NocN/HEijg2 wJ17ElNSL/k2wHWf5lpTxMrYD7Md/M1Kv1Dd68rfgXTpK6DgFwDd8WTcD3wTP660zmaEa3 88V1Q9xAuLOFbqR9N+56dRecMa3uxq6PMCk25NvpuLbxIpU2vuCiS/kqxOMFy5JE1n2vz8 MChqiQfmJlaKBB/e3qeAdCyPlIACZgu3IV52oMK+/4AoZ8uN2PNUw5K2+VZL7ck1OjudcF GU4D5z0VrwFslMS0F6ILI0+U+vO4cp/CZtsT+ZSSsHnQH59VOFH5ZQNzb4UwAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739324672; a=rsa-sha256; cv=none; b=nl/G6vhGur+khhkhT/11lQaG2rWX85M/3GhV/uJmHPSpb1erOp7yVEQA90X6JmB1NKUld4 obZW9DIjO2jqAi0w9eTepgKwXBSmrtXFunL/5DhzIHbSI1W844+wP+ty6JSTEo5Ln/hdFA TVvpcB8M/uHfRkQACUDXHllZX0gwli0uazTmE6SEm+gPjuJGLOYf55bVBnRzodtGNwcrte YXS4UFTRyFIRO1qQhRrekh6qcvgYugYAR1oWthjOPdj52pHpG9Y0hDiLhugLakN2gIfDLC iR4NLp4iUzg+CeELBhWCp/30A1q4lDoVIuQNPGhpBNTJXPDo/CUomidPyV1gfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yt1MM6dFXzfVB; Wed, 12 Feb 2025 01:44: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 51C1iVdJ052296; Wed, 12 Feb 2025 01:44:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C1iV7k052293; Wed, 12 Feb 2025 01:44:31 GMT (envelope-from git) Date: Wed, 12 Feb 2025 01:44:31 GMT Message-Id: <202502120144.51C1iV7k052293@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: ceab30bfe243 - stable/13 - mk: Move vm stack test debug symbols List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ceab30bfe243793bc34420ab885b066dd45b23a1 Auto-Submitted: auto-generated The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=ceab30bfe243793bc34420ab885b066dd45b23a1 commit ceab30bfe243793bc34420ab885b066dd45b23a1 Author: Jose Luis Duran AuthorDate: 2025-02-04 14:47:24 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 01:41:18 +0000 mk: Move vm stack test debug symbols Avoid the creation of a /usr/tests/sys/vm/stack/.debug directory by placing sys/vm/stack test debug symbols under /usr/lib/debug. Reviewed by: emaste Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48796 (cherry picked from commit 88d448ec815c1fda27be94846f88ccd96251febd) (cherry picked from commit 955f974a1a37cf3ae8b241327b1fef74c8932855) --- ObsoleteFiles.inc | 3 +++ share/mk/bsd.lib.mk | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 0e7060eedd52..b9e5f30f1f35 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250204: sys/vm/stack test symbols moved to /usr/lib/debug +OLD_DIRS+=usr/tests/sys/vm/stack/.debug + # 20241201: new clang import which bumps version from 18 to 19 OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_builtin_vars.h OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_cmath.h diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 9c0ee12ba110..4a580e0ed32a 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -239,7 +239,8 @@ SHLIB_NAME_FULL=${SHLIB_NAME}.full # Use ${DEBUGDIR} for base system debug files, else .debug subdirectory .if ${_SHLIBDIR} == "/boot" ||\ ${SHLIBDIR:C%/lib(/.*)?$%/lib%} == "/lib" ||\ - ${SHLIBDIR:C%/usr/(tests/)?lib(32|exec)?(/.*)?%/usr/lib%} == "/usr/lib" + ${SHLIBDIR:C%/usr/lib(32|exec)?(/.*)?%/usr/lib%} == "/usr/lib" ||\ + ${SHLIBDIR:C%/usr/tests(/.*)?%/usr/tests%} == "/usr/tests" DEBUGFILEDIR=${DEBUGDIR}${_SHLIBDIR} .else DEBUGFILEDIR=${_SHLIBDIR}/.debug From nobody Wed Feb 12 09:38:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtCtW4cblz5mTHJ; Wed, 12 Feb 2025 09:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtW45d7z3TyY; Wed, 12 Feb 2025 09:38:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leOTUnSRXh1KS8+nswch5BUD7fUDftxgtz5T8uOOIaI=; b=o/2AUn8C2kaDPjYtDv5psZSJxqAfRsI5o7SfMP1UCeIw07ej2Y7jRg5c5M0LN1ZrJri3N+ nwiQvIlYXc2gc5o3EL+0/BWfmux8xrqLJTmQIb5tK51ZzF5DGHg4r0W7rNMVGuogMO/jrR kjExId0WlN3ahFGGMtvUcmihPzFAngN/8vT05yx70f7l/mt+h8/EPRkxNNrRQUIghWXXH4 eMmvCMCOtkn5UPCUo4weFnt2pvt8CDi/1bI3iaJrdWXLJg3soGEW0+aPMj7u3PsvoHpJ40 VfJv5JW4O/pVAzK9xT94e8y7zh4RXCUJO2auyfLNinfo6ckXnilPM8O0jINY3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leOTUnSRXh1KS8+nswch5BUD7fUDftxgtz5T8uOOIaI=; b=Rt0wjpVGc8Cp1murb0hq8fuSTw+0Fr0nuoH8KY7Bc0fFg507uyXe98OljFPks2n9kl9fk2 kD3v1W6X/8N+jlqBix3A9v6cJb3fa/vnx0sLI12PT56BnstC+B+/H04r3YVzTvkSJeTyAW +K4nVXfJvcCioNB3s4nprHz0e0aDjOaVHIQmcjtFI8RGnAaNZLZEOMTrPBDiYogqnRtUAO tHnR8OOP3/o7sx03hlxbdvRPGJK2y3MTWfX8HX5jKb8aZ9MISvZ9fBxbkiLeYsRtrQS475 CSlttJGLetyFmkRkaqgdoUvDkwPOXHAj45oNZc9rZgrC9TwWEk4qYn+0LkHThw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353123; a=rsa-sha256; cv=none; b=AMAlE6AjuiXHjhUIFupVx+1t1Q8KaH0SmWh/AVE+1/gjFXRMZnbnNNq4HU5DIROzigV3og LtPy1wJ4K5P5Fjs5KiXxh0d/dMJ/VtqP91StvZZC7T2FiYKrZszLAVOD0xI4KGYlimAdsl doKABYTnmCgoQvoYBFEK5wr2M5HAltVzbzaUjdZRkJzem8tJpL9aT07AP5DhtWqxOTATOB jFGQbBb6iV3oBV7RI19/PFEFF7Ee7uwNH6HBsUcRif4nrigSOJxfB77/WkwUffypZZbaxU brP7FDMztTuM6t0ha1n5GLMRmzEJKHpVr/TAP7Br0s3uophOjNWeor+/2IXwBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtW39Qtzt2j; Wed, 12 Feb 2025 09:38: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 51C9chKo037361; Wed, 12 Feb 2025 09:38:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9chMs037358; Wed, 12 Feb 2025 09:38:43 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:43 GMT Message-Id: <202502120938.51C9chMs037358@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 9a538abd957c - main - pf: add 'translation' counter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a538abd957cd43bd09e3d72bc5fe6d0189ffaf8 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9a538abd957cd43bd09e3d72bc5fe6d0189ffaf8 commit 9a538abd957cd43bd09e3d72bc5fe6d0189ffaf8 Author: Kristof Provost AuthorDate: 2025-02-05 10:58:57 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pf: add 'translation' counter Add a separate "translation" counter and use this rather than "memory" when address translation fails due to no free ports in the configured range. ok mikeb@ Obtained from: OpenBSD, sthen , 70ff79155f Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 4 ++-- sys/netpfil/pf/pf.h | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 4d8a0f2aba31..9963dc728302 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5823,7 +5823,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, pd->naf = r->naf; if (pd->af != pd->naf) { if (pf_get_transaddr_af(r, pd) == -1) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(&reason, PFRES_TRANSLATE); goto cleanup; } } @@ -5863,7 +5863,7 @@ nextrule: pd->naf = r->naf; if (pd->af != pd->naf) { if (pf_get_transaddr_af(r, pd) == -1) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(&reason, PFRES_TRANSLATE); goto cleanup; } } diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 24249ead6ba2..01c1abc54602 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -156,7 +156,8 @@ enum { PF_ADDR_ADDRMASK, PF_ADDR_NOROUTE, PF_ADDR_DYNIFTL, #define PFRES_SRCLIMIT 13 /* Source node/conn limit */ #define PFRES_SYNPROXY 14 /* SYN proxy */ #define PFRES_MAPFAILED 15 /* pf_map_addr() failed */ -#define PFRES_MAX 16 /* total+1 */ +#define PFRES_TRANSLATE 16 /* No translation address available */ +#define PFRES_MAX 17 /* total+1 */ #define PFRES_NAMES { \ "match", \ @@ -175,6 +176,7 @@ enum { PF_ADDR_ADDRMASK, PF_ADDR_NOROUTE, PF_ADDR_DYNIFTL, "src-limit", \ "synproxy", \ "map-failed", \ + "translate", \ NULL \ } From nobody Wed Feb 12 09:38:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtCtX5M4qz5mT8t; Wed, 12 Feb 2025 09:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtX3KvCz3TYV; Wed, 12 Feb 2025 09:38:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4i6ZZ7mX3319syX1z30fsH9ju4gZeFO//hAxOn1GgTU=; b=i+0X+jcytLtp6t/fJ14fGnX1cZTaE03dlM9FIg+1/Du4H+J89xnx33UHdP+W7twAKxO0TD FPo/Vp/d3Vj+ZyOMRIRU0gd6hFHg2XHEBXNSQfiYl3ua9sk1dw9yzN0D+ozVAJfzVmotls ULp76frSGPjn1tqX8E4z1O2+THduGiIGo3dovf3lj5aFYawaex9LA2n5RkqLRbrR7kEPSQ aDsc2N3Bg7Wq7C0JFBXr27K8vQkw7k4II86M5Ei/64HYuPcci/MA8iG9sD46wunBE30T/T /LB4rt6lzG4JJDW95mdQRet+tR9RuGkxIJkYeObR3CBH7/T5tW35+UFX3DJ5gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4i6ZZ7mX3319syX1z30fsH9ju4gZeFO//hAxOn1GgTU=; b=b23rFdGki0eUZ2FnmT8TRruaC5XppEr1tS8nFVb+SIBzL6/Mrfc1RKP+YDA/yvjRZ/Aj6P 6Ywic2iUbWYZWut8vKBPfjtbPrgMDrN6c+7hYEuGhttmNiBfTffJsffpcf59cXAE7qTVcr 2RWdvsfg5N8zk29ut2A2oHwraoBRDmgYWHGEYrbCK0vTZNwsvnnuZEqn/C9aBzpsckfgdq uNimszI/oeSrSvg1Qp87DRtsV41/0x61lRpkCTs/6MTj8T7lk4St33kl5u5xGPp/d/nXUS anlEYBHFUP7N78wK/nChKn14F9VfmXxFeMeZOAZAsOU7QS9QKgin2Mt8iwvhZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353124; a=rsa-sha256; cv=none; b=Bj1Ey4n3O9Rb6C29Z3dYs3zGc0egeXrirphdaHSvmTyOl47hGxqI2yQXo4hT7/tww0ItzB gavmw5bMDZwfp6vWIa8rLgPTtFcM9JVUzauHopSOE95cKC+dKKbXXMVzSYto9Dt7qLU6w2 K/vcqds30lPbK/lOn/c9PG3oacy5PMogByjqbEBD6HgCDVrDhwP6VJU4cSWbdd65A71bO2 yegWmI5CJK4Npc28uGukFOvxb0o/h5AYQNv5tPCP9uTnEQSauaQioWWAoWNzY6QCTyjIN0 iQWdIhqMXyBSo8vb11u410Bb9zz1nU6HVDf9PxVpJ1+iP9LcBGXal9qjwHHOGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtX2scWztbB; Wed, 12 Feb 2025 09:38: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 51C9ciQn037401; Wed, 12 Feb 2025 09:38:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9ci39037398; Wed, 12 Feb 2025 09:38:44 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:44 GMT Message-Id: <202502120938.51C9ci39037398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 0ce36b069850 - main - pfctl.8: describe the counters that "pfctl -s info" displays List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ce36b0698509e834ee406552035040b0a20856c Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0ce36b0698509e834ee406552035040b0a20856c commit 0ce36b0698509e834ee406552035040b0a20856c Author: Kristof Provost AuthorDate: 2025-02-05 12:31:51 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pfctl.8: describe the counters that "pfctl -s info" displays Tweaks jmc@, ok deraadt@ Obtained from: OpenBSD, sthen , 83e508aa68 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.8 | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/sbin/pfctl/pfctl.8 b/sbin/pfctl/pfctl.8 index 00fbda042b7c..a5407999cdda 100644 --- a/sbin/pfctl/pfctl.8 +++ b/sbin/pfctl/pfctl.8 @@ -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 November 25, 2024 +.Dd February 5, 2025 .Dt PFCTL 8 .Os .Sh NAME @@ -476,6 +476,47 @@ can be used to select an interface or a group of interfaces. Show all of the above, except for the lists of interfaces and operating system fingerprints. .El +.Pp +Counters shown with +.Fl s Cm info +are: +.Pp +.Bl -tag -width xxxxxxxxxxxxxx -compact +.It match +explicit rule match +.It bad-offset +currently unused +.It fragment +invalid fragments dropped +.It short +short packets dropped +.It normalize +dropped by normalizer: illegal packets +.It memory +memory could not be allocated +.It bad-timestamp +bad TCP timestamp; RFC 1323 +.It congestion +network interface queue congested +.It ip-option +bad IP/IPv6 options +.It proto-cksum +invalid protocol checksum +.It state-mismatch +packet was associated with a state entry, but sequence numbers did not match +.It state-insert +state insertion failure +.It state-limit +configured state limit was reached +.It src-limit +source node/connection limit +.It synproxy +dropped by synproxy +.It map-failed +address mapping failed +.It translate +no free ports in translation port range +.El .It Fl T Ar command Op Ar address ... Specify the .Ar command From nobody Wed Feb 12 09:38:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtCtZ0Ksdz5mTF2; Wed, 12 Feb 2025 09:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtY4Gh7z3Tqd; Wed, 12 Feb 2025 09:38:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2WeuzCZcdkfGgmM0hgokFU7QcL6u+rjevqmNvSdIW78=; b=jNYMHPtSxS4fx45bgWpobZb8i3BhmstvVZ7noZyzAVNjbhok5qD/VorVIy4KiqDNNFrCK7 vIX4LIC3Bu4f5MRQzAQ+v7MFTA9mEcxAPC737HDUuGMyRP+YYodX2w0/06nQZUDPDbyGt8 gWLXzLqC4s8smSI9431zkqL60LZ/bXMSg9pclvlyPH5W90LiA7Gh+jJnWAyH9nhBV1Uj4I 6m8sLw9fT0BeMOHd2wnD5bF50yeh4pZR1KylWUqQhTGa+qUe527IcZ8pPj/sNZBvdqjeFY GjSUWsLWq/IdgiITQYutxPLcCj3XkgVXuALtjsjKr5WEB3E7ZQor2jLOEVi+jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2WeuzCZcdkfGgmM0hgokFU7QcL6u+rjevqmNvSdIW78=; b=aKY4RsSevYhTk3vOdURF6oKYGW7xJM9uAwh9hu4wV0gSNEmLB1xXISKdPjHqYocPUgoe2k URDDqyGPboGbh7rpMfiUGPGnyxtOuK7ltwkGZl32RaZK343RMSmXkVatpj12eHN2ZiNnsP rpS4JGzqK/Jy9fePjrUxJsC1cQnXsgRN6OOp5ed4b/N2Rff+I6Or+zjOi+xtaUZ2N/N2fQ yHmgAp7I49u44i+145GGhzvEeiQY3VInvkq9cVl+cWD53LJfRWWq2un14ytl/ffBKuuN+I hmMRRfQGENoK1aBkHvvot6Uo4qMdZGQWitw5SURGrkZHayODSZx7wJ/Bc1HnlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353125; a=rsa-sha256; cv=none; b=E8dRzVZ1wSiv+CWSxa2jp/wn1avfkMJhJQijfRu2W01exE/vuWCMFT14KXjADzF4O5BpvW 0xR9gyTNRwPKg8rfXRKROaFfMdtiOeKZwt8DddVemEfr8rlFN/fnTjTaYwPbT4Qt93M7OJ Gg1sutnCBV13ypNb4n7iPyL/yGowzTSxo1hS87bB1pMkr47Ss97pBNSWuAg2X1jha3xUWj tUq4onGtv818qwTvhj9HUQaf9ZdswCHqb87voHEy8IA787a8GS6R+EKO6rFabLFTHD4MTc MPP+Q4uCDtBSXxOc20oVBqvdIQRp78h4hhlwTQey63mo/w1wfgCbkuiVPNVQ/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtY3pgdzsyh; Wed, 12 Feb 2025 09:38: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 51C9cjXe037438; Wed, 12 Feb 2025 09:38:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9cjII037435; Wed, 12 Feb 2025 09:38:45 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:45 GMT Message-Id: <202502120938.51C9cjII037435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 21bc7eec2b70 - main - pfctl: avoid truncating a time_t division into days List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21bc7eec2b7051025f100ce988bab79c2c172bc0 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=21bc7eec2b7051025f100ce988bab79c2c172bc0 commit 21bc7eec2b7051025f100ce988bab79c2c172bc0 Author: Kristof Provost AuthorDate: 2025-02-05 12:49:18 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pfctl: avoid truncating a time_t division into days Obtained from: OpenBSD, deraadt , b14a9e0815 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_parser.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 7a1339ad273a..f567cc78dd23 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -513,7 +513,8 @@ print_status(struct pfctl_status *s, struct pfctl_syncookies *cookies, int opts) running = s->running ? "Enabled" : "Disabled"; if (s->since) { - unsigned int sec, min, hrs, day = runtime; + unsigned int sec, min, hrs; + time_t day = runtime; sec = day % 60; day /= 60; @@ -522,8 +523,8 @@ print_status(struct pfctl_status *s, struct pfctl_syncookies *cookies, int opts) hrs = day % 24; day /= 24; snprintf(statline, sizeof(statline), - "Status: %s for %u days %.2u:%.2u:%.2u", - running, day, hrs, min, sec); + "Status: %s for %lld days %.2u:%.2u:%.2u", + running, (long long)day, hrs, min, sec); } else snprintf(statline, sizeof(statline), "Status: %s", running); printf("%-44s", statline); From nobody Wed Feb 12 09:38:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtCtb47Vxz5mTF7; Wed, 12 Feb 2025 09:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtb0W7Hz3TfF; Wed, 12 Feb 2025 09:38:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+93tenYkBnGNi85XxinJfjDjQ54VG2fnI3jDUxxJi5s=; b=ORwBcMgglEJicHvBSLlmcZDATlAKzc+a5t87RjSgjWdQ+X6I0a+JCY37H73SO/XK3qdaEt sSRlRs3cRRwpgdRg5HE2Zp/SyZFW9D8L7oSp+8cPBPEFCemnWxPQiBkfIB+mODxY+HOeuX 5Tt8gdDVhW2d2adt89SuFXGIjCfrBq+8bOVMjiCfKVfeJzoFGJtngV8nBVSRino5cYLB// dFTi/Hi5WbNTuXoEZnsCAfZ/TLEYVXiWxqa5IBGfcWuuoc0Xbw1OWdGIzV73weRGiYxYSy ACex/ScI1UTmh5rUx6TXrvCYrSihy9JQNnm2EvNCx45td1sDp80Pekf7jZj5tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+93tenYkBnGNi85XxinJfjDjQ54VG2fnI3jDUxxJi5s=; b=vFpwCzmq32sYxJYkVFT+0j1JLREGILrLfhrjDi9y3Z3eP8oIky2W11KZQ3ZqDpviXfAGni 9rq1NQGhvcDQzAEpb9gun9ql+72NhkCvBSwY06Kp2jpk28GAHAGQ/UjFfGUQ6WP9wDIMZh IvHDrARW6uZ3Jf+Zs4PH0uabHtVkLekdzoQpTD+zBSYV0+ws/ceEliKb87KeJBhiBgGjQ5 fyQ7i3Qbu7MJI+lh563j4iAggiK/4cBM9k9i0Ev3ai/onnWO9aQJgllbAvZytHidGoVpAr XsKe4tjyQJ308Kfa3MwjCz5g3Uw9pd3vadXzq+GXd7sgGDVtUNYckrwCkFpZUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353127; a=rsa-sha256; cv=none; b=ggFIyOzIHOrswr0QEsHQgULF0lUdtttr/d8sc5b4gHCsKHau39pQGKIxEzALsbCFK7NJdc ER5MdB78MALOEPIFN502dj1PhWe3G+HH7Rvx/f3rdo/WL8Zlwx2KeRCYHdH01JD0I6VmNZ HFbcVqxO7286wl2c2vRXxEk3L95a7L3JfNoDLGSnBLWXI/XyoAez5/8okTGs/vAkJc3nmq BgDSlRxnJ5AyaamRfNVDs1VbdNPMLv8LJjoL1+DWMufxsC2yLzEZGYj7YrBmPvtrZf8nvO 84rNNGZLOYNetq6i7qG3i0InL33p2KFnWtzQHIsCSJ1/tRY6MFQCXahMyP3ccQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtZ589gztmd; Wed, 12 Feb 2025 09:38: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 51C9ckeh037471; Wed, 12 Feb 2025 09:38:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9ck8Q037468; Wed, 12 Feb 2025 09:38:46 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:46 GMT Message-Id: <202502120938.51C9ck8Q037468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 30ab6e823c59 - main - pf: fix anchor quick with nested anchors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30ab6e823c5914a0ecc296d766b8a92222724d09 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=30ab6e823c5914a0ecc296d766b8a92222724d09 commit 30ab6e823c5914a0ecc296d766b8a92222724d09 Author: Kristof Provost AuthorDate: 2025-02-05 15:41:41 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pf: fix anchor quick with nested anchors We lost the quick flag as soon as we stepped into a child anchor. Simplify the logic, get rid of the match flag in the anchor stack, just use the match variable we already had (and used in a boolean style) to track the nest level we had a match at. When a child anchor had a match we also have a match in the current anchor, so update the match level accordingly, and thus correctly honour the quick flag. Reported by, along with the right idea on how to fix this, by Sean Gallagher \sean at teletech.com.au/, who also helped testing the fix. ok ryan & benno Obtained from: OpenBSD, henning , 32a028bff7 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 2 +- sys/netpfil/pf/pf.c | 30 ++++++++---------------------- sys/netpfil/pf/pf_lb.c | 2 +- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 5ef7957f4fa0..65be1a0ce19b 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2646,7 +2646,7 @@ void pf_print_host(struct pf_addr *, u_int16_t, sa_family_t); void pf_step_into_anchor(struct pf_kanchor_stackframe *, int *, struct pf_kruleset **, int, struct pf_krule **, - struct pf_krule **, int *); + struct pf_krule **); int pf_step_out_of_anchor(struct pf_kanchor_stackframe *, int *, struct pf_kruleset **, int, struct pf_krule **, struct pf_krule **, int *); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 9963dc728302..79e50be6cd13 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4569,15 +4569,12 @@ struct pf_kanchor_stackframe { void pf_step_into_anchor(struct pf_kanchor_stackframe *stack, int *depth, - struct pf_kruleset **rs, int n, struct pf_krule **r, struct pf_krule **a, - int *match) + struct pf_kruleset **rs, int n, struct pf_krule **r, struct pf_krule **a) { struct pf_kanchor_stackframe *f; PF_RULES_RASSERT(); - if (match) - *match = 0; if (*depth >= PF_ANCHOR_STACKSIZE) { printf("%s: anchor stack overflow on %s\n", __func__, (*r)->anchor->name); @@ -4620,19 +4617,6 @@ pf_step_out_of_anchor(struct pf_kanchor_stackframe *stack, int *depth, f = stack + *depth - 1; fr = PF_ANCHOR_RULE(f); if (f->child != NULL) { - /* - * This block traverses through - * a wildcard anchor. - */ - if (match != NULL && *match) { - /* - * If any of "*" matched, then - * "foo/ *" matched, mark frame - * appropriately. - */ - PF_ANCHOR_SET_MATCH(f); - *match = 0; - } f->child = RB_NEXT(pf_kanchor_node, &fr->anchor->children, f->child); if (f->child != NULL) { @@ -4648,8 +4632,11 @@ pf_step_out_of_anchor(struct pf_kanchor_stackframe *stack, int *depth, if (*depth == 0 && a != NULL) *a = NULL; *rs = f->rs; - if (PF_ANCHOR_MATCH(f) || (match != NULL && *match)) - quick = fr->quick; + if (match != NULL && *match > *depth) { + *match = *depth; + if (f->r->quick) + quick = 1; + } *r = TAILQ_NEXT(fr, entries); } while (*r == NULL); @@ -5831,7 +5818,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, PFLOG_PACKET(r->action, PFRES_MATCH, r, a, ruleset, pd, 1); } else { - match = 1; + match = asd; *rm = r; *am = a; *rsm = ruleset; @@ -5844,8 +5831,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, r = TAILQ_NEXT(r, entries); } else pf_step_into_anchor(anchor_stack, &asd, - &ruleset, PF_RULESET_FILTER, &r, &a, - &match); + &ruleset, PF_RULESET_FILTER, &r, &a); nextrule: if (r == NULL && pf_step_out_of_anchor(anchor_stack, &asd, &ruleset, PF_RULESET_FILTER, &r, &a, &match)) diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 6251ddee7d19..23c7ad1c0a66 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -211,7 +211,7 @@ pf_match_translation(struct pf_pdesc *pd, break; } else pf_step_into_anchor(anchor_stack, &asd, - &ruleset, rs_num, &r, NULL, NULL); + &ruleset, rs_num, &r, NULL); } if (r == NULL) pf_step_out_of_anchor(anchor_stack, &asd, &ruleset, From nobody Wed Feb 12 09:38:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtCtc4m5rz5mT92; Wed, 12 Feb 2025 09:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtb6Xnmz3TtT; Wed, 12 Feb 2025 09:38:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8NrDb8Xgwqw5IhiXbZjNh3wFZI8eVH6hSgaONulKg9Q=; b=lsr2wj3hGv6mpcbkbWxInmmO0JKi5nQSKRmfrexmy5pnZt9FQkrNPcNHXgg9rI7oOhmZWr E4MoP+C2/sPNlahfGbRPSXdPfhz8QhMrIeTE7VZ/vnE84jsJzk+Ra2KY0J+IiYlvZPHBrg E5NPAmVOzrheCgJypp+tuwMyrS2GAtBic6fT1nORzFsRffzgMa/wguX1TIzNrxhluqZqN0 Se9/G21VoW7E/53IcMxtwIVxSVYpAGqsFsMFH7rr3LaXuBVVoisHhDnilbvGXJxwAaMXgC vCTnDDdpO9LYEyqNUAd4oG74cPOGh6wJFJaGYRk4C8iJXZJ9gk9NwRlqChZ9xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8NrDb8Xgwqw5IhiXbZjNh3wFZI8eVH6hSgaONulKg9Q=; b=BbvF0zfek4QYitjAvMmSkIO4AkxNUP3cV4jvPrH2eKBbdosJaxskZGLe0DNV1dhrwpUXib vEYNl6Yra8c6p4W8qEpjlwPImSyWNC78cQnfKAnnFKENe9tlMoGoz1j9L+gb5V6kXFVpp4 zdesK8w70d8sooqhr0Mk+8fxF3dUy0GcGE5e7Nq6xx1KVSfa9HyZLyK5B5q/KDgexjRK3U YPeCcl6Z4YouS7NAeEh3kuo/ksFToD/uq+uctVz3+/zGocXWehv073so/Vd4djkFQzfLWk V3zSWXcn0DH5ub6J4AQ0UuF50XW3FinLmUoWFi2w7cWzaiqbEJW9ead6kAmLCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353127; a=rsa-sha256; cv=none; b=FjbQwH5nZH+x+MMtbO7Anpcp3xi9XFoRRVUkQGG8SaXQILibnxDU7sKX9s6PA3Jzjdq41N bbwJMrvgJVseMm7PqjlBtxde1lgFvq8c+QVcLxDtVjNJJofhQ5wSyBAt0bEnATgxa6GuAA d9VuNTdtiDZB66k/TDNf8gG+PahJ+ujQIeJMhQ/crW9iPEfQj3JaUZbWF2lcII0a8NYsOH 1bbndMTq3ZTsOKXH8uIB4FBygv1Ot/FZ5hFCl2MHeufrYPIRUDNXGsfIdUcmyr3XMgXzeB 5UdaoognZjIH7dKXLKyXSKqPF1IPzIqjSTq3JGLEv4rRjwSdsr4bB9OGB50vVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtb68gTztV8; Wed, 12 Feb 2025 09:38: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 51C9cljE037504; Wed, 12 Feb 2025 09:38:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9clg0037501; Wed, 12 Feb 2025 09:38:47 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:47 GMT Message-Id: <202502120938.51C9clg0037501@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 6c795ce1df47 - main - pf tests: verify that a nested anchor does not clear the quick flag List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c795ce1df47e5fe9030c6c68abc38b48ff1769b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=6c795ce1df47e5fe9030c6c68abc38b48ff1769b commit 6c795ce1df47e5fe9030c6c68abc38b48ff1769b Author: Kristof Provost AuthorDate: 2025-02-05 15:34:54 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pf tests: verify that a nested anchor does not clear the quick flag Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/anchor.sh | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/sys/netpfil/pf/anchor.sh b/tests/sys/netpfil/pf/anchor.sh index 847f8d4f6dab..40e8354a2343 100644 --- a/tests/sys/netpfil/pf/anchor.sh +++ b/tests/sys/netpfil/pf/anchor.sh @@ -233,6 +233,51 @@ quick_cleanup() pft_cleanup } +atf_test_case "quick_nested" "cleanup" +quick_nested_head() +{ + atf_set descr 'Verify that a nested anchor does not clear quick' + atf_set require.user root +} + +quick_nested_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}a + + ifconfig ${epair}b 192.0.2.2/24 up + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "anchor quick {\n\ + pass\n\ + anchor {\n\ + block proto tcp\n\ + }\n\ + }" \ + "block" + ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -sr -v + jexec alcatraz pfctl -ss -v + + # We can still ping because the anchor is 'quick' + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + jexec alcatraz pfctl -sr -v + jexec alcatraz pfctl -ss -v +} + +quick_nested_cleanup() +{ + pft_cleanup +} + atf_test_case "counter" "cleanup" counter_head() { @@ -279,5 +324,6 @@ atf_init_test_cases() atf_add_test_case "wildcard" atf_add_test_case "nested_label" atf_add_test_case "quick" + atf_add_test_case "quick_nested" atf_add_test_case "counter" } From nobody Wed Feb 12 10:04:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtDSr0DMbz5mVj0; Wed, 12 Feb 2025 10:05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtDSq6mkcz3XWV; Wed, 12 Feb 2025 10:04:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739354699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zAzlDierRjUdjYdq+X082LSuIbOTwLNB01PSiDV2MB8=; b=iFGzd15QSHbU39unVwEKIBkvgR899jKTEKy//cF/Q/myOVXkKeSGmstmt7T0IBGnux39+j KxjJ5mIkkC/S4yFuN5dw3BEBuQVK19gWDrRLE/wmm6z/VjoUpzlPh8T6JF/1CLfxK7e3if /JcUzWoegSvV71HPM1KDy3rlvyO6BvT/Pw2EcssRwq1+7gyZzhtoGwrIny+8QX2V33i2kQ +Mv3lyQ/iEUtnEnY8V/OvbeZxWbZe8Ej6FcwelDQtdC2oLjZEtlftWIAtRJBuncYEEDetq s0aTXoVme4fJgVXtnYdz2vNrZzbO3gS4/XOyW8tAzaP9Dt8OCD/TY6C+grMmoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739354699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zAzlDierRjUdjYdq+X082LSuIbOTwLNB01PSiDV2MB8=; b=I9NTe7igA4cxJi7nIob5UNJpk4BS8K+MX6owy/bjWRvMyswY28v46KErMQM8zjBDV0N53a G/P1AX/6j2Tx2d4Xk0ny1mXqTnJqDo9A5jXXGTla/TJuK+et+xCbz6WWvkl1ThfrP1csw6 tD9wb+Q9NXlZa9OueVo91jZwvD7oY43p/Oq5aNBQbG6bSvqvdrsBPkYximLA62sHIeuGB6 nyi8A3b6tEitx+vGO/nljFCS9w8/R4HdrRon16xo8gcoiVWN2EuhKx/jb/CuGkzuQtkrCP vXHj0w9O1ByX1UjLUbcf2VE9FH/WlU3Zx/GLcQwQ2EYI1CmkPNxOpZAUeWVvkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739354700; a=rsa-sha256; cv=none; b=wy8l9YbC3HdktsjOuatWKA9pcJjf19rShSEi015vJCgWo9//ULWWlk6BTckYmftaBW/PIv ZEuViec2lQIXbZLNppBUvKUDgLG4pJxDpfFMzml6gaTpr+86q/ig0RPjtr0prvdLbOA583 ePLM1KJrGII2judgjDQpHFvMxWRwl4Bs5y9Gf9DWHJ9RhrlkBUQfJSjgPF5z8Dd+i0fMlA j5KEBv2ROVbMNsqK1H5HjpmB1lUHQ67yqP4WNQ3H1KM+GARKFTnEhdwC4nCm0NVkuIxvn4 ypsQtkkpxiEVE6NHLduu+lveRSImfWPqge9cOGYatfAvlDX0QvLJujEr5ifiOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtDSq6MGZztZ9; Wed, 12 Feb 2025 10:04: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 51CA4xfx093102; Wed, 12 Feb 2025 10:04:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CA4xgB093099; Wed, 12 Feb 2025 10:04:59 GMT (envelope-from git) Date: Wed, 12 Feb 2025 10:04:59 GMT Message-Id: <202502121004.51CA4xgB093099@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: ccd9c1ef4e90 - stable/14 - icmp: use per rate limit randomized jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ccd9c1ef4e9008a3ba264756a2e6fff7dfd3dc86 Auto-Submitted: auto-generated The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ccd9c1ef4e9008a3ba264756a2e6fff7dfd3dc86 commit ccd9c1ef4e9008a3ba264756a2e6fff7dfd3dc86 Author: Michael Tuexen AuthorDate: 2025-02-10 21:16:20 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 10:04:10 +0000 icmp: use per rate limit randomized jitter Using the same random jitter for multiple rate limits allows an attacker to use one rate limiter to figure out the current jitter and then use this knowledge to de-randomize the other rate limiters. This can be mitigated by using a separate randomized jitter for each rate limiter. This issue was reported as issue number 10 in Keyu Man et al.: SCAD: Towards a Universal and Automated Network Side-Channel Vulnerability Detection Reviewed by: rrs, Peter Lei, glebius Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D48804 (cherry picked from commit 923c223f27e792e51ca13c476428adbbf6887551) --- sys/netinet/ip_icmp.c | 20 ++++++++++++-------- sys/netinet6/icmp6.c | 50 +++++++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 24a14c4d4879..26ee6e5c1245 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -90,7 +90,7 @@ SYSCTL_PROC(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLTYPE_UINT | &sysctl_icmplim_and_jitter, "IU", "Maximum number of ICMP responses per second"); -VNET_DEFINE_STATIC(int, icmplim_curr_jitter) = 0; +VNET_DEFINE_STATIC(int, icmplim_curr_jitter[BANDLIM_MAX]) = {0}; #define V_icmplim_curr_jitter VNET(icmplim_curr_jitter) VNET_DEFINE_STATIC(u_int, icmplim_jitter) = 16; #define V_icmplim_jitter VNET(icmplim_jitter) @@ -1110,14 +1110,16 @@ static const char *icmp_rate_descrs[BANDLIM_MAX] = { }; static void -icmplim_new_jitter(void) +icmplim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < BANDLIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmplim_jitter > 0) - V_icmplim_curr_jitter = + V_icmplim_curr_jitter[which] = arc4random_uniform(V_icmplim_jitter * 2 + 1) - V_icmplim_jitter; } @@ -1146,7 +1148,9 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmplim_jitter = new; - icmplim_new_jitter(); + for (int i = 0; i < BANDLIM_MAX; i++) { + icmplim_new_jitter(i); + } } } } @@ -1162,8 +1166,8 @@ icmp_bandlimit_init(void) for (int i = 0; i < BANDLIM_MAX; i++) { V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp_rates[i].cr_ticks = ticks; + icmplim_new_jitter(i); } - icmplim_new_jitter(); } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); @@ -1192,14 +1196,14 @@ badport_bandlim(int which) ("%s: which %d", __func__, which)); pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + - V_icmplim_curr_jitter); + V_icmplim_curr_jitter[which]); if (pps > 0) { if (V_icmplim_output) log(LOG_NOTICE, "Limiting %s response from %jd to %d packets/sec\n", icmp_rate_descrs[which], (intmax_t )pps, - V_icmplim + V_icmplim_curr_jitter); - icmplim_new_jitter(); + V_icmplim + V_icmplim_curr_jitter[which]); + icmplim_new_jitter(which); } if (pps == -1) return (-1); diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 138a7ce71bbc..39c252e16b75 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2741,22 +2741,6 @@ SYSCTL_PROC(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, &sysctl_icmp6lim_and_jitter, "IU", "Maximum number of ICMPv6 error/reply messages per second"); -VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter) = 0; -#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) - -VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; -#define V_icmp6lim_jitter VNET(icmp6lim_jitter) -SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, - &sysctl_icmp6lim_and_jitter, "IU", - "Random errppslimit jitter adjustment limit"); - -VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; -#define V_icmp6lim_output VNET(icmp6lim_output) -SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, - "Enable logging of ICMPv6 response rate limiting"); - typedef enum { RATELIM_PARAM_PROB = 0, RATELIM_TOO_BIG, @@ -2778,15 +2762,33 @@ static const char *icmp6_rate_descrs[RATELIM_MAX] = { [RATELIM_OTHER] = "(other)", }; +VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter[RATELIM_MAX]) = {0}; +#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) + +VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; +#define V_icmp6lim_jitter VNET(icmp6lim_jitter) +SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Random errppslimit jitter adjustment limit"); + +VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; +#define V_icmp6lim_output VNET(icmp6lim_output) +SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, + "Enable logging of ICMPv6 response rate limiting"); + static void -icmp6lim_new_jitter(void) +icmp6lim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < RATELIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmp6lim_jitter > 0) - V_icmp6lim_curr_jitter = + V_icmp6lim_curr_jitter[which] = arc4random_uniform(V_icmp6lim_jitter * 2 + 1) - V_icmp6lim_jitter; } @@ -2815,7 +2817,9 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmp6lim_jitter = new; - icmp6lim_new_jitter(); + for (int i = 0; i < RATELIM_MAX; i++) { + icmp6lim_new_jitter(i); + } } } } @@ -2835,8 +2839,8 @@ icmp6_ratelimit_init(void) for (int i = 0; i < RATELIM_MAX; i++) { V_icmp6_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp6_rates[i].cr_ticks = ticks; + icmp6lim_new_jitter(i); } - icmp6lim_new_jitter(); } VNET_SYSINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp6_ratelimit_init, NULL); @@ -2898,14 +2902,14 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) }; pps = counter_ratecheck(&V_icmp6_rates[which], V_icmp6errppslim + - V_icmp6lim_curr_jitter); + V_icmp6lim_curr_jitter[which]); if (pps > 0) { if (V_icmp6lim_output) log(LOG_NOTICE, "Limiting ICMPv6 %s output from %jd " "to %d packets/sec\n", icmp6_rate_descrs[which], (intmax_t )pps, V_icmp6errppslim + - V_icmp6lim_curr_jitter); - icmp6lim_new_jitter(); + V_icmp6lim_curr_jitter[which]); + icmp6lim_new_jitter(which); } if (pps == -1) { ICMP6STAT_INC(icp6s_toofreq); From nobody Wed Feb 12 10:19:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtDnb14Scz5mXB9; Wed, 12 Feb 2025 10:19: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtDnY70lLz3YHy; Wed, 12 Feb 2025 10:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7p7kHodJb8ErqnRlr4V44+XmXYwhYY7Hlnzg1yqUOXI=; b=h7z7KXqyVhBoHRAiNVo833GSmWabSBccfFfgT3BCTzm1GfSwWtZtMdQUrADRgkFEI7HNAe xhXUjR58uuUEIzQCEC97ogJT17Skzj12RQ9TSADAaaQ0NJnbi/TM927sb1xygzgTtii1ft 4c+zdcjiPzKUeODcPfhsFIRkyYz2OXOc6qE0+PHirWZg7rdqmX4HpXHSVQYzAKk4dgF8/N upLU+rc1UO0trBjueU/VkoWC1RVqvvmxV0r27zbh678+A4cxMnZQTXLjCKS+dfIudeNZ1V 2qXOlLK0ZAeWjO52b5DmukIL6UmsnMdQwWIlV70H1navIXDk0DdEeYYRjGNQKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7p7kHodJb8ErqnRlr4V44+XmXYwhYY7Hlnzg1yqUOXI=; b=A44IETZNz5p/3fszoNuZopAaethKpSZsGno/HkmsvPESz0v+0P24HDEog3mLLDNdFr3t7T YV6ZC5SikcCrjyBXShlcSnZEaqG+fuk5v9acdqVi94O1bGASs527JNU/uf0UPCZipYXJ14 wXhRtJJ4ypyCjjNmdlCYHfSPgFvY5ooKJk0dMVWYcjPk17YifVIZU+mfGl5H6Id5z5XU/X lNmbGdDqh+lK8LfUyxwnw4nqqv7XNr01lUWWa54ORmG5m+N2xhlGXsVC+PEeqQclK913fp kZfYnfqvXEbP/GBLL8f+D2E9M9SJx5hbboPEqAgtIYyt1KrJarK+gUZnxxPUvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739355570; a=rsa-sha256; cv=none; b=RABJdjZMjU70MMvf48yfuaXD3bLR/AfyugyauSw9IijThTKVlD77pBMspHXnZb1k/xxr1U OmibaPd34kV9gpgZnMUsnfMAdTTph+wdtdHpuPdv71VHeerqMzBhXDDk1/tmI4myHAhDse CNANdpsln4t3pLEgahGlvsjW2/yVv32JVFQzn67ltWYndFEyzIKIq2Q+UHBYrCRPNT1OuX JzNZr+kTTUvuMgCfWxyLUAMbBH6wwJJSR8efBn/eEpAYkbEZB3IcedIUNDFMTI03NLrJDZ d5iDn/R7fddDndQ/bs64m/HOrXNNTfVfh97+1fOjyPZgIYH2MeFEe95FY4woIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtDnY64dmzvhG; Wed, 12 Feb 2025 10:19: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 51CAJTBK012765; Wed, 12 Feb 2025 10:19:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CAJTP6012762; Wed, 12 Feb 2025 10:19:29 GMT (envelope-from git) Date: Wed, 12 Feb 2025 10:19:29 GMT Message-Id: <202502121019.51CAJTP6012762@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: 0939f3a04653 - stable/13 - icmp: do not store per-VNET identical array of strings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0939f3a046533a2df1d2b10fd914c98755dacb0b Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=0939f3a046533a2df1d2b10fd914c98755dacb0b commit 0939f3a046533a2df1d2b10fd914c98755dacb0b Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 10:15:53 +0000 icmp: do not store per-VNET identical array of strings We need per-VNET struct counter_rate, but we don't need per-VNET set of const char *. Also, identical word "response" can go into the format string instead of being stored 7 times. Reviewed by: kp, zlei, tuexen Differential Revision: https://reviews.freebsd.org/D44475 (cherry picked from commit 7142ab4790666022a2a3d85910e9cd8e241d9b87) --- sys/netinet/ip_icmp.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index f0e63d6c8b1a..54411d55f49c 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1085,28 +1085,26 @@ ip_next_mtu(int mtu, int dir) * the 'final' error, but it doesn't make sense to solve the printing * delay with more complex code. */ -struct icmp_rate { - const char *descr; - struct counter_rate cr; -}; -VNET_DEFINE_STATIC(struct icmp_rate, icmp_rates[BANDLIM_MAX]) = { - { "icmp unreach response" }, - { "icmp ping response" }, - { "icmp tstamp response" }, - { "closed port RST response" }, - { "open port RST response" }, - { "icmp6 unreach response" }, - { "sctp ootb response" } -}; +VNET_DEFINE_STATIC(struct counter_rate, icmp_rates[BANDLIM_MAX]); #define V_icmp_rates VNET(icmp_rates) +static const char *icmp_rate_descrs[BANDLIM_MAX] = { + [BANDLIM_ICMP_UNREACH] = "icmp unreach", + [BANDLIM_ICMP_ECHO] = "icmp ping", + [BANDLIM_ICMP_TSTAMP] = "icmp tstamp", + [BANDLIM_RST_CLOSEDPORT] = "closed port RST", + [BANDLIM_RST_OPENPORT] = "open port RST", + [BANDLIM_ICMP6_UNREACH] = "icmp6 unreach", + [BANDLIM_SCTP_OOTB] = "sctp ootb", +}; + static void icmp_bandlimit_init(void) { for (int i = 0; i < BANDLIM_MAX; i++) { - V_icmp_rates[i].cr.cr_rate = counter_u64_alloc(M_WAITOK); - V_icmp_rates[i].cr.cr_ticks = ticks; + V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); + V_icmp_rates[i].cr_ticks = ticks; } } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, @@ -1117,7 +1115,7 @@ icmp_bandlimit_uninit(void) { for (int i = 0; i < BANDLIM_MAX; i++) - counter_u64_free(V_icmp_rates[i].cr.cr_rate); + counter_u64_free(V_icmp_rates[i].cr_rate); } VNET_SYSUNINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, icmp_bandlimit_uninit, NULL); @@ -1136,7 +1134,7 @@ badport_bandlim(int which) if ((V_icmplim + V_icmplim_curr_jitter) <= 0) V_icmplim_curr_jitter = -V_icmplim + 1; - pps = counter_ratecheck(&V_icmp_rates[which].cr, V_icmplim + + pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + V_icmplim_curr_jitter); if (pps > 0) { /* @@ -1154,8 +1152,9 @@ badport_bandlim(int which) if (pps == -1) return (-1); if (pps > 0 && V_icmplim_output) - log(LOG_NOTICE, "Limiting %s from %jd to %d packets/sec\n", - V_icmp_rates[which].descr, (intmax_t )pps, V_icmplim + + log(LOG_NOTICE, + "Limiting %s response from %jd to %d packets/sec\n", + icmp_rate_descrs[which], (intmax_t )pps, V_icmplim + V_icmplim_curr_jitter); return (0); } From nobody Wed Feb 12 10:21:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtDr34Fhxz5mXMw; Wed, 12 Feb 2025 10:21: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtDr33n9cz3YnD; Wed, 12 Feb 2025 10:21:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dbZMBTVpr0Z9pBV930oWYPzlsliGrncuWXC4HNWlNSw=; b=hM0Jk8oNwXIK0mLI/yAKRzPSkGKPrlzdnUabffauI2b10ASrJpXL42Yy8dlpqL631QlJcN XeUc07GjUz7lgku4mRpSWG3s+zTy4yfNuoyZri26D7AV7x2qnUZbByqKce630mLxCXidMu T9qZoeZhGMIDOji94O+ywkE0e5PvCcb0TM5AyPc+wt3x3864he3CV6+itkDkSUpZJZW9Zz h88sjcc54MDmCnLz/dY6kiLY5mtC0Njx3iq/uiUlZETcQtPx63tCGKy+oAXStweJbCDpHa SKRPaua9yG1C8D6nfoPu8zmiOICDOEqkoc+qQK9CmSeS/W+mopPLf8lkH4cjwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dbZMBTVpr0Z9pBV930oWYPzlsliGrncuWXC4HNWlNSw=; b=HZRl/aR0tGSv9oaOkMpTTjKAfis1/gOe6rGdKVjOIMH+4uXrXBoLKx2LHV+Wc2gOgF3B7W fzRtZV1ZoBdP0XzR544T55Tnwl9JVZxxO9x7yT1ECtOz3WVg11tdbtS0JCiQs5XLPoFWAq ACcvJZHX9v4PUDwQ9lu4SUTouYfXLmo2M04hceHG6AE7XfKvfN3dYWbtzoOBfair84x1wj SWtuCBB9K3uZmz/314sYynapp/IjUzW9JejC0g1GGQiBv8dA+M+rA/MYAmqGiM1V7o4w8z PMFFMAW7STeo9jyWqy2ZSdDKk48qnF+xC6uf+FPB94H5tgz9hZmmvLGJy+f7zQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739355699; a=rsa-sha256; cv=none; b=OzFRlNCbViRkAEV/J67wWuvKohf0qeeVy0oaQgNTBt40CvIeKwlxjEt6ZalSRWFZH2xNFr ogedYKSNfDh8zXSQj4feWCg+29Mh+pe2bRmKADHu2qphA5vDkDhtQWtRVqb5aRwyuIJy+L dS+9AbPXff+iIjLIv7wNdLpKrrrIpx0N2JwjO25fVLQyPe7N48vXJTw1gQ8700y00W/b+f dujtC+bCeHsfJiklqqSFmC+tR6WuBxnBKYO78Raq9GPb2OGlCoxCNJ4oPIZUupMLM/pmMx 6Izj/SdKF5ve76NzyjmkhAT6yD57+htUh25Qwn80s9B0DhHKm0AtJYXgvyaEVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtDr33NGdzvV8; Wed, 12 Feb 2025 10:21: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 51CALdN8025407; Wed, 12 Feb 2025 10:21:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CALd5O025404; Wed, 12 Feb 2025 10:21:39 GMT (envelope-from git) Date: Wed, 12 Feb 2025 10:21:39 GMT Message-Id: <202502121021.51CALd5O025404@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: a6d5c6a04fe9 - stable/13 - icmp: hide icmp_bandlimit_uninit() under VIMAGE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a6d5c6a04fe9408cdfd1f56f8dc3142661214eb8 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a6d5c6a04fe9408cdfd1f56f8dc3142661214eb8 commit a6d5c6a04fe9408cdfd1f56f8dc3142661214eb8 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 10:20:53 +0000 icmp: hide icmp_bandlimit_uninit() under VIMAGE The uninitialization may be executed only on a kernel with VIMAGE. Reviewed by: kp, tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44476 (cherry picked from commit 9d7f17d7467ed8c9740730a8db7a82e4768e5177) --- sys/netinet/ip_icmp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 54411d55f49c..5c8c17cba049 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1110,6 +1110,7 @@ icmp_bandlimit_init(void) VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); +#ifdef VIMAGE static void icmp_bandlimit_uninit(void) { @@ -1119,6 +1120,7 @@ icmp_bandlimit_uninit(void) } VNET_SYSUNINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, icmp_bandlimit_uninit, NULL); +#endif int badport_bandlim(int which) From nobody Wed Feb 12 10:22:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtDsK3Dsmz5mXN3; Wed, 12 Feb 2025 10:22: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtDsK2kQrz3ZHW; Wed, 12 Feb 2025 10:22:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eUzwJ6ZivrmhABU6Z3PMi8/JmpqBBcv7dUUWtsx8j/Q=; b=PDwlFdAJf5W998qIs5bmG/0YHoyr+xqntnWa5dOqm+6s/IID+12sUqNRFZB1SUbsCkeGC8 vKb49rtGepaxC+N/Iuv5hZU0iIXF385QwWxdySwlJOnirB1v24nWF2ZnueQYDyv6W8GVjt mn8vUg0QdyH6OoAoRSc9Y5xs2SgtNqgJF2bkIrq7LNxgtid9Ya3NLWxwHRxZHUB0tPLwO2 YrEEGqJabe+aV18pgn/OIkV2IIMmrvzm+gxXTwayTkUgi+yD/bmxP+FyHF2MDaJLBX1L90 wDyl1FR6NhEvGhaQJlc0MXWl0ut2Il3k5E7CtQtl/X+8vihUxOAuXHyfmHPd6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eUzwJ6ZivrmhABU6Z3PMi8/JmpqBBcv7dUUWtsx8j/Q=; b=glxpTng3HmiqNl5gGrH5peFLuKDWbvMA2mTIHE2ui7SvN6j8FWfs3dRwgUHjWUfm/kV9cz bElZ1zLPq93cO0QR7R4GoFkTtMX87lMAZiogt+bFC0LC0LDSnhN4+b+0IUKvGIvVD/S24G //eCb44SHTk0ljF1Xs5DqZ4WtHiT0EHFEQVVZ5cLW9bWNO7Rz2DH/PRyvqf6W0F0tGGJD5 Q0UzlTexV4ELT3tEOBA+LUXt0VGGgljDXYvs4Z5atqMem6dbg6aHb9RzkHsQH2ZK62lU73 Hhw9n2HI2EBTt+BIH93m605644WiP6+8/b587nZY65v3iP3DdN/B7OIejL3A2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739355765; a=rsa-sha256; cv=none; b=XfSP9mq7Rg3eipB+wbswyu1wh2UOFovgeA+wr5bYC5cerPwOoHFmNSWvYRK0fNDBqMnNpW Iu3QcNAC+84IbKtp1M5I7WtkvoVGwfT/tTexb6VI++Hb3VjTDrcoxszBukxkQZvG0qRc8S FBxeT+cNuuaZK6kwb7/hup4afCPbX7gmABnS9XMoyf3zO1zLmLxuoj2i34DMVG+vpHPiEU LGVqvhyGxql+CyC/F1Q6Bbww1PtwsJpUUkH0rgmapFjpzqVnrK4RrR9asAF2m5FZbDamuY zIig8EnVMi3woaAc0XaDEfW6mmkEOaFShQfzU7yf8LT9yaAZbKpyt0pXU+bhUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtDsK2KnxzvVV; Wed, 12 Feb 2025 10:22: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 51CAMjG2029343; Wed, 12 Feb 2025 10:22:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CAMjDh029340; Wed, 12 Feb 2025 10:22:45 GMT (envelope-from git) Date: Wed, 12 Feb 2025 10:22:45 GMT Message-Id: <202502121022.51CAMjDh029340@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: a71eee300ba7 - stable/13 - icmp: when logging ICMP ratelimiting message use correct jitter value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a71eee300ba7d94a1621c7b31eaaa79243db84ec Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a71eee300ba7d94a1621c7b31eaaa79243db84ec commit a71eee300ba7d94a1621c7b31eaaa79243db84ec Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 10:22:14 +0000 icmp: when logging ICMP ratelimiting message use correct jitter value The limiting of the very last second has been done using certain jitter value. We update the jitter for the next second. But the logging should report the jitter before the change. Reviewed by: kp, tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44477 (cherry picked from commit b508545ce044dbfdd83da772e73f969a3713d59d) --- sys/netinet/ip_icmp.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 5c8c17cba049..199b76aa9ad6 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1139,6 +1139,11 @@ badport_bandlim(int which) pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + V_icmplim_curr_jitter); if (pps > 0) { + if (V_icmplim_output) + log(LOG_NOTICE, + "Limiting %s response from %jd to %d packets/sec\n", + icmp_rate_descrs[which], (intmax_t )pps, + V_icmplim + V_icmplim_curr_jitter); /* * Adjust limit +/- to jitter the measurement to deny a * side-channel port scan as in CVE-2020-25705 @@ -1153,10 +1158,5 @@ badport_bandlim(int which) } if (pps == -1) return (-1); - if (pps > 0 && V_icmplim_output) - log(LOG_NOTICE, - "Limiting %s response from %jd to %d packets/sec\n", - icmp_rate_descrs[which], (intmax_t )pps, V_icmplim + - V_icmplim_curr_jitter); return (0); } From nobody Wed Feb 12 10:24:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtDtt08pFz5mXCn; Wed, 12 Feb 2025 10:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtDts6WL1z3Zs4; Wed, 12 Feb 2025 10:24:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+QST/g8t9caDO8ZIsNh3Z3oIi7p0KJxh9ogDfBPSK8=; b=PZBZ7KpT92ZgWme2jAwt6RhNiZUXi+jW3MyN2t7sE+5RpMe9uIDsID64RC5uKNmYEadZGd wat7bHHlcg2zrt7AhufKyYh3Ak0fnAjj1oyMhnNcJAHZZ9/nYskLUWI9uz7e+e1DTyGCWW OaXh5SJI95Pzoc5fFOXFetv5hcUOn4qnLNzL1aSnskpighbfCTS+WRbK8qPtcST3aagEKA 2M1HaK+UA8cpHepZuUUzxQ7byzLyGWAwfe7OTS8V16ziUSAy0jJKRp2YLgn7P9dTAK/gRv mCwZT9l3F5G474gMU9oGhOzmbMCb2YuYzxOuPGCx3i+vzxO2CWRAVLVSWBQ67Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739355845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+QST/g8t9caDO8ZIsNh3Z3oIi7p0KJxh9ogDfBPSK8=; b=Fk85EQHccXcZ1xBPO4m+wtzuuo4I0AeKQKFtso8e2eBc9toDx5G8DI25uOGzJ5kPkiwVBD RlUbAu9rzeH4yWiuGUO61V3S0clg8pXuLStlzQYIJ+5bAd5yLUz/DAmxEb9u4CBsvKNhMv DrOPVJIuJPyiDQYNYOMeGtW/8GfZ0yUAdZmGHTYedLxOI+mMgr4vmZ7mTrNiCUhJ0B52wb PGydT3l0FnzIuXdQGYXsCvCZKMS3UOa6ztRaKkcwREmJ8t1R3DhIKAhQE7gLaCKFglUrWF xnPFNNVEqFn2QmzOy/btiqvCduJDw9E1aPjkeJHzbOnna5Lzku5BDHwKdJJknQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739355845; a=rsa-sha256; cv=none; b=JzfEhpPFdsgdmpzKNEFqirQh6rLuDaZWIQUoBWZHsGJxblG0CHzvtfCVJJscZgE/GjYhhv EvnrxS8PU+2nzmkq51tSdF5vg8eaWBvyYwuqYB+yZ+T+MPDU1ENfUoU7hVMrf7+HquZJrX Do37RLmzjTEol32lBXUItmEmMwIZGgG8dWQ5R+Wxv+Ek0yPBOUSPQlNSvf3irOChfZ2WAM 6nrWdaZTIsYby0pDVCefX8EeRHS9C1A7WZVYVnGvhiI2O+CrCisWtzZWMQfY+VWOtzemep rE8cLWwhSif6fwfHn9NDoOSlm889aFMRlGTee5P5KA+f/9G34UZXKnte41XdAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtDts65nVzvXK; Wed, 12 Feb 2025 10:24: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 51CAO5dA029852; Wed, 12 Feb 2025 10:24:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CAO56d029849; Wed, 12 Feb 2025 10:24:05 GMT (envelope-from git) Date: Wed, 12 Feb 2025 10:24:05 GMT Message-Id: <202502121024.51CAO56d029849@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: 18058544c65b - stable/13 - icmp: improve ICMP limit jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 18058544c65b83fffca9556d6d082e823585ef3d Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=18058544c65b83fffca9556d6d082e823585ef3d commit 18058544c65b83fffca9556d6d082e823585ef3d Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 10:23:36 +0000 icmp: improve ICMP limit jitter Instead of fixing up invalid values set by a user in badport_bandlim() which is a fast path function, provide a sysctl handler sysctl_icmplim_and_jitter(), that will check that jitter is less than the limit. Provide jitter initilization function icmplim_new_jitter() used at boot, in the sysctl handler and when we actually hit the limit. This also fixes no jitter on a fresh booted system until first limit hit. Instead of CVE number provide link the the actual paper that explains what and why we are doing here. The CVE number isn't very informative, it will just tell you what RedHat version you need to upgrade to. Reviewed by: kp, tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44478 (cherry picked from commit ac44739fd834f51cacb26485a4140fd482e20150) --- sys/netinet/ip_icmp.c | 81 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 59 insertions(+), 22 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 199b76aa9ad6..0d671033b67c 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -81,19 +81,22 @@ * routines to turnaround packets back to the originator, and * host table maintenance routines. */ -VNET_DEFINE_STATIC(int, icmplim) = 200; +static int sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS); +VNET_DEFINE_STATIC(u_int, icmplim) = 200; #define V_icmplim VNET(icmplim) -SYSCTL_INT(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLFLAG_VNET | CTLFLAG_RW, - &VNET_NAME(icmplim), 0, - "Maximum number of ICMP responses per second"); +SYSCTL_PROC(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmplim), 0, + &sysctl_icmplim_and_jitter, "IU", + "Maximum number of ICMP responses per second"); VNET_DEFINE_STATIC(int, icmplim_curr_jitter) = 0; #define V_icmplim_curr_jitter VNET(icmplim_curr_jitter) -VNET_DEFINE_STATIC(int, icmplim_jitter) = 16; +VNET_DEFINE_STATIC(u_int, icmplim_jitter) = 16; #define V_icmplim_jitter VNET(icmplim_jitter) -SYSCTL_INT(_net_inet_icmp, OID_AUTO, icmplim_jitter, CTLFLAG_VNET | CTLFLAG_RW, - &VNET_NAME(icmplim_jitter), 0, - "Random icmplim jitter adjustment limit"); +SYSCTL_PROC(_net_inet_icmp, OID_AUTO, icmplim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmplim_jitter), 0, + &sysctl_icmplim_and_jitter, "IU", + "Random icmplim jitter adjustment limit"); VNET_DEFINE_STATIC(int, icmplim_output) = 1; #define V_icmplim_output VNET(icmplim_output) @@ -1098,6 +1101,52 @@ static const char *icmp_rate_descrs[BANDLIM_MAX] = { [BANDLIM_SCTP_OOTB] = "sctp ootb", }; +static void +icmplim_new_jitter(void) +{ + /* + * Adjust limit +/- to jitter the measurement to deny a side-channel + * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 + */ + if (V_icmplim_jitter > 0) + V_icmplim_curr_jitter = + arc4random_uniform(V_icmplim_jitter * 2 + 1) - + V_icmplim_jitter; +} + +static int +sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) +{ + uint32_t new; + int error; + bool lim; + + MPASS(oidp->oid_arg1 == &VNET_NAME(icmplim) || + oidp->oid_arg1 == &VNET_NAME(icmplim_jitter)); + + lim = (oidp->oid_arg1 == &VNET_NAME(icmplim)); + new = lim ? V_icmplim : V_icmplim_jitter; + error = sysctl_handle_int(oidp, &new, 0, req); + if (error == 0 && req->newptr) { + if (lim) { + if (new <= V_icmplim_jitter) + error = EINVAL; + else + V_icmplim = new; + } else { + if (new >= V_icmplim) + error = EINVAL; + else { + V_icmplim_jitter = new; + icmplim_new_jitter(); + } + } + } + MPASS(V_icmplim + V_icmplim_curr_jitter > 0); + + return (error); +} + static void icmp_bandlimit_init(void) { @@ -1106,6 +1155,7 @@ icmp_bandlimit_init(void) V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp_rates[i].cr_ticks = ticks; } + icmplim_new_jitter(); } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); @@ -1133,9 +1183,6 @@ badport_bandlim(int which) KASSERT(which >= 0 && which < BANDLIM_MAX, ("%s: which %d", __func__, which)); - if ((V_icmplim + V_icmplim_curr_jitter) <= 0) - V_icmplim_curr_jitter = -V_icmplim + 1; - pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + V_icmplim_curr_jitter); if (pps > 0) { @@ -1144,17 +1191,7 @@ badport_bandlim(int which) "Limiting %s response from %jd to %d packets/sec\n", icmp_rate_descrs[which], (intmax_t )pps, V_icmplim + V_icmplim_curr_jitter); - /* - * Adjust limit +/- to jitter the measurement to deny a - * side-channel port scan as in CVE-2020-25705 - */ - if (V_icmplim_jitter > 0) { - int32_t inc = - arc4random_uniform(V_icmplim_jitter * 2 +1) - - V_icmplim_jitter; - - V_icmplim_curr_jitter = inc; - } + icmplim_new_jitter(); } if (pps == -1) return (-1); From nobody Wed Feb 12 10:28:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtDzh4P46z5mXsG; Wed, 12 Feb 2025 10:28:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtDzh3mZ9z3Zrj; Wed, 12 Feb 2025 10:28:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739356096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xieCK7mZ3ET/edwoCW0j4rmte8cqsRXae4VHPNDdOTM=; b=t3NJGFUZAHjADFmj9XQ5/X2tzisGUZcOyHxNpa7tsQaiSFoN1ZT6HF22kbTa3EBPtHbRzQ UQk41ZeZIUCSeMY0c1MQ597HURWkGwUGY+gpumQ+pxVREkOtgGcaLzlXAm6Jxccr/eNf7d ImhRRG+p9CYGicgcP68uovIjw3NfFFm3KZLszyJNCguOpEijG+ckEAvN2BBjGShHbasyMO h7d1jvMakbDFnnF4Xv0/EybnSgtljpPUT+c9eNE4lD+UMEXjxAuoijahLUUpqwgRSWgYYy Uu1DnHbevqQoV14u2vg2Oq+2GgemmIqHWnD5VTFHLAP71ShZdTO3z9Tkv63ebQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739356096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xieCK7mZ3ET/edwoCW0j4rmte8cqsRXae4VHPNDdOTM=; b=PfRUQHQT8AtNuIg6j5JUwHfoPXK9cwhiO+3F8IUA1tmKXAnEl0DXkudXXOrfwzX8hRsc15 PD8faNAdZAzPxTf+cMs/DSRKHpR7HVYC0y+eLs2g7J1/Iq0KEEgiuVua9a+013+PB9GTZJ nyGCjtktMUHC02yZvJYMOC6TXTgz9h6NfSSv9N0MWnI+gvdbpo6CBM6hhbZDo3hBueAUNi ShG3hvIDZfAUZwh0z4+FDRv99Hk22jWtWI9O0Z/6G83DXZyGzKmw439PLm9wh4ec8fOloB n8n5qXdzv8xHEavr66Y4LW29r8qvSCplkuZ6TPqpNXoX1dFF39hWpmcx9rNrTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739356096; a=rsa-sha256; cv=none; b=SwZ9upzymNj58MZTP/szDLZftuAbWPPS84riGFaOiGehbP7Mt8idaCrBmPcjyRZy392Meo dnVibpLVB5WjLAQD01/hQf+hqEoswa3eibMX1J5F/5ygZwEJH4zj43pjOuwn23LYUhXBvM Y8IDCJ2J3Gp9nTWdoZD3R/HCJAW0yvUNebGGJ6Tx+1IlEDq7bSkNp7lJ9+KDBUtbu7fUEj a8Ms9OtEZaeOB7rRuXfsQ/HmqQkW3omVE8+jZx4SsOvyL50HxZFuU7MiDtrneM+eQHyXPP FQj7/EAWlh78ise+Wmna2Fzf6xb+PMwhWIptrZ1IJTsqdmH/mRa6YD6fdAFUcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtDzh3Ht8zvxg; Wed, 12 Feb 2025 10:28: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 51CASG8V031149; Wed, 12 Feb 2025 10:28:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CASGPT031146; Wed, 12 Feb 2025 10:28:16 GMT (envelope-from git) Date: Wed, 12 Feb 2025 10:28:16 GMT Message-Id: <202502121028.51CASGPT031146@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: dc167e64dce3 - stable/13 - icmp6: make icmp6_ratelimit() responsible to update the stats counter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dc167e64dce3ffc212e4f7a2268587abcc22c036 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=dc167e64dce3ffc212e4f7a2268587abcc22c036 commit dc167e64dce3ffc212e4f7a2268587abcc22c036 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 10:27:12 +0000 icmp6: make icmp6_ratelimit() responsible to update the stats counter Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D44479 (cherry picked from commit c6c96aaba8dd74eb39469ed156ff19cc31d599b7) --- sys/netinet6/icmp6.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index d49c3856be1a..258f4bed794e 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -346,10 +346,8 @@ icmp6_error(struct mbuf *m, int type, int code, int param) } /* Finally, do rate limitation check. */ - if (icmp6_ratelimit(&oip6->ip6_src, type, code)) { - ICMP6STAT_INC(icp6s_toofreq); + if (icmp6_ratelimit(&oip6->ip6_src, type, code)) goto freeit; - } /* * OK, ICMP6 can be generated. @@ -2799,6 +2797,7 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, V_icmp6errppslim)) { /* The packet is subject to rate limit */ ret++; + ICMP6STAT_INC(icp6s_toofreq); } return ret; From nobody Wed Feb 12 10:29:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtF0r3VVTz5mXdw; Wed, 12 Feb 2025 10:29:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtF0r2T3hz3bDb; Wed, 12 Feb 2025 10:29:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739356156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ChI5iIiL6afG7+xjsJuTqXOVNnC5mxkrDXMDVeC2uFk=; b=LEf9YsN6aIUXaZVWGC8+pfl3vZ3kt69Rvl2bxu23ELQ7da1f8YEHIYOlIcxXh6zJLGKqX+ PI2d2D7e0hDliBuNg6r0L98Q1yt3VvpopelvTSPe/zeAFMf1dt+ElEDVGJYJGK32mNYh7L jq/4Y+3fgHR+DaQCy1e8SAS0PJH23dtWCWhlGrcbf8hbsBKOg5gR0do1H/mZ0ULVRYhaxR Y3L4m9rGY7IFn+AxZZZED74iAW0DchujaA8JJo4d0/+Bc0bnQ3QwOVMTpLRJh9h7s2C8d3 jv8Lc/8oqeTS3by+04FQHVBEs+uGRdGUrxR0ql9hytOZLqaUeB1LBaTHu36bCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739356156; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ChI5iIiL6afG7+xjsJuTqXOVNnC5mxkrDXMDVeC2uFk=; b=p0YjU7BUQs0Wj5zfwqrvKf6U1tQju12op+70zzQg5PPo7GQgfwnCCFZN70/IphWhR3GyCE 1TzZajlgAGooiTYwpnyrCqIjHwyvy0nOFm+rzoHGiqFZ6qpnoHYXL6XzSdn5Dw5BMw8yWK XaGTDKofQZ1QrojBHPk1L3LqIsd3qbpbImbOdEUIy9///sUEQ1FGkKNcY1kdv/bUz1hSma 28ysqh00Ufq9jXxa3k1zVALWSuzfZYrxb+MSAxeDNQgJQV5ZTRoNxTBwnmrx7QkxoiY46B scHexGbdNsRjzFdxUexobxlm53n/OPBs0pmQQl0Bjtk5aonBKgtcke+69Aqw5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739356156; a=rsa-sha256; cv=none; b=H3mLiMFUWiv6haMPJTE822lw5wB3qhbiwfAQETsspTFEhA2iZQJki7un8GhELZ8yAfsZd6 K9gCsOCvvD+PW4fMNJWTiZwEmDdkqk6t+2RJowLe3+94GMhWLSRBOP5u5BWY1XUX+v8dvG bs3GporvhOWAzNCsPiUnYQ9f6gfR/FsxFaPCeKEWe5PkJ0VBA/qUvtLrOeKwjP0uvDc/O2 qwa4iqqrY43QAV7G//CL+N5O6+fU0rAo+R3Cu/rUw9UKUomzWCE5cqlOBSM3cZgaSFL9Dd AXkzfHqUJCV5Kooh/CdpRMBvTgJ8/Q6DGZGjwLuhz9zDsiEFIYbYvOYIC2QC9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtF0r219KzvyB; Wed, 12 Feb 2025 10:29: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 51CATG6t031554; Wed, 12 Feb 2025 10:29:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CATGhq031551; Wed, 12 Feb 2025 10:29:16 GMT (envelope-from git) Date: Wed, 12 Feb 2025 10:29:16 GMT Message-Id: <202502121029.51CATGhq031551@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: 90ecc3fc679d - stable/13 - icmp6: rate limit our echo replies List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 90ecc3fc679d1df50772327d80e0d28f59e584af Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=90ecc3fc679d1df50772327d80e0d28f59e584af commit 90ecc3fc679d1df50772327d80e0d28f59e584af Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 10:28:44 +0000 icmp6: rate limit our echo replies The generation of ICMP6_ECHO_REPLY bypasses icmp6_error(), thus rate limit was not applied. Reviewed by: tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44480 (cherry picked from commit 32aeee8ce7e72738fff236ccd5629d55035458f8) --- sys/netinet6/icmp6.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 258f4bed794e..09cb893b57fe 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -536,6 +536,8 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) icmp6_ifstat_inc(ifp, ifs6_in_echo); if (code != 0) goto badcode; + if (icmp6_ratelimit(&ip6->ip6_src, ICMP6_ECHO_REPLY, 0)) + break; if ((n = m_copym(m, 0, M_COPYALL, M_NOWAIT)) == NULL) { /* Give up remote */ break; From nobody Wed Feb 12 14:02:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtKlC41lkz5mqVX; Wed, 12 Feb 2025 14:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtKlC3NhFz3v2y; Wed, 12 Feb 2025 14:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739368967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d1pr2SwlRz1nUQ68dXLYIjw8D0HyJDS7YG7YlmZVyx8=; b=wEkreFYMujh6GPAmnteN9XJPqLNDrlhYyC2sQW+zw3atCFuOTAoE0Q7w66MD0EfmMgfp4/ JFEUPIsxRL9diF8wxuPuE0FqZfY3w9INpCPjABLW8+5KQzX23qFDRtpiaDKI4ZWxYlov/B ohZs5TQ6xAh5pBYWolkwAovfGAyhT6/CvXCM8QJ8MhvcmHJzNcb0o/Wit/sjzXM4i5rhvJ tae6Uy+zN4lCWNlD5caM1zbqO4vBe2SNjjZyOr8U9/FpdRaBZW+fWejUtOsgs1vmzTEUTC SOpeFM835/RFvpHSTMd/BpxlC3MxO0P3x8reoNaRZxdEFUBIuKFU44oR8C41vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739368967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d1pr2SwlRz1nUQ68dXLYIjw8D0HyJDS7YG7YlmZVyx8=; b=x4eUAsV5uvs8XEKdmRxxftgH5ZBOTu+GYCmEWJc12n3hFzaBwsXtlxDugfKv8Aw+SRwSXI QZ2yEnWHESWeA/KRXFSs12W9AzViFvYmQXCUhJsuTg0IMi9Eh3xzyyECSelJpHQDV3pK+D Trd4BljZPQvh2gGrfD8sAwOvZQjZGHmtB1hPRsIb1eSZ3REFO+3YJfeT3zk3Tqb2ySaVSY qkJROKF9T1+GADKyyA2ztyng6RCwpY+bKl7jiXthZGEb76VFf6WTqLIxBfoRihJNWNlKsa yyxUulDSefI5A/cZEV1EkGjHrR6SvmuDu3eU+vJvxOZF0VtuJ1/8R3tb8/7y4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739368967; a=rsa-sha256; cv=none; b=ipcG7eHwBMbB14JQ/6TQHRKYDC1urzF6vCXNKQnDmLWwPyp+awsNY3YX9qDCIdRuyekmwA /Q5S9B2RD9xaWCOaGX06tV79ujyD9zGdIb4z5eLej+6qmcaOuqPcMHPdSxXg/odVBbEm4A 0rU2hN+5/+gA1CN2IWmQHoPWzSVb5E5JaRjRLFKwe4AtyFz95xunohLlD/kFZRDXHnnsIf G606rHbyGFHnk3GHER4wwzx35kmtfGDUcBgC9cbV8pzxD3G67fGqVbnmP43CGcHW3ieJaE MRzJRda2BRA74p2UclKO6Y/f02tN38+93jm2ykmwWJc8GVn33qNK9WpUTmijLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtKlC2w2Hz11s5; Wed, 12 Feb 2025 14:02: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 51CE2lZI041493; Wed, 12 Feb 2025 14:02:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CE2l6P041488; Wed, 12 Feb 2025 14:02:47 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:02:47 GMT Message-Id: <202502121402.51CE2l6P041488@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: 1cc0ac5ef37e - stable/13 - icmp6: bring rate limiting on a par with IPv4 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1cc0ac5ef37e134c26d93d4544633b458e46aa78 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1cc0ac5ef37e134c26d93d4544633b458e46aa78 commit 1cc0ac5ef37e134c26d93d4544633b458e46aa78 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 14:02:01 +0000 icmp6: bring rate limiting on a par with IPv4 Use counter_ratecheck() instead of racy and slow ppsratecheck. Use a separate counter for every currently known type of ICMPv6. Provide logging of ratelimit events. Provide jitter to counter open UDP port detection. With minor tweaks from tuexen@ to fix merge problems. Reviewed by: tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44482 (cherry picked from commit a03aff88a14448c3084a0384082ec996d7213897) --- sys/netinet6/icmp6.c | 181 ++++++++++++++++++++++++++++++++++++++++++----- sys/netinet6/in6_proto.c | 4 -- 2 files changed, 164 insertions(+), 21 deletions(-) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 09cb893b57fe..e1b0196fc62b 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -123,16 +123,10 @@ VNET_PCPUSTAT_SYSUNINIT(icmp6stat); VNET_DECLARE(struct inpcbinfo, ripcbinfo); VNET_DECLARE(struct inpcbhead, ripcb); -VNET_DECLARE(int, icmp6errppslim); -VNET_DEFINE_STATIC(int, icmp6errpps_count) = 0; -VNET_DEFINE_STATIC(struct timeval, icmp6errppslim_last); VNET_DECLARE(int, icmp6_nodeinfo); #define V_ripcbinfo VNET(ripcbinfo) #define V_ripcb VNET(ripcb) -#define V_icmp6errppslim VNET(icmp6errppslim) -#define V_icmp6errpps_count VNET(icmp6errpps_count) -#define V_icmp6errppslim_last VNET(icmp6errppslim_last) #define V_icmp6_nodeinfo VNET(icmp6_nodeinfo) static void icmp6_errcount(int, int); @@ -2774,6 +2768,128 @@ icmp6_ctloutput(struct socket *so, struct sockopt *sopt) return (error); } +SYSCTL_DECL(_net_inet6_icmp6); + +static int sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS); +VNET_DEFINE_STATIC(u_int, icmp6errppslim) = 100; +#define V_icmp6errppslim VNET(icmp6errppslim) +SYSCTL_PROC(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, + CTLTYPE_UINT | CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Maximum number of ICMPv6 error/reply messages per second"); + +VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter) = 0; +#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) + +VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; +#define V_icmp6lim_jitter VNET(icmp6lim_jitter) +SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Random errppslimit jitter adjustment limit"); + +VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; +#define V_icmp6lim_output VNET(icmp6lim_output) +SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, + "Enable logging of ICMPv6 response rate limiting"); + +typedef enum { + RATELIM_PARAM_PROB = 0, + RATELIM_TOO_BIG, + RATELIM_UNREACH, + RATELIM_TEXCEED, + RATELIM_REDIR, + RATELIM_REPLY, + RATELIM_OTHER, + RATELIM_MAX +} ratelim_which; + +static const char *icmp6_rate_descrs[RATELIM_MAX] = { + [RATELIM_PARAM_PROB] = "bad IPv6 header", + [RATELIM_TOO_BIG] = "packet too big", + [RATELIM_UNREACH] = "destination unreachable", + [RATELIM_TEXCEED] = "time exceeded", + [RATELIM_REPLY] = "echo reply", + [RATELIM_REDIR] = "neighbor discovery redirect", + [RATELIM_OTHER] = "(other)", +}; + +static void +icmp6lim_new_jitter(void) +{ + /* + * Adjust limit +/- to jitter the measurement to deny a side-channel + * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 + */ + if (V_icmp6lim_jitter > 0) + V_icmp6lim_curr_jitter = + arc4random_uniform(V_icmp6lim_jitter * 2 + 1) - + V_icmp6lim_jitter; +} + +static int +sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) +{ + uint32_t new; + int error; + bool lim; + + MPASS(oidp->oid_arg1 == &VNET_NAME(icmp6errppslim) || + oidp->oid_arg1 == &VNET_NAME(icmp6lim_jitter)); + + lim = (oidp->oid_arg1 == &VNET_NAME(icmp6errppslim)); + new = lim ? V_icmp6errppslim : V_icmp6lim_jitter; + error = sysctl_handle_int(oidp, &new, 0, req); + if (error == 0 && req->newptr) { + if (lim) { + if (new <= V_icmp6lim_jitter) + error = EINVAL; + else + V_icmp6errppslim = new; + } else { + if (new >= V_icmp6errppslim) + error = EINVAL; + else { + V_icmp6lim_jitter = new; + icmp6lim_new_jitter(); + } + } + } + MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter > 0); + + return (error); +} + + +VNET_DEFINE_STATIC(struct counter_rate, icmp6_rates[RATELIM_MAX]); +#define V_icmp6_rates VNET(icmp6_rates) + +static void +icmp6_ratelimit_init(void) +{ + + for (int i = 0; i < RATELIM_MAX; i++) { + V_icmp6_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); + V_icmp6_rates[i].cr_ticks = ticks; + } + icmp6lim_new_jitter(); +} +VNET_SYSINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, + icmp6_ratelimit_init, NULL); + +#ifdef VIMAGE +static void +icmp6_ratelimit_uninit(void) +{ + + for (int i = 0; i < RATELIM_MAX; i++) + counter_u64_free(V_icmp6_rates[i].cr_rate); +} +VNET_SYSUNINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, + icmp6_ratelimit_uninit, NULL); +#endif + /* * Perform rate limit check. * Returns 0 if it is okay to send the icmp6 packet. @@ -2783,24 +2899,55 @@ icmp6_ctloutput(struct socket *so, struct sockopt *sopt) * XXX per-destination/type check necessary? * * dst - not used at this moment - * type - not used at this moment * code - not used at this moment */ static int -icmp6_ratelimit(const struct in6_addr *dst, const int type, - const int code) +icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) { - int ret; + ratelim_which which; + int64_t pps; - ret = 0; /* okay to send */ + if (V_icmp6errppslim == 0) + return (0); - /* PPS limit */ - if (!ppsratecheck(&V_icmp6errppslim_last, &V_icmp6errpps_count, - V_icmp6errppslim)) { - /* The packet is subject to rate limit */ - ret++; + switch (type) { + case ICMP6_PARAM_PROB: + which = RATELIM_PARAM_PROB; + break; + case ICMP6_PACKET_TOO_BIG: + which = RATELIM_TOO_BIG; + break; + case ICMP6_DST_UNREACH: + which = RATELIM_UNREACH; + break; + case ICMP6_TIME_EXCEEDED: + which = RATELIM_TEXCEED; + break; + case ND_REDIRECT: + which = RATELIM_REDIR; + break; + case ICMP6_ECHO_REPLY: + which = RATELIM_REPLY; + break; + default: + which = RATELIM_OTHER; + break; + }; + + pps = counter_ratecheck(&V_icmp6_rates[which], V_icmp6errppslim + + V_icmp6lim_curr_jitter); + if (pps > 0) { + if (V_icmp6lim_output) + log(LOG_NOTICE, "Limiting ICMPv6 %s output from %jd " + "to %d packets/sec\n", icmp6_rate_descrs[which], + (intmax_t )pps, V_icmp6errppslim + + V_icmp6lim_curr_jitter); + icmp6lim_new_jitter(); + } + if (pps == -1) { ICMP6STAT_INC(icp6s_toofreq); + return (-1); } - return ret; + return (0); } diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c index cfa368e7f7b0..0416d938995f 100644 --- a/sys/netinet6/in6_proto.c +++ b/sys/netinet6/in6_proto.c @@ -409,7 +409,6 @@ VNET_DEFINE(int, pmtu_probe) = 60*2; /* ICMPV6 parameters */ VNET_DEFINE(int, icmp6_rediraccept) = 1;/* accept and process redirects */ VNET_DEFINE(int, icmp6_redirtimeout) = 10 * 60; /* 10 minutes */ -VNET_DEFINE(int, icmp6errppslim) = 100; /* 100pps */ /* control how to respond to NI queries */ VNET_DEFINE(int, icmp6_nodeinfo) = 0; VNET_DEFINE(int, icmp6_nodeinfo_oldmcprefix) = 1; @@ -592,9 +591,6 @@ SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO_OLDMCPREFIX, &VNET_NAME(icmp6_nodeinfo_oldmcprefix), 0, "Join old IPv6 NI group address in draft-ietf-ipngwg-icmp-name-lookup " "for compatibility with KAME implementation"); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0, - "Maximum number of ICMPv6 error messages per second"); SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, nd6_maxnudhint, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_maxnudhint), 0, ""); /* XXX unused */ From nobody Wed Feb 12 14:04:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtKnL71Qdz5mr05; Wed, 12 Feb 2025 14:04: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtKnL6JGsz3wMC; Wed, 12 Feb 2025 14:04:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MoBZMP4N/2zX8l/q0YS7FDe3vTor5sE6xkARFrhssOw=; b=VPerrOkcybfEVP8/m9cM/xZM7qXJ6ynoECc+LBCap6rUrJ564H1l4iw4qp5TQg5oA/C7Qq V3LwkFt0KE1HLMXQ4uSmHq8Y0F/ceCwhDzxeb5mFqRtmnx2neTU44zt1K2tAkETOEUzDDn AemZbJzH7836leSFluWNU8LpLDJw/Hfv3A8zenk00wW7oVlI7WYF2U9nY+uVOji27RvYBG 5v1JXv2TCo0Fp2ezdQ8X9Xf/kBRnR6tBAhs4bFooplQgDXucBQsU7FP2TyaIkStduMfouX rQqf/6E5fTmlk7a0JzSZOghm3K9/zAp3kKgqBBoTAeddJrLMwa4fuSwEA7YiNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MoBZMP4N/2zX8l/q0YS7FDe3vTor5sE6xkARFrhssOw=; b=Rtosax2hiKc3KWBaMPqcUlJpf/QzhDYoZ4ubdcTKg6WKx1a9Miu/FtbEEOMNr1gz0HTIgO 7gEkqa18VFxtuzXZkQvpr5/KrF4OrrGQCOrfjPOXJOuFG7dnx8CZxg3LXM5jZKhKDiWuhE KC9sSGlwPiVs/XxLWtK7ABKPFM9vVssfqBqiwAq2PQQBcbycNYkdocnJPtEWoPfG52NtnQ Hhalg8OsUgftMK+YgS2EEWTVW9cFV2IkKz5wpHeSfnpzS0FVO1+E8O4mBWzgTxLASxVere Z88HGmCsuRoTfBUavZ8Mpf3yppLNvcoGkz4xuScYmp6yNnGK1RmRc+sbzhFI9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739369078; a=rsa-sha256; cv=none; b=VdqN50NPT2IfkfHdnosEdyYHi59qImJJvIuOYtyMy2HsTozvnCpya/mR/Nz3XvWFXBgKlV yNRAZollGfRO3VmZY8OG8Kj+UHTwJEMVevuROKRtLhyB9jyJQcpqPsR8VngsaSdlBZCMU4 OMXRHvanmvzerwD0XxNa7n4pCDc3nwPgyTVCmDiBOrgRyOGDJYFrI2qXsl2mUeFeQ63yXb SX5PWP4XCqZhP3IiZ+N/ygjVAvVtgNwaHyNQMe2HjcR4NFxEOTgz1iNRUCHbEGPXtyKRU9 /eBZBwqKSZBhoB0JiJBp4zZXiH93+Xq9Eqfwartc5/GG22v9VPSPn9er4SPyXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtKnL5dq9z11s7; Wed, 12 Feb 2025 14:04: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 51CE4cLU042157; Wed, 12 Feb 2025 14:04:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CE4cf7042154; Wed, 12 Feb 2025 14:04:38 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:04:38 GMT Message-Id: <202502121404.51CE4cf7042154@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: 0b29ef1e3fd5 - stable/13 - icmp: allow zero value for ICMP limits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0b29ef1e3fd57940704dd40a834f98649adbe46e Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=0b29ef1e3fd57940704dd40a834f98649adbe46e commit 0b29ef1e3fd57940704dd40a834f98649adbe46e Author: Gleb Smirnoff AuthorDate: 2024-03-25 02:52:03 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 14:03:22 +0000 icmp: allow zero value for ICMP limits Zero means limit is disabled, so the value doesn't need to be checked against jitter value. Fixes: ac44739fd834f51cacb26485a4140fd482e20150 Fixes: a03aff88a14448c3084a0384082ec996d7213897 (cherry picked from commit 4399e055ea610cdefa1470ad1ee614dd81ba5e56) --- sys/netinet/ip_icmp.c | 2 +- sys/netinet6/icmp6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 0d671033b67c..8ad6191f3097 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1129,7 +1129,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) error = sysctl_handle_int(oidp, &new, 0, req); if (error == 0 && req->newptr) { if (lim) { - if (new <= V_icmplim_jitter) + if (new != 0 && new <= V_icmplim_jitter) error = EINVAL; else V_icmplim = new; diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index e1b0196fc62b..646c73e8abf0 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2843,7 +2843,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) error = sysctl_handle_int(oidp, &new, 0, req); if (error == 0 && req->newptr) { if (lim) { - if (new <= V_icmp6lim_jitter) + if (new != 0 && new <= V_icmp6lim_jitter) error = EINVAL; else V_icmp6errppslim = new; From nobody Wed Feb 12 14:05:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtKpS4pD2z5mqr1; Wed, 12 Feb 2025 14:05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtKpS40hgz3wJ7; Wed, 12 Feb 2025 14:05:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZhLmNPOaRUV98hy4pIDAxi5uV3jptQdnTfNbRybPWU=; b=a+aQUZATGedPrEETGSPZbYIFF37lA30lMgWfqvMFFIzbY8XG+gKDasOWPsWXW+/OmrK8Sn 1XN1zTfcso0astBFFDzwb6K+UZ5d5haoEg1nTeSiJvrbobrtWoN0RK6HFmCDypH64kTqiC bo6UYp0jbGNfpeIr88nLIG3AaaWxcdigM2/31ADtgUBljTreCZNLnADLUT2TCt3Zg8QRoG IjpXUekCVRWNLce/sx2qENXPJVzzDRpeivPEFbkJ4qtluApjYFx5Nmb+DjNsXagS4S+0+A o+ik1yO1Gg+oYUIGGh5fdzX3Dedkf2FxobbayHS+g5M9fKzvtXruAL74ppvSjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZhLmNPOaRUV98hy4pIDAxi5uV3jptQdnTfNbRybPWU=; b=p58GWKx7iMlZlXfooTprFEjFEZhWTY5eOAHQI8BJCPDZWhXBhiYnEmU7JVnQMgGDB/TLfC RrohP32ktkPrtTnkTwKmIHiClQR/dvI02TdI9WgCZuyieDXJCmEUyw0uLgJwbDNtDaue0z UngX5dLNKQUOVlIyGbhDFZQrseFXE1Sq1u9506oPzFpCQAsh/HloXox9TO4AhwXQOSsiBC XDdjs0qYypObTBg2N/X6lXU6ORK3ljk+baTx4A+rsNosvN4K0uezSArjKxfaIYD3WJtp2n uJ/EERSXtFrzDZtv/dC+MH6XCxENgRwAt9JUb+YwWf2S7Iv3Y2AkEeRyfQRSgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739369136; a=rsa-sha256; cv=none; b=cz3iCU9oVhXPveQbuyfDVoM6cpDv9pJF2C+EZkvW0WQ6hRdmydBu8HLA1rGG0pDgmiZ9wM aGMINbid7VCqUKIVC23zLvh9bY7e/iVdu/3RnR3qqiMpJ0FZY7tG29fvfbLDP60TPFrK8n XC46BeV0VS3NqYllg1l43foCIhi7qoO4mRK4kqC0v0wHfmdjIsjhJcZdekj+deq+nBSB/y AWA/Hc6hfWSFLH+MgtG6TnDg1/ZKzghhR2Hzv37/v5FjrO3Z5eCqFYfD+erZbRHMXTEyfI /l5Lxm8VqNWBJUeQSMfTBWuqeLgfZUQ6wO78bNCs0Y/fcEv6SyfSOcLDtOwLAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtKpS3Kz4z129g; Wed, 12 Feb 2025 14:05: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 51CE5aD2042566; Wed, 12 Feb 2025 14:05:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CE5ag2042563; Wed, 12 Feb 2025 14:05:36 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:05:36 GMT Message-Id: <202502121405.51CE5ag2042563@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: 1b4561cf4b46 - stable/13 - icmp: correct the assertion that checks limit + jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1b4561cf4b46ffbbd8851aa40bd0402a6bba8906 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1b4561cf4b46ffbbd8851aa40bd0402a6bba8906 commit 1b4561cf4b46ffbbd8851aa40bd0402a6bba8906 Author: Gleb Smirnoff AuthorDate: 2024-04-08 23:54:19 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 14:05:14 +0000 icmp: correct the assertion that checks limit + jitter Fixes: 4399e055ea610cdefa1470ad1ee614dd81ba5e56 (cherry picked from commit f7c4d12bcd5bd7f7fbf6bf9fa601c47e7f97bc5f) --- sys/netinet/ip_icmp.c | 2 +- sys/netinet6/icmp6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 8ad6191f3097..67adc1245b60 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1142,7 +1142,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmplim + V_icmplim_curr_jitter > 0); + MPASS(V_icmplim + V_icmplim_curr_jitter >= 0); return (error); } diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 646c73e8abf0..a26348640cbc 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2856,7 +2856,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter > 0); + MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter >= 0); return (error); } From nobody Wed Feb 12 14:06:54 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtKqy4xmCz5mqny; Wed, 12 Feb 2025 14:06: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtKqy48dyz3wjV; Wed, 12 Feb 2025 14:06:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eYPlGQSE4rRQ5yuliroi6CDhD1wDJcKwEIizx66aEc8=; b=SqKBG6scexxn31vtAGvzzpST18hOsHKgXRgSu4Zj8dYQm3GjFa81GxB0PmH7b7Bi9KW3Be 6voWh0qnbmCYiOqfmV6GZSmMYyZgF0eDoHP7ojMoRvK1gvOL162yf2BYlkfOMUgTZJRUYq Re54mWPA/3NjQFVcxCwtblk+RO4gwqzsm2ZX+hclDbx17gIW4aqNxWLj9NlsO8jzZEaOrP 1OB+xlePrD9jHa5zy1bFZLeQoE/VySkUQEuKbfbkpFeahA0+pAYxsV8kdeg9AfVWIxRg1V b1CaEXnvJ3cVf32JHagOLatoaixV83MUNLmg2ZICAYYlIL/HexGc74H/vdAX1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eYPlGQSE4rRQ5yuliroi6CDhD1wDJcKwEIizx66aEc8=; b=tBXvXkSy5K7Ynybrr87qiU98NRVfvbenxsXe0I1/xUcrxN8WS2zuLzjl5n0+2PSpCoEcg3 e4OomQ+PlRYewMGABAyTvh/WI5td9HARZC+VJLJx0r6hK5MsmJRaG2ZcqSsT6Xa4zJpNsT Wku8oUxb+xhNq0nTJacHxb3UXc87Q7rsZ4fVkDKU5wGnCjkpczbud771QBTFCHLTjFSLOK aPkQAZ9NmsyKms2G+1d1csFSIc/6me9VP6JSg3+rQVgWnrPTDbHhae6Gcvb3m30tXJF3LO oKhcCP2YW6NYielR0vZvgRp5tVqPj2VFawnNQpVSXF0PPezLG/wVmMeXpmEnCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739369214; a=rsa-sha256; cv=none; b=O61i4UX/j04rb/397lnQDAnwjh8rFlWNfER4ARw7Y42LnEfUfsVx/gShbq2XW/755uIrGq YpJni3XmVqzEz6z64XOX3V/P8dBWiU+U2WE7iBaMvD/Yz3Q/Mskpk0uMi/diW7Pcc0Nba9 9rmzk4z+pV0jW/IekfPEjJkG3l0xV8TeSEiQNZi+M4hHfl3OmvAd63rHt5nz57/kWrkAai XJ7Q9tN2rdZ5FIIaGE3cFQNCgJdCIC9fXa9D+DnAVMUzhc83ZcXmAwobnUhhbZADMgpwfv 6WXE1/y39asy2sdKzKe93ZflT/V2EkcrPj0jGJhvWvMpbOJq3459q21GWw/rug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtKqy3bxKz129h; Wed, 12 Feb 2025 14:06: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 51CE6s58043053; Wed, 12 Feb 2025 14:06:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CE6ssA043050; Wed, 12 Feb 2025 14:06:54 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:06:54 GMT Message-Id: <202502121406.51CE6ssA043050@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: bd6a89a6c32a - stable/13 - icmp: improve INVARIANTS check List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bd6a89a6c32a0f5b08182ea06e625a6695f3fbb0 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=bd6a89a6c32a0f5b08182ea06e625a6695f3fbb0 commit bd6a89a6c32a0f5b08182ea06e625a6695f3fbb0 Author: Michael Tuexen AuthorDate: 2024-12-12 14:40:49 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 14:06:14 +0000 icmp: improve INVARIANTS check Actually check the conditions that are enforced by the error checking code instead of a condition which is * checking a number to be non-negative instead of positive * depending on a random number Perform the checks consistently for ICMPv4 and ICMPv6. Reviewed by: glebius, rrs, cc MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D48001 (cherry picked from commit c9febea3dc8ac8e308e8fc5a2e74dd0313fdc5d2) --- sys/netinet/ip_icmp.c | 2 +- sys/netinet6/icmp6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 67adc1245b60..f4b697f30eee 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1142,7 +1142,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmplim + V_icmplim_curr_jitter >= 0); + MPASS(V_icmplim == 0 || V_icmplim > V_icmplim_jitter); return (error); } diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index a26348640cbc..52430f9146ae 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2856,7 +2856,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter >= 0); + MPASS(V_icmp6errppslim == 0 || V_icmp6errppslim > V_icmp6lim_jitter); return (error); } From nobody Wed Feb 12 14:07:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtKrv2NPkz5mr7T; Wed, 12 Feb 2025 14:07: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtKrv1d2zz3wf2; Wed, 12 Feb 2025 14:07:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TJINoFWBaMPkb2vm8aymBUYPAEDUKNzrhI9+1mXW6Nc=; b=KsTT8+IfmLboQMNciEX5EsEQ1K2fzgEQI1g1EJsq3PSNq+H989h79kW59gptaDytlvG2KF Eae92mXzgZzZRkKMGIdgc7jGz9/lk2fHXJzzVT4XQGPU6nnuPwieQL+v1V8wIzA8GUrOyD OUFofgrQ2unFoV1mAX3VzZvppMTxHy2KJng4pGvdxelXwO6Wo4XeqcK4S5UoiUM7SK+HdJ apvu86crNO4PGgTY0Ilpa42Y8xmeeve7loaMsP0aaImDjA9edAU9XkO5vTTtoaiRjwz2Ev EW4JQbNMZZzdmJxmKp8YvCnYOqH3B66prqklLKcNCMtxpyzXtyVbOuDD1C++Wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739369263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TJINoFWBaMPkb2vm8aymBUYPAEDUKNzrhI9+1mXW6Nc=; b=dRRbNs4rnGnu1AgeIeeroQYrv1IowD8x6Ef08eirj/cyU3+8I7AcAZFbdYmex8AtGaUeER YpSIBKrZ8wp99KvwtUts2wvHyX2GCXqJWTyP9Sy1jOvEM05mROOKIkjSU0W5npLgFyiX/o +8O6YPxzDQNjXUFtTuToeBKsON4U63m1iMgkjpR+PHKiFibJQjekeM1kMTIE4l+F48CROp LMOJA4t+2l2LPlraGeA9FzGkXnl+hPb7mqemuuGQd2ERAGnylcPpRHtmgZ8dxiZoXkKjJQ W8it55GgULfJAqEo3y3X5VFtQRFqWMDgo2vaATSk/qmg/zai5d/zyTT7UAEbdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739369263; a=rsa-sha256; cv=none; b=RMhntkSxVcacCNSM8UpSDPwaHTXRVVdf9BNSylg2TOTFaEkgBObmX7krUb81prKc7lg0TE YypTUQyv517ENSeff0XoOadgAv/TdKCRCeEVFOWVk4XXrwEPLWiMq9apnaJhOYU3jJ5QEH Qk4l3r1EFnPpIlBSU6T7LtlW1mjpN5zTABAmAoU8Wza+OV2fN8V1yKNe0HPz/MSAXd8bl5 09ghbBN/GQF3/0pHQN4GbBYmQHrU1USex3dB9LiN0sD2BZkQqt5H3wPgfBrEWPCEOJ7xnD T/P0FPXFEPuDwndJWssi/VhAO1vK3Nuy0ucQT9kMCop7DAy5pomITb38xptBzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtKrv1669z12Wp; Wed, 12 Feb 2025 14:07: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 51CE7hE2043397; Wed, 12 Feb 2025 14:07:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CE7hv0043394; Wed, 12 Feb 2025 14:07:43 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:07:43 GMT Message-Id: <202502121407.51CE7hv0043394@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: e1dd07ede923 - stable/13 - icmp: use per rate limit randomized jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e1dd07ede92382bdcc52b3093e8f2ec5d9c88467 Auto-Submitted: auto-generated The branch stable/13 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=e1dd07ede92382bdcc52b3093e8f2ec5d9c88467 commit e1dd07ede92382bdcc52b3093e8f2ec5d9c88467 Author: Michael Tuexen AuthorDate: 2025-02-10 21:16:20 +0000 Commit: Michael Tuexen CommitDate: 2025-02-12 14:07:19 +0000 icmp: use per rate limit randomized jitter Using the same random jitter for multiple rate limits allows an attacker to use one rate limiter to figure out the current jitter and then use this knowledge to de-randomize the other rate limiters. This can be mitigated by using a separate randomized jitter for each rate limiter. This issue was reported as issue number 10 in Keyu Man et al.: SCAD: Towards a Universal and Automated Network Side-Channel Vulnerability Detection Reviewed by: rrs, Peter Lei, glebius MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D48804 (cherry picked from commit 923c223f27e792e51ca13c476428adbbf6887551) --- sys/netinet/ip_icmp.c | 20 ++++++++++++-------- sys/netinet6/icmp6.c | 50 +++++++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index f4b697f30eee..417a86672d6f 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -89,7 +89,7 @@ SYSCTL_PROC(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLTYPE_UINT | &sysctl_icmplim_and_jitter, "IU", "Maximum number of ICMP responses per second"); -VNET_DEFINE_STATIC(int, icmplim_curr_jitter) = 0; +VNET_DEFINE_STATIC(int, icmplim_curr_jitter[BANDLIM_MAX]) = {0}; #define V_icmplim_curr_jitter VNET(icmplim_curr_jitter) VNET_DEFINE_STATIC(u_int, icmplim_jitter) = 16; #define V_icmplim_jitter VNET(icmplim_jitter) @@ -1102,14 +1102,16 @@ static const char *icmp_rate_descrs[BANDLIM_MAX] = { }; static void -icmplim_new_jitter(void) +icmplim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < BANDLIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmplim_jitter > 0) - V_icmplim_curr_jitter = + V_icmplim_curr_jitter[which] = arc4random_uniform(V_icmplim_jitter * 2 + 1) - V_icmplim_jitter; } @@ -1138,7 +1140,9 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmplim_jitter = new; - icmplim_new_jitter(); + for (int i = 0; i < BANDLIM_MAX; i++) { + icmplim_new_jitter(i); + } } } } @@ -1154,8 +1158,8 @@ icmp_bandlimit_init(void) for (int i = 0; i < BANDLIM_MAX; i++) { V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp_rates[i].cr_ticks = ticks; + icmplim_new_jitter(i); } - icmplim_new_jitter(); } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); @@ -1184,14 +1188,14 @@ badport_bandlim(int which) ("%s: which %d", __func__, which)); pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + - V_icmplim_curr_jitter); + V_icmplim_curr_jitter[which]); if (pps > 0) { if (V_icmplim_output) log(LOG_NOTICE, "Limiting %s response from %jd to %d packets/sec\n", icmp_rate_descrs[which], (intmax_t )pps, - V_icmplim + V_icmplim_curr_jitter); - icmplim_new_jitter(); + V_icmplim + V_icmplim_curr_jitter[which]); + icmplim_new_jitter(which); } if (pps == -1) return (-1); diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 52430f9146ae..dd0044734c4b 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2778,22 +2778,6 @@ SYSCTL_PROC(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, &sysctl_icmp6lim_and_jitter, "IU", "Maximum number of ICMPv6 error/reply messages per second"); -VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter) = 0; -#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) - -VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; -#define V_icmp6lim_jitter VNET(icmp6lim_jitter) -SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, - &sysctl_icmp6lim_and_jitter, "IU", - "Random errppslimit jitter adjustment limit"); - -VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; -#define V_icmp6lim_output VNET(icmp6lim_output) -SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, - "Enable logging of ICMPv6 response rate limiting"); - typedef enum { RATELIM_PARAM_PROB = 0, RATELIM_TOO_BIG, @@ -2815,15 +2799,33 @@ static const char *icmp6_rate_descrs[RATELIM_MAX] = { [RATELIM_OTHER] = "(other)", }; +VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter[RATELIM_MAX]) = {0}; +#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) + +VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; +#define V_icmp6lim_jitter VNET(icmp6lim_jitter) +SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Random errppslimit jitter adjustment limit"); + +VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; +#define V_icmp6lim_output VNET(icmp6lim_output) +SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, + "Enable logging of ICMPv6 response rate limiting"); + static void -icmp6lim_new_jitter(void) +icmp6lim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < RATELIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmp6lim_jitter > 0) - V_icmp6lim_curr_jitter = + V_icmp6lim_curr_jitter[which] = arc4random_uniform(V_icmp6lim_jitter * 2 + 1) - V_icmp6lim_jitter; } @@ -2852,7 +2854,9 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmp6lim_jitter = new; - icmp6lim_new_jitter(); + for (int i = 0; i < RATELIM_MAX; i++) { + icmp6lim_new_jitter(i); + } } } } @@ -2872,8 +2876,8 @@ icmp6_ratelimit_init(void) for (int i = 0; i < RATELIM_MAX; i++) { V_icmp6_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp6_rates[i].cr_ticks = ticks; + icmp6lim_new_jitter(i); } - icmp6lim_new_jitter(); } VNET_SYSINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp6_ratelimit_init, NULL); @@ -2935,14 +2939,14 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) }; pps = counter_ratecheck(&V_icmp6_rates[which], V_icmp6errppslim + - V_icmp6lim_curr_jitter); + V_icmp6lim_curr_jitter[which]); if (pps > 0) { if (V_icmp6lim_output) log(LOG_NOTICE, "Limiting ICMPv6 %s output from %jd " "to %d packets/sec\n", icmp6_rate_descrs[which], (intmax_t )pps, V_icmp6errppslim + - V_icmp6lim_curr_jitter); - icmp6lim_new_jitter(); + V_icmp6lim_curr_jitter[which]); + icmp6lim_new_jitter(which); } if (pps == -1) { ICMP6STAT_INC(icp6s_toofreq); From nobody Wed Feb 12 14:44:47 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtLgh1BLkz5mtNR; Wed, 12 Feb 2025 14:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtLgh0VJsz44tg; Wed, 12 Feb 2025 14:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nMCYgqPwNG4JNT2edkzmqqg99GDEMphXgRe1QxKcN8M=; b=Ka4p/UIwjpe2d8iASMk4khmHTYLKAum2LTjtPtOjFAGZ1MD0xgc9ymQLWKJe13+ZCCtoLE nTmjGzhL+Y7o9wF0tuR1K1ibCRDbIjCPXKh6uDD11OJRPj5Uk1egVgghLu7E1EnZfkbQyj wGNp9hAhTXgIT8UEn0IhcduY8md/OOL+IM2tPywgBKDWARi/8KmFga7cVR8mPP9eB+2PWW VYNjXEPRpCRcvLS8Jy5+D0/D8EC66VyhGa0PIfBXaxxsvgKtVp8mg+12z8idKRHQH7AInA t8D3f7AaYelsDCdE78VCB5q/UvC1rE79pgeckzY0T/tRUUq/Dp/KdiekwBMbaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nMCYgqPwNG4JNT2edkzmqqg99GDEMphXgRe1QxKcN8M=; b=qRVEF06qA+qdDTi0nKhdxLpn0QApWr0OKvi/HVJXVUxeB2aGh7XgYmwd1ZlKHOuhSSUYgs amOMeVPap9LdCqrn/QuBIwe/cxlK4ym18u6g62JXOmQ+kUVdAMSW7raE3YyKoNLpAhYz8i hWRTo83iHiyEEiv2JPRD2mkXmEY9qdTHkSBTvEWRDX0nxEpQ54Jf42fkH9L/L1ejF8bg0O NdolewW8IaYS9WRpYl4JMcbBMxdek7yvWhzhT6GMaFfFG8VJ6iT+4UFBV8a9FIbj+cVLV4 YL4Un4vGhvdwbRuudx0tMtDhGKj1DlCjjKwe0hWNZCyiAkmmovam+F11kVAtOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739371488; a=rsa-sha256; cv=none; b=IBB0n2NLl43sdqOiquXacBDIorizhPDlrPfLQizsgTyb0WmDoSOTw0z+O7SeKeOCCbRGQ/ yEkFIoau1wXR8QN73ncjpU8eeGpDUoySorKDmkqQz+Fj0cfm6/lZwd69g0zExVrF2krjVl Sem8+K2sd1TXI/u2KKNgLnYVYXoKjy4u4ZvBjzjc/UFMj1lw8c2VcKwavYN7kv/2jcsJ4l aKCrh3kINXMYf4vGvOAEpGk79iGkAVq7lj/dH3v18VuE9zifwvuQlWAWRR93GrGvsphAQF 1TcWW6ZZeXIRBVAiH7dXg2D1YP47mnsCXFh6PTOSE8i4rOkcUAM5OwB1hfu2dA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtLgg6rVmz13Fy; Wed, 12 Feb 2025 14:44: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 51CEilo8016909; Wed, 12 Feb 2025 14:44:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CEiljl016906; Wed, 12 Feb 2025 14:44:47 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:44:47 GMT Message-Id: <202502121444.51CEiljl016906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 50f18a9b26c3 - main - netinet tests: Move import List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 50f18a9b26c3431848de94bd1217786dd695f6dd Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=50f18a9b26c3431848de94bd1217786dd695f6dd commit 50f18a9b26c3431848de94bd1217786dd695f6dd Author: Jose Luis Duran AuthorDate: 2025-02-12 14:38:09 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 14:38:09 +0000 netinet tests: Move import Move the import of 'Sniffer', which depends on scapy into the test so we don't try (and fail) to import it unless scapy is installed. Reviewed by: kp, emaste Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D48945 --- tests/sys/netinet/igmp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netinet/igmp.py b/tests/sys/netinet/igmp.py index b079c5d18664..4a4e67211bd7 100644 --- a/tests/sys/netinet/igmp.py +++ b/tests/sys/netinet/igmp.py @@ -36,7 +36,6 @@ logging.getLogger("scapy").setLevel(logging.CRITICAL) curdir = os.path.dirname(os.path.realpath(__file__)) netpfil_common = curdir + "/../netpfil/common" sys.path.append(netpfil_common) -from sniffer import Sniffer sc = None sp = None @@ -87,6 +86,7 @@ class TestIGMP(VnetTestTemplate): if1 = self.vnet.iface_alias_map["if1"] # Start a background sniff + from sniffer import Sniffer expected_pkt = { "type": "join", "group": "230.0.0.1" } sniffer = Sniffer(expected_pkt, check_igmpv3, if1.name, timeout=10) From nobody Wed Feb 12 14:44:48 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtLgj1QRpz5mtyq; Wed, 12 Feb 2025 14:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtLgj0CtQz44Zf; Wed, 12 Feb 2025 14:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGnmlOfY5LGPSaSPuOwCkDwQ4ps1fLicH+Yb3xnD3Zc=; b=mZjt81Jl61jMNNOk8EWW9vyeu+/bcOldgsGgPmTnH2jvbyqu1Bc3BY9Rpx5/hxpKd1e9vG c/sFqbbDoYT9t2RA8dGrqcGuv7ZBFYnYCF33q1jxACaSv58XOhoCc+E2Yhy7NTIVHtVu9X yyTm9fLoBqZqMkvQxdwu48PWeBh9X2Urnqoty3qifMuYKAguToL0/dm/1TTCSNbwtwiSy4 zcRcmAjAyY93TVjPEC/uaChO55I2rplZEvrja6frXnqyNEX2TcyFy20ecySbevucqOmYW7 XpnTYZ84aVu+/xUVaoLbE9WSw6C22uGicPIIBJyVJzVGeisG1aLIKbcGtE58UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGnmlOfY5LGPSaSPuOwCkDwQ4ps1fLicH+Yb3xnD3Zc=; b=gzg5HoeFmdkYcnUU1zhnDwWO+l9PCy4fiRY2uu13XiZriGWLhXwa7C2lOJ2K991MRPXiwr +cUJYTTmPOGW76G/9KSUt6bfdVbLbTl30qW+dXbR/eRbCYdOKcW6eu4FqiLmk00YbDEVCn YrIYlQIrs8WFSGGuXwWjxFMDq7/mY57aVhHLzPAf2oXLIKDat5mu/yjyo9x2DMSoHwXQJ9 LEbJv7ztJUib/7AbcOI9G/RLRfgxee/oQN4xdK02dIsJ5rfI/eWfvFvKG1ZTyzCPsvDjji YXMwEQVbHMRWPJQllYp0fSC3zKLcgb4rgO4PJaC4YgcuKvpxDtiwZEGbxldliQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739371489; a=rsa-sha256; cv=none; b=q86Sz8Lr35iz7AtcnxFJIQGHA018KB7nsiLWG94NpcCVheqdeZcKe+23QyFheNce7P6zDi owqsLl56cCui4LffC/eL/66BLHHKwty9KbIvjZwPe1PbXRdr+0k1kipN6MzdbRNbKzM0Ds ZSD/975nhRG17douyZrjganQalEnzFsLdxk3ncdwKn7zfZAuR+YGZnTTaQYRDutj66YHFz JzC7IUeqmclFmDDtE4X0xThrbcow5r0v5b6YdWHldb5aFZxJppww2V9lN50LdStJiKMYrL DdmgVmPXPFogoHm1MJ3sH75MXp64kG3gHhHNASq1jF1V8xKmwCySOT9ldhPrSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtLgh6v23z12Ym; Wed, 12 Feb 2025 14:44: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 51CEimkt016945; Wed, 12 Feb 2025 14:44:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CEim9L016942; Wed, 12 Feb 2025 14:44:48 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:44:48 GMT Message-Id: <202502121444.51CEim9L016942@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 65cc5af1cf88 - main - sys tests: Add scapy as a required program List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65cc5af1cf88ed124ab16091624e918faa61c7f2 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=65cc5af1cf88ed124ab16091624e918faa61c7f2 commit 65cc5af1cf88ed124ab16091624e918faa61c7f2 Author: Jose Luis Duran AuthorDate: 2025-02-12 14:38:44 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 14:40:43 +0000 sys tests: Add scapy as a required program These atf-python tests rely on scapy to run. Add it as a required program. Reported by: glebius, kp Reviewed by: kp Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48946 --- tests/sys/netinet/carp.py | 2 ++ tests/sys/netinet/igmp.py | 1 + tests/sys/netpfil/pf/frag6.py | 3 +++ tests/sys/netpfil/pf/icmp.py | 2 ++ tests/sys/netpfil/pf/nat64.py | 4 ++++ tests/sys/netpfil/pf/nat66.py | 2 ++ 6 files changed, 14 insertions(+) diff --git a/tests/sys/netinet/carp.py b/tests/sys/netinet/carp.py index 0db31e79ba84..e35c9470d035 100644 --- a/tests/sys/netinet/carp.py +++ b/tests/sys/netinet/carp.py @@ -39,6 +39,7 @@ class TestCarp(VnetTestTemplate): if p.src != "00:00:5e:00:01:01": raise + @pytest.mark.require_progs(["scapy"]) def test_source_mac(self): "Test carp packets source address" @@ -52,6 +53,7 @@ class TestCarp(VnetTestTemplate): self.check_carp_src_mac(carp_pkts) + @pytest.mark.require_progs(["scapy"]) def test_source_mac_vrrp(self): "Test VRRP packets source address" diff --git a/tests/sys/netinet/igmp.py b/tests/sys/netinet/igmp.py index 4a4e67211bd7..5d3b38cac38f 100644 --- a/tests/sys/netinet/igmp.py +++ b/tests/sys/netinet/igmp.py @@ -80,6 +80,7 @@ class TestIGMP(VnetTestTemplate): sp = _sp super().setup_method(method) + @pytest.mark.require_progs(["scapy"]) def test_igmp3_join_leave(self): "Test that we send the expected join/leave IGMPv2 messages" diff --git a/tests/sys/netpfil/pf/frag6.py b/tests/sys/netpfil/pf/frag6.py index f274fc28a3bf..108b53874d0b 100644 --- a/tests/sys/netpfil/pf/frag6.py +++ b/tests/sys/netpfil/pf/frag6.py @@ -43,6 +43,7 @@ class TestFrag6(VnetTestTemplate): return False @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_dup_frag_hdr(self): "Test packets with duplicate fragment headers" srv_vnet = self.vnet_map["vnet2"] @@ -64,6 +65,7 @@ class TestFrag6(VnetTestTemplate): assert not p.getlayer(sp.ICMPv6EchoReply) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_overlong(self): "Test overly long fragmented packet" @@ -112,6 +114,7 @@ class TestFrag6_Overlap(VnetTestTemplate): ]) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_overlap(self): "Ensure we discard packets with overlapping fragments" diff --git a/tests/sys/netpfil/pf/icmp.py b/tests/sys/netpfil/pf/icmp.py index e54f9f20a058..6ab649f62be7 100644 --- a/tests/sys/netpfil/pf/icmp.py +++ b/tests/sys/netpfil/pf/icmp.py @@ -86,6 +86,7 @@ class TestICMP(VnetTestTemplate): vnet.pipe.send("Got ICMP destination unreachable packet") @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_inner_match(self): vnet = self.vnet_map["vnet1"] dst_vnet = self.vnet_map["vnet3"] @@ -160,6 +161,7 @@ class TestICMP(VnetTestTemplate): return @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_fragmentation_needed(self): ToolsHelper.print_output("/sbin/route add default 192.0.2.1") diff --git a/tests/sys/netpfil/pf/nat64.py b/tests/sys/netpfil/pf/nat64.py index 64ec5ae15262..070b7a82e6d9 100644 --- a/tests/sys/netpfil/pf/nat64.py +++ b/tests/sys/netpfil/pf/nat64.py @@ -93,6 +93,7 @@ class TestNAT64(VnetTestTemplate): "pass in on %s inet6 af-to inet from 192.0.2.1" % ifname]) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_tcp_rst(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") @@ -126,6 +127,7 @@ class TestNAT64(VnetTestTemplate): assert "A" in tcp.flags @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_udp_port_closed(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") @@ -147,6 +149,7 @@ class TestNAT64(VnetTestTemplate): assert udp.dport == 1222 @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_address_unreachable(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") @@ -172,6 +175,7 @@ class TestNAT64(VnetTestTemplate): assert ip6.hlim == 62 @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_udp_checksum(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") diff --git a/tests/sys/netpfil/pf/nat66.py b/tests/sys/netpfil/pf/nat66.py index 3a037ac710fc..f93512b5b99c 100644 --- a/tests/sys/netpfil/pf/nat66.py +++ b/tests/sys/netpfil/pf/nat66.py @@ -140,6 +140,7 @@ class TestNAT66(VnetTestTemplate): assert found @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_npt_icmp(self): cl_vnet = self.vnet_map["vnet1"] ifname = cl_vnet.iface_alias_map["if1"].name @@ -168,6 +169,7 @@ class TestNAT66(VnetTestTemplate): self.check_icmp_too_big(sp, 12000, 5000) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_npt_route_to_icmp(self): cl_vnet = self.vnet_map["vnet1"] ifname = cl_vnet.iface_alias_map["if1"].name From nobody Wed Feb 12 14:44:50 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtLgl04NNz5mtWP; Wed, 12 Feb 2025 14:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtLgk1RQjz44tl; Wed, 12 Feb 2025 14:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DIGhzcIY7WvRjnurcEIQSTEu5JAmhB53i1hb9MbybOA=; b=yzflqbuRQFM8tykYBpryVVtn9ZUod2Lt+ezLy68mp6gQAeMS3xFT9b6slIfN1yHgL/1AZu TnbzG4Xdy5L8JcvCHUueAcvvZnEbIlROZ2hU5uOrVznQ1UlBQc+6Hmh5ggm3a+00ETMvCb TXTIqgu5Ui4zX69ZPAvincCNWagxd7aRpoLasZ+x8gi4SoprVlbcGN8ZBY+JW1qZmiXjS9 rtXwv9E67O/Np0BYvh9V7A3dVED2lqLm0xBsMHFLiWw8/nlKdWgBaGx79CzdCyIMFkFdK4 igxABqe48tdiAehjOYGmuAHNkpDM5hH39etCiB1Bkn9q1WJ3OoF4txuCmimNAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DIGhzcIY7WvRjnurcEIQSTEu5JAmhB53i1hb9MbybOA=; b=s/OzHple2/3ocBAHO/YqLYySa1VE2+YgfX7luMUBGtAY1MkHEh3q4i/OEhf4uOKaYqKng6 oTR9bVuC2CdGwFnkrxdkHexBBrTMt4LAHAudqWhwu38IMveiDaDvMv670rFl2DcOANKuB+ HV00Qb9Pq/95QHpRvxCaNGVifizT74PblB+1WjHerb2OvvyfaQhFH1N/C7SavlXVTttNUn 6MVmuuiKu8+ROgaTaoMJXxXM8sTZMYAMneVZyKpCUSDrrprHroOSzwcHF+PLR6xWALs7rH gzwAF7xceNg9Qxfzd086mpjQqmbMM7Zacpe4MGVbPI0aX2o+t8SUXEQbCKvGPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739371490; a=rsa-sha256; cv=none; b=yfrcGc3n5yCGY6GMeJSKAfebLBav+z3Yt8OWB+P06cSqlr96AcfPIHy2HtYRuk3kYm6NmZ dKMEY73NN4Qf0LEEHJfu14FQU1muwGPMKN2SW0Bm6aTaxu9v1kIZvBNpy2fOnduyZW/Evt qh7+Pt7xK0GqjZ9Z3TgZbM2U2g3Bv8EyeYnk/YCORr5QXhb5zdtuDjlvJ06XRjQuk3PvDw nt6K+FA6WYNyyx4CwzUAQ2hfh5SBLCClZ/rqmrTlSPNLXOHNazUbHXalfGfOFhONjDbarr SxbtcoflXIae60b5Jfy7dH1KV/bUmzsB6NDphPcov3iybpe15aQ0SeK7Z0MILg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtLgk0x4kz13YV; Wed, 12 Feb 2025 14:44: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 51CEiob4016982; Wed, 12 Feb 2025 14:44:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CEioa0016979; Wed, 12 Feb 2025 14:44:50 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:44:50 GMT Message-Id: <202502121444.51CEioa0016979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 8d9c25c4e171 - main - syslogd: Fix tests when if_epair is not loaded List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8d9c25c4e1715e54b523cfd03bfb4c788b34ff57 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=8d9c25c4e1715e54b523cfd03bfb4c788b34ff57 commit 8d9c25c4e1715e54b523cfd03bfb4c788b34ff57 Author: Jose Luis Duran AuthorDate: 2025-02-12 14:42:09 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 14:42:09 +0000 syslogd: Fix tests when if_epair is not loaded Take a cue from vnet.subr and abstract module loading, jail creation and cleanup. Note that the way jails are created differs slightly from vnet.subr, to maintain the current style of the tests. Reported by: Jenkins Reviewed by: markj Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48949 --- usr.sbin/syslogd/tests/syslogd_test.sh | 23 +++++++------- usr.sbin/syslogd/tests/syslogd_test_common.sh | 43 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 11 deletions(-) diff --git a/usr.sbin/syslogd/tests/syslogd_test.sh b/usr.sbin/syslogd/tests/syslogd_test.sh index fd3d0c49c080..2d093dd80c35 100644 --- a/usr.sbin/syslogd/tests/syslogd_test.sh +++ b/usr.sbin/syslogd/tests/syslogd_test.sh @@ -323,7 +323,7 @@ jail_noinet_body() { local logfile - atf_check jail -c name=syslogd_noinet persist + syslogd_mkjail syslogd_noinet logfile="${PWD}/jail_noinet.log" printf "user.debug\t${logfile}\n" > "${SYSLOGD_CONFIG}" @@ -335,7 +335,7 @@ jail_noinet_body() } jail_noinet_cleanup() { - jail -r syslogd_noinet + syslogd_cleanup } # Create a pair of jails, connected by an epair. The idea is to run syslogd in @@ -344,10 +344,12 @@ jail_noinet_cleanup() # 169.254.0.2 or 169.254.0.3. allowed_peer_test_setup() { + syslogd_check_req epair + local epair - atf_check jail -c name=syslogd_allowed_peer vnet persist - atf_check jail -c name=syslogd_client vnet persist + syslogd_mkjail syslogd_allowed_peer vnet + syslogd_mkjail syslogd_client vnet atf_check -o save:epair ifconfig epair create epair=$(cat epair) @@ -364,9 +366,7 @@ allowed_peer_test_setup() allowed_peer_test_cleanup() { - jail -r syslogd_allowed_peer - jail -r syslogd_client - ifconfig $(cat epair) destroy + syslogd_cleanup } atf_test_case allowed_peer "cleanup" @@ -499,19 +499,21 @@ forward_head() } forward_body() { + syslogd_check_req epair + local epair logfile atf_check -o save:epair ifconfig epair create epair=$(cat epair) epair=${epair%%a} - atf_check jail -c name=syslogd_server vnet persist + syslogd_mkjail syslogd_server vnet atf_check ifconfig ${epair}a vnet syslogd_server atf_check jexec syslogd_server ifconfig ${epair}a inet 169.254.0.1/16 atf_check jexec syslogd_server ifconfig ${epair}a alias 169.254.0.2/16 atf_check jexec syslogd_server ifconfig lo0 inet 127.0.0.1/8 - atf_check jail -c name=syslogd_client vnet persist + syslogd_mkjail syslogd_client vnet atf_check ifconfig ${epair}b vnet syslogd_client atf_check jexec syslogd_client ifconfig ${epair}b inet 169.254.0.3/16 atf_check jexec syslogd_client ifconfig lo0 inet 127.0.0.1/8 @@ -545,8 +547,7 @@ __EOF__ } forward_cleanup() { - jail -r syslogd_server - jail -r syslogd_client + syslogd_cleanup } atf_init_test_cases() diff --git a/usr.sbin/syslogd/tests/syslogd_test_common.sh b/usr.sbin/syslogd/tests/syslogd_test_common.sh index 34099684a1c2..f06eb417d423 100644 --- a/usr.sbin/syslogd/tests/syslogd_test_common.sh +++ b/usr.sbin/syslogd/tests/syslogd_test_common.sh @@ -115,3 +115,46 @@ syslogd_stop() rm -f "${pid_file}" "${socket_file}" "${privsocket_file}" fi } + +# Check required kernel module. +syslogd_check_req() +{ + type=$1 + + if kldstat -q -n if_${type}.ko; then + return + fi + + if ! kldload -n -q if_${type}; then + atf_skip "if_${type}.ko is required to run this test." + return + fi +} + +# Make a jail and save its name to the created_jails.lst file. +# Accepts a name and optional arguments. +syslogd_mkjail() +{ + jailname=$1 + shift + args=$* + + atf_check jail -c name=${jailname} ${args} persist + + echo $jailname >> created_jails.lst +} + +# Remove epair interfaces and jails. +syslogd_cleanup() +{ + if [ -f created_jails.lst ]; then + while read jailname; do + jail -r ${jailname} + done < created_jails.lst + rm created_jails.lst + fi + + if [ -f epair ]; then + ifconfig $(cat epair) destroy + fi +} From nobody Wed Feb 12 15:34:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtMmt5sXqz5myDd; Wed, 12 Feb 2025 15:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtMmt3SHlz49wF; Wed, 12 Feb 2025 15:34:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739374462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TBfAztdopyaWABupkTkTgXAWVsLje+mhmzEaWRo44k=; b=Agr7LXfKd7Rfj8kU77mDZqRQPDK8YxbSr9gpF25KjHHmDRW+PNyBftXuIRdacbu0xujFzT 4XZsLYQd+IahOis6O4ViJI3CqN5HJ9rMqBQDzjETdNHAxp1sPbWFWoC1wytDVApRLrFIOC JqHitDHmbhrht0qaa7JX1q13NVVkj8wG5ZtCjoOAK3e4a8cayrp1PF6/aS619qcq/Tru+/ +gHg8J7mhA6c6exjQ3pRNdBmm7rUgVrpzRcJ3iuCtN9la+YG7+B8axBu6HLHDO+4XXxEgK Ehz7DClTFDdDulFVvFA+chKd3n5tjQyN2nIN0kNrLZ+KSblU1k3Ir5r7lpbSzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739374462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TBfAztdopyaWABupkTkTgXAWVsLje+mhmzEaWRo44k=; b=gvQmcXyg8ujncMu5TX6UN6OCOqgOULr+osOmFtLIE7b+AjcRIfQ8WdeYNdq9BTW6xz6dYb EftWmNcXk8ZF9gyBoDt6JTkJyfjKAZGkIngMK22Hy6C5aS5oB2CR7yDnslAZYNA5gddfBd u18XN2y9JHZIDh7BfLh4uecxxaS8gtNLaK1lLA46fZVDm3G9FBz5YjGXg6Ko2zp/ihBUcD 77QAMDT2bL/g8qQpAN0JBZAsfWf3gGtVyz/q6yMjAhu7hWw45SMfHNh5qeqhT3PKijwv4M hVcWmSiX8pPmWjYJkFKL47jKrvN8vNB+ebATxVlyXxk0cCjMEuIQIQen+aLOyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739374462; a=rsa-sha256; cv=none; b=apAyT+fHra3c2adFWJQPa1Ec5CdSM6YeDj7/J1KrkDicanN4z3Pnp6DMheZvFM3FYKa96i CdOUgdlX9J3gIMe0DrMoxuzstP5v3GRoIsGqP+5PHUv+MhGqcTH1oVTOEFvxKnYsAIFMIG G0WL+EXAGbWnFPbx7g/b70VfOD4IQmG6YBnUyjB8KDCb88OnnZHp1djEj7zHAckpuD56MX S03TZX7u9VuPR4Yc3qBLuYXjNMsUeJXApmpSt56ltgaTOAOmfeIy7peIC1CuS6TsTstsx2 CQJdqeRbWtp0s3reqFJuZJoG4T7R3xJxy6o2dJLQdsI0ZX0/yb7vV8l8XmzQJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtMmt2rSQz14Zx; Wed, 12 Feb 2025 15:34: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 51CFYM4H010532; Wed, 12 Feb 2025 15:34:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CFYMaf010529; Wed, 12 Feb 2025 15:34:22 GMT (envelope-from git) Date: Wed, 12 Feb 2025 15:34:22 GMT Message-Id: <202502121534.51CFYMaf010529@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 4b77a9a80cf8 - main - uath: Avoid a NULL dereference List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b77a9a80cf8a9cba5607d8d8fa0742334dcf0f4 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=4b77a9a80cf8a9cba5607d8d8fa0742334dcf0f4 commit 4b77a9a80cf8a9cba5607d8d8fa0742334dcf0f4 Author: Jose Luis Duran AuthorDate: 2025-02-12 15:31:43 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 15:33:26 +0000 uath: Avoid a NULL dereference PR: 284643 Reviewed by: adrian Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48948 --- sys/dev/usb/wlan/if_uath.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/dev/usb/wlan/if_uath.c b/sys/dev/usb/wlan/if_uath.c index 32e3c0325c6e..10e3b50eaeb3 100644 --- a/sys/dev/usb/wlan/if_uath.c +++ b/sys/dev/usb/wlan/if_uath.c @@ -2308,10 +2308,12 @@ uath_cmdeof(struct uath_softc *sc, struct uath_cmd *cmd) __func__, dlen, sizeof(uint32_t)); return; } - /* XXX have submitter do this */ - /* copy answer into caller's supplied buffer */ - bcopy(hdr+1, cmd->odata, sizeof(uint32_t)); - cmd->olen = sizeof(uint32_t); + if (cmd->odata != NULL) { + /* XXX have submitter do this */ + /* copy answer into caller's supplied buffer */ + bcopy(hdr+1, cmd->odata, sizeof(uint32_t)); + cmd->olen = sizeof(uint32_t); + } wakeup_one(cmd); /* wake up caller */ break; From nobody Wed Feb 12 19:34:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT5v5sSFz5nGG7; Wed, 12 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5v5DTpz3Sws; Wed, 12 Feb 2025 19:34:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvtJrC9t5wW+sCeSxOwa8CiYisDUakYg1oI2mcsLvyQ=; b=pNMZlAr06o1tWWRwCuMqh+oTtIyWpGpgnGzRchlzubdebmN13fkWDoX7KpkpDftu2li6gu gWH284OYmPaqLMz1sj3muTq70sby13O1gl8zSRa3H2/p48iSGm0/l/C9kofbf3v0Ics7p0 t2r1LnpauyT8gUVYpCcQmSMjM+sL7PBu8AY730K4igywBN2BvQxeFbsDAj0A8TMaqPIpPE T+Opn/CRBxIlktuKKag/zUOKSqIUp93yeC20CwvoRekoXWhkf8du0jOvjpfXp6E1lVs97t 5TQCGS7pUoqeYjd6Mfd0ghgEJ4m0e8dtRdKTzaiHwh6dkOQykffOIULNPLEJOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvtJrC9t5wW+sCeSxOwa8CiYisDUakYg1oI2mcsLvyQ=; b=bf/mfgwRwHwfxw7+DrU/o774m+b/AcjeRdNIICtnnwxJdkGl2zuJfSxH8CslBiEA2z2fQO bI09wtB+nzObfL7nEflzrk4ukB8q9WaJrNRYaP3Zn8TwvGYtloWnS+feyN9O7/ehmG5cAP uis3vSOlu2Nxn+4YX8Eqbqvzpi1j+SF7etsR1uL97WyHVjHU1/FA9/x+0dFwDlHy4sCi8t 7dA9wldbbcgCxqH3CuvvP0RDTzUybqbqEEkSfx1J81CDo9WkHeQkDeoXIMTSXndzU+PUtm 9p1fj8gPeCigZFZKYSjOt0WCNW4g5b9euoGJyieT5Pmx7a8t+MAua02ySDvenQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388867; a=rsa-sha256; cv=none; b=PifttiHK5BHgZ2mXPBwYa5xtFNHZyKFU4K4W3CW2xQ6c9ogLtdLGqJh4dKNKUTuJhLpLRq dCTuVYRt6wtcKRHH69EZrr4GbD4SCUHRvXTbNcGkzLICWO1vT2Zb4sOOxqwCTD2gk2DqtE rfY8foS4FYh4xNB4NpZkhfxMG25iuJvmruOjUq5Zq3ezmuMljca1WCIozuVyRfZ27lbxqJ KkGdqCXRUDLPnbempp6mvWx11nyN778pkUaditniYGc41vHdoYW76ZE3Y9VNG31o6UMcWH F3yGyD3pZiWylh6qU7HuK9i9ukl0EnUBwdcz7mcTgjWZ6wuF2cw1/MdTuhYitg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5v4pH9z1BFc; Wed, 12 Feb 2025 19:34: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 51CJYR4w059697; Wed, 12 Feb 2025 19:34:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYR0V059694; Wed, 12 Feb 2025 19:34:27 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:27 GMT Message-Id: <202502121934.51CJYR0V059694@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: ca8a23d6cb32 - main - ctld: Drop some #if 0'd debugging traces List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ca8a23d6cb32d8af18f3c249ed604c8db7c68d08 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ca8a23d6cb32d8af18f3c249ed604c8db7c68d08 commit ca8a23d6cb32d8af18f3c249ed604c8db7c68d08 Author: John Baldwin AuthorDate: 2025-02-12 19:25:22 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:25:22 +0000 ctld: Drop some #if 0'd debugging traces Suggested by: asomers Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48927 --- usr.sbin/ctld/kernel.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/usr.sbin/ctld/kernel.c b/usr.sbin/ctld/kernel.c index 7e9ef8ec42c2..5544bb79aeb2 100644 --- a/usr.sbin/ctld/kernel.c +++ b/usr.sbin/ctld/kernel.c @@ -543,10 +543,6 @@ retry_port: port->port_id, name); pp = pport_find(kports, name); if (pp == NULL) { -#if 0 - log_debugx("found new kernel port %u \"%s\"", - port->port_id, name); -#endif pp = pport_new(kports, name, port->port_id); if (pp == NULL) { log_warnx("pport_new failed"); @@ -563,10 +559,6 @@ retry_port: targ = target_find(conf, port->cfiscsi_target); if (targ == NULL) { -#if 0 - log_debugx("found new kernel target %s for CTL port %ld", - port->cfiscsi_target, port->port_id); -#endif targ = target_new(conf, port->cfiscsi_target); if (targ == NULL) { log_warnx("target_new failed"); @@ -578,10 +570,6 @@ retry_port: continue; pg = portal_group_find(conf, port->ctld_portal_group_name); if (pg == NULL) { -#if 0 - log_debugx("found new kernel portal group %s for CTL port %ld", - port->ctld_portal_group_name, port->port_id); -#endif pg = portal_group_new(conf, port->ctld_portal_group_name); if (pg == NULL) { log_warnx("portal_group_new failed"); From nobody Wed Feb 12 19:34:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT5x3Bxrz5nFjh; Wed, 12 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5w6pP2z3T0K; Wed, 12 Feb 2025 19:34:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RsQgd3VEohiZZbfJJntip49MSEydvE4CprgVpzKFJpI=; b=p+vEsSjWe8yAfrl1bMIPCRSZ7oII6bi1iaEZnufF4OAgpoMR8TwChk+9qo9yOQSuOp3PEk gQO0j6heRVJU3GuVH8f2S5yUNBFYwLV0qaeNl3vhDIKgDogzM5ZldIdB6AvKBNVQNxKfRe P/KPIPG3WWY/42HwIgrVgX8BN/DK+u8N8Bl3mRkGKYKBwwp8afI3/rEDASTMQVdC3BC50y OV2mv7l5/Ty6U4l3TEXeI0M7I1Y3OXp6P438hRxU3xGfhYidXARyxVGdxXmOQdFJOArBH4 WtF/RQ2cK5/OHvX1s4d+yZII9xTqSR0fXguuZHCYDZJcMJaf0jFr93FK7CGODQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RsQgd3VEohiZZbfJJntip49MSEydvE4CprgVpzKFJpI=; b=EsTRS5ih5PqHkz9FrrkNRh0K8JC+cjaE88zIB9k/GMd7fy85js0saB4iyB8INf4Kp4EeJ7 3FzbgPImx4zCJJI6mAntg0o3oGC+vmxkewoPE8r1PNUifING8L4no+dpqlwviiI0vFpXMn 74uc79yYzh16SYad4znGEcwtKhtY786h7fyD9IZY5QQjvzPbYPCNEyiHCEjzkApkn2VPS0 J+5wF2Y1kI5Acr5Dl9zUhlpk39tXzkm8kI13c9Py3nGRnwMT1kbJvl+rkCmwZFr4/b5NxY txs7sMwLMP8OULecB6RH9DpS0GDNZXwDYTefBLau/3fLhncQbDdEEalhLhU9TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388868; a=rsa-sha256; cv=none; b=F5DGWiIORIguwKOJxFXxEEkKlBQqTnm3bVdbvuaXW46qibLbzEiyA/cVESeo1aO38mHVkC Lrd7B8WLXWsFUXYUb0Hu8i1psQemWQoY5zKfApgsU+u8gci0GkeXzw5/FR6938chAjRdTv FwdeJaZXxzaFTlyUEaJJQVOyfvzOSM8EsJF9pQ5bQlPP9PYOUPBgNMw+G6bFbHyZrfOPpX UjTgzz/Pj22gc8tMw2EO6jYHWEYDXVot0u2zW4hC8uRPODfjfixLxQCm90+k2jNkx38C5f dwZSaifzho9UxUwRgF0T361njv5SOxWXI/5Cu2j5yAL/pxyScq5XKeRGKcnZdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5w5pL8z1BV0; Wed, 12 Feb 2025 19:34: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 51CJYSja059730; Wed, 12 Feb 2025 19:34:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYSdK059727; Wed, 12 Feb 2025 19:34:28 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:28 GMT Message-Id: <202502121934.51CJYSdK059727@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 450a84c292ae - main - ctld: Some bool-related cleanups List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 450a84c292ae5c4195d38bc7f7204d0e1e455f20 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=450a84c292ae5c4195d38bc7f7204d0e1e455f20 commit 450a84c292ae5c4195d38bc7f7204d0e1e455f20 Author: John Baldwin AuthorDate: 2025-02-12 19:25:52 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:25:52 +0000 ctld: Some bool-related cleanups - Convert a few variables from int to bool - Return bool instead of inverted 0/1 from configuration parsing functions and the auth check functions - Invert the existing dont_daemonize bool into a daemonize boolx Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48928 --- usr.sbin/ctld/ctld.c | 131 ++++++++++++++++++++++------------------------ usr.sbin/ctld/ctld.h | 30 +++++------ usr.sbin/ctld/discovery.c | 4 +- usr.sbin/ctld/login.c | 4 +- usr.sbin/ctld/parse.y | 62 +++++++++++----------- usr.sbin/ctld/uclparse.c | 52 ++++++++---------- 6 files changed, 136 insertions(+), 147 deletions(-) diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index d0ba0522f8e2..a76db10999e1 100644 --- a/usr.sbin/ctld/ctld.c +++ b/usr.sbin/ctld/ctld.c @@ -340,16 +340,16 @@ auth_name_find(const struct auth_group *ag, const char *name) return (NULL); } -int +bool auth_name_check(const struct auth_group *ag, const char *initiator_name) { if (!auth_name_defined(ag)) - return (0); + return (true); if (auth_name_find(ag, initiator_name) == NULL) - return (1); + return (false); - return (0); + return (true); } const struct auth_portal * @@ -466,17 +466,17 @@ next: return (NULL); } -int +bool auth_portal_check(const struct auth_group *ag, const struct sockaddr_storage *sa) { if (!auth_portal_defined(ag)) - return (0); + return (true); if (auth_portal_find(ag, sa) == NULL) - return (1); + return (false); - return (0); + return (true); } struct auth_group * @@ -540,7 +540,7 @@ auth_group_find(const struct conf *conf, const char *name) return (NULL); } -int +bool auth_group_set_type(struct auth_group *ag, const char *str) { int type; @@ -560,7 +560,7 @@ auth_group_set_type(struct auth_group *ag, const char *str) else log_warnx("invalid auth-type \"%s\" for target " "\"%s\"", str, ag->ag_target->t_name); - return (1); + return (false); } if (ag->ag_type != AG_TYPE_UNKNOWN && ag->ag_type != type) { @@ -573,12 +573,12 @@ auth_group_set_type(struct auth_group *ag, const char *str) "\"%s\"; already has a different type", str, ag->ag_target->t_name); } - return (1); + return (false); } ag->ag_type = type; - return (0); + return (true); } static struct portal * @@ -722,7 +722,7 @@ parse_addr_port(char *arg, const char *def_port, struct addrinfo **ai) return ((error != 0) ? 1 : 0); } -int +bool portal_group_add_listen(struct portal_group *pg, const char *value, bool iser) { struct portal *portal; @@ -734,7 +734,7 @@ portal_group_add_listen(struct portal_group *pg, const char *value, bool iser) if (parse_addr_port(portal->p_listen, "3260", &portal->p_ai)) { log_warnx("invalid listen address %s", portal->p_listen); portal_delete(portal); - return (1); + return (false); } /* @@ -742,10 +742,10 @@ portal_group_add_listen(struct portal_group *pg, const char *value, bool iser) * those into multiple portals. */ - return (0); + return (true); } -int +bool isns_new(struct conf *conf, const char *addr) { struct isns *isns; @@ -760,7 +760,7 @@ isns_new(struct conf *conf, const char *addr) if (parse_addr_port(isns->i_addr, "3205", &isns->i_ai)) { log_warnx("invalid iSNS address %s", isns->i_addr); isns_delete(isns); - return (1); + return (false); } /* @@ -768,7 +768,7 @@ isns_new(struct conf *conf, const char *addr) * those into multiple servers. */ - return (0); + return (true); } void @@ -1007,7 +1007,7 @@ isns_deregister(struct isns *isns) set_timeout(0, false); } -int +bool portal_group_set_filter(struct portal_group *pg, const char *str) { int filter; @@ -1025,7 +1025,7 @@ portal_group_set_filter(struct portal_group *pg, const char *str) "\"%s\"; valid values are \"none\", \"portal\", " "\"portal-name\", and \"portal-name-auth\"", str, pg->pg_name); - return (1); + return (false); } if (pg->pg_discovery_filter != PG_FILTER_UNKNOWN && @@ -1033,15 +1033,15 @@ portal_group_set_filter(struct portal_group *pg, const char *str) log_warnx("cannot set discovery-filter to \"%s\" for " "portal-group \"%s\"; already has a different " "value", str, pg->pg_name); - return (1); + return (false); } pg->pg_discovery_filter = filter; - return (0); + return (true); } -int +bool portal_group_set_offload(struct portal_group *pg, const char *offload) { @@ -1049,15 +1049,15 @@ portal_group_set_offload(struct portal_group *pg, const char *offload) log_warnx("cannot set offload to \"%s\" for " "portal-group \"%s\"; already defined", offload, pg->pg_name); - return (1); + return (false); } pg->pg_offload = checked_strdup(offload); - return (0); + return (true); } -int +bool portal_group_set_redirection(struct portal_group *pg, const char *addr) { @@ -1065,12 +1065,12 @@ portal_group_set_redirection(struct portal_group *pg, const char *addr) log_warnx("cannot set redirection to \"%s\" for " "portal-group \"%s\"; already defined", addr, pg->pg_name); - return (1); + return (false); } pg->pg_redirection = checked_strdup(addr); - return (0); + return (true); } struct pport * @@ -1142,7 +1142,6 @@ port_new(struct conf *conf, struct target *target, struct portal_group *pg) log_err(1, "calloc"); port->p_conf = conf; port->p_name = name; - port->p_ioctl_port = 0; TAILQ_INSERT_TAIL(&conf->conf_ports, port, p_next); TAILQ_INSERT_TAIL(&target->t_ports, port, p_ts); port->p_target = target; @@ -1188,7 +1187,7 @@ port_new_ioctl(struct conf *conf, struct kports *kports, struct target *target, log_err(1, "calloc"); port->p_conf = conf; port->p_name = name; - port->p_ioctl_port = 1; + port->p_ioctl_port = true; port->p_ioctl_pp = pp; port->p_ioctl_vp = vp; TAILQ_INSERT_TAIL(&conf->conf_ports, port, p_next); @@ -1266,17 +1265,17 @@ port_delete(struct port *port) free(port); } -int +bool port_is_dummy(struct port *port) { if (port->p_portal_group) { if (port->p_portal_group->pg_foreign) - return (1); + return (true); if (TAILQ_EMPTY(&port->p_portal_group->pg_portals)) - return (1); + return (true); } - return (0); + return (false); } struct target * @@ -1340,7 +1339,7 @@ target_find(struct conf *conf, const char *name) return (NULL); } -int +bool target_set_redirection(struct target *target, const char *addr) { @@ -1348,12 +1347,12 @@ target_set_redirection(struct target *target, const char *addr) log_warnx("cannot set redirection to \"%s\" for " "target \"%s\"; already defined", addr, target->t_name); - return (1); + return (false); } target->t_redirection = checked_strdup(addr); - return (0); + return (true); } struct lun * @@ -1617,7 +1616,7 @@ conf_print(struct conf *conf) } #endif -static int +static bool conf_verify_lun(struct lun *lun) { const struct lun *lun2; @@ -1628,19 +1627,19 @@ conf_verify_lun(struct lun *lun) if (lun->l_path == NULL) { log_warnx("missing path for lun \"%s\"", lun->l_name); - return (1); + return (false); } } else if (strcmp(lun->l_backend, "ramdisk") == 0) { if (lun->l_size == 0) { log_warnx("missing size for ramdisk-backed lun \"%s\"", lun->l_name); - return (1); + return (false); } if (lun->l_path != NULL) { log_warnx("path must not be specified " "for ramdisk-backed lun \"%s\"", lun->l_name); - return (1); + return (false); } } if (lun->l_blocksize == 0) { @@ -1651,12 +1650,12 @@ conf_verify_lun(struct lun *lun) } else if (lun->l_blocksize < 0) { log_warnx("invalid blocksize for lun \"%s\"; " "must be larger than 0", lun->l_name); - return (1); + return (false); } if (lun->l_size != 0 && lun->l_size % lun->l_blocksize != 0) { log_warnx("invalid size for lun \"%s\"; " "must be multiple of blocksize", lun->l_name); - return (1); + return (false); } TAILQ_FOREACH(lun2, &lun->l_conf->conf_luns, l_next) { if (lun == lun2) @@ -1670,10 +1669,10 @@ conf_verify_lun(struct lun *lun) } } - return (0); + return (true); } -int +bool conf_verify(struct conf *conf) { struct auth_group *ag; @@ -1682,15 +1681,14 @@ conf_verify(struct conf *conf) struct target *targ; struct lun *lun; bool found; - int error, i; + int i; if (conf->conf_pidfile_path == NULL) conf->conf_pidfile_path = checked_strdup(DEFAULT_PIDFILE); TAILQ_FOREACH(lun, &conf->conf_luns, l_next) { - error = conf_verify_lun(lun); - if (error != 0) - return (error); + if (!conf_verify_lun(lun)) + return (false); } TAILQ_FOREACH(targ, &conf->conf_targets, t_next) { if (targ->t_auth_group == NULL) { @@ -1780,7 +1778,7 @@ conf_verify(struct conf *conf) } } - return (0); + return (true); } static bool @@ -2547,7 +2545,7 @@ conf_new_from_file(const char *path, bool ucl) struct conf *conf; struct auth_group *ag; struct portal_group *pg; - int error; + bool valid; log_debugx("obtaining configuration from %s", path); @@ -2568,11 +2566,11 @@ conf_new_from_file(const char *path, bool ucl) assert(pg != NULL); if (ucl) - error = uclparse_conf(conf, path); + valid = uclparse_conf(conf, path); else - error = parse_conf(conf, path); + valid = parse_conf(conf, path); - if (error != 0) { + if (!valid) { conf_delete(conf); return (NULL); } @@ -2598,8 +2596,7 @@ conf_new_from_file(const char *path, bool ucl) conf->conf_kernel_port_on = true; - error = conf_verify(conf); - if (error != 0) { + if (!conf_verify(conf)) { conf_delete(conf); return (NULL); } @@ -2611,7 +2608,7 @@ conf_new_from_file(const char *path, bool ucl) * If the config file specifies physical ports for any target, associate them * with the config file. If necessary, create them. */ -static int +static bool new_pports_from_conf(struct conf *conf, struct kports *kports) { struct target *targ; @@ -2629,7 +2626,7 @@ new_pports_from_conf(struct conf *conf, struct kports *kports) if (tp == NULL) { log_warnx("can't create new ioctl port " "for target \"%s\"", targ->t_name); - return (1); + return (false); } continue; @@ -2639,22 +2636,22 @@ new_pports_from_conf(struct conf *conf, struct kports *kports) if (pp == NULL) { log_warnx("unknown port \"%s\" for target \"%s\"", targ->t_pport, targ->t_name); - return (1); + return (false); } if (!TAILQ_EMPTY(&pp->pp_ports)) { log_warnx("can't link port \"%s\" to target \"%s\", " "port already linked to some target", targ->t_pport, targ->t_name); - return (1); + return (false); } tp = port_new_pp(conf, targ, pp); if (tp == NULL) { log_warnx("can't link port \"%s\" to target \"%s\"", targ->t_pport, targ->t_name); - return (1); + return (false); } } - return (0); + return (true); } int @@ -2666,14 +2663,14 @@ main(int argc, char **argv) const char *config_path = DEFAULT_CONFIG_PATH; int debug = 0, ch, error; pid_t otherpid; - bool dont_daemonize = false; + bool daemonize = true; bool test_config = false; bool use_ucl = false; while ((ch = getopt(argc, argv, "dtuf:R")) != -1) { switch (ch) { case 'd': - dont_daemonize = true; + daemonize = false; debug++; break; case 't': @@ -2734,10 +2731,10 @@ main(int argc, char **argv) newconf->conf_debug = debug; } - if (new_pports_from_conf(newconf, &kports)) + if (!new_pports_from_conf(newconf, &kports)) log_errx(1, "Error associating physical ports; exiting"); - if (dont_daemonize == false) { + if (daemonize) { log_debugx("daemonizing"); if (daemon(0, 0) == -1) { log_warn("cannot daemonize"); @@ -2767,7 +2764,7 @@ main(int argc, char **argv) set_timeout((newconf->conf_isns_period + 2) / 3, false); for (;;) { - main_loop(dont_daemonize); + main_loop(!daemonize); if (sighup_received) { sighup_received = false; log_debugx("received SIGHUP, reloading configuration"); diff --git a/usr.sbin/ctld/ctld.h b/usr.sbin/ctld/ctld.h index 241785199cda..18f102f86691 100644 --- a/usr.sbin/ctld/ctld.h +++ b/usr.sbin/ctld/ctld.h @@ -116,7 +116,7 @@ struct portal_group { char *pg_name; struct auth_group *pg_discovery_auth_group; int pg_discovery_filter; - int pg_foreign; + bool pg_foreign; bool pg_unassigned; TAILQ_HEAD(, portal) pg_portals; TAILQ_HEAD(, port) pg_ports; @@ -150,7 +150,7 @@ struct port { struct pport *p_pport; struct target *p_target; - int p_ioctl_port; + bool p_ioctl_port; int p_ioctl_pp; int p_ioctl_vp; uint32_t p_ctl_port; @@ -247,19 +247,19 @@ struct ctld_connection { extern int ctl_fd; -int parse_conf(struct conf *newconf, const char *path); -int uclparse_conf(struct conf *conf, const char *path); +bool parse_conf(struct conf *newconf, const char *path); +bool uclparse_conf(struct conf *conf, const char *path); struct conf *conf_new(void); struct conf *conf_new_from_kernel(struct kports *kports); void conf_delete(struct conf *conf); -int conf_verify(struct conf *conf); +bool conf_verify(struct conf *conf); struct auth_group *auth_group_new(struct conf *conf, const char *name); void auth_group_delete(struct auth_group *ag); struct auth_group *auth_group_find(const struct conf *conf, const char *name); -int auth_group_set_type(struct auth_group *ag, +bool auth_group_set_type(struct auth_group *ag, const char *type); const struct auth *auth_new_chap(struct auth_group *ag, @@ -275,7 +275,7 @@ const struct auth_name *auth_name_new(struct auth_group *ag, bool auth_name_defined(const struct auth_group *ag); const struct auth_name *auth_name_find(const struct auth_group *ag, const char *initiator_name); -int auth_name_check(const struct auth_group *ag, +bool auth_name_check(const struct auth_group *ag, const char *initiator_name); const struct auth_portal *auth_portal_new(struct auth_group *ag, @@ -283,23 +283,23 @@ const struct auth_portal *auth_portal_new(struct auth_group *ag, bool auth_portal_defined(const struct auth_group *ag); const struct auth_portal *auth_portal_find(const struct auth_group *ag, const struct sockaddr_storage *sa); -int auth_portal_check(const struct auth_group *ag, +bool auth_portal_check(const struct auth_group *ag, const struct sockaddr_storage *sa); struct portal_group *portal_group_new(struct conf *conf, const char *name); void portal_group_delete(struct portal_group *pg); struct portal_group *portal_group_find(const struct conf *conf, const char *name); -int portal_group_add_listen(struct portal_group *pg, +bool portal_group_add_listen(struct portal_group *pg, const char *listen, bool iser); -int portal_group_set_filter(struct portal_group *pg, +bool portal_group_set_filter(struct portal_group *pg, const char *filter); -int portal_group_set_offload(struct portal_group *pg, +bool portal_group_set_offload(struct portal_group *pg, const char *offload); -int portal_group_set_redirection(struct portal_group *pg, +bool portal_group_set_redirection(struct portal_group *pg, const char *addr); -int isns_new(struct conf *conf, const char *addr); +bool isns_new(struct conf *conf, const char *addr); void isns_delete(struct isns *is); void isns_register(struct isns *isns, struct isns *oldisns); void isns_check(struct isns *isns); @@ -323,13 +323,13 @@ struct port *port_find(const struct conf *conf, const char *name); struct port *port_find_in_pg(const struct portal_group *pg, const char *target); void port_delete(struct port *port); -int port_is_dummy(struct port *port); +bool port_is_dummy(struct port *port); struct target *target_new(struct conf *conf, const char *name); void target_delete(struct target *target); struct target *target_find(struct conf *conf, const char *name); -int target_set_redirection(struct target *target, +bool target_set_redirection(struct target *target, const char *addr); struct lun *lun_new(struct conf *conf, const char *name); diff --git a/usr.sbin/ctld/discovery.c b/usr.sbin/ctld/discovery.c index 09613284f881..3ae18786f1c2 100644 --- a/usr.sbin/ctld/discovery.c +++ b/usr.sbin/ctld/discovery.c @@ -164,14 +164,14 @@ discovery_target_filtered_out(const struct ctld_connection *conn, assert(pg->pg_discovery_filter != PG_FILTER_UNKNOWN); if (pg->pg_discovery_filter >= PG_FILTER_PORTAL && - auth_portal_check(ag, &conn->conn_initiator_sa) != 0) { + !auth_portal_check(ag, &conn->conn_initiator_sa)) { log_debugx("initiator does not match initiator portals " "allowed for target \"%s\"; skipping", targ->t_name); return (true); } if (pg->pg_discovery_filter >= PG_FILTER_PORTAL_NAME && - auth_name_check(ag, conn->conn_initiator_name) != 0) { + !auth_name_check(ag, conn->conn_initiator_name)) { log_debugx("initiator does not match initiator names " "allowed for target \"%s\"; skipping", targ->t_name); return (true); diff --git a/usr.sbin/ctld/login.c b/usr.sbin/ctld/login.c index b763104a092e..8833779c825f 100644 --- a/usr.sbin/ctld/login.c +++ b/usr.sbin/ctld/login.c @@ -1027,12 +1027,12 @@ login(struct ctld_connection *conn) /* * Enforce initiator-name and initiator-portal. */ - if (auth_name_check(ag, initiator_name) != 0) { + if (!auth_name_check(ag, initiator_name)) { login_send_error(request, 0x02, 0x02); log_errx(1, "initiator does not match allowed initiator names"); } - if (auth_portal_check(ag, &conn->conn_initiator_sa) != 0) { + if (!auth_portal_check(ag, &conn->conn_initiator_sa)) { login_send_error(request, 0x02, 0x02); log_errx(1, "initiator does not match allowed " "initiator portals"); diff --git a/usr.sbin/ctld/parse.y b/usr.sbin/ctld/parse.y index 9f4759303e22..455411e31442 100644 --- a/usr.sbin/ctld/parse.y +++ b/usr.sbin/ctld/parse.y @@ -162,11 +162,11 @@ pidfile: PIDFILE STR isns_server: ISNS_SERVER STR { - int error; + bool ok; - error = isns_new(conf, $2); + ok = isns_new(conf, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -246,11 +246,11 @@ auth_group_entry: auth_group_auth_type: AUTH_TYPE STR { - int error; + bool ok; - error = auth_group_set_type(auth_group, $2); + ok = auth_group_set_type(auth_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -382,11 +382,11 @@ portal_group_discovery_auth_group: DISCOVERY_AUTH_GROUP STR portal_group_discovery_filter: DISCOVERY_FILTER STR { - int error; + bool ok; - error = portal_group_set_filter(portal_group, $2); + ok = portal_group_set_filter(portal_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -394,39 +394,39 @@ portal_group_discovery_filter: DISCOVERY_FILTER STR portal_group_foreign: FOREIGN { - portal_group->pg_foreign = 1; + portal_group->pg_foreign = true; } ; portal_group_listen: LISTEN STR { - int error; + bool ok; - error = portal_group_add_listen(portal_group, $2, false); + ok = portal_group_add_listen(portal_group, $2, false); free($2); - if (error != 0) + if (!ok) return (1); } ; portal_group_listen_iser: LISTEN_ISER STR { - int error; + bool ok; - error = portal_group_add_listen(portal_group, $2, true); + ok = portal_group_add_listen(portal_group, $2, true); free($2); - if (error != 0) + if (!ok) return (1); } ; portal_group_offload: OFFLOAD STR { - int error; + bool ok; - error = portal_group_set_offload(portal_group, $2); + ok = portal_group_set_offload(portal_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -445,11 +445,11 @@ portal_group_option: OPTION STR STR portal_group_redirect: REDIRECT STR { - int error; + bool ok; - error = portal_group_set_redirection(portal_group, $2); + ok = portal_group_set_redirection(portal_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -630,7 +630,7 @@ target_auth_group: AUTH_GROUP STR target_auth_type: AUTH_TYPE STR { - int error; + bool ok; if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { @@ -647,9 +647,9 @@ target_auth_type: AUTH_TYPE STR } target->t_auth_group->ag_target = target; } - error = auth_group_set_type(target->t_auth_group, $2); + ok = auth_group_set_type(target->t_auth_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -841,11 +841,11 @@ target_port: PORT STR target_redirect: REDIRECT STR { - int error; + bool ok; - error = target_set_redirection(target, $2); + ok = target_set_redirection(target, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -1101,7 +1101,7 @@ yyerror(const char *str) lineno, yytext, str); } -int +bool parse_conf(struct conf *newconf, const char *path) { int error; @@ -1110,7 +1110,7 @@ parse_conf(struct conf *newconf, const char *path) yyin = fopen(path, "r"); if (yyin == NULL) { log_warn("unable to open configuration file %s", path); - return (1); + return (false); } lineno = 1; @@ -1122,5 +1122,5 @@ parse_conf(struct conf *newconf, const char *path) lun = NULL; fclose(yyin); - return (error); + return (error == 0); } diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index 6ddbb83b6a12..ab34096699c8 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -247,7 +247,6 @@ uclparse_toplevel(const ucl_object_t *top) { ucl_object_iter_t it = NULL, iter = NULL; const ucl_object_t *obj = NULL, *child = NULL; - int err = 0; /* Pass 1 - everything except targets */ while ((obj = ucl_iterate_object(top, &it, true))) { @@ -298,11 +297,9 @@ uclparse_toplevel(const ucl_object_t *top) if (child->type != UCL_STRING) return (false); - err = isns_new(conf, - ucl_object_tostring(child)); - if (err != 0) { + if (!isns_new(conf, + ucl_object_tostring(child))) return (false); - } } } else { log_warnx("\"isns-server\" property value is " @@ -398,7 +395,6 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) ucl_object_iter_t it = NULL, it2 = NULL; const ucl_object_t *obj = NULL, *tmp = NULL; const char *key; - int err; if (!strcmp(name, "default") && conf->conf_default_ag_defined == false) { @@ -417,8 +413,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) if (!strcmp(key, "auth-type")) { const char *value = ucl_object_tostring(obj); - err = auth_group_set_type(auth_group, value); - if (err) + if (!auth_group_set_type(auth_group, value)) return (false); } @@ -621,23 +616,23 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (portal_group_set_filter(portal_group, - ucl_object_tostring(obj)) != 0) + if (!portal_group_set_filter(portal_group, + ucl_object_tostring(obj))) return (false); } if (!strcmp(key, "listen")) { if (obj->type == UCL_STRING) { - if (portal_group_add_listen(portal_group, - ucl_object_tostring(obj), false) != 0) + if (!portal_group_add_listen(portal_group, + ucl_object_tostring(obj), false)) return (false); } else if (obj->type == UCL_ARRAY) { while ((tmp = ucl_iterate_object(obj, &it2, true))) { - if (portal_group_add_listen( + if (!portal_group_add_listen( portal_group, ucl_object_tostring(tmp), - false) != 0) + false)) return (false); } } else { @@ -650,16 +645,16 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) if (!strcmp(key, "listen-iser")) { if (obj->type == UCL_STRING) { - if (portal_group_add_listen(portal_group, - ucl_object_tostring(obj), true) != 0) + if (!portal_group_add_listen(portal_group, + ucl_object_tostring(obj), true)) return (false); } else if (obj->type == UCL_ARRAY) { while ((tmp = ucl_iterate_object(obj, &it2, true))) { - if (portal_group_add_listen( + if (!portal_group_add_listen( portal_group, ucl_object_tostring(tmp), - true) != 0) + true)) return (false); } } else { @@ -678,8 +673,8 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (portal_group_set_redirection(portal_group, - ucl_object_tostring(obj)) != 0) + if (!portal_group_set_redirection(portal_group, + ucl_object_tostring(obj))) return (false); } @@ -767,8 +762,6 @@ uclparse_target(const char *name, const ucl_object_t *top) } if (!strcmp(key, "auth-type")) { - int error; - if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { log_warnx("cannot use both auth-group and " @@ -783,9 +776,8 @@ uclparse_target(const char *name, const ucl_object_t *top) target->t_auth_group->ag_target = target; } - error = auth_group_set_type(target->t_auth_group, - ucl_object_tostring(obj)); - if (error != 0) + if (!auth_group_set_type(target->t_auth_group, + ucl_object_tostring(obj))) return (false); } @@ -889,8 +881,8 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (target_set_redirection(target, - ucl_object_tostring(obj)) != 0) + if (!target_set_redirection(target, + ucl_object_tostring(obj))) return (false); } @@ -1001,7 +993,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) return (true); } -int +bool uclparse_conf(struct conf *newconf, const char *path) { struct ucl_parser *parser; @@ -1015,7 +1007,7 @@ uclparse_conf(struct conf *newconf, const char *path) log_warn("unable to parse configuration file %s: %s", path, ucl_parser_get_error(parser)); ucl_parser_free(parser); - return (1); + return (false); } top = ucl_parser_get_object(parser); @@ -1023,5 +1015,5 @@ uclparse_conf(struct conf *newconf, const char *path) ucl_object_unref(top); ucl_parser_free(parser); - return (parsed ? 0 : 1); + return (parsed); } From nobody Wed Feb 12 19:34:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT5y2BR8z5nFjj; Wed, 12 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5x6lGZz3T0M; Wed, 12 Feb 2025 19:34:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GTtLNlVULXGxNyWjOgj9AxFFbcNg0QXvLCazfumSch0=; b=I0GLSf2/rR+cNX6iDRqLIEhNr+v07NqESw6Jm4X5aX+ke10B7PpHAWqfo4y1z+3cEXhuA2 3v5/7qqUcZFhcECmDvWZy42ReAMmrpZgY56JTe3ux0SfAqTrc/qCdur760owsKV+XHBA4Q iQHaU4Jwy63wA+NH3oUg4nx5FMAAKlEwikvM7RQfHpIMf+r3oCEAXT+/LJMKeuc9iGR1xD L9mauLzbMVpCxEL46Yp3nsb/CGWPoF0RB3RrrKzwKeSsr18JAAvWgJadPnDc/MEb5Ifu5m 5VvFuAyaIL5wGk+UBJ5gy6I8a+yAWxkIY4okneKYvl0UC5TkJU4fpp9ROzEM7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GTtLNlVULXGxNyWjOgj9AxFFbcNg0QXvLCazfumSch0=; b=A0myAQ56f1rPKcu0WkAeAnOd0qPxQaBVDh/xMKnPmroSvoehtpFNg31wCiygMMipJJr+tS 5d0oHAMsoFvG9+WAPv5UT6GZRskGh2qw63GgCwCiMkFQsinsTB/E/UqhjNf4b7JckKcvAd yHnHNtgojO3uNLyXMdIyqgyci4YNdAMRaHhYhe/qfdeypj6Fs/4Xu1Fmk7+iwagDRkmyht xETJm1bNZQtJ072mX1sx0KVdnW9KfBHIsUpPtUJrkBouZeFCyZXV++1Q4R80vUio0gBzIx Qafg9Td7NOwEsJiIWVPrQVTRSopFWeU3TeacJkuX4msa8yLgCzWj+LAGb78rig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388870; a=rsa-sha256; cv=none; b=rje3o0qncAnr1Jq9er2GgC1QXRUSINROS03sOSAlE46l2sirRLvYpZlUVWGGJig5PkkGOn xB47RglaRR9QjuXjRLwRvKC6ZUOEeOG0Yy8kM3SnrpOOE0fj0zRBOVzhl7XOgiJ+R1fXFd sY4sf6M7pd9W1X08z3I+svYeUnaLeNJO80HujLih3McJG1p7sBKzvu88HQYpXR2mBKbDwL unfjcOCQCNOf2Hg+SsO5p+p0ESGfdCDKIj4om/JcgZISkPkjciMrAFwpLDWQ0hc219cbxM 4CGL/CiXZ2WSS+QfPf85Lc3eeWXzFhrBHmrFJrw431Wy9ku4c4LO5rTZrs3zHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5x6K7wz1Bst; Wed, 12 Feb 2025 19:34: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 51CJYT9E059763; Wed, 12 Feb 2025 19:34:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYTkb059760; Wed, 12 Feb 2025 19:34:29 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:29 GMT Message-Id: <202502121934.51CJYTkb059760@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 6de7a0d6c476 - main - ctld: Consistently free temporary strings during yacc parsing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6de7a0d6c47615beecd8692e580aa3136c243303 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6de7a0d6c47615beecd8692e580aa3136c243303 commit 6de7a0d6c47615beecd8692e580aa3136c243303 Author: John Baldwin AuthorDate: 2025-02-12 19:26:16 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:26:16 +0000 ctld: Consistently free temporary strings during yacc parsing The lexer always allocates a duplicate string via strdup for STR tokens. The parse handlers did not always free these duplicated strings after consuming them. Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48929 --- usr.sbin/ctld/parse.y | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/usr.sbin/ctld/parse.y b/usr.sbin/ctld/parse.y index 455411e31442..8ec33ee9286b 100644 --- a/usr.sbin/ctld/parse.y +++ b/usr.sbin/ctld/parse.y @@ -116,6 +116,7 @@ debug: DEBUG STR free($2); return (1); } + free($2); conf->conf_debug = tmp; } @@ -130,6 +131,7 @@ timeout: TIMEOUT STR free($2); return (1); } + free($2); conf->conf_timeout = tmp; } @@ -144,6 +146,7 @@ maxproc: MAXPROC STR free($2); return (1); } + free($2); conf->conf_maxproc = tmp; } @@ -180,6 +183,7 @@ isns_period: ISNS_PERIOD STR free($2); return (1); } + free($2); conf->conf_isns_period = tmp; } @@ -194,6 +198,7 @@ isns_timeout: ISNS_TIMEOUT STR free($2); return (1); } + free($2); conf->conf_isns_timeout = tmp; } @@ -366,6 +371,7 @@ portal_group_discovery_auth_group: DISCOVERY_AUTH_GROUP STR log_warnx("discovery-auth-group for portal-group " "\"%s\" specified more than once", portal_group->pg_name); + free($2); return (1); } portal_group->pg_discovery_auth_group = @@ -374,6 +380,7 @@ portal_group_discovery_auth_group: DISCOVERY_AUTH_GROUP STR log_warnx("unknown discovery-auth-group \"%s\" " "for portal-group \"%s\"", $2, portal_group->pg_name); + free($2); return (1); } free($2); @@ -463,6 +470,7 @@ portal_group_tag: TAG STR free($2); return (1); } + free($2); portal_group->pg_tag = tmp; } @@ -480,6 +488,7 @@ portal_group_dscp free($2); return(1); } + free($2); if (tmp >= 0x40) { yyerror("invalid dscp value"); return(1); @@ -520,9 +529,9 @@ portal_group_pcp: PCP STR free($2); return (1); } + free($2); if (tmp > 7) { yyerror("invalid pcp value"); - free($2); return (1); } @@ -600,6 +609,7 @@ target_alias: ALIAS STR if (target->t_alias != NULL) { log_warnx("alias for target \"%s\" " "specified more than once", target->t_name); + free($2); return (1); } target->t_alias = $2; @@ -616,12 +626,14 @@ target_auth_group: AUTH_GROUP STR log_warnx("cannot use both auth-group and explicit " "authorisations for target \"%s\"", target->t_name); + free($2); return (1); } target->t_auth_group = auth_group_find(conf, $2); if (target->t_auth_group == NULL) { log_warnx("unknown auth-group \"%s\" for target " "\"%s\"", $2, target->t_name); + free($2); return (1); } free($2); @@ -637,6 +649,7 @@ target_auth_type: AUTH_TYPE STR log_warnx("cannot use both auth-group and " "auth-type for target \"%s\"", target->t_name); + free($2); return (1); } } else { @@ -789,24 +802,22 @@ target_portal_group: PORTAL_GROUP STR STR free($3); return (1); } + free($2); tag = auth_group_find(conf, $3); if (tag == NULL) { log_warnx("unknown auth-group \"%s\" for target " "\"%s\"", $3, target->t_name); - free($2); free($3); return (1); } + free($3); tp = port_new(conf, target, tpg); if (tp == NULL) { log_warnx("can't link portal-group \"%s\" to target " - "\"%s\"", $2, target->t_name); - free($2); + "\"%s\"", tpg->pg_name, target->t_name); return (1); } tp->p_auth_group = tag; - free($2); - free($3); } | PORTAL_GROUP STR { @@ -820,14 +831,13 @@ target_portal_group: PORTAL_GROUP STR STR free($2); return (1); } + free($2); tp = port_new(conf, target, tpg); if (tp == NULL) { log_warnx("can't link portal-group \"%s\" to target " - "\"%s\"", $2, target->t_name); - free($2); + "\"%s\"", tpg->pg_name, target->t_name); return (1); } - free($2); } ; @@ -868,9 +878,9 @@ lun_number: STR free($1); return (1); } + free($1); if (tmp >= MAX_LUNS) { yyerror("LU number is too big"); - free($1); return (1); } @@ -962,6 +972,7 @@ lun_blocksize: BLOCKSIZE STR free($2); return (1); } + free($2); if (lun->l_blocksize != 0) { log_warnx("blocksize for lun \"%s\" " @@ -1007,6 +1018,7 @@ lun_device_type: DEVICE_TYPE STR free($2); return (1); } + free($2); lun_set_device_type(lun, tmp); } @@ -1021,6 +1033,7 @@ lun_ctl_lun: CTL_LUN STR free($2); return (1); } + free($2); if (lun->l_ctl_lun >= 0) { log_warnx("ctl_lun for lun \"%s\" " @@ -1081,6 +1094,7 @@ lun_size: SIZE STR free($2); return (1); } + free($2); if (lun->l_size != 0) { log_warnx("size for lun \"%s\" " From nobody Wed Feb 12 19:34:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT5z2jK3z5nG7h; Wed, 12 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5z0pNLz3SqJ; Wed, 12 Feb 2025 19:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCGDLmbdNPyi3FcYZGEmtU+B+DRRhz4OjA69hqIu3jI=; b=ImhudcWTzau5HqiVNotOeU+6botnm2sRRU1Ik5XdYarnEMNObMtCBP90S6LgWVtD283HGk 9ixzeiL2W+1mO5n2yT7/KHf4RXn1yM98eB0s+G/FrwOAtRcWNfdx5npwn6bm6qjCupFKqT mtiRKnbPdlBu4+j6sNRcm9WFZYw8I5Hsc/t2jszt/o112+c6tLsIrT2eelDgUl9IZYqOTJ KGX+QekGcFeMH/UODWrY+NK9N8C0BF7pXIxqFLM6L5vsvDSr0oiTNx0efMc21yKv/d8DCQ gIOb5u/AXktt7SZc3OAlstEP7afsA7zXJu2ZbIH2vJR25P+gKD7XpsHT5+ikPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCGDLmbdNPyi3FcYZGEmtU+B+DRRhz4OjA69hqIu3jI=; b=yfvivFqlfva/DBgB9p1eDuANtf/J74CbQsdq2usJbMWt5VNEiJtPCie3JyWABrRXIaYLeR c5SvqRqahjnI8rprw5Cd4GAPIqPBxH8W9wdM0eHZAGjHQh67NdSgtQB3vNjFbJanWT1MCv DlAv/qD4/sIH8SM0OL0KzE4ARU3Kqs+/g4tOwko+jkmoSNPdyRFMbZdrE06il4jc7uMlBB hyArNbe+GUYdQrK2tptZLnaZe/g5n1uRnSIQcTv8oPDdvuWA+81kKJA3QWOsWNlzEa2Ilm +jhbBOxqSsK4qQG5OMbmQ/cM96OldVaaWGYFvq9A4NueTfsMjEHypr3cmXjS8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388871; a=rsa-sha256; cv=none; b=e1xM1csLD3Rymq1VL9EgauCjTLBOgJadmEv1N7BN7u/1p6SYgoaQaUVpark9UcaSEVzFPp XvE2XBWiWXhUz7xSySikocNXBY3btVvopwG6d7mO5Wy22/Lp6RYULV0LHkZSk/Ch97Kdfk fFaPwirnVVAdQVEA9PELzZ7OZfGZAaw0zLfL9ESXh6qD9rTZaQoXCRubwt3PFkdpgljaeB ZlOQ7k/bJoYyKrAm6ZVdpbq0auZznC0qJ2uRAF/Riw5uAxpP3g05kiQMRAQ2qwpJImn++V f7GQYivLG7BNKdGOLIBzxthphGNs39P3sGCCBmqK6OgKLR5SpwCrwBy10qxfVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5z0BXHz1BlB; Wed, 12 Feb 2025 19:34: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 51CJYU4X059796; Wed, 12 Feb 2025 19:34:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYUw2059793; Wed, 12 Feb 2025 19:34:30 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:30 GMT Message-Id: <202502121934.51CJYUw2059793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 64905b38b1ae - main - ctld: Fix the isns-period and isns-timeout keywords in the UCL parser List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64905b38b1aeeaa9faeb90192b762efc1c2216ee Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=64905b38b1aeeaa9faeb90192b762efc1c2216ee commit 64905b38b1aeeaa9faeb90192b762efc1c2216ee Author: John Baldwin AuthorDate: 2025-02-12 19:26:43 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:26:43 +0000 ctld: Fix the isns-period and isns-timeout keywords in the UCL parser These keywords were setting the wrong configuration value (connection timeout). Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48930 --- usr.sbin/ctld/uclparse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index ab34096699c8..bd3c90283f6d 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -310,7 +310,7 @@ uclparse_toplevel(const ucl_object_t *top) if (!strcmp(key, "isns-period")) { if (obj->type == UCL_INT) - conf->conf_timeout = ucl_object_toint(obj); + conf->conf_isns_period = ucl_object_toint(obj); else { log_warnx("\"isns-period\" property value is not integer"); return (false); @@ -319,7 +319,7 @@ uclparse_toplevel(const ucl_object_t *top) if (!strcmp(key, "isns-timeout")) { if (obj->type == UCL_INT) - conf->conf_timeout = ucl_object_toint(obj); + conf->conf_isns_timeout = ucl_object_toint(obj); else { log_warnx("\"isns-timeout\" property value is not integer"); return (false); From nobody Wed Feb 12 19:34:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT605Lf0z5nGcv; Wed, 12 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT6026BNz3T2x; Wed, 12 Feb 2025 19:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pp0uEYwc+U44UO1qMF26P5977o8ayyJG/3Pel+EQCDc=; b=lLDEb3FuE/vhrP7hcg9n7Y2ea4LP3mBAwvtyVgZLy2LNbfKsu37bS3K9l5lSccmOlJsZjV cy50/60JEQdLJ+vtEM23yX/t7Lysfd3NspT1MJkneG10qsd4DDZ2TGDVoigciDaSM8HjcM ZRhqU15M3FZDf4rnLYKWL03lCfPQ+QJ+boFXNqwBE9MfFkuBQU79sZehsTjF/zsGEtrGVl BRvjWip7R23Y8bwt1/IhL5HhDgBv/yIls3Ec3VpFSf2c715wx1oH7teQKeU/7MBDnSPUL3 ElbBVoYvbLFQQR4P/Cu0mpeB3Rc8jqPtA0ypcm5h1JHrdoQVIso+O+GPLNfU/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pp0uEYwc+U44UO1qMF26P5977o8ayyJG/3Pel+EQCDc=; b=QUEr5GF0FDH2mwarSSo1eyHWR+d22jWRLKZxpsa4d/I3+lcAcfZyWo53XmccP1MdpApq+6 GACx9Sc8IjEMwgalQ+WHf/VW9oh0mbW7ZS0j4QOJ1NOjvciJi+Prw0qdavKLyTNIn/o67q 0EcdOQPl6bz2fs1WJZahxat04pR/5QnBHhwyqKEyPq3OJBi6s+gcfoukHT/YJiXe5JioPz HE8rhNDNagh0ArNrcsTWt3SH9HquPQ/3gxMQfof0S4u9XH+9QOU16OXzf4xwLgSed1pZio vMnpHC4uYxvijbfSMPf+k1FRv+Z1+goV8Y12B0Gzd/PolOVBdAjGagoWJhgtgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388872; a=rsa-sha256; cv=none; b=HOMPQYnnZIxDGoaxdt22M4yQC6IOdPIBsgMd6bKK8SUIPI7AxzJ3++lgZgQ0annurgtV3O 2dWa4AnB/cZquI6dpPiQGaO60SA7mL70J3e92NAh1ANoekxbUVlqReHQ52mBTYthrz5rw5 6mdDGm+w9de5lJP99D6I6vfxH8KfKHRiM7nrTlF3MDLj+PcfIWYYwVDsRuSSDvq23bP8iW QYiUI7l7PK+WhB3GWUmM+zXkoBhMp1//kVsHS9sVCmdAGZsBnnP1OBozU65v7WS5PAG1UB sl9ZVuUHEj0+vFjX/eRVJYWvC30xRVilxINBWmZF0PrYa+zOjL1iEQvo44H+zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT600mx8z1BV1; Wed, 12 Feb 2025 19:34: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 51CJYVKc059837; Wed, 12 Feb 2025 19:34:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYV04059834; Wed, 12 Feb 2025 19:34:31 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:31 GMT Message-Id: <202502121934.51CJYV04059834@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: f42f7bedabb3 - main - ctld: Fail for missing or invalid CHAP secrets in UCL config List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f42f7bedabb329b68c7c9aa0d9a2dc49637d385f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f42f7bedabb329b68c7c9aa0d9a2dc49637d385f commit f42f7bedabb329b68c7c9aa0d9a2dc49637d385f Author: John Baldwin AuthorDate: 2025-02-12 19:27:06 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:27:06 +0000 ctld: Fail for missing or invalid CHAP secrets in UCL config Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48931 --- usr.sbin/ctld/uclparse.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index bd3c90283f6d..8654004d009e 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -73,6 +73,7 @@ uclparse_chap(struct auth_group *auth_group, const ucl_object_t *obj) if (!secret || secret->type != UCL_STRING) { log_warnx("chap section in auth-group \"%s\" is missing " "\"secret\" string key", auth_group->ag_name); + return (false); } ca = auth_new_chap(auth_group, From nobody Wed Feb 12 19:34:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT640RSBz5nGX7; Wed, 12 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT623hmfz3T5h; Wed, 12 Feb 2025 19:34:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nI0ZSrGgtKuS9J92eaO2vf2akHoVI4UAUleNmEx9dlo=; b=ISH0ylJFK3JWQm9gfLZnvn8X7vz1vxhvk1BpO3WDQ3xwZeTblKG1pQnpsPKRDpzlx7nrO8 gVMe2VR0YwuJcvtgCMFD+kzGt5GiOmUm53aYK1Gl2IxZ8Gwd//SqMvX1fvzAHZl9RxTWOp KaIWj+CqT/c/6fY96JZhXGqkMLcN1F+H5HtVVfOzZczLAgE4BW6/kEBROs/7+JnToinrzL yq3G81cP8hitn0iv9eDAbKsl2H0ZBqxR0WcTwsQ3/UIR6i8n0bIdWec7DQd7k+8G5+/lxx 501fniLcGHVMSRWbW9DUrEY31AseOjYZfQTCuQ3hP6W+77BMoletc22KPCV7Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nI0ZSrGgtKuS9J92eaO2vf2akHoVI4UAUleNmEx9dlo=; b=iZ9/xtokcp1nHXnBjH37KjGsm4BNEgNVzV3Ig/WlOqflR5Lr3kOMmpNSUrkIlkxU8Zrdmq emWAYv9QDxZR8L02258b4NdYUwrf5gOqj5LVP9LCB/MDgZNzuBe02pO1Ya9EhMgr98UOZ5 0ig0A91meEJVH52vycXTM8WosTlMm6hlMMLsAoqSDgg69BWHxN1LN81ldOnAdam9cNPUw9 QosAERRVtdAHa1/WBVxPNzH8Jf9R9C5Mvuh6OvJqY/BHwDNydSJgXR1CkVg5lH8c4PwZex jRYUyasJSokwadUlcKYCYHzthvT/FtxUBM0rVN7CKgWJr4DBBzC40EdQTIdKRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388874; a=rsa-sha256; cv=none; b=BOxJYAy+0de+PmDGajz9rGhj9+84EWx4HK8eyhvoPR2FZMOj/0OdrLhS8EIZ0SMYP56J3Y NviTnIHFC8mbGbv0TohwSRTqpBpTY8HmQUzvadbBfSSy0ortowMp41tGJTvQb938G7AmHV UXUcIQ+POe1UhPSpD2clIVsb1svCIqUVMr4ftTx0V9MG3NyE7EY0BMYSC1mITYJEfjVbRj GYBVM+c1pIDhrPgtvyqmiidNYLJJVj+3nPdhBByXRP8B4Z9Bae9wWipfi7QCkeEhhBX7yD ZO8L2R8OR23CVxnH5+4HMiUhQlrCfOiZHIRIJVM5cD9N2jSGeljz8sd0q9MWLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT622kJjz1BgN; Wed, 12 Feb 2025 19:34: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 51CJYYHI059905; Wed, 12 Feb 2025 19:34:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYYR2059902; Wed, 12 Feb 2025 19:34:34 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:34 GMT Message-Id: <202502121934.51CJYYR2059902@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 5e6a462277b1 - main - ctld: Fix parsing of text values for DSCP in UCL parser List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e6a462277b1e28ea5338a3031c509c829dcf588 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5e6a462277b1e28ea5338a3031c509c829dcf588 commit 5e6a462277b1e28ea5338a3031c509c829dcf588 Author: John Baldwin AuthorDate: 2025-02-12 19:27:53 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:27:53 +0000 ctld: Fix parsing of text values for DSCP in UCL parser Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48933 --- usr.sbin/ctld/uclparse.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index b782779f4d0e..fb14a7fe618a 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -505,49 +505,49 @@ uclparse_dscp(const char *group_type, struct portal_group *portal_group, key = ucl_object_tostring(obj); if (strcmp(key, "0x") == 0) portal_group->pg_dscp = strtol(key + 2, NULL, 16); - else if (strcmp(key, "be") || strcmp(key, "cs0")) + else if (strcmp(key, "be") == 0 || strcmp(key, "cs0") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS0 >> 2; - else if (strcmp(key, "ef")) + else if (strcmp(key, "ef") == 0) portal_group->pg_dscp = IPTOS_DSCP_EF >> 2; - else if (strcmp(key, "cs0")) + else if (strcmp(key, "cs0") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS0 >> 2; - else if (strcmp(key, "cs1")) + else if (strcmp(key, "cs1") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS1 >> 2; - else if (strcmp(key, "cs2")) + else if (strcmp(key, "cs2") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS2 >> 2; - else if (strcmp(key, "cs3")) + else if (strcmp(key, "cs3") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS3 >> 2; - else if (strcmp(key, "cs4")) + else if (strcmp(key, "cs4") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS4 >> 2; - else if (strcmp(key, "cs5")) + else if (strcmp(key, "cs5") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS5 >> 2; - else if (strcmp(key, "cs6")) + else if (strcmp(key, "cs6") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS6 >> 2; - else if (strcmp(key, "cs7")) + else if (strcmp(key, "cs7") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS7 >> 2; - else if (strcmp(key, "af11")) + else if (strcmp(key, "af11") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF11 >> 2; - else if (strcmp(key, "af12")) + else if (strcmp(key, "af12") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF12 >> 2; - else if (strcmp(key, "af13")) + else if (strcmp(key, "af13") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF13 >> 2; - else if (strcmp(key, "af21")) + else if (strcmp(key, "af21") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF21 >> 2; - else if (strcmp(key, "af22")) + else if (strcmp(key, "af22") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF22 >> 2; - else if (strcmp(key, "af23")) + else if (strcmp(key, "af23") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF23 >> 2; - else if (strcmp(key, "af31")) + else if (strcmp(key, "af31") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF31 >> 2; - else if (strcmp(key, "af32")) + else if (strcmp(key, "af32") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF32 >> 2; - else if (strcmp(key, "af33")) + else if (strcmp(key, "af33") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF33 >> 2; - else if (strcmp(key, "af41")) + else if (strcmp(key, "af41") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF41 >> 2; - else if (strcmp(key, "af42")) + else if (strcmp(key, "af42") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF42 >> 2; - else if (strcmp(key, "af43")) + else if (strcmp(key, "af43") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF43 >> 2; else { log_warnx("\"dscp\" property value is not a supported textual value"); From nobody Wed Feb 12 19:34:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT623rXWz5nGGM; Wed, 12 Feb 2025 19:34: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT611zQBz3SxK; Wed, 12 Feb 2025 19:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5xACSw0DkdRiIxhmGUygFH6v/7BxkGIspHb7E8BhKA=; b=DogKgFxnNaitHWJW+a8OSUYTFIBOj3moYSmNJRtR2eFbS4YugOp9mYIlXEqeyMn3FMW14h I35tMMXaU8+1VmCBD/rMrKhZZErePSUdoFhgHDJTSg2vvgLMbx4MmoadnA9zoz8q/h+7vK UIeY0ciR6Eo4CcTqN70Yt48huAfVZYw13e6f1C6I7gyDk8wtVAf6c154kKqNHBOrxldpx+ T0syiPR448YWVkpTavCTlUb4JbEQgrUIhYf3Nt81FxLP8sucXmY8UJfSMD9IOD3rtZmtU/ 8YSqebHEMQanRqMJXWGKB28K5gce0+MfhKrsXmSziz/dFMnPJweQnkOFfWAx5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5xACSw0DkdRiIxhmGUygFH6v/7BxkGIspHb7E8BhKA=; b=je6OAIfX4mS0CXciZ8p3umbVduDBgW9abYKdckRJwYEJMQExG50zW8l6swWgHBt/1eWAmz EJfrr0EW0fcNj0snWY1DTpbC0r8KTseznw3QRlPzp4zHKSD4PNvO5b8cj+v57Z5Bu6tAop d4MLftkTK4weq711WTfpbCrwTjoP4ADeEew2CammrXkW+RKll/8M4YsMFY+Nu+uax5NzjJ Qt99RbgKzKiF3C5aIOg/1MZChyULo6RjO5Xaa7nhwMuFpw9NJzw7Nd8K+a/GnbPtYtFnje 8UquJLI1gmlvxgD+aHuBaIXefPm9Yshis3ooB+T+h3x6eo5v3jiEHt/4JbSR5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388873; a=rsa-sha256; cv=none; b=eBCPnPsWfOwzIMdHvfFgHPi4iGl1BTE298JAgPgqiilBvfuoFycasZhgQJtQw3cfISvVmO +DDiprlW1VldANUZ/DF820hwvnLQqljDjM0DvrQ4LJzpUz9AFqqWQi5huW8HKxtt9PGMvs AoGvWL71W4ZNiX3MkDNgJeeg3IiVLd0CO4NNw2ftq383MOw3+Xee+bq3O9PJKPUHMECTGq bYxxw16E/G5cYXpu4AqYSmK8ofkVSylWfAYiW4qA/2TxMg4J5b+GJgXmQc+OfQvRTX1tD0 Dw18zzakjrGHEnC/xL2/8eCdryIvKmD6teDbRChPslc4QZcVnKJ1rhsB1F8nSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT611Cqgz1BWm; Wed, 12 Feb 2025 19:34: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 51CJYXka059871; Wed, 12 Feb 2025 19:34:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYXPN059868; Wed, 12 Feb 2025 19:34:33 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:33 GMT Message-Id: <202502121934.51CJYXPN059868@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 79a4240b1359 - main - ctld: Use preferred style for evaluating result of strcmp List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 79a4240b135952cb318adf216a9e5d3ccbd6e343 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=79a4240b135952cb318adf216a9e5d3ccbd6e343 commit 79a4240b135952cb318adf216a9e5d3ccbd6e343 Author: John Baldwin AuthorDate: 2025-02-12 19:27:30 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:27:30 +0000 ctld: Use preferred style for evaluating result of strcmp Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48932 --- usr.sbin/ctld/uclparse.c | 86 ++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index 8654004d009e..b782779f4d0e 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -253,7 +253,7 @@ uclparse_toplevel(const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { const char *key = ucl_object_key(obj); - if (!strcmp(key, "debug")) { + if (strcmp(key, "debug") == 0) { if (obj->type == UCL_INT) conf->conf_debug = ucl_object_toint(obj); else { @@ -262,7 +262,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "timeout")) { + if (strcmp(key, "timeout") == 0) { if (obj->type == UCL_INT) conf->conf_timeout = ucl_object_toint(obj); else { @@ -271,7 +271,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "maxproc")) { + if (strcmp(key, "maxproc") == 0) { if (obj->type == UCL_INT) conf->conf_maxproc = ucl_object_toint(obj); else { @@ -280,7 +280,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "pidfile")) { + if (strcmp(key, "pidfile") == 0) { if (obj->type == UCL_STRING) conf->conf_pidfile_path = strdup( ucl_object_tostring(obj)); @@ -290,7 +290,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "isns-server")) { + if (strcmp(key, "isns-server") == 0) { if (obj->type == UCL_ARRAY) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, @@ -309,7 +309,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "isns-period")) { + if (strcmp(key, "isns-period") == 0) { if (obj->type == UCL_INT) conf->conf_isns_period = ucl_object_toint(obj); else { @@ -318,7 +318,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "isns-timeout")) { + if (strcmp(key, "isns-timeout") == 0) { if (obj->type == UCL_INT) conf->conf_isns_timeout = ucl_object_toint(obj); else { @@ -327,7 +327,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "auth-group")) { + if (strcmp(key, "auth-group") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { @@ -339,7 +339,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "portal-group")) { + if (strcmp(key, "portal-group") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { @@ -351,7 +351,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "lun")) { + if (strcmp(key, "lun") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { @@ -369,7 +369,7 @@ uclparse_toplevel(const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { const char *key = ucl_object_key(obj); - if (!strcmp(key, "target")) { + if (strcmp(key, "target") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, @@ -397,7 +397,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) const ucl_object_t *obj = NULL, *tmp = NULL; const char *key; - if (!strcmp(name, "default") && + if (strcmp(name, "default") == 0 && conf->conf_default_ag_defined == false) { auth_group = auth_group_find(conf, name); conf->conf_default_ag_defined = true; @@ -411,14 +411,14 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "auth-type")) { + if (strcmp(key, "auth-type") == 0) { const char *value = ucl_object_tostring(obj); if (!auth_group_set_type(auth_group, value)) return (false); } - if (!strcmp(key, "chap")) { + if (strcmp(key, "chap") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"chap\" property of " "auth-group \"%s\" is not an array", @@ -433,7 +433,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "chap-mutual")) { + if (strcmp(key, "chap-mutual") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"chap-mutual\" property of " "auth-group \"%s\" is not an array", @@ -448,7 +448,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "initiator-name")) { + if (strcmp(key, "initiator-name") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"initiator-name\" property of " "auth-group \"%s\" is not an array", @@ -466,7 +466,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "initiator-portal")) { + if (strcmp(key, "initiator-portal") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"initiator-portal\" property of " "auth-group \"%s\" is not an array", @@ -597,7 +597,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "discovery-auth-group")) { + if (strcmp(key, "discovery-auth-group") == 0) { portal_group->pg_discovery_auth_group = auth_group_find(conf, ucl_object_tostring(obj)); if (portal_group->pg_discovery_auth_group == NULL) { @@ -609,7 +609,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "discovery-filter")) { + if (strcmp(key, "discovery-filter") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"discovery-filter\" property of " "portal-group \"%s\" is not a string", @@ -622,7 +622,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "listen")) { + if (strcmp(key, "listen") == 0) { if (obj->type == UCL_STRING) { if (!portal_group_add_listen(portal_group, ucl_object_tostring(obj), false)) @@ -644,7 +644,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "listen-iser")) { + if (strcmp(key, "listen-iser") == 0) { if (obj->type == UCL_STRING) { if (!portal_group_add_listen(portal_group, ucl_object_tostring(obj), true)) @@ -666,7 +666,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "redirect")) { + if (strcmp(key, "redirect") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"listen\" property of " "portal-group \"%s\" is not a string", @@ -679,7 +679,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "options")) { + if (strcmp(key, "options") == 0) { if (obj->type != UCL_OBJECT) { log_warnx("\"options\" property of portal group " "\"%s\" is not an object", portal_group->pg_name); @@ -695,12 +695,12 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "dscp")) { + if (strcmp(key, "dscp") == 0) { if (!uclparse_dscp("portal", portal_group, obj)) return (false); } - if (!strcmp(key, "pcp")) { + if (strcmp(key, "pcp") == 0) { if (!uclparse_pcp("portal", portal_group, obj)) return (false); } @@ -724,7 +724,7 @@ uclparse_target(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "alias")) { + if (strcmp(key, "alias") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"alias\" property of target " "\"%s\" is not a string", target->t_name); @@ -734,7 +734,7 @@ uclparse_target(const char *name, const ucl_object_t *top) target->t_alias = strdup(ucl_object_tostring(obj)); } - if (!strcmp(key, "auth-group")) { + if (strcmp(key, "auth-group") == 0) { const char *ag; if (target->t_auth_group != NULL) { @@ -762,7 +762,7 @@ uclparse_target(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "auth-type")) { + if (strcmp(key, "auth-type") == 0) { if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { log_warnx("cannot use both auth-group and " @@ -782,7 +782,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "chap")) { + if (strcmp(key, "chap") == 0) { if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { log_warnx("cannot use both auth-group " @@ -801,12 +801,12 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "chap-mutual")) { + if (strcmp(key, "chap-mutual") == 0) { if (!uclparse_chap_mutual(target->t_auth_group, obj)) return (false); } - if (!strcmp(key, "initiator-name")) { + if (strcmp(key, "initiator-name") == 0) { const struct auth_name *an; if (target->t_auth_group != NULL) { @@ -829,7 +829,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "initiator-portal")) { + if (strcmp(key, "initiator-portal") == 0) { const struct auth_portal *ap; if (target->t_auth_group != NULL) { @@ -852,7 +852,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "portal-group")) { + if (strcmp(key, "portal-group") == 0) { if (obj->type == UCL_OBJECT) { if (!uclparse_target_portal_group(target, obj)) return (false); @@ -868,14 +868,14 @@ uclparse_target(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "port")) { + if (strcmp(key, "port") == 0) { const char *value; value = ucl_object_tostring(obj); target->t_pport = strdup(value); } - if (!strcmp(key, "redirect")) { + if (strcmp(key, "redirect") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"redirect\" property of target " "\"%s\" is not a string", target->t_name); @@ -887,7 +887,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "lun")) { + if (strcmp(key, "lun") == 0) { while ((tmp = ucl_iterate_object(obj, &it2, true))) { if (!uclparse_target_lun(target, tmp)) return (false); @@ -913,7 +913,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "backend")) { + if (strcmp(key, "backend") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"backend\" property of lun " "\"%s\" is not a string", @@ -924,7 +924,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_backend(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "blocksize")) { + if (strcmp(key, "blocksize") == 0) { if (obj->type != UCL_INT) { log_warnx("\"blocksize\" property of lun " "\"%s\" is not an integer", lun->l_name); @@ -934,7 +934,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_blocksize(lun, ucl_object_toint(obj)); } - if (!strcmp(key, "device-id")) { + if (strcmp(key, "device-id") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"device-id\" property of lun " "\"%s\" is not an integer", lun->l_name); @@ -944,7 +944,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_device_id(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "options")) { + if (strcmp(key, "options") == 0) { if (obj->type != UCL_OBJECT) { log_warnx("\"options\" property of lun " "\"%s\" is not an object", lun->l_name); @@ -960,7 +960,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "path")) { + if (strcmp(key, "path") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"path\" property of lun " "\"%s\" is not a string", lun->l_name); @@ -970,7 +970,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_path(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "serial")) { + if (strcmp(key, "serial") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"serial\" property of lun " "\"%s\" is not a string", lun->l_name); @@ -980,7 +980,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_serial(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "size")) { + if (strcmp(key, "size") == 0) { if (obj->type != UCL_INT) { log_warnx("\"size\" property of lun " "\"%s\" is not an integer", lun->l_name); From nobody Wed Feb 12 19:39:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCC5tFlz5nGbd; Wed, 12 Feb 2025 19:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCC3ksRz3XkH; Wed, 12 Feb 2025 19:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MJkeZbuHBzvOkKLhYLtkz5I7OFE6qCvQ1yggBwggMdk=; b=H7jwFBygm6EtOHZjdWHew+sK4LRjxUBQN/4RZ9CFl3/ALbdrmktqZiBkoyI9klEE+ze07o +dtm+mP2DnFb5g41dXVu3Zq4u+DYs4gKZWbXYnIX+ZbwabDh+NwVz5wQZ3P/bpXEd6UJrV zjZhISh1eqQTrtxLZcyBNU5t/cBJ7D7OQxNfmGiEIV+drRiuM4pGO4BeqEzE/vF4xiPvZs SSHOaJyIP+fyEPQnrfed+zarSKfPA3sjCTBmHtcToIM5kt9DVG2fn0WqNuod7KxIsT60XQ jTgT+PEkqJiUk+ts+8kE3tX3stmOP0U5YP/zIKriEinN+8jF/TtBG9OpqrMz2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MJkeZbuHBzvOkKLhYLtkz5I7OFE6qCvQ1yggBwggMdk=; b=wvUsxejFRRGdD0lABglgDRVg8R1mF1dtxryE7VXQuRIRC2t0/EquoLj7uX1etEJ8CMHQAk OQcAcHYOjrbHAH/kjLs2MuSEV7g++9fyVxZjyDn6rAWbY+HJd51fzOAofXt/YtnfWsfoRW 13Cl5bcCEs1p33+iwyJ5Qmk3AiYFPHqPFb9tZKrB3VJffe5q+FO7lFXjnUKqV6pu26bpfE gCKNctBV6U+rCBVBDKIHhqI4mFvj7U3ziVx5YbGzWPZ7oeC/oIDAOV6kft3F0kOl7temRM g2oaoxp/mUaZn7krzcMPl6tzv6Pqxk8Zs65vx+Q0dL6mVNzOHy2D0fvDy+ICuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389143; a=rsa-sha256; cv=none; b=x8eo+kXo6TjXWt+P7ll8gDANuC/QLyKqcP46qlrhuDlJbT72tVtSWfXnBUY/nULfas7eRw Z3Y5ogp4Nd9UyU5hLpqQ0uXk66IWAhjkS3Q2J24x7K+B4kMJ1FWyQlJaAx23sHfyxSIJdX SvX2lUC4qZkyuEk9yYY7G0lLvv4a7YwXXVN5mS/4JfChkXKZPGyOG9RHVhO9HVxs4Oglac O8wLXqU/GsB0WAMYelgNN2cvOTjE4YUIfG2NGUHe3tqXj0IumlRnwAz+BinOoJWulEFuzQ AlU4iHzendj/eRUI6qtySDESAcNm/jM4OqV6x3opL8atTwhtr9dcBXfx3NDXUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCC3KR3z1Bsv; Wed, 12 Feb 2025 19:39: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 51CJd3KD061541; Wed, 12 Feb 2025 19:39:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd3Nf061538; Wed, 12 Feb 2025 19:39:03 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:03 GMT Message-Id: <202502121939.51CJd3Nf061538@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: afc32641e293 - main - pf: make pf_change_ap() usable without a port List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: afc32641e2932d2f7c47d2fbcfde9a063e72b85b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=afc32641e2932d2f7c47d2fbcfde9a063e72b85b commit afc32641e2932d2f7c47d2fbcfde9a063e72b85b Author: Kristof Provost AuthorDate: 2025-02-05 16:26:13 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:37 +0000 pf: make pf_change_ap() usable without a port If the port pointer is NULL, just return after being done with the address. ok bluhm ryan mikeb Obtained from: OpenBSD, henning , 17f4816165 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 79e50be6cd13..17c23f6d4194 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3217,7 +3217,7 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, sa_family_t af, sa_family_t naf) { struct pf_addr ao; - u_int16_t po = *p; + u_int16_t po; PF_ACPY(&ao, a, af); if (af == naf) @@ -3226,6 +3226,9 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, if (m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) *pc = ~*pc; + if (p == NULL) /* no port -> done. no cksum to worry about. */ + return; + po = *p; *p = pn; switch (af) { From nobody Wed Feb 12 19:39:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCD6Y1bz5nGmf; Wed, 12 Feb 2025 19:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCD57Q0z3XmP; Wed, 12 Feb 2025 19:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NWQFPfhnp76L2fbhI/1cNCJQIsSwaEazsfEFkA6bEJ8=; b=VvlqMw1bEMHOacJgPnnfmbSiRQRoe08KBRhUp3Sm9/NZ/QUBazTqs0p9Ws1tDuTBhCdigJ H7CyofN6WkMFHfY/e2aCOQpCJtPXa7EQ2Mf15PrKf+jxwZCIN/C8jjn+A+Kf/aHE9D6QTf qalXnTSsrCfUBcOi6KEXTHw0LotO/B2O/zhZPW9QdSfBZz2qdqgPeSx396FsuLrELIiCdB 8gjReTRhv/y9qwGgtfsgvfHBQDPAk118EWtohquiuXkW2nmso19auOiBJQdznPzD/Wu3FL Jg8y7HVfopl9JhKbMuBhz48ZBcMVZZmAKbNJvOgHMCGDqttdjn9tFt4BlZAiTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NWQFPfhnp76L2fbhI/1cNCJQIsSwaEazsfEFkA6bEJ8=; b=dlF+LvoOFKndlfhfLgsHzsgZeao5bTnSabWfI5FC3o9lySNWcgrsSGY0lugdc0YbRbt2YO lR/SyzcHFfJcGeoPJQ+Zs31SWpcDTcpMMQoJleJ3e36VQAAN8qdjr4/abz77zMTRaK0Ld9 r1pqGPrQsQpNAbtJEOu4B9iiUGuEvjMYIicjTAW8WZev8D/SWETSX2FLHmJgVtQ7yy8orj igRxu1uQ6/wc4Quk1KEfu8H4uw+We9LtiYFYPgQ7QqwyMQe9wE27TTHsjpHeNm2otdgyxN Qll2lKDB99x8APOu0MjFHnB+uFRLL/W4eClk80v8lz7b3MCtamwuA5Gs6GxeYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389144; a=rsa-sha256; cv=none; b=NBTZtjtnSLcHAxGrd6xn2gADmLJZItyqh7RGjjEi6EdyKYE5voEVKeH3/AWUDcFkK7NjcP GOsVTUcFHAP1L4wXXdspcDkPxfJKuFdsO8cTkyYuOy5DGvI61LcBhhWsAvPccHGDpI268E LbT6k6vh/buqi7XnudhazVBZNruJBR+aWRC9hovXmm83NEGnG8dLTZ9omSfVI9OWKZDfws CQTConXd+HS6SbVjKZfxvdLzCozu3vmxnSj02mPTsPc2WxztlmAyRX2f28WZS9a0Wy1XqN amfVq/OIDj5ffCki/5FlVjkiDT56JONV/zo5SLZ0NBRfU1z2GXqHIbVBYpA1Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCD4ZDKz1BRb; Wed, 12 Feb 2025 19:39: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 51CJd4NG061574; Wed, 12 Feb 2025 19:39:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd4XS061571; Wed, 12 Feb 2025 19:39:04 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:04 GMT Message-Id: <202502121939.51CJd4XS061571@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 65832496f4e7 - main - pf: set osport and odport in pf_setup_pdesc() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65832496f4e75482cb988e524cbf5ef8e5c12c47 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=65832496f4e75482cb988e524cbf5ef8e5c12c47 commit 65832496f4e75482cb988e524cbf5ef8e5c12c47 Author: Kristof Provost AuthorDate: 2025-02-05 16:36:29 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: set osport and odport in pf_setup_pdesc() Set up osport and odport (original src/dst port) in pf_setup_pdesc already. Need that for upcoming changes. ok ryan Obtained from: OpenBSD, henning , f82a6f97e0 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 17c23f6d4194..874fd0678f7a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10180,6 +10180,12 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, } #endif } + + if (pd->sport) + pd->osport = pd->nsport = *pd->sport; + if (pd->dport) + pd->odport = pd->ndport = *pd->dport; + return (0); } From nobody Wed Feb 12 19:39:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCG6mXwz5nGbh; Wed, 12 Feb 2025 19:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCG68DCz3XmT; Wed, 12 Feb 2025 19:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HImZjFAkgoofNDH1Pes4eEWssQFMG6I3zb6Ct/qZ0z4=; b=IXnevrUPOpJMUlGzJtJmwiiwiWexk3lAfLwYGv4FMZh74T6T/DMW1CYkbiZweyLsDqGDHl 2C/1M/HNxT6W+r30x7DjgAL43YrjzK3u5CQVUns1nLuZV8gUEnBVBedPBORFcByRP2XttY IFkObfKY38/vAN3qNAmB+3YHypKt2hovH4WDXkLWDBZZA7slrRgsdM9rDG3lFHBztZvlAv jlHuWZR9KMDxWTqhEBeYEq63fUfqk7r04iHDWKC6cmqEKDfaNz0ucQ+kN74234epWOWiXw C4aUmzbBJoO4vhLtpInhJQ3ZUhNIqTBtLd8cJIQ2jn1JGwL3b5GWQdD1wPiQtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HImZjFAkgoofNDH1Pes4eEWssQFMG6I3zb6Ct/qZ0z4=; b=VyVcZbNsco5Yee99uqU0a/P/vRKH1MrQglPWB5MCTkXttdiECqDbisQRHJ+HviYl2BsEi+ lpIxK8glHuG66EWQMQSvxk+3dc3su10B/Cg2tS2SWLWH8Z1iZ1VKI2qG03oNkWOE8wCqcZ fZGyxd5tPRPbNqQF4VbHtD5YYqyhOfRF1O9To5YKnKO8hCoLF0Da5lSnVXtJbzToXpxw4w xx91ylyo5PKRwG87JKxG2aZQ0lX+BM9aPyinF6XwK3231RVCCwHKDF9WBAtoOut7yTuebt OGsg3F+vknGbe2ic8UW/Gv5QoLq4m2z2Be5mxb2l44Wc2mhIl6/RCWGecubEHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389146; a=rsa-sha256; cv=none; b=fSsyMSjjRN7kwXYzYRJRsRllAtS3d8JASYQyTKUJu0EfdFgU3WUzMcRsm27GSSPju/6Wvi piKXCrrAeUP+5zkVdh2yQn9wD+ev7qfiP+9pAjr6WKW9e3eJ3SCAVmqCIg/Jq1KcDmP3LS tVXYioTheTIA67uj0NPX5C6Lc1zy2quDQbdkS5XGStnrkDxHdEP9Ge8ndY3xd6WdBo35PH awtUk3270+BLZA39SeK9+8GyEvvpRTd68wNVPcL992R0x617Ntvvsn2Q/gyXDK5cjGPDI5 gkRCLb6XhBIeuANGGc1SFwVwUBcnsaTgryR+CkUwsNk9yjzoSE+q3/sewXHo+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCG5m2pz1BWp; Wed, 12 Feb 2025 19:39: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 51CJd62h061642; Wed, 12 Feb 2025 19:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd6xR061639; Wed, 12 Feb 2025 19:39:06 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:06 GMT Message-Id: <202502121939.51CJd6xR061639@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 5e9272401d80 - main - pf: fold pf_test_state_{tcp,udp,other} into one pf_test_state List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e9272401d80381d95be84ab3b7755a207245268 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=5e9272401d80381d95be84ab3b7755a207245268 commit 5e9272401d80381d95be84ab3b7755a207245268 Author: Kristof Provost AuthorDate: 2025-02-06 14:36:11 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: fold pf_test_state_{tcp,udp,other} into one pf_test_state The _icmp variant stays because it is completely different. pf_setup_pdesc sets us up with access to ports, cksum etc in a protocol independent matter, so we don't need many protocol switches here. tcp and udp were almost identical, the _other case changes significantly - not too unlikely this fixes a subtle bug or two in that case. ok ryan benno bluhm mikeb Obtained from: OpenBSD, henning , f6cfeb8e09 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 325 ++++++++++++++-------------------------------------- 1 file changed, 87 insertions(+), 238 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 3957d39edc13..c92faf43d967 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -353,10 +353,8 @@ static int pf_tcp_track_full(struct pf_kstate **, struct pf_pdesc *, u_short *, int *); static int pf_tcp_track_sloppy(struct pf_kstate **, struct pf_pdesc *, u_short *); -static int pf_test_state_tcp(struct pf_kstate **, - struct pf_pdesc *, u_short *); -static int pf_test_state_udp(struct pf_kstate **, - struct pf_pdesc *); +static int pf_test_state(struct pf_kstate **, struct pf_pdesc *, + u_short *); int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, int, u_int16_t, u_int16_t, @@ -368,8 +366,6 @@ static void pf_sctp_multihome_delayed(struct pf_pdesc *, struct pfi_kkif *, struct pf_kstate *, int); static int pf_test_state_sctp(struct pf_kstate **, struct pf_pdesc *, u_short *); -static int pf_test_state_other(struct pf_kstate **, - struct pf_pdesc *); static u_int16_t pf_calc_mss(struct pf_addr *, sa_family_t, int, u_int16_t); static int pf_check_proto_cksum(struct mbuf *, int, int, @@ -6901,153 +6897,102 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate **state, u_short *reason) } static int -pf_test_state_tcp(struct pf_kstate **state, struct pf_pdesc *pd, - u_short *reason) +pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason) { struct pf_state_key_cmp key; - struct tcphdr *th = &pd->hdr.tcp; int copyback = 0; - int action = PF_PASS; struct pf_state_peer *src, *dst; + uint8_t psrc, pdst; + int action = PF_PASS; bzero(&key, sizeof(key)); key.af = pd->af; - key.proto = IPPROTO_TCP; + key.proto = pd->virtual_proto; PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[pd->sidx] = th->th_sport; - key.port[pd->didx] = th->th_dport; + key.port[pd->sidx] = pd->osport; + key.port[pd->didx] = pd->odport; STATE_LOOKUP(&key, *state, pd); if (pd->dir == (*state)->direction) { src = &(*state)->src; dst = &(*state)->dst; + psrc = PF_PEER_SRC; + pdst = PF_PEER_DST; } else { src = &(*state)->dst; dst = &(*state)->src; + psrc = PF_PEER_DST; + pdst = PF_PEER_SRC; } - if ((action = pf_synproxy(pd, state, reason)) != PF_PASS) - return (action); - - if (dst->state >= TCPS_FIN_WAIT_2 && - src->state >= TCPS_FIN_WAIT_2 && - (((tcp_get_flags(th) & (TH_SYN|TH_ACK)) == TH_SYN) || - ((tcp_get_flags(th) & (TH_SYN|TH_ACK|TH_RST)) == TH_ACK && - pf_syncookie_check(pd) && pd->dir == PF_IN))) { - if (V_pf_status.debug >= PF_DEBUG_MISC) { - printf("pf: state reuse "); - pf_print_state(*state); - pf_print_flags(tcp_get_flags(th)); - printf("\n"); - } - /* XXX make sure it's the same direction ?? */ - pf_set_protostate(*state, PF_PEER_BOTH, TCPS_CLOSED); - pf_unlink_state(*state); - *state = NULL; - return (PF_DROP); - } - - if ((*state)->state_flags & PFSTATE_SLOPPY) { - if (pf_tcp_track_sloppy(state, pd, reason) == PF_DROP) - return (PF_DROP); - } else { - int ret; + switch (pd->virtual_proto) { + case IPPROTO_TCP: { + struct tcphdr *th = &pd->hdr.tcp; - ret = pf_tcp_track_full(state, pd, reason, - ©back); - if (ret == PF_DROP) + if ((action = pf_synproxy(pd, state, reason)) != PF_PASS) + return (action); + if ((*state)->src.state >= TCPS_FIN_WAIT_2 && + (*state)->dst.state >= TCPS_FIN_WAIT_2 && + (((tcp_get_flags(th) & (TH_SYN|TH_ACK)) == TH_SYN) || + ((tcp_get_flags(th) & (TH_SYN|TH_ACK|TH_RST)) == TH_ACK && + pf_syncookie_check(pd) && pd->dir == PF_IN))) { + if (V_pf_status.debug >= PF_DEBUG_MISC) { + printf("pf: state reuse "); + pf_print_state(*state); + pf_print_flags(tcp_get_flags(th)); + printf("\n"); + } + /* XXX make sure it's the same direction ?? */ + pf_set_protostate(*state, PF_PEER_BOTH, TCPS_CLOSED); + pf_unlink_state(*state); + *state = NULL; return (PF_DROP); - } - - /* translate source/destination address, if necessary */ - if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { - struct pf_state_key *nk; - int afto, sidx, didx; - - if (PF_REVERSED_KEY((*state)->key, pd->af)) - nk = (*state)->key[pd->sidx]; - else - nk = (*state)->key[pd->didx]; - - afto = pd->af != nk->af; - sidx = afto ? pd->didx : pd->sidx; - didx = afto ? pd->sidx : pd->didx; - - if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || - nk->port[sidx] != th->th_sport) - pf_change_ap(pd->m, pd->src, &th->th_sport, - pd->ip_sum, &th->th_sum, &nk->addr[sidx], - nk->port[sidx], 0, pd->af, nk->af); - - if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || - nk->port[didx] != th->th_dport) - pf_change_ap(pd->m, pd->dst, &th->th_dport, - pd->ip_sum, &th->th_sum, &nk->addr[didx], - nk->port[didx], 0, pd->af, nk->af); - - if (afto) { - PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); - PF_ACPY(&pd->ndaddr, &nk->addr[didx], nk->af); - pd->naf = nk->af; - action = PF_AFRT; } + if ((*state)->state_flags & PFSTATE_SLOPPY) { + if (pf_tcp_track_sloppy(state, pd, reason) == PF_DROP) + return (PF_DROP); + } else { + int ret; - copyback = 1; + ret = pf_tcp_track_full(state, pd, reason, + ©back); + if (ret == PF_DROP) + return (PF_DROP); + } + break; } + case IPPROTO_UDP: + /* update states */ + if (src->state < PFUDPS_SINGLE) + pf_set_protostate(*state, psrc, PFUDPS_SINGLE); + if (dst->state == PFUDPS_SINGLE) + pf_set_protostate(*state, pdst, PFUDPS_MULTIPLE); - /* Copyback sequence modulation or stateful scrub changes if needed */ - if (copyback) - m_copyback(pd->m, pd->off, sizeof(*th), (caddr_t)th); - - return (action); -} - -static int -pf_test_state_udp(struct pf_kstate **state, struct pf_pdesc *pd) -{ - struct pf_state_peer *src, *dst; - struct pf_state_key_cmp key; - struct udphdr *uh = &pd->hdr.udp; - uint8_t psrc, pdst; - int action = PF_PASS; - - bzero(&key, sizeof(key)); - key.af = pd->af; - key.proto = IPPROTO_UDP; - PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); - PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[pd->sidx] = uh->uh_sport; - key.port[pd->didx] = uh->uh_dport; - - STATE_LOOKUP(&key, *state, pd); + /* update expire time */ + (*state)->expire = pf_get_uptime(); + if (src->state == PFUDPS_MULTIPLE && dst->state == PFUDPS_MULTIPLE) + (*state)->timeout = PFTM_UDP_MULTIPLE; + else + (*state)->timeout = PFTM_UDP_SINGLE; + break; + default: + /* update states */ + if (src->state < PFOTHERS_SINGLE) + pf_set_protostate(*state, psrc, PFOTHERS_SINGLE); + if (dst->state == PFOTHERS_SINGLE) + pf_set_protostate(*state, pdst, PFOTHERS_MULTIPLE); - if (pd->dir == (*state)->direction) { - src = &(*state)->src; - dst = &(*state)->dst; - psrc = PF_PEER_SRC; - pdst = PF_PEER_DST; - } else { - src = &(*state)->dst; - dst = &(*state)->src; - psrc = PF_PEER_DST; - pdst = PF_PEER_SRC; + /* update expire time */ + (*state)->expire = pf_get_uptime(); + if (src->state == PFOTHERS_MULTIPLE && dst->state == PFOTHERS_MULTIPLE) + (*state)->timeout = PFTM_OTHER_MULTIPLE; + else + (*state)->timeout = PFTM_OTHER_SINGLE; + break; } - /* update states */ - if (src->state < PFUDPS_SINGLE) - pf_set_protostate(*state, psrc, PFUDPS_SINGLE); - if (dst->state == PFUDPS_SINGLE) - pf_set_protostate(*state, pdst, PFUDPS_MULTIPLE); - - /* update expire time */ - (*state)->expire = pf_get_uptime(); - if (src->state == PFUDPS_MULTIPLE && dst->state == PFUDPS_MULTIPLE) - (*state)->timeout = PFTM_UDP_MULTIPLE; - else - (*state)->timeout = PFTM_UDP_SINGLE; - /* translate source/destination address, if necessary */ if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { struct pf_state_key *nk; @@ -7063,16 +7008,18 @@ pf_test_state_udp(struct pf_kstate **state, struct pf_pdesc *pd) didx = afto ? pd->sidx : pd->didx; if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || - nk->port[sidx] != uh->uh_sport) - pf_change_ap(pd->m, pd->src, &uh->uh_sport, pd->ip_sum, - &uh->uh_sum, &nk->addr[pd->sidx], - nk->port[sidx], 1, pd->af, nk->af); + nk->port[sidx] != pd->osport) + pf_change_ap(pd->m, pd->src, pd->sport, pd->ip_sum, + pd->pcksum, &nk->addr[pd->sidx], + nk->port[sidx], pd->virtual_proto == IPPROTO_UDP, + pd->af, nk->af); if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || - nk->port[didx] != uh->uh_dport) - pf_change_ap(pd->m, pd->dst, &uh->uh_dport, pd->ip_sum, - &uh->uh_sum, &nk->addr[pd->didx], - nk->port[didx], 1, pd->af, nk->af); + nk->port[didx] != pd->odport) + pf_change_ap(pd->m, pd->dst, pd->dport, pd->ip_sum, + pd->pcksum, &nk->addr[pd->didx], + nk->port[didx], pd->virtual_proto == IPPROTO_UDP, + pd->af, nk->af); if (afto) { PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); @@ -7081,9 +7028,12 @@ pf_test_state_udp(struct pf_kstate **state, struct pf_pdesc *pd) action = PF_AFRT; } - m_copyback(pd->m, pd->off, sizeof(*uh), (caddr_t)uh); + copyback = 1; } + if (copyback && pd->hdrlen > 0) + m_copyback(pd->m, pd->off, pd->hdrlen, pd->hdr.any); + return (action); } @@ -8672,107 +8622,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, } } -static int -pf_test_state_other(struct pf_kstate **state, struct pf_pdesc *pd) -{ - struct pf_state_peer *src, *dst; - struct pf_state_key_cmp key; - uint8_t psrc, pdst; - int action = PF_PASS; - - bzero(&key, sizeof(key)); - key.af = pd->af; - key.proto = pd->proto; - PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); - PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[0] = key.port[1] = 0; - - STATE_LOOKUP(&key, *state, pd); - - if (pd->dir == (*state)->direction) { - src = &(*state)->src; - dst = &(*state)->dst; - psrc = PF_PEER_SRC; - pdst = PF_PEER_DST; - } else { - src = &(*state)->dst; - dst = &(*state)->src; - psrc = PF_PEER_DST; - pdst = PF_PEER_SRC; - } - - /* update states */ - if (src->state < PFOTHERS_SINGLE) - pf_set_protostate(*state, psrc, PFOTHERS_SINGLE); - if (dst->state == PFOTHERS_SINGLE) - pf_set_protostate(*state, pdst, PFOTHERS_MULTIPLE); - - /* update expire time */ - (*state)->expire = pf_get_uptime(); - if (src->state == PFOTHERS_MULTIPLE && dst->state == PFOTHERS_MULTIPLE) - (*state)->timeout = PFTM_OTHER_MULTIPLE; - else - (*state)->timeout = PFTM_OTHER_SINGLE; - - /* translate source/destination address, if necessary */ - if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { - struct pf_state_key *nk; - int afto; - - if (PF_REVERSED_KEY((*state)->key, pd->af)) - nk = (*state)->key[pd->sidx]; - else - nk = (*state)->key[pd->didx]; - - KASSERT(nk, ("%s: nk is null", __func__)); - KASSERT(pd, ("%s: pd is null", __func__)); - KASSERT(pd->src, ("%s: pd->src is null", __func__)); - KASSERT(pd->dst, ("%s: pd->dst is null", __func__)); - - afto = pd->af != nk->af; - - switch (pd->af) { -#ifdef INET - case AF_INET: - if (!afto && - PF_ANEQ(pd->src, &nk->addr[pd->sidx], AF_INET)) - pf_change_a(&pd->src->v4.s_addr, - pd->ip_sum, - nk->addr[pd->sidx].v4.s_addr, - 0); - - if (!afto && - PF_ANEQ(pd->dst, &nk->addr[pd->didx], AF_INET)) - pf_change_a(&pd->dst->v4.s_addr, - pd->ip_sum, - nk->addr[pd->didx].v4.s_addr, - 0); - - break; -#endif /* INET */ -#ifdef INET6 - case AF_INET6: - if (!afto && - PF_ANEQ(pd->src, &nk->addr[pd->sidx], AF_INET6)) - PF_ACPY(pd->src, &nk->addr[pd->sidx], pd->af); - - if (!afto && - PF_ANEQ(pd->dst, &nk->addr[pd->didx], AF_INET6)) - PF_ACPY(pd->dst, &nk->addr[pd->didx], pd->af); -#endif /* INET6 */ - } - if (afto) { - PF_ACPY(&pd->nsaddr, - &nk->addr[afto ? pd->didx : pd->sidx], nk->af); - PF_ACPY(&pd->ndaddr, - &nk->addr[afto ? pd->sidx : pd->didx], nk->af); - pd->naf = nk->af; - action = PF_AFRT; - } - } - return (action); -} - /* * ipoff and off are measured from the start of the mbuf chain. * h must be at "ipoff" on the mbuf chain. @@ -10439,7 +10288,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 action = pf_normalize_tcp(&pd); if (action == PF_DROP) goto done; - action = pf_test_state_tcp(&s, &pd, &reason); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); @@ -10465,7 +10314,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action != PF_PASS) break; - action = pf_test_state_tcp(&s, &pd, &reason); + action = pf_test_state(&s, &pd, &reason); if (action != PF_PASS || s == NULL) { action = PF_DROP; break; @@ -10485,7 +10334,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 } case IPPROTO_UDP: { - action = pf_test_state_udp(&s, &pd); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); @@ -10543,7 +10392,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 } default: - action = pf_test_state_other(&s, &pd); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); From nobody Wed Feb 12 19:39:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCG4HkSz5nGYY; Wed, 12 Feb 2025 19:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCF5yxCz3Xby; Wed, 12 Feb 2025 19:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGnstng+LF3gatKVXvYCavQeGuYy9+ZhWjXby41imx0=; b=jHREXoDCzRgZHmBsSS68sZ1E0XmwtmSnCykYegb+zONbWF/3vwVDLPYUHY34jlT3P7x1re TRpFTlmEgobGNpZCWMqwlNFeT0YRnLSFqvPJLnttRTJqXlqgfJEhALo79qCW+XRfLWWDfJ pDGxLa8emrCfb1nJzwa/7J+Fbll8Z+CywfYhmftRTG+DytKxO29dE6zSINFbVbb+pXxakJ kNql7pBe9g/A2BYLlrxxPGoJC95YazkBgyAxfjfznj+rdWn0H6lJjn0V2LY9p+lguSjkhB sGtmTybbjsz6L4aWYuDDVRYdgpN76MC4zk7/AF6a8cyka7HNQdcRpK+m31r3xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGnstng+LF3gatKVXvYCavQeGuYy9+ZhWjXby41imx0=; b=w4tGsHu2js0koeXaqPOGoGTwEqTDP/14o4If1N5xoETJ78lRnR/v/wEF0Ej9ZTJWLaYiH4 SyvRP1P4IyqGymOq5FF61RJoSbHihqy7vURzil0/mm8Hg+yxHED3H0Z9uD4Qlyv7fV5gz4 pXKuyciURmb9XroTRo02Qou+7r7r8kSrwmhJk3jrikc++x8TXZDUhwy1+ioZPcSW9Yes3J rMRbTPx+aYS82jAEQTZD6ElFdYgzNntImEPmnETh4LwyjBBhAx810kF2nYziKUXhgILntG HOCi1Aew18VKk8Q0Toe1O+RcAuiOsuRSjbAW3tzmAyvBF8Mk7IRTewGGb4rVcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389145; a=rsa-sha256; cv=none; b=IIjkUWiGsfMPv5A8+mSPensCCidDwyrzlrcIpZ/1qJX8MwMpDFt2CqrWiqQ/Fvy07OdzFI NEmVK0Xd5nhQK5ce83KZxMmVyxDQOofkDVzQor+XFdTdrNqYQxmFdv99Pwa6udMp89QmDp E3/Qbdq3ycxSzqURFDT9oQwi6qDYNJiPao7kVY37mvi79evd5KELogNrRuPnhrp9aw6seS 1mOca87xe5U9em4VyOAdhmIXnNccHkQUhm05XEk6xsA/jKK6PnSbgOjTZatk4lgT5uJFW3 ZjQwej2e+yU8EqOefOzAR+l3remcKElhwPml6Nl1zQGv14DWQHj+iexmpc6/4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCF5B3jz1BV4; Wed, 12 Feb 2025 19:39: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 51CJd5v6061607; Wed, 12 Feb 2025 19:39:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd5QR061604; Wed, 12 Feb 2025 19:39:05 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:05 GMT Message-Id: <202502121939.51CJd5QR061604@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: c56650fd791d - main - pf: add a pointer to the protocol checksum header field to pf_pdesc List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c56650fd791dbaa4a5c677bdac6cff3d4027264a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c56650fd791dbaa4a5c677bdac6cff3d4027264a commit c56650fd791dbaa4a5c677bdac6cff3d4027264a Author: Kristof Provost AuthorDate: 2025-02-05 16:40:00 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: add a pointer to the protocol checksum header field to pf_pdesc Set it up in pf_setup_pdesc(). ok ryan benno mikeb bluhm Obtained from: OpenBSD, henning , 14255d4d87 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 65be1a0ce19b..d4c3831b49f8 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1614,6 +1614,7 @@ struct pf_pdesc { struct pf_addr *src; /* src address */ struct pf_addr *dst; /* dst address */ + u_int16_t *pcksum; /* proto cksum */ u_int16_t *sport; u_int16_t *dport; u_int16_t osport; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 874fd0678f7a..3957d39edc13 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10090,6 +10090,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, pd->p_len = pd->tot_len - pd->off - (th->th_off << 2); pd->sport = &th->th_sport; pd->dport = &th->th_dport; + pd->pcksum = &th->th_sum; break; } case IPPROTO_UDP: { @@ -10111,6 +10112,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, } pd->sport = &uh->uh_sport; pd->dport = &uh->uh_dport; + pd->pcksum = &uh->uh_sum; break; } case IPPROTO_SCTP: { @@ -10176,6 +10178,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, return (-1); } pd->hdrlen = icmp_hlen; + pd->pcksum = &pd->hdr.icmp.icmp_cksum; break; } #endif From nobody Wed Feb 12 19:39:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCJ1scMz5nGsM; Wed, 12 Feb 2025 19:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCJ01F6z3Xc6; Wed, 12 Feb 2025 19:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6gwFGKWlhD2imUmWLr9p10sGN5V8Yh71CHsVev7CBwk=; b=R+6u5wXPsNJUFeVtg5gxh3avoEkGlJ2XTwSbGre43jwOBZyki7Dux5JvhfVVCSBAqwt9C8 n07ot1kIpwpkbmMPiW1R1kBX6RsJL3NgBOZOnoSdT9jnFgganb/1KWWOgmlHyM+4HX3Y2Y vxqxvPh9LkGSsTbEwSnCtIHWDjTLGupwVQhtkjRnPDOLw9JilNgIx3I4Zdd+GtHAnLMhQv yWjK4ClNQR0P87gSkcjgFgCwKIJCVSXQIQbysFquHJqyeHF6l4G1BWTX8i2LZ79tMBQmKy vau8IAc5VXVplMGbeGmf8s5Vlp8Q+RZHM1Qy5TG4sgAV/CJRS3lpa4qeuDVWjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6gwFGKWlhD2imUmWLr9p10sGN5V8Yh71CHsVev7CBwk=; b=jndaiSBEErqVC/r9svy8m9vIwyAVJ8zd8fYh6rrzmtfnq+vcNGU4ckYj49Li+2lWjpkCWP oF5+r62BuXnsw0vjiU1UQAEcs2NmR1lWpPAlsI15Ztm6e70/VEyUIRFPhUHce0vOt0v+QC cW1Acjy/xzn6Ws1+v7+dByvFH9wqKekpa7Z1sJk762mLjki9vLVsfGsn9sCBtZ5m9OUuCv 73O5kmvFaE2OfJNg/mt9g/2y1TmY5c5ZP3cc0yNct3gUIZvU73sE/h6bFrWKe6CGEGhyQZ lq6iiAbTIlQrbdajMWp+3j7+HUearJtkKUEnKrREscO7ZaHcaqCWZqNAGsczWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389148; a=rsa-sha256; cv=none; b=jyre6WqicA6As9KVi5w5//nL29NlrVWnoI+2gINWCpi65C3YFO0AnoqTASynCT16dy0SMR V77QxQp6tGgUJqDizNK0lhE7vG2RB9PFQLlcPPTZCkAakI30SRTgpULExlyfDhFtN5q2Bu F/MVbwbd8ECxkE9iKNsbQNCQ0vBn+l1fE6jTq722ZRBOFmiB/bjqHOjcjr8/dly8NTGO6Z wy2TwXrVLzqQ3RfMD5zEu0cOeAs/tSMFEFW5IagWqjAEY9WJRoYSYFLrjmJ4WhD6R5nE1o E6LODxLL0uLZdVg9NAElK99o7RztSs3TUEJ4gYlzOjLoQBhfN+bYXuuMwhNazA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCH6TVmz1BFf; Wed, 12 Feb 2025 19:39: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 51CJd7fH061682; Wed, 12 Feb 2025 19:39:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd70e061679; Wed, 12 Feb 2025 19:39:07 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:07 GMT Message-Id: <202502121939.51CJd70e061679@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: f3e8653badad - main - pf: fold pf_test_state_sctp into pf_test_state as well List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3e8653badad6989a570f959faa44bb0166d8f09 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f3e8653badad6989a570f959faa44bb0166d8f09 commit f3e8653badad6989a570f959faa44bb0166d8f09 Author: Kristof Provost AuthorDate: 2025-02-06 14:52:56 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: fold pf_test_state_sctp into pf_test_state as well Just like TCP and UDP we can fold the SCTP code into pf_test_state(). This does require a dummy variable to hold the protocol checksum, because unlike TCP and UDP the SCTP checksum is 32-bits. We don't need to change the checksum though, so simply pointing the pcksum pointer to a safe dummy location suffices to re-use pf_test_state(). Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 190 ++++++++++++++++++---------------------------------- 2 files changed, 65 insertions(+), 126 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index d4c3831b49f8..88364aaa45ed 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1662,6 +1662,7 @@ struct pf_pdesc { #define PFDESC_SCTP_ADD_IP 0x1000 u_int16_t sctp_flags; u_int32_t sctp_initiate_tag; + u_int16_t sctp_dummy_sum; struct pf_krule *related_rule; struct pf_sctp_multihome_jobs sctp_multihome_jobs; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c92faf43d967..3f9e5473deea 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -361,11 +361,11 @@ int pf_icmp_state_lookup(struct pf_state_key_cmp *, int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, struct pf_pdesc *, u_short *); +static int pf_sctp_track(struct pf_kstate *, struct pf_pdesc *, + u_short *); static void pf_sctp_multihome_detach_addr(const struct pf_kstate *); static void pf_sctp_multihome_delayed(struct pf_pdesc *, struct pfi_kkif *, struct pf_kstate *, int); -static int pf_test_state_sctp(struct pf_kstate **, - struct pf_pdesc *, u_short *); static u_int16_t pf_calc_mss(struct pf_addr *, sa_family_t, int, u_int16_t); static int pf_check_proto_cksum(struct mbuf *, int, int, @@ -6977,6 +6977,61 @@ pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason) else (*state)->timeout = PFTM_UDP_SINGLE; break; + case IPPROTO_SCTP: + if ((src->state >= SCTP_SHUTDOWN_SENT || src->state == SCTP_CLOSED) && + (dst->state >= SCTP_SHUTDOWN_SENT || dst->state == SCTP_CLOSED) && + pd->sctp_flags & PFDESC_SCTP_INIT) { + pf_set_protostate(*state, PF_PEER_BOTH, SCTP_CLOSED); + pf_unlink_state(*state); + *state = NULL; + return (PF_DROP); + } + + if (pf_sctp_track(*state, pd, reason) != PF_PASS) + return (PF_DROP); + + /* Track state. */ + if (pd->sctp_flags & PFDESC_SCTP_INIT) { + if (src->state < SCTP_COOKIE_WAIT) { + pf_set_protostate(*state, psrc, SCTP_COOKIE_WAIT); + (*state)->timeout = PFTM_SCTP_OPENING; + } + } + if (pd->sctp_flags & PFDESC_SCTP_INIT_ACK) { + MPASS(dst->scrub != NULL); + if (dst->scrub->pfss_v_tag == 0) + dst->scrub->pfss_v_tag = pd->sctp_initiate_tag; + } + + /* + * Bind to the correct interface if we're if-bound. For multihomed + * extra associations we don't know which interface that will be until + * here, so we've inserted the state on V_pf_all. Fix that now. + */ + if ((*state)->kif == V_pfi_all && + (*state)->rule->rule_flag & PFRULE_IFBOUND) + (*state)->kif = pd->kif; + + if (pd->sctp_flags & (PFDESC_SCTP_COOKIE | PFDESC_SCTP_HEARTBEAT_ACK)) { + if (src->state < SCTP_ESTABLISHED) { + pf_set_protostate(*state, psrc, SCTP_ESTABLISHED); + (*state)->timeout = PFTM_SCTP_ESTABLISHED; + } + } + if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN | + PFDESC_SCTP_SHUTDOWN_COMPLETE)) { + if (src->state < SCTP_SHUTDOWN_PENDING) { + pf_set_protostate(*state, psrc, SCTP_SHUTDOWN_PENDING); + (*state)->timeout = PFTM_SCTP_CLOSING; + } + } + if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN_COMPLETE | PFDESC_SCTP_ABORT)) { + pf_set_protostate(*state, psrc, SCTP_CLOSED); + (*state)->timeout = PFTM_SCTP_CLOSED; + } + + (*state)->expire = pf_get_uptime(); + break; default: /* update states */ if (src->state < PFOTHERS_SINGLE) @@ -7064,129 +7119,6 @@ pf_sctp_track(struct pf_kstate *state, struct pf_pdesc *pd, return (PF_PASS); } -static int -pf_test_state_sctp(struct pf_kstate **state, struct pf_pdesc *pd, - u_short *reason) -{ - struct pf_state_key_cmp key; - struct pf_state_peer *src, *dst; - struct sctphdr *sh = &pd->hdr.sctp; - u_int8_t psrc; //, pdst; - - bzero(&key, sizeof(key)); - key.af = pd->af; - key.proto = IPPROTO_SCTP; - PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); - PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[pd->sidx] = sh->src_port; - key.port[pd->didx] = sh->dest_port; - - STATE_LOOKUP(&key, *state, pd); - - if (pd->dir == (*state)->direction) { - src = &(*state)->src; - dst = &(*state)->dst; - psrc = PF_PEER_SRC; - } else { - src = &(*state)->dst; - dst = &(*state)->src; - psrc = PF_PEER_DST; - } - - if ((src->state >= SCTP_SHUTDOWN_SENT || src->state == SCTP_CLOSED) && - (dst->state >= SCTP_SHUTDOWN_SENT || dst->state == SCTP_CLOSED) && - pd->sctp_flags & PFDESC_SCTP_INIT) { - pf_set_protostate(*state, PF_PEER_BOTH, SCTP_CLOSED); - pf_unlink_state(*state); - *state = NULL; - return (PF_DROP); - } - - if (pf_sctp_track(*state, pd, reason) != PF_PASS) - return (PF_DROP); - - /* Track state. */ - if (pd->sctp_flags & PFDESC_SCTP_INIT) { - if (src->state < SCTP_COOKIE_WAIT) { - pf_set_protostate(*state, psrc, SCTP_COOKIE_WAIT); - (*state)->timeout = PFTM_SCTP_OPENING; - } - } - if (pd->sctp_flags & PFDESC_SCTP_INIT_ACK) { - MPASS(dst->scrub != NULL); - if (dst->scrub->pfss_v_tag == 0) - dst->scrub->pfss_v_tag = pd->sctp_initiate_tag; - } - - /* - * Bind to the correct interface if we're if-bound. For multihomed - * extra associations we don't know which interface that will be until - * here, so we've inserted the state on V_pf_all. Fix that now. - */ - if ((*state)->kif == V_pfi_all && - (*state)->rule->rule_flag & PFRULE_IFBOUND) - (*state)->kif = pd->kif; - - if (pd->sctp_flags & (PFDESC_SCTP_COOKIE | PFDESC_SCTP_HEARTBEAT_ACK)) { - if (src->state < SCTP_ESTABLISHED) { - pf_set_protostate(*state, psrc, SCTP_ESTABLISHED); - (*state)->timeout = PFTM_SCTP_ESTABLISHED; - } - } - if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN | - PFDESC_SCTP_SHUTDOWN_COMPLETE)) { - if (src->state < SCTP_SHUTDOWN_PENDING) { - pf_set_protostate(*state, psrc, SCTP_SHUTDOWN_PENDING); - (*state)->timeout = PFTM_SCTP_CLOSING; - } - } - if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN_COMPLETE | PFDESC_SCTP_ABORT)) { - pf_set_protostate(*state, psrc, SCTP_CLOSED); - (*state)->timeout = PFTM_SCTP_CLOSED; - } - - (*state)->expire = pf_get_uptime(); - - /* translate source/destination address, if necessary */ - if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { - uint16_t checksum = 0; - struct pf_state_key *nk; - int afto, sidx, didx; - - if (PF_REVERSED_KEY((*state)->key, pd->af)) - nk = (*state)->key[pd->sidx]; - else - nk = (*state)->key[pd->didx]; - - afto = pd->af != nk->af; - sidx = afto ? pd->didx : pd->sidx; - didx = afto ? pd->sidx : pd->didx; - - if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || - nk->port[sidx] != pd->hdr.sctp.src_port) { - pf_change_ap(pd->m, pd->src, &pd->hdr.sctp.src_port, - pd->ip_sum, &checksum, &nk->addr[sidx], - nk->port[sidx], 1, pd->af, pd->naf); - } - - if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || - nk->port[didx] != pd->hdr.sctp.dest_port) { - pf_change_ap(pd->m, pd->dst, &pd->hdr.sctp.dest_port, - pd->ip_sum, &checksum, &nk->addr[didx], - nk->port[didx], 1, pd->af, pd->naf); - } - - if (afto) { - PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); - PF_ACPY(&pd->ndaddr, &nk->addr[didx], nk->af); - pd->naf = nk->af; - return (PF_AFRT); - } - } - - return (PF_PASS); -} - static void pf_sctp_multihome_detach_addr(const struct pf_kstate *s) { @@ -9986,6 +9918,12 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, REASON_SET(reason, PFRES_SHORT); return (-1); } + /* + * Placeholder. The SCTP checksum is 32-bits, but + * pf_test_state() expects to update a 16-bit checksum. + * Provide a dummy value which we'll subsequently ignore. + */ + pd->pcksum = &pd->sctp_dummy_sum; break; } case IPPROTO_ICMP: { @@ -10350,7 +10288,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 action = pf_normalize_sctp(&pd); if (action == PF_DROP) goto done; - action = pf_test_state_sctp(&s, &pd, &reason); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); From nobody Wed Feb 12 19:39:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCL00zJz5nGj5; Wed, 12 Feb 2025 19:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCK1MVqz3Xhf; Wed, 12 Feb 2025 19:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wUYBEO3HRh8mk6zR5dX6FNXmcwGrQkXl2sI0J508nvs=; b=FY+iOy4nRLgEnV5557tBDXNlewESxMb6RzF4pDflbRpPpzqWYqLUzPRo/nEwrL/j7J/RxP 979C1wjP+xhnlmi8/3e3JCyNopK4zv+EknuVcaYV2I7UfuCzLsA7N/xZrD7jJzBr4EMPMK VjAhU68Y6yC1JrY7fEwVnVWD4fZo5qgugbOs1Dite0ArFNtvkX5/JorSnVlhqkxwnyemg9 8an1+lxfiVEv4S11AGA8zgC4O5O+l4naRZz9q1ib1TY4sjXS7q+LaJwuHTF9/XN/w9P9GW +En00wj3Te7cvw8ENAFc2udq/x3gdsuUZ3rEE7CaOyqe+8w1J0Z22OlWTwXD+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wUYBEO3HRh8mk6zR5dX6FNXmcwGrQkXl2sI0J508nvs=; b=Oz33hbeAmCL3gAteIqd1xyAWz7hknOZVSLQFuBAVIZDQjUGZzwebjvo9n6qhtAKAMThg84 sKqtCAQIXRgFgxUl9nSpUBpJcavXTvaPTE7IyI8L3SxnX1HzjblZ+YMclLSed44AZ6mTV6 ITAFZXbHnmN5p8JLemc1qF5iYVqSUgV5LEPAO7L4DegQrj1eMM2z+9KPfrsME43gtHYAj4 Jl35zX2lS4rxvUOEnCvVXLe0uc07Pj8Kfo/rkTfrFLufXW3OJVSukz2nEQvxN4qqeS5Cws Jd09rlxKaiw0/3UMdKuh7nSLbjswZ0iYX8FNhim1dzVTEfpwYxfTgc8t+uQD4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389149; a=rsa-sha256; cv=none; b=J6suK2tgJCB5iPlTczm83ims9t6bsIg8zdDK+vZiZryExTt8uw24s3eVFWwYBRqbVPMsXI /XFqLUby9GkaAG78ssCcZExRyWs2n2BLr5gPUhO3HIi5rgLott6m69DRe5VAHnxWU+m7Kc mxUEelLfgvgTQewYqREyQA4E4mfYWJPIjb/PNxXQ7vwiKMXjv4nVSNnS3mrzd48PdrAJr7 f3ZlF0gC2mk9zHdbxrA9B6zw1fqsg6cf8A7IXdDsEnWwTKay0E87rxDYzOMdWLegwGmzPk e/xZTbbc6nCe0UI9QQxKR20oJ07RGEi8fx+KECm0l5eq6A5ot1O25QKhaIh28Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCK0drkz1BlC; Wed, 12 Feb 2025 19:39: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 51CJd8f1061714; Wed, 12 Feb 2025 19:39:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd8ww061711; Wed, 12 Feb 2025 19:39:08 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:08 GMT Message-Id: <202502121939.51CJd8ww061711@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: b53a787d23e5 - main - pf: fold the UDP, SCTP and other case into one List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b53a787d23e5fbb9e6133ccaef33c917fbb7f83b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b53a787d23e5fbb9e6133ccaef33c917fbb7f83b commit b53a787d23e5fbb9e6133ccaef33c917fbb7f83b Author: Kristof Provost AuthorDate: 2025-02-06 15:26:53 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: fold the UDP, SCTP and other case into one After the pf_test_state folding we can collapse the UDP, SCTP and other cases in pf_test() as well. Inspired by: OpenBSD, henning , 644c98137c Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 3f9e5473deea..3a56e6855d6f 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10271,23 +10271,13 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 break; } - case IPPROTO_UDP: { - action = pf_test_state(&s, &pd, &reason); - if (action == PF_PASS || action == PF_AFRT) { - if (V_pfsync_update_state_ptr != NULL) - V_pfsync_update_state_ptr(s); - r = s->rule; - a = s->anchor; - } else if (s == NULL) - action = pf_test_rule(&r, &s, &pd, - &a, &ruleset, inp); - break; - } - - case IPPROTO_SCTP: { + case IPPROTO_SCTP: action = pf_normalize_sctp(&pd); if (action == PF_DROP) goto done; + /* fallthrough */ + case IPPROTO_UDP: + default: action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) @@ -10299,7 +10289,6 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 &pd, &a, &ruleset, inp); } break; - } case IPPROTO_ICMP: case IPPROTO_ICMPV6: { @@ -10329,17 +10318,6 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 break; } - default: - action = pf_test_state(&s, &pd, &reason); - if (action == PF_PASS || action == PF_AFRT) { - if (V_pfsync_update_state_ptr != NULL) - V_pfsync_update_state_ptr(s); - r = s->rule; - a = s->anchor; - } else if (s == NULL) - action = pf_test_rule(&r, &s, &pd, - &a, &ruleset, inp); - break; } done: From nobody Wed Feb 12 19:39:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCP0rYWz5nGsR; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCL1q0nz3XfS; Wed, 12 Feb 2025 19:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vs9C6WaYfFQouQKnYC17m6OIng/wqkOKZth3HEFJwKI=; b=sPXUL2a28TXFStSBwdCKmGYox/TtJnrUqZNukJX+LpA/k1nKgJag4bCo1tfvkvazV7Zfr6 Xrltut7kEmX2RbfrofhFCEpxL3y+WNmiWPC2cXOMlD6WxP6PWdh4vH2dmyeya50viSJOVy RijdkkYBTnIrxuqDk/gEDU9hW0bAaMFAGy+PLt5hFsHizx7fyIcI7pSuCxGIG2Y62/gHyu DfYE9ZGqObCHbXq+xFERZm4DfCf/4rUorsFFklosQKk9BeFtKVFnYguKZCO8IDaoZOY9OD nMpI+wosLOK8/Y11nQxRJ+PNLyrgDQWb4aA4owcMnbPNJWsEbM0fJQfXaFut8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vs9C6WaYfFQouQKnYC17m6OIng/wqkOKZth3HEFJwKI=; b=KH/0DpiAyICBW/37Ma5PFSqKeTm2Qskj7MyZfcJX46yjKqd18SyV+uJ+MF1nWgKqs1/de3 SQl6dMoazDs22OQgLbraTbeG1DzIBPECIJJnAoIt26O8CdcEun3rgNcgJv+tqzJqNv9K4Y fqeXIYwOAVB6oRA4jZzXnXH1QyMVbXSvFGcTC14ANtPbxsbaZps7bB7JveWSSd+vhZ+PMi 8RaP4s8tDzoT8gnOz9s6CEgp33Kn0XRN46C6fj1qOQbmXK+OUJCHWizxDxfqr0V+qPTETs iv+gT89p1F60R9Dyhye2r/3zyd8vrr8uRrgzqlYn6Koaz/C5iiHV0gNVZihUMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389150; a=rsa-sha256; cv=none; b=xG47swoj8DcgLe2bVUUWJMUNpl5htWG7CEwbWoAV8U2Vxy1WS7BhfA7C67RQsReBq/VCUV +lwQsVTvzq4pVzQ1xv+IVUXtzUgDTGql3YIyDvTrT+DNjkIuyTUqXzh6TgXw5g1cQXRJBo 5Cbcs9vPcocXCcRIUaoNPZGsnMOOoFpNebh3c6tk7yoJSUgvOChStp6sfr0U19N46RRtuV 2hIvyag1lYr35mD9M60Buopl3RDHWvO+7/Jadgv9ExHCID0Kvx0xZpdrY/Fe+svPv9d2pd 5aPQYq9/faE8fxD1ulZFZOXM4SQpONr1fx0JxvWRGBD1RoqXZgwa8YZbkTHZCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCL1D9Cz1BtR; Wed, 12 Feb 2025 19:39: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 51CJdATw061746; Wed, 12 Feb 2025 19:39:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdAB0061743; Wed, 12 Feb 2025 19:39:10 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:10 GMT Message-Id: <202502121939.51CJdAB0061743@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: d62832e21a0e - main - pf: make length overlow protection more obvious List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d62832e21a0e396470bbe072ad33496e708db582 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d62832e21a0e396470bbe072ad33496e708db582 commit d62832e21a0e396470bbe072ad33496e708db582 Author: Kristof Provost AuthorDate: 2025-02-06 15:43:14 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: make length overlow protection more obvious Before pulling the TCP options from the mbuf onto the stack, do an additional length check in pf_modulate_sack() and pf_normalize_mss(). Overflow cannot happen due to the restricted values in the length calculation. As this is not obvious, be better safe than sorry. OK henning@ Obtained from: OpenBSD, henning , a9e7ebb0d5 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 2 +- sys/netpfil/pf/pf_norm.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 3a56e6855d6f..6fdc0996324b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3867,7 +3867,7 @@ pf_modulate_sack(struct pf_pdesc *pd, struct tcphdr *th, struct sackblk sack; #define TCPOLEN_SACKLEN (TCPOLEN_SACK + 2) - if (hlen < TCPOLEN_SACKLEN || + if (hlen < TCPOLEN_SACKLEN || hlen > MAX_TCPOPTLEN || !pf_pull_hdr(pd->m, pd->off + sizeof(*th), opts, hlen, NULL, NULL, pd->af)) return 0; diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 7290ede8d393..6546f8684a68 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1945,8 +1945,8 @@ pf_normalize_mss(struct pf_pdesc *pd) thoff = th->th_off << 2; cnt = thoff - sizeof(struct tcphdr); - if (cnt > 0 && !pf_pull_hdr(pd->m, pd->off + sizeof(*th), opts, cnt, - NULL, NULL, pd->af)) + if (cnt <= 0 || cnt > MAX_TCPOPTLEN || !pf_pull_hdr(pd->m, + pd->off + sizeof(*th), opts, cnt, NULL, NULL, pd->af)) return (0); for (; cnt > 0; cnt -= optlen, optp += optlen) { From nobody Wed Feb 12 19:39:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCP30Ssz5nGWM; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCN3hZMz3Xqh; Wed, 12 Feb 2025 19:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hg6gh9GmlRtOvH08l92xtWc8qgcIXQS1ULbCOJgBhJk=; b=B9SdFOLsaDDbDd2WOoKudHlrz3X9hjqwJVNmy44VzblXZnp/bEsn6joBAv6eiFjVX+QLgo OIdFlAOwAcZdjO+sPqzZxn8anBR9TC0/vwqv6QwWw4yXvsqeWtDKOP/Z9W3P+1OXDIw17B 8rgfvcfCWoA7esWlzncIGd+MgZJupt41V46Mh/jqL6VoMjOC1Odb+smTBjpOT/gMF9ZC9t juiZWsh0OkkXeDu4sOC9tJbMWerRxsAr4LhfgDscFP7/lasytk8Znz26/3iGSSTSogRRoo alFbgbCXM54Y1AzUR1uXcrNEvGM1X3yIvFFwkrA7vwSVSM0PpeMBcwze1ifOQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hg6gh9GmlRtOvH08l92xtWc8qgcIXQS1ULbCOJgBhJk=; b=yIdkcYmk5hK6A/2c/hyLTPUZNBDWDXkiaYbPfUwN618ZAce9fidjOZTxi5M6OHZIN7SqpK KMqEZ2SRqA6YpsWBSf3M8WgICoxa4TJ93i0U1yd1L9b2bztLOM0femKoVf105mJ7gzB+IQ Gd6fKVKsBSVgr8tEDBVN22ZSw7Il/oi1F6AVB59K+KpZKgG34PHtFS2XTdyEmXEhs+kW0Y djr6m5wBCc05ag5UWH3zXcFtoKJG7k7cfZzCwh+bj171YuNLicKJQPDrcu8Q1VrqA6/6Sv dbsCLAQnTi2oXu/DVJKz6gI3CIykx6aF/FThN+p/Q+sI6Ea8k+BtIKGvZkHDXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389152; a=rsa-sha256; cv=none; b=E4BzOG4gylQ3ol4RFEIDdo4s+9jO/2oZ8lXoqZVgTx4DqQ4oyyELrKrElQVhYh9toKqQh+ EqYspVPvhgHdl1G9S2yhYsSiOlYSpK/TcuTwjUWAAbFuSHN1unbyNrBHPUYmRILpNoRqmZ UxCEtsgGbauVLUNEBpeK0SDLwT3Z1H7HzWFZyyW+On4vO0lIa0zQ0VoHVARK4qG784Hklc t4Sjb9/ayj54tp7KgA/n5mtO1P//3kNZjWd3LZaqqEor1oo/v4f4O8IWysjv7uEaRl0VQ6 hdTICtPYsiMHdaZG+BrX4lsktRToDWqzTnN7bxnHpo1p02qoeYWFJXr1vOzQow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCN2zTmz1BRc; Wed, 12 Feb 2025 19:39: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 51CJdCCd061810; Wed, 12 Feb 2025 19:39:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdCWW061807; Wed, 12 Feb 2025 19:39:12 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:12 GMT Message-Id: <202502121939.51CJdCWW061807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: d11a19654aab - main - pf tests: verify that table counters work on match rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d11a19654aab578fad617fe8676146b2734b1679 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d11a19654aab578fad617fe8676146b2734b1679 commit d11a19654aab578fad617fe8676146b2734b1679 Author: Kristof Provost AuthorDate: 2025-02-06 18:27:19 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:39 +0000 pf tests: verify that table counters work on match rules Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/table.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/tests/sys/netpfil/pf/table.sh b/tests/sys/netpfil/pf/table.sh index f655463f3c03..3b7e116720f3 100644 --- a/tests/sys/netpfil/pf/table.sh +++ b/tests/sys/netpfil/pf/table.sh @@ -109,6 +109,46 @@ v6_counters_cleanup() pft_cleanup } +atf_test_case "match_counters" "cleanup" +match_counters_head() +{ + atf_set descr 'Test that counters for tables in match rules work' + atf_set require.user root +} + +match_counters_body() +{ + pft_init + + epair_send=$(vnet_mkepair) + ifconfig ${epair_send}a 192.0.2.1/24 up + + vnet_mkjail alcatraz ${epair_send}b + jexec alcatraz ifconfig ${epair_send}b 192.0.2.2/24 up + jexec alcatraz pfctl -e + + pft_set_rules alcatraz \ + "table counters { 192.0.2.1 }" \ + "pass all" \ + "match in from to any" \ + "match out from any to " \ + "set skip on lo" + + atf_check -s exit:0 -o ignore ping -c 3 192.0.2.2 + + atf_check -s exit:0 -e ignore \ + -o match:'In/Block:.*'"$TABLE_STATS_ZERO_REGEXP" \ + -o match:'In/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ + -o match:'Out/Block:.*'"$TABLE_STATS_ZERO_REGEXP" \ + -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ + jexec alcatraz pfctl -t foo -T show -vv +} + +match_counters_cleanup() +{ + pft_cleanup +} + atf_test_case "zero_one" "cleanup" zero_one_head() { @@ -488,6 +528,7 @@ atf_init_test_cases() { atf_add_test_case "v4_counters" atf_add_test_case "v6_counters" + atf_add_test_case "match_counters" atf_add_test_case "zero_one" atf_add_test_case "reset_nonzero" atf_add_test_case "pr251414" From nobody Wed Feb 12 19:39:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCP29y3z5nGjB; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCM2sYnz3Xqd; Wed, 12 Feb 2025 19:39:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lSpGts7ktbLVUL30HsdTvH+QRIdevKJMW6l/nrfbBYg=; b=NOcQiyew4R2mccl+h+gFWEioF0VJDQU7sYfGlYNXy9hhRaecRn8OKx6qttRMd3Gff/aL9Z ekwUAFtNXhla42R1shRo+tNUC6F8pATgeL5TreGhmV98h4S8zdZLFTEwBsz0+1UGmVhTOC GkXSADrPKmWfffvoigoFhGPw3Kyl0++IgbSZm3qnP4Hv/vbXG/QSyk31xfw2/qs3+go36F GsQe1NFrT3GwXqT419zIjVnDNrN1gMCWKJfNXx588oAdwPvkWnrIelt8X3D239mpiDUR/c KASNee9ncQW5ZnFCJydARbGUq/jSzSto6JSKyB/3kTMtnSggOZ55OyxngoGN2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lSpGts7ktbLVUL30HsdTvH+QRIdevKJMW6l/nrfbBYg=; b=YerDCHrvQ6h16COdfpo+SwfdZLCGJMhTlfVX1WraVaF9uoOL85V0Jwf1hUrye6KMAA9Bah Y9ehMSzwq1a1oHdRGOqE0KBUzaKiXmTryWvoWsabzHQmSNBjor9H4/FzMqa2AzS9DGf19z un8hljGrRvPPrXeuktJkB779+b5/qDDv23Is2/eZpMc0pntiOJgKVkhjqjoz0wVCSx7tow 4j9gywKWW0oaJUj8YxtF1oRF2FHIv8lBcjxrgrbTbEhwssQDz99qL7wTwT6MLYOVW5iTHc 6lY62kA1fiI+T96LwkK906uzoPfcm1Q3mQ4ZL9hwjywJIJY00shDZiEmBIcRhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389151; a=rsa-sha256; cv=none; b=sFEnzXcdRk6cmKzIs1SaDA4Va9XyNLLK56CzVvvy6qX3JbA/oGuD3aegb0LHb6WhPa1kgB Bh804QgDXJ+epgIEOHSYZSXzaU5qA+oV+NivpGErMmAUVg3xezSWDeEsUwkMjXTB/7b/50 MmLXjd0by+Q6zDOrqD7fVq5HrjGWhol4ru34Z4IaODgB16+PmLrQ3U9rsbJ8bqNIaSKfwH b4BBGGxhNIEDSywhwqWCGlGQYniMXPJAk5DoOmSUP7qUXFXcuoTvmh0tDDIrK2vqKdy0Ny nhXxFPm5I37TL5dZfEg9Gb37jIg3bpHaiq8vS+DL4SeuvfqSK01VthrIBTHH2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCM2HMtz1BWq; Wed, 12 Feb 2025 19:39: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 51CJdBbU061778; Wed, 12 Feb 2025 19:39:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdBGu061775; Wed, 12 Feb 2025 19:39:11 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:11 GMT Message-Id: <202502121939.51CJdBGu061775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 7ed8e4be2366 - main - pf: rudimentary counter fix for tables used in match rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7ed8e4be23664cb8b112a405114c9e4958d78fca Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7ed8e4be23664cb8b112a405114c9e4958d78fca commit 7ed8e4be23664cb8b112a405114c9e4958d78fca Author: Kristof Provost AuthorDate: 2025-02-06 18:26:11 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:39 +0000 pf: rudimentary counter fix for tables used in match rules Fixes an issue seen by reyk@ ok henning@ reyk@ Obtained from: OpenBSD, blambert , 96fa270faa Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 6fdc0996324b..5c99cde4a9f4 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10033,6 +10033,21 @@ pf_counters_inc(int action, struct pf_pdesc *pd, SLIST_FOREACH(ri, &s->match_rules, entry) { pf_counter_u64_add_protected(&ri->r->packets[dirndx], 1); pf_counter_u64_add_protected(&ri->r->bytes[dirndx], pd->tot_len); + + if (ri->r->src.addr.type == PF_ADDR_TABLE) + pfr_update_stats(ri->r->src.addr.p.tbl, + (s == NULL) ? pd->src : + &s->key[(s->direction == PF_IN)]-> + addr[(s->direction == PF_OUT)], + pd->af, pd->tot_len, dir == PF_OUT, + r->action == PF_PASS, ri->r->src.neg); + if (ri->r->dst.addr.type == PF_ADDR_TABLE) + pfr_update_stats(ri->r->dst.addr.p.tbl, + (s == NULL) ? pd->dst : + &s->key[(s->direction == PF_IN)]-> + addr[(s->direction == PF_IN)], + pd->af, pd->tot_len, dir == PF_OUT, + r->action == PF_PASS, ri->r->dst.neg); } } From nobody Wed Feb 12 19:39:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCR6phzz5nGmr; Wed, 12 Feb 2025 19:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCP4WXBz3XyN; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gTgEyKUsj6JtThyyqY8karKjHoQ6M7zPmnEqz/QCrI8=; b=OLQ3aSFZcs1MlBScAXN9Nfzfi5Az2q+WVmZUqgAtOwRGF/d5hc1CfHBNnARk+AP/GqhBpI IpanC9QnObOUZ53mvekZEhZU7qwbRRmORHytp0CBW3KyrpVcvWouEAiDVAYrk4MzZi6MnX itokHKOb35h32jEgHyIPrXAqfDD4tk4rTi22VIZ0OnbiUZC080yMQeXEL+zaUpenDUoz2d U/tNMq4lVYuGX1oRL0U2Obj4WYyAM1FD+RrFHJJTNDfuBKLn5ADOFatTa6WTnnzKlzXZjv UD3/Np3A8CJSrtEk7c579hT3IxaXSJE2dGpfk5MQ8R8Xqwyaz+c0feSycxSPTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gTgEyKUsj6JtThyyqY8karKjHoQ6M7zPmnEqz/QCrI8=; b=cQehRswzxU0cSaVB8WgNFpbWuuE207ljNS5Tte/UxcpqA6nEd2X7XJVjws5dBuUM9sZLyG iSYBxLCUjEPyrCWuMopHXF1q4i3Qk6hdRdumP7ue/XsTcUBYxyqBnnbwbB+7tUzhuYU7T4 pG25wwt6lJSkRrI3lpsRIGn7CoCmaOW8HEf0+bwvi620niSr39qUFXQBou3LWvA5/LRNi3 EbyZJcd6Hro9ZBiCIgf9mz3tIlLHaowqj9TJURiCTGoYJneIW+9Xb8J5L4/Bnlh2/Z4axq lxcSP1Qt4Zxh1wlsLG4JuGDzAcMl0J7osnn+N3f2CC0yyfzVSPrvEx37Utvpag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389153; a=rsa-sha256; cv=none; b=Ig53nQ1tx1G4sz58kFEjERCpcVb3JT8Xus/ivefSl0RpppYbmwO33XPuWwmi7Kb9YOD/+a /THlkHfaJFv+nAbOTp0inkCxfC5Wx7T1RMx2m3ISYFDeMcb4WcZvea4KFtfzOxdihoG5MY DuVsijiO1SvWYzjmpf0Kd/gYnylyIVuva6k3DyAFnCOioZwNOPw7Uq/LwKWuUKuYRtc1SH bOspTY3jdXcXcFtbYNjfbH81FsFUpIKVbRrGDOx4cP4ohIpspGRl0RXPOP6AQWar2hBDwP yJlk1Rzu7/z1/s4gYvlKpHWPPMiE6Hb7HnuhZ/4LEZogU5F0qCMHGYkFAxdeSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCP40fLz1BWr; Wed, 12 Feb 2025 19:39: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 51CJdDqi061848; Wed, 12 Feb 2025 19:39:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdDcD061845; Wed, 12 Feb 2025 19:39:13 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:13 GMT Message-Id: <202502121939.51CJdDcD061845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: e736f6df1ec1 - main - pf tests: fix test skipping when pf is not loaded List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e736f6df1ec1d2f5a846a20cec8744cf843daf78 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e736f6df1ec1d2f5a846a20cec8744cf843daf78 commit e736f6df1ec1d2f5a846a20cec8744cf843daf78 Author: Kristof Provost AuthorDate: 2025-02-12 17:38:30 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:39 +0000 pf tests: fix test skipping when pf is not loaded Two test cases in table.sh didn't call pft_init and thus didn't skip if pf is not loaded. The fragmentation_pass:v6_route_to test had the test body in the cleanup function, so got run even when pf was not loaded. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/fragmentation_pass.sh | 10 +++++----- tests/sys/netpfil/pf/table.sh | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index e72b065b77bb..9255e6f738cf 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -165,11 +165,6 @@ v6_route_to_head() v6_route_to_body() { pft_init -} - -v6_route_to_cleanup() -{ - pft_cleanup epair_send=$(vnet_mkepair) epair_link=$(vnet_mkepair) @@ -224,6 +219,11 @@ v6_route_to_cleanup() ping -6 -c 1 -b 70000 -s 65000 2001:db8:43::3 } +v6_route_to_cleanup() +{ + pft_cleanup +} + atf_test_case "mtu_diff" "cleanup" mtu_diff_head() { diff --git a/tests/sys/netpfil/pf/table.sh b/tests/sys/netpfil/pf/table.sh index 3b7e116720f3..a3d00f8cdb14 100644 --- a/tests/sys/netpfil/pf/table.sh +++ b/tests/sys/netpfil/pf/table.sh @@ -172,6 +172,8 @@ ctime_to_unixtime() zero_one_body() { + pft_init + epair_send=$(vnet_mkepair) ifconfig ${epair_send}a 192.0.2.1/24 up ifconfig ${epair_send}a inet alias 192.0.2.3/24 @@ -243,6 +245,8 @@ reset_nonzero_head() reset_nonzero_body() { + pft_init + epair_send=$(vnet_mkepair) ifconfig ${epair_send}a 192.0.2.1/24 up ifconfig ${epair_send}a inet alias 192.0.2.3/24 From nobody Wed Feb 12 22:17:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtXjn0Qrbz5nR6S; Wed, 12 Feb 2025 22:17: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtXjm4kjSz3fYb; Wed, 12 Feb 2025 22:17:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739398636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0PbP3DtnmZeTk9Fw4GY+7slosIcOjuqGfpSroSgrRQ=; b=B8Tzn+hrzri+o6oiOcpJVpI2JPlxbxHtbi06bn0Y6Uyf4eVjykjlCUWELcIFPH5iGWnnxr JyibMJ9jOT+m9lncAD+XOQLUANKtyzNDHcDexVVWKDoFuvBx/dICzqcRqy8l2wPSuj9fkU 4VuK64J6DzptWCNtHnir40j9On54ODK2q8IKsPDq4COyygRGMJAEKIBfDAIyGDmPsAVybU VfhIUri1/8/1aFnq0ROO0OFV0YGRbdJRXYwIScSYc7F3LxP57HX5szno8DZ71jp7jKMsW1 WSf8wjO8gKAhz4HC6RS9VyiUW+ZcYyNO7OTGANUV2IUM+34a8kgS5GT1F7vfvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739398636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0PbP3DtnmZeTk9Fw4GY+7slosIcOjuqGfpSroSgrRQ=; b=miHuwwNslzH941GnqMI1dwFbsfY+jRaD1cU14mkxiaDCpOq2lECmcpxtZE7Zc9PjLdRgaz taw7UFob3E8fdcn4RMKpvRx6kfIGDFNORj7mCOuIM0GGw9P74AIkI16UmxmcKF5fS/zzvL QMqk/ACYHPT8ikPe0QIHe8m+yQ4djPUcmRuxP9DCkWcXBLhYpGNeY29UEOM4rXwD7wdDtI j3roEgRtRmLEMoKD+R+7nTXBWpUMJT7Kb2+Vz86Zdh38a8NeSwZHbzMa+qw1ZmOf0OVR94 xbT1+S9gVpercvhtDO+w5A89jL+Yx8+1rZZ44/+ze7q5qVN1GAy0SfohmAgv8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739398636; a=rsa-sha256; cv=none; b=iuT7/Q+qbNnyhDyqcSQqy3AQtsLRFnbupYIZSS9icYWLTNub4W9NFIulRrJMXJ38ku+0xn q8IB4Bp8+6lZj3UnAedrFzGyoGIRTf/9Z2UJVd0g5RZGitw8yZ4fYg+SVjLARHvJ2ErdJK MJDJs8rX47kQ0smaIt4V0xdwtydfCn3JCk7wFMIAsgx/dvTDYifNNhwpIW6XAUFUWK39IU V31pn8j6y/UkXjsRweIzu4tnrY/858G2E8ct+eMhOAhkhWNfF8QPLgdHaH5Hm6QvVyFPY8 0qReLurfrt+E6hTmyK7tH17X5UgQcZDuUgRpvtlSxWmKC2XqxrZbpyAtrdnJFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtXjm3rbpz2fg; Wed, 12 Feb 2025 22:17: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 51CMHGfx060004; Wed, 12 Feb 2025 22:17:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CMHGO1060001; Wed, 12 Feb 2025 22:17:16 GMT (envelope-from git) Date: Wed, 12 Feb 2025 22:17:16 GMT Message-Id: <202502122217.51CMHGO1060001@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: d6cce475cb5f - main - mtw: Pass the right pointer to the constructed command in mtw_mcu_radio List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d6cce475cb5f5c449532984e9c661596950fa26e Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d6cce475cb5f5c449532984e9c661596950fa26e commit d6cce475cb5f5c449532984e9c661596950fa26e Author: John Baldwin AuthorDate: 2025-02-12 22:13:33 +0000 Commit: John Baldwin CommitDate: 2025-02-12 22:17:00 +0000 mtw: Pass the right pointer to the constructed command in mtw_mcu_radio This was just using random stack garbage before. Reported by: GCC -Wunused-but-set-variable --- sys/dev/usb/wlan/if_mtw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_mtw.c b/sys/dev/usb/wlan/if_mtw.c index ecd4693e2361..d7970af5d876 100644 --- a/sys/dev/usb/wlan/if_mtw.c +++ b/sys/dev/usb/wlan/if_mtw.c @@ -4384,7 +4384,7 @@ mtw_mcu_radio(struct mtw_softc *sc, int func, uint32_t val) cmd.r2 = htole32(val); cmd.r3 = 0; cmd.r4 = 0; - return (mtw_mcu_cmd(sc, 8, &val, sizeof(struct mtw_mcu_cmd_16))); + return (mtw_mcu_cmd(sc, 8, &cmd, sizeof(struct mtw_mcu_cmd_16))); } static void mtw_init_locked(struct mtw_softc *sc) From nobody Wed Feb 12 22:50:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtYRc2DWQz5nTGj; Wed, 12 Feb 2025 22:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtYRc1mB1z3wYv; Wed, 12 Feb 2025 22:50:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739400604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W32Z5+NWSYNmtEp6OtFx3jbxdqbYV7J2K4gtJgxkgzs=; b=cwirfNFhUwB4Z7XYPvy5gdi1n2HHvV5/mbJeTVABkeeiTQIe4wBdNOGBK+fEq+z5VmlwbU WFfqsE45sGTvg/k0xipkj9qw9DLpI/+TJlv9LQObhZKpMNPs7H0o8q0f3gfGFB7M8jxNep Sf2isbbSgZx3mBbvi/fe5ndQ/0yB6YtqaOe9MHBiFhbI4z33rDGrQ8g/P28Mu1T2gk/S1m e1ppYyOsJAzB5r62QJoyKi94csQKIT0NLpH2HKJRJ6HrmdSJ1DVGHLjsPHsfGdiQcn8X1p rUDQosrGEyDv2bxslgn0/gjnZ9+T8t/3mFYQ9ncu2UtX+Z8tlq7HVb84vgtXRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739400604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W32Z5+NWSYNmtEp6OtFx3jbxdqbYV7J2K4gtJgxkgzs=; b=QhYmc8syHrhE6r+RjhumYQ+y5i46HAk1th2Y5w50oN2OdUP9nj8DstFMW3O59eKW1LGOk/ WMUiyj9fxIT/jZoDds2S9ETm8+1t3YlJ5oCy8nBmwBpJYlHPG3Rx+z5/uxvlpE12xYnwa2 QG3EAMyVWkmNNIH6Qs+f/4jd0rs3wj3GhzHZiBxy6iATKN9O/FnA2QJDZ3bGBtaOZRuzy+ WIcjtm3k57NOVYwhWHvK6XIyJ/7GGWaBrl4YGHfYaDZEolPK7ZQt0hGul5kzB72BgPOBOs chvg0hHfVH09oScOz0c05Hxch+B2rUdkEeYWZKhurDseOKbCeBkwxdnlxbIcPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739400604; a=rsa-sha256; cv=none; b=w4QF5YjRCFgeLjhYs8I8AJQahS5pu3A/8yqpiN9xyNuOH6LhiNizTyCf2MlUAdW5QjkHzT Cq7/xFysOaToTcOk5l7NBY9GSbtF9JYeiESp98Jm+tpjrgL0JiUsanxhfiibJg+r4Uty1e WLUsqW9zvupWMyqsFmVfdGAmefDTB6A/uUtoK4J6tHlHf7z86rNR7Qhb30/A+4vdOakuaM 3rk8QQyCBM/27Js99ZpRSf5r4AqFA845KiuPmfRywDh8BbyRqjUuIx4IqOWvM3TGMKPSm6 Ai6hb16wWCeu4qzIhoBy94I3KptqYTiPjEkfyXmXzdwRdkXb7XBw/UiFkEQYjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtYRc1Fd3z3RV; Wed, 12 Feb 2025 22:50: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 51CMo4oY019275; Wed, 12 Feb 2025 22:50:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CMo4ps019270; Wed, 12 Feb 2025 22:50:04 GMT (envelope-from git) Date: Wed, 12 Feb 2025 22:50:04 GMT Message-Id: <202502122250.51CMo4ps019270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: 6156da866e7d - main - cc_cubic: remove redundant calls of tcp_fixed_maxseg() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6156da866e7db8dab36b96ac4f4e38f75e41200d Auto-Submitted: auto-generated The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=6156da866e7db8dab36b96ac4f4e38f75e41200d commit 6156da866e7db8dab36b96ac4f4e38f75e41200d Author: Cheng Cui AuthorDate: 2025-02-12 16:41:08 +0000 Commit: Cheng Cui CommitDate: 2025-02-12 22:49:21 +0000 cc_cubic: remove redundant calls of tcp_fixed_maxseg() Summary: No functional change intended. Reviewed by: rscheff, tuexen Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D48967 --- sys/netinet/cc/cc_cubic.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/netinet/cc/cc_cubic.c b/sys/netinet/cc/cc_cubic.c index 3b134082a59b..ae1561ca54c3 100644 --- a/sys/netinet/cc/cc_cubic.c +++ b/sys/netinet/cc/cc_cubic.c @@ -298,7 +298,7 @@ cubic_ack_received(struct cc_var *ccv, ccsignal_t type) W_cubic = cubic_cwnd(usecs_since_epoch + cubic_data->mean_rtt_usecs, cubic_data->W_max, - tcp_fixed_maxseg(ccv->tp), + mss, cubic_data->K); if (W_cubic < W_est) { @@ -328,8 +328,7 @@ cubic_ack_received(struct cc_var *ccv, ccsignal_t type) if (((cubic_data->flags & CUBICFLAG_CONG_EVENT) == 0) && cubic_data->W_max < CCV(ccv, snd_cwnd)) { cubic_data->W_max = CCV(ccv, snd_cwnd); - cubic_data->K = cubic_k(cubic_data->W_max / - tcp_fixed_maxseg(ccv->tp)); + cubic_data->K = cubic_k(cubic_data->W_max / mss); } } } else if (type == CC_ACK && !IN_RECOVERY(CCV(ccv, t_flags)) && From nobody Thu Feb 13 00:38:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytbrn6TLwz5nZh8; Thu, 13 Feb 2025 00: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytbrn5dyjz40MY; Thu, 13 Feb 2025 00:38:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739407113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LIWttyEgooBE2C1EwhZjPza+qhiL/FVhT7oo1h5kwfo=; b=aUiWqqoVgAc/zdgL68/rIah0DL0TiuFCxUKxUjQ6H/FyJsXeb5hJIAVKMBJrtlveEkNbrn xBFqfx2gGDj22q773+EVFPA9iw8xadoBZvXsRfES/GJwLJNGELHKahugwVfSjQVovqbzEo eYNPwMhWcics8VqYvp72LwOo1Tpxb+gVSHw/TMskHKh2dApd1/cDpi10aAz7Hs4kgoeRbx dKXRJIbFwLrFXmyMJs5NJvyPyNpK/PtBqgOWpCJtvnit0AfFUNN05jMyc6jWnidvuqsE6S +iaX9TGR5vICd2pC0+zJFWrxXgWV/FtL0iMnxAa3fldALMSwz6grTwtXvjM3JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739407113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LIWttyEgooBE2C1EwhZjPza+qhiL/FVhT7oo1h5kwfo=; b=lmIu+U39ydQlTi9ur3NZMU7ayt5WQkRNi5uPCJkmjNVLaYzPevBwZhldadVR+uytVB9sNd KmcTqQ30IYUBeYlelT+6WGWbtxVlGmfsXvm4OZPtKGMo8byvFcXwDNfezI9jGrwLlWv7oW ak2M8DBJqgqauJHzp3pGkmpNuXrLj7HjhMqXrnVtRwOd/v0ScEfqjOCNeZ6jpP5AYgrcJL OUETq+Na5Q7lVWRREM39iasS8xrMpCe4iYUji5lfGIyIKCuKL3Pmjh8PyO+q1OorIbZHpm WUffWqXCuYVh+WzWRkFy1KrB0aIGh7wPGrHndT0EtFQ+Lro/A+BcvQpx4xo+qQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739407113; a=rsa-sha256; cv=none; b=Jnd08uH20j9bVIkWINaBWoIAuFGZS3kblP5NRKyM5o4vsBaUBJO/3mCEKsqCYMOsHbNf2I +BEEyA9ud7w2sKNZzgX2Ph2v/Jpl+rwiLpMNKluf4bilRQBi/nVIn7YHkiTFS7LJbRFBP7 HJZ8JG5+yi24gW6VtDhz66rm+1OKj1baumjSDjBxBqeVslTBPKVxy1x49EQZbwZk2ldYaB 8azQWixzzUxzGdfzWrZctv/nPWp6pZBq3oNGVuMecJq6OdIfUmCLMwJxlR0/3pHeM8AuHM QulyrxjPwS16ZzHgZYlX4yPM8rxWXDws8lIuRkFhujbNE32BE6pVxLgU3+KqGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytbrn4vdBz67S; Thu, 13 Feb 2025 00:38: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 51D0cXtP022731; Thu, 13 Feb 2025 00:38:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51D0cX6D022728; Thu, 13 Feb 2025 00:38:33 GMT (envelope-from git) Date: Thu, 13 Feb 2025 00:38:33 GMT Message-Id: <202502130038.51D0cX6D022728@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 250c3c549e2c - stable/14 - boottrace: Don't say we've unmounted if we haven't. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 250c3c549e2ce1dad83570deb22e81d966ad902f Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=250c3c549e2ce1dad83570deb22e81d966ad902f commit 250c3c549e2ce1dad83570deb22e81d966ad902f Author: Dag-Erling Smørgrav AuthorDate: 2025-01-20 16:44:12 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-02-13 00:37:34 +0000 boottrace: Don't say we've unmounted if we haven't. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D48515 (cherry picked from commit 4f4b2b7a4b6c5642320479a765f850c394766276) --- sys/kern/vfs_bio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index c7c890dd83bd..4ae80e7e078d 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -1512,8 +1512,8 @@ bufshutdown(int show_busybufs) if (!KERNEL_PANICKED()) { swapoff_all(); vfs_unmountall(); + BOOTTRACE("shutdown unmounted all filesystems"); } - BOOTTRACE("shutdown unmounted all filesystems"); } DELAY(100000); /* wait for console output to finish */ } From nobody Thu Feb 13 00:38:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytbrp74LCz5nZG9; Thu, 13 Feb 2025 00:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytbrp5F01z40WF; Thu, 13 Feb 2025 00:38:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739407114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YypEKDkeZGuXMlVZy+ztdZ4lXwKJ0WvHwtYji/kQXsE=; b=VjuXPynXJMiVUZ/p9QK4oe2sszCMFCwpEy3UjHuhAkkoQNNLVlXixeiHRk58tGmyXzk1+G ehwaKxiQS19UNBnnIruGDoBm+JdLob3XAsqjfcVUkgoDRn5Nfn3SdOH6UzQ4mMbuXd4aNs G3e3RKgccgfdc1wLpNcPnqJVdXlhgnm+RDFw6up0zQbMLqm+B+Qprz/ak52UcMuJmLjEpW xruWV0lsob9rqMGdgIS3NwsFCKqr8pjoR+JCcf3qWyHujXcQRO19exHUrOHDgoxwq3BSLb Ns2qzrv8XTqJ5Gtk9veYFJXShbSO71s3Y2CGaVk8tdJgsupSeKXRBDVh9LcnzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739407114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YypEKDkeZGuXMlVZy+ztdZ4lXwKJ0WvHwtYji/kQXsE=; b=Mu5IbRinuaWh8q0jchDq91cz7lfB0ncwcZc05F/41tF7fz6EdlfkRE6Z1NGJ3WwnDcz2dk NIQqb6ED84V7/oGlRboe/wejvGAMba/0GOxH/R2V5UxUOlI/RFl5/8i37ABnETeYlALkL3 eOmyZaZolc4+AnI274W1cSuMqX9KjKBBkKg7xyc4MrE+B2oQ16k9Xl3Uo+LJAQnHDBaQww HTgVoms7NDE4OzxEdVkJaUxAProKTHKxfRwB8lmioGMSP6FYk4oa8Ww2WN9W7hoFWhEBK6 ug5LMrHbcsNehNMkDTZEiPyKZJhS31juUEvfTTNL5fimnNHTQQASy9ldJpDK6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739407114; a=rsa-sha256; cv=none; b=Zd4mtYJucReYZsE5staGw7jiOv/yS7mRVE/zoq/83DmoDWUz7kEiEGjRRLsOg7ocEn8aWo /AyLhYQTpfzqAW/Tw+ga8gLdUIBROLviLoapmGET58ck4WcISuYqi742fyFZIMHrmjy9V4 msmyrKRGXBTBYffpEpL3DCirPdbK9wSyuRGEgbYPb2K5wFHLLT7IFJPQBmbA5Yvq+Kb/kJ cx9cEl8I0/Gb+Zk+hD8XA12nSWBKsYCDNuVSGhKvkc9OZTD7PVWpW+tXyiYlb/Kjo+eapP FlLQ79sO4h/uOilKw7XAWG7jiz6KE3Xxm8AdtfGaKwMh7na9a9FG1bZxuGMn+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytbrp4nd6z6T3; Thu, 13 Feb 2025 00:38: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 51D0cY3x022770; Thu, 13 Feb 2025 00:38:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51D0cY9J022767; Thu, 13 Feb 2025 00:38:34 GMT (envelope-from git) Date: Thu, 13 Feb 2025 00:38:34 GMT Message-Id: <202502130038.51D0cY9J022767@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 67cead936d0a - stable/14 - unifdef: Fix collision check when adding symbols. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 67cead936d0a38f76d1130fefbca3e119c8cffb8 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=67cead936d0a38f76d1130fefbca3e119c8cffb8 commit 67cead936d0a38f76d1130fefbca3e119c8cffb8 Author: Dag-Erling Smørgrav AuthorDate: 2025-01-30 21:10:29 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-02-13 00:37:42 +0000 unifdef: Fix collision check when adding symbols. findsym() is intended for use while parsing input, so it should not be called from addsym2() or indirectsym(), which are called before any input is processed. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D48733 (cherry picked from commit c63af363c2458aebc30c01cd0b93b4b902580019) --- contrib/unifdef/unifdef.c | 11 +++++------ usr.bin/unifdef/tests/unifdef_test.sh | 10 ++++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/contrib/unifdef/unifdef.c b/contrib/unifdef/unifdef.c index 3dd4ace7b81e..ce8a1367adc2 100644 --- a/contrib/unifdef/unifdef.c +++ b/contrib/unifdef/unifdef.c @@ -1488,7 +1488,7 @@ findsym(const char **strp) static void indirectsym(void) { - const char *cp; + struct macro key = { 0 }; int changed; struct macro *sym, *ind; @@ -1497,10 +1497,9 @@ indirectsym(void) RB_FOREACH(sym, MACROMAP, ¯o_tree) { if (sym->value == NULL) continue; - cp = sym->value; - ind = findsym(&cp); + key.name = sym->value; + ind = RB_FIND(MACROMAP, ¯o_tree, &key); if (ind == NULL || ind == sym || - *cp != '\0' || ind->value == NULL || ind->value == sym->value) continue; @@ -1539,10 +1538,10 @@ addsym1(bool ignorethis, bool definethis, char *symval) static void addsym2(bool ignorethis, const char *symname, const char *val) { - const char *cp = symname; + struct macro key = { .name = symname }; struct macro *sym, *r; - sym = findsym(&cp); + sym = RB_FIND(MACROMAP, ¯o_tree, &key); if (sym == NULL) { sym = calloc(1, sizeof(*sym)); sym->ignore = ignorethis; diff --git a/usr.bin/unifdef/tests/unifdef_test.sh b/usr.bin/unifdef/tests/unifdef_test.sh index dfb08c187724..97a1b1aa6310 100644 --- a/usr.bin/unifdef/tests/unifdef_test.sh +++ b/usr.bin/unifdef/tests/unifdef_test.sh @@ -37,7 +37,17 @@ EOF atf_check -s exit:1 -o inline:"b\n" unifdef -DFOO -DFOO=0 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 931b0990297e - stable/13 - unifdef: Fix collision check when adding symbols. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 931b0990297e2c6307b41bda95c5225cdf48403c Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=931b0990297e2c6307b41bda95c5225cdf48403c commit 931b0990297e2c6307b41bda95c5225cdf48403c Author: Dag-Erling Smørgrav AuthorDate: 2025-01-30 21:10:29 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-02-13 00:39:04 +0000 unifdef: Fix collision check when adding symbols. findsym() is intended for use while parsing input, so it should not be called from addsym2() or indirectsym(), which are called before any input is processed. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D48733 (cherry picked from commit c63af363c2458aebc30c01cd0b93b4b902580019) --- contrib/unifdef/unifdef.c | 11 +++++------ usr.bin/unifdef/tests/unifdef_test.sh | 10 ++++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/contrib/unifdef/unifdef.c b/contrib/unifdef/unifdef.c index 3dd4ace7b81e..ce8a1367adc2 100644 --- a/contrib/unifdef/unifdef.c +++ b/contrib/unifdef/unifdef.c @@ -1488,7 +1488,7 @@ findsym(const char **strp) static void indirectsym(void) { - const char *cp; + struct macro key = { 0 }; int changed; struct macro *sym, *ind; @@ -1497,10 +1497,9 @@ indirectsym(void) RB_FOREACH(sym, MACROMAP, ¯o_tree) { if (sym->value == NULL) continue; - cp = sym->value; - ind = findsym(&cp); + key.name = sym->value; + ind = RB_FIND(MACROMAP, ¯o_tree, &key); if (ind == NULL || ind == sym || - *cp != '\0' || ind->value == NULL || ind->value == sym->value) continue; @@ -1539,10 +1538,10 @@ addsym1(bool ignorethis, bool definethis, char *symval) static void addsym2(bool ignorethis, const char *symname, const char *val) { - const char *cp = symname; + struct macro key = { .name = symname }; struct macro *sym, *r; - sym = findsym(&cp); + sym = RB_FIND(MACROMAP, ¯o_tree, &key); if (sym == NULL) { sym = calloc(1, sizeof(*sym)); sym->ignore = ignorethis; diff --git a/usr.bin/unifdef/tests/unifdef_test.sh b/usr.bin/unifdef/tests/unifdef_test.sh index dfb08c187724..97a1b1aa6310 100644 --- a/usr.bin/unifdef/tests/unifdef_test.sh +++ b/usr.bin/unifdef/tests/unifdef_test.sh @@ -37,7 +37,17 @@ EOF atf_check -s exit:1 -o inline:"b\n" unifdef -DFOO -DFOO=0 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 571df2c64a3c - main - recv.2: Explain how recv functions can return 0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 571df2c64a3c1af1fe011303ec08e391e887ecbc Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=571df2c64a3c1af1fe011303ec08e391e887ecbc commit 571df2c64a3c1af1fe011303ec08e391e887ecbc Author: Felix Johnson AuthorDate: 2025-02-13 03:40:59 +0000 Commit: Alexander Ziaee CommitDate: 2025-02-13 03:54:14 +0000 recv.2: Explain how recv functions can return 0 Clarify the RETURN VALUES section with improved structure, the condition of the return value 0, and the setting of errno. PR: 174581 Reviewed by: jhb, ziaee Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D48955 --- lib/libsys/recv.2 | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libsys/recv.2 b/lib/libsys/recv.2 index 08df62af3d1c..9dc1f3cc84ca 100644 --- a/lib/libsys/recv.2 +++ b/lib/libsys/recv.2 @@ -316,12 +316,19 @@ On data reception the .Fa msg_len field is updated to the length of the received message. .Sh RETURN VALUES -These calls except -.Fn recvmmsg +On successful completion, +.Fn recv , +.Fn recvfrom , +and +.Fn recvmsg return the number of bytes received. .Fn recvmmsg returns the number of messages received. -A value of -1 is returned if an error occurred. +If no messages are available to be received and the peer has +performed an orderly shutdown, 0 is returned. +Otherwise, -1 is returned and +.Va errno +is set to indicate the error. .Sh ERRORS The calls fail if: .Bl -tag -width Er From nobody Thu Feb 13 08:24:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtpBS5qsHz5n9X7; Thu, 13 Feb 2025 08:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtpBS5HfFz3gJF; Thu, 13 Feb 2025 08:24:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739435072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+fs4akTmkleH1F8zHyscvr/MivXIXILm3ne+QzDNUuY=; b=BYIge7e7iZmEnNlDJ8YzWmeD8ShqK0YarZI+ZmBVduUUwyECZbVqA5kJ/Rubn1x23O/Hcs ECRoGJkvhkSr0gePmhmkHMWOVq6XwPQMK8oJZUiDf7Xe/P8F+uepNozWmfoo+9pOVR4P6K XQD5yRgBYtzrfHo9V0eBys0wlhdogR9V/TvHSQ2TpJKdeNwZIWiGdNAZZxZDLgrZNC3Das 0QFNW+o+9uzhNx0/NE+aAO6hmu/hGiUxQeyLONYDTnPUIiImUMNXENq8BLOoepzzVuevn8 9FUA60idABBuNEaCX775QBFfB9QLie1PRhor2iSMmUD/XY8a0LWhZKQm9nlAKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739435072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+fs4akTmkleH1F8zHyscvr/MivXIXILm3ne+QzDNUuY=; b=EQbrDnoKekH+YftfiArNcLTTAOAtrQOggdNfAkhsB/T8bpVBPtTbgl1MNtdWcj4VVvUP3j 0D+oOqqptbLP4EGQ6UKYaiU5Ky3zQ5J1UblklMTYru4GB3VTv6aAEMsbLkJXD1FMlfonzP 7XR+PA0AC79mXI6MowErWZ4iDiU5ClGNiaUwNo/RFMPYZX+6YVgNvZG5AdKaAAB2cmRqEX wmT0fJCJ+Hsc4yjujUUqi/yo0SsJoAZPv4zSaA6w5x8cSm6BKKR0vsCLTOx8i+Bz8hB9d1 El7rbUHWTtsaPve8gJa7jcAx69l84s7PjdpHQLhY84MO/5fKaSdGER2Djn/oMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739435072; a=rsa-sha256; cv=none; b=ISVuIulS6PAUKtkydw2wZhtRMcHZhTLEMXItmY1Fg6ClwSR2ab6HkW1TsYGvWZUD1H5nPc tkXsGBniplvoc4OQYw7J2DI0KaTNBl6EYYp5Fp7x9aWBFkukQK0u5RrZo7Hkicrgoq4rMI SdVXeQh8ERES12F1Hy7BqfdX3wcGs6PZqPGN9V/pI/Gg8z2XveHEv1PkmpuEHDEUoTPlFK n4W6kG5H3Q4miplN02iPLXnYqf+hdDnJvfS1LIYbwtnGQ+JG10lAoAq0Q5t89UmGTsr1Wd YuuCBfHwDYHXCfrPYvHKWMtoDu5tCAhsPiP4m34IF+Srw06sxM92IM9ejrDcsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtpBS4twHzdNJ; Thu, 13 Feb 2025 08:24: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 51D8OW5c004710; Thu, 13 Feb 2025 08:24:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51D8OWeH004707; Thu, 13 Feb 2025 08:24:32 GMT (envelope-from git) Date: Thu, 13 Feb 2025 08:24:32 GMT Message-Id: <202502130824.51D8OWeH004707@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: f564bcc766d5 - stable/14 - Remove obsolete clang18 files for aarch64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f564bcc766d5c1ba71d781872883bc967a004ecf Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f564bcc766d5c1ba71d781872883bc967a004ecf commit f564bcc766d5c1ba71d781872883bc967a004ecf Author: Ronald Klop AuthorDate: 2025-02-10 18:41:26 +0000 Commit: Dimitry Andric CommitDate: 2025-02-13 08:23:49 +0000 Remove obsolete clang18 files for aarch64 This fixes a warning from "make delete-old" about a non-empty directory on aarch64. Reviewed by: dim Fixes: 0fca6ea1d4ee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48904 (cherry picked from commit 09b435d3dc2a591fba08be04d5659d03cce08285) --- ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 0d639bd572a9..e736235f80da 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -350,6 +350,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-riscv64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64le.a @@ -368,6 +369,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a From nobody Thu Feb 13 08:25:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtpCQ5PYxz5n9TC; Thu, 13 Feb 2025 08:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtpCQ4jZgz3gnk; Thu, 13 Feb 2025 08:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739435122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iE8d+tHZa1W7vbB0pyMICWQVgyDdF4Lb49R56bVvxgw=; b=FeljRZq/8YAdn9cGVZYn5cBb4equPAYJ4mH1jlAcoZf7pxz9lfLHCheM4fRlHqatOEhoj6 TohJwUQPgRkTo7SUm2nxpJMvai69gEv0W2klJiTYgPSdUOIUKO5ciVJhoLnhFdtUYWFywH Neu6mCHICVyBSbmFH1TRZ7bxbI9pnBGUUKxsy2fwhRpj4sRXXZRTX8rhhaEaWtbnYkwHgj mKF7DEIyYfSpgPgMRfAnpTr3cDm1oYFS83HVr4aMeZROLKSUm4merpya4c51CyJtyfTNUw v1BcQXa2SASf5KMTmLQ478MD5G3JD2wF9sJ206mWCE7vcs8eHyoMhQ0imsGJvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739435122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iE8d+tHZa1W7vbB0pyMICWQVgyDdF4Lb49R56bVvxgw=; b=PX3tfDubg32xf9/zn0ZLt9iM2MDtb5s5vdjgJgJUiWQHva2lPmft/hVPZK46JAPNv1vm9x 0Yfoaew1gDhtqlaRYmL12L+j8/DVgUhOP28xGmKgOyBTn4g0XB/ZkoB3hkeB7tzVnDvv4W txDaxAL+LE8ccn5yEnCKRD3K9JONe+hb+8xx3eTafA/0fSi/n9P64rrKgIa70qzGF7fxvW 5/Q+yiru85+9OAA5N9VzJPCgfLx9KK3/JZrUemkpZMWVv0BQuEEGaC+NqFLLlXPLjmnOH7 9dp3GK1RUCiX9FkmJO1GLQfhP9/GdUfM4ThugFbJ1ODPW6cY1r+qNaZ0aEPlGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739435122; a=rsa-sha256; cv=none; b=wDcTT1FWnIw3SCxviAVL/1PxxApxYzSK9d9oUw4wOEq0g9EOcUfp+qRoP8o735wd8SnkDb lhFl7jcVFY/c87m/1Y7LSaNWlS6zKP40QlMlj1TKqhUqcIB6fVvps7ZZHGdrygRAEhuj+s TaIuLSuIpLjkbMWy5J8kcgwTEHqd+XV0Q9E8rJ2DUUbXrmGiiw+L/F91LbbyfRGMNnI6gM kyB3ILG6fipmbFhzs715hlBzkXKqXt8tHG5DKKn+RwqaqmMms4wjgBgXAobpaIZHaFwgTD k3gYubT8TpEIgnwkf97Hkn3LOOlT2RuI0WGMFcOCaSuhVFhn/ocG/bYLPhWGMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtpCQ4JsxzdDs; Thu, 13 Feb 2025 08:25: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 51D8PMNI005091; Thu, 13 Feb 2025 08:25:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51D8PMSR005088; Thu, 13 Feb 2025 08:25:22 GMT (envelope-from git) Date: Thu, 13 Feb 2025 08:25:22 GMT Message-Id: <202502130825.51D8PMSR005088@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: 9370c2c33125 - stable/13 - Remove obsolete clang18 files for aarch64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9370c2c331255beac5e451c7841e68b2302ebf91 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=9370c2c331255beac5e451c7841e68b2302ebf91 commit 9370c2c331255beac5e451c7841e68b2302ebf91 Author: Ronald Klop AuthorDate: 2025-02-10 18:41:26 +0000 Commit: Dimitry Andric CommitDate: 2025-02-13 08:23:59 +0000 Remove obsolete clang18 files for aarch64 This fixes a warning from "make delete-old" about a non-empty directory on aarch64. Reviewed by: dim Fixes: 0fca6ea1d4ee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48904 (cherry picked from commit 09b435d3dc2a591fba08be04d5659d03cce08285) --- ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index b9e5f30f1f35..d929086e47c7 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -350,6 +350,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-riscv64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64le.a @@ -368,6 +369,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a From nobody Thu Feb 13 08:45:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtpfD4GZdz5nBlM; Thu, 13 Feb 2025 08:45: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtpfD3hnXz3rWK; Thu, 13 Feb 2025 08:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739436308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=is6BRLu41f7H5gKgIbRMp3mFkGvRqp6xf3jGIPYjMxA=; b=WQYOb55oXTpSobI3YIKKymcYbfPQVjYbiuQJG+cda/b1A4cTeGoLUK/utvW1hi5scp3E9n JBbj1xO+62UgfJxWdZRrQLRxvDHbyHiSSPuH1n2AMGYnNaKmD18WyWk8oUUR62210A4vzG PxRrjH3VWtV8nkb/KV1BGw1khKPEbNNgSOdm5StlhRRydKfiUdBGwefe7YjbIz44A4RnhD juG0R+zfeKGBdIsL/0OququmOOju5IW8d+GXjKDp5h1a+fkhLmZtHt296wUx0jgcmp1ObD FoRCTWJwXBCBxahnWuWBDGmd2toqDAXu33o9AC+R9nJjHhkEFitu9wKWNw812Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739436308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=is6BRLu41f7H5gKgIbRMp3mFkGvRqp6xf3jGIPYjMxA=; b=tvuac8daT9YoaDRygm3CNSIMBrkTStMo9+BpK6YzSG/AEd51urHcQOzUhpy5labgRr6nIN tvEQ4H8TYHL2Eftc/yk0NrIWeBW+2whUNDbPP+HiTrS/c5X2lIJdQeXryaeBhNK00pXEkc DaoknJBhyWH6Jw1jHsXSZhEWX6ibgFXYgWue//T4FYkRXZAWFqz0hbYSSNaFG1d/wRr+Ue /GW6IThS8OpgzzMf5Owy1ly9Ujrwotfu6gZQcH08Z8rJLfvMjw0EzTCmg9ppifDMDnNBOX vreB9KfkLluTLVO53U8F6iuF8H2MqEBr44uCgupoe5Z9YXaH58G4lbBx6eVs8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739436308; a=rsa-sha256; cv=none; b=sCIjOIoqaCcXpgQVkrHF3N1sJ/LqN9NcUCNI5DC1LVQlwcmVGLQFdPhdhFNZz/xk4OvgRj YayIKQ389fpNr3oMsk6aXOCKsFosnu9eyINW5xFLJH9kJ1G2wAboqKDVSBISOpEJoAZvx5 /gIqoms/r9IREw3awKgJCiO52lJM8JxjWvy5wIBpM+1HiMlMKxC3huY8bE0OuAGDjhrEAK +KN77OI131Wad4WmoOv83yKaNVuaFbO3WcHK04ngWNOngEAQ060xU1m7LBbvFxCtAxWXrt UPj97bJ3zNKskR2d3GX2plYU3HQzYhH1SKNnZJva5d1Eu6FTVYVUJUQ1xKmXYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtpfD33hCzdcC; Thu, 13 Feb 2025 08:45: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 51D8j8ZZ042533; Thu, 13 Feb 2025 08:45:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51D8j8mW042530; Thu, 13 Feb 2025 08:45:08 GMT (envelope-from git) Date: Thu, 13 Feb 2025 08:45:08 GMT Message-Id: <202502130845.51D8j8mW042530@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 523548736f46 - stable/14 - if_ovpn: fix module load in NOINET6 kernels List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 523548736f46bfcb307846e12dc9a890fa02f327 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=523548736f46bfcb307846e12dc9a890fa02f327 commit 523548736f46bfcb307846e12dc9a890fa02f327 Author: Kristof Provost AuthorDate: 2025-01-30 11:06:19 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 08:44:58 +0000 if_ovpn: fix module load in NOINET6 kernels PR: 284459 MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/if_ovpn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c index de7920981027..6309d1f365cf 100644 --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -593,6 +593,7 @@ ovpn_new_peer(struct ifnet *ifp, const nvlist_t *nvl) free(name, M_SONAME); name = NULL; +#ifdef INET6 if (peer->local.ss_family == AF_INET6 && IN6_IS_ADDR_V4MAPPED(&TO_IN6(&peer->remote)->sin6_addr)) { /* V4 mapped address, so treat this as v4, not v6. */ @@ -600,7 +601,6 @@ ovpn_new_peer(struct ifnet *ifp, const nvlist_t *nvl) in6_sin6_2_sin_in_sock((struct sockaddr *)&peer->remote); } -#ifdef INET6 if (peer->local.ss_family == AF_INET6 && IN6_IS_ADDR_UNSPECIFIED(&TO_IN6(&peer->local)->sin6_addr)) { NET_EPOCH_ENTER(et); From nobody Thu Feb 13 10:20:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytrmh2Pb7z5nHtS; Thu, 13 Feb 2025 10:20: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytrmh1pYfz3YLK; Thu, 13 Feb 2025 10:20:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rTa/Pn27m5dOoMYoFCHxdJIm+0pVFzOxi7XBjOuBQ1c=; b=FF7Duyl3S+3UXgvdkx/I1YTn/ooowdvpCY1p+NBPDSPw6aWfPQa5alnsVu5i+ptxRc2x5y nzrg9YpEDGo/IGlWePHibV0O1v64FzmVN+PyMewoPKTbjqsG9C1OUg0SRL10hWr3QJF1Eh rCxIowuP5QH+NCWp/JqincfgnCeLu9OLTWYFYqW2IYJVfWA0XzPs9ImBsV6yHY5unXaaDm wPtNbPyGF4YdmOWUBrxDbcZO17vGieqehOpMYNKDWaSo3noWiWQIhsZsN2W/U2PZtSE5sw SfkVKLV3nKDvMWNqeJs/Vn8EJSlWOIYO6IDIpf/bVsRox/HaOVyDuuBYRhrgAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rTa/Pn27m5dOoMYoFCHxdJIm+0pVFzOxi7XBjOuBQ1c=; b=wbmIxC8nLU288nQZDfNSECMCk3fCmcAFwGmD1Hr0r/IWZAKM4v/YWrZIL5oUcsLNuYthb4 bS66BpX3Y5GLNcLzAgMuf81EK2ELq/OPeInhxB5Hbt7WSlMlLXQDR6qjUnPq+y1WJTqvxe h5Y6wu4GqbtuLEuFAl8QVXcHel6FgwrbYreeHxBtBg+4IqrmkLL1d2Z/x2qGJAkLS9rA0L krhlvo9e2VGSekZ+xUGfsXsc0pI9RmdIcgCU9QYuu+1p+CD4ANgydOLemXS54zGR4GBE5l tVj9e72Gbkbsn6Z/KhxBhzi3CYd6JoYQI+YXgQZo7Uf7cDLidQnJquqX8XJqbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442052; a=rsa-sha256; cv=none; b=IK4LIaP9ICAujiNzCgwdtCxsJWoZvcKrkE3QaQ05iL5XK7yud6sHIa3nu0Of0xJlJGp2or +9XQKNoRf19KQBOvASGYM9FDbg8O+i9rwlI9bzAHasFsrf70vQevzyxgmjOK+FAxL35Njt m+ubb9OyydPBmxamlduCRFIU96T4Afjw3yYxyaVXCAAMEKqFZxsMdgQ7m7vVxEaw0FxTNo sAa63i14FuXzbqEcqtxMIJA2ZmGe4DkGourl3VTLvIVvT9+G3rCUdEewF4KDyWhhqQt6fz 8LwS2cEoZfP4t8XhaYLt4Qzg+04jm+PhXSVIOvBA8erjc9iK5zp1vzYzYc6h6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytrmh1JXPzgxV; Thu, 13 Feb 2025 10:20: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 51DAKqOK025633; Thu, 13 Feb 2025 10:20:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DAKq9D025630; Thu, 13 Feb 2025 10:20:52 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:20:52 GMT Message-Id: <202502131020.51DAKq9D025630@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: 04f360b78220 - stable/14 - MAC: mac_biba, mac_lomac: Fix setting loader tunables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 04f360b782205c799b9302ba8bd810f7a303017f Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=04f360b782205c799b9302ba8bd810f7a303017f commit 04f360b782205c799b9302ba8bd810f7a303017f Author: Zhenlei Huang AuthorDate: 2025-02-09 15:53:29 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 10:19:56 +0000 MAC: mac_biba, mac_lomac: Fix setting loader tunables A string loader tunable requires setting the len parameter to a nonzero value, typically the size of the string, to have the flag CTLFLAG_TUN work correctly [1] [2]. Without this fix security.mac.{biba,lomac}.trusted_interfaces would have no effect at all. [1] 3da1cf1e88f8 Extend the meaning of the CTLFLAG_TUN flag to automatically ... [2] 6a3287f889b0 Fix regression issue after r267961. Handle special string case ... Reviewed by: olce, kib Fixes: af3b2549c4ba Pull in r267961 and r267973 again ... MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48898 (cherry picked from commit 7d4c0fac8c7db9c5741ba98a8b3ce3c43feb1cf4) --- sys/security/mac_biba/mac_biba.c | 3 ++- sys/security/mac_lomac/mac_lomac.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/security/mac_biba/mac_biba.c b/sys/security/mac_biba/mac_biba.c index e991e05311df..aac7a0545ab8 100644 --- a/sys/security/mac_biba/mac_biba.c +++ b/sys/security/mac_biba/mac_biba.c @@ -110,7 +110,8 @@ SYSCTL_INT(_security_mac_biba, OID_AUTO, trust_all_interfaces, CTLFLAG_RDTUN, static char trusted_interfaces[128]; SYSCTL_STRING(_security_mac_biba, OID_AUTO, trusted_interfaces, CTLFLAG_RDTUN, - trusted_interfaces, 0, "Interfaces considered 'trusted' by MAC/Biba"); + trusted_interfaces, sizeof(trusted_interfaces), + "Interfaces considered 'trusted' by MAC/Biba"); static int max_compartments = MAC_BIBA_MAX_COMPARTMENTS; SYSCTL_INT(_security_mac_biba, OID_AUTO, max_compartments, CTLFLAG_RD, diff --git a/sys/security/mac_lomac/mac_lomac.c b/sys/security/mac_lomac/mac_lomac.c index 23acc7b7a592..23a996469bc0 100644 --- a/sys/security/mac_lomac/mac_lomac.c +++ b/sys/security/mac_lomac/mac_lomac.c @@ -111,7 +111,8 @@ SYSCTL_INT(_security_mac_lomac, OID_AUTO, trust_all_interfaces, CTLFLAG_RDTUN, static char trusted_interfaces[128]; SYSCTL_STRING(_security_mac_lomac, OID_AUTO, trusted_interfaces, CTLFLAG_RDTUN, - trusted_interfaces, 0, "Interfaces considered 'trusted' by MAC/LOMAC"); + trusted_interfaces, sizeof(trusted_interfaces), + "Interfaces considered 'trusted' by MAC/LOMAC"); static int ptys_equal = 0; SYSCTL_INT(_security_mac_lomac, OID_AUTO, ptys_equal, CTLFLAG_RWTUN, From nobody Thu Feb 13 10:20:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytrmj50gmz5nHyh; Thu, 13 Feb 2025 10:20: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytrmj2dS4z3YST; Thu, 13 Feb 2025 10:20:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0KWRbUKTe4lB7OgoMPVj4f7kbmE5i3RmqJT84B6kgd8=; b=Z5VpWUbs9oEPV0YYhI+FBy7Mi721SKjsN0A3jvVeTnQoiE7S5kIiaT9G3raR7RYr91wL5k KjI4Vs1wZSf+A1fBHR7yfUNbHCVVp+hi2o9eW7DQDFmCVIxUBqfD1HsgO4MlSXKCgz/a0y Uh7ObWrzCgn6agy+pnC1xHfbCIiMfV2D83Bj9wkRhc+PkRaIIy0NLvkjdKmOXJmPsQb/ao Rk+H76jnNN23W/eET3zaZ7pG7KfAtGHLbwgxpb80zr70FX0WKoDoIHJKtbi5Sgvbeo2kZh CzN844u6NLuRUlm51lpJvCqBYLP4wsCGGT0bMHDzH5FF2gwGlxoWjSPJpWuCcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0KWRbUKTe4lB7OgoMPVj4f7kbmE5i3RmqJT84B6kgd8=; b=P7lw1H6aMRgdjOJAoBuxA13U2kZ2ZH/3jA8E1cjKwH4ssuoDoQ0Hm09DEG8J+PPicsdsap azfMEeENSZ6ihHFCR0uPFPNgPly6zL4aogVidELq8kSdVaVetrR78Uj82Hd80uUSgo+1ve gsx+OOHzQIfmk03U/Jvs8dRcZPbk0RbLcxHTXlimD+EwM4j27xX9UrqiTlbPNsmHEguUHS E6GpZZ1UFbnqHdzt1aC2ae8Qncje4QXG73eDvVxNyyob+vFvqyVD0cYqWYteu5wjpUsd2O km/uo2AqdDdz6aCEkdHzo4MDe/XMXuUckFXHRe48YrDLOE9BSYE4gPYC7VdcOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442053; a=rsa-sha256; cv=none; b=plOm9E2jTaxCjcL2WoEIUEtw2WKQSt2nk1qhTbLZTYHJEVXCpSliLpH8YBx0YzyhWlQU9O Y6VPoTs2cZRcU7KZzvO+vYkYM/rcd3Y1a30rlgHCUy8zBsBI8cnRFIsTYlglEKAY9qUqAO R4ZYAg6Vy93fIi1oUdf+hzHbNNr8+8P6pAZ3Mil7dDzNu2GAF78CQcRENWH5bDMcGIaBQG TWd0rOHGhFugdO/um6wBGBdvclXQ3ok1m5x37eivdBD7hxeaZq/r3TOreSAAGjW2PXKbQr wCFQtQhuxy9TxUBGj2lxItkF82LJWWNS3UWMq4ZNJBI4S33Rpzvd6aD1P4T7NQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytrmj2DqJzgxW; Thu, 13 Feb 2025 10:20: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 51DAKrnD025668; Thu, 13 Feb 2025 10:20:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DAKrro025665; Thu, 13 Feb 2025 10:20:53 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:20:53 GMT Message-Id: <202502131020.51DAKrro025665@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: 8ca77f9f9ece - stable/14 - sysctl: Harden sysctl_handle_string() against unterminated string List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8ca77f9f9ece9d89161d080eee6a1aa706001878 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=8ca77f9f9ece9d89161d080eee6a1aa706001878 commit 8ca77f9f9ece9d89161d080eee6a1aa706001878 Author: Zhenlei Huang AuthorDate: 2025-02-09 17:17:11 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 10:19:57 +0000 sysctl: Harden sysctl_handle_string() against unterminated string In case a variable string which is not null-terminated is passed in, strlen() may report a length exceeding the max length, hence it is possible to leak a portion of kernel memory to the userland. Harden that by using strnlen() to limit the length to the max length. While here, refactor the code a little to improve readability. Note that, when calculating the out length, the null terminator '\0' of the string is taken into account if available. This is not really necessary but userland applications may have already relied on this behavior. Reviewed by: avg, kib, olce Fixes: 210176ad76ee sysctl(9): add CTLFLAG_NEEDGIANT flag MFC after: 4 days Differential Revision: https://reviews.freebsd.org/D48881 (cherry picked from commit 1951235537fb62150f1bb15dd7e170ac30853d35) --- sys/kern/kern_sysctl.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 3d66de0b18bb..b9ca0e7e5041 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -1785,8 +1785,7 @@ int sysctl_handle_string(SYSCTL_HANDLER_ARGS) { char *tmparg; - size_t outlen; - int error = 0, ro_string = 0; + int error = 0; /* * If the sysctl isn't writable and isn't a preallocated tunable that @@ -1798,33 +1797,32 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS) */ if ((oidp->oid_kind & (CTLFLAG_WR | CTLFLAG_TUN)) == 0 || arg2 == 0 || kdb_active) { - arg2 = strlen((char *)arg1) + 1; - ro_string = 1; - } + size_t outlen; - if (req->oldptr != NULL) { - if (ro_string) { - tmparg = arg1; - outlen = strlen(tmparg) + 1; - } else { + if (arg2 == 0) + outlen = arg2 = strlen(arg1) + 1; + else + outlen = strnlen(arg1, arg2 - 1) + 1; + + tmparg = req->oldptr != NULL ? arg1 : NULL; + error = SYSCTL_OUT(req, tmparg, outlen); + } else { + size_t outlen; + + if (req->oldptr != NULL) { tmparg = malloc(arg2, M_SYSCTLTMP, M_WAITOK); sx_slock(&sysctlstringlock); memcpy(tmparg, arg1, arg2); sx_sunlock(&sysctlstringlock); - outlen = strlen(tmparg) + 1; - } - - error = SYSCTL_OUT(req, tmparg, outlen); - - if (!ro_string) - free(tmparg, M_SYSCTLTMP); - } else { - if (!ro_string) + outlen = strnlen(tmparg, arg2 - 1) + 1; + } else { + tmparg = NULL; sx_slock(&sysctlstringlock); - outlen = strlen((char *)arg1) + 1; - if (!ro_string) + outlen = strnlen(arg1, arg2 - 1) + 1; sx_sunlock(&sysctlstringlock); - error = SYSCTL_OUT(req, NULL, outlen); + } + error = SYSCTL_OUT(req, tmparg, outlen); + free(tmparg, M_SYSCTLTMP); } if (error || !req->newptr) return (error); From nobody Thu Feb 13 10:23:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytrr94qckz5nJ7X; Thu, 13 Feb 2025 10:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytrr85gY6z3b10; Thu, 13 Feb 2025 10:23:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=asRd7s9wZi7YqcYnnjOzbPpyjJTuNJaiBeLqCPt3+Kc=; b=EON9qgb0fcRUddPGyMjkaLyyPZ6xFwGFb5VLACFL2txEOjarYu+OwDZ2TWUbgQF/XIvefa CrKZ095PAeM3xT6qa6HO4dvFlc7DPrdUd1IbXYP/RlRcqiis3k3miNGDjL+LUGozYKFUHw DabKypF75elGvxub65/NRbkp5tJh7wgm65HoJDjEheAFyYYMYaV4u5rI8vMhkUVuDiVktD o+u5ZZ4T3xKnk3z9lXJrn/d1oNyGf2uOGE/lrNoIQOOSVVc/rEwN0CXJfsI/rQbNsm0VZk USUQOVswOlF8RsgLdcvWnmb6FTbei8oDGXaVHmVwQHsXxl1l6RrYKbut/qUkAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=asRd7s9wZi7YqcYnnjOzbPpyjJTuNJaiBeLqCPt3+Kc=; b=fGV6C8NOpwQOf6Eg7ukuZdnFceOoaZ+uOv2JuYqVoiytxyoN0uum3Ofe8SK6HWL7aMw7mf vXO27Uk07/Be33z/4aPKkfw4qskBJ6oVgiI5ming9gEgH8P4+Fxg9npa1DpNkQPr0Xj4zF 1FEj175EXVatahe99/omEKj0pd/FJdxVP2Yy77LMQ2jpwYc2aphf+IdVL061X/pYJxWfUX /hyFJ1P0H7IDEAxq2iyMqqJhVs0L0QtdoQlBjsuh49Vv/qA3pdp9S/C4nihSRBp+ZYD7vn 9AT4yLzU516ZtX3B2Ncmzd98mEV8yVx/4IXZ7srvEUMAMjHCjKdlCGqb6yPZhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442232; a=rsa-sha256; cv=none; b=xAmWyYN3VwxCSF90l0ucO5psFyNpyq/qYwZqvrUURQnfx/S9/Wf70DqBW/SscL2eMXuxm9 PRydQQvUUX1MiRwUka9RKmKC9vBek0ONKiuMg0Ku5FmeLaoxkLUMBefxj2GPMYJFUnuYly kqUa468BWmmDBPQw/gmg+OQhmtG5Gbq8ORX6jQaboWSjTXowqhybs5JxxWk0SiB/EccoCz M2MGg9fxCL9UuSnmP0MEPvnR+meCiSfZw/mhE3FDSmdkrPQS2Zzs/7jPARJLuSSbFJ8wh4 eJM4r8BvgGz0kiFGqnCj+FTnykBDPCkxatFpD55/8xgqirJBhDh/GX7434cCnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytrr84gSFzhVh; Thu, 13 Feb 2025 10:23: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 51DANqvT030209; Thu, 13 Feb 2025 10:23:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DANqKP030206; Thu, 13 Feb 2025 10:23:52 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:23:52 GMT Message-Id: <202502131023.51DANqKP030206@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: 87836ab994c2 - stable/13 - MAC: mac_biba, mac_lomac: Fix setting loader tunables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 87836ab994c2ff9d442f84c174bd1fdead3cfa27 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=87836ab994c2ff9d442f84c174bd1fdead3cfa27 commit 87836ab994c2ff9d442f84c174bd1fdead3cfa27 Author: Zhenlei Huang AuthorDate: 2025-02-09 15:53:29 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 10:23:03 +0000 MAC: mac_biba, mac_lomac: Fix setting loader tunables A string loader tunable requires setting the len parameter to a nonzero value, typically the size of the string, to have the flag CTLFLAG_TUN work correctly [1] [2]. Without this fix security.mac.{biba,lomac}.trusted_interfaces would have no effect at all. [1] 3da1cf1e88f8 Extend the meaning of the CTLFLAG_TUN flag to automatically ... [2] 6a3287f889b0 Fix regression issue after r267961. Handle special string case ... Reviewed by: olce, kib Fixes: af3b2549c4ba Pull in r267961 and r267973 again ... MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48898 (cherry picked from commit 7d4c0fac8c7db9c5741ba98a8b3ce3c43feb1cf4) (cherry picked from commit 04f360b782205c799b9302ba8bd810f7a303017f) --- sys/security/mac_biba/mac_biba.c | 3 ++- sys/security/mac_lomac/mac_lomac.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/security/mac_biba/mac_biba.c b/sys/security/mac_biba/mac_biba.c index 8b683dc380eb..04dd331835be 100644 --- a/sys/security/mac_biba/mac_biba.c +++ b/sys/security/mac_biba/mac_biba.c @@ -110,7 +110,8 @@ SYSCTL_INT(_security_mac_biba, OID_AUTO, trust_all_interfaces, CTLFLAG_RDTUN, static char trusted_interfaces[128]; SYSCTL_STRING(_security_mac_biba, OID_AUTO, trusted_interfaces, CTLFLAG_RDTUN, - trusted_interfaces, 0, "Interfaces considered 'trusted' by MAC/Biba"); + trusted_interfaces, sizeof(trusted_interfaces), + "Interfaces considered 'trusted' by MAC/Biba"); static int max_compartments = MAC_BIBA_MAX_COMPARTMENTS; SYSCTL_INT(_security_mac_biba, OID_AUTO, max_compartments, CTLFLAG_RD, diff --git a/sys/security/mac_lomac/mac_lomac.c b/sys/security/mac_lomac/mac_lomac.c index d878f9a7b965..7a2f340d85bc 100644 --- a/sys/security/mac_lomac/mac_lomac.c +++ b/sys/security/mac_lomac/mac_lomac.c @@ -111,7 +111,8 @@ SYSCTL_INT(_security_mac_lomac, OID_AUTO, trust_all_interfaces, CTLFLAG_RDTUN, static char trusted_interfaces[128]; SYSCTL_STRING(_security_mac_lomac, OID_AUTO, trusted_interfaces, CTLFLAG_RDTUN, - trusted_interfaces, 0, "Interfaces considered 'trusted' by MAC/LOMAC"); + trusted_interfaces, sizeof(trusted_interfaces), + "Interfaces considered 'trusted' by MAC/LOMAC"); static int ptys_equal = 0; SYSCTL_INT(_security_mac_lomac, OID_AUTO, ptys_equal, CTLFLAG_RWTUN, From nobody Thu Feb 13 10:23:53 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtrrB0JTjz5nJVQ; Thu, 13 Feb 2025 10:23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytrr95k9Hz3b11; Thu, 13 Feb 2025 10:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8Ryq/0fovGWdCGYLvUn94QNKf1ifGJ9GKcqqcKZEFA=; b=CTwbKKqRnAqfhJHd6udor7ZgJAewqqUWQpYCgPGJMV37oHSHliwl8QaIDMqDPWi6VrdBHd OTUh0bPfJyc2vexTz7xXnEn7V8aL8RlnMxGiAjiICTIZCu3OyW71TI2HRLp7glVpe3RoUG sIaqnbeYvSrVBiBzxAj5MJiv2IxXErnGUL8C1sJsrxrHDlnS6wvdlQb8BSt/Wkn30e/LG0 7C4atzst5dcBdLWUxCNqUiCiiiAElUmC2bTYDtPkSmwjdntBdJRKj5J7uYmZX9FKZg4oYy RWGiLzM1EewpyLCpXqChQVsLi7/u/Av2OQt4G6W6tYXBiNiLIQKMhgg+BgnDfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8Ryq/0fovGWdCGYLvUn94QNKf1ifGJ9GKcqqcKZEFA=; b=o6t0g/xOuHhCuonDTClDgK/E2b+InTlDkROsCAhVG5uyATys8KyS1PTZITEeSyMxZsmjMI SJORgd4aWmC1ma0U9d8nsbTWSEQP0N6PO1KT652T8tyBiDB8UEx8xFPjlsGUq989RdtPu+ P+z6aZVA//kQxI12B77jKxmmw1h1CD1A+o2odiKZ/oYZeH+7YHK+3Kuc0dzxpxSOtWhuNZ rcPRpA4w5O2IBPyl9/ju71uhprHzXIrWNNDk0LxAjpEYwAxA2wFcBCbm7kX/2+SRFZFr/Y GDrKbxvuce9yOumr6KSiefVQJYFyHzY6gunbfiknpZq9JRVg5nSgyeKbADCh/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442233; a=rsa-sha256; cv=none; b=OOM6SoL0bnK+LCFhqMxXd4fF9h6TLLF2SjUmZAfM3hLmKSda/TMOYtm8A779q1RA8UncH9 /Itg0qpSOwvZ5ZVk52VUkYfCpH126nURGVo1nour4hr2wf17SplWD+So+zSL9BLZOE7mC/ K54B1OM03x56BVIXceleNnd9ioFZtr57HXJI3fyV4vh7NbGTIzdDEkTr1UpoEdSG0OH3gm 0G2j0pC90SIZjSghAy04ktg9eRCHF9m/HWN2Fhc3Q2mITOJtRZR67H2Q+c5E+D0vqYNOXT WKrTqjr3oZeUWW0192uDljE0EQq5gqxg3eFybY9jqLFi4oGXAUmBOeGUjiY2aA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytrr95K4jzhDS; Thu, 13 Feb 2025 10:23: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 51DANrN7030244; Thu, 13 Feb 2025 10:23:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DANrQg030241; Thu, 13 Feb 2025 10:23:53 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:23:53 GMT Message-Id: <202502131023.51DANrQg030241@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: dcd7286d9027 - stable/13 - sysctl: Harden sysctl_handle_string() against unterminated string List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dcd7286d902774428c08b179a72bfdcd4556ec06 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=dcd7286d902774428c08b179a72bfdcd4556ec06 commit dcd7286d902774428c08b179a72bfdcd4556ec06 Author: Zhenlei Huang AuthorDate: 2025-02-09 17:17:11 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 10:23:04 +0000 sysctl: Harden sysctl_handle_string() against unterminated string In case a variable string which is not null-terminated is passed in, strlen() may report a length exceeding the max length, hence it is possible to leak a portion of kernel memory to the userland. Harden that by using strnlen() to limit the length to the max length. While here, refactor the code a little to improve readability. Note that, when calculating the out length, the null terminator '\0' of the string is taken into account if available. This is not really necessary but userland applications may have already relied on this behavior. Reviewed by: avg, kib, olce Fixes: 210176ad76ee sysctl(9): add CTLFLAG_NEEDGIANT flag MFC after: 4 days Differential Revision: https://reviews.freebsd.org/D48881 (cherry picked from commit 1951235537fb62150f1bb15dd7e170ac30853d35) (cherry picked from commit 8ca77f9f9ece9d89161d080eee6a1aa706001878) --- sys/kern/kern_sysctl.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 371d521d8850..7a4feada157e 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -1787,8 +1787,7 @@ int sysctl_handle_string(SYSCTL_HANDLER_ARGS) { char *tmparg; - size_t outlen; - int error = 0, ro_string = 0; + int error = 0; /* * If the sysctl isn't writable and isn't a preallocated tunable that @@ -1800,33 +1799,32 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS) */ if ((oidp->oid_kind & (CTLFLAG_WR | CTLFLAG_TUN)) == 0 || arg2 == 0 || kdb_active) { - arg2 = strlen((char *)arg1) + 1; - ro_string = 1; - } + size_t outlen; - if (req->oldptr != NULL) { - if (ro_string) { - tmparg = arg1; - outlen = strlen(tmparg) + 1; - } else { + if (arg2 == 0) + outlen = arg2 = strlen(arg1) + 1; + else + outlen = strnlen(arg1, arg2 - 1) + 1; + + tmparg = req->oldptr != NULL ? arg1 : NULL; + error = SYSCTL_OUT(req, tmparg, outlen); + } else { + size_t outlen; + + if (req->oldptr != NULL) { tmparg = malloc(arg2, M_SYSCTLTMP, M_WAITOK); sx_slock(&sysctlstringlock); memcpy(tmparg, arg1, arg2); sx_sunlock(&sysctlstringlock); - outlen = strlen(tmparg) + 1; - } - - error = SYSCTL_OUT(req, tmparg, outlen); - - if (!ro_string) - free(tmparg, M_SYSCTLTMP); - } else { - if (!ro_string) + outlen = strnlen(tmparg, arg2 - 1) + 1; + } else { + tmparg = NULL; sx_slock(&sysctlstringlock); - outlen = strlen((char *)arg1) + 1; - if (!ro_string) + outlen = strnlen(arg1, arg2 - 1) + 1; sx_sunlock(&sysctlstringlock); - error = SYSCTL_OUT(req, NULL, outlen); + } + error = SYSCTL_OUT(req, tmparg, outlen); + free(tmparg, M_SYSCTLTMP); } if (error || !req->newptr) return (error); From nobody Thu Feb 13 10:33:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yts300Yfxz5nJWm; Thu, 13 Feb 2025 10:33: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yts2z6JNyz3fTp; Thu, 13 Feb 2025 10:33:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DV7iYdRG4V4kCAmQMbbj3HfmCpQl06eGCmTbag6YWU8=; b=r5cZjVV9181dA1qssuqMxPLMMq1Afaux3l07i7Y1sOXnx811yb37tnI1reEIZkKSj9LmgG RPzhREnGRqnxv2fHYDZvyFJrIcScEn4haDsbSnDrvEdrAmZKIcM8Bkj+nH1Hjdz15/syHn cL4bDHWJpdjB1TNxXMVFsgofVp359CWWFw7gdkUCnwGW5vGpkxeHFDmkSkBfGRm6mlXEBc DyTnkTiXeRGSckd4v35RmfqfEtWwVaq/onHyQi6aWCksbSfSam7BKAOlXm6AabPVgKRai+ uM+hU0CmeH89W1UKHfka+p2mgk91nd0luGVDih5t1W5pd5bvlGQ1PYgnRE00RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DV7iYdRG4V4kCAmQMbbj3HfmCpQl06eGCmTbag6YWU8=; b=eU+UgyUkP4oJATgmKxx9qZgn/fM60uvIp6CHiCxQ1sazy/MnSBTzbsg2/5odTeuUB3/clL ywmRfZOBlzJg400xW9JbEow/UpfohADOEb/lJn0/1RrlMG/6xBiPuPBWpAYJvykGGMNNl5 M1S6hEPdpf+vEAbWwVrZJSPwF/ICw6JM0K2HmGs61zfuZyK4gC6rrZlF1lCC+dhgEVgoC8 6NsWbGzJp6//o3q149Dz3ElpYb5hctp3IAGzpUkgNoH/VXsrOCo2THFL6d5fPRC0qENqiL 5N7bXeBjCezJcypcw6/x8Wwh1Bd4QCPxda8z5w7Wgxw5r6W6u/lxJNGRHmy9Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442795; a=rsa-sha256; cv=none; b=ltYS497GWhmnYmdvBt82/L/X1geVHKUnBE9PgLnqeTZ31e+DPCw+mxclTlKO+klc/EhX3f WuAqTEY4oDg7d4XPvPq+cYA385lpeM+jYywpAmHFcu+Huamymm06OtCCJK2UDH8e+SaM3q h87E0J2SkkkbOCU+OkUrRDGiWwsrfu8n+cE8qtrPbjQq11TSpG5nXphf/UjR16t2d7gLY7 OVw6vIfTj/7VXS088K97cga76ae7pC7BXorpBjQ01/+vHz+M9Jr8aL77IkLvkAzYtHHZ1G aFqTnJyezjKgW2jsyguRLmGe1mRU834/2zmqvAahbyv4SDRmvHYx2539fiEzdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yts2z5vd8zhcX; Thu, 13 Feb 2025 10:33: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 51DAXF7a048728; Thu, 13 Feb 2025 10:33:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DAXFSW048725; Thu, 13 Feb 2025 10:33:15 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:33:15 GMT Message-Id: <202502131033.51DAXFSW048725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2e794b773344 - main - mlx5: add synthetic error for MLX5_CMD_OP_QUERY_FLOW_COUNTER when device is down List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e794b7733444bf3582486b0097d8162685af464 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2e794b7733444bf3582486b0097d8162685af464 commit 2e794b7733444bf3582486b0097d8162685af464 Author: Konstantin Belousov AuthorDate: 2025-02-09 00:09:28 +0000 Commit: Konstantin Belousov CommitDate: 2025-02-13 10:32:32 +0000 mlx5: add synthetic error for MLX5_CMD_OP_QUERY_FLOW_COUNTER when device is down Sponsored by: NVidia networking --- sys/dev/mlx5/mlx5_core/mlx5_cmd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c index 8ce30bc24e50..a961c9d7c3dd 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c @@ -417,6 +417,7 @@ static int mlx5_internal_err_ret_value(struct mlx5_core_dev *dev, u16 op, case MLX5_CMD_OP_QUERY_VPORT_COUNTER: case MLX5_CMD_OP_ALLOC_Q_COUNTER: case MLX5_CMD_OP_QUERY_Q_COUNTER: + case MLX5_CMD_OP_QUERY_FLOW_COUNTER: case MLX5_CMD_OP_ALLOC_PD: case MLX5_CMD_OP_ALLOC_UAR: case MLX5_CMD_OP_CONFIG_INT_MODERATION: From nobody Thu Feb 13 10:33:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yts311XDCz5nJ9R; Thu, 13 Feb 2025 10:33: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yts3106v3z3fM3; Thu, 13 Feb 2025 10:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8+JWUWHhd+3IcZ4cMMEPu+ZVMCH5MkerQ44IcT0YS4=; b=t4xHRotYhUQjItuh4CCvEFk1V/jV4Gv+LAlheOPtumVAXPXwjDC/ziNIS4D4eDLFM5bDzZ TLtw38h76eQTzSOVtShyelze606bz8nT/MHqiwtuja6aUyHPF6Bq2kqjYx30EEPfitc93V fsArlvE83S8Vlhbrxx5XFk/0xAwhZ1QpGMCeqAoKEJ+KUX/7lvC/oseYgU9jfwoT907OSi DwTGclBXHIJBwwE52pG7BuAN8qGQVoHxGvO/SfkJhPGfVEuzjCim8E4hA/657WVqqQEQea LjOYEZE29exBlhqoiJbX9moweK5dv8om78sezdWrXspk9+dGRXu9cv8XTZRLig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8+JWUWHhd+3IcZ4cMMEPu+ZVMCH5MkerQ44IcT0YS4=; b=AnIEZ2f+2XehRojSCHvVGow2eyi3+3Rg4t4GtO2R+SAFrlNJWACc78fTsdr5Z4AH+y0jRN 3eNsGUqbFXJBkjoYx/sCJgzFXB41cGEUjWZ4z6s7w8Fo52nCK6FOcgGySh0yu5eKGQPx7I gUzT5+C0GXuQvCr3cwhB3us5KWghK9TAxiIhz6IFkkQbiUGuC5CMcx4kurABGJFOHTCGIF MvyefBA/GLwRNuNOIl0iyVj7rmgupzngYK65x9JL087H90lYGMddpaVTCARxDXEyCA8ot2 4vMv/Ckhx3R9hlLgfdtYBja93S9lTcfU0IsWdlGexvJBMymzg3FGicEPOozhEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442797; a=rsa-sha256; cv=none; b=UpbtZeA/XIqKOmyvfvnQzlvcH48LVp7AnIN4NiiySspM0L/VfgrxiQ+7p9dNA2xt3B4wvI SPXbeSlW1Px6xJEfQjjE1Qmik2vHocIdc8QhfQ/FpdKVT2wco4FkBD39i17O/DOPiDGdXE UMkTrcOs3Ts19pOP9tSjVBO5Pv8+VrCq2skJ9YyCP27uPy+WbWTL/ISsQDjHFSwQw0WqWj 3320XgK+3EzcAQoZoNxGH49E60Rg5TIeM3coLpHYdcXZV2L7DWWwuk0WMDskVBZfnWZ4Zl UJtcaOKr/c4tTcNlpJ7x4uIKrxqfrnCcj5OJR9p3l9FbuJA0tY79GrogVmilhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yts306rSPzhDr; Thu, 13 Feb 2025 10:33: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 51DAXGWG048762; Thu, 13 Feb 2025 10:33:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DAXGb7048759; Thu, 13 Feb 2025 10:33:16 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:33:16 GMT Message-Id: <202502131033.51DAXGb7048759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 1fbce7deef51 - main - mlx5 ipsec: return EOPNOTSUPP for unsupported SAs instead of EINVAL List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1fbce7deef51bb7641335f13ddf2543e56f0dafd Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1fbce7deef51bb7641335f13ddf2543e56f0dafd commit 1fbce7deef51bb7641335f13ddf2543e56f0dafd Author: Konstantin Belousov AuthorDate: 2025-02-09 00:11:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-02-13 10:32:32 +0000 mlx5 ipsec: return EOPNOTSUPP for unsupported SAs instead of EINVAL The ipsec offload infra requires the EOPNOTSUPP error from driver to understand that the SA is valid but offload cannot be performed. Sponsored by: NVidia networking --- sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c b/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c index b7e8eb88f625..3f3c575c9dad 100644 --- a/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c +++ b/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c @@ -256,69 +256,69 @@ static int mlx5e_xfrm_validate_state(struct mlx5_core_dev *mdev, if (!(mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_PACKET_OFFLOAD)) { mlx5_core_err(mdev, "FULL offload is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->state == SADB_SASTATE_DEAD) - return (EINVAL); + return (EOPNOTSUPP); if (savp->alg_enc == SADB_EALG_NONE) { mlx5_core_err(mdev, "Cannot offload authenticated xfrm states\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->alg_enc != SADB_X_EALG_AESGCM16) { mlx5_core_err(mdev, "Only IPSec aes-gcm-16 encryption protocol may be offloaded\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->tdb_compalgxform) { mlx5_core_err(mdev, "Cannot offload compressed xfrm states\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->alg_auth != SADB_X_AALG_AES128GMAC && savp->alg_auth != SADB_X_AALG_AES256GMAC) { mlx5_core_err(mdev, "Cannot offload xfrm states with AEAD key length other than 128/256 bits\n"); - return (EINVAL); + return (EOPNOTSUPP); } if ((saidx->dst.sa.sa_family != AF_INET && saidx->dst.sa.sa_family != AF_INET6) || (saidx->src.sa.sa_family != AF_INET && saidx->src.sa.sa_family != AF_INET6)) { mlx5_core_err(mdev, "Only IPv4/6 xfrm states may be offloaded\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (saidx->proto != IPPROTO_ESP) { mlx5_core_err(mdev, "Only ESP xfrm state may be offloaded\n"); - return (EINVAL); + return (EOPNOTSUPP); } /* subtract off the salt, RFC4106, 8.1 and RFC3686, 5.1 */ keylen = _KEYLEN(key_encp) - SAV_ISCTRORGCM(savp) * 4 - SAV_ISCHACHA(savp) * 4; if (keylen != 128/8 && keylen != 256 / 8) { mlx5_core_err(mdev, "Cannot offload xfrm states with AEAD key length other than 128/256 bit\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (saidx->mode != IPSEC_MODE_TRANSPORT) { mlx5_core_err(mdev, "Only transport xfrm states may be offloaded in full offload mode\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->natt) { if (!(mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_ESPINUDP)) { mlx5_core_err(mdev, "Encapsulation is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } } if (savp->replay && savp->replay->wsize != 0 && savp->replay->wsize != 4 && savp->replay->wsize != 8 && savp->replay->wsize != 16 && savp->replay->wsize != 32) { mlx5_core_err(mdev, "Unsupported replay window size %d\n", savp->replay->wsize); - return (EINVAL); + return (EOPNOTSUPP); } if ((savp->flags & SADB_X_SAFLAGS_ESN) != 0) { if ((mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_ESN) == 0) { mlx5_core_err(mdev, "ESN is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } } else if (savp->replay != NULL && savp->replay->wsize != 0) { mlx5_core_warn(mdev, "non-ESN but replay-protect SA offload is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } return 0; } From nobody Thu Feb 13 12:38:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr15zdhz5nR7d; Thu, 13 Feb 2025 12:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr15NFyz3ft6; Thu, 13 Feb 2025 12:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZIemDFlvQRf/QATFjTu5nCGRHISiY7lNa0o4v6G7xk=; b=koFKfxGU06mcXkaUk+3fhCMMCEIwo45eDCsue3GocQCke8H9ZEHBJq4QDv2htuJx13LJZS sojX+vaQ9JvgvFzaR26saz3zWHgo2M9FgOUHgOvS2aRTPRkjf/zqlkO8OI7XNBwpN9nBdq nit8+etXLlOdbp75csK0QbrcncZkiRicNIepLAvagwePFhYl0yoHHJQ35OeqoJj5lAGmcE oEz8NK58Z+K7Mx1YmvboPZy0enA23Tag/Pn7XlxBPjIjbSmK8bkxKlmfgOS3fQie+hogeJ p0kLkomYZHLlo2Y/33+ubvg5egIscmkhU2jxHXguGGwd+HP/2NHiQCmQ4TwOTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZIemDFlvQRf/QATFjTu5nCGRHISiY7lNa0o4v6G7xk=; b=UCx6zCfr5NEKBsxLyntX2MjCk9vnmyCNaTeZxyg69kAhul1EDjfO3ND+7PRryjaMJ5yuDu /YW/kaji5JCkaNrpdNhSCSV2Enj96VOgRUIjvMAzZFOnhkTzV6IMPv0nIYFvw8XSezoPtw PqevAbjiBj6XdPeJJbsknsF9gKVib5w97+YbrvuaOMqYvC+AvdrK5yHbWGeU7glKDXic5O yiTkhYNhivKO54ThfVgKU3T/H49DVC3x9OrJzGz5xfcDCjnsPVpFxIZsfWha9gAKOZmO83 NMoR3Cgs9uvMyz+peaLoSIh4UgMAhVypM0xWt2kdGxaqKvmEhk+JOX6b7g/ZEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450337; a=rsa-sha256; cv=none; b=XnPHy48StMwKD7PUI1VX3dFK/ujg1yb49I2kmpVn0vgVDKVPOVLWGo6XOsQ+gcoCHmv8ob sW8uj3+xbRNf6kHkY0xRqS6lhl8zEJvaKpWracA35BEwo3n6Yob47NN2pzD1YKQ3vA0crk wBw/4Ea0eOMDtg2iohIuNaF4XNIptTO3DwVTQBdmth5ThQvBrUr74gxwiYSPQhrKqS4wIm ofWKb8Esw4NRzDQt8cWKMtuWy66RHEZN72zlN1JXq7QlhLeRvhfHPtXvWixP12y1b4Z4UJ EfFuoZ0MLNzdiDat7v8ei/nUgveGt1IS1ZNhinTOahXudc/sPUCepksSv4yXPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr14rSNzm3F; Thu, 13 Feb 2025 12:38: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 51DCcvRn075330; Thu, 13 Feb 2025 12:38:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCcvuM075327; Thu, 13 Feb 2025 12:38:57 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:38:57 GMT Message-Id: <202502131238.51DCcvuM075327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: cdf415ecfd75 - main - pf.conf.5: make it clear that the default implicit 'pass' rule does not create state List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cdf415ecfd756b61ed0fad687ee97a12ec29cb5a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=cdf415ecfd756b61ed0fad687ee97a12ec29cb5a commit cdf415ecfd756b61ed0fad687ee97a12ec29cb5a Author: Kristof Provost AuthorDate: 2025-02-03 17:11:55 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:42 +0000 pf.conf.5: make it clear that the default implicit 'pass' rule does not create state make sense to deraadt@, ok/wording tweak from mikeb. Obtained from: OpenBSD, sthen , 610eb54470 Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 4020243c521b..5ee660bd0202 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -707,7 +707,7 @@ For each packet processed by the packet filter, the filter rules are evaluated in sequential order, from first to last. The last matching rule decides what action is taken. If no rule matches the packet, the default action is to pass -the packet. +the packet without creating a state. .Pp The following actions can be used in the filter: .Bl -tag -width xxxx From nobody Thu Feb 13 12:38:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr32fzPz5nRXZ; Thu, 13 Feb 2025 12:38: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr26NRXz3fwc; Thu, 13 Feb 2025 12:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49AKl6qs5A3T9DjvetXNmn3f/G+h/DtW1wc0RIr8NvE=; b=Z+DqPZ8OjIMS8EUfhGsUacwf63FPWEIQocSZl1ja5Ih5tcL0bjltSlvJSqpHqEOweUAd/M KFu7IgRtPSMxRaEfALSV1iOmDSDqMoPcR2baz/aY0s+TzsCiReXFJfUckRxefv0XqWc4oI iKE4lOusrAYvAL71evB/0lyUzs2ZMKU2t1nr5p44WpIBgkM+OpnjbH+waCVNJsoy+v8CYT moQ8SUC2ALGBSCmHEJr9JjUM+ybry2DoNRtuPbdDhHELMhVYqGH0pK0HaEJ/aDkKw1L1QD sOjr9gTGaJAdA+0OTvqiFkuPAjmvq2NQwDj7YXustiQ0CQQEsaVmyUXmgShYUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49AKl6qs5A3T9DjvetXNmn3f/G+h/DtW1wc0RIr8NvE=; b=jVeIPz/eA1ABdzsQ8tFKMcR29fDIaxXa0A3nwmQyZH2QewHal/KjYNrtcXrQvSN/+0cgYj yZLdzZgeHwXbA3jHt6+I9vi7LfeQrggnYH1lS3BfFFByotPe96+jmDPP+XL+g5mkSvIY2/ VqtIQKJc5g8eZFKG8V2Cje3uoa8bsmabztTZ2GsyaC9hTjJKSKpjdN4qFwsz56P/i0R4wV rf0xIzQt+3YGs4NN3jF6CLZOurDQUejvYtvDXNhoCqmIEMDPsL1K3kh9Q6Ztc45NCuizd1 kf47dL6pMUkgNb9hdnH1Wko/kXoPE0CF6/wHzAzs4KQyVB5Cb9lQh/jBjuOF0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450338; a=rsa-sha256; cv=none; b=SjGwv5IlXBPY6sl49hVrelrvPxtH8BXVJDXc3xsm8A+FgaZV/+adUxNd43T8nyfJhUMeDP 2abRSMe8DBfB1SOc2BAFT5Erq1XdVRus4JbHyTUOJaHJjK9Ad8IA8vFKVFRCs/TQHEHA3n IJs/cf/+6u7aLG9C1q2EHG5xY74CryAWc56iJKjcEz9dbnA4L4w0pRg9C4n9r2LJp3zjkN tFBbvWBAtg6m/3LlQiQGfx5NUgm7UPzPKPZLwKMEXUiVvPkhaKZ+uMjZdjI9JLV0wk/5U1 6K6Y4PffN2VxeNRuraT0kO0JdrE0w2kv+flEvfLT8wJZMF4NG0RbujM1VmVN/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr25mYBzlNN; Thu, 13 Feb 2025 12:38: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 51DCcwTb075370; Thu, 13 Feb 2025 12:38:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCcwUZ075367; Thu, 13 Feb 2025 12:38:58 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:38:58 GMT Message-Id: <202502131238.51DCcwUZ075367@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: ddafb584b8ae - main - pfctl.8: explicitly mention that at least one option is required List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ddafb584b8aea1e648ddcba2d69d55da41c792de Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ddafb584b8aea1e648ddcba2d69d55da41c792de commit ddafb584b8aea1e648ddcba2d69d55da41c792de Author: Kristof Provost AuthorDate: 2025-02-10 09:27:01 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pfctl.8: explicitly mention that at least one option is required zap one redundant line, replacing it with a note that although SYNOPSIS suggests no options are neccessary, in fact a minimum of one is required; ok henning Obtained from: OpenBSD, jmc , 123a76b4bf Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.8 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sbin/pfctl/pfctl.8 b/sbin/pfctl/pfctl.8 index a5407999cdda..565cd8f7fd64 100644 --- a/sbin/pfctl/pfctl.8 +++ b/sbin/pfctl/pfctl.8 @@ -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 5, 2025 +.Dd February 10, 2025 .Dt PFCTL 8 .Os .Sh NAME @@ -104,9 +104,7 @@ to 1. Set them permanently in .Xr sysctl.conf 5 . .Pp -The -.Nm -utility provides several commands. +At least one option must be specified. The options are as follows: .Bl -tag -width Ds .It Fl A From nobody Thu Feb 13 12:38:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr44V2Zz5nRDr; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr40RPJz3fqg; Thu, 13 Feb 2025 12:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/hsB2S+t0yFRZtXiia0qqqlqSmZaiD6GxKPOa9izRHc=; b=uSJyOj81SUD8BTd2DEyDuhtXx8U+xkzS8fsk2VESaJcab+vKsXAJewEg08y0af53bAVd0e dP4AGmz+GzAlqFAOlWBNK6ra8K45osfv8m7hwrg8FKje9LVnAG17sHWMW4rvTufzgIv+yu H5vDOpW6aisA0tpK46Q38rlo56xDaAoG2X69/RnbURpa/F14j8jQ6q4tOF46UYuUyi6tUO MocQ0HxGklhCAWy8VQZxNQU/Q4KUdXVMroplbdkuyjsuQ4juvyEv1eLs1BP/WFnhNp//Hw haY9zrJ8SbCPRbsXAvzrwR/qbkT6y+It1VZrsne63U8hatze1SxOTLMgDJtp/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/hsB2S+t0yFRZtXiia0qqqlqSmZaiD6GxKPOa9izRHc=; b=e9lFxrxIRDVc19u8GSma5gnugrSu8Z/lTeW1pB3APHH35XK6L6CU1mP+ElRBhh3kOGm/iW Ya4H51LwPXaTJSVkWhtfZr/O1mkI9WJDRpVzPLcDogC+ZVm0bj+XbnSvgkGyddPAoIA8Wv AKmnWGUPECwvWV44JHi9ti9/v3TJldpmc8at9TOU6BGMcJ8rNBmohHkxAATcfkfqMm6w7Y VHOEzPBQrb82eaY0gQDpqgSSVddWH+OMDI86W593QoHs6q8yU71Lk7E+m/z+gZCmqz5VHe S8yDu9YAkP2QTOP2Vs/RxXoVAHj6Ky+5slnmFyHjSL3OxydHgHOBZE3kF+QuvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450340; a=rsa-sha256; cv=none; b=gCMezrYoqcsmYh+iYP+QuE5RgNUbKjLqfVnkvv70Quavv5/wGr0GSFgZwhsbPjPWr+hVyr QY03s714ZDLnaLesXWhV2er6C2W2bPnFyzQNR2ltrz+lXWF9QG16EVF8b3kLXoe5BTjOyK uml0vK1n0DUjZseta//cYsZDrdVHHH9USJ/Oocj8SMfHUNXjMGMCSE0upDqr7zpslC0eiS RhmOZ4vJ/+aldyO4LPJbsoFEQpLZJhjL89MpQWQJ4urOoF9ASifpaoLWrH0NecxeBbj8P7 oXUpIc9nlvqBWLpC5+ITsWqom7Qp7fA0b1mwMwkhmjaktDEW/O0c4fzdXr0rcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr36jy6zl5V; Thu, 13 Feb 2025 12:38: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 51DCcxe7075406; Thu, 13 Feb 2025 12:38:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCcx6a075403; Thu, 13 Feb 2025 12:38:59 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:38:59 GMT Message-Id: <202502131238.51DCcx6a075403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: c11d317a8bd6 - main - pf: do not reset the fragment timeout each time a fragment arrives List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c11d317a8bd60d93d3c3ced765071f468adacd69 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c11d317a8bd60d93d3c3ced765071f468adacd69 commit c11d317a8bd60d93d3c3ced765071f468adacd69 Author: Kristof Provost AuthorDate: 2025-02-10 09:31:32 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pf: do not reset the fragment timeout each time a fragment arrives Start the expire counter when the queue is created by the first fragment and drop it if the packet could not be reassembled within 60 seconds. Reported by Antonios Atlasis; OK henning@ deraadt@ Obtained from: OpenBSD, bluhm , 4697a20621 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.h | 2 +- sys/netpfil/pf/pf_norm.c | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 01c1abc54602..45652f174884 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -113,7 +113,7 @@ enum { #define PFTM_OTHER_FIRST_PACKET_VAL 60 /* First packet */ #define PFTM_OTHER_SINGLE_VAL 30 /* Unidirectional */ #define PFTM_OTHER_MULTIPLE_VAL 60 /* Bidirectional */ -#define PFTM_FRAG_VAL 30 /* Fragment expire */ +#define PFTM_FRAG_VAL 60 /* Fragment expire */ #define PFTM_INTERVAL_VAL 10 /* Expire interval */ #define PFTM_SRC_NODE_VAL 0 /* Source tracking */ #define PFTM_TS_DIFF_VAL 30 /* Allowed TS diff */ diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 6546f8684a68..57b9549df5e0 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -306,8 +306,6 @@ pf_find_fragment(struct pf_fragment_cmp *key, struct pf_frag_tree *tree) frag = RB_FIND(pf_frag_tree, tree, (struct pf_fragment *)key); if (frag != NULL) { - /* XXX Are we sure we want to update the timeout? */ - frag->fr_timeout = time_uptime; TAILQ_REMOVE(&V_pf_fragqueue, frag, frag_next); TAILQ_INSERT_HEAD(&V_pf_fragqueue, frag, frag_next); } From nobody Thu Feb 13 12:39:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr636vBz5nR9F; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr50k2fz3fth; Thu, 13 Feb 2025 12:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=457nwYn5IqHF50r5MJ/Uu6RqzwSiPinoihD5g0JPb9k=; b=qG8OIBZur+eCNNMlzHiDQY07ogTZ3Urqw3Efql6TBigKY+dj2GlIjzWBXFNReyh2waJ7g6 LQOzaIc4z1NE4M65iCu6owEmU4ytNR/wsaAHeYS3g5CQ00UaSipYwHEWu3WMl6TLDc4eGR orUEKC20FdGdaV/bjH2s8Ud6gf+XHz1zA28ObCffPUhLrw02LngYvI4CIYar7QIH3hGJF6 0E9We7pt4GxPNF06VrIBNGQExER5S7lVlrH7XE6z5PYC8HBiklubPWLSYCT0QY+0phMrHo i7otNHYSARCtmrwSG1fct94pKZOLNYwDIqmGKiFJnXEYGo2kngcpUABGVaqzDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=457nwYn5IqHF50r5MJ/Uu6RqzwSiPinoihD5g0JPb9k=; b=yKmT9Bh7d4EiD1gJvVTSnJc+cHdQhkwlpM63bN3e2UsAvPz8e0lWvGeDgqYAjstz3QvflG 1V83Q8BmtFYpc4ZTsfCRWQZReS3O841ICNonIVS4+BSwsSLKcE8IjiJ/rkIh+oELC+QHOh max5RplVY8AqIffMhIzyEMgLbSEa4lKHjXJHQiFs1DsMY7rptwMAp7kMSvMFphqcmAWDh/ 85jHRusd4Oe86ncIiFoIJoDfFu466v7Etc4dtejkGDEf+yUg0rmPE+S+xOL/qtkCVJGSLm Z9cZjnZAq3lPn2EVomzTv+JRAKvBRU2jUiMMzkssWsciXjNA+NV1upI3kmA2SQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450341; a=rsa-sha256; cv=none; b=xh6okDwWFDJXr6u0Udy7DhdVpxdTYjsxJfRsWiJU0LuoZek3h7WKHnaizuYfMndqNeP1up rCtqzOKbxnPJsJs97geAPIK3q8a4bEOFA+cXW2VmXkv+d8+lIDUH4/W6BU80W8a3ZmPUEC rbz0Rvn97plJhUUi00E+SVSmFaeekbzGZ5FArj7Y5+hlds9W9Avx9KldvkdSB6bHUdmFZM XRGe1ZeHqYLAw0y0zgpaCWOZ+1/Z2jWVSxDWhIU7nbGQzl35X4iSw8Lo4f9CPQRs8CUT7B HHj2n+hBp9ett3UXbw4zO2O0RpzgBbyFAlcRn4k1VQJ0DlidSUGBFdtFG32wtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr508kkzm0q; Thu, 13 Feb 2025 12:39: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 51DCd0kk075446; Thu, 13 Feb 2025 12:39:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd0jv075443; Thu, 13 Feb 2025 12:39:00 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:00 GMT Message-Id: <202502131239.51DCd0jv075443@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 7cef9d196ce9 - main - pfctl: cache name/index mappings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7cef9d196ce999a61ec864961a3849c9159a96a8 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7cef9d196ce999a61ec864961a3849c9159a96a8 commit 7cef9d196ce999a61ec864961a3849c9159a96a8 Author: Kristof Provost AuthorDate: 2025-02-10 09:44:06 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pfctl: cache name/index mappings Provide local implementations of if_nametoindex(3) and if_indextoname(3) that make use of the cache of addresses populated by the ifa_load on startup to save the trouble of calling expensive getaddrinfo(3) up to four times per rule. Performance wise this change provides a speed up factor of 20 with a 11k line ruleset on a machine with 150 VLANs and 250 IP addresses (20 seconds down to 1 in this case). "wow!" henning, ok benno, florian Obtained from: OpenBSD, mikeb , 918dda8655 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/parse.y | 8 ++++---- sbin/pfctl/pfctl_parser.c | 31 +++++++++++++++++++++++++++++++ sbin/pfctl/pfctl_parser.h | 2 ++ 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index efbd7cac18e8..40d116fe1a50 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -6216,9 +6216,9 @@ expand_rule(struct pfctl_rule *r, (src_host->ifindex && dst_host->ifindex && src_host->ifindex != dst_host->ifindex) || (src_host->ifindex && *interface->ifname && - src_host->ifindex != if_nametoindex(interface->ifname)) || + src_host->ifindex != ifa_nametoindex(interface->ifname)) || (dst_host->ifindex && *interface->ifname && - dst_host->ifindex != if_nametoindex(interface->ifname))) + dst_host->ifindex != ifa_nametoindex(interface->ifname))) continue; if (!r->af && src_host->af) r->af = src_host->af; @@ -6228,9 +6228,9 @@ expand_rule(struct pfctl_rule *r, if (*interface->ifname) strlcpy(r->ifname, interface->ifname, sizeof(r->ifname)); - else if (if_indextoname(src_host->ifindex, ifname)) + else if (ifa_indextoname(src_host->ifindex, ifname)) strlcpy(r->ifname, ifname, sizeof(r->ifname)); - else if (if_indextoname(dst_host->ifindex, ifname)) + else if (ifa_indextoname(dst_host->ifindex, ifname)) strlcpy(r->ifname, ifname, sizeof(r->ifname)); else memset(r->ifname, '\0', sizeof(r->ifname)); diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index f567cc78dd23..d1e0b4e99940 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -1518,6 +1519,8 @@ ifa_load(void) ifa->ifa_addr)->sin6_scope_id; } else if (n->af == AF_LINK) { ifa_add_groups_to_map(ifa->ifa_name); + n->ifindex = ((struct sockaddr_dl *) + ifa->ifa_addr)->sdl_index; } if ((n->ifname = strdup(ifa->ifa_name)) == NULL) err(1, "ifa_load: strdup"); @@ -1584,6 +1587,34 @@ is_a_group(char *name) return (*(int *)ret_item->data); } +unsigned int +ifa_nametoindex(const char *ifa_name) +{ + struct node_host *p; + + for (p = iftab; p; p = p->next) { + if (p->af == AF_LINK && strcmp(p->ifname, ifa_name) == 0) + return (p->ifindex); + } + errno = ENXIO; + return (0); +} + +char * +ifa_indextoname(unsigned int ifindex, char *ifa_name) +{ + struct node_host *p; + + for (p = iftab; p; p = p->next) { + if (p->af == AF_LINK && ifindex == p->ifindex) { + strlcpy(ifa_name, p->ifname, IFNAMSIZ); + return (ifa_name); + } + } + errno = ENXIO; + return (NULL); +} + struct node_host * ifa_exists(char *ifa_name) { diff --git a/sbin/pfctl/pfctl_parser.h b/sbin/pfctl/pfctl_parser.h index 2b0766dfd99f..e916f5e7c100 100644 --- a/sbin/pfctl/pfctl_parser.h +++ b/sbin/pfctl/pfctl_parser.h @@ -363,6 +363,8 @@ int check_netmask(struct node_host *, sa_family_t); int unmask(struct pf_addr *, sa_family_t); struct node_host *gen_dynnode(struct node_host *, sa_family_t); void ifa_load(void); +unsigned int ifa_nametoindex(const char *); +char *ifa_indextoname(unsigned int, char *); int get_query_socket(void); struct node_host *ifa_exists(char *); struct node_host *ifa_grouplookup(char *ifa_name, int flags); From nobody Thu Feb 13 12:39:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr66l37z5nRZd; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr61pQkz3fhx; Thu, 13 Feb 2025 12:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CX2lJK5AApslDCoMZGlzM9WDm0urPdGXt12y264BIDI=; b=XWhfpRsKB5TDtzrG3ZD3i/ZB37QpUDShpsFP5ZCUlmm5Bwiv0V5yAmWQW5xZqRKuD3HfYd Uy8IFSFXrZtQZsnS7iUJo8HDKzQQFmOJDYwf8qkeZoy7qyt2HoMcvKrftO9+LscMRcPHVK K0iql8dEXA2tzIMjrsDQ4+agq3JEQQkfo0C/wMFIoR2t+puRVDMOGijcSWpndYnqYz20KA b/iXeGM6RT6Cj7Pfs2gPyv/WyyK1UAalk4qRKKGUFW4EvJA/fVN0mMYnmGYxv6oR2pqkaH LdnvCYJjNlDNpkfgFxDemRcif0p5g99wEWHKTfbdG1byXQJgom24vC37yQ+vqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CX2lJK5AApslDCoMZGlzM9WDm0urPdGXt12y264BIDI=; b=agcFzCNJj5Z+VAGlIg7t02bnmnGa0eDPM7Nk1zre+YGyGh77CnUWzBn4csLglm5NqAM7xK MbwN4x1cWQEH3GbnoLhFHiZeD53UKxPsZaa/Xhn/VnpUJ+b8GpTMj80gdwHa2GWGUkyK6u GoSldMM3yPFVdawjaeDNlWIelt6z0P3NksLk8o/uD75spjgnoaBJteUstOwohscru1gJSm Xeays7lmM6ulU+iF9RGjL/+VN/541KTAfMSCjGGVl5ztl7jBVfYG8Ia3639GHG98WGev86 /akcNKwyK0BeXs2SKivCmDEmw5E39iNIAGM3OzgsrK14bNir/Ii1yCchrKwjkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450342; a=rsa-sha256; cv=none; b=trgkyBToan19wtqm5DH0Q4N/f2/rM/QPo1wxH7osu5UAzRsUfOvsVh0B0Y3y2Q8rLNSNdM WzZt0355fK5kVVWqiAoTxp3t4mhHS5x73xPkJF6q7SCUsOZCh3fSQlXi1s1Adp9MOOR4df zwhejgiSn5zq25b+dsJwdd3whY+ej1qmKCdFVd/XsXrtyK19M2g7Y4XCErjOcnpp0rsc7v Qpp7U/Zpv5K/z/2zmgGif6vbr9Js9oh8aCc3k7sAhMgwO5T5ZIjUaV6UxKCcp7HVNdq8gj SEPYq/A5DiFi0TZSHkYse+4zCb8XuBohyFA2ruW8Jv4P7Ql1NU1X9MElPMp4zA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr618tlzlNP; Thu, 13 Feb 2025 12:39: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 51DCd2bE075480; Thu, 13 Feb 2025 12:39:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd2re075477; Thu, 13 Feb 2025 12:39:02 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:02 GMT Message-Id: <202502131239.51DCd2re075477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 9565df4e7fa9 - main - pf: fix 'quick' for match rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9565df4e7fa9348d4200e2607e84f1a4bea54f8d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9565df4e7fa9348d4200e2607e84f1a4bea54f8d commit 9565df4e7fa9348d4200e2607e84f1a4bea54f8d Author: Kristof Provost AuthorDate: 2025-02-10 13:32:27 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pf: fix 'quick' for match rules In pf_test_rule, when dealing with a match rule, obey the match rule's quick flag to decide wether to abort ruleset eval instead of the last matching rule's one. Makes "match quick" abort ruleset evaluation with the current block/pass state. From Maxim Khitrov , ok bluhm mikeb Obtained from: OpenBSD, henning , c5611d5b70 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 5c99cde4a9f4..76f508b43750 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5825,7 +5825,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, PFLOG_PACKET(r->action, PFRES_MATCH, r, a, ruleset, pd, 1); } - if ((*rm)->quick) + if (r->quick) break; r = TAILQ_NEXT(r, entries); } else From nobody Thu Feb 13 12:39:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr91Wjpz5nRVn; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr83d9fz3g0b; Thu, 13 Feb 2025 12:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPGRAWhf1CBAkkDQweoe44N/qoY32QKsim/acy/jILw=; b=Sh0dWQFSsBjBR5nO5J8SQS0h22UsKwV/wJUvOhGR+dkCa/qSOOI6eIl7mpVuledjzXpu7f 2UitjdlXkvwoWoEogZsl5OKSf6h91in7f/JtlskGpdpwJMOWG9PxNUymDTgi6PijC7d1/l uLEFgSXyjkmm+wFWvyQfZbUeyoVBgZL5psPJ8Xk6KxPH3gi1QPu70tMNCD61WSLPP3nGiz meE8OjozH77+xQ5varLNpyAy+6AvUC/0D3tS00MIvpNzu3ffBDPv4CrWfe9hCZNAG0OMPn 2wpUBGmlXK7nW9XPBcYIsKGcPQU59kkPXHJFCi8Hir2YJ1l+oxVJO7xR30kBdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPGRAWhf1CBAkkDQweoe44N/qoY32QKsim/acy/jILw=; b=Frbu5BnwwGFCeOFp+I1sGn3LNBsQH0VxrNur6OPtjEg2/WNe7x8yLJwNTefGGSb2mSM2GN lMeSauljULQOJdcgEqIcAI1903nxRHuWQ/UZeLkI8D0YgUv0CJKv22k5mD1qn3SbZhw0iG 7lqhUWQpzIph40c+ZIdCzGNXgUK4kzHQNR73iK028Pt5ll714B6OXARwQ26W+gE6a84lVN ZQZSABUtFZPSYDaDA3827z3H/p+zt3AMp75HGunhzRUN9ecwpEDaybN5HwQp9W+Ud88Iul MRZt2QFtANksXfPp7fHalXs/LqSXuYnQ2gyj/JVaQdh3GnHd9RyEtCoZaCmR8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450344; a=rsa-sha256; cv=none; b=wH5rGEo9ff8pZRHvcR5K1kcGAow6/rOEgFmymMW3OKTsL7qw9vyzQX5J1EwtSuihlaIF5X GwHMwVo/T51/GKy/yEIVPZ2XIGYRurKmvqJnHvyxzw4Pr9Lz7fk+GtX2uILF7z3vRp1IIv Aqfp1mbWC3XCEbP1kDjXQbbNxV02OU37Tdn8D/6sBYhcBnBZ7YKKS21dUrzGQ+PwHDiqkl VaUcskx92GyFobodeXuNNYc1uY4RdbR+l70r64zxkzmqpy+T4wsyWeqyLJQH5+bbhAWQ7V UAJzpRjJKA+TKkiZY1SLNEoPNJDwFpNWodxHRlFlOb3pAHDS1xuNGdHQiDU+UA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr83BVfzm5c; Thu, 13 Feb 2025 12:39: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 51DCd48x075551; Thu, 13 Feb 2025 12:39:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd4fC075547; Thu, 13 Feb 2025 12:39:04 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:04 GMT Message-Id: <202502131239.51DCd4fC075547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 06c4372a2f1b - main - pf: do not reassemble atomic IPv6 fragments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06c4372a2f1b4b4d5998b27a72df1b38a0238300 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=06c4372a2f1b4b4d5998b27a72df1b38a0238300 commit 06c4372a2f1b4b4d5998b27a72df1b38a0238300 Author: Kristof Provost AuthorDate: 2025-02-10 14:10:57 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: do not reassemble atomic IPv6 fragments IPv6 atomic fragments must not go the reassembly queue, but be processed immediately. Let pf step over an atomic fragment header and handle the packet like an unfragmented. OK mikeb@ Obtained from: OpenBSD, bluhm , fd6d9d2982 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 76f508b43750..65eb5736d43d 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -9580,7 +9580,7 @@ pf_walk_header6(struct pf_pdesc *pd, struct ip6_hdr *h, u_short *reason) struct ip6_ext ext; struct ip6_rthdr rthdr; uint32_t end; - int rthdr_cnt = 0; + int fraghdr_cnt = 0, rthdr_cnt = 0; pd->off += sizeof(struct ip6_hdr); end = pd->off + ntohs(h->ip6_plen); @@ -9589,7 +9589,7 @@ pf_walk_header6(struct pf_pdesc *pd, struct ip6_hdr *h, u_short *reason) for (;;) { switch (pd->proto) { case IPPROTO_FRAGMENT: - if (pd->fragoff != 0) { + if (fraghdr_cnt++) { DPFPRINTF(PF_DEBUG_MISC, ("IPv6 multiple fragment")); REASON_SET(reason, PFRES_FRAG); return (PF_DROP); @@ -9605,10 +9605,14 @@ pf_walk_header6(struct pf_pdesc *pd, struct ip6_hdr *h, u_short *reason) DPFPRINTF(PF_DEBUG_MISC, ("IPv6 short fragment")); return (PF_DROP); } - pd->fragoff = pd->off; /* stop walking over non initial fragments */ - if (htons((frag.ip6f_offlg & IP6F_OFF_MASK)) != 0) + if (ntohs((frag.ip6f_offlg & IP6F_OFF_MASK)) != 0) { + pd->fragoff = pd->off; return (PF_PASS); + } + /* RFC6946: reassemble only non atomic fragments */ + if (frag.ip6f_offlg & IP6F_MORE_FRAG) + pd->fragoff = pd->off; pd->off += sizeof(frag); pd->proto = frag.ip6f_nxt; break; From nobody Thu Feb 13 12:39:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr82nm2z5nRDv; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr72lyHz3fj5; Thu, 13 Feb 2025 12:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=USYoEHaHyFjoPn0Dct68tyix4jV1aE0qR0H4Oiai0ds=; b=QHj82ARneh1LYLq35w7eYKtH1CQz/jf1N48RccBY3kNSFbZ9ijG/5R7NqDagw1InUTH2+q 8lyZCfezqXFqJueuaN12X5Hk8rXY98xd/wEM1ajeTd6V6aXOqOveqGQxaQjpZk54/stto4 vFiIKkmyaUTlqj/DpIRih6+5kb4kGoKi8a+JClXQOWH4LOQdGZd7XNXaXqII/V8mL3fLAU 5IkNrZGDY+vyBoM2CBJE4KrhxoumgLy9B19qf41VeRsX8g0/WnL9H/afREmfsrt329wmOH XeZ2I44nNBk3pTMq6GFzZoR76k3cyMw+MuVTGrq8Ra0DAe1VyCKCFrcRBkB41Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=USYoEHaHyFjoPn0Dct68tyix4jV1aE0qR0H4Oiai0ds=; b=swnAfEvcTLAwkL/A8EMsvaG74pukQzTdqB9kche8HK5qDn8TuFndUTStN5VLDwE6RkRSkW tJQ7ct4TUUIy3TsD3Lob7TNiCdzZ7GAq+AuC7ViMUdTr7mbjo1xM159ZP+57EvsVwk9JG4 CfWN6TzPFKfnzSn+XTMYO2mTpsX+unQS8l+IUdTEV+PjyFnWN+jTiGmD0acTwOmZ/KsDBs Zy9sPFbE/zO4iAFZE4FTXHCewe5r9RUa5JwIJYc89elN+74UVmoTzljFgzUUGgfq8g/gpO S5NCUquf8KH9QKAPGXXsX6HDTho+oqR6xhrP0W8rLbuzgxRkorUY9IvM9NkeNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450343; a=rsa-sha256; cv=none; b=cuf63LUK/glnAj+6fEFpGvf+ulxT1js7vw2okZ1UqsVfVygTlJ4U+iRHq87L5OI5N9uzLZ WotQWWpPIVYadwv+3a9R9+DowTsJ/xu4cmS8qPsrhTz0p17yylywQLripF/uAxuQyc+BUl b+m2rS1HaVS1lPKLKOgDVtGZIQFlghAeYi+lhVOKDn09jsbDe2DJvvhoSt0XeUxSm3tuOf tmJWrOQ5a5jRoUsT6mqEpfVMkygvtZzKKOVGrc9myzdIaP69DOBCyH9Rhu5x0dyrjn1LpU kIMDZc/nSpDEVYZb6xhZ0CvNyAoYNFyBabXYzcRTewsL8VkpqIEkxmMfJfJPVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr728dBzlyb; Thu, 13 Feb 2025 12:39: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 51DCd3CO075514; Thu, 13 Feb 2025 12:39:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd3om075511; Thu, 13 Feb 2025 12:39:03 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:03 GMT Message-Id: <202502131239.51DCd3om075511@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 90ef7a0b232e - main - pf tests: test 'quick' for match rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 90ef7a0b232ef36b67b9b1eadde50cad9192c07f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=90ef7a0b232ef36b67b9b1eadde50cad9192c07f commit 90ef7a0b232ef36b67b9b1eadde50cad9192c07f Author: Kristof Provost AuthorDate: 2025-02-10 13:33:31 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pf tests: test 'quick' for match rules Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/match.sh | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/sys/netpfil/pf/match.sh b/tests/sys/netpfil/pf/match.sh index bb088c5bf47c..93b908e62f2d 100644 --- a/tests/sys/netpfil/pf/match.sh +++ b/tests/sys/netpfil/pf/match.sh @@ -67,7 +67,53 @@ dummynet_cleanup() pft_cleanup } +atf_test_case "quick" "cleanup" +quick_head() +{ + atf_set descr 'Test quick on match rules' + atf_set require.user root +} + +quick_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}b + + ifconfig ${epair}a 192.0.2.1/24 up + jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + + # Sanity check + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.2 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "pass" \ + "match in quick proto icmp" \ + "block" + + # 'match quick' should retain the previous pass/block state + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.2 + + pft_set_rules alcatraz \ + "block" \ + "match in quick proto icmp" \ + "pass" + + atf_check -s exit:2 -o ignore \ + ping -c 1 192.0.2.2 +} + +quick_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "dummynet" + atf_add_test_case "quick" } From nobody Thu Feb 13 12:39:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtvrB5g6fz5nRXq; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr94Y0Vz3fnW; Thu, 13 Feb 2025 12:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jlnv6/dmcM6R6RYkDTiWXkyIHw+5u38VirWNnP53i3c=; b=eGTSXICgk9pEi2eK3EyQlzvDoAm4M4g0FWHAyU95D7NGLGhLrPh+EgHblKaM7TLnEIHK9E VjIU9Qe9c6JsnA9lXNRmSio2up/pmBVEAYvE8iH5K9wKYt4ZtA/MajzGN4ekVRWw3sjTij FWlnjnid8I0Hw2zTTVCdgQ509NlrXW7khjkxlqK5x7Bnr0xmJwXnW26TMgHIplzCAnRHxA xQt+9UoOYZjVYeK/XR+p1AQT7SW9SlRgllFnKlQW3PDWkouLjhAHv1VpQ9JhYe+PhBKAej 67zEfbTBwPqHCAme+hAzBCtufEAeh2Tmwv9OMBqet0pZ5KEx98tmap+oGlnEYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jlnv6/dmcM6R6RYkDTiWXkyIHw+5u38VirWNnP53i3c=; b=OM+A+nHF2P93FB9ikskF8JF+taYDp6zDkd6URe8jiC46bVjnhjFGj58qrZL3rvTVIw0mu2 bNC/kp+wLFrbBaujROGf5STRqtlu5bRo4lZpO+QZ7hB8SJNUPrqtl/SA3ZPz8qEJrEJatk QBWJnKDvyt36ezdePh3scqjZ7z8R2MWoCxvI0R12Kb820+fHH3w/yB5GMYmLIzdx+9oKJn NsXCrWzo3V8uwHxiM7S98xFwsNS5TIoJtlx+nG0hKD7yZtCHt3u3mEE3ZAmLRRME5rbvQo IpIms9xMnYkD6DPtmnrspFCP8nDuZchgJIJj7T3p+c61oSbDv6CfxT/7VzsfqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450345; a=rsa-sha256; cv=none; b=U2iVQUBEUhGzbT0AAxjCmeVHCHJW75zgJqdFrXBqNRfRAnL0U5ZW874GAhMDs0YLBwyleJ 6SLxa2YQ0czhEsfEzX6YaLNCRVtQuK2dBYPWbzXsLPfEn3hLkba/qt6coljBgG/ERk/clQ jlQ079ZjyXIS+uxNvL51yd1I7kaWlJT40jeXZ7B6QbKL6aI81ATKANvDrFHi3g33qtzkAW /jpIWistEgAWqfSImjp15Sxv903kpSee8PrOmRyaaq9wUY3f3GvW7b3Z0RYl/DnbZwaGKi +vLE83h3y1G6wBRaV8j3PBN1QzkPxmQrPmfn9YfmeeUi91Keh2Hr3antWP3sDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr94812zlyc; Thu, 13 Feb 2025 12:39: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 51DCd5sx075588; Thu, 13 Feb 2025 12:39:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd5bT075585; Thu, 13 Feb 2025 12:39:05 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:05 GMT Message-Id: <202502131239.51DCd5bT075585@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 25dbba4fc6e1 - main - pf: improve UDP-in-ICMP handling List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25dbba4fc6e152a05e091180b2e031ab495ba337 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=25dbba4fc6e152a05e091180b2e031ab495ba337 commit 25dbba4fc6e152a05e091180b2e031ab495ba337 Author: Kristof Provost AuthorDate: 2025-02-10 15:33:18 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: improve UDP-in-ICMP handling Translate port numbers for inner udp packets when they're returned as a payload of icmp error messages. Makes traceroute6 operate across a nat64 gateway. prompted by sthen, ok henning Previous udp port number rewrite fix turned out to be a work around the incorrect pf_change_ap call. While here make the tcp case use pf_change_ap since it shares the same properties. ok henning Obtained from: OpenBSD, mikeb , 7a304f30d6 Obtained from: OpenBSD, mikeb , 5d4200d304 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 65eb5736d43d..1b0eb6d6dd80 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7972,8 +7972,12 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->proto = IPPROTO_ICMP; else pd->proto = IPPROTO_ICMPV6; - th.th_sport = nk->port[sidx]; - th.th_dport = nk->port[didx]; + pf_change_ap(pd->m, pd2.src, &th.th_sport, + pd->ip_sum, &th.th_sum, &nk->addr[pd2.sidx], + nk->port[sidx], 1, pd->af, nk->af); + pf_change_ap(pd->m, pd2.dst, &th.th_dport, + pd->ip_sum, &th.th_sum, &nk->addr[pd2.didx], + nk->port[didx], 1, pd->af, nk->af); m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)&th); PF_ACPY(pd->src, &nk->addr[pd2.sidx], nk->af); From nobody Thu Feb 13 12:39:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtvrD2B7Tz5nRF1; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrB5T1Pz3flW; Thu, 13 Feb 2025 12:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LB603FvKPIuJALwjxe3Uxp8dzthduBiWyMOI0G3kBPA=; b=yTXV74sCQSrtscFFk6oJ1Kc6c6fEk8zOx1j/c3z30EMT2bwThN78+RUognzKamG7klQYQB X4x8LdTN99tehVjBFDYs/jhN8oUgjWD271azUza74hBmjxszYSYOi5WRkB78DYEhnwLI9j lsXoDHl1BWOGwy93nQRAXZJ8fxJcG1dkv5OBAZaTnvbmn1BkhrWMu0kg9iU2gsTyomQlKm u5+kfku2CPdG+LclCIzYvOOwp1L07XFWNVOPatO5vZBRB+y0CP2fMJ2tFAzqacbwYSyGm1 IrMn0w0SAZR82GpoTP6zGEJL7WyI4Lq1bEzGWxoO2v6kTHeCku0NQjnX3fvb2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LB603FvKPIuJALwjxe3Uxp8dzthduBiWyMOI0G3kBPA=; b=c/72Qubz2J6l9jPRoijNze5IEZzETg8mR6+ikFfUm3PCHwHxm315yv7Bxnn+0MvY9iQssm 2RvB3iT7+zV439AgtfixGyc2lpfzbXUj8HFifv6UfI//BB20r4jYzE+3bnmKBvV0Ozuaqd DRQF4AwV6Qd/FmXsDLLvBnj+I3mS0PyTorTp9aiPLVlhvniPpRmVcTDBcroy3ul4PVxwwg P2pHm4AfGN1+Bncu+4M5c8fq4jx1LYAH3U6Buk6A688hOGfh2JTvMEYs1r4havR1Y93Cbh 2Ab2qh4C4dt6eVS+nLSiInVI1Koth7nbYxWw9F1v7arXIME9JL3aiXL20RgVvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450346; a=rsa-sha256; cv=none; b=a5Tbo3G6Sykvaqz2yv5hWxNv8tDhit2oYkVl0OLtHQV8pa7+hHdNGEHP0sVyJf6F9aJweV AqMs6XVu/2vHd0fRK0eVJmKCBGE4vwoUiHS1ve2Z2KTvq+uGmutPtBBlb3p1smq7fNRIZs eRE75om7ea0qVWxUvQ5c3/c0EaRp4tWGicdETJChKmTQ6dPh/6VSiXt1X4MGMvD0oWF0ip J4WL2nNAEWI4p2DF7Juqix3a1TTT7yfbVFLFelPy1j/DyfN434LQtBPW+RUXoxuN4fPaRV ETE+OzeqFcyxvuqPMZGgLcyrNrK14Ilc90YWMqaY0OuYWdloyUt6sAhAn0K0mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrB4nJCzlyd; Thu, 13 Feb 2025 12:39: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 51DCd6hF075624; Thu, 13 Feb 2025 12:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd6R6075621; Thu, 13 Feb 2025 12:39:06 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:06 GMT Message-Id: <202502131239.51DCd6R6075621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 67c19da08f57 - main - pf: support negated matches on the rcvif List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67c19da08f5788da53cec2764618b9a0dd97460f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=67c19da08f5788da53cec2764618b9a0dd97460f commit 67c19da08f5788da53cec2764618b9a0dd97460f Author: Kristof Provost AuthorDate: 2025-02-10 16:30:50 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: support negated matches on the rcvif ok dlg benno Obtained from: OpenBSD, henning , 08c03b768d Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 3 ++- sys/netpfil/pf/pf_ioctl.c | 1 + sys/netpfil/pf/pf_nl.c | 2 ++ sys/netpfil/pf/pf_nl.h | 1 + 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 88364aaa45ed..d973fe15a5c4 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -865,6 +865,7 @@ struct pf_krule { u_int8_t prio; u_int8_t set_prio[2]; sa_family_t naf; + u_int8_t rcvifnot; struct { struct pf_addr addr; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1b0eb6d6dd80..378be1e72d9a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5778,7 +5778,8 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, PF_TEST_ATTRIB(r->match_tag && !pf_match_tag(pd->m, r, &tag, pd->pf_mtag ? pd->pf_mtag->tag : 0), TAILQ_NEXT(r, entries)); - PF_TEST_ATTRIB(r->rcv_kif && !pf_match_rcvif(pd->m, r), + PF_TEST_ATTRIB((r->rcv_kif && pf_match_rcvif(pd->m, r) == + r->rcvifnot), TAILQ_NEXT(r, entries)); PF_TEST_ATTRIB((r->rule_flag & PFRULE_FRAGMENT && pd->virtual_proto != PF_VPROTO_FRAGMENT), diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index b8e9a078baf2..bea2cf1a5331 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1316,6 +1316,7 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); + PF_MD5_UPD(rule, rcvifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); PF_MD5_UPD(rule, keep_state); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 97552880b9e3..4cdb16d1fbba 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -737,6 +737,7 @@ static const struct nlattr_parser nla_p_rule[] = { { .type = PF_RT_RPOOL_NAT, .off = _OUT(nat), .arg = &pool_parser, .cb = nlattr_get_nested }, { .type = PF_RT_NAF, .off = _OUT(naf), .cb = nlattr_get_uint8 }, { .type = PF_RT_RPOOL_RT, .off = _OUT(route), .arg = &pool_parser, .cb = nlattr_get_nested }, + { .type = PF_RT_RCV_IFNOT, .off = _OUT(rcvifnot), .cb = nlattr_get_bool }, }; NL_DECLARE_ATTR_PARSER(rule_parser, nla_p_rule); #undef _OUT @@ -940,6 +941,7 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) nlattr_add_rule_uid(nw, PF_RT_GID, (const struct pf_rule_uid *)&rule->gid); nlattr_add_string(nw, PF_RT_RCV_IFNAME, rule->rcv_ifname); + nlattr_add_bool(nw, PF_RT_RCV_IFNOT, rule->rcvifnot); nlattr_add_u32(nw, PF_RT_RULE_FLAG, rule->rule_flag); nlattr_add_u8(nw, PF_RT_ACTION, rule->action); diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index a66ff5bc3f1e..4d9db08c8be2 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -270,6 +270,7 @@ enum pf_rule_type_t { PF_RT_RPOOL_NAT = 75, /* nested, pf_rpool_type_t */ PF_RT_NAF = 76, /* u8 */ PF_RT_RPOOL_RT = 77, /* nested, pf_rpool_type_t */ + PF_RT_RCV_IFNOT = 78, /* bool */ }; enum pf_addrule_type_t { From nobody Thu Feb 13 12:39:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtvrF4bMVz5nRQ1; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrD6pyfz3fp1; Thu, 13 Feb 2025 12:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6ggOeQsVMWqTutioahRdKDV2M+g18eI3vFZKstHdTQ=; b=v/CJaQD6l7SVDuHSSHInOX44XDuuh/lixX8/mq7ZnLqjHkOQdy8/MUsNwN+Xx73nLqZsTu K5ACzmoxvPFmeMwrvpZBh3SK3zu2ONOe1IiOKdl4IVjoWBKyBw6xmR8StDGWNcthEAJNNG EF5ZpQxabCBzve3UPolkbmupBwAw4diyEg6NxU90vRgF6iahwVqHZ3HHYn7oJCAk37JkCM z9vekGhVUQHJ6l/+1GTEift3UrhfeZDqiehqwWfIqIkeMtl7N8ANsQRLcP2TR2I7O5JsKb 2/ezEIMorRw0qZu0gbNL+XDUxq3wcNHK2MExThBxkTFquBB4bPhfHOgAZD/K2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6ggOeQsVMWqTutioahRdKDV2M+g18eI3vFZKstHdTQ=; b=J6epnUerglyb4zQJ6cwdvYvFsAGrhj7UGhM65wgtCpscUrre3ZEO9x+znJcfJOiw5WzEIk MJIm6sfnl/5m57ez+PlTJqdPpRMO1UldOfDvjkmO10XnI70dv/B5cSEI2P94CJNP4tv/7w LJt7OoKIKsgMMj5mRvSRuAXov3roztmwMqw+Mv5IMZh4507Ltkg0IxvY2OkJYn814IBJ4b mEz5mZhrwSkVTQ/W68Qu+x8zusqQE23FbKqQXtIjb2SNnanhE2weOxUt2afDXbRhohvJGo 8BqF0gmGeJtZavWJEkzaP6GBnY3IdQZQbBdwdstBNumnEvERvZuFuoJGXui91Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450349; a=rsa-sha256; cv=none; b=GbIAZPID/4pBMw+rnMa100/+Epy6+XKuw27Aomi4yKFtzewHaWm8axoMIym53mJcPzO7ZH xSrzqK43IaYzHllhT1VSE3BekAdq+MBiQOVWJB3LRVS8R2s64Bbu8VqDJYv41UwzLjhdb4 AdLOtdRYuMyQam0nPMN61jGZF8ynFZNI+Qaq56pEVP6BvUMB5NGAlYQk59Je6ZTHgRa/z9 oZYNMsi6D4I3t/nQ4jjM6BBkcnWWzOtYXsmKKOyH8z09CR3rfeMzxp6R/tYZFjR54uq04H 9zLYuZ+FqjY+2xE5tfdBBAX9xygMKEP5z8lUwDXKrEhNFR2aub11qriIpur5Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrD6LjSzlHd; Thu, 13 Feb 2025 12:39: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 51DCd8hk075689; Thu, 13 Feb 2025 12:39:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd8iA075686; Thu, 13 Feb 2025 12:39:08 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:08 GMT Message-Id: <202502131239.51DCd8iA075686@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 8b5cee40274a - main - pf.conf.8: document !received-on List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b5cee40274aedb893048bd1b828c17278a7bb27 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b5cee40274aedb893048bd1b828c17278a7bb27 commit 8b5cee40274aedb893048bd1b828c17278a7bb27 Author: Kristof Provost AuthorDate: 2025-02-10 16:38:22 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:45 +0000 pf.conf.8: document !received-on ok dlg benno Obtained from: OpenBSD, henning , 6dcdbd32ff Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 5ee660bd0202..f798d1d0acf8 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 5, 2025 +.Dd February 10, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -3319,7 +3319,7 @@ filteropt = user | group | flags | icmp-type | icmp6-type | "tos" tos | "dnpipe" ( number | "(" number "," number ")" ) | "dnqueue" ( number | "(" number "," number ")" ) | "ridentifier" number | - "received-on" ( interface-name | interface-group ) + [ ! ] "received-on" ( interface-name | interface-group ) nat-rule = [ "no" ] "nat" [ "pass" [ "log" [ "(" logopts ")" ] ] ] [ "on" ifspec ] [ af ] From nobody Thu Feb 13 12:39:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtvrD4mzrz5nR9K; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrC6zh7z3g4j; Thu, 13 Feb 2025 12:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IFNQ3mi/UfGJ+gZJqVJOLzN1fiHnc5DouFcbr5CQkx4=; b=kw+EeJ/sNxpCS3AZEnyLHCL2pokiMNI7BjSqLubBbuGTmc4DsWyjrByiSNLmn+mH7Vr0Ya Qyk9DgOWWv/9hVxetS1lRpBakLgoqpHNrIahzc4QKv9rKeN45McqtcMEwWC5i0iNya2nbn Nw/zJ/iVo0OKtV4V85JOzkfT9Lrs4wXTUkeHEdbkHP5RhfS8nutl8d587z6PPU1qZpiD7c MY2DzXVO5OyN/wkp5gXMRuSeNdQZugxj6okwqjS7kgJ9zHcWz1GCTlZPZXlbZ7BvL9+gfh 98jwe3Zf1Bycw0Ti0fX3xmGAlq8wACn9x4fOwJy1LpMw+MNgtSFK8Hpr1I/Udw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IFNQ3mi/UfGJ+gZJqVJOLzN1fiHnc5DouFcbr5CQkx4=; b=ctPnk6QdghUSp6ZzlFrVOOdk/HilsvDrXK854fQLHpHqi6yvFblWumh3GzAhi/d5JUh3Da OzQg9ctyhbIN+XS+e7aj2Gemi6yVqBQYl/soYlUAjjwEhfnnJFZoTVwruBttckq5eocsOD atyGisquMxhEDelbLPRiGNO7YR2d3pgNM4ncI5ejaOnoN72cNDzztTKXXY5l5h98x0sBqn Lj/6QkjqtxIoRgVeMSDOkkleQTReD2iPUapZFe0tScKY8KUKH1oe4SeMJkV6Ue/vyjQ1HL Uj7+YGRNA2Z8wvKDHRxj0aunuxJULhIekosbYbqWIhVs5CNnaVF+DakGNIT58A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450348; a=rsa-sha256; cv=none; b=qTBxr82I/gZLVXdra6m5AQTo7GJ1x+JC1FIXNCt7WChcsJr3V+kx4gAHrRClJ+5zgojf5r BYXCyNF7JTlriqOudezXYANwEMKy0Mnec9ErNnOH0OdTLd4s36fJ0OIQUExmqScRv97YJM guybB0J7iE9+rAwQyHZJob7Z6iMTEO+n+yLfj/ZoQceo3vaFpsHZ05+O+DMtCLZSEKJLzv lBYzRiqCZkVDmZtWZQqy1Y9gDd8ZUuv/xefqk2LhtrsZMJp589B76SVdtK9wseQTYK5/BN Sd26qTsZ7o/xxYPdkAZS310VhimjpRoTs4y7orgh5edozswe9txUblb0bmWT8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrC5GQfzlyf; Thu, 13 Feb 2025 12:39: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 51DCd7jx075657; Thu, 13 Feb 2025 12:39:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd7Iv075654; Thu, 13 Feb 2025 12:39:07 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:07 GMT Message-Id: <202502131239.51DCd7Iv075654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 71594e3235f2 - main - pf: support "!received-on " List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71594e3235f21746fbc6c0b12ad70409db18a46b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=71594e3235f21746fbc6c0b12ad70409db18a46b commit 71594e3235f21746fbc6c0b12ad70409db18a46b Author: Kristof Provost AuthorDate: 2025-02-10 16:33:57 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: support "!received-on " ok dlg benno Obtained from: OpenBSD, henning , 7d0482a910 Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 2 ++ lib/libpfctl/libpfctl.h | 1 + sbin/pfctl/parse.y | 6 ++++-- sbin/pfctl/pfctl_parser.c | 3 ++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 8569d691773c..fe63c91c1174 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1255,6 +1255,7 @@ snl_add_msg_attr_pf_rule(struct snl_writer *nw, uint32_t type, const struct pfct snl_add_msg_attr_uid(nw, PF_RT_UID, &r->uid); snl_add_msg_attr_uid(nw, PF_RT_GID, (const struct pf_rule_uid *)&r->gid); snl_add_msg_attr_string(nw, PF_RT_RCV_IFNAME, r->rcv_ifname); + snl_add_msg_attr_bool(nw, PF_RT_RCV_IFNOT, r->rcvifnot); snl_add_msg_attr_u32(nw, PF_RT_RULE_FLAG, r->rule_flag); snl_add_msg_attr_u8(nw, PF_RT_ACTION, r->action); @@ -1663,6 +1664,7 @@ static struct snl_attr_parser ap_getrule[] = { { .type = PF_RT_RPOOL_NAT, .off = _OUT(r.nat), .arg = &pool_parser, .cb = snl_attr_get_nested }, { .type = PF_RT_NAF, .off = _OUT(r.naf), .cb = snl_attr_get_uint8 }, { .type = PF_RT_RPOOL_RT, .off = _OUT(r.route), .arg = &pool_parser, .cb = snl_attr_get_nested }, + { .type = PF_RT_RCV_IFNOT, .off = _OUT(r.rcvifnot),.cb = snl_attr_get_bool }, }; #undef _OUT SNL_DECLARE_PARSER(getrule_parser, struct genlmsghdr, snl_f_p_empty, ap_getrule); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index d5d0a43f90a3..e1af4b5e97ff 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -227,6 +227,7 @@ struct pfctl_rule { struct pf_rule_uid uid; struct pf_rule_gid gid; char rcv_ifname[IFNAMSIZ]; + bool rcvifnot; uint32_t rule_flag; uint8_t action; diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 40d116fe1a50..981039f4124c 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -2974,12 +2974,13 @@ filter_opt : USER uids { filter_opts.match_tag = $3; filter_opts.match_tag_not = $1; } - | RECEIVEDON if_item { + | not RECEIVEDON if_item { if (filter_opts.rcv) { yyerror("cannot respecify received-on"); YYERROR; } - filter_opts.rcv = $2; + filter_opts.rcv = $3; + filter_opts.rcv->not = $1; } | PROBABILITY probability { double p; @@ -6279,6 +6280,7 @@ expand_rule(struct pfctl_rule *r, if (rcv) { strlcpy(r->rcv_ifname, rcv->ifname, sizeof(r->rcv_ifname)); + r->rcvifnot = rcv->not; } r->type = icmp_type->type; r->code = icmp_type->code; diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index d1e0b4e99940..7a6d2fc8eed5 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -961,7 +961,8 @@ print_rule(struct pfctl_rule *r, const char *anchor_call, int verbose, int numer print_fromto(&r->src, r->os_fingerprint, &r->dst, r->af, r->proto, verbose, numeric); if (r->rcv_ifname[0]) - printf(" received-on %s", r->rcv_ifname); + printf(" %sreceived-on %s", r->rcvifnot ? "!" : "", + r->rcv_ifname); if (r->uid.op) print_ugid(r->uid.op, r->uid.uid[0], r->uid.uid[1], "user", UID_MAX); From nobody Thu Feb 13 12:39:09 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtvrG53Vwz5nRd8; Thu, 13 Feb 2025 12:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrG0dHnz3g7S; Thu, 13 Feb 2025 12:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=luNcKInG4KhWLHSunEUOWPauXG7TnJB4SozoF+pzMcI=; b=PORbfe0U4H5ielXiF1fpSqPfi+sQ5ZRY/tLVW49IBVO0Z27agCXUPj8SgESdqWT7BXcsqE 4IuDl+9iVelEXOKnY1ZIcUPvNItKNqW58QPnX+YRqdMoYggKgJbkHbXz4QO5Ms1L/M0MHb f3XIwdlQt+KDaFLtlEoIIEWKAWIIH3CHVgGgqwCB6fBs8iw5VbUe5R5QBcNl2M/MC10OU2 d6CV4neyT+oe4m3g0V+87AstArkChLf3rjADgYcOVrJcYXElIYeP3ln+MERtcqsUcVj+pp 39MlrKObpuzIjUk8gl6ldSoimGximm5KwbcP0yEusS6QbViPVkxGAlDqn7BJ0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=luNcKInG4KhWLHSunEUOWPauXG7TnJB4SozoF+pzMcI=; b=Im8Or7AneWJx1gqmYpg3v+OhYKtCrVy+yk+GeUeMhGQ5fdojLLQ2JQg6OWPNtcM0aI+a/2 k+pJ4cLVIxUWCM7T8a/CwXLZa7vMXxzoJlptOpwjry1KnvYco0/Gm30AoTULaypxyZkvtp IlCZiqiNiQm6K1xU5BEWQZ6U/2JzcMB32gBS5H8n5dBGUkaLl9Tg95Q4iYSn9a730yMIRD zkN/E9TkJcsgXugsNuVS0ZUPYptzeyK9Q/NWauSAvG7EuRRgj6KC8ZherAcNzkoEFia1N4 dwoyYl8g0bXz3FvW92lbiZt4TAnzcKVmPwfzbO/58v8wDzZd9OLznfQizvG/5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450350; a=rsa-sha256; cv=none; b=L7UtbqfR4JPmX4Z/VS8+I0Il9Fv4fOdZKlzpRKLlhLU9ufy5qS4TmdlEnidKpYD5D613YP X3x87+J228baBRNJN9s7nCM6BNrJD5Bxzt8RtiP38+dtqVDhPT1tkLUYazN5m0nqdYZUkd tQKHebbMRgjxjFlhxMTXSOlOrL7bxyS0tWga1axMVghUivrNCt/3BhvQCYKpS8fQAumQx2 srdZX/nTNEnL+vJA30SGhFX0bKxqtQspn4uHOoCeOlyAdk0yvK8TYsB2h8jszqN6dDHTMd xct0r7pFBxeV1Pz0kG9xKni2nYe53Ladt/vDgPASAQEjAn47w34rzws99YlWrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrG0DW9zlHf; Thu, 13 Feb 2025 12:39: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 51DCd9jm075721; Thu, 13 Feb 2025 12:39:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd9rY075718; Thu, 13 Feb 2025 12:39:09 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:09 GMT Message-Id: <202502131239.51DCd9rY075718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 26fb3871b725 - main - pf tests: add basic ! received-on test case List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26fb3871b725aba60005c69d634b7179cd605b82 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=26fb3871b725aba60005c69d634b7179cd605b82 commit 26fb3871b725aba60005c69d634b7179cd605b82 Author: Kristof Provost AuthorDate: 2025-02-10 16:42:48 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:45 +0000 pf tests: add basic ! received-on test case Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/pass_block.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index abd303bae6e6..d5ff37b6c167 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -366,6 +366,16 @@ received_on_body() ping -c 1 203.0.113.2 atf_check -s exit:2 -o ignore \ ping -c 1 203.0.113.3 + + # Test '! received-on' + pft_set_rules alcatraz \ + "pass in" \ + "block ! received-on ${epair_one}b" + + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.1 + atf_check -s exit:2 -o ignore \ + ping -c 1 198.51.100.1 } received_on_cleanup() From nobody Thu Feb 13 14:44:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytyd404zzz5nZ0r; Thu, 13 Feb 2025 14:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytyd35xDwz3Lfs; Thu, 13 Feb 2025 14:44:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739457879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4MNRCHjxkOeA89213/dR1Fq9VQnED2pUiZ+P2BHcqKA=; b=OWpqrkbCUETGQkTeoFZLy+p8Bv++UoBZqR2vMgokY6bB17h7t3YkijdM+e0XBtobC0ZbuS vIPBg6pv1uKrPSNS+80I7DVW9rfComwsSp6T7yaaDEF5lmQrmqUjxw9fZiLogc+gl23gNl rrvbAKsylFyPGaYylgdtzZYg6C//5ApqisYOR02kJRQUdbmhK3/wR7sapRKc4au2AJCimK +AWn4OCTvOT6jiDlgiX4oBrxBhW2P9EoDutt6iOvUxCdXt8+6hv4j4tPeJuelEbZkPJA1A LJ67aiIoWofFEkZnpp6OgXyUvZ/BVp/Wpj1Zcm2Vo/5URvYS1yws6g5K1bDXVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739457879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4MNRCHjxkOeA89213/dR1Fq9VQnED2pUiZ+P2BHcqKA=; b=AaSjRIiBsBd6D+l2s73VHFstlxLzBdf/k0FUTrvhOFDsGKxznWSwiWQ8UJgrrqCj9uxvtz 6sjdxjP7Pz3yO9EbbkLoEq6fvEmQhtdxFSDNwZbjXvRIuIlamCzDvY6bp3ycLZWDkWg9t4 DMdT0HehWL4f5WI5Z/bpeDuDCFYHv6yceqvvDCMk53cHSgNzSeMpNYY0DbSpdOrgf8prX5 pzZ3o4C6/7J2QLHXNHARFxAZJsdkurXhM9qYZzQbVINPf/jrFXIIZyx3Rz3psgx8ef11WR 2JstV7FOvLhyDw8jhpvXhDMsvYqDRxVYxc9crxJ44dhf8NIl92SWLY6XwFOg1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739457879; a=rsa-sha256; cv=none; b=U3mlSp/rOFkIdfOalZbqTNTv4zQC+D89OmD77p2hD9VfZLxGyTO5BIyGPZy2+80DUBpDP/ 83aTsnhjM+a67X50YrUsQHY/tIS3h2klj5w4KpSb1DU52Wayxxf4rh22mg0dWAKvwAZOQ2 fTOsvzvGo4Jo/QUsyMP5rFK7+jJG0ID7R/ezvDODUzpR1r0Iv7bbi0f+JNKBF9zimT/gnI 0slcJtrcCapaKcgKXdnDghHsXO3oH8rlfqasvCzH3xLgeJi+7/z6dxg+TZwsjyBx0J5EsS zgiwbiHZnes1AZK5YMqIwSyJr2PUYZt6bfoJMMOgVpZ5FM28CFgLGrmrVv59TQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytyd35S0ZzqKl; Thu, 13 Feb 2025 14:44: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 51DEidrD016068; Thu, 13 Feb 2025 14:44:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DEidvR016065; Thu, 13 Feb 2025 14:44:39 GMT (envelope-from git) Date: Thu, 13 Feb 2025 14:44:39 GMT Message-Id: <202502131444.51DEidvR016065@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: b61fbbed73ea - main - powerpc: Remove flag CTLFLAG_TUN from sysctl knob hw.platform List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b61fbbed73ea3bf0c84589b56cca160c46a3739d Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b61fbbed73ea3bf0c84589b56cca160c46a3739d commit b61fbbed73ea3bf0c84589b56cca160c46a3739d Author: Zhenlei Huang AuthorDate: 2025-02-13 14:42:45 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 14:42:45 +0000 powerpc: Remove flag CTLFLAG_TUN from sysctl knob hw.platform Prior to change [1] this flag is useless but harmless. After the change plat_name[] will be fetched from kernel environment after invoking the platform probe function `platform_probe_and_attach()`. The probe function runs at early boot stage prior to `mi_startup()` thus it is too late and pointless to set plat_name[] after the probe. Nathan mentioned that the logic to specify the platform pre-dates the powerpc64 work, and is from the original pre-FDT Book-E bringup from like 2008, so it's irrelevant these days. Instead of fixing setting the sysctl knob hw.platform, let's clean it up now. [1] 3da1cf1e88f8 Extend the meaning of the CTLFLAG_TUN flag to ... Discussed with: nwhitehorn Reviewed by: olce (previous version), jhibbits, #powerpc MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D48897 --- sys/powerpc/powerpc/platform.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/sys/powerpc/powerpc/platform.c b/sys/powerpc/powerpc/platform.c index fc840063e766..6453e47a58f9 100644 --- a/sys/powerpc/powerpc/platform.c +++ b/sys/powerpc/powerpc/platform.c @@ -65,9 +65,9 @@ static platform_t plat_obj; static struct kobj_ops plat_kernel_kops; static struct platform_kobj plat_kernel_obj; -static char plat_name[64] = ""; -SYSCTL_STRING(_hw, OID_AUTO, platform, CTLFLAG_RDTUN, - plat_name, 0, "Platform currently in use"); +static char plat_name[64]; +SYSCTL_CONST_STRING(_hw, OID_AUTO, platform, CTLFLAG_RD, plat_name, + "Platform currently in use"); static struct mem_affinity mem_info[VM_PHYSSEG_MAX + 1]; static int vm_locality_table[MAXMEMDOM * MAXMEMDOM]; @@ -364,16 +364,7 @@ platform_probe_and_attach(void) if (prio > 0) continue; - /* - * Check if this module was specifically requested through - * the loader tunable we provide. - */ - if (strcmp(platp->name,plat_name) == 0) { - plat_def_impl = platp; - break; - } - - /* Otherwise, see if it is better than our current best */ + /* See if it is better than our current best */ if (plat_def_impl == NULL || prio > best_prio) { best_prio = prio; plat_def_impl = platp; From nobody Thu Feb 13 15:00:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytyzk22RWz5nb9D; Thu, 13 Feb 2025 15:00: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytyzj3T8Gz3TCJ; Thu, 13 Feb 2025 15:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739458849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VThysOljRqk/iqyc/i8RANvndgHfjn77ogB/8lB1CLo=; b=nndjVjssPr9EKAMj+pVnsT9qs92B2GRayabPmUJIjRlCfxoDRmtlZZilBWQ/oJwiTzolaG HzhfGX+HBlAVfOKVU3o7bAs9OQ9Nc0a6ZL7jsxa6YaHa3RCbWcSCxwICWHuqfZ8TK7d8Er 7m4UFWrPCIn8ZDTTXP7iizZosA8vLYFRep2P4BNPQIwz41oRc6xVSiOoVJPDX+Ai8MCizz 4vVBhNRWPdcS1yVHikTGX+JHL34iAOygvv5hOzkR5Sxs6BkDxKTKlyEiZpqLgMy4MpZpOH 6CdX3E+WVgt+MajBabwHoC93MaD/i9DNMV8Xr0oHFS7Hd2Dn38dyPGibDcyvLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739458849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VThysOljRqk/iqyc/i8RANvndgHfjn77ogB/8lB1CLo=; b=ta2l9jiHmZfG9cvntoZC6ipO9kFkaFKk8q17Bdj2jRCFMt3N0ixTKR6Hnq4ZqG+OMtLdui N4zC2Yx8W1lFPTH1CuXvSknmf4f7BHmKeDES14aqM7HG4h6OkWLmAwlwtqRSdPGoVMrh7o LfatI4CdnzAgkKBoxTQUn88z8KBv9GZ1psxaLVtDkuYCHeFCop5FnuhCBlHewVF1B8BJWY scuRFeo71HjkkoB60bn7g0MwgJ63l8lD+Y00wxink6w7aGxuBvoh0t2uf0cALR8wE53J0K N4QlNkwy7VbjkmTvXeBoMDaGMl0+fN4En99TGSw2Qq+nXsQJcBnh4U/ILxJrNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739458849; a=rsa-sha256; cv=none; b=pf2rT2bzxGukLi7uyCSpVW0I+qI+61pcFUoJFa3sdF4Iku4jfkZ1J9UwXPCojK9jAP2kmI 8iL/CYyQ5w+qAUIayjSkOCuKAcaeYYi+uXtrwxVjv2YqgCzcpat3IU/W4QUYbONqM2wlOB 3ze9iWPwswURbdek0WFz5GYM6l20txZ5dnXE9RHveVFEHrM9E/P6XWtNKmzrqSj72N+EYe sNTQ0dYgSFAqe6sufKovlBkgCDlVYsj+miYuqznDQcY45xTQs+c85WOiidDEG4ATKFMhKA AvlI0YlZpK8aZYptDj72sJ/mfPJSPhrlC//3c7LGyoLx/dLDcUtZnKDE3J7CWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytyzj2tgVzqPT; Thu, 13 Feb 2025 15:00: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 51DF0n2C046088; Thu, 13 Feb 2025 15:00:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DF0nbT046085; Thu, 13 Feb 2025 15:00:49 GMT (envelope-from git) Date: Thu, 13 Feb 2025 15:00:49 GMT Message-Id: <202502131500.51DF0nbT046085@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kajetan Staszkiewicz Subject: git: 07e070ef0869 - main - pf: Add support for multiple source node types List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07e070ef086997590cd6d9d47908885c12947bd2 Auto-Submitted: auto-generated The branch main has been updated by ks: URL: https://cgit.FreeBSD.org/src/commit/?id=07e070ef086997590cd6d9d47908885c12947bd2 commit 07e070ef086997590cd6d9d47908885c12947bd2 Author: Kajetan Staszkiewicz AuthorDate: 2025-02-07 11:40:09 +0000 Commit: Kajetan Staszkiewicz CommitDate: 2025-02-13 14:59:12 +0000 pf: Add support for multiple source node types For every state pf creates up to two source nodes: a limiting one struct pf_kstate -> src_node and a NAT one struct pf_kstate -> nat_src_node. The limiting source node is tracking information needed for limits using max-src-states and max-src-nodes and the NAT source node is tracking NAT rules only. On closer inspection some issues emerge: - For route-to rules the redirection decision is stored in the limiting source node. Thus sticky-address and source limiting can't be used separately. - Global source tracking, as promised in the man page, is totally absent from the code. Pfctl is capable of setting flags PFRULE_SRCTRACK (enable source tracking) and PFRULE_RULESRCTRACK (make source tracking per rule). The kernel code checks PFRULE_SRCTRACK but ignores PFRULE_RULESRCTRACK. That makes source tracking work per-rule only. This patch is based on OpenBSD approach where source nodes have a type and each state has an array of source node pointers indexed by source node type instead of just two pointers. The conditions for limiting are applied only to source nodes of PF_SN_LIMIT type. For global limit tracking source nodes are attached to the default rule. Reviewed by: kp Approved by: kp (mentor) Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D39880 --- lib/libpfctl/libpfctl.c | 5 + lib/libpfctl/libpfctl.h | 3 + sbin/pfctl/pf_print_state.c | 13 ++- sbin/pfctl/pfctl.c | 9 ++ sbin/pfctl/pfctl_parser.c | 2 + sys/net/pfvar.h | 30 ++++-- sys/netpfil/pf/pf.c | 216 +++++++++++++++++++++----------------- sys/netpfil/pf/pf.h | 6 ++ sys/netpfil/pf/pf_ioctl.c | 40 ++++--- sys/netpfil/pf/pf_lb.c | 35 +++--- sys/netpfil/pf/pf_nl.c | 25 ++++- sys/netpfil/pf/pf_nl.h | 5 + sys/netpfil/pf/pf_nv.c | 10 +- tests/sys/netpfil/pf/src_track.sh | 155 ++++++++++++++++++++++++++- 14 files changed, 405 insertions(+), 149 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index fe63c91c1174..e93c79758428 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1665,6 +1665,9 @@ static struct snl_attr_parser ap_getrule[] = { { .type = PF_RT_NAF, .off = _OUT(r.naf), .cb = snl_attr_get_uint8 }, { .type = PF_RT_RPOOL_RT, .off = _OUT(r.route), .arg = &pool_parser, .cb = snl_attr_get_nested }, { .type = PF_RT_RCV_IFNOT, .off = _OUT(r.rcvifnot),.cb = snl_attr_get_bool }, + { .type = PF_RT_SRC_NODES_LIMIT, .off = _OUT(r.src_nodes_type[PF_SN_LIMIT]), .cb = snl_attr_get_uint64 }, + { .type = PF_RT_SRC_NODES_NAT, .off = _OUT(r.src_nodes_type[PF_SN_NAT]), .cb = snl_attr_get_uint64 }, + { .type = PF_RT_SRC_NODES_ROUTE, .off = _OUT(r.src_nodes_type[PF_SN_ROUTE]), .cb = snl_attr_get_uint64 }, }; #undef _OUT SNL_DECLARE_PARSER(getrule_parser, struct genlmsghdr, snl_f_p_empty, ap_getrule); @@ -1910,6 +1913,7 @@ static struct snl_attr_parser ap_state[] = { { .type = PF_ST_DNRPIPE, .off = _OUT(dnrpipe), .cb = snl_attr_get_uint16 }, { .type = PF_ST_RT, .off = _OUT(rt), .cb = snl_attr_get_uint8 }, { .type = PF_ST_RT_IFNAME, .off = _OUT(rt_ifname), .cb = snl_attr_store_ifname }, + { .type = PF_ST_SRC_NODE_FLAGS, .off = _OUT(src_node_flags), .cb = snl_attr_get_uint8 }, }; #undef _IN #undef _OUT @@ -3018,6 +3022,7 @@ static struct snl_attr_parser ap_srcnode[] = { { .type = PF_SN_EXPIRE, .off = _OUT(expire), .cb = snl_attr_get_uint64 }, { .type = PF_SN_CONNECTION_RATE, .off = _OUT(conn_rate), .arg = &pfctl_threshold_parser, .cb = snl_attr_get_nested }, { .type = PF_SN_NAF, .off = _OUT(naf), .cb = snl_attr_get_uint8 }, + { .type = PF_SN_NODE_TYPE, .off = _OUT(type), .cb = snl_attr_get_uint8 }, }; #undef _OUT SNL_DECLARE_PARSER(srcnode_parser, struct genlmsghdr, snl_f_p_empty, ap_srcnode); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index e1af4b5e97ff..1108b0ffc693 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -216,6 +216,7 @@ struct pfctl_rule { uint64_t states_cur; uint64_t states_tot; uint64_t src_nodes; + uint64_t src_nodes_type[PF_SN_MAX]; uint16_t return_icmp; uint16_t return_icmp6; @@ -373,6 +374,7 @@ struct pfctl_state { uint8_t set_prio[2]; uint8_t rt; char rt_ifname[IFNAMSIZ]; + uint8_t src_node_flags; }; TAILQ_HEAD(pfctl_statelist, pfctl_state); @@ -415,6 +417,7 @@ struct pfctl_src_node { uint64_t creation; uint64_t expire; struct pfctl_threshold conn_rate; + pf_sn_types_t type; }; #define PF_DEVICE "/dev/pf" diff --git a/sbin/pfctl/pf_print_state.c b/sbin/pfctl/pf_print_state.c index e6495dfa4ca6..1d2fa45cd9d7 100644 --- a/sbin/pfctl/pf_print_state.c +++ b/sbin/pfctl/pf_print_state.c @@ -245,6 +245,7 @@ print_state(struct pfctl_state *s, int opts) uint8_t proto; int afto = (s->key[PF_SK_STACK].af != s->key[PF_SK_WIRE].af); int idx; + const char *sn_type_names[] = PF_SN_TYPE_NAMES; #ifndef __NO_STRICT_ALIGNMENT struct pfctl_state_key aligned_key[2]; @@ -405,10 +406,14 @@ print_state(struct pfctl_state *s, int opts) printf(", dummynet queue (%d %d)", s->dnpipe, s->dnrpipe); } - if (s->sync_flags & PFSYNC_FLAG_SRCNODE) - printf(", source-track"); - if (s->sync_flags & PFSYNC_FLAG_NATSRCNODE) - printf(", sticky-address"); + if (s->src_node_flags & PFSTATE_SRC_NODE_LIMIT) + printf(", %s", sn_type_names[PF_SN_LIMIT]); + if (s->src_node_flags & PFSTATE_SRC_NODE_LIMIT_GLOBAL) + printf(" global"); + if (s->src_node_flags & PFSTATE_SRC_NODE_NAT) + printf(", %s", sn_type_names[PF_SN_NAT]); + if (s->src_node_flags & PFSTATE_SRC_NODE_ROUTE) + printf(", %s", sn_type_names[PF_SN_ROUTE]); if (s->log) printf(", log"); if (s->log & PF_LOG_ALL) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 48e1d0b833c5..e05c96a252fc 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1064,6 +1064,15 @@ pfctl_print_rule_counters(struct pfctl_rule *rule, int opts) rule->packets[1]), (unsigned long long)(rule->bytes[0] + rule->bytes[1]), (uintmax_t)rule->states_cur); + printf(" [ Source Nodes: %-6ju " + "Limit: %-6ju " + "NAT/RDR: %-6ju " + "Route: %-6ju " + "]\n", + (uintmax_t)rule->src_nodes, + (uintmax_t)rule->src_nodes_type[PF_SN_LIMIT], + (uintmax_t)rule->src_nodes_type[PF_SN_NAT], + (uintmax_t)rule->src_nodes_type[PF_SN_ROUTE]); if (!(opts & PF_OPT_DEBUG)) printf(" [ Inserted: uid %u pid %u " "State Creations: %-6ju]\n", diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 7a6d2fc8eed5..bb458bce24fb 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -651,6 +651,7 @@ print_src_node(struct pfctl_src_node *sn, int opts) { struct pf_addr_wrap aw; uint64_t min, sec; + const char *sn_type_names[] = PF_SN_TYPE_NAMES; memset(&aw, 0, sizeof(aw)); if (sn->af == AF_INET) @@ -699,6 +700,7 @@ print_src_node(struct pfctl_src_node *sn, int opts) printf(", filter rule %u", sn->rule); break; } + printf(", %s", sn_type_names[sn->type]); printf("\n"); } } diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index d973fe15a5c4..076027e436dc 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -624,6 +624,21 @@ extern struct sx pf_end_lock; #define PF_ALGNMNT(off) (((off) % 2) == 0) +/* + * At the moment there are no rules which have both NAT and RDR actions, + * apart from af-to rules, but those don't to source tracking for address + * translation. And the r->rdr pool is used for both NAT and RDR. + * So there is no PF_SN_RDR. + */ +enum pf_sn_types { PF_SN_LIMIT, PF_SN_NAT, PF_SN_ROUTE, PF_SN_MAX }; +typedef enum pf_sn_types pf_sn_types_t; +#define PF_SN_TYPE_NAMES { \ + "limit source-track", \ + "NAT/RDR sticky-address", \ + "route sticky-address", \ + NULL \ +} + #ifdef _KERNEL struct pf_kpooladdr { @@ -822,7 +837,7 @@ struct pf_krule { counter_u64_t states_cur; counter_u64_t states_tot; - counter_u64_t src_nodes; + counter_u64_t src_nodes[PF_SN_MAX]; u_int16_t return_icmp; u_int16_t return_icmp6; @@ -904,6 +919,7 @@ struct pf_ksrc_node { sa_family_t af; sa_family_t naf; u_int8_t ruletype; + pf_sn_types_t type; struct mtx *lock; }; #endif @@ -1104,8 +1120,7 @@ struct pf_kstate { struct pf_udp_mapping *udp_mapping; struct pfi_kkif *kif; struct pfi_kkif *orig_kif; /* The real kif, even if we're a floating state (i.e. if == V_pfi_all). */ - struct pf_ksrc_node *src_node; - struct pf_ksrc_node *nat_src_node; + struct pf_ksrc_node *sns[PF_SN_MAX];/* source nodes */ u_int64_t packets[2]; u_int64_t bytes[2]; u_int64_t creation; @@ -1118,9 +1133,10 @@ struct pf_kstate { }; /* - * Size <= fits 11 objects per page on LP64. Try to not grow the struct beyond that. + * 6 cache lines per struct, 10 structs per page. + * Try to not grow the struct beyond that. */ -_Static_assert(sizeof(struct pf_kstate) <= 372, "pf_kstate size crosses 372 bytes"); +_Static_assert(sizeof(struct pf_kstate) <= 384, "pf_kstate size crosses 384 bytes"); #endif /* @@ -2367,7 +2383,7 @@ extern bool pf_src_node_exists(struct pf_ksrc_node **, struct pf_srchash *); extern struct pf_ksrc_node *pf_find_src_node(struct pf_addr *, struct pf_krule *, sa_family_t, - struct pf_srchash **, bool); + struct pf_srchash **, pf_sn_types_t, bool); extern void pf_unlink_src_node(struct pf_ksrc_node *); extern u_int pf_free_src_nodes(struct pf_ksrc_node_list *); extern void pf_print_state(struct pf_kstate *); @@ -2670,7 +2686,7 @@ u_short pf_map_addr_sn(u_int8_t, struct pf_krule *, struct pf_addr *, struct pf_addr *, struct pfi_kkif **nkif, struct pf_addr *, struct pf_ksrc_node **, struct pf_srchash **, - struct pf_kpool *); + struct pf_kpool *, pf_sn_types_t); int pf_get_transaddr_af(struct pf_krule *, struct pf_pdesc *); u_short pf_get_translation(struct pf_pdesc *, diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 378be1e72d9a..c5042a7685c2 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -389,7 +389,7 @@ static void pf_overload_task(void *v, int pending); static u_short pf_insert_src_node(struct pf_ksrc_node **, struct pf_srchash **, struct pf_krule *, struct pf_addr *, sa_family_t, struct pf_addr *, - struct pfi_kkif *); + struct pfi_kkif *, pf_sn_types_t); static u_int pf_purge_expired_states(u_int, int); static void pf_purge_unlinked_rules(void); static int pf_mtag_uminit(void *, int, int); @@ -835,25 +835,26 @@ pf_check_threshold(struct pf_threshold *threshold) static bool pf_src_connlimit(struct pf_kstate *state) { - struct pf_overload_entry *pfoe; - bool limited = false; + struct pf_overload_entry *pfoe; + struct pf_ksrc_node *src_node = state->sns[PF_SN_LIMIT]; + bool limited = false; PF_STATE_LOCK_ASSERT(state); - PF_SRC_NODE_LOCK(state->src_node); + PF_SRC_NODE_LOCK(src_node); - state->src_node->conn++; + src_node->conn++; state->src.tcp_est = 1; - pf_add_threshold(&state->src_node->conn_rate); + pf_add_threshold(&src_node->conn_rate); if (state->rule->max_src_conn && state->rule->max_src_conn < - state->src_node->conn) { + src_node->conn) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCCONN], 1); limited = true; } if (state->rule->max_src_conn_rate.limit && - pf_check_threshold(&state->src_node->conn_rate)) { + pf_check_threshold(&src_node->conn_rate)) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCCONNRATE], 1); limited = true; } @@ -873,7 +874,7 @@ pf_src_connlimit(struct pf_kstate *state) if (pfoe == NULL) goto done; /* too bad :( */ - bcopy(&state->src_node->addr, &pfoe->addr, sizeof(pfoe->addr)); + bcopy(&src_node->addr, &pfoe->addr, sizeof(pfoe->addr)); pfoe->af = state->key[PF_SK_WIRE]->af; pfoe->rule = state->rule; pfoe->dir = state->direction; @@ -883,7 +884,7 @@ pf_src_connlimit(struct pf_kstate *state) taskqueue_enqueue(taskqueue_swi, &V_pf_overloadtask); done: - PF_SRC_NODE_UNLOCK(state->src_node); + PF_SRC_NODE_UNLOCK(src_node); return (limited); } @@ -985,7 +986,7 @@ pf_overload_task(void *v, int pending) */ struct pf_ksrc_node * pf_find_src_node(struct pf_addr *src, struct pf_krule *rule, sa_family_t af, - struct pf_srchash **sh, bool returnlocked) + struct pf_srchash **sh, pf_sn_types_t sn_type, bool returnlocked) { struct pf_ksrc_node *n; @@ -994,7 +995,7 @@ pf_find_src_node(struct pf_addr *src, struct pf_krule *rule, sa_family_t af, *sh = &V_pf_srchash[pf_hashsrc(src, af)]; PF_HASHROW_LOCK(*sh); LIST_FOREACH(n, &(*sh)->nodes, entry) - if (n->rule == rule && n->af == af && + if (n->rule == rule && n->af == af && n->type == sn_type && ((af == AF_INET && n->addr.v4.s_addr == src->v4.s_addr) || (af == AF_INET6 && bcmp(&n->addr, src, sizeof(*src)) == 0))) break; @@ -1039,27 +1040,43 @@ pf_free_src_node(struct pf_ksrc_node *sn) } static u_short -pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_srchash **sh, - struct pf_krule *rule, struct pf_addr *src, sa_family_t af, - struct pf_addr *raddr, struct pfi_kkif *rkif) +pf_insert_src_node(struct pf_ksrc_node *sns[PF_SN_MAX], + struct pf_srchash *snhs[PF_SN_MAX], struct pf_krule *rule, + struct pf_addr *src, sa_family_t af, struct pf_addr *raddr, + struct pfi_kkif *rkif, pf_sn_types_t sn_type) { u_short reason = 0; + struct pf_krule *r_track = rule; + struct pf_ksrc_node **sn = &(sns[sn_type]); + struct pf_srchash **sh = &(snhs[sn_type]); - KASSERT((rule->rule_flag & PFRULE_SRCTRACK || - rule->rdr.opts & PF_POOL_STICKYADDR), - ("%s for non-tracking rule %p", __func__, rule)); + KASSERT(sn_type != PF_SN_LIMIT || (raddr == NULL && rkif == NULL), + ("%s: raddr and rkif must be NULL for PF_SN_LIMIT", __func__)); + + KASSERT(sn_type != PF_SN_LIMIT || (rule->rule_flag & PFRULE_SRCTRACK), + ("%s: PF_SN_LIMIT only valid for rules with PFRULE_SRCTRACK", __func__)); + + /* + * XXX: There could be a KASSERT for + * sn_type == PF_SN_LIMIT || (pool->opts & PF_POOL_STICKYADDR) + * but we'd need to pass pool *only* for this KASSERT. + */ + + if ( (rule->rule_flag & PFRULE_SRCTRACK) && + !(rule->rule_flag & PFRULE_RULESRCTRACK)) + r_track = &V_pf_default_rule; /* * Request the sh to always be locked, as we might insert a new sn. */ if (*sn == NULL) - *sn = pf_find_src_node(src, rule, af, sh, true); + *sn = pf_find_src_node(src, r_track, af, sh, sn_type, true); if (*sn == NULL) { PF_HASHROW_ASSERT(*sh); - if (rule->max_src_nodes && - counter_u64_fetch(rule->src_nodes) >= rule->max_src_nodes) { + if (sn_type == PF_SN_LIMIT && rule->max_src_nodes && + counter_u64_fetch(r_track->src_nodes[sn_type]) >= rule->max_src_nodes) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCNODES], 1); reason = PFRES_SRCLIMIT; goto done; @@ -1082,26 +1099,28 @@ pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_srchash **sh, } } - pf_init_threshold(&(*sn)->conn_rate, - rule->max_src_conn_rate.limit, - rule->max_src_conn_rate.seconds); + if (sn_type == PF_SN_LIMIT) + pf_init_threshold(&(*sn)->conn_rate, + rule->max_src_conn_rate.limit, + rule->max_src_conn_rate.seconds); MPASS((*sn)->lock == NULL); (*sn)->lock = &(*sh)->lock; (*sn)->af = af; - (*sn)->rule = rule; + (*sn)->rule = r_track; PF_ACPY(&(*sn)->addr, src, af); - PF_ACPY(&(*sn)->raddr, raddr, af); + if (raddr != NULL) + PF_ACPY(&(*sn)->raddr, raddr, af); (*sn)->rkif = rkif; LIST_INSERT_HEAD(&(*sh)->nodes, *sn, entry); (*sn)->creation = time_uptime; (*sn)->ruletype = rule->action; - if ((*sn)->rule != NULL) - counter_u64_add((*sn)->rule->src_nodes, 1); + (*sn)->type = sn_type; + counter_u64_add(r_track->src_nodes[sn_type], 1); counter_u64_add(V_pf_status.scounters[SCNT_SRC_NODE_INSERT], 1); } else { - if (rule->max_src_states && + if (sn_type == PF_SN_LIMIT && rule->max_src_states && (*sn)->states >= rule->max_src_states) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCSTATES], 1); @@ -1126,7 +1145,7 @@ pf_unlink_src_node(struct pf_ksrc_node *src) LIST_REMOVE(src, entry); if (src->rule) - counter_u64_add(src->rule->src_nodes, -1); + counter_u64_add(src->rule->src_nodes[src->type], -1); } u_int @@ -2647,30 +2666,24 @@ pf_purge_expired_src_nodes(void) static void pf_src_tree_remove_state(struct pf_kstate *s) { - struct pf_ksrc_node *sn; uint32_t timeout; timeout = s->rule->timeout[PFTM_SRC_NODE] ? s->rule->timeout[PFTM_SRC_NODE] : V_pf_default_rule.timeout[PFTM_SRC_NODE]; - if (s->src_node != NULL) { - sn = s->src_node; - PF_SRC_NODE_LOCK(sn); - if (s->src.tcp_est) - --sn->conn; - if (--sn->states == 0) - sn->expire = time_uptime + timeout; - PF_SRC_NODE_UNLOCK(sn); - } - if (s->nat_src_node != s->src_node && s->nat_src_node != NULL) { - sn = s->nat_src_node; - PF_SRC_NODE_LOCK(sn); - if (--sn->states == 0) - sn->expire = time_uptime + timeout; - PF_SRC_NODE_UNLOCK(sn); + for (pf_sn_types_t sn_type=0; sn_typesns[sn_type] == NULL) + continue; + PF_SRC_NODE_LOCK(s->sns[sn_type]); + if (sn_type == PF_SN_LIMIT && s->src.tcp_est) + --(s->sns[sn_type]->conn); + if (--(s->sns[sn_type]->states) == 0) + s->sns[sn_type]->expire = time_uptime + timeout; + PF_SRC_NODE_UNLOCK(s->sns[sn_type]); + s->sns[sn_type] = NULL; } - s->src_node = s->nat_src_node = NULL; + } /* @@ -5895,7 +5908,7 @@ nextrule: pd->act.rt = r->rt; /* Don't use REASON_SET, pf_map_addr increases the reason counters */ reason = pf_map_addr_sn(pd->af, r, pd->src, &pd->act.rt_addr, - &pd->act.rt_kif, NULL, &sn, &snh, pool); + &pd->act.rt_kif, NULL, &sn, &snh, pool, PF_SN_ROUTE); if (reason != 0) goto cleanup; } @@ -5997,14 +6010,18 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, struct pf_udp_mapping *udp_mapping) { struct pf_kstate *s = NULL; - struct pf_ksrc_node *sn = NULL; - struct pf_srchash *snh = NULL; - struct pf_ksrc_node *nsn = NULL; - struct pf_srchash *nsnh = NULL; + struct pf_ksrc_node *sns[PF_SN_MAX] = { NULL }; + /* + * XXXKS: The hash for PF_SN_LIMIT and PF_SN_ROUTE should be the same + * but for PF_SN_NAT it is different. Don't try optimizing it, + * just store all 3 hashes. + */ + struct pf_srchash *snhs[PF_SN_MAX] = { NULL }; struct tcphdr *th = &pd->hdr.tcp; u_int16_t mss = V_tcp_mssdflt; u_short reason, sn_reason; struct pf_krule_item *ri; + struct pf_kpool *pool_route = &r->route; /* check maximums */ if (r->max_states && @@ -6013,18 +6030,26 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, REASON_SET(&reason, PFRES_MAXSTATES); goto csfailed; } - /* src node for filter rule */ - if ((r->rule_flag & PFRULE_SRCTRACK || - r->rdr.opts & PF_POOL_STICKYADDR) && - (sn_reason = pf_insert_src_node(&sn, &snh, r, pd->src, pd->af, - &pd->act.rt_addr, pd->act.rt_kif)) != 0) { + /* src node for limits */ + if ((r->rule_flag & PFRULE_SRCTRACK) && + (sn_reason = pf_insert_src_node(sns, snhs, r, pd->src, pd->af, + NULL, NULL, PF_SN_LIMIT)) != 0) { + REASON_SET(&reason, sn_reason); + goto csfailed; + } + /* src node for route-to rule */ + if (TAILQ_EMPTY(&pool_route->list)) /* Backwards compatibility. */ + pool_route = &r->rdr; + if ((pool_route->opts & PF_POOL_STICKYADDR) && + (sn_reason = pf_insert_src_node(sns, snhs, r, pd->src, pd->af, + &pd->act.rt_addr, pd->act.rt_kif, PF_SN_ROUTE)) != 0) { REASON_SET(&reason, sn_reason); goto csfailed; } /* src node for translation rule */ if (nr != NULL && (nr->rdr.opts & PF_POOL_STICKYADDR) && - (sn_reason = pf_insert_src_node(&nsn, &nsnh, nr, &sk->addr[pd->sidx], - pd->af, &nk->addr[1], NULL)) != 0 ) { + (sn_reason = pf_insert_src_node(sns, snhs, nr, &sk->addr[pd->sidx], + pd->af, &nk->addr[1], NULL, PF_SN_NAT)) != 0 ) { REASON_SET(&reason, sn_reason); goto csfailed; } @@ -6166,13 +6191,11 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, /* * Lock order is important: first state, then source node. */ - if (pf_src_node_exists(&sn, snh)) { - s->src_node = sn; - PF_HASHROW_UNLOCK(snh); - } - if (pf_src_node_exists(&nsn, nsnh)) { - s->nat_src_node = nsn; - PF_HASHROW_UNLOCK(nsnh); + for (pf_sn_types_t sn_type=0; sn_typesns[sn_type] = sns[sn_type]; + PF_HASHROW_UNLOCK(snhs[sn_type]); + } } if (tag > 0) @@ -6223,24 +6246,17 @@ csfailed: uma_zfree(V_pf_state_key_z, sk); uma_zfree(V_pf_state_key_z, nk); - if (pf_src_node_exists(&sn, snh)) { - if (--sn->states == 0 && sn->expire == 0) { - pf_unlink_src_node(sn); - pf_free_src_node(sn); - counter_u64_add( - V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS], 1); - } - PF_HASHROW_UNLOCK(snh); - } - - if (sn != nsn && pf_src_node_exists(&nsn, nsnh)) { - if (--nsn->states == 0 && nsn->expire == 0) { - pf_unlink_src_node(nsn); - pf_free_src_node(nsn); - counter_u64_add( - V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS], 1); + for (pf_sn_types_t sn_type=0; sn_typestates == 0 && + sns[sn_type]->expire == 0) { + pf_unlink_src_node(sns[sn_type]); + pf_free_src_node(sns[sn_type]); + counter_u64_add( + V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS], 1); + } + PF_HASHROW_UNLOCK(snhs[sn_type]); } - PF_HASHROW_UNLOCK(nsnh); } drop: @@ -6575,7 +6591,7 @@ pf_tcp_track_full(struct pf_kstate **state, struct pf_pdesc *pd, pf_set_protostate(*state, pdst, TCPS_ESTABLISHED); if (src->state == TCPS_ESTABLISHED && - (*state)->src_node != NULL && + (*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -6746,7 +6762,7 @@ pf_tcp_track_sloppy(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reas if (dst->state == TCPS_SYN_SENT) { pf_set_protostate(*state, pdst, TCPS_ESTABLISHED); if (src->state == TCPS_ESTABLISHED && - (*state)->src_node != NULL && + (*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -6764,7 +6780,7 @@ pf_tcp_track_sloppy(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reas pf_set_protostate(*state, PF_PEER_BOTH, TCPS_ESTABLISHED); dst->state = src->state = TCPS_ESTABLISHED; - if ((*state)->src_node != NULL && + if ((*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -6831,7 +6847,7 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate **state, u_short *reason) (ntohl(th->th_seq) != (*state)->src.seqlo + 1)) { REASON_SET(reason, PFRES_SYNPROXY); return (PF_DROP); - } else if ((*state)->src_node != NULL && + } else if ((*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -10023,17 +10039,21 @@ pf_counters_inc(int action, struct pf_pdesc *pd, pf_counter_u64_add_protected(&s->nat_rule->bytes[dirndx], pd->tot_len); } - if (s->src_node != NULL) { - counter_u64_add(s->src_node->packets[dirndx], - 1); - counter_u64_add(s->src_node->bytes[dirndx], - pd->tot_len); - } - if (s->nat_src_node != NULL) { - counter_u64_add(s->nat_src_node->packets[dirndx], - 1); - counter_u64_add(s->nat_src_node->bytes[dirndx], - pd->tot_len); + /* + * Source nodes are accessed unlocked here. + * But since we are operating with stateful tracking + * and the state is locked, those SNs could not have + * been freed. + */ + for (pf_sn_types_t sn_type=0; sn_typesns[sn_type] != NULL) { + counter_u64_add( + s->sns[sn_type]->packets[dirndx], + 1); + counter_u64_add( + s->sns[sn_type]->bytes[dirndx], + pd->tot_len); + } } dirndx = (dir == s->direction) ? 0 : 1; s->packets[dirndx]++; diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 45652f174884..dfa86e7f1d6d 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -649,6 +649,12 @@ struct pf_rule { #define PFSTATE_SCRUBMASK (PFSTATE_NODF|PFSTATE_RANDOMID|PFSTATE_SCRUB_TCP) #define PFSTATE_SETMASK (PFSTATE_SETTOS|PFSTATE_SETPRIO) +/* pfctl_state->src_node_flags */ +#define PFSTATE_SRC_NODE_LIMIT 0x01 +#define PFSTATE_SRC_NODE_NAT 0x02 +#define PFSTATE_SRC_NODE_ROUTE 0x04 +#define PFSTATE_SRC_NODE_LIMIT_GLOBAL 0x10 + #define PFSTATE_HIWAT 100000 /* default state table size */ #define PFSTATE_ADAPT_START 60000 /* default adaptive timeout start */ #define PFSTATE_ADAPT_END 120000 /* default adaptive timeout end */ diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index bea2cf1a5331..6553981a1059 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -352,7 +352,8 @@ pfattach_vnet(void) } V_pf_default_rule.states_cur = counter_u64_alloc(M_WAITOK); V_pf_default_rule.states_tot = counter_u64_alloc(M_WAITOK); - V_pf_default_rule.src_nodes = counter_u64_alloc(M_WAITOK); + for (pf_sn_types_t sn_type = 0; sn_typestates_cur); counter_u64_free(rule->states_tot); - counter_u64_free(rule->src_nodes); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type]); uma_zfree_pcpu(pf_timestamp_pcpu_zone, rule->timestamp); mtx_destroy(&rule->nat.mtx); @@ -2090,7 +2092,8 @@ pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, } rule->states_cur = counter_u64_alloc(M_WAITOK); rule->states_tot = counter_u64_alloc(M_WAITOK); - rule->src_nodes = counter_u64_alloc(M_WAITOK); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type] = counter_u64_alloc(M_WAITOK); rule->cuid = uid; rule->cpid = pid; TAILQ_INIT(&rule->rdr.list); @@ -3651,7 +3654,8 @@ DIOCGETRULENV_error: } newrule->states_cur = counter_u64_alloc(M_WAITOK); newrule->states_tot = counter_u64_alloc(M_WAITOK); - newrule->src_nodes = counter_u64_alloc(M_WAITOK); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type] = counter_u64_alloc(M_WAITOK); newrule->cuid = td->td_ucred->cr_ruid; newrule->cpid = td->td_proc ? td->td_proc->p_pid : 0; TAILQ_INIT(&newrule->nat.list); @@ -5672,9 +5676,14 @@ pfsync_state_export(union pfsync_state_union *sp, struct pf_kstate *st, int msg_ __func__, msg_version); } - if (st->src_node) + /* + * XXX Why do we bother pfsyncing source node information if source + * nodes are not synced? Showing users that there is source tracking + * when there is none seems useless. + */ + if (st->sns[PF_SN_LIMIT] != NULL) sp->pfs_1301.sync_flags |= PFSYNC_FLAG_SRCNODE; - if (st->nat_src_node) + if (st->sns[PF_SN_NAT] != NULL || st->sns[PF_SN_ROUTE]) sp->pfs_1301.sync_flags |= PFSYNC_FLAG_NATSRCNODE; sp->pfs_1301.id = st->id; @@ -5738,11 +5747,10 @@ pf_state_export(struct pf_state_export *sp, struct pf_kstate *st) /* 8 bits for the old libpfctl, 16 bits for the new libpfctl */ sp->state_flags_compat = st->state_flags; sp->state_flags = htons(st->state_flags); - if (st->src_node) + if (st->sns[PF_SN_LIMIT] != NULL) sp->sync_flags |= PFSYNC_FLAG_SRCNODE; - if (st->nat_src_node) + if (st->sns[PF_SN_NAT] != NULL || st->sns[PF_SN_ROUTE] != NULL) sp->sync_flags |= PFSYNC_FLAG_NATSRCNODE; - sp->id = st->id; sp->creatorid = st->creatorid; pf_state_peer_hton(&st->src, &sp->src); @@ -6007,10 +6015,13 @@ pf_kill_srcnodes(struct pfioc_src_node_kill *psnk) PF_HASHROW_LOCK(ih); LIST_FOREACH(s, &ih->states, entry) { - if (s->src_node && s->src_node->expire == 1) - s->src_node = NULL; - if (s->nat_src_node && s->nat_src_node->expire == 1) - s->nat_src_node = NULL; + for(pf_sn_types_t sn_type=0; sn_typesns[sn_type] && + s->sns[sn_type]->expire == 1) { + s->sns[sn_type] = NULL; + } + } } PF_HASHROW_UNLOCK(ih); } @@ -6834,7 +6845,8 @@ pf_unload_vnet(void) } counter_u64_free(V_pf_default_rule.states_cur); counter_u64_free(V_pf_default_rule.states_tot); - counter_u64_free(V_pf_default_rule.src_nodes); + for (pf_sn_types_t sn_type=0; sn_typeopts & PF_POOL_STICKYADDR && (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) - *sn = pf_find_src_node(&pd->nsaddr, r, pd->af, sh, false); + *sn = pf_find_src_node(&pd->nsaddr, r, + pd->af, sh, sn_type, false); if (*sn != NULL) PF_SRC_NODE_UNLOCK(*sn); return (0); @@ -276,7 +279,7 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, } if (pf_map_addr_sn(pd->naf, r, &pd->nsaddr, naddr, NULL, &init_addr, - sn, sh, rpool)) + sn, sh, rpool, sn_type)) goto failed; if (pd->proto == IPPROTO_ICMP) { @@ -400,7 +403,7 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, */ (*sn) = NULL; if (pf_map_addr_sn(pd->naf, r, &pd->nsaddr, naddr, NULL, - &init_addr, sn, sh, rpool)) + &init_addr, sn, sh, rpool, sn_type)) return (1); break; case PF_POOL_NONE: @@ -453,14 +456,14 @@ pf_get_mape_sport(struct pf_pdesc *pd, struct pf_krule *r, low = (i << ashift) | psmask; if (!pf_get_sport(pd, r, naddr, nport, low, low | highmask, sn, sh, &r->rdr, - udp_mapping)) + udp_mapping, PF_SN_NAT)) return (0); } for (i = cut - 1; i > 0; i--) { low = (i << ashift) | psmask; if (!pf_get_sport(pd, r, naddr, nport, low, low | highmask, sn, sh, &r->rdr, - udp_mapping)) + udp_mapping, PF_SN_NAT)) return (0); } return (1); @@ -642,7 +645,8 @@ done_pool_mtx: u_short pf_map_addr_sn(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, struct pf_addr *naddr, struct pfi_kkif **nkif, struct pf_addr *init_addr, - struct pf_ksrc_node **sn, struct pf_srchash **sh, struct pf_kpool *rpool) + struct pf_ksrc_node **sn, struct pf_srchash **sh, struct pf_kpool *rpool, + pf_sn_types_t sn_type) { u_short reason = 0; @@ -655,7 +659,7 @@ pf_map_addr_sn(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, */ if (rpool->opts & PF_POOL_STICKYADDR && (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) - *sn = pf_find_src_node(saddr, r, af, sh, false); + *sn = pf_find_src_node(saddr, r, af, sh, sn_type, false); if (*sn != NULL) { PF_SRC_NODE_LOCK_ASSERT(*sn); @@ -780,7 +784,7 @@ pf_get_translation(struct pf_pdesc *pd, int off, goto notrans; } } else if (pf_get_sport(pd, r, naddr, nportp, low, high, &sn, - &sh, &r->rdr, udp_mapping)) { + &sh, &r->rdr, udp_mapping, PF_SN_NAT)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: NAT proxy port allocation (%u-%u) failed\n", r->rdr.proxy_port[0], r->rdr.proxy_port[1])); @@ -868,7 +872,7 @@ pf_get_translation(struct pf_pdesc *pd, int off, uint16_t cut, low, high, nport; reason = pf_map_addr_sn(pd->af, r, &pd->nsaddr, naddr, NULL, - NULL, &sn, &sh, &r->rdr); + NULL, &sn, &sh, &r->rdr, PF_SN_NAT); if (reason != 0) goto notrans; if ((r->rdr.opts & PF_POOL_TYPEMASK) == PF_POOL_BITMASK) @@ -1007,7 +1011,8 @@ pf_get_transaddr_af(struct pf_krule *r, struct pf_pdesc *pd) /* get source address and port */ if (pf_get_sport(pd, r, &nsaddr, &nport, - r->nat.proxy_port[0], r->nat.proxy_port[1], &sns, &sh, &r->nat, NULL)) { + r->nat.proxy_port[0], r->nat.proxy_port[1], &sns, &sh, &r->nat, + NULL, PF_SN_NAT)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: af-to NAT proxy port allocation (%u-%u) failed", r->nat.proxy_port[0], r->nat.proxy_port[1])); @@ -1051,7 +1056,7 @@ pf_get_transaddr_af(struct pf_krule *r, struct pf_pdesc *pd) /* get the destination address and port */ if (! TAILQ_EMPTY(&r->rdr.list)) { if (pf_map_addr_sn(pd->naf, r, &nsaddr, &naddr, NULL, NULL, - &sns, NULL, &r->rdr)) + &sns, NULL, &r->rdr, PF_SN_NAT)) return (-1); if (r->rdr.proxy_port[0]) pd->ndport = htons(r->rdr.proxy_port[0]); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 4cdb16d1fbba..73c39e1f7471 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -186,9 +186,9 @@ dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s, nlattr_add_u8(nw, PF_ST_TIMEOUT, s->timeout); nlattr_add_u16(nw, PF_ST_STATE_FLAGS, s->state_flags); uint8_t sync_flags = 0; - if (s->src_node) + if (s->sns[PF_SN_LIMIT] != NULL) sync_flags |= PFSYNC_FLAG_SRCNODE; - if (s->nat_src_node) + if (s->sns[PF_SN_NAT] != NULL || s->sns[PF_SN_ROUTE]) sync_flags |= PFSYNC_FLAG_NATSRCNODE; nlattr_add_u8(nw, PF_ST_SYNC_FLAGS, sync_flags); nlattr_add_u64(nw, PF_ST_ID, s->id); @@ -210,6 +210,17 @@ dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s, nlattr_add_u8(nw, PF_ST_RT, s->act.rt); if (s->act.rt_kif != NULL) nlattr_add_string(nw, PF_ST_RT_IFNAME, s->act.rt_kif->pfik_name); + uint8_t src_node_flags = 0; + if (s->sns[PF_SN_LIMIT] != NULL) { + src_node_flags |= PFSTATE_SRC_NODE_LIMIT; + if (s->sns[PF_SN_LIMIT]->rule == &V_pf_default_rule) + src_node_flags |= PFSTATE_SRC_NODE_LIMIT_GLOBAL; + } + if (s->sns[PF_SN_NAT] != NULL) + src_node_flags |= PFSTATE_SRC_NODE_NAT; + if (s->sns[PF_SN_ROUTE] != NULL) + src_node_flags |= PFSTATE_SRC_NODE_ROUTE; + nlattr_add_u8(nw, PF_ST_SRC_NODE_FLAGS, src_node_flags); if (!dump_state_peer(nw, PF_ST_PEER_SRC, &s->src)) goto enomem; @@ -854,6 +865,7 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) struct genlmsghdr *ghdr_new; struct pf_kruleset *ruleset; struct pf_krule *rule; + u_int64_t src_nodes_total = 0; int rs_num; int error; @@ -985,7 +997,12 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) nlattr_add_u64(nw, PF_RT_TIMESTAMP, pf_get_timestamp(rule)); nlattr_add_u64(nw, PF_RT_STATES_CUR, counter_u64_fetch(rule->states_cur)); nlattr_add_u64(nw, PF_RT_STATES_TOTAL, counter_u64_fetch(rule->states_tot)); - nlattr_add_u64(nw, PF_RT_SRC_NODES, counter_u64_fetch(rule->src_nodes)); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type]); + nlattr_add_u64(nw, PF_RT_SRC_NODES, src_nodes_total); + nlattr_add_u64(nw, PF_RT_SRC_NODES_LIMIT, counter_u64_fetch(rule->src_nodes[PF_SN_LIMIT])); + nlattr_add_u64(nw, PF_RT_SRC_NODES_NAT, counter_u64_fetch(rule->src_nodes[PF_SN_NAT])); + nlattr_add_u64(nw, PF_RT_SRC_NODES_ROUTE, counter_u64_fetch(rule->src_nodes[PF_SN_ROUTE])); error = pf_kanchor_copyout(ruleset, rule, anchor_call, sizeof(anchor_call)); MPASS(error == 0); @@ -1785,6 +1802,8 @@ pf_handle_get_srcnodes(struct nlmsghdr *hdr, struct nl_pstate *npt) *** 252 LINES SKIPPED *** From nobody Thu Feb 13 15:12:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtzDz2MBCz5nbXF; Thu, 13 Feb 2025 15:12: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtzDz1QYQz3bDL; Thu, 13 Feb 2025 15:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739459539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h58GjN3njUDQB9muTNEc8ekToNRUINBZpf1I+dQayCw=; b=e8VxUTrj2Ez1mcGA63fKqQCbdWXZB8rh2jw7MwddCjOHpt3odZDKbyVgNMB28hAERCAWr6 hX2uHP+JoM6J49NTEsxQx4dn+lfETzlYEwfhL0PyktgeItfHpkHXCkwxcszwQkVx0i4Gjo YOYreBbeh6JAsVbrzQnKybOK+66t1d6iHIDRHrRT2PNb3V1Q/J7NutH6SoFKbqAN4OZEAR iUkoWw6lqZht6h39LK+imRzyMWKxv8lMDnjesFlqzj4/3Igs6nl2g7FC2NwSBBLCmo66MG Osqx9wyHs3qxjv0xl8g3GpFDyjkJs9v+lBUqzcqw/2K7L/6UR3RehltpkW09Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739459539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h58GjN3njUDQB9muTNEc8ekToNRUINBZpf1I+dQayCw=; b=UDIGCswd0ripWXGZj4X5XbtCza3gCY7a5q0GtU7qrzI0q5qzaoPlzRKbfIX+wgtyckFGFO AHcUxjsaAaGE4kleax33SauxsHQLIpoxq/gsvTrbU6KaV8PP+1JKqJHTIcaqLJ1P+8K/KF c7DkvukCBxlXMPxq4CPBnwgVq+AaIyZQ9b3UJEvZlYehUy0DH0jh77K8vL8CS7lOVhhBMt xnSxBwhTaX1KndzU3PpIEwBg00khTKnXBtyAP0jXOWvc+HYaDROtGm4Ly5ZU8OXM4tn2bd Ax1cU/qOCOZx3c9q69nvz3N0OuEDLoDhsbovzAe/LNESkBhiUT8hw5VQ9Shwbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739459539; a=rsa-sha256; cv=none; b=FLBjNx825DE3/I7TxEaFMoAbgGCst4uk2sBZE2pGOD2hNStqdN+lIiBoXTVGSBwC0uNlTi EOEDAFDyb7pPHh0+ENULuukNMsMIk+9EUpLhEFX4qJRf+NoyQQal1V29Gdah+m5CaQFt8p g/bIuh6LF3qlhu6/HeSjIwN5jmm15Z3lhSFem3n3yc+9awVQt1Hea33ECX7f0bdfW2XA8Y 3I8RtrIKJf+zZFpWoO6J9s7QfpbuGsk7QjgBLFWH0HTfBYMd60TXcwkxNe+QI/psklA517 hMlYCfa3Muhz4FuJzeZ30srEdrmhLEsenE3tNY4NgXmg3ZJe3llhNkWODXPZsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtzDz0ywBzqwf; Thu, 13 Feb 2025 15:12: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 51DFCJsf071065; Thu, 13 Feb 2025 15:12:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DFCJXw071062; Thu, 13 Feb 2025 15:12:19 GMT (envelope-from git) Date: Thu, 13 Feb 2025 15:12:19 GMT Message-Id: <202502131512.51DFCJXw071062@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 1aaec1978a29 - releng/13.5 - unifdef: Fix collision check when adding symbols. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 1aaec1978a29410ec50124454ad80317b44ab2d6 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1aaec1978a29410ec50124454ad80317b44ab2d6 commit 1aaec1978a29410ec50124454ad80317b44ab2d6 Author: Dag-Erling Smørgrav AuthorDate: 2025-01-30 21:10:29 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-02-13 15:12:02 +0000 unifdef: Fix collision check when adding symbols. findsym() is intended for use while parsing input, so it should not be called from addsym2() or indirectsym(), which are called before any input is processed. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D48733 Approved by: re (cperciva) (cherry picked from commit c63af363c2458aebc30c01cd0b93b4b902580019) (cherry picked from commit 931b0990297e2c6307b41bda95c5225cdf48403c) --- contrib/unifdef/unifdef.c | 11 +++++------ usr.bin/unifdef/tests/unifdef_test.sh | 10 ++++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/contrib/unifdef/unifdef.c b/contrib/unifdef/unifdef.c index 3dd4ace7b81e..ce8a1367adc2 100644 --- a/contrib/unifdef/unifdef.c +++ b/contrib/unifdef/unifdef.c @@ -1488,7 +1488,7 @@ findsym(const char **strp) static void indirectsym(void) { - const char *cp; + struct macro key = { 0 }; int changed; struct macro *sym, *ind; @@ -1497,10 +1497,9 @@ indirectsym(void) RB_FOREACH(sym, MACROMAP, ¯o_tree) { if (sym->value == NULL) continue; - cp = sym->value; - ind = findsym(&cp); + key.name = sym->value; + ind = RB_FIND(MACROMAP, ¯o_tree, &key); if (ind == NULL || ind == sym || - *cp != '\0' || ind->value == NULL || ind->value == sym->value) continue; @@ -1539,10 +1538,10 @@ addsym1(bool ignorethis, bool definethis, char *symval) static void addsym2(bool ignorethis, const char *symname, const char *val) { - const char *cp = symname; + struct macro key = { .name = symname }; struct macro *sym, *r; - sym = findsym(&cp); + sym = RB_FIND(MACROMAP, ¯o_tree, &key); if (sym == NULL) { sym = calloc(1, sizeof(*sym)); sym->ignore = ignorethis; diff --git a/usr.bin/unifdef/tests/unifdef_test.sh b/usr.bin/unifdef/tests/unifdef_test.sh index dfb08c187724..97a1b1aa6310 100644 --- a/usr.bin/unifdef/tests/unifdef_test.sh +++ b/usr.bin/unifdef/tests/unifdef_test.sh @@ -37,7 +37,17 @@ EOF atf_check -s exit:1 -o inline:"b\n" unifdef -DFOO -DFOO=0 To: Jose Luis Duran Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 88d448ec815c - main - mk: Move vm stack test debug symbols In-Reply-To: <202502041448.514EmPpS004525@gitrepo.freebsd.org> (Jose Luis Duran's message of "Tue, 4 Feb 2025 14:48:25 GMT") References: <202502041448.514EmPpS004525@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Thu, 13 Feb 2025 16:18:53 +0100 Message-ID: <86y0y9g9eq.fsf@ltc.des.dev> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Jose Luis Duran writes: > diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc > index e17ca9608cca..aff94af72c17 100644 > --- a/ObsoleteFiles.inc > +++ b/ObsoleteFiles.inc > @@ -51,6 +51,9 @@ > # xargs -n1 | sort | uniq -d; > # done >=20=20 > +# 20250204: sys/vm/stack test symbols moved to /usr/lib/debug > +OLD_DIRS+=3Dusr/tests/sys/vm/stack/.debug This directory is not empty, you need to delete the file it contains (libsoxstack.so.debug) as well. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Thu Feb 13 15:42:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytzvv0L3Vz5ndNs; Thu, 13 Feb 2025 15:42:35 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytzvt5FHNz3rgP; Thu, 13 Feb 2025 15:42:34 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-6f7d5f131d4so1048227b3.0; Thu, 13 Feb 2025 07:42:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739461353; x=1740066153; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=qz7lrZeIxdzI5milf0mp4Mj6J7Mw7ATSkXwD4wDHPUw=; b=cnHaTH+DPzdY5zN98VPJbJR7Fz/91h8s7mKtHZqE0DzFSkMurF7AQnXU8cBPsbH94w 93N6OzltbVXgXCXfc3gy/OddI7UKbFJQCKFf4IBha8wwsl2BnrZaNH8VeQOnKjAJMZjr 1fGYrzwMhd2CMOmwGdt/QSTubRWPf9McX235nrTJHiJJg08Us7fJU7UJNlaXI9HWGbBX wZQ2d6axS+35iWxnYC9y6H0w/RGIr6TlR5TSaaKoFvMFUrFc3Sc+bK1tuFl0jSMnP45x xzlfJHJmAQIS/H42nvTOyeAshRPAA829w+UilmOafllp87et0j9pLhvxJj4W4W+rNGAq kzEA== X-Forwarded-Encrypted: i=1; AJvYcCVeqlLof4lGAPKO5s22WMASG15cNRvQNgp8CczuyMWcaugW/SGQ2WjJvlliEEs5hgnkGPlibL3nz1OwkHAWZpJmvKc0Fwk=@freebsd.org, AJvYcCW/Gn0HDzO413zyWl49Bb8/FCE1Hp5xnMzoLpsFYiyDnbCUwcgzYf3GUyLGOF2if6EpetG9Ga/Zp4DVtYUNiva8WMHZ@freebsd.org X-Gm-Message-State: AOJu0Yz1BTF71wQqXcv61p7wjCK85m86PKQqrXG9JdHHFnQ4aUnGSLVJ eLhguP+3ccZC6K+JtkXp8CDgkG8B5vP0X/o9DT9fZ8eGHVEIz+VONUdlYQ== X-Gm-Gg: ASbGncs0IwPqmrxQW+gQnIPXX6OblOjMUlOm37YuMXFCaX9HTjx7gtNeXHnCjjfYV/e kc9vomXOq1FCrVAkEDTQTi3w5Cut4XFa/Q5+9RwKRWtbmsJyTmQvQTe0oiOn08R5JEDQq0tfD+z 7ocb+ES9tXGagMkiI2gKiMBFe+zEwPWVlLR7Vs/O7y2VyqXMQFV+0hm4/CTRUU90a88uJoiZg6e JssQlbiLf5Smt/82NdjfnLUogXxHHA53mthhReNLV5pxy83+pMtHsElBqoA/+QUxoWbXoCVTLNa bN6wPZPYEZci1OVuuyYuYmkVGbY8TS+Te0hUs5SSzNQU5Z67ZoHSSGWk X-Google-Smtp-Source: AGHT+IFHXWRPpBuiFMopM/XmtXRwDnWxklr9bscttvhg3KYeIqsUMjvCiga8s9n+qtLV/9W58BV72Q== X-Received: by 2002:a05:690c:6383:b0:6f9:7732:f3b5 with SMTP id 00721157ae682-6fb1f2ba126mr36330467b3.6.1739461353131; Thu, 13 Feb 2025 07:42:33 -0800 (PST) Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com. [209.85.219.175]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6fb361db9e8sm3422367b3.125.2025.02.13.07.42.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Feb 2025 07:42:32 -0800 (PST) Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-e5da511652bso141817276.3; Thu, 13 Feb 2025 07:42:32 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUFQIJ99V1T79zTbBqikVowFbo2DaWZtQeAt0xxAywA6iSsxycopuN48YUouCh4wQseo995bnp9B43s08z9YdqP0b9q@freebsd.org, AJvYcCXw+5BNV+5uURzrHj6DT6du9SJ2Z1KixlPfSK7y8i6Av6/3A9HFTPLhng0KMjU9yb66/iuoWlKSN1S0jSzp2HPyvZ0Mm7Y=@freebsd.org X-Received: by 2002:a05:690c:39a:b0:6f9:bec7:d1df with SMTP id 00721157ae682-6fb1f2cdb82mr37525097b3.7.1739461352586; Thu, 13 Feb 2025 07:42:32 -0800 (PST) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 References: <202502041448.514EmPpS004525@gitrepo.freebsd.org> <86y0y9g9eq.fsf@ltc.des.dev> In-Reply-To: <86y0y9g9eq.fsf@ltc.des.dev> Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Thu, 13 Feb 2025 12:42:21 -0300 X-Gmail-Original-Message-ID: X-Gm-Features: AWEUYZnymPHrByvjn9MfRmQzrSec_vZ5uHnnzumPtXuEU5ztcvQJQZEykKOEMCc Message-ID: Subject: Re: git: 88d448ec815c - main - mk: Move vm stack test debug symbols To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4Ytzvt5FHNz3rgP X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] On Thu, Feb 13, 2025 at 12:18=E2=80=AFPM Dag-Erling Sm=C3=B8rgrav wrote: > > Jose Luis Duran writes: > > diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc > > index e17ca9608cca..aff94af72c17 100644 > > --- a/ObsoleteFiles.inc > > +++ b/ObsoleteFiles.inc > > @@ -51,6 +51,9 @@ > > # xargs -n1 | sort | uniq -d; > > # done > > > > +# 20250204: sys/vm/stack test symbols moved to /usr/lib/debug > > +OLD_DIRS+=3Dusr/tests/sys/vm/stack/.debug > > This directory is not empty, you need to delete the file it contains > (libsoxstack.so.debug) as well. Thank you! https://reviews.freebsd.org/D48991 > > DES > -- > Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org --=20 Jose Luis Duran From nobody Thu Feb 13 16:00:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv0Jf2p8zz5mvpc; Thu, 13 Feb 2025 16:00: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv0Jd6fsYz41K0; Thu, 13 Feb 2025 16:00:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739462433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R3r+8vlfODGuR+ARnI8aH/4FzxX+6BNS1LOEbU3S5r0=; b=xbjTB/N+WrnqTeQ9fRwAWGlvPtHXEpGpigbH55zUpfrjocHFLaCKqjByiBvV6e/KTLXAHU AIflhv2WUdsb8boUX152zlKI0uKlFbwMwy6iF5rEy0Y3XK5VECWMoC2UYvTqj4V/Z8jbGa gvBaMFWFjQo/owCtWyVkoZBcyHetsQVkLtfkEPi7sEEAWphxe/nnTVRbzAW3qVskFvEtxu TZleH2HB5gLLuBql0xz8KP5t05n/pm5tGBvOducbqN1NmgdlIwkj2nJnQ2LYV6kXrbQ3V1 vLB04sKwXYCgiwU6L619vxDIQfZEwVvYmn5rYXQmEqin9T+mMbNHSybAyCKUKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739462433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R3r+8vlfODGuR+ARnI8aH/4FzxX+6BNS1LOEbU3S5r0=; b=pvgBPiI5RPRr6rJ9rDSkgSQ08zR+GI+J2yOia5IrJRk1/s8uSTOoBWj0c3AeDtkHMifoeI EQ3rGL3rIhZTSBquPv6o9LBaogZjrnapID03+jrlZdAc8byCzT+DKfANPKq3ya0w/q+h1P 4DV09IpWlQUqrFETRFk/LI/dBhvNC5Fu/9Lp20+CFdF2zL4kaCFTIFz/vsCsxjZZiyE5gw ztlzcMCAKkUH0Jp0QKyP88ClAdUN/53hA+02h0bAwDxV7lQ0PzGsSiHnams2ANrUyR8MFW PfCrQ7eil2EaRevznzlcErVw54YrRPYZkqmhdeyVO/YpjjlQTq9j518e+sU2Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739462433; a=rsa-sha256; cv=none; b=NICD+hGxQAv0Q6ZJhWa9ZcMK0m/KtteoK8cHpTxXZoq+CqZ6OIxEh0NqwuZXzAjqLGLQ4z p1xBPgO4CpY0AJUDix1CmKlqcXAoHYnTYmTY0wk5svQUCQ7EciS3Ls9hoSY3wMGN9cMiDo 4YVA6l3b7XgTzOeP6yAt0RzS+DdDhIbyEuIsbsoildzIvN3ZWIQGwFT6H2uClq17s6MNkT QGbLqIJ1jIsOsvc9uBj1EAuIkAbdMGOWFKnGNmqmEOBhRqSZioLj0GMkGpRhtxCHwAPaIm HC88miFJnrsRW273q2/v5SJpvcrw1/yVvZROPaAWeCpkmAFd6pcw+taK0pfjIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv0Jd4r4MzsCx; Thu, 13 Feb 2025 16:00: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 51DG0XKL058476; Thu, 13 Feb 2025 16:00:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DG0XbT058473; Thu, 13 Feb 2025 16:00:33 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:00:33 GMT Message-Id: <202502131600.51DG0XbT058473@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: e375421e243a - releng/13.5 - Remove obsolete clang18 files for aarch64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: e375421e243a53d0378827467261b065c6bbb2ea Auto-Submitted: auto-generated The branch releng/13.5 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=e375421e243a53d0378827467261b065c6bbb2ea commit e375421e243a53d0378827467261b065c6bbb2ea Author: Ronald Klop AuthorDate: 2025-02-10 18:41:26 +0000 Commit: Dimitry Andric CommitDate: 2025-02-13 15:59:36 +0000 Remove obsolete clang18 files for aarch64 This fixes a warning from "make delete-old" about a non-empty directory on aarch64. Reviewed by: dim Approved by: re (cperciva) Fixes: 0fca6ea1d4ee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48904 (cherry picked from commit 09b435d3dc2a591fba08be04d5659d03cce08285) (cherry picked from commit 9370c2c331255beac5e451c7841e68b2302ebf91) --- ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 0e7060eedd52..d57745d70a79 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -347,6 +347,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-riscv64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64le.a @@ -365,6 +366,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a From nobody Thu Feb 13 16:46:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KG5BW3z5my9F; Thu, 13 Feb 2025 16: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KG4Y2Cz3NDh; Thu, 13 Feb 2025 16: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=1739465170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPwfTWzrymvhcr7JEOpQLodgntNqH8qys5r6WZWzKTM=; b=h0CXz7WPsKSW2VCP98ZncO4llPTzO2zitD1x5LCLy56HIUxLjqfLjbkUsxm8OQ0lqolNSI iAsOFc8MrSCI17l2PZiSFvOS0kyDJOcqkkbsm0kU7POlKFzY5Ik8EYS/iwdg30jPGEs8Pt iIHB1Ba9v7Ygx7QP/7AfU8+gkWMNT0xxgEqTGwKpl0FYsfUVrkg9iq6X2RPdqYzIt1jexJ HvkjLxSlkEoT0nu76nv8/4rPJkMv0I2r3OIfnH1mD1RYV33mMnu2HckPYSZBv2QgSRKP0d trNxGKlwOnYo9OhQEu8AM8oyxvSqLgh5LzHU9moU2UOtFMQrpq3C05TGg3wDxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPwfTWzrymvhcr7JEOpQLodgntNqH8qys5r6WZWzKTM=; b=JfwVAm3d9BhytxWyWbrYBGFdnIZc/hcMNT0W3jsSheXXZ+sbgU/44uY/QXa1k7X7mlrc0w d75fuqEFLcLASmaNJUHZkAPaLi8KfbD1IOW7hkaLnDhAqNbB5StUgkQncGydRBUrEf60ro hkQCXsCXZRwPA+zqygkddSscmiWGNkotYhom1Gmu4H7JZKAapP2MdW/zS5QI8ZcUISIUEM VL/ERhkSxiB9Pak1CeyI3g4rt/eIcK+tA8b78MZ8bBw8hCw00sNEVSzxteoZrGbvIdis1a EA6gOBokrKJbAntglKrlkhdsrVP3SzrNg6PMjLL7rwSDui1+pAW0Gw3stlEZRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465170; a=rsa-sha256; cv=none; b=rmYrbsDQ3Vw8s9nadi/6zz0L+Su+z+ufESDEDHDCxA09FfX19d8R0eFKbWCkuj1fIumbog WvmxfY8gDaBFkmHojuSvpNQB1YchlAlHY88k46/sp6RhxvOL3HzPlAgDbew4BPUJ8f3ewI H8fJHoYQMlX8N2L5zzvVCTIFXgl/m0BLI7i1ok5/L3XRIcpQdlI62fWZZUB4VSSYn199AV ZKvkDNqmjVBQgeuAWMzTjQQcJrAkxRxWmyz+DcMjhgK21X1v3N+O2KTtS8PeCOUKTOROVJ U3O993EtFrEBaj1kz2byvDQOtU9xZhCZ/U49xQ6Wmj6vBNPEb8Ob18TC1LCX2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KG3gbWztCg; Thu, 13 Feb 2025 16: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 51DGkAAn041477; Thu, 13 Feb 2025 16: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 51DGkADQ041474; Thu, 13 Feb 2025 16:46:10 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:10 GMT Message-Id: <202502131646.51DGkADQ041474@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: ebc96321e706 - releng/13.5 - icmp: do not store per-VNET identical array of strings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: ebc96321e706ee61f7eafcb77a44695d6faeeb52 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ebc96321e706ee61f7eafcb77a44695d6faeeb52 commit ebc96321e706ee61f7eafcb77a44695d6faeeb52 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 13:56:10 +0000 icmp: do not store per-VNET identical array of strings We need per-VNET struct counter_rate, but we don't need per-VNET set of const char *. Also, identical word "response" can go into the format string instead of being stored 7 times. Reviewed by: kp, zlei, tuexen Differential Revision: https://reviews.freebsd.org/D44475 Approved by: re (cperciva) (cherry picked from commit 7142ab4790666022a2a3d85910e9cd8e241d9b87) (cherry picked from commit 0939f3a046533a2df1d2b10fd914c98755dacb0b) --- sys/netinet/ip_icmp.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index f0e63d6c8b1a..54411d55f49c 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1085,28 +1085,26 @@ ip_next_mtu(int mtu, int dir) * the 'final' error, but it doesn't make sense to solve the printing * delay with more complex code. */ -struct icmp_rate { - const char *descr; - struct counter_rate cr; -}; -VNET_DEFINE_STATIC(struct icmp_rate, icmp_rates[BANDLIM_MAX]) = { - { "icmp unreach response" }, - { "icmp ping response" }, - { "icmp tstamp response" }, - { "closed port RST response" }, - { "open port RST response" }, - { "icmp6 unreach response" }, - { "sctp ootb response" } -}; +VNET_DEFINE_STATIC(struct counter_rate, icmp_rates[BANDLIM_MAX]); #define V_icmp_rates VNET(icmp_rates) +static const char *icmp_rate_descrs[BANDLIM_MAX] = { + [BANDLIM_ICMP_UNREACH] = "icmp unreach", + [BANDLIM_ICMP_ECHO] = "icmp ping", + [BANDLIM_ICMP_TSTAMP] = "icmp tstamp", + [BANDLIM_RST_CLOSEDPORT] = "closed port RST", + [BANDLIM_RST_OPENPORT] = "open port RST", + [BANDLIM_ICMP6_UNREACH] = "icmp6 unreach", + [BANDLIM_SCTP_OOTB] = "sctp ootb", +}; + static void icmp_bandlimit_init(void) { for (int i = 0; i < BANDLIM_MAX; i++) { - V_icmp_rates[i].cr.cr_rate = counter_u64_alloc(M_WAITOK); - V_icmp_rates[i].cr.cr_ticks = ticks; + V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); + V_icmp_rates[i].cr_ticks = ticks; } } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, @@ -1117,7 +1115,7 @@ icmp_bandlimit_uninit(void) { for (int i = 0; i < BANDLIM_MAX; i++) - counter_u64_free(V_icmp_rates[i].cr.cr_rate); + counter_u64_free(V_icmp_rates[i].cr_rate); } VNET_SYSUNINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, icmp_bandlimit_uninit, NULL); @@ -1136,7 +1134,7 @@ badport_bandlim(int which) if ((V_icmplim + V_icmplim_curr_jitter) <= 0) V_icmplim_curr_jitter = -V_icmplim + 1; - pps = counter_ratecheck(&V_icmp_rates[which].cr, V_icmplim + + pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + V_icmplim_curr_jitter); if (pps > 0) { /* @@ -1154,8 +1152,9 @@ badport_bandlim(int which) if (pps == -1) return (-1); if (pps > 0 && V_icmplim_output) - log(LOG_NOTICE, "Limiting %s from %jd to %d packets/sec\n", - V_icmp_rates[which].descr, (intmax_t )pps, V_icmplim + + log(LOG_NOTICE, + "Limiting %s response from %jd to %d packets/sec\n", + icmp_rate_descrs[which], (intmax_t )pps, V_icmplim + V_icmplim_curr_jitter); return (0); } From nobody Thu Feb 13 16:46:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KH6Sp3z5mycq; Thu, 13 Feb 2025 16:46:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KH4Gt8z3NDm; Thu, 13 Feb 2025 16:46:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J92bZ3Oo6oEYpXns8SkZFgtYjs2VFdsGtvivGFWto/E=; b=Uj5xu17NMO7WryWTb1EE7B6M7qkn+o6oaAqh+VmfUICG62a4Si5fO49ppXa69OWwBcT5Vp oJaJje5W/m5vLXtMPmvmuiPzy5tQhbHZwkSSzZSpSp/XLzsdohycaV4xB+icaW+B4k2iSr DM/4eFngG5/kdVpwMEnV70e0uBaS2niyCRMvCaalWJ0Sn/wPEn8qVhwfKU0ygmqweN2r4K N2NTIkXd5/ah7g3CGrsV5LmXWCt0YKyukkbZ7eJVhWu12b0cjrVzuufBn5MMHFNfH2jDuY hZr579gXY6xSBYFu2CJnlC36Bpm4rED+neCUeioUeicatMHFg/DT0OIa02mkMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J92bZ3Oo6oEYpXns8SkZFgtYjs2VFdsGtvivGFWto/E=; b=USkfUCEzQR5L4VG3b7XW//48Y59u6hq6E/vkf5DgseSYxyNNnSEFtEHgUSSCsrv8DdfHst rIEZKsCxuEM3Qgi9mlOQCGHetBRrmcyfVOsp+PN+tUhyMhRdQKuj133Y3tRHv8Q0nxvwVW Iu+HcoKsn7vBUCN9srjBw2eUDn7lGnP01+GoU/aP2iWl5WPMOAUIEscIPhN1mREw+k9j16 sJgaJfXd13QrN1BcS3sgDJJ/h2+f7fORSGfrVyQJO8KFu7IyYXC1LrsB3QkvtqG3E0oiIE yO3ofYCUI+/BTwXETw+95g3hpHztldF4EDUOnu+BeXwjSR/G8dHPIooSHl6Ysg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465171; a=rsa-sha256; cv=none; b=wsTZnemDWzIRrygjxqmZtHAnUAijksgZ1AjxER6nVozx8YzjnIeiGKzQ+iwX/k2hRvKlB1 HuEjVt2g/8ZYidGD75gu4LcCAX/L78q6n2360TUh6idck8L0/41F5dB1sHq0e38XUXnNAT DJPaxgjDipmpqhRGdog/CdRRqbVSfF2dfuKjCrzwWQCdG4jKLWplQuWEDu02iNw+/mj1bx oqxfDTqSXGwR/DnSLVsftwlPLV9uStyjQS+gX+a/nfv2kF7di0QEwPFTwXzb+XFbGUM1ll TP0uaQ4EIY2cjlz6SFmS7R4bQVGl1RH7tjDaQjZKh9LoI+cXmP91fhTAo+jp0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KH3mylzt9r; Thu, 13 Feb 2025 16:46: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 51DGkBRK041515; Thu, 13 Feb 2025 16: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 51DGkBW2041512; Thu, 13 Feb 2025 16:46:11 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:11 GMT Message-Id: <202502131646.51DGkBW2041512@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: a0146592cda2 - releng/13.5 - icmp: hide icmp_bandlimit_uninit() under VIMAGE List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: a0146592cda258708c6fb7f0a2086c310c304598 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a0146592cda258708c6fb7f0a2086c310c304598 commit a0146592cda258708c6fb7f0a2086c310c304598 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 13:57:18 +0000 icmp: hide icmp_bandlimit_uninit() under VIMAGE The uninitialization may be executed only on a kernel with VIMAGE. Reviewed by: kp, tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44476 Approved by: re (cperciva) (cherry picked from commit 9d7f17d7467ed8c9740730a8db7a82e4768e5177) (cherry picked from commit a6d5c6a04fe9408cdfd1f56f8dc3142661214eb8) --- sys/netinet/ip_icmp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 54411d55f49c..5c8c17cba049 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1110,6 +1110,7 @@ icmp_bandlimit_init(void) VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); +#ifdef VIMAGE static void icmp_bandlimit_uninit(void) { @@ -1119,6 +1120,7 @@ icmp_bandlimit_uninit(void) } VNET_SYSUNINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, icmp_bandlimit_uninit, NULL); +#endif int badport_bandlim(int which) From nobody Thu Feb 13 16:46:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KJ6JLvz5my9L; Thu, 13 Feb 2025 16: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KJ51pWz3Mx6; Thu, 13 Feb 2025 16: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=1739465172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T3dhU8hx4pNb6E4g6k2PhBOAKNTKLL9KbIa34UE9XgM=; b=dWfCSktE1kRBw/sJhEK3H30wVtxmexaHlYrzo/CEFpyTfS2uLhK//htehWL1cAgXEI7oFE SWHjvMbTT7ULXE6ta+fyOTLlYDfbPP6nylPLoQwzGN29OE3GmWjLHA4u/qzZJ4N5npwKYb LXNJV7rcJP4eKCKR4ORMNSl7chKs/Hn7xOcu0x4r5/wpw83jIvu9MKqcQbsqo9Fu/6Ti/I gqDO4vaCCmrpzphhQoVNveaAmPzp+KBxixnCJwIGkprV8Zc9AYOeTyvgSAygpU2gaJzwG6 KJa4hE/hVwfYUPX7naKttoNKOyQHSoWumMR6RSXZFsB/Hrx1KvU2hn0zA3O0XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T3dhU8hx4pNb6E4g6k2PhBOAKNTKLL9KbIa34UE9XgM=; b=Eo0KzqUErU3X4p+VQWs5UK/RjHZwVELRlXRWXPzmFQv/tG/rSdRxqdj1DWmH7mZjcqpWE+ s+6pYTVwPwv+9NxX0eHmgGaKjn8o8YRlbv6QiP7LsND9HKa9asEWiIVEC8l3/z320h26Tp cm/FkSbGfK2kNyYoDwp39cc4rY9Sn6A+InocOBzjo1zWlxPT2KhId0/luZHFT0oUn9Ny7h nF08bojq6v5Omiel/4m+Mh8+v7UdJ7+db6J9RY3btGPk/8TwpWHhJ10CXIN/3PQZjnIx+q Cz+lwb5f48VEY12orf+a0cvEhlPgyj4NxBiMOfFJjAtOyj4kgOihN81Q7ykXHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465172; a=rsa-sha256; cv=none; b=Ly+TT//0gXyTpRpV7v2Di6CSh84vGfo/vcfqDg2eCG+AHLaF4McYdbaQ4lBWp9NKy90HB6 oOEKAmIigxbYw4OCtf4Ih5vKsVs/2gfYiDNT1AtyS+jKk+xBDB+JfcRxqM0afxvYYHWMyK g9ekHTz5p2ZmPqA1GVyFunbSzuTTxoslLQuwdQr3Y97qTbBgfRL23dR5x2iWvMhZLqpzDp +BLBfUfc4hcPBPWGLch4noxCMV32hTKtFniPoj9k2lmRODryJ7LkvqRXdMO9fRqFljruIW RRjFjziK6jDFz7mFK3J3PZiYG4XGqyXFIItNdu4ifekHieBrn/OdIscKM8dKHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KJ4bXvzt9s; Thu, 13 Feb 2025 16: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 51DGkCuY041547; Thu, 13 Feb 2025 16:46:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGkC9R041544; Thu, 13 Feb 2025 16:46:12 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:12 GMT Message-Id: <202502131646.51DGkC9R041544@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: b6dc6601559b - releng/13.5 - icmp: when logging ICMP ratelimiting message use correct jitter value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: b6dc6601559b44348507df9dd8cce7e438bec4c9 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=b6dc6601559b44348507df9dd8cce7e438bec4c9 commit b6dc6601559b44348507df9dd8cce7e438bec4c9 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 13:59:09 +0000 icmp: when logging ICMP ratelimiting message use correct jitter value The limiting of the very last second has been done using certain jitter value. We update the jitter for the next second. But the logging should report the jitter before the change. Reviewed by: kp, tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44477 Approved by: re (cperciva) (cherry picked from commit b508545ce044dbfdd83da772e73f969a3713d59d) (cherry picked from commit a71eee300ba7d94a1621c7b31eaaa79243db84ec) --- sys/netinet/ip_icmp.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 5c8c17cba049..199b76aa9ad6 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1139,6 +1139,11 @@ badport_bandlim(int which) pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + V_icmplim_curr_jitter); if (pps > 0) { + if (V_icmplim_output) + log(LOG_NOTICE, + "Limiting %s response from %jd to %d packets/sec\n", + icmp_rate_descrs[which], (intmax_t )pps, + V_icmplim + V_icmplim_curr_jitter); /* * Adjust limit +/- to jitter the measurement to deny a * side-channel port scan as in CVE-2020-25705 @@ -1153,10 +1158,5 @@ badport_bandlim(int which) } if (pps == -1) return (-1); - if (pps > 0 && V_icmplim_output) - log(LOG_NOTICE, - "Limiting %s response from %jd to %d packets/sec\n", - icmp_rate_descrs[which], (intmax_t )pps, V_icmplim + - V_icmplim_curr_jitter); return (0); } From nobody Thu Feb 13 16:46:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KL10VZz5myXL; Thu, 13 Feb 2025 16:46: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KK5wxyz3N8p; Thu, 13 Feb 2025 16:46:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=waQWO4d1DASHj+yesRgLyXi5c7ekakTEGYxux4aN2PQ=; b=p8MaAoV4YOZnBQLc2hxLZchHkUk8EFmk48oDU5cZAyWbUZXPEu4Ayth+V2/nU7HQ7+EB9j v2WJn61lFwcN1Fla8u0kspv+6D6h/UDWMXLvwKX+510EK17pBlpTIblbWBBJqB2mIkpOIS l1U/YqQDtwBn7fWLbmJcdEwXsfSjB1pEDYrJjbbSVqkjHZ/tyPoQCZK72ifilEV54V0KuK CwGFmJHBqZ1ITzk8TAHje7B7B/cc3YmRiqu+MqI315TOrPDdrb8rg1icZUhtsKmxnJrjMR zGCYVLVlo4u2hhzbcForv+OK6eoqBSTSIz3vJntof2fPIdaUXtPgo6GOqoe5Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=waQWO4d1DASHj+yesRgLyXi5c7ekakTEGYxux4aN2PQ=; b=p/5Fvr32k+UGxCk0owxY5bD5ps9bDOHDR85pPDPMIC1Pp4GptLtLiDHHjJQ2UC90zFK4Q4 y5slt93HvHabL2tN/RiS9AYwZye+tqn21Hz7j50tXY7bq6xn7FCZ+6H0tZvSxwAe+viXvS ND+gcGsZfHDqgeTh8EYcAXzgdIQossRh9hCjIryqPuquwzzEqVTMCQuB1AbNAiMGfrQy7b StvSiEJOMKK+6YVTJGZj/piJB1+Zu0yhsNRQGQ9Al+n+mEcbdesDWPrv8E43G5uuOBIiGd MPTwsYe6qh7++7i9sqfyiAGXB6CM+0kF/BMevn+eVgHzSPtyGAwd3FHgKEOCOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465173; a=rsa-sha256; cv=none; b=jAfb3EkrELhiCAT/6CVW/eKTHHsw5FWDNug0TQXKcRke6tq267UU2RLpHq9d91XviSJJls hFHzBzZYeSJiT8Mzj1FBh6pz4pma3KxDGYof+rndWBsIKuFBXfFZGl7tpkkut+r775wEXZ ViBaABc/eTlSzEYeYDhTnQHIRWtyld7OyaB5nrd/VBpiWuML51twP7MXrGOAwIFTFlolKL t7bnJma30rl1teCAlNymgMn1ufS7rV/OKBM0p8jkyxqZ1VQomGvn/uuXi8q5hn1o/dX3bJ s6/IKhxdbo/zVJRO5Pcrr9rTxY3Yyfu2OrZCA+pGsKoM8R3sBCQEk670Sl/n8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KK5XKrzsyY; Thu, 13 Feb 2025 16:46: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 51DGkDt1041579; Thu, 13 Feb 2025 16:46:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGkDoM041576; Thu, 13 Feb 2025 16:46:13 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:13 GMT Message-Id: <202502131646.51DGkDoM041576@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: 1ed60133f6d6 - releng/13.5 - icmp: improve ICMP limit jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 1ed60133f6d6d38b69f09a2524410df5b80e3775 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1ed60133f6d6d38b69f09a2524410df5b80e3775 commit 1ed60133f6d6d38b69f09a2524410df5b80e3775 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 13:59:46 +0000 icmp: improve ICMP limit jitter Instead of fixing up invalid values set by a user in badport_bandlim() which is a fast path function, provide a sysctl handler sysctl_icmplim_and_jitter(), that will check that jitter is less than the limit. Provide jitter initilization function icmplim_new_jitter() used at boot, in the sysctl handler and when we actually hit the limit. This also fixes no jitter on a fresh booted system until first limit hit. Instead of CVE number provide link the the actual paper that explains what and why we are doing here. The CVE number isn't very informative, it will just tell you what RedHat version you need to upgrade to. Reviewed by: kp, tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44478 Approved by: re (cperciva) (cherry picked from commit ac44739fd834f51cacb26485a4140fd482e20150) (cherry picked from commit 18058544c65b83fffca9556d6d082e823585ef3d) --- sys/netinet/ip_icmp.c | 81 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 59 insertions(+), 22 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 199b76aa9ad6..0d671033b67c 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -81,19 +81,22 @@ * routines to turnaround packets back to the originator, and * host table maintenance routines. */ -VNET_DEFINE_STATIC(int, icmplim) = 200; +static int sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS); +VNET_DEFINE_STATIC(u_int, icmplim) = 200; #define V_icmplim VNET(icmplim) -SYSCTL_INT(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLFLAG_VNET | CTLFLAG_RW, - &VNET_NAME(icmplim), 0, - "Maximum number of ICMP responses per second"); +SYSCTL_PROC(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmplim), 0, + &sysctl_icmplim_and_jitter, "IU", + "Maximum number of ICMP responses per second"); VNET_DEFINE_STATIC(int, icmplim_curr_jitter) = 0; #define V_icmplim_curr_jitter VNET(icmplim_curr_jitter) -VNET_DEFINE_STATIC(int, icmplim_jitter) = 16; +VNET_DEFINE_STATIC(u_int, icmplim_jitter) = 16; #define V_icmplim_jitter VNET(icmplim_jitter) -SYSCTL_INT(_net_inet_icmp, OID_AUTO, icmplim_jitter, CTLFLAG_VNET | CTLFLAG_RW, - &VNET_NAME(icmplim_jitter), 0, - "Random icmplim jitter adjustment limit"); +SYSCTL_PROC(_net_inet_icmp, OID_AUTO, icmplim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmplim_jitter), 0, + &sysctl_icmplim_and_jitter, "IU", + "Random icmplim jitter adjustment limit"); VNET_DEFINE_STATIC(int, icmplim_output) = 1; #define V_icmplim_output VNET(icmplim_output) @@ -1098,6 +1101,52 @@ static const char *icmp_rate_descrs[BANDLIM_MAX] = { [BANDLIM_SCTP_OOTB] = "sctp ootb", }; +static void +icmplim_new_jitter(void) +{ + /* + * Adjust limit +/- to jitter the measurement to deny a side-channel + * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 + */ + if (V_icmplim_jitter > 0) + V_icmplim_curr_jitter = + arc4random_uniform(V_icmplim_jitter * 2 + 1) - + V_icmplim_jitter; +} + +static int +sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) +{ + uint32_t new; + int error; + bool lim; + + MPASS(oidp->oid_arg1 == &VNET_NAME(icmplim) || + oidp->oid_arg1 == &VNET_NAME(icmplim_jitter)); + + lim = (oidp->oid_arg1 == &VNET_NAME(icmplim)); + new = lim ? V_icmplim : V_icmplim_jitter; + error = sysctl_handle_int(oidp, &new, 0, req); + if (error == 0 && req->newptr) { + if (lim) { + if (new <= V_icmplim_jitter) + error = EINVAL; + else + V_icmplim = new; + } else { + if (new >= V_icmplim) + error = EINVAL; + else { + V_icmplim_jitter = new; + icmplim_new_jitter(); + } + } + } + MPASS(V_icmplim + V_icmplim_curr_jitter > 0); + + return (error); +} + static void icmp_bandlimit_init(void) { @@ -1106,6 +1155,7 @@ icmp_bandlimit_init(void) V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp_rates[i].cr_ticks = ticks; } + icmplim_new_jitter(); } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); @@ -1133,9 +1183,6 @@ badport_bandlim(int which) KASSERT(which >= 0 && which < BANDLIM_MAX, ("%s: which %d", __func__, which)); - if ((V_icmplim + V_icmplim_curr_jitter) <= 0) - V_icmplim_curr_jitter = -V_icmplim + 1; - pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + V_icmplim_curr_jitter); if (pps > 0) { @@ -1144,17 +1191,7 @@ badport_bandlim(int which) "Limiting %s response from %jd to %d packets/sec\n", icmp_rate_descrs[which], (intmax_t )pps, V_icmplim + V_icmplim_curr_jitter); - /* - * Adjust limit +/- to jitter the measurement to deny a - * side-channel port scan as in CVE-2020-25705 - */ - if (V_icmplim_jitter > 0) { - int32_t inc = - arc4random_uniform(V_icmplim_jitter * 2 +1) - - V_icmplim_jitter; - - V_icmplim_curr_jitter = inc; - } + icmplim_new_jitter(); } if (pps == -1) return (-1); From nobody Thu Feb 13 16:46:14 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KM2KcNz5myct; Thu, 13 Feb 2025 16: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KL73P7z3Mlh; Thu, 13 Feb 2025 16:46:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TjNM0nDZxQfShUs96qL+U4Tji9Ma4Sd4C4LfjupBBo=; b=rpW3aW7NzDWtsn0kUlGOgbeeZ7v+fHYhdQs/1gzvBLGmBJ3zohdYqeGBkJWqUsZqPH/CPC Ylohh1rwbhoxbr5k3jEjfE9FFLDA0g0NU81woe9hgwje5cO0XqXkmH+WNEEkNwRt/JZUgO tG9CL8NicHxGNxnAUTO8Mg5x/6VkeYMIgOmF7dOkMPLdSeMg6mEjc1MpsQlhE9A5IFIhoz K6h74LXV8XXaqdcCwjEGpn1yzzC5zJqhwG35CoHChfpF/GB/Mkyj5Lqpc62KLnvtVvB4Rr cPTteMmdQIKZGnlX9YsO8BsOZkcl4GnKyQf7+vWPwp2ZDIGnadKosic8cd0FZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TjNM0nDZxQfShUs96qL+U4Tji9Ma4Sd4C4LfjupBBo=; b=cXRyHMqYKJxbjEw0wgJSbTmUzieB5wivaynaeBJeZr87b3wkNxG7L7yYu+tFY7XKz8c653 JY1rh6ne5HYZuDjTrVUI2xcnJ7u1R/TuhPaq3+LO4e6ZDfWTLjambDQI8K3ga0vMZhdCp3 QhneI4jBFING+7in6p6mSKR3OWd93x9Df/kd+i5/lizK9JUR56pOZOtk8Ufd/j2AbdOleG JZIZKCArPjkbwGxx+vvnIdmh56P40hCNJW2A/DOMwxHdZhEiIgQ5LIsq5H3q/CVtpd3EyI cneuRwXHXXb52CcMCv86NrB1P3GWGAY7GA/egYCIuAKXFuZRM/oR6PdjY/usxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465175; a=rsa-sha256; cv=none; b=etNTQrt2H+K/2n6EJVCy3jPEUkVhfNShpIKgEbB0FkkhhbW+zrXkVXJBUbYCgEppAqlTXq Z71XSyeFr/jEZkjlzSUIfMdQzqhbc3HQPVUkQcD9tUjnUjTays387fVzPaRosSBEPBA6l8 pME0kZWOdbmKAR67JlZeg8y8TyAyXMN+xVMCYaGLU8Tzta8ZzWtdcfxbKpFkBHn5toyehx YHcOWMYGpt66hwHZr5HqvPqk+642gQRGZ+TXibxoqLHc2PDAUL1wBzyjYdo2d2/F9/7SNE JmS54eOw0KT6NZ2OdMeOMfmEkUarKUT4GedbEKKsDcndBibF9dcoxvsJtoXyiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KL6W0NztTn; Thu, 13 Feb 2025 16: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 51DGkE4a041612; Thu, 13 Feb 2025 16: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 51DGkELN041609; Thu, 13 Feb 2025 16:46:14 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:14 GMT Message-Id: <202502131646.51DGkELN041609@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: 9880ce076584 - releng/13.5 - icmp6: make icmp6_ratelimit() responsible to update the stats counter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 9880ce076584d4ca3a14fb87222cbb387be0d108 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=9880ce076584d4ca3a14fb87222cbb387be0d108 commit 9880ce076584d4ca3a14fb87222cbb387be0d108 Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 14:00:23 +0000 icmp6: make icmp6_ratelimit() responsible to update the stats counter Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D44479 Approved by: re (cperciva) (cherry picked from commit c6c96aaba8dd74eb39469ed156ff19cc31d599b7) (cherry picked from commit dc167e64dce3ffc212e4f7a2268587abcc22c036) --- sys/netinet6/icmp6.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index d49c3856be1a..258f4bed794e 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -346,10 +346,8 @@ icmp6_error(struct mbuf *m, int type, int code, int param) } /* Finally, do rate limitation check. */ - if (icmp6_ratelimit(&oip6->ip6_src, type, code)) { - ICMP6STAT_INC(icp6s_toofreq); + if (icmp6_ratelimit(&oip6->ip6_src, type, code)) goto freeit; - } /* * OK, ICMP6 can be generated. @@ -2799,6 +2797,7 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, V_icmp6errppslim)) { /* The packet is subject to rate limit */ ret++; + ICMP6STAT_INC(icp6s_toofreq); } return ret; From nobody Thu Feb 13 16:46:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KP0Rkyz5mycv; Thu, 13 Feb 2025 16:46: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KN2Pxqz3NFH; Thu, 13 Feb 2025 16: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=1739465176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yhzlA0k1mDzCD9jiAp0+QXNAuc8F+CWIeN37fRXSvwA=; b=sas8fABGhb8VSC9AcZjUWM5T2J9IenWBkoMBf520MYXUgeVJKv6OzfCgVOjOW3vYqjAh5K K8dq4+jW/kLw0TM/+fCWg2asHofN0W12MJUwP7dxcw6qBgVxUWmacjle2pFW8v/SA0dyl7 agJVdvEELkJoislZUCG15ba0jH2HWoAnfmTO4y9rjY/Y68w7GKgTwxq8UIPU0zH+BdLmG7 sB/lRiruD9IFneoDoPUgGRVeyB2znFtV4YtxXdbCFXRQyRGUIkFp7Fq5zkKZVgXxa69E+3 KVEDneeP0sS2ba7F/gJqS20M5BfLunG2Ssymq4X8XMOxtXBuAknSCjcKqO296Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yhzlA0k1mDzCD9jiAp0+QXNAuc8F+CWIeN37fRXSvwA=; b=nkgcwXEA0f5TR+VNNkZnvqaFDx3yF5s/814lgHbvVkqpFWHjgxOcsIRFeKGHxY2TDNeKCl c6qX3hqsDc1DOKLkSoWFdSov6toHEoanxVVFjd/h5nbOzvY51QBaCQWlwBWM/kCQBWOjqh ZKOeviwb+4BLtO96FB/jnQLVQiccWFcSgTxnvqj22St7dLRRkQZNConxN9Plo0m20WuqUH x+H9qJ3NQr/Wl48cyjvi0vu0NuExl48vqg2IYJRkdPpetLmcqvjOMsQUuZOomqT/qpOmqx LXhacWqFJUvquwYx22CbRuOiHd1uHwqv0xfFy2j/qV7PwgSytD67gtsZao+Lkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465176; a=rsa-sha256; cv=none; b=nKASL+7y6OcFJvJ6uOFBOvv6nuE6P60APxZHaOp4eC1rrsZCCKZ/TZaEvmyjxIwArasfD7 5JxkD93K2xih27nszPdRRwWmHXOVKkBx4dZFIDrn0WdxFhareA3bXrXhHXi1p/dKONkigV Kl31e1dMkTFUwwYPtnpXkW025zWwDHfqtzlBEvwCAqszh5GObH7vd2bqM3XaUIhUsH4aG/ Oh4RfRbLTgACLOLQ0MO5HhcTVl+vzLh8JTN3t26WE25i/a931ZOozcjvs7/MoeaWFUFFmu v80B43wjD9dRD4XAWEOqJtAfXaK/9bZSb50t1PeAv9MqXAL/2z6wMhWR8w/n1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KN0N8xztFN; Thu, 13 Feb 2025 16: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 51DGkFwk041644; Thu, 13 Feb 2025 16: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 51DGkFlV041641; Thu, 13 Feb 2025 16:46:15 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:15 GMT Message-Id: <202502131646.51DGkFlV041641@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: a7ad6437193a - releng/13.5 - icmp6: rate limit our echo replies List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: a7ad6437193a563c60a52af3845649671f59a16b Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a7ad6437193a563c60a52af3845649671f59a16b commit a7ad6437193a563c60a52af3845649671f59a16b Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 14:00:57 +0000 icmp6: rate limit our echo replies The generation of ICMP6_ECHO_REPLY bypasses icmp6_error(), thus rate limit was not applied. Reviewed by: tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44480 Approved by: re (cperciva) (cherry picked from commit 32aeee8ce7e72738fff236ccd5629d55035458f8) (cherry picked from commit 90ecc3fc679d1df50772327d80e0d28f59e584af) --- sys/netinet6/icmp6.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 258f4bed794e..09cb893b57fe 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -536,6 +536,8 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) icmp6_ifstat_inc(ifp, ifs6_in_echo); if (code != 0) goto badcode; + if (icmp6_ratelimit(&ip6->ip6_src, ICMP6_ECHO_REPLY, 0)) + break; if ((n = m_copym(m, 0, M_COPYALL, M_NOWAIT)) == NULL) { /* Give up remote */ break; From nobody Thu Feb 13 16:46:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KQ6mJjz5myVM; Thu, 13 Feb 2025 16:46: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KQ2rnQz3N39; Thu, 13 Feb 2025 16:46:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U/pqebPmElG6UolQNnEaq1M4XZz5+VRDJ2VTZvHdNKk=; b=IiaEeT1f5tmUPl5+iTQ8JeYfADpFee9GofvwisBrIhK99+NAyHP8oebaSVF8GWfa8zIdRh WhYe10n9c3YFvEXj2TeMWLwMdOHc1M8KfiEBs8sxuzFzyICQEs9gRhA+UYFDj8BvYFs2XU ziIUZgBvS1ggthzV89N+NhwuYBxwHEFe25XCrJujJ+yTjE9mEpn1LWFofthVFRXZZumepZ xwqeuEQYemuehd/0NSLRmBXzxjS49cXcoUzPyAsZ9+i9xlSorld9ZqoGSHDxHG0vXJ7ucV WQ9ExfDJzn0M0sQSzEgEhw1jd+HN1kQkfoD6ix0KOh4cZJcrac2CPqjWaGWKSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U/pqebPmElG6UolQNnEaq1M4XZz5+VRDJ2VTZvHdNKk=; b=oNZQq8aTbCEybuIj1sBtnAIor81gkpaTbJP8CV6XmlpeCOhno/uUjcpVrSoX1TKd85LgYN 6/aG8U3nKK9e9zyJvLgodURMJ38odZfNlGVvo8lZiMPKh50BqjnhJRvD+R2XQI//VEuO5e QdEoz89n8C6AGLdnNr6MT4jR1OPJATBSv8N42pRC8U13epubf01chHHugTEZnqpX1puaor 5w2sQDRUo6klFOjKh4ePqmQGSbyW6Z1Uo/lkm9a7jK8bYIDfUGq7qHCqf2jvOvq6gxbG8F PW8NmJhHPftzSv0TTh+koEgxvGf/CjXBeQjIn8D+xExOsawyJlNMcJLOIydHNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465178; a=rsa-sha256; cv=none; b=VAwIBnWg4GsCNdSWgEfuUeYQnxyDwV6aB0l0AEOTp3gGdqiCvYNO0V+zghFN+hV+Oun1Tx AJrxWoyDvVpa8o/Dg5xpOhGwooJvpTv3GDzn4ffTNh9modg+i/nIXZQuAdM1kF63pptMxB rsv9oX8Ttp8SEC/dKTcoWmkiGtHhdc0f2H/HOX3vU13F15iS37J+i5iP9i5JrGViKlLOOP VxCn7m8zQMBF/0Cod+JR1M3OWSJh9RJQ5swPmmdIqMJy3yXog7OAAz7ynLEecST7ehsggB otL5bdFSztCgnEqwtBfB4vEAfqJj0ENtpUoVVuH4V+nmcU+HGhiXKhc3Ll3LVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KQ2NTQztFP; Thu, 13 Feb 2025 16:46: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 51DGkIAx041708; Thu, 13 Feb 2025 16:46:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGkIPk041705; Thu, 13 Feb 2025 16:46:18 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:18 GMT Message-Id: <202502131646.51DGkIPk041705@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: 881ba70c1a3c - releng/13.5 - icmp: allow zero value for ICMP limits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 881ba70c1a3c0c13fcc95291a22530b096803397 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=881ba70c1a3c0c13fcc95291a22530b096803397 commit 881ba70c1a3c0c13fcc95291a22530b096803397 Author: Gleb Smirnoff AuthorDate: 2024-03-25 02:52:03 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 14:02:12 +0000 icmp: allow zero value for ICMP limits Zero means limit is disabled, so the value doesn't need to be checked against jitter value. Fixes: ac44739fd834f51cacb26485a4140fd482e20150 Fixes: a03aff88a14448c3084a0384082ec996d7213897 Approved by: re (cperciva) (cherry picked from commit 4399e055ea610cdefa1470ad1ee614dd81ba5e56) (cherry picked from commit 0b29ef1e3fd57940704dd40a834f98649adbe46e) --- sys/netinet/ip_icmp.c | 2 +- sys/netinet6/icmp6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 0d671033b67c..8ad6191f3097 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1129,7 +1129,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) error = sysctl_handle_int(oidp, &new, 0, req); if (error == 0 && req->newptr) { if (lim) { - if (new <= V_icmplim_jitter) + if (new != 0 && new <= V_icmplim_jitter) error = EINVAL; else V_icmplim = new; diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index e1b0196fc62b..646c73e8abf0 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2843,7 +2843,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) error = sysctl_handle_int(oidp, &new, 0, req); if (error == 0 && req->newptr) { if (lim) { - if (new <= V_icmp6lim_jitter) + if (new != 0 && new <= V_icmp6lim_jitter) error = EINVAL; else V_icmp6errppslim = new; From nobody Thu Feb 13 16:46:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KQ0v8hz5mycw; Thu, 13 Feb 2025 16:46: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KP20r7z3NFs; Thu, 13 Feb 2025 16:46:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n34Q1Q79RDO9OJq4c2HIRHmUMji9Du9ALjoYZweDyYA=; b=D6m4WzlGdhng822JwdDe7NYQG+wYU6Q7GUAkqdn5GAQYsnPUbgxvTJLEGmiwbKvtRqjgQT yj5vHIdhmUaodqo2K5sVucfY6Yk3Gd0fgu9gLhqWkYKiIlbalnQVSStjfPjhwWtLuNXCNI 5r1wXE8yJtrDz6OLiq481qHK3jLoOvm+n2AOF5EvuU6wmn5ztvqqxROIVCpoAMirhW8GyJ vrdihPWPUjJmoZ69sXhzO5wp4JbYevvKNmEPc2EK5a0gRFzh347PpkT3ASStIMJX47WaMN KZpgNPXbnww+jI3yK7Wg5KiZo7DRFUj5vs6v+d43Dbd02DGU9KVReO6ewMRcYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n34Q1Q79RDO9OJq4c2HIRHmUMji9Du9ALjoYZweDyYA=; b=C2Je/lDsbsUjArgvkGsMpEQdkB5yeSQGsNRZlXl8d85FdO0AXdhn4tG7cUPHDUugSTfHzL kQ5F8KlUYisnigZScMpSCtQBa7ZVBf9ITl/yGAzs6ABCq8AvJOPtGOGGoYrZ5yIyaW8qO9 1hZ1JB4/lzuvchIp9L67xyewLrkN57I/fLyvjj3GZOmo4/o1qcREnnwmQqJYVOyZ11Vy91 3NgABzOxqoGvJSJSF0EIEwo2UpzIDQbm0ME+7h+O9RF00FguvDLkp26jNvuZmuNSdcT35D gKBEGNs21HI5SK5Vh7z3RcBu3UVis0ewo8Q37Gv0R/jEMobAtrZwqXEg/CUOBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465177; a=rsa-sha256; cv=none; b=kKE2ChIUn9qIf82j1ZpAvF/eHV8Kv+OpK1N3xLu+z42hw3vd/9klSQVNvkpOAiuwhf+n5x daQUZNBFBQgeoTThjcVskpJ0QMdaYgbVxTu7teZr9DBmFbAPjB1Aaib89okBeTcokp9pr6 a+Bxy1Vjw2JWQTZd+ODBSFjdJRmhz0aUDey2Pox9rsBR8P10UPDQiEKYvyzL0dA4iajYuS BXR2bDazem9GU2sdm055lCz9VV6RxtAwXamtmko6LnMmlIccCW4UAOJrgnty6vG/xKZIJw FflLFTqjw+VVzSzhu92ia0Tbg97195S0wwagW3sZMjoCdO+qp9vZ1AcPVaYeUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KP1SfyztCh; Thu, 13 Feb 2025 16:46: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 51DGkH5t041676; Thu, 13 Feb 2025 16:46:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGkHjT041673; Thu, 13 Feb 2025 16:46:17 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:17 GMT Message-Id: <202502131646.51DGkHjT041673@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: ebda0be762bf - releng/13.5 - icmp6: bring rate limiting on a par with IPv4 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: ebda0be762bfeba92717ed642bb4f51e02b5793a Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=ebda0be762bfeba92717ed642bb4f51e02b5793a commit ebda0be762bfeba92717ed642bb4f51e02b5793a Author: Gleb Smirnoff AuthorDate: 2024-03-24 16:13:23 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 14:01:36 +0000 icmp6: bring rate limiting on a par with IPv4 Use counter_ratecheck() instead of racy and slow ppsratecheck. Use a separate counter for every currently known type of ICMPv6. Provide logging of ratelimit events. Provide jitter to counter open UDP port detection. With minor tweaks from tuexen@ to fix merge problems. Reviewed by: tuexen, zlei Differential Revision: https://reviews.freebsd.org/D44482 Approved by: re (cperciva) (cherry picked from commit a03aff88a14448c3084a0384082ec996d7213897) (cherry picked from commit 1cc0ac5ef37e134c26d93d4544633b458e46aa78) --- sys/netinet6/icmp6.c | 181 ++++++++++++++++++++++++++++++++++++++++++----- sys/netinet6/in6_proto.c | 4 -- 2 files changed, 164 insertions(+), 21 deletions(-) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 09cb893b57fe..e1b0196fc62b 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -123,16 +123,10 @@ VNET_PCPUSTAT_SYSUNINIT(icmp6stat); VNET_DECLARE(struct inpcbinfo, ripcbinfo); VNET_DECLARE(struct inpcbhead, ripcb); -VNET_DECLARE(int, icmp6errppslim); -VNET_DEFINE_STATIC(int, icmp6errpps_count) = 0; -VNET_DEFINE_STATIC(struct timeval, icmp6errppslim_last); VNET_DECLARE(int, icmp6_nodeinfo); #define V_ripcbinfo VNET(ripcbinfo) #define V_ripcb VNET(ripcb) -#define V_icmp6errppslim VNET(icmp6errppslim) -#define V_icmp6errpps_count VNET(icmp6errpps_count) -#define V_icmp6errppslim_last VNET(icmp6errppslim_last) #define V_icmp6_nodeinfo VNET(icmp6_nodeinfo) static void icmp6_errcount(int, int); @@ -2774,6 +2768,128 @@ icmp6_ctloutput(struct socket *so, struct sockopt *sopt) return (error); } +SYSCTL_DECL(_net_inet6_icmp6); + +static int sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS); +VNET_DEFINE_STATIC(u_int, icmp6errppslim) = 100; +#define V_icmp6errppslim VNET(icmp6errppslim) +SYSCTL_PROC(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, + CTLTYPE_UINT | CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Maximum number of ICMPv6 error/reply messages per second"); + +VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter) = 0; +#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) + +VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; +#define V_icmp6lim_jitter VNET(icmp6lim_jitter) +SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Random errppslimit jitter adjustment limit"); + +VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; +#define V_icmp6lim_output VNET(icmp6lim_output) +SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, + "Enable logging of ICMPv6 response rate limiting"); + +typedef enum { + RATELIM_PARAM_PROB = 0, + RATELIM_TOO_BIG, + RATELIM_UNREACH, + RATELIM_TEXCEED, + RATELIM_REDIR, + RATELIM_REPLY, + RATELIM_OTHER, + RATELIM_MAX +} ratelim_which; + +static const char *icmp6_rate_descrs[RATELIM_MAX] = { + [RATELIM_PARAM_PROB] = "bad IPv6 header", + [RATELIM_TOO_BIG] = "packet too big", + [RATELIM_UNREACH] = "destination unreachable", + [RATELIM_TEXCEED] = "time exceeded", + [RATELIM_REPLY] = "echo reply", + [RATELIM_REDIR] = "neighbor discovery redirect", + [RATELIM_OTHER] = "(other)", +}; + +static void +icmp6lim_new_jitter(void) +{ + /* + * Adjust limit +/- to jitter the measurement to deny a side-channel + * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 + */ + if (V_icmp6lim_jitter > 0) + V_icmp6lim_curr_jitter = + arc4random_uniform(V_icmp6lim_jitter * 2 + 1) - + V_icmp6lim_jitter; +} + +static int +sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) +{ + uint32_t new; + int error; + bool lim; + + MPASS(oidp->oid_arg1 == &VNET_NAME(icmp6errppslim) || + oidp->oid_arg1 == &VNET_NAME(icmp6lim_jitter)); + + lim = (oidp->oid_arg1 == &VNET_NAME(icmp6errppslim)); + new = lim ? V_icmp6errppslim : V_icmp6lim_jitter; + error = sysctl_handle_int(oidp, &new, 0, req); + if (error == 0 && req->newptr) { + if (lim) { + if (new <= V_icmp6lim_jitter) + error = EINVAL; + else + V_icmp6errppslim = new; + } else { + if (new >= V_icmp6errppslim) + error = EINVAL; + else { + V_icmp6lim_jitter = new; + icmp6lim_new_jitter(); + } + } + } + MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter > 0); + + return (error); +} + + +VNET_DEFINE_STATIC(struct counter_rate, icmp6_rates[RATELIM_MAX]); +#define V_icmp6_rates VNET(icmp6_rates) + +static void +icmp6_ratelimit_init(void) +{ + + for (int i = 0; i < RATELIM_MAX; i++) { + V_icmp6_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); + V_icmp6_rates[i].cr_ticks = ticks; + } + icmp6lim_new_jitter(); +} +VNET_SYSINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, + icmp6_ratelimit_init, NULL); + +#ifdef VIMAGE +static void +icmp6_ratelimit_uninit(void) +{ + + for (int i = 0; i < RATELIM_MAX; i++) + counter_u64_free(V_icmp6_rates[i].cr_rate); +} +VNET_SYSUNINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, + icmp6_ratelimit_uninit, NULL); +#endif + /* * Perform rate limit check. * Returns 0 if it is okay to send the icmp6 packet. @@ -2783,24 +2899,55 @@ icmp6_ctloutput(struct socket *so, struct sockopt *sopt) * XXX per-destination/type check necessary? * * dst - not used at this moment - * type - not used at this moment * code - not used at this moment */ static int -icmp6_ratelimit(const struct in6_addr *dst, const int type, - const int code) +icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) { - int ret; + ratelim_which which; + int64_t pps; - ret = 0; /* okay to send */ + if (V_icmp6errppslim == 0) + return (0); - /* PPS limit */ - if (!ppsratecheck(&V_icmp6errppslim_last, &V_icmp6errpps_count, - V_icmp6errppslim)) { - /* The packet is subject to rate limit */ - ret++; + switch (type) { + case ICMP6_PARAM_PROB: + which = RATELIM_PARAM_PROB; + break; + case ICMP6_PACKET_TOO_BIG: + which = RATELIM_TOO_BIG; + break; + case ICMP6_DST_UNREACH: + which = RATELIM_UNREACH; + break; + case ICMP6_TIME_EXCEEDED: + which = RATELIM_TEXCEED; + break; + case ND_REDIRECT: + which = RATELIM_REDIR; + break; + case ICMP6_ECHO_REPLY: + which = RATELIM_REPLY; + break; + default: + which = RATELIM_OTHER; + break; + }; + + pps = counter_ratecheck(&V_icmp6_rates[which], V_icmp6errppslim + + V_icmp6lim_curr_jitter); + if (pps > 0) { + if (V_icmp6lim_output) + log(LOG_NOTICE, "Limiting ICMPv6 %s output from %jd " + "to %d packets/sec\n", icmp6_rate_descrs[which], + (intmax_t )pps, V_icmp6errppslim + + V_icmp6lim_curr_jitter); + icmp6lim_new_jitter(); + } + if (pps == -1) { ICMP6STAT_INC(icp6s_toofreq); + return (-1); } - return ret; + return (0); } diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c index cfa368e7f7b0..0416d938995f 100644 --- a/sys/netinet6/in6_proto.c +++ b/sys/netinet6/in6_proto.c @@ -409,7 +409,6 @@ VNET_DEFINE(int, pmtu_probe) = 60*2; /* ICMPV6 parameters */ VNET_DEFINE(int, icmp6_rediraccept) = 1;/* accept and process redirects */ VNET_DEFINE(int, icmp6_redirtimeout) = 10 * 60; /* 10 minutes */ -VNET_DEFINE(int, icmp6errppslim) = 100; /* 100pps */ /* control how to respond to NI queries */ VNET_DEFINE(int, icmp6_nodeinfo) = 0; VNET_DEFINE(int, icmp6_nodeinfo_oldmcprefix) = 1; @@ -592,9 +591,6 @@ SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO_OLDMCPREFIX, &VNET_NAME(icmp6_nodeinfo_oldmcprefix), 0, "Join old IPv6 NI group address in draft-ietf-ipngwg-icmp-name-lookup " "for compatibility with KAME implementation"); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0, - "Maximum number of ICMPv6 error messages per second"); SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, nd6_maxnudhint, CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_maxnudhint), 0, ""); /* XXX unused */ From nobody Thu Feb 13 16:46:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KS5qXpz5myVN; Thu, 13 Feb 2025 16:46: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KR5h2Sz3NVq; Thu, 13 Feb 2025 16:46:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CGXjiGNcblNuSj5JtLaZdYw0AeOHLCzU+b07YqCfmJA=; b=TeL5GOwJmCKiu/AGKNscpvNoqAhmC3VfeLJJP/ImHJEWHZkWz0bWu3BQNWf+UfWAxikQ1g Gi5kOc1JMqbPPcHbFz3JPBjDU0kTZXTqETPiVJCalXzAaqQm/NQmiSeCXpQP+6B+BtGjJQ 0afdjfW1SzUcWDbpj5Do+Hj89utm6t67uGeiAniYOSoA9CrphZX/ZgWpoq2HG+i1+TJVik r/pKucNqN9vuNIPM0lm8yP1PpxoBIxlmctQrI/TUsjYohgHjQl9D9/icvqVCOfUX22glSJ bCRsrD+0hLkAgzmYpV2SGeNYda80+e4HUpA9OlqwP/KOZPlOBgmtcB2Glba73w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CGXjiGNcblNuSj5JtLaZdYw0AeOHLCzU+b07YqCfmJA=; b=ai6YPdM1REtBHH20rUrJ4zYxU7MyG9Krh5lial7p7GeH3/yDsO4LgooufZKXhmnZqHLIpk nHyh4IGTQ+/dkWTTtq4qrQPbMGVg4vOQrXU9F2+yeCG+rbh1p8deoXUHlkkKsaXtVdIQkh vKBVlbqA3xCX/gxkYR9lBDr5lu4X8QPAvkv9C/jrhpxVbB2NN92bgS4dwWlEGy5b7sxYhZ w2ckIAyfmgpVRg6v03zS6uHF8byR3RJ9ZzMf/vNFEgqOqU2cffqO8qsvMfSoPMvy0kOoZ1 iHLPEEu+4aDJ3lukyDk2y+sOX7WPFg19jaa4l3JTMivrPDOfEmjUAq+J3eWGkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465179; a=rsa-sha256; cv=none; b=ZYQKKDdQd9kEdWA4xJdcr0J9syJ1cKSlcChLbgOG7QUMaFI3FW076mUArpk2h1U5wT+fpe oma0dkF3YyHsBCGN17H3JkDY2UUpPsjOJvQLhKdDpiQ4khqZgcSQ6/wNEhsnAuAat7sy4x yTNQvawSDjup4fRECLX9T8SGYJ69o/zH4rs+gnP+TevQByjWHGrnFQgVYTPXRmfz3ozMMZ JO3gzwUi8ILAbAOzMrdOiMwX2theroP+WH2hA/6TB+Ym+QoES7MdSxBLTxgU1sJmB659v1 M9rikHa8kzRf6JIQuUDlW3QhPzF5wzwOWgZO9jqR/36bKMZaTJfhBspQh8jjcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KR37pCztJ5; Thu, 13 Feb 2025 16:46: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 51DGkJWn041740; Thu, 13 Feb 2025 16:46:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGkJ62041737; Thu, 13 Feb 2025 16:46:19 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:19 GMT Message-Id: <202502131646.51DGkJ62041737@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: a3b66c4bf0e2 - releng/13.5 - icmp: correct the assertion that checks limit + jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: a3b66c4bf0e2eec0f86cd4d291158575aef05dfc Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a3b66c4bf0e2eec0f86cd4d291158575aef05dfc commit a3b66c4bf0e2eec0f86cd4d291158575aef05dfc Author: Gleb Smirnoff AuthorDate: 2024-04-08 23:54:19 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 14:03:13 +0000 icmp: correct the assertion that checks limit + jitter Fixes: 4399e055ea610cdefa1470ad1ee614dd81ba5e56 Approved by: re (cperciva) (cherry picked from commit f7c4d12bcd5bd7f7fbf6bf9fa601c47e7f97bc5f) (cherry picked from commit 1b4561cf4b46ffbbd8851aa40bd0402a6bba8906) --- sys/netinet/ip_icmp.c | 2 +- sys/netinet6/icmp6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 8ad6191f3097..67adc1245b60 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1142,7 +1142,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmplim + V_icmplim_curr_jitter > 0); + MPASS(V_icmplim + V_icmplim_curr_jitter >= 0); return (error); } diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 646c73e8abf0..a26348640cbc 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2856,7 +2856,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter > 0); + MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter >= 0); return (error); } From nobody Thu Feb 13 16:46:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KV5Mpwz5mygK; Thu, 13 Feb 2025 16:46: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KT64Hzz3NPx; Thu, 13 Feb 2025 16:46:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=taGkLT0tGkGiXvT7jt6JInV8OfpWMCpjQrYiKrRuNx0=; b=udDwtSGQDV8X7J+Ey/lRbOyydXuppJYYcNIJAyTSoKzSbgFgwvvToH83l4IGi7/yQoxHbr O68O4cwb0u9jBwoNXn0nnyoYA7ZcoepRBWfzxEIBrMQJhMUnI0kOER4szmV8wsl1QJSYvE Ob21vR9Xyc0NZtMZUIa6u+2cpIcdGlPhmK72U/glKxjDuULoTxzgg08cyBCymqOyGbxLY5 4+VfeG3UlrocI9BMMqxNLQRnhJpp69sjlLbidL/OaBIX5VnWsowgEgMyD86x1Zife+yq0p 9InRgmCO4GamvB6hF5TkYwnR3zxi4S43utP4qMDPhKsw2ZnsnXCfXGWKbHF21w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=taGkLT0tGkGiXvT7jt6JInV8OfpWMCpjQrYiKrRuNx0=; b=G7NYTn2RJTzcJO1PXw2g39ry66r9WHQiNAZl2dbhnmR5GP9bWbVdPCSUP2utOxSxtWBt30 rQCJL4ZRg/TWGbN9YC5Y34ORFDG6OuZkxOAOWKxuscgBdirtC3kNFiMiv3MCHbQ9VfNSyp cragc8LMc27UEbsIIhEI8+PLTAv5fJK2Nn/+Pp5l2/+gQ6JGwqNAxhyy7fW5Z5ac4hznXk RYoDs/kCFWuoyN4P/5yr7uU4ENg1bOxHim1NzRb1L03qQdFdBmasQrJhG0zTKcxjotV4IC i31P1FDVOqI60SUe8Sv83GrT4rmcG7cuaKkNagq/k8jj7hAkHBKJTyHlDLNU2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465181; a=rsa-sha256; cv=none; b=oy1ujrdhawKOuJC8ofSytdl9lRs9i+j2n0VH1ro1Z1Vn7Smlgd/UVkyFg9enEZeV7FbGGM 9TriOxc4EsiSLOHxiFksPy+8Yku5pQJaXUWlx0r+H2kWTK9rQvr5XnaHetf0SJ+oSMnhf+ LrB+/bHjrTYmLe6nio9Lms2R7ga194Xh9NFjJ51JbIZ8x3Gpmg7KrVp+yWw1pLpzSVc2UK Zng1OZVHGDhux5NKsPSQc1Ixqq2lCjbzRxZLhOB7NsfbGhN5RR97dUGQhbn/sw8nBnICHc wIY+Q7QSbdnpGnAhZ/fVZUZLuQ3JFKzDv8R6283KMbYYrIfmvJ0xHQBtBFYKnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KT5XdvztJ6; Thu, 13 Feb 2025 16:46: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 51DGkL3B041806; Thu, 13 Feb 2025 16:46:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGkLvl041803; Thu, 13 Feb 2025 16:46:21 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:21 GMT Message-Id: <202502131646.51DGkLvl041803@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: cd91df3292bf - releng/13.5 - icmp: use per rate limit randomized jitter List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: cd91df3292bf9f7a46ff9b8a49c87468844d90e3 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=cd91df3292bf9f7a46ff9b8a49c87468844d90e3 commit cd91df3292bf9f7a46ff9b8a49c87468844d90e3 Author: Michael Tuexen AuthorDate: 2025-02-10 21:16:20 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 14:04:39 +0000 icmp: use per rate limit randomized jitter Using the same random jitter for multiple rate limits allows an attacker to use one rate limiter to figure out the current jitter and then use this knowledge to de-randomize the other rate limiters. This can be mitigated by using a separate randomized jitter for each rate limiter. This issue was reported as issue number 10 in Keyu Man et al.: SCAD: Towards a Universal and Automated Network Side-Channel Vulnerability Detection Reviewed by: rrs, Peter Lei, glebius Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D48804 Approved by: re (cperciva) (cherry picked from commit 923c223f27e792e51ca13c476428adbbf6887551) (cherry picked from commit e1dd07ede92382bdcc52b3093e8f2ec5d9c88467) --- sys/netinet/ip_icmp.c | 20 ++++++++++++-------- sys/netinet6/icmp6.c | 50 +++++++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index f4b697f30eee..417a86672d6f 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -89,7 +89,7 @@ SYSCTL_PROC(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLTYPE_UINT | &sysctl_icmplim_and_jitter, "IU", "Maximum number of ICMP responses per second"); -VNET_DEFINE_STATIC(int, icmplim_curr_jitter) = 0; +VNET_DEFINE_STATIC(int, icmplim_curr_jitter[BANDLIM_MAX]) = {0}; #define V_icmplim_curr_jitter VNET(icmplim_curr_jitter) VNET_DEFINE_STATIC(u_int, icmplim_jitter) = 16; #define V_icmplim_jitter VNET(icmplim_jitter) @@ -1102,14 +1102,16 @@ static const char *icmp_rate_descrs[BANDLIM_MAX] = { }; static void -icmplim_new_jitter(void) +icmplim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < BANDLIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmplim_jitter > 0) - V_icmplim_curr_jitter = + V_icmplim_curr_jitter[which] = arc4random_uniform(V_icmplim_jitter * 2 + 1) - V_icmplim_jitter; } @@ -1138,7 +1140,9 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmplim_jitter = new; - icmplim_new_jitter(); + for (int i = 0; i < BANDLIM_MAX; i++) { + icmplim_new_jitter(i); + } } } } @@ -1154,8 +1158,8 @@ icmp_bandlimit_init(void) for (int i = 0; i < BANDLIM_MAX; i++) { V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp_rates[i].cr_ticks = ticks; + icmplim_new_jitter(i); } - icmplim_new_jitter(); } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); @@ -1184,14 +1188,14 @@ badport_bandlim(int which) ("%s: which %d", __func__, which)); pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + - V_icmplim_curr_jitter); + V_icmplim_curr_jitter[which]); if (pps > 0) { if (V_icmplim_output) log(LOG_NOTICE, "Limiting %s response from %jd to %d packets/sec\n", icmp_rate_descrs[which], (intmax_t )pps, - V_icmplim + V_icmplim_curr_jitter); - icmplim_new_jitter(); + V_icmplim + V_icmplim_curr_jitter[which]); + icmplim_new_jitter(which); } if (pps == -1) return (-1); diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 52430f9146ae..dd0044734c4b 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2778,22 +2778,6 @@ SYSCTL_PROC(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, &sysctl_icmp6lim_and_jitter, "IU", "Maximum number of ICMPv6 error/reply messages per second"); -VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter) = 0; -#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) - -VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; -#define V_icmp6lim_jitter VNET(icmp6lim_jitter) -SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, - &sysctl_icmp6lim_and_jitter, "IU", - "Random errppslimit jitter adjustment limit"); - -VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; -#define V_icmp6lim_output VNET(icmp6lim_output) -SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, - "Enable logging of ICMPv6 response rate limiting"); - typedef enum { RATELIM_PARAM_PROB = 0, RATELIM_TOO_BIG, @@ -2815,15 +2799,33 @@ static const char *icmp6_rate_descrs[RATELIM_MAX] = { [RATELIM_OTHER] = "(other)", }; +VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter[RATELIM_MAX]) = {0}; +#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) + +VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; +#define V_icmp6lim_jitter VNET(icmp6lim_jitter) +SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Random errppslimit jitter adjustment limit"); + +VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; +#define V_icmp6lim_output VNET(icmp6lim_output) +SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, + "Enable logging of ICMPv6 response rate limiting"); + static void -icmp6lim_new_jitter(void) +icmp6lim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < RATELIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmp6lim_jitter > 0) - V_icmp6lim_curr_jitter = + V_icmp6lim_curr_jitter[which] = arc4random_uniform(V_icmp6lim_jitter * 2 + 1) - V_icmp6lim_jitter; } @@ -2852,7 +2854,9 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmp6lim_jitter = new; - icmp6lim_new_jitter(); + for (int i = 0; i < RATELIM_MAX; i++) { + icmp6lim_new_jitter(i); + } } } } @@ -2872,8 +2876,8 @@ icmp6_ratelimit_init(void) for (int i = 0; i < RATELIM_MAX; i++) { V_icmp6_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp6_rates[i].cr_ticks = ticks; + icmp6lim_new_jitter(i); } - icmp6lim_new_jitter(); } VNET_SYSINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp6_ratelimit_init, NULL); @@ -2935,14 +2939,14 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) }; pps = counter_ratecheck(&V_icmp6_rates[which], V_icmp6errppslim + - V_icmp6lim_curr_jitter); + V_icmp6lim_curr_jitter[which]); if (pps > 0) { if (V_icmp6lim_output) log(LOG_NOTICE, "Limiting ICMPv6 %s output from %jd " "to %d packets/sec\n", icmp6_rate_descrs[which], (intmax_t )pps, V_icmp6errppslim + - V_icmp6lim_curr_jitter); - icmp6lim_new_jitter(); + V_icmp6lim_curr_jitter[which]); + icmp6lim_new_jitter(which); } if (pps == -1) { ICMP6STAT_INC(icp6s_toofreq); From nobody Thu Feb 13 16:46:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1KT62Thz5myVT; Thu, 13 Feb 2025 16:46:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1KS4b89z3NGb; Thu, 13 Feb 2025 16:46:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lLEsuaG/2Ogjh90PjYPmaOm2qPYLlgxcNeZU9iQfIgg=; b=fOtVPaEwxuT1yeTysmQG4x9TgTSKkeN+degTnZq3Mr9ipZU63D12cizdmfc1EtCbJwjoI8 FMn3zdZVTgnIcaQkqvh38jFm+kukF6bXY+TCbhGw51UGTY8FQaYTq40pZmvXtqRx/h/kqO BoJjcugzOxPFWtXjWnYjo0Cv0dAtFfrxvFH5sZ07O+qQ48vhCAR0flPz7Dj1ou7Sfr70DN mbCOrp9Oq+r2QpzMd11imnIyGTzg3KZiDSYDs0cyUGilcgZyUQvZMQjxNyoP7lE6z7pY31 Uiva91YKAT2SgSUOp7kM9r0ZawiiBs+Ot2/gxBO9xHy2GQzqfPwIwgGIH5qU5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lLEsuaG/2Ogjh90PjYPmaOm2qPYLlgxcNeZU9iQfIgg=; b=q4iwGbBLrJt6E1DcCqxhx124u1nnDpuLzEbN/6L1St3v2DmujcPSncX6mLmhJTiPZA8RVD hcVHVHsAt2C+g5sByLn5rl0B/LXxTs3IhkvJ9LpyjHvhopgur8IoE7WlMKsgbzn0omLJHd zone8zv9+Q6KdczuNpF9sdrNB7cympGlpYkxfU5O5VWpvmoC7oEoZuRLJw00mtFaXNmk41 lRT+pRHUg9FFIYmxuW0iBve8Nstfvoc5TR45YTCvvH6saMsbRsS17eAbAmHKnNZx56Y4/m eYp9FlIATDiCm5yuNgi3DM+Fx8RMEMy8BILS1plZR1AFEtKFlgLFbRG5yw2ovg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465180; a=rsa-sha256; cv=none; b=c4eSSVvF6Ry6nCQXSx5ljQkDz3MEt06dyAQ4jJpdNdPE26DShtSg7g26wo7Q0amZTuZXvn sBxybHzsFM0pJkmVV8jEGA6x/m8HzbAe+mwLshfwYyw3u/pOgkaHpbztqkyPwF2+enkmz6 1S/Whh8ACM5vtz8WpH/5cS1KmY9S5wDlAZxjDJo4oULEMq/DCwaUrHJZKyywek5aoJeKTt vC9+nYfwTgSCvg4VgU4H2ptS2edFLDhax1Q7XJI7xflQf8kcKVTxuBirdNiD4ld4ZDMOQo AxDsqfXvM1MFgPDIaHepm2++iwyXHowGVU0JgNCoZ9Wc7313mMZgEhasqOFZGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1KS46HvztTp; Thu, 13 Feb 2025 16:46: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 51DGkK0a041773; Thu, 13 Feb 2025 16:46:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGkK4x041770; Thu, 13 Feb 2025 16:46:20 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:46:20 GMT Message-Id: <202502131646.51DGkK4x041770@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: 5f2744d520e9 - releng/13.5 - icmp: improve INVARIANTS check List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 5f2744d520e914a38770681ef75bee501dd7b49a Auto-Submitted: auto-generated The branch releng/13.5 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5f2744d520e914a38770681ef75bee501dd7b49a commit 5f2744d520e914a38770681ef75bee501dd7b49a Author: Michael Tuexen AuthorDate: 2024-12-12 14:40:49 +0000 Commit: Michael Tuexen CommitDate: 2025-02-13 14:03:55 +0000 icmp: improve INVARIANTS check Actually check the conditions that are enforced by the error checking code instead of a condition which is * checking a number to be non-negative instead of positive * depending on a random number Perform the checks consistently for ICMPv4 and ICMPv6. Reviewed by: glebius, rrs, cc Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D48001 Approved by: re (cperciva) (cherry picked from commit c9febea3dc8ac8e308e8fc5a2e74dd0313fdc5d2) (cherry picked from commit bd6a89a6c32a0f5b08182ea06e625a6695f3fbb0) --- sys/netinet/ip_icmp.c | 2 +- sys/netinet6/icmp6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 67adc1245b60..f4b697f30eee 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1142,7 +1142,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmplim + V_icmplim_curr_jitter >= 0); + MPASS(V_icmplim == 0 || V_icmplim > V_icmplim_jitter); return (error); } diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index a26348640cbc..52430f9146ae 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2856,7 +2856,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter >= 0); + MPASS(V_icmp6errppslim == 0 || V_icmp6errppslim > V_icmp6lim_jitter); return (error); } From nobody Thu Feb 13 16:53:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1TV3CLPz5mysm; Thu, 13 Feb 2025 16:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1TT4jvxz3TGc; Thu, 13 Feb 2025 16:53:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cWQ2TQU9Evc356muN4yMIndJ4vkXIbxa1QGYgHImb0U=; b=qhqzkSjKvRNItbsJznIhBXcmJJkUDMPFtoWHFELJwrGTlOTIG3YN9iJrO9UrfxCTbwLuAi 9fMV5zdcm+iazeu/DJUcrv2XTVvy9KOu/aueMaI3T1DqOGaTB/hNqsRdzaoBZioWW6qDkF lFePwsgekg0Bxatwb1Wh5IBkuR0ttnFjL5njDsJEpEv9ZhT1UTaqn+Wbr3K9C44zJZVMuC 1DeFfoERkGeLBSWfsnNqJdWhOXX1qQhQednK2IeM6wl08mUCv/2mkq9UvChhFVZ0AF3dNk i7Z0rqi2ayaECPSGdJ7YfOapdiqvmgaePpohskoLoY67qnwPfMTXso8SYzar6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cWQ2TQU9Evc356muN4yMIndJ4vkXIbxa1QGYgHImb0U=; b=CrZlLyZDKpXY3gSCvnjT7sF9A6IaZTiae6rB0S1t+Gg7S613k91wo4vl1hpUpY09/KzHko K42mPZvPz2uhnrnuUmKD3ioppSLLughOK5zIqUp3kOOO3SbZ53+TwOgfzWlrQlrsBxGZvh C6dz3FiINKtTXiIae6BZkPecVQinYTaTx5fy5r6gWwMywuecDAK5RIsky0ssspruM+/BtT syLIbxB0TpQK+hgsMu54w7RdkHQPda3HweanEcKVZn5SKQ7MzYEjBfzKwxlmscfJyeF7DU 5tDq5lyVoOL4T1m3jq9lClnBQe6ETovhTXzjNflw1a+UsZvcfKwDHYGInpfNFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465597; a=rsa-sha256; cv=none; b=q0kcBT4doVi3tReZ4DJpvAMqWDfBcg9cNp8WxjIBE+gznq3m9XIyBd002CPyBs0HB57/VF gVBP3RdEXhQB05qbO0bjIUOohuwGRmVyXeMC/JbIZ1OQq5H1WRGTSczsaB6aaIntn1Uk4W ddQukQFHbWBsh+Dv2fFJza94PO4DrFynVQqs6PhzPHgjh32uNsMAsFTgUfADcGVmWwd1JM 5BTaGebfJPfP99/PTXZA0Z+jJJcN5dqBACO/+9u9i6DF4dz7ZVD71WDdivu2FDNRne0tLB QT47f3L2EEZZWVwBh19GBpCFL8c9oAy5CQLazZRQaxSOShsXY/3N68eKolkoqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1TT41ScztVZ; Thu, 13 Feb 2025 16:53: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 51DGrHpg059024; Thu, 13 Feb 2025 16:53:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGrHlv059021; Thu, 13 Feb 2025 16:53:17 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:53:17 GMT Message-Id: <202502131653.51DGrHlv059021@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: 3afa8f08bcd5 - releng/13.5 - MAC: mac_biba, mac_lomac: Fix setting loader tunables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 3afa8f08bcd58628aa276cec79827be625b23284 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=3afa8f08bcd58628aa276cec79827be625b23284 commit 3afa8f08bcd58628aa276cec79827be625b23284 Author: Zhenlei Huang AuthorDate: 2025-02-09 15:53:29 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 16:52:50 +0000 MAC: mac_biba, mac_lomac: Fix setting loader tunables A string loader tunable requires setting the len parameter to a nonzero value, typically the size of the string, to have the flag CTLFLAG_TUN work correctly [1] [2]. Without this fix security.mac.{biba,lomac}.trusted_interfaces would have no effect at all. [1] 3da1cf1e88f8 Extend the meaning of the CTLFLAG_TUN flag to automatically ... [2] 6a3287f889b0 Fix regression issue after r267961. Handle special string case ... Reviewed by: olce, kib Approved by: re (cperciva) Fixes: af3b2549c4ba Pull in r267961 and r267973 again ... MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48898 (cherry picked from commit 7d4c0fac8c7db9c5741ba98a8b3ce3c43feb1cf4) (cherry picked from commit 04f360b782205c799b9302ba8bd810f7a303017f) (cherry picked from commit 87836ab994c2ff9d442f84c174bd1fdead3cfa27) --- sys/security/mac_biba/mac_biba.c | 3 ++- sys/security/mac_lomac/mac_lomac.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/security/mac_biba/mac_biba.c b/sys/security/mac_biba/mac_biba.c index 8b683dc380eb..04dd331835be 100644 --- a/sys/security/mac_biba/mac_biba.c +++ b/sys/security/mac_biba/mac_biba.c @@ -110,7 +110,8 @@ SYSCTL_INT(_security_mac_biba, OID_AUTO, trust_all_interfaces, CTLFLAG_RDTUN, static char trusted_interfaces[128]; SYSCTL_STRING(_security_mac_biba, OID_AUTO, trusted_interfaces, CTLFLAG_RDTUN, - trusted_interfaces, 0, "Interfaces considered 'trusted' by MAC/Biba"); + trusted_interfaces, sizeof(trusted_interfaces), + "Interfaces considered 'trusted' by MAC/Biba"); static int max_compartments = MAC_BIBA_MAX_COMPARTMENTS; SYSCTL_INT(_security_mac_biba, OID_AUTO, max_compartments, CTLFLAG_RD, diff --git a/sys/security/mac_lomac/mac_lomac.c b/sys/security/mac_lomac/mac_lomac.c index d878f9a7b965..7a2f340d85bc 100644 --- a/sys/security/mac_lomac/mac_lomac.c +++ b/sys/security/mac_lomac/mac_lomac.c @@ -111,7 +111,8 @@ SYSCTL_INT(_security_mac_lomac, OID_AUTO, trust_all_interfaces, CTLFLAG_RDTUN, static char trusted_interfaces[128]; SYSCTL_STRING(_security_mac_lomac, OID_AUTO, trusted_interfaces, CTLFLAG_RDTUN, - trusted_interfaces, 0, "Interfaces considered 'trusted' by MAC/LOMAC"); + trusted_interfaces, sizeof(trusted_interfaces), + "Interfaces considered 'trusted' by MAC/LOMAC"); static int ptys_equal = 0; SYSCTL_INT(_security_mac_lomac, OID_AUTO, ptys_equal, CTLFLAG_RWTUN, From nobody Thu Feb 13 16:53:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1TW1kLkz5myY0; Thu, 13 Feb 2025 16:53: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1TV5BvFz3TJV; Thu, 13 Feb 2025 16:53:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RElZc2OO8Mv1IrbcB1qhxlRvyIxkqzDPJ0CNaXOeH3c=; b=NRypvJ9UCyTQkVK3ltKOArEeMkZCmIKFMNjpDdJu3W7CQia8p6KnJQIsAZMcXrqAWpROZQ LarDrorxXwqeBB9BfS2iBBUZJzcn3y1Z97Xn24+4+GZtijNxJNTOJDIf+aRStWX5HLXxtS 8ZbkDsy75rAzqO/mamNjsFleGptFVSVJTJrFtP4T5M+9HAGhkxjow0H0HnTaJvKLSNeIf5 xq9A8vpmQAbuzWh1+Gq0nSdgC3JPAGVJ/faBS4nJRnze0t/xUtyvPvTH6fG0Y4nSmfnJ6P JAQ1r818HVzTOB2Q8gtgQunP12++cKPkAmejVKE8SO/JIXNZ24v2qus0ZrS20g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739465598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RElZc2OO8Mv1IrbcB1qhxlRvyIxkqzDPJ0CNaXOeH3c=; b=pP89KhAp76H0GdHovvHEcR7pOSkvoUTAScfezelNHDwENnR7m2qXSnJ9tGny0Rfe4IFuGx j2KNiZuvYdGkT8zUPyLagl+iWfwBGfw6uoLI9f5nWWfklb9VCkt50Q7w5YzqyhvLkEdc8W JQoLo5M5hzC+ixizlAMEwO0F/odhEfwKO2ilBO7RvZrFT3kKDZOrPGwYOLdoqOs+/uxtR0 JcCDKwU6ybjl8tTWaei3t7txyb4yiVytXL6MlS4qOT/mSVaCJUNidkN4BTXBKPHcmfGoO+ GEyEfivzwJJoVIlcwWQjlSu4QwSTslYn56zsO1T1geJTqP5z0yBE/M/Dtlie+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739465598; a=rsa-sha256; cv=none; b=Lzfa6/mfnVqCpzfk6Fxq6JQG0vxZiPSKdUeXFDD7IbKJvQYngFAEaWvVI7gZRcKGJJ1GRr cDXtKM1df59kybxZmt4irlMSNmlBgjHoIeo9lprJOPZNjHPsK5jeMa3J2MNIXRSCcdFyAS xO/Jtm7Ku/RQLk6xQSzVPTYJb1df03rK/6h7InQ3T5/w90o+CBDwnU4iqm+UMsKVS7Rzut OCZjYBqmIwpc8T09ZCd/Kw7klk/IMCDjEbWPygTHAEiHCsWpuEvX6+sgu34qBQ3ejwAi0d j9E0GYboLSOaCFqJK9iHZvSvTH4YxjxGuy3zgNrwDup6gRNT2qmFa280/oVG9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1TV4kfyztFt; Thu, 13 Feb 2025 16:53: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 51DGrIwl059061; Thu, 13 Feb 2025 16:53:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DGrILH059058; Thu, 13 Feb 2025 16:53:18 GMT (envelope-from git) Date: Thu, 13 Feb 2025 16:53:18 GMT Message-Id: <202502131653.51DGrILH059058@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: 6b0086795db0 - releng/13.5 - sysctl: Harden sysctl_handle_string() against unterminated string List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 6b0086795db023796af570dccaa942a3071899b6 Auto-Submitted: auto-generated The branch releng/13.5 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=6b0086795db023796af570dccaa942a3071899b6 commit 6b0086795db023796af570dccaa942a3071899b6 Author: Zhenlei Huang AuthorDate: 2025-02-09 17:17:11 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 16:52:50 +0000 sysctl: Harden sysctl_handle_string() against unterminated string In case a variable string which is not null-terminated is passed in, strlen() may report a length exceeding the max length, hence it is possible to leak a portion of kernel memory to the userland. Harden that by using strnlen() to limit the length to the max length. While here, refactor the code a little to improve readability. Note that, when calculating the out length, the null terminator '\0' of the string is taken into account if available. This is not really necessary but userland applications may have already relied on this behavior. Reviewed by: avg, kib, olce Approved by: re (cperciva) Fixes: 210176ad76ee sysctl(9): add CTLFLAG_NEEDGIANT flag MFC after: 4 days Differential Revision: https://reviews.freebsd.org/D48881 (cherry picked from commit 1951235537fb62150f1bb15dd7e170ac30853d35) (cherry picked from commit 8ca77f9f9ece9d89161d080eee6a1aa706001878) (cherry picked from commit dcd7286d902774428c08b179a72bfdcd4556ec06) --- sys/kern/kern_sysctl.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 371d521d8850..7a4feada157e 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -1787,8 +1787,7 @@ int sysctl_handle_string(SYSCTL_HANDLER_ARGS) { char *tmparg; - size_t outlen; - int error = 0, ro_string = 0; + int error = 0; /* * If the sysctl isn't writable and isn't a preallocated tunable that @@ -1800,33 +1799,32 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS) */ if ((oidp->oid_kind & (CTLFLAG_WR | CTLFLAG_TUN)) == 0 || arg2 == 0 || kdb_active) { - arg2 = strlen((char *)arg1) + 1; - ro_string = 1; - } + size_t outlen; - if (req->oldptr != NULL) { - if (ro_string) { - tmparg = arg1; - outlen = strlen(tmparg) + 1; - } else { + if (arg2 == 0) + outlen = arg2 = strlen(arg1) + 1; + else + outlen = strnlen(arg1, arg2 - 1) + 1; + + tmparg = req->oldptr != NULL ? arg1 : NULL; + error = SYSCTL_OUT(req, tmparg, outlen); + } else { + size_t outlen; + + if (req->oldptr != NULL) { tmparg = malloc(arg2, M_SYSCTLTMP, M_WAITOK); sx_slock(&sysctlstringlock); memcpy(tmparg, arg1, arg2); sx_sunlock(&sysctlstringlock); - outlen = strlen(tmparg) + 1; - } - - error = SYSCTL_OUT(req, tmparg, outlen); - - if (!ro_string) - free(tmparg, M_SYSCTLTMP); - } else { - if (!ro_string) + outlen = strnlen(tmparg, arg2 - 1) + 1; + } else { + tmparg = NULL; sx_slock(&sysctlstringlock); - outlen = strlen((char *)arg1) + 1; - if (!ro_string) + outlen = strnlen(arg1, arg2 - 1) + 1; sx_sunlock(&sysctlstringlock); - error = SYSCTL_OUT(req, NULL, outlen); + } + error = SYSCTL_OUT(req, tmparg, outlen); + free(tmparg, M_SYSCTLTMP); } if (error || !req->newptr) return (error); From nobody Thu Feb 13 17:06:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv1mV0ByXz5n19D; Thu, 13 Feb 2025 17:06: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1mT6ghVz3b6V; Thu, 13 Feb 2025 17:06:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739466378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=47flT/eNxJy+lso6uaoBZQNq2ziZyXGgkif4XIVf5xg=; b=KLIwN8E8gUCx2slzW3Tw5LB69s+Dg38buzaY1cr8Ym8QLTBD7aJp8VmER4s4EnEmRzjAxN e7GfraKyzld6AFvc6eEP2PXzgSjPktNG3U8z9wgTu4qG8oss/U7cnk5kgh/w8GlZWUFOKU B9zohk7pmrvxUue76PCaDLJwQ61QRymQsSb28jKIoBmnjF34F19IUer1lYdBbZgn/JORE/ p2bBfE7m8aEBQdobE7cgDTFLoGpnZJZtsBeaIZhyuBs6OdlZB6D7+65XoVekONyStchkHA PDGuJfIPgh3E69dQmCBNX8XF67BMZ2/5rHpWmshJOygtO1IVm5dyIwkJQtpjvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739466378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=47flT/eNxJy+lso6uaoBZQNq2ziZyXGgkif4XIVf5xg=; b=BmDCUQ/H5Vzy+Rot3bDFJPq2Lk0o1epUkrjtLLCFe6xXQtAZZcLNLI9j89b7Q5l1U6VkFN 8BzndQ0yaWqHFvXymd8GTv06pbd1SjTA9uIKRztYWIVMPihTVcKhPbmtRbcCzuo37bwV4A mIUt3WEWqPj8acZxPOqNwhr2FB/tUjU6zv7f3rsTWP2Cti5xkZH0JyZ/uUot4OnvtN+C6B tcxOv8Jv8pzfHo9R2qmfZibxU7wv1fAusJUYGh0sI2MYEIyWj29gq7Ehvc/qcewD7kK27I Fuux6Uz5bIwEbJ1OKZRTHO2zJfoXce6KRmfgoVQt4poFNWPouGPvj0E30RCA5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739466378; a=rsa-sha256; cv=none; b=Rj9fRo8FV2o6qA3WBwbRUmgEVi4G/zRU22n2VYutnn4goamBCAFbouWcHk6TXKew42JsPR iKy5ratShbM18a2beVbUend+0mIPz8490nxlP+6sZyE8r2kra2qRZafrjT2hWmST9JOQwF M2JdoKNxAfW5BnZRfCaU8vlogfL+g9d5w6Qq33oh/iXqSOs3880xrCy/zl9aX9AMBvxPkW 3eMgn2xoy8YgCxSPv8zVDUWUiBD7ERJV2nySYYA7iegrSG6vjKA1Wu1rwMHVjwewG0DVBH Ez8sswlAlsH8KElobR3TBSgBWWrmZffe9FpUnVYqlehIc60Qfnd9bHPUsYnVzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1mT5nG6ztWL; Thu, 13 Feb 2025 17:06: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 51DH6Htx079399; Thu, 13 Feb 2025 17:06:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DH6H6H079397; Thu, 13 Feb 2025 17:06:17 GMT (envelope-from git) Date: Thu, 13 Feb 2025 17:06:17 GMT Message-Id: <202502131706.51DH6H6H079397@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: e159dcc37e6f - main - ObsoleteFiles.inc: Remove test debug file from wrong dir List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced commit e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced Author: Jose Luis Duran AuthorDate: 2025-02-13 17:05:33 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-13 17:05:33 +0000 ObsoleteFiles.inc: Remove test debug file from wrong dir Reported by: des Reviewed by: des, emaste Approved by: emaste (mentor) Fixes: 88d448ec815c ("mk: Move vm stack test debug symbols") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48991 --- ObsoleteFiles.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 70396c46ca46..70f134960b69 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -55,6 +55,7 @@ OLD_FILES+=usr/share/man/man9/bus_generic_attach.9.gz # 20250204: sys/vm/stack test symbols moved to /usr/lib/debug +OLD_FILES+=usr/tests/sys/vm/stack/.debug/libsoxstack.so.debug OLD_DIRS+=usr/tests/sys/vm/stack/.debug # 20250129: libdevinfo bumped to version 7 From nobody Thu Feb 13 17:51:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv2md3P7Xz5n3ZL; Thu, 13 Feb 2025 17:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv2md2y43z3vrC; Thu, 13 Feb 2025 17:51:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Vei3qUMMLtTGkXAFVabP9kbczUi1vQF1vCoChb8eBc=; b=lkf4u9E8iL9W7UQDyrQgg2p1/4zJypm7uifKapkcsGfI3137sYiEruzXOJ5xnC5ex+HHzp kFzMqwt+ZLbn2Q9Unslvjn8SiE6PBX5PUW6hYN8+sDBTdR2yrU+iltaWIPszpP4iXZ6Fxa xqVM7fStG3RK4g5U7gCEZkWIipgzEVaDzL1q4o+V/1EdOADKSA6k3lW7F6QtyVMpAGMGa7 UDbc7kchvKVGGOce9VB8kVr36DdBbGn17YvRy76aN8eJXTDUT1pvywJFjflRRxZokPgSEU OslFnFldkzjq/ORWjO3wbylaxI2ZbwfX9X/BEo/lwrgGiUI9SZ2DnUT6nJXRTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Vei3qUMMLtTGkXAFVabP9kbczUi1vQF1vCoChb8eBc=; b=e8kCe3Hq7MwgsSlWdBOpiZAtnI7M5KeVia7EIHtJufJ5uaDF3v06CgTgYDCwm6rTInW4Jd S15ATEMHY9wdPR5uEfjRh4oJUTcSRHvkVfuMbL8hMKAujLcUcfk277RQ9Rd+ROBJHyMqVf CTPkjmouPBMCpIMZGXDgji2siaXyiH6ABR8beN83VWwqc5ga5HaVl0y96IHBuy66Zrp6iQ 0iKYBJlGWo+khtsM3AB/dwzkKcMcr8nuyrOvuvhj5KTj1uCU3FwP6gB0+hY3/05PAk8l3h 9q9XPydY+WiwKBo9bNcySpUW1lmU/HNO/VPT9NnvH9Q0cO1QoIB13sXTRspb0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739469089; a=rsa-sha256; cv=none; b=GTKgFfMJ2P7VpKCvfLufLtb7JKgdyNzbFL4vFRrfO/W6nN3Y4C6u+7s5evfENGg6bVwmDn E1uSt6SCfPD5NAuaVNDmtnNa/okikaCTZ9D8/+oIH805mwESn+N0hWDSOx6ClziiORuCW7 yQEFPH+76XMemILV1CS+neCOFgQXhIPv3xvrMH0vAj7S3UlQamwMwWZM6J20/Cqz96+Ngk tgHtu7b+EdDy9eh8dtjlfEe2R1bMFks90B9zCwh0MNFvle8gaM4ZpIO4a0SuUl4tw7mfzO V8HlvQ4XHpsGX2u8TTIk6hv5t3dxAxHWO+HAoJGhdNfnf/jYl3aaRzwjaj+pcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv2md2TDtzvq8; Thu, 13 Feb 2025 17:51: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 51DHpTXJ069187; Thu, 13 Feb 2025 17:51:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DHpTDp069185; Thu, 13 Feb 2025 17:51:29 GMT (envelope-from git) Date: Thu, 13 Feb 2025 17:51:29 GMT Message-Id: <202502131751.51DHpTDp069185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ac2170b99551 - stable/14 - pac: Use strdup and asprintf in place of dubious string building List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ac2170b9955134c66f0e820b9dc1daa8f4d0e6a3 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ac2170b9955134c66f0e820b9dc1daa8f4d0e6a3 commit ac2170b9955134c66f0e820b9dc1daa8f4d0e6a3 Author: John Baldwin AuthorDate: 2025-01-03 15:39:44 +0000 Commit: John Baldwin CommitDate: 2025-02-13 16:01:19 +0000 pac: Use strdup and asprintf in place of dubious string building GCC 14 warned about transposed arguments to calloc, but these cases are better served by more abstract string functions. (cherry picked from commit f94513a3a36b50823c3918c93ee5c6bf5f525e91) --- usr.sbin/lpr/pac/pac.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/usr.sbin/lpr/pac/pac.c b/usr.sbin/lpr/pac/pac.c index 85c9327f433f..5eb5cab02353 100644 --- a/usr.sbin/lpr/pac/pac.c +++ b/usr.sbin/lpr/pac/pac.c @@ -339,8 +339,7 @@ enter(const char name[]) h = hash(name); hcount++; hp = (struct hent *) calloc(sizeof *hp, (size_t)1); - hp->h_name = (char *) calloc(sizeof(char), strlen(name)+1); - strcpy(hp->h_name, name); + hp->h_name = strdup(name); hp->h_feetpages = 0.0; hp->h_count = 0; hp->h_link = hashtab[h]; @@ -441,10 +440,8 @@ chkprinter(const char *ptrname) errx(3, "accounting not enabled for printer %s", ptrname); if (!pflag && pp->price100) price = pp->price100/10000.0; - sumfile = (char *) calloc(sizeof(char), strlen(acctfile)+5); + asprintf(&sumfile, "%s_sum", acctfile); if (sumfile == NULL) - errx(1, "calloc failed"); - strcpy(sumfile, acctfile); - strcat(sumfile, "_sum"); + errx(1, "asprintf failed"); return(1); } From nobody Thu Feb 13 17:51:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv2mf6LJBz5n3p0; Thu, 13 Feb 2025 17:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv2mf3tl6z3vlj; Thu, 13 Feb 2025 17:51:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p8+SalvNjkFEoYKonkAfZeviGQy88mN46U87ka2WuRQ=; b=EirkjXVD+Ia84R60XBBDn7WftlRFOLIDeZ0vDCCuz9CvGyw3cCXZcVJ6g28EPm/Tg7jadQ YimFySoOTOWWX70kmKKQBxCLIDASdzGGSV2OckQ10+eXaOSsWm8QLlQ2GI4MKOpuECcKFk ZQ8VHSl09hvo3xgudg3tpq1HEE8KybSM+NT+ZWP0pIaVQcEEp/7GT5aJHbnj9+gtOryYY0 DPQ6buy6Kv54lDXNUhAxss4iek3vm7LSwcEi7PhRL70hqO3t15UKGwDYPcMmbS8q8iTRWc 4xqQDz1aFgoax+2w7e2q8MZ3LPH/1lze3tpbknSNmwES2Y7NFbO6hZ8TWl9Afw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p8+SalvNjkFEoYKonkAfZeviGQy88mN46U87ka2WuRQ=; b=G5SKnncwgDzl/yuiUzzTywT2+IaQQQwZPiQcf3hJ4EjdeSfSI+NkacgOBy1o9jNLNERgfU +GA7tfYWL+pUfECCpNMpc74UKbd6u4qByq/c+3QwgRj+DL4Z3cybALa3x4M98RvvOBA9PZ JrutjNoon1h3DZkD2Bip7lHvA0eBb//2P6hfnmrQdI53iS7csQNJgBHjgCbsZysAhx81uI oo1hOKSnahAyP+4BLcHsZexoF8hZVRHdz/vjodh5e8CWDb5tIOsKbStcuY7Yy9sCB4Utt/ UAYtAwJi8SlnvXBf9zvXujBr0TJB26eWPOSh5gY8S1b/usoilnwKluVEKCoJtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739469090; a=rsa-sha256; cv=none; b=felH0nyWZ1aCcGnHF1gpn5FG6GWcYoA+Q5EkICB5B+tQZF5H7cfCZj8D4yKTEh1G0P1K6w PHnzld5F702Lvin3JaidAsIO4db+If04ERkD3frcMKnuidH7MwgyGhvdzAnqD2ov3jwHi4 3Ru/TXJBYrIyG1uehF4FYcFftQKnT1SHoz24+kOzw5EwsuEJFCdsyPnj4uQMCPNJZBSJns KGhqZ1FnVIb1aLuQdTvwVfoLpDPH1rabjzzWzjw3HI5fgYF7Hui3bJPXIGMroZde9Odvw4 5BbuDRyVATe8yAhas7F7dCS7WYBuFTPgE0qLBA3/lnvNn4Endzq/+1v2hLcthw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv2mf3NqLzw6h; Thu, 13 Feb 2025 17:51: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 51DHpUIM069220; Thu, 13 Feb 2025 17:51:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DHpUEa069217; Thu, 13 Feb 2025 17:51:30 GMT (envelope-from git) Date: Thu, 13 Feb 2025 17:51:30 GMT Message-Id: <202502131751.51DHpUEa069217@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 720d25547745 - stable/14 - pac: Consistently use item count as the first argument to calloc List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 720d255477453f77b1200880db4b9e776327150e Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=720d255477453f77b1200880db4b9e776327150e commit 720d255477453f77b1200880db4b9e776327150e Author: John Baldwin AuthorDate: 2025-01-03 15:41:36 +0000 Commit: John Baldwin CommitDate: 2025-02-13 16:01:23 +0000 pac: Consistently use item count as the first argument to calloc Reported by: GCC 14 -Wcalloc-transposed-args (cherry picked from commit 22956bc9dc907296196a37525a6726f6ba2c06ed) --- usr.sbin/lpr/pac/pac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/lpr/pac/pac.c b/usr.sbin/lpr/pac/pac.c index 5eb5cab02353..d79b84c4ab9b 100644 --- a/usr.sbin/lpr/pac/pac.c +++ b/usr.sbin/lpr/pac/pac.c @@ -260,7 +260,7 @@ dumpit(void) hp = hashtab[0]; hno = 1; - base = (struct hent **) calloc(sizeof hp, hcount); + base = (struct hent **) calloc(hcount, sizeof(hp)); for (ap = base, c = hcount; c--; ap++) { while (hp == NULL) hp = hashtab[hno++]; @@ -338,7 +338,7 @@ enter(const char name[]) return(hp); h = hash(name); hcount++; - hp = (struct hent *) calloc(sizeof *hp, (size_t)1); + hp = (struct hent *) calloc(1, sizeof(*hp)); hp->h_name = strdup(name); hp->h_feetpages = 0.0; hp->h_count = 0; From nobody Thu Feb 13 17:51:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv2mm1FNkz5n3ZX; Thu, 13 Feb 2025 17:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv2mm03zXz3w15; Thu, 13 Feb 2025 17:51:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PH8qgt8tuQH2NcFC+u/eAKsir22r0E24qJK4TECu/xU=; b=ecTGG3ktMcg6ZDPH12yMFuWBFUS11LbsKhUIFahIOpK8nxumRg1jbL9G4QPfm/rPEFDo95 eF4wP2lBd81VEePDHTOIPMddQP4jLc9HvWHUEAE7uuzdFK9ety8ZXNaFvwxPnI38kCC8p+ Hf27gUYb4u40cO33W1aRsLOMjC69ipQMGWrGkOAbnCrBC78ey7ZHIw4C+G0rEvTkiNvq+q eJHhNqBXELboEneCq85FFJiWBUP5X0PzhYgjGWDJHh8100XMW7v3lWiobTuCmAy4WeyWlg UvL35usYOX531v1ZaI1PIYzeDNWZgzkf6cqBMu407/DJim6MEpZoZzilK1rZdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PH8qgt8tuQH2NcFC+u/eAKsir22r0E24qJK4TECu/xU=; b=ZhP3qg8vfLKUueIUNC70ENdj405GW+G52Srg0SOuULx/GE2Qa/xE01FRkRH+KlcRZHfKB2 4o9rCAcxrWBxhbJv61PfwMdkMrAqzFv5V3TDi5XJt5CXuJin0WYw+KvIkhvtwhwvmxXW1/ ZRaIa/ybkiK+rWTdwNummsOrwumnGgLZedymp6HZDRRedGcGYdAp/JaQc+MvOOGfOX7R9Q UOE2IJ4fRulwlvwqKBy22vlw3J2ofVFDDOg787HOE6ixfb7L4e9g2oX23R+s2buX3Ejy4B krbjuZ3cfqlgp8NTBuJxN9ggRebKk1TdvHmAbHCM2KZW804zirGtpDushMkMQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739469096; a=rsa-sha256; cv=none; b=vxJOZRXK9+3iSIHUVsVk4RVWLQLql4NRzA1Xa5iD1446cfBRspYB6zodiIuB141hphR0xD mdWThVtXAiqZLaSg0LSvnTmyQeVucL7HRTazcnaDkm7p02LEqGuDLZJQjRZs6S/24HgEX3 n8bdRbYBjAPktbn3RHhv+/X8soFxj+yVfXgl/ytS7KGOn6Flkzfs/06EYT/AFPcpsJJVGz SNt65+trOsQn07hhtTbcNlNT5efDvzEsRzhSYDcVlsF/MJRQKFmloPOFSHknqh3Ho78/r1 tQSUec9rzwM7xOJai4EWsPk510vN9Ys0l9RCs6uwz+wmbe9Wmv+hgv4ffXSOeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv2ml6g3KzvkV; Thu, 13 Feb 2025 17:51: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 51DHpZUZ069377; Thu, 13 Feb 2025 17:51:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DHpZeF069374; Thu, 13 Feb 2025 17:51:35 GMT (envelope-from git) Date: Thu, 13 Feb 2025 17:51:35 GMT Message-Id: <202502131751.51DHpZeF069374@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 74a5a7d84236 - stable/13 - pac: Use strdup and asprintf in place of dubious string building List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 74a5a7d842367f239c7d6f628c3a97f9a467ed84 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=74a5a7d842367f239c7d6f628c3a97f9a467ed84 commit 74a5a7d842367f239c7d6f628c3a97f9a467ed84 Author: John Baldwin AuthorDate: 2025-01-03 15:39:44 +0000 Commit: John Baldwin CommitDate: 2025-02-13 17:49:02 +0000 pac: Use strdup and asprintf in place of dubious string building GCC 14 warned about transposed arguments to calloc, but these cases are better served by more abstract string functions. (cherry picked from commit f94513a3a36b50823c3918c93ee5c6bf5f525e91) --- usr.sbin/lpr/pac/pac.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/usr.sbin/lpr/pac/pac.c b/usr.sbin/lpr/pac/pac.c index 85c9327f433f..5eb5cab02353 100644 --- a/usr.sbin/lpr/pac/pac.c +++ b/usr.sbin/lpr/pac/pac.c @@ -339,8 +339,7 @@ enter(const char name[]) h = hash(name); hcount++; hp = (struct hent *) calloc(sizeof *hp, (size_t)1); - hp->h_name = (char *) calloc(sizeof(char), strlen(name)+1); - strcpy(hp->h_name, name); + hp->h_name = strdup(name); hp->h_feetpages = 0.0; hp->h_count = 0; hp->h_link = hashtab[h]; @@ -441,10 +440,8 @@ chkprinter(const char *ptrname) errx(3, "accounting not enabled for printer %s", ptrname); if (!pflag && pp->price100) price = pp->price100/10000.0; - sumfile = (char *) calloc(sizeof(char), strlen(acctfile)+5); + asprintf(&sumfile, "%s_sum", acctfile); if (sumfile == NULL) - errx(1, "calloc failed"); - strcpy(sumfile, acctfile); - strcat(sumfile, "_sum"); + errx(1, "asprintf failed"); return(1); } From nobody Thu Feb 13 17:51:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv2mp0qxKz5n3m1; Thu, 13 Feb 2025 17:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv2mn1F6Gz3w3P; Thu, 13 Feb 2025 17:51:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/p/b1nXmd6YlXnPRmmS6ydGzrKLOnI4oT+cNv0XM6ww=; b=lY6tzaXKp03UmknG10SQMsnRSEd3YsgZgYbBTNTdH+z9pG3AibMv6ZxrnSGCTOQzRBmkq7 Z5bE5N0xzzeLmzcfCVLukP5TSunvd/iZda0c7Up52iRNChlpiu8ibpGiJoXS0NeVzHpFgH 5KTi1u25xjj1SFBtxxuJe7V1pYRvgZP9UgVmleGlNbPW2fUOx88xXnCrtLN2nEFdcrBhKx tMpkmYhsA+qehhe768rmPps9VLMejpGEtLWnugvmY4xQimsaLk7SV02CNNAaL00Lrt/3rU EALijpHAzVIVzcZO3FiFmLd7XUmtMKa9eXy8xzBlgCxWW4FIpF3pQ70Pf40VDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739469097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/p/b1nXmd6YlXnPRmmS6ydGzrKLOnI4oT+cNv0XM6ww=; b=q4BCZpLWBbrik2m8HsZLtQYWhMMNVOlHPlBnAcI7yGKPD0xlXN7my8+BSxqKDzsOVJ3gFu NmE1824gR5hgAHbeXRwaZtzjyC8ewo3D2lcK/pFKC/Djf3KQo22/NfJ68XKz2vd7UFovlL g60cgijn44ac9/wxpguaiBf5NdOwLtuyunOI4/2PXhwPR2I28Zuch1Euma7xr2Xl/ItRBE E4Z1PUa3brYHr2pxH1woF78lsuzyXfvADzBvv1sim+RVQP5ngQIZR81RLBsOToS5ZjpNcl IIhKYsp/whu5P09pJMFHvs92MGlLXhsPL0gbemrPK2GnT4STrlKNoIKU3Evu3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739469097; a=rsa-sha256; cv=none; b=OoP/G/TOhADAecQ/UpsP+5Ls9p6zneiKN+qkwgcYfAhR/VpgIcu1Lb4DR3T3EzU3DbXgkl k2jzr2phX/a/q6xZ7YcuitxCPlXJr2wqYzrqBsDwgd1tlSDopKpgWXuNTq9zwJWvxSymFX cj9s+imn1JKfZPuiYhNsDDzwQlNQKy7TdgoYGpdsS5o9jHYI2/bTusCiJjE8GWh7g9N4ma cSkV5XNWWZYzJRIJ/el59sYnFJdlPqnL5jvx7Nuiu4+wNDUm5jblfN+fsAgMCjVldxRc0U 0g8XNRSkEmb0VKsgXYVDvf40OFMA1SbrSPlb4HcopJA1mRVyh3VZABg/XroCDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv2mn0f3ZzvqC; Thu, 13 Feb 2025 17:51: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 51DHpaae069414; Thu, 13 Feb 2025 17:51:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DHpaGE069411; Thu, 13 Feb 2025 17:51:36 GMT (envelope-from git) Date: Thu, 13 Feb 2025 17:51:36 GMT Message-Id: <202502131751.51DHpaGE069411@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 749ec2967ed3 - stable/13 - pac: Consistently use item count as the first argument to calloc List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 749ec2967ed3e157d6cd6cbe85b0ae953ae114c6 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=749ec2967ed3e157d6cd6cbe85b0ae953ae114c6 commit 749ec2967ed3e157d6cd6cbe85b0ae953ae114c6 Author: John Baldwin AuthorDate: 2025-01-03 15:41:36 +0000 Commit: John Baldwin CommitDate: 2025-02-13 17:49:06 +0000 pac: Consistently use item count as the first argument to calloc Reported by: GCC 14 -Wcalloc-transposed-args (cherry picked from commit 22956bc9dc907296196a37525a6726f6ba2c06ed) --- usr.sbin/lpr/pac/pac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/lpr/pac/pac.c b/usr.sbin/lpr/pac/pac.c index 5eb5cab02353..d79b84c4ab9b 100644 --- a/usr.sbin/lpr/pac/pac.c +++ b/usr.sbin/lpr/pac/pac.c @@ -260,7 +260,7 @@ dumpit(void) hp = hashtab[0]; hno = 1; - base = (struct hent **) calloc(sizeof hp, hcount); + base = (struct hent **) calloc(hcount, sizeof(hp)); for (ap = base, c = hcount; c--; ap++) { while (hp == NULL) hp = hashtab[hno++]; @@ -338,7 +338,7 @@ enter(const char name[]) return(hp); h = hash(name); hcount++; - hp = (struct hent *) calloc(sizeof *hp, (size_t)1); + hp = (struct hent *) calloc(1, sizeof(*hp)); hp->h_name = strdup(name); hp->h_feetpages = 0.0; hp->h_count = 0; From nobody Thu Feb 13 18:22:38 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv3Sb0WDyz5n5n2; Thu, 13 Feb 2025 18:22: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv3SZ2Nmnz3Ffp; Thu, 13 Feb 2025 18:22:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739470958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2GOBvzDFLxGSGnGXIqau53K2Nc7jTDXtmx5Fxh5WpaE=; b=KXnArxCrBaZ9o7u5JOD1XpSnXlbX1Mv6WT62oXagTbDJXsOfZcymxt008Gcx/r9LBMUP+S OEsX0FUcsNeKQ9Ve8Vw1858xMi5vRSJstyQ6nY9QswAhvjLaM/WR7NJEf/fefw74gFf0SW PZZfFARMslCzyPeVCe6JZ3gGlUSH8BJdBCjukzySNEcie582OVeQ7TqR6y2N8JWWxtgR5p bLgBJH3Z25t4lQGyMz5QkbAaVHNA8oLcD3TjspRmrQLb9gs9nANbmwJz67jgzwdVNP2LFY bJnqxlc/LLz8WmFp2T+udhhQz0DpuzrelfOSdlT/g6YOvKAkmOLLV6NaCoXSNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739470958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2GOBvzDFLxGSGnGXIqau53K2Nc7jTDXtmx5Fxh5WpaE=; b=lYsfDbJVFV/1VGLlNxnHy5kvBkCVbhsnn2+29rJ2+8Wrmc1UpyYyYWw5hd3QXOKTTUwhd8 E9vsAU5ioGY/nt3Xn8s+/RCH/6/qrfQKZL25IXw9l09nHrU/r+razbrZ8S+1r9I4dfmHHu 95dbYzDPPO/HglPCSLk72I6Lyon2OSbFkHmlmmQCYtb0V4yKcvR7L+/wEd1cYu5kMPbfbz tqbGn+JmERgvMw59bMYKzQNiyguiGVM4dH1QPYlLYA32as3wXKOWXGpYrX/3dMRstjShHo DGmRe3v2U66gAqejNqLDchCbiVuUyAViIQwJ3X5GGi39uF1Pns81RwSIniqljg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739470958; a=rsa-sha256; cv=none; b=DjQEJbUI3ewGbE17nx5ahpl1EjSpwAVFV0AvqkIWc7wjRTkofFTaDCmk5XOlX15fj8RVNn 3VwjH9Cw8OPjRENy77nD3JN1qWG4MXfzJLLFqr3jraSsG/rTejkbjmo674nhKwRB9KJIyc xT2Xso5TnsWgNytydAXecu4yx+1Fyop/Wdi+MRTUF4xIpQ4tztk39HBWeoWOy2cDwpTfK7 i3xkalvwAoQDrgqr+Cny2y870DDkxdT0jk4mZ3j1lFi/kESpUuW1sjk+x7EcG2ZI9zkfc3 bb9R8auL5fPuMMPzXYYjuRn5QFdif9M/i46cJSl0HEwXjlJvHgzensBQbKUo5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv3SZ1c0yzwPW; Thu, 13 Feb 2025 18:22: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 51DIMcmO028319; Thu, 13 Feb 2025 18:22:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DIMc21028316; Thu, 13 Feb 2025 18:22:38 GMT (envelope-from git) Date: Thu, 13 Feb 2025 18:22:38 GMT Message-Id: <202502131822.51DIMc21028316@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 4b29599fbbe3 - main - e1000: Fix vlan PCP/DEI on lem(4) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 4b29599fbbe33b75b7b58cfc5deea7a881e9a10e Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=4b29599fbbe33b75b7b58cfc5deea7a881e9a10e commit 4b29599fbbe33b75b7b58cfc5deea7a881e9a10e Author: Aurelien Cazuc AuthorDate: 2025-02-13 18:08:42 +0000 Commit: Kevin Bowling CommitDate: 2025-02-13 18:20:26 +0000 e1000: Fix vlan PCP/DEI on lem(4) The vlan PCP and CFI/DEI were discarded when receiving vlan tagged packets on lem(4) interfaces with vlanhwtag. According to the 82540 SDM[1] (pg. 24), vlan tag is in the standard format, so there's no reason to discard PCP/DEI. [1]: http://iommu.com/datasheets/ethernet/controllers-nics/intel/e1000/pci-pci-x-family-gbe-controllers-software-dev-manual.pdf MFC after: 3 days Sponsored by: Stormshield (author) Differential Revision: https://reviews.freebsd.org/D48987 --- sys/dev/e1000/e1000_defines.h | 1 - sys/dev/e1000/em_txrx.c | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/e1000/e1000_defines.h b/sys/dev/e1000/e1000_defines.h index 92f676932636..f1b1008764a1 100644 --- a/sys/dev/e1000/e1000_defines.h +++ b/sys/dev/e1000/e1000_defines.h @@ -130,7 +130,6 @@ #define E1000_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define E1000_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define E1000_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define E1000_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define E1000_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define E1000_RXDEXT_STATERR_LB 0x00040000 diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index edbe0f8ab546..ced8d0f41d14 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -710,8 +710,7 @@ lem_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri) if (scctx->isc_capenable & IFCAP_VLAN_HWTAGGING && status & E1000_RXD_STAT_VP) { - ri->iri_vtag = - le16toh(rxd->special & E1000_RXD_SPC_VLAN_MASK); + ri->iri_vtag = le16toh(rxd->special); ri->iri_flags |= M_VLANTAG; } From nobody Thu Feb 13 18:26:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yv3YQ1jnKz5n61b; Thu, 13 Feb 2025 18:26: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv3YQ1Cqqz3JWJ; Thu, 13 Feb 2025 18:26:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739471210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ue9VoGtjiaYbduPA0typjRryTsjGC+s6puAOEK506cA=; b=CJXlKJC4h0Evgq0tVCvMKC1sV019mF7tDpDZ2sDHsv6M8rZrMZonVXFoV9ff3pyw2byJjs kqLJZPsLRBf6v/GLJ0tZqMnS+QIwR/fCbyQmuhAIxLm9GIZEPrMhqMUhXVvqcGC+yvf/BA HS2mvYGBXJMaAFg9Vu4CdA55w6t0WxzoTqfvmeQQwaVVE2nSo0TJGuyPUDMTIceJGsuxu1 QAQdktL8Tsigp5i0UEBByW6I1hPA4r22dFNUq7Tzp5dallziAFDqKp8Yg8wMuTHz+u0IzF 6J2BYvoKJAzn2dy3MnDpRBe8c/G62c47rmkfT+uf2f02VfpTPfOuXHLp/cqsbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739471210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ue9VoGtjiaYbduPA0typjRryTsjGC+s6puAOEK506cA=; b=eQCSNQpaiVEyTzL5qHt6B23ASpCZ/DKgzySJslf8OynUOpPBrQZCIsvRC1r9rIaWLvkBc/ T3fM1JiBtd3WKFj8zfvwG4It+gPH8NraD/wyeWurdO2EptLOWnbw3RhbCcVc1lWQg5g+iC i+p+WgPG6a3eDcKOvtdGbZ/hqx8qrUePIIpsewui/NqAE2g/hdzzKZnimMOTe90HSg36pE iHHniwmLHLd0Zd1Evn6BcO/9T4OEzY19hL+DWMVd0i+yYFLAaLBDh4PqBvYwdIOn94+K7k 2fTBZMuFYhTo9DcG7Yir8lMUavcd2FTqwOazHboRfA39eH1S/QUevGnvZXj98A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739471210; a=rsa-sha256; cv=none; b=afdTtEu6uPdgR/ZxtkcV5x2YiRgANUjydKlSEp1OUiFT/sBP7dqvmAP0vJJuFpcplzcl1o Nm7GvES54UWAHmMnjLqCNi/7xcXxyictTh+5YNBzvXSjEOxv9wCvwsRJEg+1W5z2AcpwMo rRe6eao+COwglvm14a0RaYQxoEc93q10KQSs0OqMAZvSGHMcRzgVG80tRAM4aoeScozgy4 67unjYEHvdD7SiYTY3OJcsuHdPMKPY4SUUXf2IOe2Bdo/UKDW9ryDruczs+Y6ZW6uSpwPv wS236hucJ1ys2W6XZ6N8m2fy2S7iEq6rV/wyffQRIPtEtDiSB/tGR78z0yhzng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv3YQ0RQJzwrh; Thu, 13 Feb 2025 18:26: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 51DIQnW1029657; Thu, 13 Feb 2025 18:26:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DIQncL029654; Thu, 13 Feb 2025 18:26:49 GMT (envelope-from git) Date: Thu, 13 Feb 2025 18:26:49 GMT Message-Id: <202502131826.51DIQncL029654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 124b7722aad7 - main - igc: Remove unused register IGC_RXD_SPC_VLAN_MASK List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 124b7722aad7d4cf12d96c030659aef78175aa9c Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=124b7722aad7d4cf12d96c030659aef78175aa9c commit 124b7722aad7d4cf12d96c030659aef78175aa9c Author: Kevin Bowling AuthorDate: 2025-02-13 18:22:50 +0000 Commit: Kevin Bowling CommitDate: 2025-02-13 18:26:35 +0000 igc: Remove unused register IGC_RXD_SPC_VLAN_MASK We don't use legacy receive descriptors and masking out the vlan ID isn't necessary since the tag is in the standard format, so remove it. MFC after: 3 days --- sys/dev/igc/igc_defines.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/igc/igc_defines.h b/sys/dev/igc/igc_defines.h index e9ebd23c41c3..09f75fe2787e 100644 --- a/sys/dev/igc/igc_defines.h +++ b/sys/dev/igc/igc_defines.h @@ -96,7 +96,6 @@ #define IGC_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define IGC_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define IGC_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define IGC_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define IGC_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define IGC_RXDEXT_STATERR_LB 0x00040000 From nobody Thu Feb 13 23:49:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvBjD5Qqyz5nSnM; Thu, 13 Feb 2025 23: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvBjC6fg2z46tJ; Thu, 13 Feb 2025 23:49:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739490544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0RnKdfYi4JU5CTWvBetGlA2dadPfruJHSZLQPZMk2os=; b=rH/gIHVR/f1PAlAL6aviFQD+18jGSQ4xsyBLdz4nRY34puIjPgbq54Yd/yqBKStga54cfy 7m2g3zL/flpsp51qmZT0JuE2alCsVZn0+dALOKcOVIClhGkrQ3p4CpjjgE8QIROi+ZTsCu 6mYoivQkOYs1jYYzBbbV7J4Nei9p+83NQ4cmzjE7A5Md2pOcIomc192uFxRZ0Qa3rwgCmJ 7FoG6bfVbcWOsFvSXEe0cChDTizPy/D76L8ibKwiG7A7aNGn/rNkwUoZD+Xeco39VcVaQ+ 9Jd8/P8o+Dd7LS5n+HJQosvOMUSqoKugsZZhOIzx5O7jvRvHeUmwxf4kJRiQow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739490544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0RnKdfYi4JU5CTWvBetGlA2dadPfruJHSZLQPZMk2os=; b=E/G9LvT7Ba/o+9ivt4fyeWpKzGvPD/TI402yfk0s67T+BwCfwdG5zIHpOQw1IxDjKiDPSz p494Bby9If2mARSfxLQrA0/LAX1ZBF9cOuM2aYJhaanLwm3lP2pqxoDkqLpsMH0/pGn+uo Hd+p7k/RbkrOoWeSzW2wD9rgMHiAVC5qz7c6BDbFk7PnjsJ+UivdsXiRlEWAggAeTgaxWp Z9HGvTffovU+WTMN477z5hqgkfGWgJz9Sobwlcq7Slgwc/GTiLyb3dFjNqT7jqeBsB9swp zt/WdBL7r4K2aYLAVzztSNNNm1kCHWAiTI8bODDFA3tgJ5IcojyRpv+vZg36Gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739490544; a=rsa-sha256; cv=none; b=p8rCODP8sUUMEK4UuOrNeN3hTkPFNu+DyGLyHR5S78dfPJZ+MmtYe78uuJFMnzCE51HFca C9GLKd67OIFH/KowuYN8i99aB/3aaNoto7FuUxRqIiGRx/VCVH1pM2Xs43p9vcnLahZ4vO XKXkdY3XTvpA907GFbhuQKNHpKynr+y247uH2DKZjhifI72rNl/fHtVKMqxr/haS5CVP4v w2FL5xcAUGBuKjJMq1N4Z2uJ0ADUBU0IU/w1UsO6cxGy2VcEEaTNatYJvQd0S8lw/soQZ6 V+MbZHIx07ikWJJNr6n98FA8dEhV6ax9YB7JwdbwNSwkfkTsv9IpMSEUSOMwTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvBjC63YTz160f; Thu, 13 Feb 2025 23: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 51DNn3k8028487; Thu, 13 Feb 2025 23: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 51DNn3cE028484; Thu, 13 Feb 2025 23:49:03 GMT (envelope-from git) Date: Thu, 13 Feb 2025 23:49:03 GMT Message-Id: <202502132349.51DNn3cE028484@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: b144e883cac8 - main - jls: admit that jail parameters with newlines print multiple lines PR: 283414 Reported by: dch List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b144e883cac8c60175c89508f14fc6804869181a Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=b144e883cac8c60175c89508f14fc6804869181a commit b144e883cac8c60175c89508f14fc6804869181a Author: Jamie Gritton AuthorDate: 2025-02-13 15:47:12 +0000 Commit: Jamie Gritton CommitDate: 2025-02-13 15:47:12 +0000 jls: admit that jail parameters with newlines print multiple lines PR: 283414 Reported by: dch --- usr.sbin/jls/jls.8 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/jls/jls.8 b/usr.sbin/jls/jls.8 index ce148da0d138..f7a5eeb321ef 100644 --- a/usr.sbin/jls/jls.8 +++ b/usr.sbin/jls/jls.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 20, 2025 +.Dd February 13, 2025 .Dt JLS 8 .Os .Sh NAME @@ -39,12 +39,12 @@ The .Nm utility lists all active jails, or the specified jail. -Each jail is represented by one row which contains space-separated values of -the listed +Each jail is represented by space-separated values of the listed .Ar parameters , -including the pseudo-parameter +one jail per line (unless the parameters themselves contain newlines). +The pseudo-parameter .Va all -which will show all available jail parameters. +will show all available jail parameters. A list of available parameters can be retrieved via .Dq Nm sysctl Fl d Va security.jail.param . See From nobody Fri Feb 14 00:01:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvBz267zXz5nT0w; Fri, 14 Feb 2025 00:01: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvBz20KpWz3H3k; Fri, 14 Feb 2025 00:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739491262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zTHGm1ce/uQDKLK9/sQkc1Ox+WPl9Sxa/jswG80BmUw=; b=kIffAjA225sHqvRDR2tlwkB8xXc32zoooT/cyXmVFsJz0SqPBvcqj7xSuXTvlnbcqFEwlc ekO71HZTMloXlBX0/rFOGHUU10TtIKNO7Jg8YZntypbQWipU9UHGdcrvF9XFZhNdu9Icnm 6tn3sdtauzeBOqr3TRegbL6FsBaEYgAqntkAuftSQy7ZW/jBI498TvX8gNJCA0ggWtbGAB igO9AoqbUKUQ9rVWKKkSo9l1VHDzG24d21DH9h6G0C16Y+IxOc2r3geVmg2y0tND9vHvDV o5yPvtK7USWh3GzdkSqn5b7Uv75xmremGGVgm008mwj4CXxBMRR5KRAxXNv95Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739491262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zTHGm1ce/uQDKLK9/sQkc1Ox+WPl9Sxa/jswG80BmUw=; b=CBM2Jcz/PzL5+IipyrA9gFdsE0aUdXSixCwsGzNO8+cDXzXJH1B3Iv/nzzO1XxQeTg6Mtk IxlrZdM3gDGYg8vVwPaTI5pUNikrNf6D6/6NX4KYRgQZCmf5zHNQeZA6FfnStJQc0qTVZX uFjvR1qgaOCfx2dKnaFxYkPI16xJpQKRjX3A7UuJOpfYsELUcAvVZZu406sZBucOTPsbcZ Ph+dwpzYPTmx6i/wb7y1gs3oLxA7fctBAJn1EIQfXoYlQiPcIDsCEZiJ+QWhFMsyt1VK2x pv25YeM3vS1C9h3Hv9H0Yd6FBx562+J38iTMstHjkdmNPYcnA3Q3a5Wtww/vYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739491262; a=rsa-sha256; cv=none; b=J+6nB6+haDl5bTAib17cv/sJ0btVYvJYdd2HpzyWrfa6pq+dTUCxRV9fGZvggxrRGMa16V CnyfhsdQ8mpxClqSszgm25gOZUuzYyEEbw7tVrX6nuBhrpG6MWmuVEkTUure7cjfKugdK4 hgnynDWs/Yrv8MF12IqcjQHgGGacErK/T2GTBX9riUACOeZ/T1Fr4V9KJnQaB960ea/bEQ dkL2O3g/uRM3tWoruQFhWY5btk9kfhCPlcOcgMKi5n/ZoOgxkY/r/Mgh8EjBAEg2KvJCX1 ey/AifFJn/vtPhIJNg8L+ULQ7EfvwyyKw+n8+frGTUKsBQ16Ihl3Xfwch8aIbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvBz172XDz1699; Fri, 14 Feb 2025 00:01: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 51E011qw060044; Fri, 14 Feb 2025 00:01:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E011u7060041; Fri, 14 Feb 2025 00:01:01 GMT (envelope-from git) Date: Fri, 14 Feb 2025 00:01:01 GMT Message-Id: <202502140001.51E011u7060041@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: 6e06a07978cd - releng/13.5 - 13.5: Update to BETA2 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.5 X-Git-Reftype: branch X-Git-Commit: 6e06a07978cd3d7672336147a2fe78b2adf3456a Auto-Submitted: auto-generated The branch releng/13.5 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6e06a07978cd3d7672336147a2fe78b2adf3456a commit 6e06a07978cd3d7672336147a2fe78b2adf3456a Author: Colin Percival AuthorDate: 2025-02-14 00:00:00 +0000 Commit: Colin Percival CommitDate: 2025-02-14 00:00:00 +0000 13.5: Update to BETA2 Approved by: re (implicit) Sponsored by: Amazon --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 62f49bcc6584..db4cef33816e 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.5" -BRANCH="BETA1" +BRANCH="BETA2" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri Feb 14 01:24:52 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvDqm722pz5nZ0l; Fri, 14 Feb 2025 01:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvDqm6bkrz43GS; Fri, 14 Feb 2025 01:24:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739496292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hKexVI+Ji0XZBcuTNhU0hxOvY5bvRRjMQNBnts7Lcbg=; b=C0esaWKJVm+Q8ssKd+0lAB5MfxTiXSeTubDya98S01035oGy6CesYNT/9OSEkDACONCD78 BK2ugNkFVpOtQ9YDSmouwiy+ZvbEIOxMKkU3mbOxo2ne/LcpkprNyX9eRcBLs6clsW9bEs iCaCSGI4YnsXkiVnaApP+DXBRx0KWvRyShzczJF3lIvh7Nye577nnvQkNcpTVsXj6AzJ2D drXuTWQQyta9hPSvtqzD6vI6L0A8VTNIO11tFfr5nY5WoaS7E5X6gns9V0TDkcxcBi0Ow7 1f+F28gmbxmgFgHE5+K1OsokhKlLSnjohAAhDQY+PCZiJMyvr6AaDxAe5EB9lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739496292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hKexVI+Ji0XZBcuTNhU0hxOvY5bvRRjMQNBnts7Lcbg=; b=LmGBHpfCNwJkWmUg0cYA0Zd/wMm++EGyZel3lKj/wGbrQf98aIM2LgsdOq+aHXV4y/C8Ep uXMz2TUA+5TqeOEs7Dz5aWqwvIMfxC8L3K4zEi3H3AZ9qP6ukRGI3V3cUDpII8KpXZPps7 NdXOOJNhpX/cR99Fe0gJktx8QLEb8fQZCar4vmB7zF4zmyq8qjMMQ2GoVEchCg2hbR0kdG eqF/VEc2kFSeDc+0FuNM6cHY4ey/hBGZC/YV5MPdvvYNbretjEY6+c10+L015MgMbwImqG THshgAvoY566xXrewN19aYL795IJsMEoJSC9JEspPSqoVEcxTGAJsnSLt0GXKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739496292; a=rsa-sha256; cv=none; b=J6KjlGB2xpDWfyoITte2P0NHQsWdf7Q5ZgA3Oyb5dXPDqkz1kIXKb6vIgho0j5oS8yIvqP xoLzZS5/pZ3OJg4HQ78M6j2fQM9csTn3QNrO5krzHbNk0s0Lj9F5tbzoN/Tn5aTJoz6P45 qx1f9AAeFVFCoSHBsov3csFqN5E7gRFV+dSECFVb4DAy7TSht0p8sPMJiPv35bg0mDi/LF FgyxW6wqORI/+v4EUMqvfbP5f8fFh6RZZemcUjUghQgGBXO4j2e8CShm+Y4HwffXkH4zE6 4pxZLbP7oitUwgnFZ2/5fGZmlzAkx1HnZZB3HqqzpkbMFZv6sEkjmtybXY5b5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvDqm65Jpz18X3; Fri, 14 Feb 2025 01:24: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 51E1Oqg7013948; Fri, 14 Feb 2025 01:24:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E1OqEj013945; Fri, 14 Feb 2025 01:24:52 GMT (envelope-from git) Date: Fri, 14 Feb 2025 01:24:52 GMT Message-Id: <202502140124.51E1OqEj013945@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: 0d1eed3701a8 - stable/14 - ixgbe: Add ixgbe_dev_from_hw() back List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 0d1eed3701a836d0a8d0152619b1dccc96c810ba Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=0d1eed3701a836d0a8d0152619b1dccc96c810ba commit 0d1eed3701a836d0a8d0152619b1dccc96c810ba Author: Kevin Bowling AuthorDate: 2025-02-11 03:40:51 +0000 Commit: Kevin Bowling CommitDate: 2025-02-14 01:24:31 +0000 ixgbe: Add ixgbe_dev_from_hw() back This got lost many years ago in 8eb6488ebb0dcd92517625e4833ddf7d26e3b3a3 It is used by the driver's DBG printfs. (cherry picked from commit bf6f0db8a762966b08430692c92ae34e667948db) --- sys/dev/ixgbe/ixgbe_osdep.c | 6 ++++++ sys/dev/ixgbe/ixgbe_osdep.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sys/dev/ixgbe/ixgbe_osdep.c b/sys/dev/ixgbe/ixgbe_osdep.c index 2fa651df8936..892924712c38 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.c +++ b/sys/dev/ixgbe/ixgbe_osdep.c @@ -33,6 +33,12 @@ #include "ixgbe.h" +inline device_t +ixgbe_dev_from_hw(struct ixgbe_hw *hw) +{ + return ((struct ixgbe_softc *)hw->back)->dev; +} + inline u16 ixgbe_read_pci_cfg(struct ixgbe_hw *hw, u32 reg) { diff --git a/sys/dev/ixgbe/ixgbe_osdep.h b/sys/dev/ixgbe/ixgbe_osdep.h index eca15f0f3816..cf7c578fd684 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.h +++ b/sys/dev/ixgbe/ixgbe_osdep.h @@ -197,6 +197,7 @@ struct ixgbe_osdep /* These routines need struct ixgbe_hw declared */ struct ixgbe_hw; +device_t ixgbe_dev_from_hw(struct ixgbe_hw *hw); /* These routines are needed by the shared code */ extern u16 ixgbe_read_pci_cfg(struct ixgbe_hw *, u32); From nobody Fri Feb 14 01:25:23 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvDrN0yCQz5nYx7; Fri, 14 Feb 2025 01:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvDrN0Hgjz43cg; Fri, 14 Feb 2025 01:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739496324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nA/fAWgBRG2Oo/UgkpBdavuvu5dX/Zn855D/2tolQp0=; b=Jhvxj+yF1J2Zw5hoSkcgTqhnpdwnuLd9mgvfZsI5dqd5ZYktw8UA/MGN+ZJvRUYrXlURsW lPWp4jXl7+Qp8pvaxtWE3WdRC0tcjCkT2Gfd4uEC9OQPBZ5AiyfkTny+KxdSMWvjByJQ0J zVeIXIKnnqOvG6di2c+iqc13x4DeYSzSf5HFY0/GCoZOObgItvcq86dlpqAOij/JlTu+8i CmWOEeu4SEvR0amX8rfPVSSCOkZyl/hB40MECO2ucB1SMijqc6XyEpao8liD6r8PpDdMiL HHwaT0BzWV4vKkNZb3QFbV2wE6bN9A90Bug7wgX54IYvsnTmAMTMUmjVTV2Q4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739496324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nA/fAWgBRG2Oo/UgkpBdavuvu5dX/Zn855D/2tolQp0=; b=e98g9KXI1frkkJeDo/diRYLBwKtU3R6C8GjTdnPYrpbWwgagSQcJ7d1I8fl99o3CINioF4 4Q1os9XU9GXqpsYJVWU03v/eYzrwrkRXT1wjFd9KS8sfOBATgsUzTg3bPj919uymacRBEh 1KJ3KCtLrGnOS9h4tDnP6KDx8gFO+3+JocjFLJ+P4MLXFGW6GrSO0VBW4trdO7rHg98n5A QCfuuUQDm+x2n3ueLOQDMGPN9FTAIIwMxurNbKpMmVXR7GkYZd8wKizJg6p4zXXx49eJyL PUmwkKMV/w0h6KFPIL7NFLTn2UW8Vc2TOUs3LJ2aZzz0bptVcCoD7Y43tSFnOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739496324; a=rsa-sha256; cv=none; b=Kju6WU2BbLvqjU4nJd25mLbnZqsukA1sJpgdwXpUeWryFQQy6G0DygY05ntvvwKCbK3foa rAQVsNUVvQCl4efAURSZ3zE3IbpD6VhjAf8BXX9QU4uqiU7BHTdeyHTSCNWimsNYlAJ7xk /CPveylEO2tnHxnT+nh1cQ6QfxZmKk1D77Jk/8xywu4wwZhwpEi891fHvq7dreqqApy57A sAa8wE7T82dC10CFSL42K3isp7st032jjfueI9iRM0UETMRdh/OjL8fAZ947fRAgpM6ePY F0XGhvd/BJg9JwFHgBon28b0jidVcXFZ2nCC05L0I+bRX0YP30l4g+i6UOTXNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvDrM6zC0z188W; Fri, 14 Feb 2025 01:25: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 51E1PN8n014191; Fri, 14 Feb 2025 01:25:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E1PN9b014188; Fri, 14 Feb 2025 01:25:23 GMT (envelope-from git) Date: Fri, 14 Feb 2025 01:25:23 GMT Message-Id: <202502140125.51E1PN9b014188@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: 4759b165d598 - stable/13 - ixgbe: Add ixgbe_dev_from_hw() back List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 4759b165d5985d6c3b0beb928a1f99efe79b294e Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=4759b165d5985d6c3b0beb928a1f99efe79b294e commit 4759b165d5985d6c3b0beb928a1f99efe79b294e Author: Kevin Bowling AuthorDate: 2025-02-11 03:40:51 +0000 Commit: Kevin Bowling CommitDate: 2025-02-14 01:25:09 +0000 ixgbe: Add ixgbe_dev_from_hw() back This got lost many years ago in 8eb6488ebb0dcd92517625e4833ddf7d26e3b3a3 It is used by the driver's DBG printfs. (cherry picked from commit bf6f0db8a762966b08430692c92ae34e667948db) --- sys/dev/ixgbe/ixgbe_osdep.c | 6 ++++++ sys/dev/ixgbe/ixgbe_osdep.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sys/dev/ixgbe/ixgbe_osdep.c b/sys/dev/ixgbe/ixgbe_osdep.c index 2fa651df8936..892924712c38 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.c +++ b/sys/dev/ixgbe/ixgbe_osdep.c @@ -33,6 +33,12 @@ #include "ixgbe.h" +inline device_t +ixgbe_dev_from_hw(struct ixgbe_hw *hw) +{ + return ((struct ixgbe_softc *)hw->back)->dev; +} + inline u16 ixgbe_read_pci_cfg(struct ixgbe_hw *hw, u32 reg) { diff --git a/sys/dev/ixgbe/ixgbe_osdep.h b/sys/dev/ixgbe/ixgbe_osdep.h index 7aabfea66484..6dad776eb056 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.h +++ b/sys/dev/ixgbe/ixgbe_osdep.h @@ -209,6 +209,7 @@ struct ixgbe_osdep /* These routines need struct ixgbe_hw declared */ struct ixgbe_hw; +device_t ixgbe_dev_from_hw(struct ixgbe_hw *hw); /* These routines are needed by the shared code */ extern u16 ixgbe_read_pci_cfg(struct ixgbe_hw *, u32); From nobody Fri Feb 14 04:59:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvKZy0SL4z5nnH3; Fri, 14 Feb 2025 04:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvKZx6NrBz44ss; Fri, 14 Feb 2025 04:59:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739509145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vDVHKzCx9Ipu4U9HTi3GOfISC6cBPwsQXZWwHG+vsSg=; b=OpdL6cYo8H1l2soe84ZYC8fSOZLAACLaK+WyFQec60eB+E91PkR+OpssMXyF2d9lPh9zwP 7XG764rch4dgnh92Ow0lsWEqRI3EXOtSCxYS2Myl9CviV7tJdAiSx15EymNyRtjkIUB6B0 XGhOBakVsEaZANetiZ/3gFzB0X+5nEC6dc9jbp7AnxSvokutt00qFIOFi8CoHG15BY3np1 IkvXOxkRI1SnztqxgLWSs3PNDhx6LlPCeLXjfijDX6MVf9zgFGZroaRpqRhnUA3Q6yJmtX 4hw1oDwq2grKfXLwX2CMzpZVOiJzNA1Gvl6H5gZFriZeO377B73OmNqTBSLwxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739509145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vDVHKzCx9Ipu4U9HTi3GOfISC6cBPwsQXZWwHG+vsSg=; b=u+yZ22UgPAcJkQ5KdmTSYltQsFA+tFG4LOgg/azi+JaqVlH01fdOgMIEY1zsAALCnqHSuY gIbHwe3KR+N5zzMWHqkPsvENwYcEXc4xzGxl5IwZdFuY03QCu5mBjUWG0O5ZLOBJBltWBH mOxvsZNvwTZy9UDZwTfUt2jfGPSIkCsVKL3XQjY1D3wCklJTStbvdz8CAEx0VdrasKdo4Y hJNtShTsVtjpSVTQ/WqwDdcj91Y05SMQv9uDKN+18z2tyLUdLj7N4Z+339TuWVxCp9Y5v8 EdeTqlttA8MrKCu5mzn1zTMjPQc5ZwcBZJefQaqmUhk4hPwh/v/PI4UdPVbPUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739509145; a=rsa-sha256; cv=none; b=Mc0HWcNcG2OPFCzBB060axeWWYpjlsS5TS/GHFPdW84GCBwb6XbEVrc7V8E8JWHLjCvmJ5 xp4/n/lJVlNeE0kL+IkngshVxNWxYZ4XW8OKD4gehNl9FOm47XH7wbRuDhemKNSz2DSwi0 WO5gLXtiDPY/X7Ml01sSEtFW3h8AYdNuj0oBGx1HWKohqX5JEvGG00g8KHLL4w4O9I/QUx DiluFNLU9zom3yXOntL+7WBTWf37nTwpyzD8kNwTELcsWIXDQeiYU1tG+OR/sHSbDM75tO kPiEETvp+k+NW2kkWVxGRK9koEQ3DIJ6FU2DwmfF8965NlIYzLyvZYqarBuPTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvKZx5gysz1dL; Fri, 14 Feb 2025 04:59: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 51E4x5Qu009689; Fri, 14 Feb 2025 04:59:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E4x5M4009686; Fri, 14 Feb 2025 04:59:05 GMT (envelope-from git) Date: Fri, 14 Feb 2025 04:59:05 GMT Message-Id: <202502140459.51E4x5M4009686@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: 54b0d4845a89 - stable/14 - cxgbe/t4_tom: Plug an stid leak. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 54b0d4845a89c7fa8c6f916ff872a1171000b9ad Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=54b0d4845a89c7fa8c6f916ff872a1171000b9ad commit 54b0d4845a89c7fa8c6f916ff872a1171000b9ad Author: Navdeep Parhar AuthorDate: 2024-12-08 03:34:30 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 04:57:54 +0000 cxgbe/t4_tom: Plug an stid leak. Normally the reply to destroy_server() releases the listen context but it is not called when the adapter is suspended. Release the context right away in that case. Sponsored by: Chelsio Communications (cherry picked from commit 45d5b9f0324a13df06712b7a9df5f2fbe8475764) --- sys/dev/cxgbe/tom/t4_listen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/cxgbe/tom/t4_listen.c b/sys/dev/cxgbe/tom/t4_listen.c index 8226c44669ab..0292144502c3 100644 --- a/sys/dev/cxgbe/tom/t4_listen.c +++ b/sys/dev/cxgbe/tom/t4_listen.c @@ -769,6 +769,8 @@ t4_listen_stop(struct toedev *tod, struct tcpcb *tp) if (lctx->flags & LCTX_SETUP_IN_HW) destroy_server(sc, lctx); + else + inp = release_lctx(sc, lctx); return (0); } From nobody Fri Feb 14 04:59:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvKZz0h0vz5nn2q; Fri, 14 Feb 2025 04:59: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvKZy6Nlfz44sv; Fri, 14 Feb 2025 04:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739509146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TY3lHY8onlQiapDczZTyJ2U4/+15sM9B9xO89HIK3So=; b=toGMgBrTacCPZQ4QqgJXmwYajVp7MYnzzUzdaFIT4mPHdoHvjPh0V1gCypoiTmoQTlF4iC w5rSazZ42WajUsq3RbEvgdTXd+jZtscpZHShfLClHVYVCazNbe56c1hSYX4HOBoDQvQM3i hvf6wz5SMUqDH+E35Aze8Wat2y9oL7nA6XALhBB9VzyZQRb5j1qM9PE9Cj/80XE82Woe0v V6QMY0Hwnz4fgHkuiS6imGacCOX7SQm00grMojiByno3MxHQ+RkuJ64+/sJ1CeSwkD/umV z/WDDCOJNNWXKn8hCLCkuOTTbwVnbyp3aT4LeVDwpq0IalLlVHI4jWNg13pvUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739509146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TY3lHY8onlQiapDczZTyJ2U4/+15sM9B9xO89HIK3So=; b=daBKNiJrpoBI1JTQkWSavNeYoXXCk3v5nciGEsmnHiGRuYZy8rQi3REjfsu9udbjkzoQ+H X7l6Zz+POOXbRfPv5lFD0ZjYereiabPRZQFG/9N/8+RIM024wkEAxhexnAoVCCvFs1jtIc Fru1wcjekFPEmyOhmttrjJm1lANuF/2A3XbR2Nh41Sz/xgH0pFWOT6Iaw+PTy9BiYZMCUk yKLTS/byOZGQ2jhiVT6wI2Q7Cbz1MszFU2saCAKo4AgDwC/Z7Ed7KBLTnqpS6bXhJ2PJpv 7oMGDVeTdmWEQTwcQn3XOeSfLwaly6rrNKbjJxy07N4IHqv98uEi93JiIF4ZzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739509146; a=rsa-sha256; cv=none; b=qy///XUL3lNlfveqTYlY2/xeCTkP5xZYLfb4jG56QgdzMRSQgVuQNN+xWz/WKHbVDKOg92 6MicBuCvfOVDTuP+xEGPj9vmKfNnI3SUM0Xjih7UYjFVjivUnU2k/cLBu+teftSrJkVyGP 4BulRTQf7J07S2DUCMhjCSr1hXVYhTouMjhUknF4O56AK+MU2RpO8odkMtdga/lHsK1f5i uX4DJ3GnVejslqq7OB7YTWR6KwwrdRoREVYV4OIqF7Q/PY4MTMFhGx931p0+Lh9XSfIF+E x0kSIR+KBAvShDUtc9Q5VRWzKZsGB6f6nSwGz5oqHTtTyH3BzVC1UXSIDQE1kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvKZy5yfJz1tf; Fri, 14 Feb 2025 04:59: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 51E4x6OK009728; Fri, 14 Feb 2025 04:59:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E4x67U009726; Fri, 14 Feb 2025 04:59:06 GMT (envelope-from git) Date: Fri, 14 Feb 2025 04:59:06 GMT Message-Id: <202502140459.51E4x67U009726@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: 03bbfb01cc31 - stable/14 - rc.d/iovctl: Start the iovctl service after kld. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 03bbfb01cc3110a7452b6e70f97cc760a41e6b24 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=03bbfb01cc3110a7452b6e70f97cc760a41e6b24 commit 03bbfb01cc3110a7452b6e70f97cc760a41e6b24 Author: Navdeep Parhar AuthorDate: 2025-02-07 20:08:31 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 04:57:54 +0000 rc.d/iovctl: Start the iovctl service after kld. Drivers, including those that support SR-IOV, can be loaded via kld_list and it makes sense to process iovctl configuration files afer all drivers have been loaded. Sponsored by: Chelsio Communications Reviewed by: 0mp, jhb Differential Revision: https://reviews.freebsd.org/D47937 (cherry picked from commit 41594021fa8bf02468407e8fc48c2e7a13de1a2f) --- libexec/rc/rc.d/iovctl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/iovctl b/libexec/rc/rc.d/iovctl index 01e16221cc4a..8e9490f37c0b 100755 --- a/libexec/rc/rc.d/iovctl +++ b/libexec/rc/rc.d/iovctl @@ -3,7 +3,7 @@ # # PROVIDE: iovctl -# REQUIRE: FILESYSTEMS sysctl +# REQUIRE: FILESYSTEMS sysctl kld . /etc/rc.subr From nobody Fri Feb 14 06:39:04 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvMpJ5y4rz5ntMy; Fri, 14 Feb 2025 06:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpJ2t6dz3dCP; Fri, 14 Feb 2025 06:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvHSMo6xw0KJpWfYJ6aqGEjEvgwN4ZucoDzol+h5dzc=; b=sCY5pxgGbDQdZGXb8QzioGaJ+IuChTpsMnsfpZCUDltlidCFOPNQR89gfZZu4tifQZayR4 AD701OjmwFq10tFQ68Edwsl+Ot+AK4E/skG+XpcziDSehzd39nkWXxryrMJssYeCRyTcFw 5ku6hdO6xAgfo6UDUEohe9Xy5OoUWPIN9YaQWx4+BloATJ2n/cn57koBWHDX5EcwZ4+xx/ SHrrbHCgWrqP5qgb0A4OkkRmKTxNvroKoOZd6qkdAEwKADhBySM/r8vq2xSO/op8r/Mas+ 1FnAsCgd+CvEI1fA7wx5Lg+rXCgZm0txzgqvrRpiO6fnujDkFEnRpV1h2LiwAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvHSMo6xw0KJpWfYJ6aqGEjEvgwN4ZucoDzol+h5dzc=; b=bZPy+MTRpNjPQzveZPzK9mS2qScNV/oXna3Ct/BZ9/NEYxx8/XkQYhoxeIed/FZh+UuIkT I/ZFFWO8L7XyqJ8FMwF7ImfC58kswA9E51dnPxdaBRw7E+jpgcGtflhcR1XXPGDKoFybEX 3WI35oY64J5aFo6exItaO8KqfJuKovuFpFuU2X+X0dBuRb5vg6wKzH4khOlDXTkHubF2y4 q6Jg2kbzb0fbF+DmXM16NmCErQf5lgw7l08ChL4y3xtEmqhaBZtpwcsvRuu+4pK4YrXf2V 5lkdpNWdKSK+BiRemASx6Iiih0wRgBUCZxUyrsfBH9wQr0wlKNDRg5YmZM2C0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515144; a=rsa-sha256; cv=none; b=NTyV+l1eHF0arV9ydkgsE2FCNUMKSo9ZoN4oyWDBlOAnbDYWVi2rpqG/yp3kH0YaL1zMX9 +zKrbbtXSmjVTdvEPd+TvyxvKSAwF0ERvlrchWuSYXW6uIZBLG95BzXv0RiYJqrAynu87l 4y527QCsEitBRebUvsG9bGesK7s9Ee9ZvBxQIpLwQZQGLO1JzPa13/NRX1YE07LEfLAq+T LA/2QVcgdjOiV10IwikUIYG+2LK7t//UNkuuXD/AORmBG0xGuPUpDBozyPY6ATmA5nAfWZ 5zBGLs2oP++KHZk8fmwbBSG/RiKAljOZJ62fAVTWGAgBt2ygoZyFL1iztzlbkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpJ2LpNz4NJ; Fri, 14 Feb 2025 06:39: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 51E6d4tC097759; Fri, 14 Feb 2025 06:39:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d4LH097756; Fri, 14 Feb 2025 06:39:04 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:04 GMT Message-Id: <202502140639.51E6d4LH097756@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: f4ab14044c1d - main - cxgbe(4): Make sure suspend/resume works in recovery mode. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: f4ab14044c1de35b1aefad5449bddc5a1272f8d9 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=f4ab14044c1de35b1aefad5449bddc5a1272f8d9 commit f4ab14044c1de35b1aefad5449bddc5a1272f8d9 Author: Navdeep Parhar AuthorDate: 2025-02-14 00:17:54 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 00:41:50 +0000 cxgbe(4): Make sure suspend/resume works in recovery mode. The driver does minimal initialization in this mode and suspend/resume should ignore resources that aren't setup. This is for debug only. kenv hw.cxgbe.sos="1" kldload if_cxgbe devctl suspend t6nex0 devctl resume t6nex0 MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_l2t.c | 4 ++++ sys/dev/cxgbe/t4_main.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/sys/dev/cxgbe/t4_l2t.c b/sys/dev/cxgbe/t4_l2t.c index b210003cfac0..b1307bf2ace5 100644 --- a/sys/dev/cxgbe/t4_l2t.c +++ b/sys/dev/cxgbe/t4_l2t.c @@ -376,6 +376,8 @@ t4_stop_l2t(struct adapter *sc) { struct l2t_data *d = sc->l2t; + if (d == NULL) + return (0); rw_wlock(&d->lock); d->l2t_stopped = true; rw_wunlock(&d->lock); @@ -388,6 +390,8 @@ t4_restart_l2t(struct adapter *sc) { struct l2t_data *d = sc->l2t; + if (d == NULL) + return (0); rw_wlock(&d->lock); d->l2t_stopped = false; rw_wunlock(&d->lock); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index e4120e76000c..435e6fd19c9a 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -1924,6 +1924,8 @@ stop_adapter(struct adapter *sc) t4_shutdown_adapter(sc); for_each_port(sc, i) { pi = sc->port[i]; + if (pi == NULL) + continue; PORT_LOCK(pi); if (pi->up_vis > 0 && pi->link_cfg.link_ok) { /* @@ -2035,6 +2037,8 @@ stop_lld(struct adapter *sc) /* Quiesce all activity. */ for_each_port(sc, i) { pi = sc->port[i]; + if (pi == NULL) + continue; pi->vxlan_tcam_entry = false; for_each_vi(pi, j, vi) { vi->xact_addr_filt = -1; @@ -4013,6 +4017,8 @@ stop_atid_allocator(struct adapter *sc) { struct tid_info *t = &sc->tids; + if (t->natids == 0) + return; mtx_lock(&t->atid_lock); t->atid_alloc_stopped = true; mtx_unlock(&t->atid_lock); @@ -4023,6 +4029,8 @@ restart_atid_allocator(struct adapter *sc) { struct tid_info *t = &sc->tids; + if (t->natids == 0) + return; mtx_lock(&t->atid_lock); KASSERT(t->atids_in_use == 0, ("%s: %d atids still in use.", __func__, t->atids_in_use)); From nobody Fri Feb 14 06:39:05 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvMpL0528z5nt3V; Fri, 14 Feb 2025 06:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpK3h4hz3d6s; Fri, 14 Feb 2025 06:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAGq1V+P2vNjkq8+m/J16dvtuU9ge0KmaTKWwYvF6MM=; b=ER4PLwctlBZlR05w3/77fuiyA7KZlBJ+xSsCitMJqdsx7q6ppxOE8cnWNAl1jtsRu2q0Ol ZsLx8lI16XyG0eXtIsXz5e9SSGJpqn7AfWzUbagTBrN8YaU0kIxG7JDxk8gzKTvBDRqjEm XnihVr5qb9914WwQUCJ4cl17Ympr+xVhDG43LanfTGQB9QUFSLcn7zIiECUxyNoyi+5yLx Kp11IAQuuZXYCUObae6Bp7lORJ0xgCXu36hjTAIjfE6ZC9hhpeUo329Lmvc1sEL2GGu1X6 z2qbM69XGdo007UXFpxUILXwpOnJaTPtwTprk5/HZ3CH6mmMg/0fxl/2l1QVhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAGq1V+P2vNjkq8+m/J16dvtuU9ge0KmaTKWwYvF6MM=; b=fEdwYgDrD6diZN0AIsB7/YKkFSwn3MllYyQxsaxzrkVnhGeh2ZIniphbBrcO+AFb9CBzFO t2ho70QEvoZmfvi/UNwcxJw7ZaaRzw9O/l0ugTv6HyU/HTKDwsNvX1f9FDWLHZayzzwrKV eRyecF4sM31yhQkmtl7ooaCw27eXh31bjzaT5It/RR48DhgYSngH9stftEicKIeEYj+GRt 2W1/4Uss/0rn2gzEJ3RHD5RaHh5j97u653cZfA/gjyy4THbzvs8pfT8b/3bOwR4mmHZbGH zwjKCEW03kXa+Pw/XNMuGTAXquzMVUz4eOcvUIJbj5uxeBG604h++FAUp8IlYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515145; a=rsa-sha256; cv=none; b=EhLaoQar3gOfYqY1eTHXYWuyZwA+VkjMUixBoMpTeYNA7230IENDKpVX9udpO4CCH2dKp5 9Tuk2ZpMqs4aag+HsxXaj6uBn2wEf7fl0Y3FsCkdGpoE5haEtVI8SFUXlc68WNTT+2plMP E68d6nA8WBAGXWo+f1+3FV7PfrvO6jrf0ClWwK1qhxlgt57BvJcxCSUipL2GllGFwV+rI9 1wBuOPlN/3lUSl9nN49LUz+gGp8wRzTtCmjNsamb7pd/jAZ71md+EnF8qeMDKUYTr24iWy nPHDL0hrgULZ/3EHHkOPdP7McnlOIkOuaSVTgG8EgINvrOwss2zyt3oui03w7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpK3Hfhz4DN; Fri, 14 Feb 2025 06:39: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 51E6d5fH097798; Fri, 14 Feb 2025 06:39:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d56S097795; Fri, 14 Feb 2025 06:39:05 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:05 GMT Message-Id: <202502140639.51E6d56S097795@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 762d32354a18 - main - cxgb(4): Use routines from pci(9) instead of hand rolled equivalents. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 762d32354a18517c28933ddc29f9d3d855e450b1 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=762d32354a18517c28933ddc29f9d3d855e450b1 commit 762d32354a18517c28933ddc29f9d3d855e450b1 Author: Navdeep Parhar AuthorDate: 2024-12-09 00:05:33 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 04:44:23 +0000 cxgb(4): Use routines from pci(9) instead of hand rolled equivalents. There is no need to include private PCI headers in the driver. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgb/cxgb_main.c | 55 +++++------------------------------------------- 1 file changed, 5 insertions(+), 50 deletions(-) diff --git a/sys/dev/cxgb/cxgb_main.c b/sys/dev/cxgb/cxgb_main.c index a19483c7cbbf..882d1c6cc4a4 100644 --- a/sys/dev/cxgb/cxgb_main.c +++ b/sys/dev/cxgb/cxgb_main.c @@ -36,7 +36,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include #include -#include #include #include #include @@ -76,7 +75,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include -#include #include @@ -1137,66 +1135,23 @@ t3_fatal_err(struct adapter *sc) int t3_os_find_pci_capability(adapter_t *sc, int cap) { - device_t dev; - struct pci_devinfo *dinfo; - pcicfgregs *cfg; - uint32_t status; - uint8_t ptr; + int rc, reg = 0; - dev = sc->dev; - dinfo = device_get_ivars(dev); - cfg = &dinfo->cfg; - - status = pci_read_config(dev, PCIR_STATUS, 2); - if (!(status & PCIM_STATUS_CAPPRESENT)) - return (0); - - switch (cfg->hdrtype & PCIM_HDRTYPE) { - case 0: - case 1: - ptr = PCIR_CAP_PTR; - break; - case 2: - ptr = PCIR_CAP_PTR_2; - break; - default: - return (0); - break; - } - ptr = pci_read_config(dev, ptr, 1); - - while (ptr != 0) { - if (pci_read_config(dev, ptr + PCICAP_ID, 1) == cap) - return (ptr); - ptr = pci_read_config(dev, ptr + PCICAP_NEXTPTR, 1); - } - - return (0); + rc = pci_find_cap(sc->dev, cap, ®); + return (rc == 0 ? reg : 0); } int t3_os_pci_save_state(struct adapter *sc) { - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_save(dev, dinfo, 0); + pci_save_state(sc->dev); return (0); } int t3_os_pci_restore_state(struct adapter *sc) { - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_restore(dev, dinfo); + pci_restore_state(sc->dev); return (0); } From nobody Fri Feb 14 06:39:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvMpL6Spsz5ntSg; Fri, 14 Feb 2025 06:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpL4gkmz3d2g; Fri, 14 Feb 2025 06:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61GPAWyJF8gPTvHl1BZ7pHduquoZGr4YOLEty3XCsnk=; b=oyXliGrA8UzNdFHA2iQvigYPkR99XUop+vGbUTg/NffdQKXlFK9O4O6OnI5+Gh5zVEnbe+ 9Mv0yyxPdbllEQ+gQ17Ta/70MJGHwJ0V9eEko3sB8w9dfa2geAD4dhqX18jqPMa4mZL19R X07NNWWiesxJJExpIdNJw1hSQ7SB+3adywuXDhYq3DWgZYhTyXv6SnW0kis51S8zfNC2dO bShwmsZeqGMMZ3ZcEw0G410bj4qnBAi8go4O577baVPVA6ZWd+8sontOnEe0xCK93exNhQ W8XLLZ0OxLfepA8FqcVv+LGkRBfZzRgpHFjlACqBAd2Z37skDV3dc3VYsvByqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61GPAWyJF8gPTvHl1BZ7pHduquoZGr4YOLEty3XCsnk=; b=WWa76YYbNZB01cBXU8cnMOD2kexUfjc9H1f55OxYTosB2qMjPnIjUe3H3FU/SiJUJuFb9l OO4xBlQmOX9ctrqvzqeLql1V98UdVkJFG5gcoXMayjAiXgH23ElopPY7VW35CZ/4V/lXcL TNX6U3Kywj0kRE1pB8ETWACo8F7jSl1lBRTBoWefeZG4zsW0KAU4H9wo1LIxhMCp/QjSrX Rk93oeLVhQvspDCMe5/Fi37VKpVyWa1xzGjPRIpIogg8xQeQT9wF73/6l9fyWgEfdrJpXf q0Acg8Kg2SeW5ebiX9tgaSbwLy7U+acR86TAknYca3g3l/eaMmZy4mezqkdVTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515146; a=rsa-sha256; cv=none; b=llZR6xdbnxAH02xETPyrQrHyK4RYUH12SlDe+KdvYcu26fwAD8K3ncvX/oCMl+vg2A2AHY uz5WMGVWHtdXDuJn63uh9QQKoVzkb29azYG1/B/knf9e5wih3u6BLa130p9ekJCB4eoX2v GmoZK3Ul9AXqrpl15ynBcFRARFXtCScD68qu+vG44PY+EGlUofiVf3P8A6t7ukRj22+Mpm CbUb5J+ZRiOem4AyvaI+DSWnVdBn5dJh102K+FgpTQWoL4Ddm33ERSszqBcHl02E/y05YE yLboZn4ieVSOuQ/XZz3/MTgo5W7OTV8FkIGow8fiQITugt6jaz3bo2QH9tQQnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpL40K9z4DP; Fri, 14 Feb 2025 06:39: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 51E6d64Q097831; Fri, 14 Feb 2025 06:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d6vw097828; Fri, 14 Feb 2025 06:39:06 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:06 GMT Message-Id: <202502140639.51E6d6vw097828@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 9d76f6d042fe - main - cxgbe(4): Remove some unused PCI routines and associated headers. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 9d76f6d042feecf16775a200ee79c4e50fc533ba Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=9d76f6d042feecf16775a200ee79c4e50fc533ba commit 9d76f6d042feecf16775a200ee79c4e50fc533ba Author: Navdeep Parhar AuthorDate: 2025-02-14 04:52:25 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 04:52:25 +0000 cxgbe(4): Remove some unused PCI routines and associated headers. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/adapter.h | 2 -- sys/dev/cxgbe/t4_main.c | 28 ---------------------------- 2 files changed, 30 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 862a90e8a441..8d10a07e0933 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -1363,8 +1363,6 @@ extern unsigned int t4_ddp_rcvbuf_cache; extern device_method_t cxgbe_methods[]; int t4_os_find_pci_capability(struct adapter *, int); -int t4_os_pci_save_state(struct adapter *); -int t4_os_pci_restore_state(struct adapter *); void t4_os_portmod_changed(struct port_info *); void t4_os_link_changed(struct port_info *); void t4_iterate(void (*)(struct adapter *, void *), void *); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 435e6fd19c9a..5542481e03d8 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -45,10 +45,8 @@ #include #include #include -#include #include #include -#include #include #include #include @@ -12112,32 +12110,6 @@ t4_os_find_pci_capability(struct adapter *sc, int cap) return (pci_find_cap(sc->dev, cap, &i) == 0 ? i : 0); } -int -t4_os_pci_save_state(struct adapter *sc) -{ - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_save(dev, dinfo, 0); - return (0); -} - -int -t4_os_pci_restore_state(struct adapter *sc) -{ - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_restore(dev, dinfo); - return (0); -} - void t4_os_portmod_changed(struct port_info *pi) { From nobody Fri Feb 14 06:39:07 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvMpN0X4Kz5ntN0; Fri, 14 Feb 2025 06:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpM5pXJz3d05; Fri, 14 Feb 2025 06:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77LNMaN671Y6mk9Mi49Mv2lEiVbOG4zb0bWt3I3n/rw=; b=MaDa9NUicGgUfJAGRHbxFqUPB+l3wTgEeEe1nkBRRYiqNkfnZzJpyZlohv3LgBVwV2h7J9 cSNCxY28Qu9Y9oo3DJ65C7b6w1A63wNBCuspR1ZoGUumYn8QeESEUfpLTFaiRZKpVZ+Gia wNnIoheiKuFDgQqdM1t2cWcqht/xhu+Qi0ofBm/Wpl/giKYpwOEYhlQ7EDJxHVgKIL0N+J BVL5+kN7h8ia/ro76S1PnAFuwvwIn2GKt5ZUZwGaCyilcbXtIBBUXDbw97SXKI3B2bYW1m EFSKawzd4UBayVvhUr0FTjfC5xpEy9TUMWBDC4oSZvc+cgq2AqCSZ3e4amVUKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77LNMaN671Y6mk9Mi49Mv2lEiVbOG4zb0bWt3I3n/rw=; b=U6A3r6oZMMdK0cvYTjQaFKtdEM4vnpmxqSC54s5VTtITmUivh0Fdskx0PojbK+rcop2WV8 AyCxkMV9xwyriFLcuWfAEkk1dsBHK0vIQiHdxZWy6rJCsHLqzE5fx1F4N8A5NVwJJyeKp5 NIBnS0IXR4/DVG5p0eF5l6IlRsOt0Lz2O7Pg+5MA7Wyx/kXUg35Ic6NgQRWsbEw7iphQmE LUWZdCnse0oj4v+0e/yhMeoTJwkc7YPVDI1HA0lKrFaO0mO4NGnTXJzC79PG29JX41YpUL 4I9IEYucHIwT7xlWH3C/0IM6o9kazkdR9Yix7ybKHRg0+Pyd3KVSdIlBavgfdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515147; a=rsa-sha256; cv=none; b=i9TC3lE87NDmh5dm0rXetf1bMKVEhJ5MEpyFKDqLYvUdJ+XVCpxouWq/J8o7tNyJiRlcQL Ds1bCCmrtX4YR8D0/T2aJfoxhW7Brfcc3KQIW4qYo/dV+u2Odmoj5xPshaSOhau7SABX/v RfRF6Huv51OTHTHgpePzAuappucczESeFZ6TwfESs+5fQls5xTvyNe6bdNQ7r9/X/2yqaW sJfMmuvMIHbuC5030F+4Bz/mk6DZbOWMfLuWReBzQPnAhZVqpqrUkZpXHe/W98Owrq16ya gK0TufZUvjsv0t0sl7E4Z/EeSxBnsYWjLvsnkOzgAgTrDq0DR+EMULz0RMmNDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpM5Dwsz4JP; Fri, 14 Feb 2025 06:39: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 51E6d7H5097865; Fri, 14 Feb 2025 06:39:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d7O9097862; Fri, 14 Feb 2025 06:39:07 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:07 GMT Message-Id: <202502140639.51E6d7O9097862@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: f79fba05a016 - main - cxgbe(4): Remove smt_idx from the L2 table entry structure. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: f79fba05a016d53e054d6f587213889c3e31b4db Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=f79fba05a016d53e054d6f587213889c3e31b4db commit f79fba05a016d53e054d6f587213889c3e31b4db Author: Navdeep Parhar AuthorDate: 2024-09-17 02:55:09 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 05:54:59 +0000 cxgbe(4): Remove smt_idx from the L2 table entry structure. An L2 table entry isn't associated with a particular SMT (Source MAC Table) entry. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_l2t.h | 1 - sys/dev/cxgbe/tom/t4_tom_l2t.c | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/dev/cxgbe/t4_l2t.h b/sys/dev/cxgbe/t4_l2t.h index f8681a4ab556..13e085bb7467 100644 --- a/sys/dev/cxgbe/t4_l2t.h +++ b/sys/dev/cxgbe/t4_l2t.h @@ -63,7 +63,6 @@ struct l2t_entry { uint32_t iqid; /* iqid for reply to write_l2e */ struct sge_wrq *wrq; /* queue to use for write_l2e */ if_t ifp; /* outgoing interface */ - uint16_t smt_idx; /* SMT index */ uint16_t vlan; /* VLAN TCI (id: 0-11, prio: 13-15) */ struct l2t_entry *first; /* start of hash chain */ struct l2t_entry *next; /* next l2t_entry on chain */ diff --git a/sys/dev/cxgbe/tom/t4_tom_l2t.c b/sys/dev/cxgbe/tom/t4_tom_l2t.c index 8cc3e633444a..909abe793835 100644 --- a/sys/dev/cxgbe/tom/t4_tom_l2t.c +++ b/sys/dev/cxgbe/tom/t4_tom_l2t.c @@ -361,7 +361,7 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) struct l2t_entry *e; struct adapter *sc = pi->adapter; struct l2t_data *d = sc->l2t; - u_int hash, smt_idx = pi->port_id; + u_int hash; uint16_t vid, pcp, vtag; KASSERT(sa->sa_family == AF_INET || sa->sa_family == AF_INET6, @@ -386,8 +386,7 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) goto done; } for (e = d->l2tab[hash].first; e; e = e->next) { - if (l2_cmp(sa, e) == 0 && e->ifp == ifp && e->vlan == vtag && - e->smt_idx == smt_idx) { + if (l2_cmp(sa, e) == 0 && e->ifp == ifp && e->vlan == vtag) { l2t_hold(d, e); goto done; } @@ -403,7 +402,6 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) e->state = L2T_STATE_RESOLVING; l2_store(sa, e); e->ifp = ifp; - e->smt_idx = smt_idx; e->hash = hash; e->lport = pi->lport; e->wrq = &sc->sge.ctrlq[pi->port_id]; From nobody Fri Feb 14 06:39:08 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvMpP4Shwz5ntSq; Fri, 14 Feb 2025 06:39: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpN6FwJz3cwK; Fri, 14 Feb 2025 06:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uXAg06GATVtukIjZagzZR/RuTVa9+JNCzDmD+zTEDTE=; b=n4SZtV1c/RBakH8KhTq1ysmF1ip5zIhyODc+7kEOonJLRv4hRzkKIabw89G66FgShBeaWw JFs1/EWQRF9dFXQDEfxDFBZ+WUo504iQ26vwk50VqITuoxzJ9XH4Y4QKaC0qzEDwvYl5AZ AVWXe1vfEEOTF1aT2xJruzsNjTge4+WQgh4ZcAVt1VPjIzLrLLPaM6hZ/aZVfrUArYBbXL Ld30jbjf6r6T/bXDXLlYwolHAqXgrrSJ08locvKvGD6Jn3VvE2OGQcemyqgMzzDeofJ6WP 7JGkRhsYXdio82kKwpdNfXWKYgfcSitmWnhqaNuBZS3Vfahfuy6heYOCOPpetg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uXAg06GATVtukIjZagzZR/RuTVa9+JNCzDmD+zTEDTE=; b=utH54w+KVxnrz/1lNk1yzNTwiRm/VqG0rXZSOPoilAsqo3oLVtsczVL6tK6JBaJcX5/Xv9 FEN7Yky6wKOgyONwzlXOeE7GTIu6dequhaOU8Yv+Mgo2gwBqBl/6rHPzBT94GPIItjTbxI zP+/eqtV1F0yN7MBfzMTBfmzniAWfeY5J3zUkf4k3q4jklh/E/9yub1wAL9PzBj8Lw2rse n0XmoMGabegDUlHYZd3NpvzqxaVWO8AMtCKOctOPmwBYdecgkvFTwE5VYieQquM6Q5OZwh UJuurxB5MdCyOfuJMxHnUiTouriTwHxNxct09C3MEKPgF8Ybe0YMCLBvL91z7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515148; a=rsa-sha256; cv=none; b=mYBHZom2oov5Vo1l18RtUNXycraBux+phWH7e7mlJDVdKYdK8Kbczu3XXdenb5yfMkVt9X k7VC1epPCsZYTmvvaje7qdtvWtcyp8jt29aST/MLr577hamRNprirTu7AZ1h0Y2dYFRUPi lJ+2a1ngdwonKHwbAJe12PF8JVkC7wdQpcx1O22ISp5YRTo6cjP4SDYJUmJ4+SoM4xSLuX pFnQXEeNp/y/lkOvrDJ8riiosOrZ8HegSiIOzCaiQwKZgBV6EGgoICjj8nnzCJfOMkiSrb VTN8fUqjGMAWgCSvlaTPQU6SwIKuJ6eY8Rzt61gFmLoCf/bU2GGLJxNINw4MMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpN5rgsz3g7; Fri, 14 Feb 2025 06:39: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 51E6d8Yu097897; Fri, 14 Feb 2025 06:39:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d8CM097894; Fri, 14 Feb 2025 06:39:08 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:08 GMT Message-Id: <202502140639.51E6d8CM097894@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 04bf43505bae - main - cxgbe(4): Use correct priority in begin_synchronized_op. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 04bf43505bae1bb20d315a44e977d97aed3e5733 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=04bf43505bae1bb20d315a44e977d97aed3e5733 commit 04bf43505bae1bb20d315a44e977d97aed3e5733 Author: Navdeep Parhar AuthorDate: 2024-10-04 18:14:33 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 06:15:18 +0000 cxgbe(4): Use correct priority in begin_synchronized_op. It was always set to PCATCH because the driver tested (INTR_OK) instead of (flags & INTR_OK). Fit a WITNESS_WARN in a single line while here. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 5542481e03d8..51ba6d94b5fa 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -6324,20 +6324,13 @@ int begin_synchronized_op(struct adapter *sc, struct vi_info *vi, int flags, char *wmesg) { - int rc, pri; + int rc; #ifdef WITNESS /* the caller thinks it's ok to sleep, but is it really? */ if (flags & SLEEP_OK) - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, - "begin_synchronized_op"); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, __func__); #endif - - if (INTR_OK) - pri = PCATCH; - else - pri = 0; - ADAPTER_LOCK(sc); for (;;) { @@ -6356,7 +6349,8 @@ begin_synchronized_op(struct adapter *sc, struct vi_info *vi, int flags, goto done; } - if (mtx_sleep(&sc->flags, &sc->sc_lock, pri, wmesg, 0)) { + if (mtx_sleep(&sc->flags, &sc->sc_lock, + flags & INTR_OK ? PCATCH : 0, wmesg, 0)) { rc = EINTR; goto done; } From nobody Fri Feb 14 10:40:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvT9Q6NLNz5p7qt; Fri, 14 Feb 2025 10:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9Q1nFsz451g; Fri, 14 Feb 2025 10:40:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9m0svpoMpevInnHJjPTOowjFplyKDtfNOgWjFNl0ZnM=; b=YdwnPJGG48p11CGaf+Ur/oHSwtHB/T9JiFQjLKO83dGqspIMuYGgvGPMM8qhAVZFz5VPTG IMptFOC4dHc2UE8TWtyRzJmS7B+SINjaVvYhYuqsiCoqCCGqfp7RPiZjtkrTKyIMhjGwXN 3Sh8CFtU5ASg9UVzoTXxf9N+byo6+cqTX548aS/SoJef3GR+tdD+nCwXGKE0L0ur/AuNQy zxrhDf79oWsm/4ZrgK/JcBBLKm+syD8Zgi7+Zf8uHF8iIyVKQ/l9scu5nUsxwH9WnrmJas mKNV6LsSgZx2CcipfA2l7uykNolFchVhSx4lew410s4bevMoWH0QGEBkxH+jwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9m0svpoMpevInnHJjPTOowjFplyKDtfNOgWjFNl0ZnM=; b=tpMmn5FCUmsAr0fM3XuZ/Qj0qrwu7PvsO8guC9nYA8n7rZ7VBxtEb3UsBwfKxS55fCv/SK AH6Lrkq+Ak8mblsV7Ss+yGpoB1+kjiKYw87/xd9K50YHOzBYNRYyuKPeyt9Q3YeLR4dcnI P6mQj23bLWnVHB7YLPVXwTQY48DjXvmdX8AeiDfQIAiYR+fQCPm87MYqU+FKWtfwTTHI0A 0jOy60ZbSKYWaSygOaq1Be/N6NdLk2gwckHNID3/5lvcc08ARVgQkUBlePVqsUjmTXrgp5 35W2XaeDfmowWQwFCMs32OnfcaaSaiegzSO8IeW23il2pESWXihfBKTolPgd8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529658; a=rsa-sha256; cv=none; b=MuvLREBjhdBhuA+3Z2xzwz4d5qMCQCiCXWIu69F+CE6fM/b2tTMMj/7kqy6bw05SFvfN0i j00sBl2SNphJfLFHXXYRXLWNE7vJC8SolDs7ceK+4exWHOFEK+5AL+tRiM9R6oOBwjqP7L V/Ie9+cZsD2tbCnkwogFi2HnsMtTRpckyZ3lqIQVG7+v+BQlaLohkr4Qndx2Cz6KyOnyKu jvB4eSUOe/297F3V5hahcMm895BTES1UrtxBi+PRK0AHG059Bb1ZEyUKQoKArt+pnj4ula WIeXQamw7pXIJTdSLgGtvPIqWQVoL2l1y4qzj0Hq1Y1bn34OajRwqqhkj7L7QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9Q1MgrzBdL; Fri, 14 Feb 2025 10:40: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 51EAewi6061100; Fri, 14 Feb 2025 10:40:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAew8r061097; Fri, 14 Feb 2025 10:40:58 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:40:58 GMT Message-Id: <202502141040.51EAew8r061097@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 3de231b4d956 - main - bnxt_en: Retrieve maximum of 128 APP TLVs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3de231b4d956f7b9c22e31f75805030a417f7bf3 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=3de231b4d956f7b9c22e31f75805030a417f7bf3 commit 3de231b4d956f7b9c22e31f75805030a417f7bf3 Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:29 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:29 +0000 bnxt_en: Retrieve maximum of 128 APP TLVs It appears that the maximum number of APP TLVs supported by the hardware is 128 according to D45005. Well Daniel Porsch reported an issue PR284073 which shows that the number can exceed the limit, causing out of bound write to on-stack allocated variable app[128] and the kernel panics. Limit to 128 while retrieving APP TLVs. PR: 284073 Reviewed by: markj Tested by: Daniel Porsch Fixes: 35b53f8c989f bnxt_en: Add PFC, ETS & App TLVs protocols support MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48589 --- sys/dev/bnxt/bnxt_en/bnxt.h | 3 ++- sys/dev/bnxt/bnxt_en/bnxt_dcb.c | 17 ++++++++++------- sys/dev/bnxt/bnxt_en/bnxt_mgmt.c | 1 + sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index e4f866807070..b0c3a8913622 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1310,6 +1310,7 @@ int bnxt_dcb_ieee_getpfc(struct bnxt_softc *softc, struct bnxt_ieee_pfc *pfc); int bnxt_dcb_ieee_setpfc(struct bnxt_softc *softc, struct bnxt_ieee_pfc *pfc); int bnxt_dcb_ieee_setapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app); int bnxt_dcb_ieee_delapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app); -int bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs); +int bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs); #endif /* _BNXT_H */ diff --git a/sys/dev/bnxt/bnxt_en/bnxt_dcb.c b/sys/dev/bnxt/bnxt_en/bnxt_dcb.c index e1e0581d3c24..e0643f200021 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_dcb.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_dcb.c @@ -313,7 +313,8 @@ bnxt_hwrm_queue_pfc_qcfg(struct bnxt_softc *softc, struct bnxt_ieee_pfc *pfc) } static int -bnxt_hwrm_get_dcbx_app(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs) +bnxt_hwrm_get_dcbx_app(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs) { struct hwrm_fw_get_structured_data_input get = {0}; struct hwrm_struct_data_dcbx_app *fw_app; @@ -350,7 +351,7 @@ bnxt_hwrm_get_dcbx_app(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int * } n = data->count; - for (i = 0; i < n; i++, fw_app++) { + for (i = 0; i < n && *num_inputs < nitems; i++, fw_app++) { app[*num_inputs].priority = fw_app->priority; app[*num_inputs].protocol = htobe16(fw_app->protocol_id); app[*num_inputs].selector = fw_app->protocol_selector; @@ -472,7 +473,8 @@ bnxt_hwrm_queue_dscp_qcaps(struct bnxt_softc *softc) } static int -bnxt_hwrm_queue_dscp2pri_qcfg(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs) +bnxt_hwrm_queue_dscp2pri_qcfg(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs) { struct hwrm_queue_dscp2pri_qcfg_input req = {0}; struct hwrm_queue_dscp2pri_qcfg_output *resp = @@ -503,7 +505,7 @@ bnxt_hwrm_queue_dscp2pri_qcfg(struct bnxt_softc *softc, struct bnxt_dcb_app *app goto end; entry_cnt = le16toh(resp->entry_cnt); - for (i = 0; i < entry_cnt; i++) { + for (i = 0; i < entry_cnt && *num_inputs < nitems; i++) { app[*num_inputs].priority = dscp2pri[i].pri; app[*num_inputs].protocol = dscp2pri[i].dscp; app[*num_inputs].selector = BNXT_IEEE_8021QAZ_APP_SEL_DSCP; @@ -774,10 +776,11 @@ bnxt_dcb_ieee_delapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app) } int -bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs) +bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs) { - bnxt_hwrm_get_dcbx_app(softc, app, num_inputs); - bnxt_hwrm_queue_dscp2pri_qcfg(softc, app, num_inputs); + bnxt_hwrm_get_dcbx_app(softc, app, nitems, num_inputs); + bnxt_hwrm_queue_dscp2pri_qcfg(softc, app, nitems, num_inputs); return 0; } diff --git a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c index 72704c3db452..bbc12b96d8c6 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c @@ -139,6 +139,7 @@ bnxt_mgmt_process_dcb(struct cdev *dev, u_long cmd, caddr_t data, break; case BNXT_MGMT_DCB_LIST_APP: bnxt_dcb_ieee_listapp(softc, &mgmt_dcb.req.app_tlv.app[0], + nitems(mgmt_dcb.req.app_tlv.app), &mgmt_dcb.req.app_tlv.num_app); break; default: diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 012903ce21b3..45524aa1d076 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -1952,7 +1952,7 @@ bnxt_dcb_list_app(SYSCTL_HANDLER_ARGS) if (!buf) return ENOMEM; - bnxt_dcb_ieee_listapp(softc, app, &num_inputs); + bnxt_dcb_ieee_listapp(softc, app, nitems(app), &num_inputs); bnxt_app_tlv_get_string(softc, buf, app, num_inputs); rc = sysctl_handle_string(oidp, buf, BNXT_APP_TLV_STR_LEN, req); From nobody Fri Feb 14 10:41:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvT9S5jNtz5p7nS; Fri, 14 Feb 2025 10:41: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9S3F7Yz455x; Fri, 14 Feb 2025 10:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNjUOAF+gawMlPV/zAzwD21p/AHhDNLCnY9ecyQAmko=; b=Okrmi6NNFLTII34NqSkqfksZPQzYOojbxsPtQ3mK+FWn8J3oLi+KzQNYOQ9LANFX7S3RNp xoCidENv1uQn6ByvLA2+UiGoFlpXRDGSu6GKpl0D16ImyXKUMGuhNGFmGaZM4OWzVGLf7l BxlynMcx0ElaSkkfSAoMasVkBRU6koHtUTMHfQPIOFOhB3xaHF48OCFyh8F9SPpdLLRfCw a9+nFqvVlniu6fqdpfiw9i/jYPeQX5jMUoVjbobo0zM1b8Q3FsJchFOIN5t/rDD4vHu3qb yJrlVqwoV6TSlA13rpSvqbN/20HDLFVwbtDjydn5KC+DjtqDBKIZO6WvEnmygA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNjUOAF+gawMlPV/zAzwD21p/AHhDNLCnY9ecyQAmko=; b=pFsqQRKbx9syyjIqw9q9Uq0TXa/L6uTh5us0U95W/OY5UaOv0V/M7uGidAK4foO9eDJ0Dg 9hXyv60EjVs+3FkBb11BrcWurrNx1uPa3VQ1J5sdSmjO55foBst+XFG/8VkipxSSRvIJJ4 BzyUuFHJljfzI2yFiHgvVtxG/X9HP/Di/bw88SGG25GzQybxZwtKqITWeNflqk207tltHc 4SFibLGWrUA9IG2DUgHiiCO8O9W5Yp3NTBNE97v1BZ/5FzzfQDB5VYcYz+xVxfoP73ov72 x9BN2bUoRTxK/ehs1l54SpLePUyFdictgPxKjqpRBl+revVUgJgG7ieff6HHcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529660; a=rsa-sha256; cv=none; b=BsxQcX1TIyzwYXCoVEtekcoEi59aJfvh7Q/2Dc3ORuPhrXaZLJoCU6gdHt5jNb0hHpUGB4 eQRUuUBrJ6xJfdwqFuyqij3Mjc46QJuGJnyCAYCydBjMdUlO3GE230HqfLRQw39Ec6C44e bI33zS3nDlcZ1XnIZXCm4dVAg+LZylRythSsMudMCQdM2WQ580S6aoVowSOFCiI6MdyFEO OA45p6JHinEfCw8KT3EhG7pTMk6YgEXX5rkJJwLMn7+t/xI4Q++sXMrkWDyysmED5GzNW1 vmP3q7dAgivt+l8MH1NjzDHOABO8asKo+Sdxla47MoQItL51arEEqYCrOQ7ALg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9S2VmXzBJk; Fri, 14 Feb 2025 10:41: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 51EAf0Oq061177; Fri, 14 Feb 2025 10:41:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAf0uf061174; Fri, 14 Feb 2025 10:41:00 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:41:00 GMT Message-Id: <202502141041.51EAf0uf061174@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 747fd2db538a - main - bnxt_en: Remove pointless NULL check for sysctl arg1 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 747fd2db538a85df84ae6ac1e58494295b4a65ee Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=747fd2db538a85df84ae6ac1e58494295b4a65ee commit 747fd2db538a85df84ae6ac1e58494295b4a65ee Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:30 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:30 +0000 bnxt_en: Remove pointless NULL check for sysctl arg1 Those sysctl handlers have been guaranteed to have non-null softc. No need for NULL check within sysctl handlers. No functional change intended. Reviewed by: markj Tested by: Daniel Porsch MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48495 --- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index a8ae1d41d501..9c2d5bebbce7 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -1792,9 +1792,6 @@ bnxt_dcb_dcbx_cap(SYSCTL_HANDLER_ARGS) int val; int rc; - if (softc == NULL) - return EBUSY; - val = bnxt_dcb_getdcbx(softc); rc = sysctl_handle_int(oidp, &val, 0, req); if (rc || !req->newptr) @@ -1944,9 +1941,6 @@ bnxt_dcb_list_app(SYSCTL_HANDLER_ARGS) int rc, num_inputs = 0; char *buf; - if (softc == NULL) - return EBUSY; - #define BNXT_APP_TLV_STR_LEN 4096 buf = malloc(BNXT_APP_TLV_STR_LEN, M_DEVBUF, M_NOWAIT | M_ZERO); if (!buf) @@ -1972,9 +1966,6 @@ bnxt_dcb_del_app(SYSCTL_HANDLER_ARGS) char buf[256] = {0}; int rc, num_inputs; - if (softc == NULL) - return EBUSY; - rc = sysctl_handle_string(oidp, buf, sizeof(buf), req); if (rc || req->newptr == NULL) return rc; @@ -1999,9 +1990,6 @@ bnxt_dcb_set_app(SYSCTL_HANDLER_ARGS) char buf[256] = {0}; int rc, num_inputs; - if (softc == NULL) - return EBUSY; - rc = sysctl_handle_string(oidp, buf, sizeof(buf), req); if (rc || req->newptr == NULL) return rc; @@ -2029,9 +2017,6 @@ bnxt_dcb_pfc(SYSCTL_HANDLER_ARGS) int pri_mask = 0; char pri[8]; - if (softc == NULL) - return EBUSY; - rc = bnxt_dcb_ieee_getpfc(softc, &pfc); if (!rc) bnxt_pfc_get_string(softc, buf, &pfc); @@ -2087,9 +2072,6 @@ bnxt_dcb_ets(SYSCTL_HANDLER_ARGS) char buf[256] = {0}; char tsa[8]; - if (softc == NULL) - return EBUSY; - rc = bnxt_dcb_ieee_getets(softc, &ets); if (!rc) bnxt_ets_get_string(softc, buf); From nobody Fri Feb 14 10:40:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvT9S3Fkmz5p7Sr; Fri, 14 Feb 2025 10:41: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9R2GrHz453s; Fri, 14 Feb 2025 10:40:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aw8eyCyswHSEEh7oQaKVjAbFqw8WfESrumDJoLPJnm8=; b=i5UNQkKI/Scx6H6TvU9luCMr2ZiqQ1QAJOXzxInERCVV4NwF9p9VyFDAZjqryyYO4qm4nD mOj7+0YBNp7qRCWeHiWG3qPAgnLuaLxh+CfU7BCaYxhfIisT8oVMoy2BT3xY1cj3owCvFV 3hLkqs2xQy4t903YZcCEXukDQS1/fwM30GCa/nSFnUVkzGXYxDH2tTrOfbFvLcY2AcXpyH e4ylWgG6GofKdJ+Z9ozDv3HjYHvzXKDqNOTGtvifQZajP00unFf4SKehrE9/FQMrnsnkyG FDIRRJmEz5jEHXnK2wJw5SbV0ZjOWymIYmLNlve0akjpW92oBs2DNyptZ78qSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aw8eyCyswHSEEh7oQaKVjAbFqw8WfESrumDJoLPJnm8=; b=cCgorwLIGSEgmvg64ejSmTKz76pxtY5s44RQCGmyLlTwr36K3TyL58511JRy+2yWq2cjyO cem1IGpIAw43uAuWCOF/vOSCEEtJt8dFi7hv8AIXwhGutyE6HC96KHfnzA05dg6Xo3NYwI 3XSX0y3onhZc78yIQ0mIIyXi1EE4wDzd8kMRsa49gR1brQpqQdKxB1IzSa5RDCjQREWS2B rWOnSveA8kspRfJbmIrUOSSKehUF/ttMC2qZwVzLCXXWIi5CnisWiyNluNzn/6x9hAJFpx Lv0rbYGMTZLs0Zln3beT++2HTXv4nVkiGeMZZCTV4HzPCMrzrBuH/f/PxiB2UA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529659; a=rsa-sha256; cv=none; b=f3Cp7EFK9OWlWDGhf4VoVisHm7uC63QyV1C/St7sotygo1Nh1PcU+KIJ/OEllBUE9zv6D5 6JaJ/elK9X7oLC+sUNg0jn8pKejvBVVkNaz9Z7e7bnhW00ukFlafw122zHCa1ThUhWSIer k+LLHoZLffLGXrwHmbq7xFj5EwXAajVYyCtibcdLbd0uW8ztOP57AlMcf52H20JBAuwG6q 4GBe07LcJw+qdPySzP354ktL2APhk/XunVUAH0c7hyYaBfnArz/2/t0OadUtqujaJu57rY fvMS+xGqCTKLkQM/7U4K58Bdw9hKD0Gl5zuzyQD1Vlm7Ow6aSZ10htWewV07/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9R1qndzB70; Fri, 14 Feb 2025 10:40: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 51EAexYn061134; Fri, 14 Feb 2025 10:40:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAex5h061131; Fri, 14 Feb 2025 10:40:59 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:40:59 GMT Message-Id: <202502141040.51EAex5h061131@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 0bc672b38f1b - main - bnxt_en: Fix the description of sysctl knob dev.bnxt.X.dcb.dcbx_cap List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0bc672b38f1b224d5eaed35533cb6f6bfb3a5fa3 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=0bc672b38f1b224d5eaed35533cb6f6bfb3a5fa3 commit 0bc672b38f1b224d5eaed35533cb6f6bfb3a5fa3 Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:30 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:30 +0000 bnxt_en: Fix the description of sysctl knob dev.bnxt.X.dcb.dcbx_cap While here, update the description of dev.bnxt.X.dcb to more informative words "Data Center Bridging". Reviewed by: markj Fixes: 35b53f8c989f bnxt_en: Add PFC, ETS & App TLVs protocols support MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48993 --- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 45524aa1d076..a8ae1d41d501 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -115,7 +115,7 @@ bnxt_init_sysctl_ctx(struct bnxt_softc *softc) ctx = device_get_sysctl_ctx(softc->dev); softc->dcb_oid = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(device_get_sysctl_tree(softc->dev)), OID_AUTO, - "dcb", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "dcb"); + "dcb", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Data Center Bridging"); if (!softc->dcb_oid) { sysctl_ctx_free(&softc->dcb_ctx); return ENOMEM; @@ -2131,7 +2131,7 @@ bnxt_create_dcb_sysctls(struct bnxt_softc *softc) SYSCTL_ADD_PROC(&softc->dcb_ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "dcbx_cap", CTLTYPE_INT | CTLFLAG_RWTUN, softc, 0, bnxt_dcb_dcbx_cap, "A", - "Enable or Disable LRO: 0 / 1"); + "Enable DCB Capability Exchange Protocol (DCBX) capabilities"); SYSCTL_ADD_PROC(&softc->dcb_ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "ets", CTLTYPE_STRING | CTLFLAG_RWTUN, softc, 0, From nobody Fri Feb 14 10:41:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvT9T5gR5z5p7w6; Fri, 14 Feb 2025 10:41: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9T3s9bz453v; Fri, 14 Feb 2025 10:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeYT9k3IO87DMmb5XkOWLzOKYw4jD8dOYHv+Xbxy88E=; b=GlA4rwOskdALpJt8LhTogTA0VS8CHl1wi8NqOBMO48InZMXScsdYAXEMpE+2YdsvCqFesT LqSud/mUOC3qH4YpkHF2PbxDNnWQWv4VE1wnaNgjXZdrce7iDQem6xvkI3baw//3hdLH1H JPXjP0D1QahpCK6AVSpM90ddJKPHgVe/1GAhouEFGFwHJ0/PloIN+kcrW5g0oGu6a2ZbNi bsBW7X1lc9p11YINA/aFF0OgSbmYB4lNnpIYv3OMiAoNKsXNdCa18Bnlgoe18ZKA2co3ca flzacnxJTmFRdHqERf01JM08QIu8qmir2ni70F6KFKSnAkDDBPybZ32vI4+7rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeYT9k3IO87DMmb5XkOWLzOKYw4jD8dOYHv+Xbxy88E=; b=W7MMYcTb6lWpJoChUgLLzLq8cLyMovsSVpCnM6pB0Mi92eAkxadG/Shrl5C+5wtGNW9juk R17q5peapUS7G3loOLie9zb7ENlr6DZF/uf8BT3Tx4Gh41WLg9y/ufNHyO1f3JTMQaMMI3 FtM+5b6z3encsfbm2GVVTkUwVIhqEH2/G6FcyT4J0C3qMIaEHj6h5HS4nPiy77ktui+RP8 wkwojWhl8Q0hAVuxhr3iyqhIBECyve5TYyI6yJboknnJc6a9WpJQWc//s1IB4OPOeV5/Cm pgoBlM2huDTPcIOXN3Sq+DxKBuW4rLiBieyScDahO8lLM5/gr2K5ttq0H2OOrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529661; a=rsa-sha256; cv=none; b=qrdF27QeJ/+bQCY7r98YiI6wk7JdkM9ydD6braYIgjqYhNdwKZUopWAPKIPlI8LLfreaZ6 z3Wa88oiSeWmW2OkI+t0quqxcOgydxHRqONStEF0tOB8JZzmZwpmSGDaShvzERzQ5maKSl K1Oj5qhigPIOIJKyHh/TbcKHqOvDradqFxskhyEnXKPkTdlxlkSKqqbwTqqV0V5/NLs2LQ aor8iIXEBLJ+CDnbxqaiWXLQfltAAkMs8rwRcxhkGVOFpxI7c2R3YJUiF90xIbJQmHTtYJ v5JPalY46nWHzOuusvKvgFgnqWCIwSNUmWgAlbDRvfRrGbVet3iEjJQERcj5Dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9T35gTzBJl; Fri, 14 Feb 2025 10:41: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 51EAf1gO061215; Fri, 14 Feb 2025 10:41:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAf1vr061212; Fri, 14 Feb 2025 10:41:01 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:41:01 GMT Message-Id: <202502141041.51EAf1vr061212@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 91bae242bc54 - main - bnxt_en: Improve sysctl handler bnxt_dcb_list_app() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91bae242bc54856c560557b5ba245df94d570e95 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=91bae242bc54856c560557b5ba245df94d570e95 commit 91bae242bc54856c560557b5ba245df94d570e95 Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:30 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:30 +0000 bnxt_en: Improve sysctl handler bnxt_dcb_list_app() Prefer sbuf_new_for_sysctl() over error-prone manually managed buffer. No functional change intended. Reviewed by: markj Tested by: Daniel Porsch MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48496 --- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 44 +++++++++++++++----------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 9c2d5bebbce7..6ed7c5e8f42f 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -1871,7 +1871,7 @@ bnxt_pfc_get_string(struct bnxt_softc *softc, char *buf, struct bnxt_ieee_pfc *p buf += sprintf(buf, "none"); } -static char *bnxt_get_tlv_selector_str(uint8_t selector) +static const char *bnxt_get_tlv_selector_str(uint8_t selector) { switch (selector) { case BNXT_IEEE_8021QAZ_APP_SEL_ETHERTYPE: @@ -1886,24 +1886,23 @@ static char *bnxt_get_tlv_selector_str(uint8_t selector) } static void -bnxt_app_tlv_get_string(struct bnxt_softc *softc, char *buf, - struct bnxt_dcb_app *app, int num) +bnxt_app_tlv_get_string(struct sbuf *sb, struct bnxt_dcb_app *app, int num) { - uint32_t i; + int i; - if (!num) { - buf += sprintf(buf, " None"); + if (num == 0) { + sbuf_printf(sb, " None"); return; } - buf += sprintf(buf, "\n"); + sbuf_putc(sb, '\n'); for (i = 0; i < num; i++) { - buf += sprintf(buf, "\tAPP#%0d:\tpri: %d,\tSel: %d,\t%s: %d\n", - i, - app[i].priority, - app[i].selector, - bnxt_get_tlv_selector_str(app[i].selector), - app[i].protocol); + sbuf_printf(sb, "\tAPP#%0d:\tpri: %d,\tSel: %d,\t%s: %d\n", + i, + app[i].priority, + app[i].selector, + bnxt_get_tlv_selector_str(app[i].selector), + app[i].protocol); } } @@ -1936,25 +1935,16 @@ bnxt_ets_get_string(struct bnxt_softc *softc, char *buf) static int bnxt_dcb_list_app(SYSCTL_HANDLER_ARGS) { + struct sbuf sb; struct bnxt_dcb_app app[128] = {0}; struct bnxt_softc *softc = arg1; int rc, num_inputs = 0; - char *buf; - -#define BNXT_APP_TLV_STR_LEN 4096 - buf = malloc(BNXT_APP_TLV_STR_LEN, M_DEVBUF, M_NOWAIT | M_ZERO); - if (!buf) - return ENOMEM; + sbuf_new_for_sysctl(&sb, NULL, 128, req); bnxt_dcb_ieee_listapp(softc, app, nitems(app), &num_inputs); - bnxt_app_tlv_get_string(softc, buf, app, num_inputs); - - rc = sysctl_handle_string(oidp, buf, BNXT_APP_TLV_STR_LEN, req); - if (rc || req->newptr == NULL) - goto end; - -end: - free(buf, M_DEVBUF); + bnxt_app_tlv_get_string(&sb, app, num_inputs); + rc = sbuf_finish(&sb); + sbuf_delete(&sb); return rc; } From nobody Fri Feb 14 15:10:56 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvb8x2mr9z5nDwR; Fri, 14 Feb 2025 15:10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb8x1Bb0z4K5W; Fri, 14 Feb 2025 15:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9DRlNbOjKWql2TTaM06po1PHyImIysqCujJrgUQjfo=; b=tZPixJBb20DPrVBc4gbLtvzcM1q/qQcxiqXZp49tjLeVEFXqxV/TDWkxV6fIYqzfLPws6c KNoSf9ZSbnJSxDX+VVFI/lI4hjQqZQLFkghN0u9MJk9J6ZzrPog9b7QUJB8FSkGZcQ20xh nKvhkk3b5WUSIas2l0VWA6ahuLrfQUK2U6v8Ea7MV3UALUCx/Etu/4sSHQUavVffDr4HJ2 knk9h0pzry/1z9OQwsV2JOLjLfvD6C9+EqjzyckaHlUlxpVLXnWNeew5ve42x22Jr4ajoK vQdLng4w8zfzZUJDB2a6XDj+7yvDOWsU1A56RcLyIcxQPr0sIO043bfEou7lug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9DRlNbOjKWql2TTaM06po1PHyImIysqCujJrgUQjfo=; b=yTH+I9zhVaydFGnsQOcp/oHJfJo9MVjWe/SfA9jKNk7RjlgH9Z71IyoTEAoLgwuc4+SQ83 PDPU68Dfd0WVYaxPaL6s0YmlFYw7MTWVtGV48G+e81hFmbbhLlAH5BRMkUrObZjOLfMOSg MGFZh0IY6sP9h6KIzf25nNrY5vSMkKcHZLv2Z30ujS6SYm3/6Bg4DWYQ5lVlZfbIvzHFP+ 1KoBjxow+pIX9qvxlbKsU/iRRlbla9iZDbYXrvwJg9XLUIrFsdtMbfxSnIOuuCZuJBlcWU AqspERw9VtE0j/XE2ZiV4bL/ZUTPVetAXqQWiMj4Fv/qNeIiDZjm7vvk1nEBxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545857; a=rsa-sha256; cv=none; b=l0av8I9iCtZD8pO6DNIDTOgsYK+LbA4Fg2qhujZsvjUH2T0ciA/DY3arruCTJMX4aULt4X 65W1g+lbESXYXeBGcfd8wKkm7BrvLTkB3aFjEXIIx1X0III01P/2uqQnFC7kO2EzmoTcwN 1HYQdNPJtOzKLBcOJQbopNcdRktVdsVne6T0zeEptwA2XgIzmckRdk9OmnTb2o6F2CQ+gh SgDVKrE/OV4Mglvs2dJpHW0RNLtRRADsyilLdqT619Uu9i59WNgHRLQM8QDitc56JtiUn4 tVILT1Nra1sPyBalKaBZJZWzYskUhRWtbcb3dsfulRKroPpPOPg5Yg8n/sL6Og== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb8x0VNlzcYV; Fri, 14 Feb 2025 15:10: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 51EFAud0063291; Fri, 14 Feb 2025 15:10:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFAua5063288; Fri, 14 Feb 2025 15:10:56 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:10:56 GMT Message-Id: <202502141510.51EFAua5063288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 909e2d7b691f - main - gve: Disallow MTUs within a problematic range List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 909e2d7b691f7418a78b1289a51d3b6c46860a9b Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=909e2d7b691f7418a78b1289a51d3b6c46860a9b commit 909e2d7b691f7418a78b1289a51d3b6c46860a9b Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 14:57:06 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 14:57:06 +0000 gve: Disallow MTUs within a problematic range If hardware LRO is enabled with GVE, then setting the driver's MTU to a range of values around 8000 will cause dropped packets and drastically degraded performance. While this issue is being investigated, we need to prohibit the driver's MTU being set to a value within this range. Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48971 --- sys/dev/gve/gve_main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index 0e40656ca928..c726177c199c 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -196,6 +196,8 @@ static int gve_set_mtu(if_t ifp, uint32_t new_mtu) { struct gve_priv *priv = if_getsoftc(ifp); + const uint32_t max_problem_range = 8227; + const uint32_t min_problem_range = 7822; int err; if ((new_mtu > priv->max_mtu) || (new_mtu < ETHERMIN)) { @@ -204,6 +206,19 @@ gve_set_mtu(if_t ifp, uint32_t new_mtu) return (EINVAL); } + /* + * When hardware LRO is enabled in DQ mode, MTUs within the range + * [7822, 8227] trigger hardware issues which cause a drastic drop + * in throughput. + */ + if (!gve_is_gqi(priv) && !gve_disable_hw_lro && + new_mtu >= min_problem_range && new_mtu <= max_problem_range) { + device_printf(priv->dev, + "Cannot set to MTU to %d within the range [%d, %d] while hardware LRO is enabled\n", + new_mtu, min_problem_range, max_problem_range); + return (EINVAL); + } + err = gve_adminq_set_mtu(priv, new_mtu); if (err == 0) { if (bootverbose) From nobody Fri Feb 14 15:10:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvb8y3L9jz5nDRh; Fri, 14 Feb 2025 15:10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb8y1Ytgz4KHP; Fri, 14 Feb 2025 15:10:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s82OCEcgyT9gVRqkMGXyeXklHRR/K16260r7nNSaHzg=; b=FvHUAG0PiRr0KyGcUMmTFIambVP0PF1NQCxfVxW1rbmdNOyUqDuCryCubHmSdOtgSW1dOC jf53HqrZimXfXx0V/RrmnkcwQUmmsIh7MEp5h7aRNSYw+eXwM0orOHWIyOx69FNIqzkakH fhZAFjT+e702+NxbGYKkwT1TZZ3LyVJWdjWA254gxQnihDfC0zjJcAR3LQ1hzyCEfi9bB0 mDdw0oBRBSx4FCgUVZQrPRvy6BrTC+hgeMeiTxmGmtdSbDuw15oiCJD0LshgLIAygO/nfY DHwGQneTdBWMh2FrXDmLClPHY1UJ3b/90FWAj2wsbmiIkgWNMQ+fyd4rj+rGUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s82OCEcgyT9gVRqkMGXyeXklHRR/K16260r7nNSaHzg=; b=Hrhs3D21x0NNZacx4kHE4J3PXdrL9hZXKzcwERJUl/64Ihg1AsVfJNfc0XmH66yxDVR5AE RHUqzgUuYCIZdEzklGJywOssyFj4PuiVxthCroO0KeDqb4Vil0S4F3SL3etS1yAGOUOkxp z2V0fRjvCVLMYTI9b4yqzLILWWI5s9Jloi2g/xCFXIijO6KsrPwzJZU6X+hJWNqwqYYPjW EBVkx/IhPJhhcCvUn3sFcESh0yvLWsPfkmxorTFhi4Uq9OFsurlYpKmhaWNZC1vRD+AAZf vaA5MRcvH2SdYJe9pSJ1peKUm/hCoAixgp3kb0Tvcx5LTyvEkTuv3GpDziLp6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545858; a=rsa-sha256; cv=none; b=ZaUbiRpeN1I80FluoFvkfj408QywS4a70O1CRmBOo9R+WM6dtMQSdbeubAeSZzLkAOSe+K uE/XdBoNY2Z3++seop3iXshzxwBZfw6JM2qXAM+BXO0bSnyrn7xY3ZwgK57q8+m7kE2YZd o1m8jSN+fJrj6h2uUYA7eGCTH2cU6HXIV62s0cZlTN0irS7owtIGkEJGX/v2qevEDh7H4J JCp0F2JL94Grl/H3ninycPJbqRSdt/ZXYZGSvq9JYUrlrHmsqvtE9LZTF/RGM/DTZh4Agv psF5DMyQfzeWnHj7O+lMPXltXoR/Vl1yRI66pDkmJsIZHt++UBr2z6UYaMwNAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb8y18CdzcKn; Fri, 14 Feb 2025 15:10: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 51EFAwJh063325; Fri, 14 Feb 2025 15:10:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFAwUO063322; Fri, 14 Feb 2025 15:10:58 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:10:58 GMT Message-Id: <202502141510.51EFAwUO063322@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 62b2d0c3f4ad - main - gve: Fix memory leak during reset List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 62b2d0c3f4add3bb87081a96412056e17eed31ea Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=62b2d0c3f4add3bb87081a96412056e17eed31ea commit 62b2d0c3f4add3bb87081a96412056e17eed31ea Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 15:02:41 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:08:18 +0000 gve: Fix memory leak during reset Before this change, during reset we were allocating new memory for priv->ptype_lut_dqo, irq_db_array and the counter_array over the old memory. This change ensures we do not allocate new memory during reset and avoid memory leaks. Signed-off-by: Vee Agarwal Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48970 --- sys/dev/gve/gve_main.c | 49 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index c726177c199c..aa0866c5984b 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -517,7 +517,7 @@ abort: } static void -gve_deconfigure_resources(struct gve_priv *priv) +gve_deconfigure_and_free_device_resources(struct gve_priv *priv) { int err; @@ -543,7 +543,7 @@ gve_deconfigure_resources(struct gve_priv *priv) } static int -gve_configure_resources(struct gve_priv *priv) +gve_alloc_and_configure_device_resources(struct gve_priv *priv) { int err; @@ -584,7 +584,7 @@ gve_configure_resources(struct gve_priv *priv) return (0); abort: - gve_deconfigure_resources(priv); + gve_deconfigure_and_free_device_resources(priv); return (err); } @@ -649,7 +649,7 @@ static void gve_destroy(struct gve_priv *priv) { gve_down(priv); - gve_deconfigure_resources(priv); + gve_deconfigure_and_free_device_resources(priv); gve_release_adminq(priv); } @@ -662,9 +662,21 @@ gve_restore(struct gve_priv *priv) if (err != 0) goto abort; - err = gve_configure_resources(priv); - if (err != 0) + err = gve_adminq_configure_device_resources(priv); + if (err != 0) { + device_printf(priv->dev, "Failed to configure device resources: err=%d\n", + err); + err = (ENXIO); goto abort; + } + if (!gve_is_gqi(priv)) { + err = gve_adminq_get_ptype_map_dqo(priv, priv->ptype_lut_dqo); + if (err != 0) { + device_printf(priv->dev, "Failed to configure ptype lut: err=%d\n", + err); + goto abort; + } + } err = gve_up(priv); if (err != 0) @@ -677,6 +689,25 @@ abort: return; } +static void +gve_clear_device_resources(struct gve_priv *priv) +{ + int i; + + for (i = 0; i < priv->num_event_counters; i++) + priv->counters[i] = 0; + bus_dmamap_sync(priv->counter_array_mem.tag, priv->counter_array_mem.map, + BUS_DMASYNC_PREWRITE); + + for (i = 0; i < priv->num_queues; i++) + priv->irq_db_indices[i] = (struct gve_irq_db){}; + bus_dmamap_sync(priv->irqs_db_mem.tag, priv->irqs_db_mem.map, + BUS_DMASYNC_PREWRITE); + + if (priv->ptype_lut_dqo) + *priv->ptype_lut_dqo = (struct gve_ptype_lut){0}; +} + static void gve_handle_reset(struct gve_priv *priv) { @@ -708,6 +739,8 @@ gve_handle_reset(struct gve_priv *priv) gve_clear_state_flag(priv, GVE_STATE_FLAG_TX_RINGS_OK); gve_down(priv); + gve_clear_device_resources(priv); + gve_restore(priv); GVE_IFACE_LOCK_UNLOCK(priv->gve_iface_lock); @@ -835,7 +868,7 @@ gve_attach(device_t dev) if (err != 0) goto abort; - err = gve_configure_resources(priv); + err = gve_alloc_and_configure_device_resources(priv); if (err != 0) goto abort; @@ -864,7 +897,7 @@ gve_attach(device_t dev) abort: gve_free_rings(priv); - gve_deconfigure_resources(priv); + gve_deconfigure_and_free_device_resources(priv); gve_release_adminq(priv); gve_free_sys_res_mem(priv); GVE_IFACE_LOCK_DESTROY(priv->gve_iface_lock); From nobody Fri Feb 14 15:10:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvb8z5MXSz5nDy1; Fri, 14 Feb 2025 15:10: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb8z3L12z4KLv; Fri, 14 Feb 2025 15:10:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uG8NEUfPNmeilGoigJq6PgQ0QtBgxH+eETsdW7qEzGw=; b=XAn/al3NWqgry5bY3t90OyPmEqbXhPcA+93NVllL6aqOJp8wQEuyjrDzr5gNLqn3F0Ft/9 iEOLwQceD+FvxM54YEd3leQ1ELYWeY82TKdQlF8ZELZTjdWTxgrFDukVl76TqnVs3cVR/B xo5awjEh1WceUPLQ2B/37VgqnPnnCyVO4fjmc11UcQI1eLedRzlp9gs4ael8HLnpqyHQ7U r0b5vIiTrOia1Q78p3vQgB9N5AedPyKbkld1uqBGnnBsKhgsen9FRXlFsIdCeWwlSDo08Y 4M+x1KgOZpBZAgYiVkeFSWWNjlg8gWhrqjAPYSCnJ9+PG9Pw1YdJD6nFFLVnPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uG8NEUfPNmeilGoigJq6PgQ0QtBgxH+eETsdW7qEzGw=; b=aOnfAJeV+QxqrNYRiB6JkVLhGCVk/TZ3Q6HSCdDR5XPpTktfObuu9v7f230hxHQW2GlPV9 A1idE1h4SU/mLciFnD4h+NWdooyC6vi52J2BEcbBx+RuJTpjdiUtr8cSUvIGuxI7vfu0qw NhGqLsPvrLw1sm4HbJsSBUHMr2FeQuVkh/Kxzzlkq26l/mMc3ey9IAqxucOAkZsMA44+RX jYlgd8reNE/ipaL63nvOf+/SHUe4mLCegv4Iqe/XC9wnuST8GdqkfCmBSaw2262ydvjmLh AycjWqln0QIGA0Hf5E+mbPJdNOwYtlEvBEbJ+raTEc1aKO3P5+/Q/ihZ44H7+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545859; a=rsa-sha256; cv=none; b=jJUu9+Y/AdPNvg4NgeDTueuPVp6B2Zv3B4f3OB2aQyM4c6OWPi/LgDicT5RDK3VQ3fNyYw rjvWtidC0cAwcAiU8rcQU4PPRmKeANzGaE6oveIrk1WKApA0qyuJ9+1/1INJ5NB3jL/obN MEtjfZczWWm3wN2EHlwcGfyW40myOYIr54hEH9xJ0ofSM0ryDiQIkUhZW5WfwJPT1xLSFq XpG+DwrZAFDCSM64v4FQeok7cRxM2ZCnKFyD9jz4eVhOjBUrvfQKbwCfV7tBGhmrLRMB0m GvThrW/bv4kVUSuqr3Lml+NA3OV3oH/0coIiS48uNQPwyorf+kcxGe4OmhZ8Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb8z2gYPzcYW; Fri, 14 Feb 2025 15:10: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 51EFAxZB063359; Fri, 14 Feb 2025 15:10:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFAxE0063356; Fri, 14 Feb 2025 15:10:59 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:10:59 GMT Message-Id: <202502141510.51EFAxE0063356@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 031800c78682 - main - gve: Do minor cleanup and bump version List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 031800c786823a9ad4c4d2f79f217d42dad3f5d1 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=031800c786823a9ad4c4d2f79f217d42dad3f5d1 commit 031800c786823a9ad4c4d2f79f217d42dad3f5d1 Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 15:04:16 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:08:23 +0000 gve: Do minor cleanup and bump version This commit fixes several minor issues: - Removes an unnecessary function pointer parameter on gve_start_tx_ring - Adds a presubmit check against style(9) - Replaces mb() and rmb() macros with native atomic_thread_fence_seq_cst() and atomic_thread_fence_acq() respectively - Fixes various typos throughout - Increments the version number to 1.3.2 Co-authored-by: Vee Agarwal Signed-off-by: Vee Agarwal Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48969 --- sys/dev/gve/gve.h | 6 +++--- sys/dev/gve/gve_desc.h | 4 ++-- sys/dev/gve/gve_main.c | 6 +++--- sys/dev/gve/gve_rx.c | 2 +- sys/dev/gve/gve_rx_dqo.c | 2 +- sys/dev/gve/gve_sysctl.c | 4 ++-- sys/dev/gve/gve_tx.c | 16 +++++++--------- sys/dev/gve/gve_tx_dqo.c | 2 +- 8 files changed, 20 insertions(+), 22 deletions(-) diff --git a/sys/dev/gve/gve.h b/sys/dev/gve/gve.h index 92ab6838d5bb..39965c8669cf 100644 --- a/sys/dev/gve/gve.h +++ b/sys/dev/gve/gve.h @@ -303,7 +303,7 @@ struct gve_rx_ring { SLIST_HEAD(, gve_rx_buf_dqo) free_bufs; /* - * Only used in QPL mode. Pages refered to by if_input-ed mbufs + * Only used in QPL mode. Pages referred to by if_input-ed mbufs * stay parked here till their wire count comes back to 1. * Pages are moved here after there aren't any pending completions. */ @@ -450,7 +450,7 @@ struct gve_tx_ring { /* * The completion taskqueue moves pending-packet objects to this * list after freeing the mbuf. The "_prd" denotes that this is - * a producer list. The trasnmit taskqueue steals this list once + * a producer list. The transmit taskqueue steals this list once * its consumer list, with the "_csm" suffix, is depleted. */ int32_t free_pending_pkts_prd; @@ -458,7 +458,7 @@ struct gve_tx_ring { /* * The completion taskqueue moves the QPL pages corresponding to a * completed packet into this list. It is only used in QPL mode. - * The "_prd" denotes that this is a producer list. The trasnmit + * The "_prd" denotes that this is a producer list. The transmit * taskqueue steals this list once its consumer list, with the "_csm" * suffix, is depleted. * diff --git a/sys/dev/gve/gve_desc.h b/sys/dev/gve/gve_desc.h index 5f09cc8b77b8..48c4ac27596b 100644 --- a/sys/dev/gve/gve_desc.h +++ b/sys/dev/gve/gve_desc.h @@ -130,10 +130,10 @@ union gve_rx_data_slot { __be64 addr; }; -/* GVE Recive Packet Descriptor Seq No */ +/* GVE Receive Packet Descriptor Seq No */ #define GVE_SEQNO(x) (be16toh(x) & 0x7) -/* GVE Recive Packet Descriptor Flags */ +/* GVE Receive Packet Descriptor Flags */ #define GVE_RXFLG(x) htobe16(1 << (3 + (x))) #define GVE_RXF_FRAG GVE_RXFLG(3) /* IP Fragment */ #define GVE_RXF_IPV4 GVE_RXFLG(4) /* IPv4 */ diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index aa0866c5984b..8e764f9660d7 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -32,10 +32,10 @@ #include "gve_adminq.h" #include "gve_dqo.h" -#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.1\n" +#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.2\n" #define GVE_VERSION_MAJOR 1 #define GVE_VERSION_MINOR 3 -#define GVE_VERSION_SUB 1 +#define GVE_VERSION_SUB 2 #define GVE_DEFAULT_RX_COPYBREAK 256 @@ -391,7 +391,7 @@ gve_setup_ifnet(device_t dev, struct gve_priv *priv) /* * Set TSO limits, must match the arguments to bus_dma_tag_create * when creating tx->dqo.buf_dmatag. Only applies to the RDA mode - * because in QPL we copy the entire pakcet into the bounce buffer + * because in QPL we copy the entire packet into the bounce buffer * and thus it does not matter how fragmented the mbuf is. */ if (!gve_is_gqi(priv) && !gve_is_qpl(priv)) { diff --git a/sys/dev/gve/gve_rx.c b/sys/dev/gve/gve_rx.c index 35f22f2308f0..e540ad6f4c11 100644 --- a/sys/dev/gve/gve_rx.c +++ b/sys/dev/gve/gve_rx.c @@ -706,7 +706,7 @@ gve_rx_cleanup_tq(void *arg, int pending) * interrupt but they will still be handled by the enqueue below. * Fragments received after the barrier WILL trigger an interrupt. */ - mb(); + atomic_thread_fence_seq_cst(); if (gve_rx_work_pending(rx)) { gve_db_bar_write_4(priv, rx->com.irq_db_offset, GVE_IRQ_MASK); diff --git a/sys/dev/gve/gve_rx_dqo.c b/sys/dev/gve/gve_rx_dqo.c index 6c5d656aaa04..6ce9ddd887d0 100644 --- a/sys/dev/gve/gve_rx_dqo.c +++ b/sys/dev/gve/gve_rx_dqo.c @@ -972,7 +972,7 @@ gve_rx_cleanup_dqo(struct gve_priv *priv, struct gve_rx_ring *rx, int budget) * Prevent generation bit from being read after the rest of the * descriptor. */ - rmb(); + atomic_thread_fence_acq(); rx->cnt++; rx->dqo.tail = (rx->dqo.tail + 1) & rx->dqo.mask; diff --git a/sys/dev/gve/gve_sysctl.c b/sys/dev/gve/gve_sysctl.c index 7a091d9caa43..c96d082837a4 100644 --- a/sys/dev/gve/gve_sysctl.c +++ b/sys/dev/gve/gve_sysctl.c @@ -94,7 +94,7 @@ gve_setup_rxq_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_COUNTER_U64(ctx, list, OID_AUTO, "rx_mbuf_dmamap_err", CTLFLAG_RD, &stats->rx_mbuf_dmamap_err, - "Number of rx mbufs which couldnt be dma mapped"); + "Number of rx mbufs which could not be dma mapped"); SYSCTL_ADD_COUNTER_U64(ctx, list, OID_AUTO, "rx_mbuf_mclget_null", CTLFLAG_RD, &stats->rx_mbuf_mclget_null, @@ -170,7 +170,7 @@ gve_setup_txq_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, "tx_mbuf_collpase", CTLFLAG_RD, &stats->tx_mbuf_collapse, - "tx mbufs that had to be collpased"); + "tx mbufs that had to be collapsed"); SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, "tx_mbuf_defrag", CTLFLAG_RD, &stats->tx_mbuf_defrag, diff --git a/sys/dev/gve/gve_tx.c b/sys/dev/gve/gve_tx.c index e7e10e526cb9..04dde4f1a79b 100644 --- a/sys/dev/gve/gve_tx.c +++ b/sys/dev/gve/gve_tx.c @@ -240,15 +240,16 @@ gve_clear_tx_ring(struct gve_priv *priv, int i) } static void -gve_start_tx_ring(struct gve_priv *priv, int i, - void (cleanup) (void *arg, int pending)) +gve_start_tx_ring(struct gve_priv *priv, int i) { struct gve_tx_ring *tx = &priv->tx[i]; struct gve_ring_com *com = &tx->com; atomic_store_bool(&tx->stopped, false); - - NET_TASK_INIT(&com->cleanup_task, 0, cleanup, tx); + if (gve_is_gqi(priv)) + NET_TASK_INIT(&com->cleanup_task, 0, gve_tx_cleanup_tq, tx); + else + NET_TASK_INIT(&com->cleanup_task, 0, gve_tx_cleanup_tq_dqo, tx); com->cleanup_tq = taskqueue_create_fast("gve tx", M_WAITOK, taskqueue_thread_enqueue, &com->cleanup_tq); taskqueue_start_threads(&com->cleanup_tq, 1, PI_NET, "%s txq %d", @@ -297,10 +298,7 @@ gve_create_tx_rings(struct gve_priv *priv) com->db_offset = 4 * be32toh(com->q_resources->db_index); com->counter_idx = be32toh(com->q_resources->counter_index); - if (gve_is_gqi(priv)) - gve_start_tx_ring(priv, i, gve_tx_cleanup_tq); - else - gve_start_tx_ring(priv, i, gve_tx_cleanup_tq_dqo); + gve_start_tx_ring(priv, i); } gve_set_state_flag(priv, GVE_STATE_FLAG_TX_RINGS_OK); @@ -421,7 +419,7 @@ gve_tx_cleanup_tq(void *arg, int pending) * interrupt but they will still be handled by the enqueue below. * Completions born after the barrier WILL trigger an interrupt. */ - mb(); + atomic_thread_fence_seq_cst(); nic_done = gve_tx_load_event_counter(priv, tx); todo = nic_done - tx->done; diff --git a/sys/dev/gve/gve_tx_dqo.c b/sys/dev/gve/gve_tx_dqo.c index fab2d6d0f613..b4bcb1fd01c5 100644 --- a/sys/dev/gve/gve_tx_dqo.c +++ b/sys/dev/gve/gve_tx_dqo.c @@ -1031,7 +1031,7 @@ gve_tx_cleanup_dqo(struct gve_priv *priv, struct gve_tx_ring *tx, int budget) * Prevent generation bit from being read after the rest of the * descriptor. */ - rmb(); + atomic_thread_fence_acq(); type = compl_desc->type; if (type == GVE_COMPL_TYPE_DQO_DESC) { From nobody Fri Feb 14 15:11:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvb905wJKz5nF1q; Fri, 14 Feb 2025 15:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb9042gzz4KJl; Fri, 14 Feb 2025 15:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GG5+5WKzeYcboSIgFaJ0CMTrTj+xBBGOVC8Q50vhkHs=; b=IXSEUWRZKb5AavEx/CKE2x6HDsF+NxFWzSQGshq+sozscb4wiui70oJ4xh2pPHLDJ5Auyi O9rt+qy4/tLjQmq9j/+F909LZWe12vTZ5OT5zGPSBBDskg4VaN5q9df17smyPS1x87veOt 9G7FHtV5fDuNpZvWuugNYKhZy88aSy4b2z7KMENBy9TsEVQfozi6w0m66eoKKdh/AJxiH1 0u1Ig0j4EX+7ZD9HH+qkWtvhTRPozQzHXTzO0jsn2NVLszAdSYHGA5GY/TFmLQU9c/aVd8 fmkiUa/asPm/fd5z5ap1zbPXkO8giMj0m8BeMFcUrrXeaAUVCnlLgfbCHCauTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GG5+5WKzeYcboSIgFaJ0CMTrTj+xBBGOVC8Q50vhkHs=; b=G8khp17G+HkdG8H7A5j71xPzS7pF+ldueYw5EvIVLMUxijpgjAE/IYemTRrLOdx7W80LDL hIr3BzFXLf/RGNrHDbQjrarkHqT+mOFuvusi2185JqRnsqQIy9787S7lYCOkLR8cJwS754 hfDUFEPsllUiLMkdh9hnYyqp4JpQ2/UuD3kvORM58/v5y7ZwknI7HhYemidKV+cLFtTatP CnwDw/T9ZEZD8jbmW5s1IVxLXs2NUAmcVhpQ7MGxV6tMeMlVk9bX8yDfx97zpMdvRqCSRr dI3o5S0jo63aoe4JekCD7XYO4NIM6XpLBYE+aISzJ3oDfcHjy2AqNhNLfgWiiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545860; a=rsa-sha256; cv=none; b=T18vXHxwvkmuhh0vlkxYaOriCDXF1jSspabhFjR+UR+3iRBjel7QrQKeBNP88EneoT8xZN Y+N04AapkdlQl3R8jetU7wuPB/MWZfCNYek4xXKXs/qjhzGZPF4rv4u5u552ydfxhrARpP gf5b96EONr6CpxxE3b074kMXNbyqLBOicM2qOAGtQumTJrHKL/VLtHIVXdoAEakpn2pBcN npSYe1MmfNGTjqqqiS+Wv14DO7KU3zsTza+HTZNj+/lOLsiiZMlopoLrz4yUmmxQbCafn7 b1Y54BtMSAY8jtZPshscArGWxupL9Ggw1SiXygvVD+Ob5Jlgnlpy8jrwYeeREQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb9030fgzcYG; Fri, 14 Feb 2025 15:11: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 51EFB0Di063416; Fri, 14 Feb 2025 15:11:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFB0tZ063413; Fri, 14 Feb 2025 15:11:00 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:11:00 GMT Message-Id: <202502141511.51EFB0tZ063413@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 73c3fe4db3eb - main - gve: Fix qpl_buf_head being initialized improperly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73c3fe4db3ebc2bd6cb732aae77ea017fd376d22 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=73c3fe4db3ebc2bd6cb732aae77ea017fd376d22 commit 73c3fe4db3ebc2bd6cb732aae77ea017fd376d22 Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 15:05:46 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:08:23 +0000 gve: Fix qpl_buf_head being initialized improperly Currently, for DQO QPL our MPASS assertion on qpl_buf_head for available pending_pkts (i.e. not holding a packet) fails due to incorrect initialization. The MPASS fails on the first run of packets through the ring when INVARIANTS is on, and when INVARIANTS is off, things work without a bug. The MPASS guards against improper reaping of "pending_pkt" objects, and thus was failing for the first run through the ring. By correctly initializing the objects in this patch we make the MPASS not fail on the first run too. Signed-off-by: Vee Agarwal Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48968 --- sys/dev/gve/gve_tx_dqo.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/sys/dev/gve/gve_tx_dqo.c b/sys/dev/gve/gve_tx_dqo.c index b4bcb1fd01c5..bf314ef95173 100644 --- a/sys/dev/gve/gve_tx_dqo.c +++ b/sys/dev/gve/gve_tx_dqo.c @@ -43,6 +43,13 @@ gve_unmap_packet(struct gve_tx_ring *tx, bus_dmamap_unload(tx->dqo.buf_dmatag, pending_pkt->dmamap); } +static void +gve_clear_qpl_pending_pkt(struct gve_tx_pending_pkt_dqo *pending_pkt) +{ + pending_pkt->qpl_buf_head = -1; + pending_pkt->num_qpl_bufs = 0; +} + static void gve_free_tx_mbufs_dqo(struct gve_tx_ring *tx) { @@ -54,10 +61,9 @@ gve_free_tx_mbufs_dqo(struct gve_tx_ring *tx) if (!pending_pkt->mbuf) continue; - if (gve_is_qpl(tx->com.priv)) { - pending_pkt->qpl_buf_head = -1; - pending_pkt->num_qpl_bufs = 0; - } else + if (gve_is_qpl(tx->com.priv)) + gve_clear_qpl_pending_pkt(pending_pkt); + else gve_unmap_packet(tx, pending_pkt); m_freem(pending_pkt->mbuf); @@ -880,8 +886,7 @@ gve_reap_qpl_bufs_dqo(struct gve_tx_ring *tx, */ atomic_add_rel_32(&tx->dqo.qpl_bufs_produced, pkt->num_qpl_bufs); - pkt->qpl_buf_head = -1; - pkt->num_qpl_bufs = 0; + gve_clear_qpl_pending_pkt(pkt); } static uint64_t @@ -981,11 +986,13 @@ gve_clear_tx_ring_dqo(struct gve_priv *priv, int i) gve_free_tx_mbufs_dqo(tx); - for (j = 0; j < tx->dqo.num_pending_pkts - 1; j++) { - tx->dqo.pending_pkts[j].next = j + 1; + for (j = 0; j < tx->dqo.num_pending_pkts; j++) { + if (gve_is_qpl(tx->com.priv)) + gve_clear_qpl_pending_pkt(&tx->dqo.pending_pkts[j]); + tx->dqo.pending_pkts[j].next = + (j == tx->dqo.num_pending_pkts - 1) ? -1 : j + 1; tx->dqo.pending_pkts[j].state = GVE_PACKET_STATE_FREE; } - tx->dqo.pending_pkts[tx->dqo.num_pending_pkts - 1].next = -1; tx->dqo.free_pending_pkts_csm = 0; atomic_store_rel_32(&tx->dqo.free_pending_pkts_prd, -1); From nobody Fri Feb 14 15:22:55 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvbQl6dC4z5nFf2; Fri, 14 Feb 2025 15:22: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbQl67qVz3CVr; Fri, 14 Feb 2025 15:22:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QazRi4cPHELZcpryWW4KtfqVwMBpVDTD+YcyP/oUf/c=; b=VG3QLVkkgpC4YO/Fw2eYCdW/h4k6UwccTHGgqrHChhKmVHgp/aHjxNjRyLHwUZHfHR0nQz /bZZg5ti+x1+PDk04CrjX0HMVn1EW3f5qSFV+ge71228vJbl4JGaFREk2aOIBT7kWKZL0b cBVyx6+bmN+fBmY8SbEGQcSUIGfLx5WM/3qtZYx1RqjhQ/8MLvnpCABXEgSDCuYS2M66Gj 4UwWrajJqOHcgYa9fyablZErTOZeXx/3zVxXDzmHOi1Sk55WQq94M9K/OZhf59o8Zx2Lni C5Uo5/IDlqcs45UCq0y/KiYgPSi1S4NVwgHM3fVz7RhuCHeY1wBDhZRKoyY7Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QazRi4cPHELZcpryWW4KtfqVwMBpVDTD+YcyP/oUf/c=; b=SZ+vArDEB9It20jtWEc5jQJBGDO677DAECg2eCqyMtpZfpcSP8WGUd3crUnVr2CYa37Ibf 10LmbCnqqCpQ3pCQwTJbYlF1IKVSBFRrB1bEMatrNlm/gevYHAMciHG1EE4INOPVZiC/m4 YO9075Sj27lB0KhAB+yR8hyYAoXO3IjmGHnP8Ta1LMzsUeNfFaBXWutbFNGUOO55iAv/UK tTfuHpkfMa3BREGIjGcylkC+PNTYn8B7xGzPLJ82UC0KbRLO8aROKGLI7yc4GoSeWNLlJ8 id3B3E+7nopz/9sgwjqOORQfb4c5sgstrG/NRAAUAAKfX9EXvyPTEuF/KZfRow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739546575; a=rsa-sha256; cv=none; b=R1ror2X49sPtbHqdEpvwEoIZ2/9bd/Wnf/h7V8wTZvs+RN1B7Lxv/x3ag9nhrNkrbMx2lu v0UU3l5x0DveGZcEqObJn9xagMXlijskOBTBkaqnEbWoBEagmitUh8VkGXcGLQrR+OY2gJ NA4SmtGJIA1mYduhxLK+4v4YQQ3m1JHw9agIKdLR0Dz6AwZIqKSOhqBj+nXZKv9ZRO5Uei Uyob0OqKN/7VydSNScLM+BitHB8Hpd/x4VDDH0SzoPNNFl38VZUUti9QHdOYTsRySiwV7M Prha13icTFw31+gaj3S1qrN9s196fU9OJbVzhZ/YHuQ62p9pTWSsMhM+WPMV2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbQl4q13zcdf; Fri, 14 Feb 2025 15:22: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 51EFMtq6088646; Fri, 14 Feb 2025 15:22:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFMts5088643; Fri, 14 Feb 2025 15:22:55 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:22:55 GMT Message-Id: <202502141522.51EFMts5088643@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jesper Schmitz Mouridsen Subject: git: b96864412700 - main - mtw: Use correct cmd for radio List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jsm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b96864412700a2a5b5e9aaf5d6513ec062cfc96f Auto-Submitted: auto-generated The branch main has been updated by jsm: URL: https://cgit.FreeBSD.org/src/commit/?id=b96864412700a2a5b5e9aaf5d6513ec062cfc96f commit b96864412700a2a5b5e9aaf5d6513ec062cfc96f Author: Jesper Schmitz Mouridsen AuthorDate: 2025-02-14 15:17:45 +0000 Commit: Jesper Schmitz Mouridsen CommitDate: 2025-02-14 15:20:40 +0000 mtw: Use correct cmd for radio Approved by: adrian, wireless Differential Revision: https://reviews.freebsd.org/D49003 --- sys/dev/usb/wlan/if_mtw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_mtw.c b/sys/dev/usb/wlan/if_mtw.c index d7970af5d876..51398134ff9d 100644 --- a/sys/dev/usb/wlan/if_mtw.c +++ b/sys/dev/usb/wlan/if_mtw.c @@ -4384,7 +4384,7 @@ mtw_mcu_radio(struct mtw_softc *sc, int func, uint32_t val) cmd.r2 = htole32(val); cmd.r3 = 0; cmd.r4 = 0; - return (mtw_mcu_cmd(sc, 8, &cmd, sizeof(struct mtw_mcu_cmd_16))); + return (mtw_mcu_cmd(sc, 20, &cmd, sizeof(struct mtw_mcu_cmd_16))); } static void mtw_init_locked(struct mtw_softc *sc) From nobody Fri Feb 14 15:24:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvbSP4vQ6z5nFjw; Fri, 14 Feb 2025 15:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbSP4LdWz3DMT; Fri, 14 Feb 2025 15:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RCTpEGt7C4aU1d4dpBY4+07+udy8OA2c211gOSni1Rw=; b=S5E+TbCKUfn/n6XrfWxCHyaBWoeAynHyUa+d1gJdHQsjpV7tCzoHmqRley4Kh+bGJdman0 AtvXOFMxnVOlONpA7XsRKdxoCfXf0eQIFe61gI322uvA0Ty/sxfUOwHVIWB9zLOwdwa51p ZGgRdQPDNGUZ28gyxMJCKyFOJUjPWCHtJzeLh6EgcEqMLVUWp+cVY9/aXOz9vwEwUydDnb bc57M6FdNZzScMO45BIA2Y0YJ7yo/T7H0gbhurST5JkHkNN/YXVvvoIeDJFkxOJJJZoejV 5WsYbo2hjssEkfiTgCg7N7rnkhSvb+QyRtdE3kawrE4ql0Jj3nGxs2JHsuTwcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RCTpEGt7C4aU1d4dpBY4+07+udy8OA2c211gOSni1Rw=; b=lxMVe+YXYhqCbarMN9hTjEo8bKApCx0D4iyTjSDj2q35cH8LlT0tSN0XtGW4f/eoOoiSiF KaUUG3gfxOcAMMYSE6GTst9KzCiTQvkBZ4b0wu6GIoW0sEVycOSXVYLdfznuxigYC36RWp 1O7C6NQcqS81Inh5ezVOIFNmVT3I5Q9KQ8lX7oY7Wq+LKaypWjaOSHi0jRJouglhPSFfrX YRBpCvAQQjChivmVp4Gw4P3lkau7DJgf100uN16nY8DDlr233rTyLUjBYW5qYgZ2K7gFei f16Kil69sCIavqpxcLWIaZTAmp3e90m14eDPyEfIFkYhifLxnPKCWFcIdevEIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739546661; a=rsa-sha256; cv=none; b=umfIQ+iEi+k1dqNL2XNfhHebf8XqQ8eSBs4NSBgAITj+W3QLmXVXPr85MEV6No6itczsjt bO4rnFMf+bybFJmclxgVJCxBE0D0HFc8dVlLYB4G8boRQACVI2sP5RJnfl79Z90ITS0ZJo 385LLlWztw0r4Xew7tswzkIngdAUpddYHYxJbd6tQr5noztqK1Tz6NKNk/iXJQeSpue79S tFSN16fMGyAdZJVVKSSht39U0q0eGOsIBs2FP9eWTUN7j86Ifp7OpeUdzHllfhEObyKiG4 eD85+JhLUcX1wPGOH2PDgMTJNs6z1Aauu1jbHBLQcnur6R5DuLyBU4u2ezauNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbSP3hgDzcdh; Fri, 14 Feb 2025 15:24: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 51EFOL4Z089167; Fri, 14 Feb 2025 15:24:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFOLCU089164; Fri, 14 Feb 2025 15:24:21 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:24:21 GMT Message-Id: <202502141524.51EFOLCU089164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 685fb4253819 - main - pf: Log the intended action when a NAT rule matches a packet List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 685fb42538199fb03a4cf0f3763c69f146366794 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=685fb42538199fb03a4cf0f3763c69f146366794 commit 685fb42538199fb03a4cf0f3763c69f146366794 Author: Franco Fichtner AuthorDate: 2025-02-14 15:14:27 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:24:15 +0000 pf: Log the intended action when a NAT rule matches a packet When a packet matches a binat/nat/rdr rule, pf logs the match. The log metadata includes the rule's action on the packet, e.g., PF_PASS. NAT rules have their own actions: PF_BINAT, PF_NAT, PF_RDR. Before commit 948e8413aba0 ("pflog: pass the action to pflog directly"), pflog_packet() would obtain the action from the rule definition, whereas after that commit the action is passed as a parameter. When a NAT rule matches, we want to log the rule action, but after that commit, PF_PASS is hard-coded. Restore the previous behaviour. Add a regression test which installs a redirect, logs packets matching the redirect rule, and verifies that the corresponding pflog entry includes the correct action. Reviewed by: kp Fixes: 948e8413aba0 ("pflog: pass the action to pflog directly") MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: OPNsense Differential Revision: https://reviews.freebsd.org/D48911 --- sys/netpfil/pf/pf.c | 2 +- tests/sys/netpfil/pf/pflog.sh | 59 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c5042a7685c2..236e68457e81 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5535,7 +5535,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, KASSERT(nk != NULL, ("%s: null nk", __func__)); if (nr->log) { - PFLOG_PACKET(PF_PASS, PFRES_MATCH, nr, a, + PFLOG_PACKET(nr->action, PFRES_MATCH, nr, a, ruleset, pd, 1); } diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh index 8288d1d263e8..d885364e0df7 100644 --- a/tests/sys/netpfil/pf/pflog.sh +++ b/tests/sys/netpfil/pf/pflog.sh @@ -264,10 +264,69 @@ unspecified_v6_cleanup() pft_cleanup } +atf_test_case "rdr_action" "cleanup" +rdr_head() +{ + atf_set descr 'Ensure that NAT rule actions are logged correctly' + atf_set require.user root +} + +rdr_action_body() +{ + j="pflog:rdr_action" + epair_c=$(vnet_mkepair) + epair_srv=$(vnet_mkepair) + + vnet_mkjail ${j}srv ${epair_srv}a + vnet_mkjail ${j}gw ${epair_srv}b ${epair_c}a + vnet_mkjail ${j}c ${epair_c}b + + jexec ${j}srv ifconfig ${epair_srv}a 198.51.100.1/24 up + # No default route in srv jail, to ensure we're NAT-ing + jexec ${j}gw ifconfig ${epair_srv}b 198.51.100.2/24 up + jexec ${j}gw ifconfig ${epair_c}a 192.0.2.1/24 up + jexec ${j}gw sysctl net.inet.ip.forwarding=1 + jexec ${j}c ifconfig ${epair_c}b 192.0.2.2/24 up + jexec ${j}c route add default 192.0.2.1 + + jexec ${j}gw pfctl -e + jexec ${j}gw ifconfig pflog0 up + pft_set_rules ${j}gw \ + "rdr log on ${epair_srv}b proto tcp from 198.51.100.0/24 to any port 1234 -> 192.0.2.2 port 1234" \ + "block quick inet6" \ + "pass in log" + + jexec ${j}gw tcpdump -n -e -ttt --immediate-mode -l -U -i pflog0 >> ${PWD}/pflog.txt & + sleep 1 # Wait for tcpdump to start + + # send a SYN to catch in the log + jexec ${j}srv nc -N -w 0 198.51.100.2 1234 + + echo "Log" + cat ${PWD}/pflog.txt + + # log line generated for rdr hit (pre-NAT) + atf_check -o match:".*.*rule 0/0\(match\): rdr in on ${epair_srv}b: 198.51.100.1.[0-9]* > 198.51.100.2.1234: Flags \[S\].*" \ + cat pflog.txt + + # log line generated for pass hit (post-NAT) + atf_check -o match:".*.*rule 1/0\(match\): pass in on ${epair_srv}b: 198.51.100.1.[0-9]* > 192.0.2.2.1234: Flags \[S\].*" \ + cat pflog.txt + + # only two log lines shall be written + atf_check -o match:2 grep -c . pflog.txt +} + +rdr_action_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "malformed" atf_add_test_case "matches" + atf_add_test_case "rdr_action" atf_add_test_case "state_max" atf_add_test_case "unspecified_v4" atf_add_test_case "unspecified_v6" From nobody Fri Feb 14 15:24:22 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvbSR4BZsz5nG3G; Fri, 14 Feb 2025 15:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbSQ5Jc4z3DP2; Fri, 14 Feb 2025 15:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LxS7MoCsXs6gxrfooWsTxUKTzgy/ce+vTiR16rjPu6Y=; b=ebtgsuUaPT82vWF0fkVQf8xIcA3GTDMWZgHuNkQPwuunSr9ptECv7lhyIbaTicogoFhFZ3 p5FI4ajt6iU92mVu8mwRd4RoUYkkUo0FWJ5VlsTsV3mRQUYHk1h6OU+Izui1iMNxZ4Qwxl dlp6mj9iRGB/49VWvDfISLg9BPldYTBpWQk4QlK0jGt+4uwDW/LIpsGsbm6/bq1+MAq0Nw 4csXHolmEJ7EJTIE6i/xgkeLMjWKzMJ+bk+Va7X6lkhsXBKfHIgLom+vZcuCRqIjFczVhx W+hDXQBOHH5DzeXTK48HasYtHDdOyD6Xv+qtcmX8KkkjVgmc7/USArn6eLcN7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LxS7MoCsXs6gxrfooWsTxUKTzgy/ce+vTiR16rjPu6Y=; b=WRXH8TtZQ2pTqSDf87gaPpKaClMLXJ+kwRk+vI0VkIiVGqveGND+2kO/0wnI7a+zqafBPL BrniNBe+qW7I0Ef4CNBQwRnnkHRQL5kWw2tyP8EH1L41AkXwg0wUACivGi9LLCCID0i0x4 he+i/ZRskkPUTCcc04IxYKZR5oDPWFGoGLOdecYtm3JO9BYC4fdb3zVArC9lcDyuwlubFM Dm1SEH7+89fBPxX7DoOfLTb4AkqimQvFuN3OcMQKG1Frimup39aMSvkvPvWcPCgZXSiWuA QG/b1kE8w2Mx9AQU4ZT4NhYAhMejDf2fizGUNWkLOzRwVQgjA6xbbJlfHhjhUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739546662; a=rsa-sha256; cv=none; b=bloU/2CA1j6gmGAokv2RZezPYwkOXmcFXy3HLwBxGyQIVXg/hSDzq4dXSyjBKcxihz71yY S6SpfZEaCfChq/igBRR9eKWCEq/YM/SqB//Tt1LTMZgJmioFJlQRy+XA8ldmK0VWwtczU8 3nAts6ONUQ6b4JNotzHpMLeEgzVxE8V3YPoNlnHGauij62ziOCo0ZOcULqlAvIozdyp9eW iwwXtMWMpLscAbJeaXHnDvRvPNP3T9Guj4eOBgccRuABCkTLaYmv0rFt+nEuqb/q0GDHVN 6RktBJRnjTNpZ6deduGrZXcckJ++pbzSXKSKZBT3BVidAwgV8KQ3ovDMx4z/Ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbSQ4rrZzcgf; Fri, 14 Feb 2025 15:24: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 51EFOMSp089200; Fri, 14 Feb 2025 15:24:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFOMJm089197; Fri, 14 Feb 2025 15:24:22 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:24:22 GMT Message-Id: <202502141524.51EFOMJm089197@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: d46d45bf4b19 - main - tools/fib_multibind: Remove a redundant calculation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d46d45bf4b196cd2daba42d5413f8e4d7ffedeed Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d46d45bf4b196cd2daba42d5413f8e4d7ffedeed commit d46d45bf4b196cd2daba42d5413f8e4d7ffedeed Author: Mark Johnston AuthorDate: 2025-02-14 15:16:52 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:24:15 +0000 tools/fib_multibind: Remove a redundant calculation No functional change intended. Reported by: kevans Fixes: 3fa552149885 ("tools: Add a small program to demonstrate FIB handling in bind(2)") Sponsored by: Klara, Inc. Sponsored by: Stormshield --- tools/tools/fib_multibind/sink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/fib_multibind/sink.c b/tools/tools/fib_multibind/sink.c index fe93a66fe266..8f8c31f0c8ea 100644 --- a/tools/tools/fib_multibind/sink.c +++ b/tools/tools/fib_multibind/sink.c @@ -158,7 +158,7 @@ main(int argc, char **argv) sc.nfibs = 1; } - sc.fds = calloc(all ? sc.nfibs : 1, sizeof(int)); + sc.fds = calloc(sc.nfibs, sizeof(int)); if (sc.fds == NULL) err(1, "calloc"); for (int i = 0; i < sc.nfibs; i++) { From nobody Fri Feb 14 15:33:44 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvbgD3JTnz5nGBJ; Fri, 14 Feb 2025 15:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbgD2Vbrz3Hnt; Fri, 14 Feb 2025 15:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHMsJEfYob+5gJoBuqqkUp8S/WavlIyWspwmuh4jtZc=; b=nSbDeH5yu33QSRgloAo/YbDGPmvZ2QyBb0mSSuulfX48teO75Z3vsRqauwm2bkla79SpjM GtfTuPv/3B8LaZx1moa0aoJ74dBJFandG1kNNOSPz56zNGua9GB1qCEgZ1OxpiBT3yI9NR FpoJsvTKaR8POSJkHk3zmQFq4qWdyNVnkqCggTeEkB1OBkbKlgxYUEOhQVowSQfoWwdXrn ASn469AafGq4FwhTB+MEBEdKsjtKv2azpWhJZ0yOU2caVogMpUYgZX7xXo4qBiZ77WOpUH YZiNfy9UUGsy+fJN1usXUVpyF5nfV9JFfmZVMGDw8MmDh/HLRdz/zPF5t2fbRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHMsJEfYob+5gJoBuqqkUp8S/WavlIyWspwmuh4jtZc=; b=r3cZxB3cVetpxrq9FLVIozKgPYSWEIBHtdtQGXhxaQLurfeyzc5p5HyuhmBItEtpljO2RL Y2rjCdfaWopV2oFo6jUFrryn6e6ogQ+CwhqLQ/ZPKgkNv4Qd5zKbiPCZribDNSgfis3ahP 7jkwjmtX4RDtv//3hpJIYRw1GmGJRzWd/5ZwftvrOY0ZoMM53OMULKPRCEdNk5WcLvQjda RJYeibiLAlsh4fBeVEz0NNVyyXXVtbvTbk23/CtBJQNqNwEN8uAaPFC6qJWL6VOgK+AXIu cbTD0uaWHQCiUHRMruP78stsQpvwUqwV/R13bvPTi79L8X5pFMRPWjeLJl7Oaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739547224; a=rsa-sha256; cv=none; b=SzCYUhX83IxGck6MpCYL3M5gyBI6BWlac14OMxFVdMP+bFlGnCdaNm3kY2qe2Xgl/g2RFn +ZvU5TQGEZaNVeeKLZbgHtQ8yyWWKzpLobJxKcRcUNamPnF5m+fmrMc3/Lmv+A1C8KIYwt TduzRsceTY7zfzZImIWeoy1A52RzA4Ad3NCIwQdMhynRXTLar0/OYvXYT5iKQGH9HucS7E EXIL7U7pJDysDoOxKCKKDb6phUWTp9fQNjcC2PmziIovJXaZQZXoInTtnocIu/mxaqs19l FqZyfjQ09GKq/UJ10ROmtO4S9LrZVqowmqNOEzXP5vCPYkIiZ6pLsoLbscesCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbgD1mf0zchN; Fri, 14 Feb 2025 15:33: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 51EFXipX007898; Fri, 14 Feb 2025 15:33:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFXinw007896; Fri, 14 Feb 2025 15:33:44 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:33:44 GMT Message-Id: <202502141533.51EFXinw007896@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 649a910e34b0 - main - bhyve: Avoid holding /dev/pci open unnecessarily List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 649a910e34b0314647d16a94f8af6de0f4cfd4b5 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=649a910e34b0314647d16a94f8af6de0f4cfd4b5 commit 649a910e34b0314647d16a94f8af6de0f4cfd4b5 Author: Mark Johnston AuthorDate: 2025-02-14 15:25:08 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:25:08 +0000 bhyve: Avoid holding /dev/pci open unnecessarily Some device models, LPC in particular, will call pci_host_read_config() when probing for devices. Currently this results in pcifd_init() opening /dev/pci, and thus bhyve holds the fd open even when it's not needed. Modify pci_host_{read,write}_config() to open /dev/pci independent of the global pcifd. This means that these routines can only be used during VM initialization, as capsicum will prevent further opens afterward. Introduce internal wrappers which use the global pcifd, intended for the passthru code. Reviewed by: jhb MFC after: 3 weeks Fixes: 563fd2240e13 ("bhyve: export funcs for read/write pci config") Differential Revision: https://reviews.freebsd.org/D48908 --- usr.sbin/bhyve/pci_passthru.c | 119 +++++++++++++++++++++++++++++------------- 1 file changed, 83 insertions(+), 36 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index b8ac782bd7be..61983010192a 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -120,13 +120,24 @@ msi_caplen(int msgctrl) } static int -pcifd_init(void) +pcifd_open(void) { - pcifd = open(_PATH_DEVPCI, O_RDWR, 0); - if (pcifd < 0) { + int fd; + + fd = open(_PATH_DEVPCI, O_RDWR, 0); + if (fd < 0) { warn("failed to open %s", _PATH_DEVPCI); - return (1); + return (-1); } + return (fd); +} + +static int +pcifd_init(void) +{ + pcifd = pcifd_open(); + if (pcifd < 0) + return (1); #ifndef WITHOUT_CAPSICUM cap_rights_t pcifd_rights; @@ -143,43 +154,75 @@ pcifd_init(void) return (0); } -uint32_t -pci_host_read_config(const struct pcisel *sel, long reg, int width) +static uint32_t +host_read_config(int fd, const struct pcisel *sel, long reg, int width) { struct pci_io pi; - if (pcifd < 0 && pcifd_init()) { - return (0); - } - bzero(&pi, sizeof(pi)); pi.pi_sel = *sel; pi.pi_reg = reg; pi.pi_width = width; - if (ioctl(pcifd, PCIOCREAD, &pi) < 0) - return (0); /* XXX */ + if (ioctl(fd, PCIOCREAD, &pi) < 0) + return (0); /* XXX */ else return (pi.pi_data); } -void -pci_host_write_config(const struct pcisel *sel, long reg, int width, +static uint32_t +passthru_read_config(const struct pcisel *sel, long reg, int width) +{ + return (host_read_config(pcifd, sel, reg, width)); +} + +uint32_t +pci_host_read_config(const struct pcisel *sel, long reg, int width) +{ + uint32_t ret; + int fd; + + fd = pcifd_open(); + if (fd < 0) + return (0); + ret = host_read_config(fd, sel, reg, width); + (void)close(fd); + return (ret); +} + +static void +host_write_config(int fd, const struct pcisel *sel, long reg, int width, uint32_t data) { struct pci_io pi; - if (pcifd < 0 && pcifd_init()) { - return; - } - bzero(&pi, sizeof(pi)); pi.pi_sel = *sel; pi.pi_reg = reg; pi.pi_width = width; pi.pi_data = data; - (void)ioctl(pcifd, PCIOCWRITE, &pi); /* XXX */ + (void)ioctl(fd, PCIOCWRITE, &pi); /* XXX */ +} + +static void +passthru_write_config(const struct pcisel *sel, long reg, int width, + uint32_t data) +{ + host_write_config(pcifd, sel, reg, width, data); +} + +void +pci_host_write_config(const struct pcisel *sel, long reg, int width, + uint32_t data) +{ + int fd; + + fd = pcifd_open(); + if (fd < 0) + return; + host_write_config(fd, sel, reg, width, data); + (void)close(fd); } #ifdef LEGACY_SUPPORT @@ -224,24 +267,24 @@ cfginitmsi(struct passthru_softc *sc) * Parse the capabilities and cache the location of the MSI * and MSI-X capabilities. */ - sts = pci_host_read_config(&sel, PCIR_STATUS, 2); + sts = passthru_read_config(&sel, PCIR_STATUS, 2); if (sts & PCIM_STATUS_CAPPRESENT) { - ptr = pci_host_read_config(&sel, PCIR_CAP_PTR, 1); + ptr = passthru_read_config(&sel, PCIR_CAP_PTR, 1); while (ptr != 0 && ptr != 0xff) { - cap = pci_host_read_config(&sel, ptr + PCICAP_ID, 1); + cap = passthru_read_config(&sel, ptr + PCICAP_ID, 1); if (cap == PCIY_MSI) { /* * Copy the MSI capability into the config * space of the emulated pci device */ sc->psc_msi.capoff = ptr; - sc->psc_msi.msgctrl = pci_host_read_config(&sel, - ptr + 2, 2); + sc->psc_msi.msgctrl = + passthru_read_config(&sel, ptr + 2, 2); sc->psc_msi.emulated = 0; caplen = msi_caplen(sc->psc_msi.msgctrl); capptr = ptr; while (caplen > 0) { - u32 = pci_host_read_config(&sel, capptr, + u32 = passthru_read_config(&sel, capptr, 4); pci_set_cfgdata32(pi, capptr, u32); caplen -= 4; @@ -256,7 +299,7 @@ cfginitmsi(struct passthru_softc *sc) msixcap_ptr = (char *)&msixcap; capptr = ptr; while (caplen > 0) { - u32 = pci_host_read_config(&sel, capptr, + u32 = passthru_read_config(&sel, capptr, 4); memcpy(msixcap_ptr, &u32, 4); pci_set_cfgdata32(pi, capptr, u32); @@ -265,7 +308,7 @@ cfginitmsi(struct passthru_softc *sc) msixcap_ptr += 4; } } - ptr = pci_host_read_config(&sel, ptr + PCICAP_NEXTPTR, + ptr = passthru_read_config(&sel, ptr + PCICAP_NEXTPTR, 1); } } @@ -301,7 +344,7 @@ cfginitmsi(struct passthru_softc *sc) */ if ((sts & PCIM_STATUS_CAPPRESENT) != 0 && sc->psc_msi.capoff == 0) { int origptr, msiptr; - origptr = pci_host_read_config(&sel, PCIR_CAP_PTR, 1); + origptr = passthru_read_config(&sel, PCIR_CAP_PTR, 1); msiptr = passthru_add_msicap(pi, 1, origptr); sc->psc_msi.capoff = msiptr; sc->psc_msi.msgctrl = pci_get_cfgdata16(pi, msiptr + 2); @@ -535,6 +578,8 @@ cfginitbar(struct passthru_softc *sc) * Initialize BAR registers */ for (i = 0; i <= PCI_BARMAX; i++) { + uint8_t lobits; + bzero(&bar, sizeof(bar)); bar.pbi_sel = sc->psc_sel; bar.pbi_reg = PCIR_BAR(i); @@ -580,8 +625,8 @@ cfginitbar(struct passthru_softc *sc) return (-1); /* Use same lobits as physical bar */ - uint8_t lobits = pci_host_read_config(&sc->psc_sel, PCIR_BAR(i), - 0x01); + lobits = (uint8_t)passthru_read_config(&sc->psc_sel, + PCIR_BAR(i), 0x01); if (bartype == PCIBAR_MEM32 || bartype == PCIBAR_MEM64) { lobits &= ~PCIM_BAR_MEM_BASE; } else { @@ -628,7 +673,7 @@ cfginit(struct pci_devinst *pi, int bus, int slot, int func) intpin = pci_get_cfgdata8(pi, PCIR_INTPIN); for (int i = 0; i <= PCIR_MAXLAT; i += 4) { pci_set_cfgdata32(pi, i, - pci_host_read_config(&sc->psc_sel, i, 4)); + passthru_read_config(&sc->psc_sel, i, 4)); } pci_set_cfgdata16(pi, PCIR_COMMAND, cmd); pci_set_cfgdata8(pi, PCIR_INTLINE, intline); @@ -987,15 +1032,17 @@ passthru_cfgread_default(struct passthru_softc *sc, * device's config space. */ if (coff == PCIR_COMMAND) { + uint32_t st; + if (bytes <= 2) return (-1); - *rv = pci_host_read_config(&sc->psc_sel, PCIR_STATUS, 2) << 16 | - pci_get_cfgdata16(pi, PCIR_COMMAND); + st = passthru_read_config(&sc->psc_sel, PCIR_STATUS, 2); + *rv = (st << 16) | pci_get_cfgdata16(pi, PCIR_COMMAND); return (0); } /* Everything else just read from the device's config space */ - *rv = pci_host_read_config(&sc->psc_sel, coff, bytes); + *rv = passthru_read_config(&sc->psc_sel, coff, bytes); return (0); } @@ -1078,7 +1125,7 @@ passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi, return (-1); /* Update the physical status register. */ - pci_host_write_config(&sc->psc_sel, PCIR_STATUS, val >> 16, 2); + passthru_write_config(&sc->psc_sel, PCIR_STATUS, val >> 16, 2); /* Update the virtual command register. */ cmd_old = pci_get_cfgdata16(pi, PCIR_COMMAND); @@ -1087,7 +1134,7 @@ passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi, return (0); } - pci_host_write_config(&sc->psc_sel, coff, bytes, val); + passthru_write_config(&sc->psc_sel, coff, bytes, val); return (0); } From nobody Fri Feb 14 15:33:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvbgF56VXz5nGS8; Fri, 14 Feb 2025 15:33: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbgF34nvz3Hg5; Fri, 14 Feb 2025 15:33:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJ5d7thZv0ZEVgrhSTv/unK/GQwEdX+FrAxOYez+L7Y=; b=cqngB10Ly8BY+UmKflUB3QBRoHOELZ2UGej7bOvXa39bc21KjZ9LtJBbppxAlx7aFeWiaH TkrtbLdoiy9jkAZ8dJl3r2uYMtcYxXgIHPNkED4vt2A6J0GVqQYfjiOBGthktdjfXeJKHY 7EBiiT4AKBOAUxNyG7mriUgrMpNEKfzh0GbwilZ5ATuD2ItiCbQ6qcLkFIdeHn5pL8/dTU i+rMch5PXuW0K1aCcHzG+AIMJo4ZO4ydaqY74d+WftWjOxQKvHgsjRoFNv88ShNk5b6E1d FJV/nZcW6mDGk84aqwLV1EKVTYECfAGLGOKEXMFUXwob/1IAHRhAEhXsQj1d3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJ5d7thZv0ZEVgrhSTv/unK/GQwEdX+FrAxOYez+L7Y=; b=yJt2cgJg8eln1dyiuQY9GadBz5HsnDM33KoZl/G+FiiAqDQrlxMQe79x4EH5T6O6MGcPqS agHudC38tu3tf0TLNZ/1HZPbotGYkSsrb/iJqyhf00kZwRf20USFBejH89Imj841imY39l dBoqnaQX8tHhnOHWof/EQg3HYnjh6wc463Fc2lcW4X0L+K05hTAWCI2EwsKUVPNKNTfMLh SVTOZjV6n4XlfSKDv2nIuWpoX0kHXEFPc4is//77EnmSpuDR+rqGJwahySm+gUqnUHRIeW a530NxES06fC6Xig1lmvvMrWAh0leThqmdyJcBXQqmqY7v7uGzCrZ6GkM08cbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739547225; a=rsa-sha256; cv=none; b=rOs4jRsxzX6Nsos7Mmd4nufEk/9Uix+AP9K9xhTUuvmKY3oReH4Bg1bFoXSCWurZ2eq1wt VFfVD8BuDVfzjkWqWr9FMFy1oAWXy+QrxUSIynE72Orwge6tCGqJY0gBnCxlBL8Ova+zXM 7wPu6bI+QjJPZYledFLW54pAOPA+g0/JWU9mjO7eqJ9SWWbrjU632/Vii/FYrM5awN0iOg P5deeWDid0bsDjsGpEIclzZlohpCr6sqjhSCdqb3RNHQZiQKowvypOfvDfIoVaAkHxM63X Mlhrmc+I07xM98k7oHbgwZElcQ5qmmpqfUuRqYwT+oM1jChfS7irmVKV8633VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbgF2gR4zdFy; Fri, 14 Feb 2025 15:33: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 51EFXjPE007931; Fri, 14 Feb 2025 15:33:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFXjjW007928; Fri, 14 Feb 2025 15:33:45 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:33:45 GMT Message-Id: <202502141533.51EFXjjW007928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: fbacadf103dc - main - vmm: Add vmm_fence.c to SRCS for vmm.ko on riscv List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fbacadf103dc81cea0f233f11adb73ef43ee4a75 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fbacadf103dc81cea0f233f11adb73ef43ee4a75 commit fbacadf103dc81cea0f233f11adb73ef43ee4a75 Author: Mark Johnston AuthorDate: 2025-02-14 15:26:49 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:26:49 +0000 vmm: Add vmm_fence.c to SRCS for vmm.ko on riscv Fixes: 8f6b66a9d3f2 ("riscv vmm: implement SBI RFNC extension.") --- sys/modules/vmm/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile index c990852ae441..a6ea90567bb8 100644 --- a/sys/modules/vmm/Makefile +++ b/sys/modules/vmm/Makefile @@ -152,6 +152,7 @@ svm_genassym.o: offset.inc .elif ${MACHINE_CPUARCH} == "riscv" SRCS+= vmm_aplic.c \ + vmm_fence.c \ vmm_riscv.c \ vmm_sbi.c \ vmm_switch.S \ From nobody Fri Feb 14 15:56:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvc9p5jCvz5nHpZ; Fri, 14 Feb 2025 15:56: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvc9n6Krjz3SX4; Fri, 14 Feb 2025 15:56:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/I/2mTQcZ/DBT9Yb9UEJibVuljWrURfwUGYlUb8JH4=; b=tNgTMy3ISAbH2sa07WX11DUn47CyxY7mDI1roR0NF+QBL87B42pXq7fQUp6op1vADNMuNv jBbJrnswArRLHVzLF6fompcvrBfYoSQy7h8UreaASSIaDjYiPOQVsvHmqeMyChHNEf6uRF /PFn7vSuP41HiWkApOgb96XV6jasGwK/IiivUTO7dpNOpEyKVGPXtinATPzFJdTdjxTkbc 0lVRINfgTyUmJh8/LoBIxTnRoB/qRWr+gjbdygYANsRMvKzAsiCRnKCQGnHd1eAoazUFsp 2imzMxifCreIIH9aHYDnI9UDrf/nqOGauon4y/QIHtvzBGfOAo2Ne5xpfYJODw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/I/2mTQcZ/DBT9Yb9UEJibVuljWrURfwUGYlUb8JH4=; b=U+2XKl++HnwYtF1/3qJ4KFyY8f5UPCfaYC6gGckegGp5tu3l3awdt0fUNOUHvfofCt4pKo t2JpisbAhif9UqnV241sJwfk9Nwwv546lGo5aloAp8WmxF8Cw01D3w1OzG2uTyJ+dfi52G e6/YDcqk6IJUeBfGr5Mi38ZqGiSPorG2T4T6rO5VJvhOZHGGiS3znO0nXxq63x9yp7jvtm WT5r3S/T5qRFT6lw4zTJQRTv+Icj8g5aChWZh6XX/O7i1imfNg39uUxHueEO3P5EtIECFe jZKurUSbajXYPHdk1Osv0+nd8bz+bu2RjK796a5Tu8xT0dF22BSPHCEIjgzHNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739548605; a=rsa-sha256; cv=none; b=Ps+/z4vmP6tb+iDA94IGT+3Xs7Qy7L21OBY0A+taDn8aUSVCZzRsHiv2/77eYGE484ItYz dbOqlLlm/mwcPDPqHhhcCKjv2BOpAVFk+c1zxzEQSzrvqkYbopBSlbwuzF7l6U2BKPLnnk L2kJHGmWATfwsFQWnjoS2GAzPRUAqVrqo/RssxwHWh/Tk/t8wmqbVXOcfefmM2Z9hPps5S oWxM80UtGYUezIfV8hhYz2ht0mNfnxv650syDbJsil2G1Y4hY8eJUE135vQTp6UWNthOuV reFwYIyEysSt+sEF6/cqZFh3jKC+FsIjtB6JACCA953bEjuFTMdSVwhV4Lspwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvc9n5rcxzdYg; Fri, 14 Feb 2025 15:56: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 51EFujCs046155; Fri, 14 Feb 2025 15:56:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFujI8046152; Fri, 14 Feb 2025 15:56:45 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:56:45 GMT Message-Id: <202502141556.51EFujI8046152@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: d2870b8666f2 - main - queue: Add atomic variants for *_EMPTY List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2870b8666f2438af400269c0f6a1a48031bb71e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d2870b8666f2438af400269c0f6a1a48031bb71e commit d2870b8666f2438af400269c0f6a1a48031bb71e Author: Mark Johnston AuthorDate: 2025-02-14 15:45:11 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:45:11 +0000 queue: Add atomic variants for *_EMPTY In some places, these macros are used without a lock, under the assumption that they are naturally atomic. After commit 34740937f7a4 ("queue: New debug macros for STAILQ"), this assumption is false. Provide *_EMPTY_ATOMIC for such cases. This lets us include extra debug checks for the non-atomic case, and gives us a way to explicitly annotate unlocked checks, which generally deserve extra scrutiny and might otherwise raise reports from KCSAN. Reviewed by: kib, olce (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48899 --- share/man/man3/queue.3 | 26 +++++++++++++++++++++++++- sys/sys/queue.h | 12 ++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/share/man/man3/queue.3 b/share/man/man3/queue.3 index be890fd2cc88..e55c7cfb7513 100644 --- a/share/man/man3/queue.3 +++ b/share/man/man3/queue.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 8, 2024 +.Dd February 10, 2025 .Dt QUEUE 3 .Os .Sh NAME @@ -33,6 +33,7 @@ .Nm SLIST_CLASS_HEAD , .Nm SLIST_CONCAT , .Nm SLIST_EMPTY , +.Nm SLIST_EMPTY_ATOMIC , .Nm SLIST_ENTRY , .Nm SLIST_FIRST , .Nm SLIST_FOREACH , @@ -53,6 +54,7 @@ .Nm STAILQ_CLASS_HEAD , .Nm STAILQ_CONCAT , .Nm STAILQ_EMPTY , +.Nm STAILQ_EMPTY_ATOMIC , .Nm STAILQ_ENTRY , .Nm STAILQ_FIRST , .Nm STAILQ_FOREACH , @@ -75,6 +77,7 @@ .Nm LIST_CLASS_HEAD , .Nm LIST_CONCAT , .Nm LIST_EMPTY , +.Nm LIST_EMPTY_ATOMIC , .Nm LIST_ENTRY , .Nm LIST_FIRST , .Nm LIST_FOREACH , @@ -96,6 +99,7 @@ .Nm TAILQ_CLASS_HEAD , .Nm TAILQ_CONCAT , .Nm TAILQ_EMPTY , +.Nm TAILQ_EMPTY_ATOMIC , .Nm TAILQ_ENTRY , .Nm TAILQ_FIRST , .Nm TAILQ_FOREACH , @@ -128,6 +132,7 @@ lists and tail queues .Fn SLIST_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn SLIST_CONCAT "SLIST_HEAD *head1" "SLIST_HEAD *head2" "TYPE" "SLIST_ENTRY NAME" .Fn SLIST_EMPTY "SLIST_HEAD *head" +.Fn SLIST_EMPTY_ATOMIC "SLIST_HEAD *head" .Fn SLIST_ENTRY "TYPE" .Fn SLIST_FIRST "SLIST_HEAD *head" .Fn SLIST_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" @@ -149,6 +154,7 @@ lists and tail queues .Fn STAILQ_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" .Fn STAILQ_EMPTY "STAILQ_HEAD *head" +.Fn STAILQ_EMPTY_ATOMIC "STAILQ_HEAD *head" .Fn STAILQ_ENTRY "TYPE" .Fn STAILQ_FIRST "STAILQ_HEAD *head" .Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" @@ -172,6 +178,7 @@ lists and tail queues .Fn LIST_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn LIST_CONCAT "LIST_HEAD *head1" "LIST_HEAD *head2" "TYPE" "LIST_ENTRY NAME" .Fn LIST_EMPTY "LIST_HEAD *head" +.Fn LIST_EMPTY_ATOMIC "LIST_HEAD *head" .Fn LIST_ENTRY "TYPE" .Fn LIST_FIRST "LIST_HEAD *head" .Fn LIST_FOREACH "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" @@ -194,6 +201,7 @@ lists and tail queues .Fn TAILQ_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn TAILQ_CONCAT "TAILQ_HEAD *head1" "TAILQ_HEAD *head2" "TAILQ_ENTRY NAME" .Fn TAILQ_EMPTY "TAILQ_HEAD *head" +.Fn TAILQ_EMPTY_ATOMIC "TAILQ_HEAD *head" .Fn TAILQ_ENTRY "TYPE" .Fn TAILQ_FIRST "TAILQ_HEAD *head" .Fn TAILQ_FOREACH "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" @@ -425,6 +433,10 @@ high-usage code paths or to operate on long lists. The macro .Nm SLIST_EMPTY evaluates to true if there are no elements in the list. +The +.Nm SLIST_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the list. .Pp The macro .Nm SLIST_ENTRY @@ -633,6 +645,10 @@ removing all entries from the former. The macro .Nm STAILQ_EMPTY evaluates to true if there are no items on the tail queue. +The +.Nm STAILQ_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the queue. .Pp The macro .Nm STAILQ_ENTRY @@ -866,6 +882,10 @@ high-usage code paths or to operate on long lists. The macro .Nm LIST_EMPTY evaluates to true if there are no elements in the list. +The +.Nm LIST_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the list. .Pp The macro .Nm LIST_ENTRY @@ -1084,6 +1104,10 @@ removing all entries from the former. The macro .Nm TAILQ_EMPTY evaluates to true if there are no items on the tail queue. +The +.Nm TAILQ_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the queue. .Pp The macro .Nm TAILQ_ENTRY diff --git a/sys/sys/queue.h b/sys/sys/queue.h index c1fa8cd812cf..6e4da0fa0bec 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -226,6 +226,9 @@ struct { \ #define SLIST_EMPTY(head) ((head)->slh_first == NULL) +#define SLIST_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->slh_first) == NULL) + #define SLIST_FIRST(head) ((head)->slh_first) #define SLIST_FOREACH(var, head, field) \ @@ -387,6 +390,9 @@ struct { \ STAILQ_FIRST(head) == NULL; \ }) +#define STAILQ_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->stqh_first) == NULL) + #define STAILQ_FIRST(head) ((head)->stqh_first) #define STAILQ_FOREACH(var, head, field) \ @@ -575,6 +581,9 @@ struct { \ #define LIST_EMPTY(head) ((head)->lh_first == NULL) +#define LIST_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->lh_first) == NULL) + #define LIST_FIRST(head) ((head)->lh_first) #define LIST_FOREACH(var, head, field) \ @@ -779,6 +788,9 @@ struct { \ #define TAILQ_EMPTY(head) ((head)->tqh_first == NULL) +#define TAILQ_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->tqh_first) == NULL) + #define TAILQ_FIRST(head) ((head)->tqh_first) #define TAILQ_FOREACH(var, head, field) \ From nobody Fri Feb 14 15:56:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvc9q0f01z5nHvd; Fri, 14 Feb 2025 15:56: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvc9q02Rmz3SZd; Fri, 14 Feb 2025 15:56:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=piJ5Ja2MjEx1WsIKbHRI9PfbEN40UP8crNvRBv22dW8=; b=eYqGy9g4E2MOUv0ZDAYi+/MizNL0LVLzPEbyj/e6qYYpBwFfVWK1zBSVHEy5LJF3q+Ca4c IHXcwwSuKFQip3ACC9zj54wMsr5Mdp9vuMp69OCLwoGwtC++kzxUDDkc6m7/xG1ci6607b uvPnMSyIKUG/neP5vj8aO7ger1fTUY6CpZ54CH4pWSfDXshLrjYNd1D7uT/wVDFDNm9xH6 IlZY/1K9iEnOQJhnU1bLc8zlihWGnhlV3NyOzK8dm0E/GAmlyPR78SpK6yuKY+bCMWSLB6 /L9X/9DATmH5o5yzZCU4S8UHaV15OwFO4JahNkktdTsl8oobej826iGnrgMlXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=piJ5Ja2MjEx1WsIKbHRI9PfbEN40UP8crNvRBv22dW8=; b=WVoySkWbghJF8lgh5f+RiGU+mWKE/NsVuQtVQm057DYO5BSkMwEZwc0J+Em7GEb+fZ8Vt9 yNHKXXoUjGMWhZ+QJNCNIf7vFGko2ZlE/H9MVOeQJI17gL84Z6E3P12YxjrwkNLlIjJa99 E5SeP1jCxFXrX0U85yplcSu5S7WLiDb4Ctu8rikr4xi3kH/SI8ls9hxLRGtWNs8S+toMb8 w7kouJkZv3Byv/bkDuQyRkmsv+lOK92uM8ad6DJA4tXy/Hs+fmtleZKiEPXNL4q4BYVDrM GB3IPQKADNlA+/UNpQJ1v6Hc6cJqBQsGGE1OXqHX5g7Nt4Zk37zbDBSq4Eh7BQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739548607; a=rsa-sha256; cv=none; b=IxQbu7hhoavW66wY1kv+JfJzBkHi7mDQZtddNhuKiXe/gm+Jytmtgp/v+RualETP6X48x/ dGMZ15db9RCCvHFXA0lGG7MUYDknD3HAayJcIIGX1vRaCtFdQJPtzZn0I6anIfP7N12bBB rtP4sGuR4XIxMIikPeR6E/2bkcDK2J5lr1CMUoFd6kdsvUBetGLfot5Ad1Vh1kZm7K+OOn Okj2wnS5VDjVdDsBO7bWpQmhOjucUWv3Wz4jDOUsANDxNii1tcZLV8hcbs3uhJ19IO1oy3 EjCp2YCju4MHXZy3SvBckSvepJqixuxAoztCjWu7OqwRDnw5wYVhxT+HyCTrcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvc9p6ldwzdc0; Fri, 14 Feb 2025 15:56: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 51EFukfM046188; Fri, 14 Feb 2025 15:56:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFukh4046185; Fri, 14 Feb 2025 15:56:46 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:56:46 GMT Message-Id: <202502141556.51EFukh4046185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 36631977d8c9 - main - ktr: Use STAILQ_EMPTY_ATOMIC when checking for records in ktr_drain() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 36631977d8c9264b7a54f039289918adea4d2a03 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=36631977d8c9264b7a54f039289918adea4d2a03 commit 36631977d8c9264b7a54f039289918adea4d2a03 Author: Mark Johnston AuthorDate: 2025-02-14 15:49:27 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:52:29 +0000 ktr: Use STAILQ_EMPTY_ATOMIC when checking for records in ktr_drain() This is an unlocked check, and after commit 34740937f7a4 the debug checks in STAILQ_EMPTY may spuriously fail here. In particular, the per process queue is updated under the global ktrace mutex, not held in ktr_drain(). If a record is enqueued concurrently, the recording thread will schedule an AST to drain the queue again, so it should not be possible for a race to leave records in the queue indefinitely. Reviewed by: kib, olce Reported by: syzbot+d67eddd8c4923ee28bb7@syzkaller.appspotmail.com MFC after: 2 weeks Fixes: 34740937f7a4 ("queue: New debug macros for STAILQ") Differential Revision: https://reviews.freebsd.org/D48899 --- sys/kern/kern_ktrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index a67b773a154c..7a5846de9f6a 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -396,7 +396,7 @@ ktr_drain(struct thread *td) STAILQ_INIT(&local_queue); - if (!STAILQ_EMPTY(&td->td_proc->p_ktr)) { + if (!STAILQ_EMPTY_ATOMIC(&td->td_proc->p_ktr)) { mtx_lock(&ktrace_mtx); STAILQ_CONCAT(&local_queue, &td->td_proc->p_ktr); mtx_unlock(&ktrace_mtx); From nobody Fri Feb 14 16:35:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvd2H0tqrz5nKxD; Fri, 14 Feb 2025 16:35: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvd2H0Mnvz3hd4; Fri, 14 Feb 2025 16:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739550919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifXoR6UyqWUJFkzNiiaCS4r8EIS2gdD1OB0e8mKS2k4=; b=lV3czwIxKhaDt16E6BBy869vXJEXHxc4RhXscp44a+Z51ux2zFi4qnpW6Hu63boeOAoGnu kq/rdagBRH4duwTPJ4GGPjmcfW4v5if2aaKtp3swqltd2GUx2YxOshseK8BI3g8jEkcLVG sht0MnCIuU5VRxOpptWWbhpv5/1PcKr2u9/z154tzPq1AtjKqzpO/rw1nBBq2khSYjM8aC +ivOXMywdYKzLibosSJMD4boQ/EyffiElq3FyksuyUaEX18uspWzvQ7D9jsZ8auvdU0euL 8s1c43tpRqeVNsnNG8mE3kifX/d9zAkp5xSHj95wnn39lak8FXxR35rscfSaDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739550919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifXoR6UyqWUJFkzNiiaCS4r8EIS2gdD1OB0e8mKS2k4=; b=Qp7Ahh/XkIrTrkQf3QpVr5fM4FMWFBNHPn61fgxxphm+DMhHn2U2Ulz9Tjep+4IxJP/WN4 Ve2+k4Ph/QjHYLh6e3dZuFkCatsR4kqRgql4mHMkYhDYVQjJyUGq4fD6R21dCJqlsBq/2W H0gyDwJM93n2zuPL2e1qkyLwkqfXMVSGdEwl1l3TeleVeZH3uYURhRcmFvKyWNZVwSjaTX 1XJsl13vN36QWeGbg/wpYUbo1xXUp/MG5207o+9+ECCD/J7C0S+IWQTbUBQ5a2ekcM+3T0 OqL0npo4dTsNOSZpvW2lR/oFUT3dKV+tBxNf1Io43clam0px5lpHZEoeagEgnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739550919; a=rsa-sha256; cv=none; b=QLHSh93Q63keGpEiI7ERWyPEQuqG2N/1Ztqthy72QmwVhRI/sELmbdHJq2K0QiKzL+Mh3H 9YSueskvIt6LInvIeLpS29bCvvoh8EZs2qDome7HLXZFhVHMLhlDPKlaSmAxA4SxVWWqOg WJYzGFubFieybYzdq/ap/Fa2Jx//wy+sWz9ddpPffeUx928qDXrgJGRKrYo4EviTAjhFmo eI9KxBspHw84EVAGxm2u8qSgP11GBtXCJCQKoOkJQIjWEBFNtrdi2QcuhrebqymmXaXgiq 9H9ZNCIbQS1jMYvOPkqqTslTbE1L4eCjQpTFLePrfQgkKyZmZXDZYx/rMk09VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvd2G71l4zfgX; Fri, 14 Feb 2025 16:35: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 51EGZIqr021049; Fri, 14 Feb 2025 16:35:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EGZIOZ021045; Fri, 14 Feb 2025 16:35:18 GMT (envelope-from git) Date: Fri, 14 Feb 2025 16:35:18 GMT Message-Id: <202502141635.51EGZIOZ021045@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0f63c4af5e47 - main - limits tests: Try to fix spurious cputime test failures List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f63c4af5e4761680550b0aa08cc96f52076c08c Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0f63c4af5e4761680550b0aa08cc96f52076c08c commit 0f63c4af5e4761680550b0aa08cc96f52076c08c Author: Mark Johnston AuthorDate: 2025-02-14 16:26:19 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 16:26:19 +0000 limits tests: Try to fix spurious cputime test failures I very occasionally see test failures caused by the total CPU time being several milliseconds under 3s. The test runs "limits -t 3 time " and verifies that the reported time elapsed is at least 3s (and not too much more). In particular, any time spent executing time(1) itself is counted against the limit but not recorded in the output. I think it makes more sense to reverse the order, so that the CPU time limit is not applied to time(1) itself. This also resolves the test failures I was seeing, which were reproducible only under load (i.e., running many tests in parallel). MFC after: 2 weeks Sponsored by: Klara, Inc. --- usr.bin/limits/tests/limits_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/limits/tests/limits_test.sh b/usr.bin/limits/tests/limits_test.sh index 701886066ff1..fd7b50b0945a 100755 --- a/usr.bin/limits/tests/limits_test.sh +++ b/usr.bin/limits/tests/limits_test.sh @@ -57,7 +57,7 @@ cputime_hard_flag_body() atf_check -o match:'cputime[[:space:]]+3 secs' \ limits -H -t 3 limits -S atf_check -e save:time_output -s signal:sigkill \ - limits -H -t 3 $TIME -p sh -c 'while : ; do : ; done' + $TIME -p limits -H -t 3 sh -c 'while : ; do : ; done' validate_time_output time_output } cputime_hard_flag_cleanup() @@ -76,7 +76,7 @@ cputime_soft_flag_body() atf_check -o match:'cputime-cur[[:space:]]+3 secs' \ limits -S -t 3 limits -S atf_check -e save:time_output -s signal:$SIGXCPU \ - limits -S -t 3 $TIME -p sh -c 'while : ; do : ; done' + $TIME -p limits -S -t 3 sh -c 'while : ; do : ; done' validate_time_output time_output } cputime_soft_flag_cleanup() From nobody Fri Feb 14 17:50:24 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfhw6h5xz5nQtk; Fri, 14 Feb 2025 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfhw5wQTz3KKG; Fri, 14 Feb 2025 17:50:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvYmho+h/iQ3SJLlJmD+CktYSrBvZyF0XAtaMDW/yho=; b=VuO4n9+JaOLRR3kO1gSf+kAlSLasVqzt69CKUOFK8DUV77Ho12Q9aqDoB/3jHnc++sWr94 +smaujh9vAyHsNSuAM81URovlC5v4e/YiRBQrcJqyfRIuVKNiuwCZ1WrfldGcelTDKwoVK d8l6wa+YBAZfb6mT8o46W2CexD4uWxMmXPx+uZbAzCEVzj2Ag7PYMi0rpIgIjcmVxMst55 tBxrFGj0os0m6pL701icEFE7PoRT7mCYxCZjzkj4brr20n9K0ykf3uq4n8K/fKxmrEU7ld 6Jla6rAO4cS4DbRZ9fuq7nKjs1sjpZDfvjsm0ubtqSetOR4+DpZKgxqUuAMZeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvYmho+h/iQ3SJLlJmD+CktYSrBvZyF0XAtaMDW/yho=; b=QTwGkEsX6PO9OfxDK7l23AQHmSkBh1qVUL9mRCvcxpLMmL5HjL2RQOEkqFT/XvU45m4xt7 S+Npk6bfpml6CuZGPebDX3Pt5R1lHG4ivhp0FIZMhZ6m0rWw52uyb26k4wjmn1xju/8Ncb FPFQVK8fwEvS9Abv9QIGTYwJYcVtT6x7S/LjXCLUV7zsWYknJlJeOw23voSY8DlzowoFbL l3dmeC6BrC+ptjp+bYGLdlb83YsSkr4lDZ2w+cusshB1hix6d7lgpmQI2wPO2PIfb04Gmk soPpu69n0PNf4jvEY9rKc4DHxY/lZcr4jUGYSVk6qXs+R+nPyqk5hKpF733ReA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555424; a=rsa-sha256; cv=none; b=yCrYiCFCwSLd2YikFDoGPTK6xHrrGof8AJHHDI6K5s2tJGJ/7U5i6gajr1w9yIMGUqhVV7 cR90DElPWJWSEQAC6WjiZtz+lanqZqFlQEhaMa3ZnP9WenkCPa0ZegHeKWXoGLBQ1qMbSi v9qbj7jFv+ZzQTi4Kam8Cz0MDC2OW0kU+hmThk5KdmBVBMDsCjlz7P4jOcR99tZMwkv3U/ 9Kn/njpXm+bTrOYhh/Lz7WZnlwGIqSWmweNcLyJMmhJ1nNhK+ja6Ck/rxh1YRNzY0LOV7R TDQ/YzCpnZAz/bi0KAY9YXv4vQt1Tk3mTeL8yDlKFMYhoEdOydhWTg4cG9Zs5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfhw5V6SzgxR; Fri, 14 Feb 2025 17:50: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 51EHoOpg061345; Fri, 14 Feb 2025 17:50:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoOFm061342; Fri, 14 Feb 2025 17:50:24 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:24 GMT Message-Id: <202502141750.51EHoOFm061342@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 7e7f88001d7d - main - pf: use time_t for storing time_t values List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e7f88001d7dfec83cd7568369be6a587d4a51ff Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7e7f88001d7dfec83cd7568369be6a587d4a51ff commit 7e7f88001d7dfec83cd7568369be6a587d4a51ff Author: Kristof Provost AuthorDate: 2025-02-07 10:29:26 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:52 +0000 pf: use time_t for storing time_t values No change to the underlying type, so no ABI change. We define __time_t as uint64_t if __LP64__, otherwise uint32_t, and only define __LP64__ if long is 64 bits. In other words: __time_t == long. ok henning@ deraadt@ Obtained from: OpenBSD, guenther , 6c1b69a0ff Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D48963 --- share/man/man4/pf.4 | 4 ++-- sys/net/pfvar.h | 12 ++++++------ sys/netpfil/pf/pf_table.c | 40 ++++++++++++++++++++-------------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/share/man/man4/pf.4 b/share/man/man4/pf.4 index 92e1a6fdf87b..9ab46558a2d6 100644 --- a/share/man/man4/pf.4 +++ b/share/man/man4/pf.4 @@ -682,7 +682,7 @@ struct pfr_tstats { [PFR_DIR_MAX][PFR_OP_TABLE_MAX]; u_int64_t pfrts_match; u_int64_t pfrts_nomatch; - long pfrts_tzero; + time_t pfrts_tzero; int pfrts_cnt; int pfrts_refcnt[PFR_REFCNT_MAX]; }; @@ -822,7 +822,7 @@ struct pfr_astats { [PFR_DIR_MAX][PFR_OP_ADDR_MAX]; u_int64_t pfras_bytes [PFR_DIR_MAX][PFR_OP_ADDR_MAX]; - long pfras_tzero; + time_t pfras_tzero; }; .Ed .It Dv DIOCRCLRASTATS Fa "struct pfioc_table *io" diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 076027e436dc..964a1d41f353 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1434,7 +1434,7 @@ struct pfr_astats { struct pfr_addr pfras_a; u_int64_t pfras_packets[PFR_DIR_MAX][PFR_OP_ADDR_MAX]; u_int64_t pfras_bytes[PFR_DIR_MAX][PFR_OP_ADDR_MAX]; - long pfras_tzero; + time_t pfras_tzero; }; enum { PFR_REFCNT_RULE, PFR_REFCNT_ANCHOR, PFR_REFCNT_MAX }; @@ -1445,7 +1445,7 @@ struct pfr_tstats { u_int64_t pfrts_bytes[PFR_DIR_MAX][PFR_OP_TABLE_MAX]; u_int64_t pfrts_match; u_int64_t pfrts_nomatch; - long pfrts_tzero; + time_t pfrts_tzero; int pfrts_cnt; int pfrts_refcnt[PFR_REFCNT_MAX]; }; @@ -1507,7 +1507,7 @@ struct pfr_ktstats { struct pfr_kstate_counter pfrkts_bytes[PFR_DIR_MAX][PFR_OP_TABLE_MAX]; struct pfr_kstate_counter pfrkts_match; struct pfr_kstate_counter pfrkts_nomatch; - long pfrkts_tzero; + time_t pfrkts_tzero; int pfrkts_cnt; int pfrkts_refcnt[PFR_REFCNT_MAX]; }; @@ -1528,7 +1528,7 @@ union sockaddr_union { struct pfr_kcounters { counter_u64_t pfrkc_counters; - long pfrkc_tzero; + time_t pfrkc_tzero; }; #define pfr_kentry_counter(kc, dir, op, t) \ ((kc)->pfrkc_counters + \ @@ -1586,7 +1586,7 @@ struct pfi_kkif { #define pfik_list _pfik_glue._pfik_list struct pf_counter_u64 pfik_packets[2][2][2]; struct pf_counter_u64 pfik_bytes[2][2][2]; - u_int32_t pfik_tzero; + time_t pfik_tzero; u_int pfik_flags; struct ifnet *pfik_ifp; struct ifg_group *pfik_group; @@ -2489,7 +2489,7 @@ int pfr_get_tstats(struct pfr_table *, struct pfr_tstats *, int *, int); int pfr_clr_tstats(struct pfr_table *, int, int *, int); int pfr_set_tflags(struct pfr_table *, int, int, int, int *, int *, int); int pfr_clr_addrs(struct pfr_table *, int *, int); -int pfr_insert_kentry(struct pfr_ktable *, struct pfr_addr *, long); +int pfr_insert_kentry(struct pfr_ktable *, struct pfr_addr *, time_t); int pfr_add_addrs(struct pfr_table *, struct pfr_addr *, int, int *, int); int pfr_del_addrs(struct pfr_table *, struct pfr_addr *, int, int *, diff --git a/sys/netpfil/pf/pf_table.c b/sys/netpfil/pf/pf_table.c index 03efa0b738da..666ec18ec377 100644 --- a/sys/netpfil/pf/pf_table.c +++ b/sys/netpfil/pf/pf_table.c @@ -139,11 +139,11 @@ static struct pfr_kentry *pfr_create_kentry(struct pfr_addr *, bool); static void pfr_destroy_kentries(struct pfr_kentryworkq *); static void pfr_destroy_kentry(struct pfr_kentry *); static void pfr_insert_kentries(struct pfr_ktable *, - struct pfr_kentryworkq *, long); + struct pfr_kentryworkq *, time_t); static void pfr_remove_kentries(struct pfr_ktable *, struct pfr_kentryworkq *); static void pfr_clstats_kentries(struct pfr_ktable *, - struct pfr_kentryworkq *, long, int); + struct pfr_kentryworkq *, time_t, int); static void pfr_reset_feedback(struct pfr_addr *, int); static void pfr_prepare_network(union sockaddr_union *, int, int); static int pfr_route_kentry(struct pfr_ktable *, @@ -153,16 +153,16 @@ static int pfr_unroute_kentry(struct pfr_ktable *, static int pfr_walktree(struct radix_node *, void *); static int pfr_validate_table(struct pfr_table *, int, int); static int pfr_fix_anchor(char *); -static void pfr_commit_ktable(struct pfr_ktable *, long); +static void pfr_commit_ktable(struct pfr_ktable *, time_t); static void pfr_insert_ktables(struct pfr_ktableworkq *); static void pfr_insert_ktable(struct pfr_ktable *); static void pfr_setflags_ktables(struct pfr_ktableworkq *); static void pfr_setflags_ktable(struct pfr_ktable *, int); -static void pfr_clstats_ktables(struct pfr_ktableworkq *, long, +static void pfr_clstats_ktables(struct pfr_ktableworkq *, time_t, int); -static void pfr_clstats_ktable(struct pfr_ktable *, long, int); +static void pfr_clstats_ktable(struct pfr_ktable *, time_t, int); static struct pfr_ktable - *pfr_create_ktable(struct pfr_table *, long, int); + *pfr_create_ktable(struct pfr_table *, time_t, int); static void pfr_destroy_ktables(struct pfr_ktableworkq *, int); static void pfr_destroy_ktable(struct pfr_ktable *, int); static int pfr_ktable_compare(struct pfr_ktable *, @@ -245,7 +245,7 @@ pfr_add_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size, struct pfr_kentry *p, *q; struct pfr_addr *ad; int i, rv, xadd = 0; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_WASSERT(); @@ -397,7 +397,7 @@ pfr_set_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size, struct pfr_kentry *p, *q; struct pfr_addr ad; int i, rv, xadd = 0, xdel = 0, xchange = 0; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_WASSERT(); @@ -584,7 +584,7 @@ pfr_get_astats(struct pfr_table *tbl, struct pfr_astats *addr, int *size, struct pfr_walktree w; struct pfr_kentryworkq workq; int rv; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_RASSERT(); @@ -828,7 +828,7 @@ pfr_destroy_kentry(struct pfr_kentry *ke) static void pfr_insert_kentries(struct pfr_ktable *kt, - struct pfr_kentryworkq *workq, long tzero) + struct pfr_kentryworkq *workq, time_t tzero) { struct pfr_kentry *p; int rv, n = 0; @@ -847,7 +847,7 @@ pfr_insert_kentries(struct pfr_ktable *kt, } int -pfr_insert_kentry(struct pfr_ktable *kt, struct pfr_addr *ad, long tzero) +pfr_insert_kentry(struct pfr_ktable *kt, struct pfr_addr *ad, time_t tzero) { struct pfr_kentry *p; int rv; @@ -896,7 +896,7 @@ pfr_clean_node_mask(struct pfr_ktable *kt, static void pfr_clstats_kentries(struct pfr_ktable *kt, struct pfr_kentryworkq *workq, - long tzero, int negchange) + time_t tzero, int negchange) { struct pfr_kentry *p; int i; @@ -1173,7 +1173,7 @@ pfr_add_tables(struct pfr_table *tbl, int size, int *nadd, int flags) struct pfr_ktableworkq addq, changeq; struct pfr_ktable *p, *q, *r, key; int i, rv, xadd = 0; - long tzero = time_second; + time_t tzero = time_second; ACCEPT_FLAGS(flags, PFR_FLAG_DUMMY); SLIST_INIT(&addq); @@ -1318,7 +1318,7 @@ pfr_get_tstats(struct pfr_table *filter, struct pfr_tstats *tbl, int *size, struct pfr_ktable *p; struct pfr_ktableworkq workq; int n, nn; - long tzero = time_second; + time_t tzero = time_second; int pfr_dir, pfr_op; /* XXX PFR_FLAG_CLSTATS disabled */ @@ -1375,7 +1375,7 @@ pfr_clr_tstats(struct pfr_table *tbl, int size, int *nzero, int flags) struct pfr_ktableworkq workq; struct pfr_ktable *p, key; int i, xzero = 0; - long tzero = time_second; + time_t tzero = time_second; ACCEPT_FLAGS(flags, PFR_FLAG_DUMMY | PFR_FLAG_ADDRSTOO); SLIST_INIT(&workq); @@ -1619,7 +1619,7 @@ pfr_ina_commit(struct pfr_table *trs, u_int32_t ticket, int *nadd, struct pfr_ktableworkq workq; struct pf_kruleset *rs; int xadd = 0, xchange = 0; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_WASSERT(); @@ -1657,7 +1657,7 @@ pfr_ina_commit(struct pfr_table *trs, u_int32_t ticket, int *nadd, } static void -pfr_commit_ktable(struct pfr_ktable *kt, long tzero) +pfr_commit_ktable(struct pfr_ktable *kt, time_t tzero) { counter_u64_t *pkc, *qkc; struct pfr_ktable *shadow = kt->pfrkt_shadow; @@ -1882,7 +1882,7 @@ pfr_setflags_ktable(struct pfr_ktable *kt, int newf) } static void -pfr_clstats_ktables(struct pfr_ktableworkq *workq, long tzero, int recurse) +pfr_clstats_ktables(struct pfr_ktableworkq *workq, time_t tzero, int recurse) { struct pfr_ktable *p; @@ -1891,7 +1891,7 @@ pfr_clstats_ktables(struct pfr_ktableworkq *workq, long tzero, int recurse) } static void -pfr_clstats_ktable(struct pfr_ktable *kt, long tzero, int recurse) +pfr_clstats_ktable(struct pfr_ktable *kt, time_t tzero, int recurse) { struct pfr_kentryworkq addrq; int pfr_dir, pfr_op; @@ -1914,7 +1914,7 @@ pfr_clstats_ktable(struct pfr_ktable *kt, long tzero, int recurse) } static struct pfr_ktable * -pfr_create_ktable(struct pfr_table *tbl, long tzero, int attachruleset) +pfr_create_ktable(struct pfr_table *tbl, time_t tzero, int attachruleset) { struct pfr_ktable *kt; struct pf_kruleset *rs; From nobody Fri Feb 14 17:50:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfhy3LlYz5nQtl; Fri, 14 Feb 2025 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfhx6sHRz3KF5; Fri, 14 Feb 2025 17:50:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vRP77Ozg6eLpj61Yq/VYT1x+hYjhU0WzVM+75Nt7N9E=; b=MqZ+bv7G8irjBmi6BIuGJ/fK7GOXnPZqgWCCWOEhvQpTG4JBNVJBKNGrf6fYaw5cr156Ke jl5j6DH4hk0d3Fbz/6eVc8KGHOsVKge+gxyA6um5Wq6XjkiRmfrlYnNrmRdgXiEXGJqUT7 kplH+hqzGbCK25GgBA3eFE+cbCMSuj8troLRAF1UHf0L+yrAtnF0Zalx9emH6QsEvk2FwC c9V+srxcvrHC6MlidOAvcNk+x4hQ7m2qlemuDdjT9n6rmyP3tab3fB/AgbLNEVE/Wjkbm7 mhHx/TFGrijogDhbWyV469oB/5sB8X7KSlbLnQ3jdtvQvCSsLNuCsL7mYtwyOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vRP77Ozg6eLpj61Yq/VYT1x+hYjhU0WzVM+75Nt7N9E=; b=Str+E9XTWiIzxk9IfbHjCQLHDybk/+HccAIVZWqhtcSLw0ShThWHcHfkrQCH9w7VyUAXDM IvyFt2EC7KiW9AmXQ9GVrsmkJkFS2/Bt8QcCnlEqFaLFO8n4zGvkwn2yzfUXp5TaWjMtme JuJuLg1kCdAUjGm56y2wTojxYja7UQEn2dG3JsLiltuMydDARJqon8RdZF5KDYHj9ravNL EcBkMlsOJu6G6TWuR8NtlXWFadep5h9No85epHOpE6gZh4+T8HT+z23Vlk2+is13Auz/w9 Vsfn3DHP/e0127dboANdUSv74LE7QbPRYB4mtFqj/3IAS2bwX1A14Y5stw1qzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555426; a=rsa-sha256; cv=none; b=D4ChqbNAcjpUYac4UY4n0Abz3gZDTNQJN/vR0eJgkhfb52khmEPchRVPbnizFd7Vcwm2Ct PLUjp2c/m6CyWNGZAatZgR0RpNpZRkZmh4MVsotRleqfjOwR2L/PsiG3v/MYZEfKOptJH2 xPyuxSyBM/yYIk1fFXkneub512VYC4QL9RUWoicZ6b6KsNUgjZGPz5uIK8DYLDMCPZi3lY m3SPJKNDVCZ3WOpWapIUAzXcGkRm38a3e5yK5SChw4qt+sbs798zI3CZxi9bBRobs+b2hQ m2XszwkbclqRWUJhwwLuKsbxV61iXzvhI112sxn3lIwfVhxT+gFeyojHeGpTCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfhx6SFZzhcw; Fri, 14 Feb 2025 17:50: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 51EHoP2K061378; Fri, 14 Feb 2025 17:50:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoPEf061375; Fri, 14 Feb 2025 17:50:25 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:25 GMT Message-Id: <202502141750.51EHoPEf061375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: d2bb19883f78 - main - pf: introduce a way to match "any" interface, excluding loopback ones List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2bb19883f780ea17a794787d6b67e75059b085e Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d2bb19883f780ea17a794787d6b67e75059b085e commit d2bb19883f780ea17a794787d6b67e75059b085e Author: Kristof Provost AuthorDate: 2025-02-11 09:59:12 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:52 +0000 pf: introduce a way to match "any" interface, excluding loopback ones pfi_kkif_attach() annotates the kif with a flag indicating it is the "any" match. pfi_kif_match obeys() that flag. ok benno Obtained from: OpenBSD, henning , 4be478ce5d Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf_if.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 964a1d41f353..0295bcc125f8 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1600,6 +1600,7 @@ struct pfi_kkif { #define PFI_IFLAG_REFS 0x0001 /* has state references */ #define PFI_IFLAG_SKIP 0x0100 /* skip filtering on interface */ +#define PFI_IFLAG_ANY 0x0200 /* match any non-loopback interface */ #ifdef _KERNEL struct pf_sctp_multihome_job; diff --git a/sys/netpfil/pf/pf_if.c b/sys/netpfil/pf/pf_if.c index d2b1b6a781f4..31fc8b152719 100644 --- a/sys/netpfil/pf/pf_if.c +++ b/sys/netpfil/pf/pf_if.c @@ -357,6 +357,11 @@ pfi_kkif_attach(struct pfi_kkif *kif, const char *kif_name) kif->pfik_tzero = time_second > 1 ? time_second : 0; TAILQ_INIT(&kif->pfik_dynaddrs); + if (!strcmp(kif->pfik_name, "any")) { + /* both so it works in the ioctl and the regular case */ + kif->pfik_flags |= PFI_IFLAG_ANY; + } + RB_INSERT(pfi_ifhead, &V_pfi_ifs, kif); return (kif); @@ -474,6 +479,10 @@ pfi_kkif_match(struct pfi_kkif *rule_kif, struct pfi_kkif *packet_kif) return (1); } + if (rule_kif->pfik_flags & PFI_IFLAG_ANY && packet_kif->pfik_ifp && + !(packet_kif->pfik_ifp->if_flags & IFF_LOOPBACK)) + return (1); + return (0); } From nobody Fri Feb 14 17:50:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfhz4QyKz5nQlR; Fri, 14 Feb 2025 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfhz0Yv2z3KPc; Fri, 14 Feb 2025 17:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dZtYdpg1PepMjQinVJSiJMSmwH1kaeCuTp3Tvh4g2s=; b=X0gNiDzAfbL5DsKd1I9TgcK3L43xMwMm6qJYeDaRStZLBwyna83RzwMGPbWYjGYprc8yAa +NPEswmxAsiANQ1yCOg3WT9frBLSL+fRfWFatMtvWN0Rn8w0PMUXj7noAbs2FBxc6zQKSu oBZhl+A/s9jobiCsUuQ/Tip8FuxEMbdoGiqv4kON+G2lN9YnLXNPAIDyHfk3QT6ywMRhDy 6/Mp2rn3/a2Xm1zwSaUa3K8zwb/7vJNrEP+s9KGxo7CmF/EYvtyLVaLB981n+lzGPGmJQZ MclAZAcwlVhjDFStdiViKK+D8dr3SOCSL8Rnaz6KCE8+emgVIyxRQmn5laVrIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dZtYdpg1PepMjQinVJSiJMSmwH1kaeCuTp3Tvh4g2s=; b=n6D3G2KT90/4xZ+uKfE//9dLVVGH7chpmqq1wtVxTUdjeq+xVniq7f1+RHk84/j/AP2Wdn CAry234N/g853aK/4o5H7OG5D//6s9z5o5IqpcCCSkb8KRIv3J7i6uCHCL6FhjLi6Q+MZb d/IAh7UulVeeGbd0QWu2m1RQiMOtefVdXJxM0CDC9RUFu/3vgviPJQh/XH7y3Kn+sbKDEo LqwJfIbMr46GwXhLTGCCZ5ZTzBHrzaEORZvXbNoLB+0KRXzkSu0VDohLDBOGlh+HbNZQZe fFZJVKP4arTthcVKzL8SA4dUVyrPX6qsPPCNGipZgxnpO7NTJCpUkjJtLgQnlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555427; a=rsa-sha256; cv=none; b=HaNoJpqrUp6VOY3hj6EOEwT5yu7HZweLi7rnt3PtrzkRWz2xSzQovNgoCOcehTY02kZ7GE jX+0NOpjxG1a8BfpWqSQxeBnpj6XytFQ9E9Tf/mFT7vgDXAKO87reF1P5/titVO2oTnqfz 2YsBg6r4jtbFtDzwN0IiuCar+4TRkJUcpF5uLXYMImK7Ycoge2V0sDyxbikySspJbxzGhs cI+kjzw9j3QCi5JiMv7eyMJCXEMCY15AEs/07LrSJhMz6UmNLBpZIc1HyJD2a5ecz6/P4C sQQYhEX5PMA1gm2T/YAJwdm3OCDhFDWSxAB895ObpMhxQ7aPXY47shyjmwiqzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfhz09SVzgxS; Fri, 14 Feb 2025 17:50: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 51EHoQQf061414; Fri, 14 Feb 2025 17:50:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoQEk061411; Fri, 14 Feb 2025 17:50:26 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:26 GMT Message-Id: <202502141750.51EHoQEk061411@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: a2614574f245 - main - pfctl: if_item can be "any" now List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2614574f2459ef56013061a185880f90e035ce4 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a2614574f2459ef56013061a185880f90e035ce4 commit a2614574f2459ef56013061a185880f90e035ce4 Author: Kristof Provost AuthorDate: 2025-02-11 10:06:53 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:52 +0000 pfctl: if_item can be "any" now Allows things like: block out on $someif received-on any to prevent packets to get forwarded to $someif. Obtained from: OpenBSD, henning , 5984d04852 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/parse.y | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 981039f4124c..b370cbc463ae 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -3379,6 +3379,15 @@ if_item : STRING { $$->next = NULL; $$->tail = $$; } + | ANY { + $$ = calloc(1, sizeof(struct node_if)); + if ($$ == NULL) + err(1, "if_item: calloc"); + strlcpy($$->ifname, "any", sizeof($$->ifname)); + $$->not = 0; + $$->next = NULL; + $$->tail = $$; + } ; af : /* empty */ { $$ = 0; } From nobody Fri Feb 14 17:50:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfj03rqKz5nQtm; Fri, 14 Feb 2025 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfj01bTbz3KKL; Fri, 14 Feb 2025 17:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/bu9E9hCGmI9aV7ZhGARmRA1CE61plMnboXVNkMW87w=; b=sW2sGgzuoax0tKyxW7mWejDcJSCcJmEvxfIDtlNLKydhTtP/c/+PrUSzr8MVqLg+ELY3o5 jIII8l/7Ap4/FA+cFbL7G4aJo+zOlvsToTIhShGeb2p6pychFv93cFNS7IMSe5Zyv5weEt icFnP5qIrHbl2dZDIueE7QG7Ov/eItiu1T1GUscL4RbvowgefTvEoadoCFm1tJxZRQVmXr 14VyqfllrFs1uz+XY2QQbo7WQGRT1fRI4qtYmRl+ffN+f5Nkg+7K+lF/eM9bCjzwvA+k/n 0R9mpwZcHW5WNuaFp40uybctmSd1ajOjfiJrg6UNO1FUZ/cfoz1ceMOyzJnmsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/bu9E9hCGmI9aV7ZhGARmRA1CE61plMnboXVNkMW87w=; b=tw6WwjLV1gvyABUDVFyAFeYzlGO80ch8rOURR1hPVa5qZBYTjiqP0Uax8EFznui6m2Z6hl K+IsnVpdjuc+Uq92VHqXU7vSW7jTNqwBJjDT7dzXo8XtWh8FhN/2XtK/vFVkfI9wB6Jqv/ QenKYoEffwdqQK3+tSmt1DfWrbk+qzUheNfFdNMIg4RQUpX3fBe9YEkaYBhTG75KyRv/ih BdUdlkRCSBLK7g+M9jkPC/ETONGBzV956n3dK7eLJbA0FHD8dO9udxjc0wYyrb7RKcIrPW GcJAgMtS6eJ1QlohW0jLbVaOfKr6+P8BmoRe31JACO2mcvZshIJI1yq0s9wTdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555428; a=rsa-sha256; cv=none; b=AsiLh9b9OvmgmeVtc6jBQkGMygHdp8fFNRS2xLje6DXmZnui25iWBfRGF3u0kFhiBkAl4n wIXlKcoQPwCqBJ3vX9ecj4nrjxRAzZUX+5twFaxRCnbhOHj/lTtvnBuKY7k+ifVliiziF9 /BQqsMncrZjdMFds0QIIRuwK6FPJTDXqaVjNjmDleL9mWfEDr+lv9b8lGxGcbNbl9e5CDj TvvaG7SVzFLKZXBfQioU27tOVlMuphCMbU5tKgRcqpnXICHWzPvFPmTAxyzdXd5zHVWhoO qgdPUZACqRNpij2nDxuco4NVHKycGINy8LyWp2J3TeUL1DnWgAOUI3DAk6xvAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfj0165CzgfB; Fri, 14 Feb 2025 17:50: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 51EHoSE4061454; Fri, 14 Feb 2025 17:50:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoSUI061451; Fri, 14 Feb 2025 17:50:28 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:28 GMT Message-Id: <202502141750.51EHoSUI061451@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 618a8766b28b - main - pf.conf.5: document how any matches any non-loopback interface List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 618a8766b28bd0862fbc1614d93c3ee50a773575 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=618a8766b28bd0862fbc1614d93c3ee50a773575 commit 618a8766b28bd0862fbc1614d93c3ee50a773575 Author: Kristof Provost AuthorDate: 2025-02-11 10:10:25 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:53 +0000 pf.conf.5: document how any matches any non-loopback interface ok benno Obtained from: OpenBSD, henning , 527559b86a Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index f798d1d0acf8..75cb0b39272f 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 10, 2025 +.Dd February 11, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -749,6 +749,8 @@ see the .Ic group keyword in .Xr ifconfig 8 . +.Ar any +will match any existing interface except loopback ones. .It Ar bridge-to Aq interface Packets matching this rule will be sent out of the specified interface without further processing. @@ -1768,6 +1770,8 @@ see the .Ic group keyword in .Xr ifconfig 8 . +.Ar any +will match any existing interface except loopback ones. .It Aq Ar af This rule applies only to packets of this address family. Supported values are @@ -2182,6 +2186,8 @@ pass in proto tcp to port 22 set prio (2, 5) Only match packets which were received on the specified .Ar interface (or interface group). +.Ar any +will match any existing interface except loopback ones. .It Ar tag Aq Ar string Packets matching this rule will be tagged with the specified string. From nobody Fri Feb 14 17:50:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfj14jH1z5nQx3; Fri, 14 Feb 2025 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfj12RrWz3KMg; Fri, 14 Feb 2025 17:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1RvQhJhb+Ympa1ckWG2mNNBJiAHCjnqP+DgKX62l6dQ=; b=og55PC3f7cYdInzFPJcDl5WGT2KKRoqqXq+S/QXXvQYU/QN2mMe0nSzCIgZ/8KAJWySptl nMToKdO7f7dJUA/ZaEJOSUqDMYhg4va3e2I/RZr1wT8u4e+prkqXUQuY5N/vBZVnQn420T milYa2KGO9BBeujV3NQuv3DjpaMg9p9BlyX758JMOkK6zdwgjwknTgTxATCxWMByYgzYc9 fcX2+a8cBrwf3gvgIHJEMMweQo+tD5kWVjDWgz75vnh/3eTkCgpcQjmeKts+QLsHoK8SRi 9aYp29kdC0wHAbjf8owE0NFXmn2dXvu/+sgInsvNaWt71M56V+QemkE9SbQdlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1RvQhJhb+Ympa1ckWG2mNNBJiAHCjnqP+DgKX62l6dQ=; b=KrOEF27DM/Vb0mRSd1pTNNm5GWAvhMXLJKg+XnyWZBUxhhryEdklpUY1iLyY+QMBsGBXDZ zxctbqOFsQSXmyB40AI/KYb8n3QfRIijdqg3M8qQuiOLhorYqrr3FtNgE/ABRd3JCrmA0u 21fBK5yL8/VhqvjNXj85UGxx8lV+I2P1Gkg+goSK9MkeX3ncl13YXFxmOtBIQ6Shmja+L6 GoG2t4oDskH1FGg2nZOL8ZU5cEQHZRQ+rObS581kMnUFDqM5SlWDyLrspXjezf4Puxrwj/ NpkbM86U1R1H2G7yP7McGQmcyjufoz/8r0wsxxvzu1ZfUsiWXw927VMrjJixKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555429; a=rsa-sha256; cv=none; b=DOeXDBqfgwc06KoE2oZvU2DuvYswLN/wJgRF54bCkFwAyprvlYRtFZthZuJKpMba+3lem9 WUbtKHjy8I7bGlqwUUSHhryG4+3BUgqnCZ8+3Cz/edswEs7R0CYN+nV16onYsydL0Vn8yp 9ArFALOhhQ+HOEPfS+eF6Tod6WvQ4VjyqJN/L97JnzDeYmUYRyLp8PQqz4qnXGh5jGYHsS aqrIqFFNrEnRA3AnvQi+LH6nopv4kjU1nn9xFkdT1dlY/a3yNDlT0HP84QaE+aZmJtzpoo iH8ZF23bxpCzF0iFw+D9/MtsFmqbAg6rvpf407CcqY2YJi1A/9beyJP8el78dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfj1231zzh4p; Fri, 14 Feb 2025 17:50: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 51EHoTV1061487; Fri, 14 Feb 2025 17:50:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoTE2061484; Fri, 14 Feb 2025 17:50:29 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:29 GMT Message-Id: <202502141750.51EHoTE2061484@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 26a7be91ad69 - main - pf tests: basic 'any' interface test case List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26a7be91ad693cacaa28ead4b655d88d0ee2ae1a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=26a7be91ad693cacaa28ead4b655d88d0ee2ae1a commit 26a7be91ad693cacaa28ead4b655d88d0ee2ae1a Author: Kristof Provost AuthorDate: 2025-02-11 10:25:24 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:53 +0000 pf tests: basic 'any' interface test case Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/pass_block.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index d5ff37b6c167..b8ad5a86b102 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -418,6 +418,39 @@ optimize_any_cleanup() pft_cleanup } +atf_test_case "any_if" "cleanup" +any_if_head() +{ + atf_set descr 'Test the any interface keyword' + atf_set require.user root +} + +any_if_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass in on any" + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +} + +any_if_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "enable_disable" @@ -428,4 +461,5 @@ atf_init_test_cases() atf_add_test_case "urpf" atf_add_test_case "received_on" atf_add_test_case "optimize_any" + atf_add_test_case "any_if" } From nobody Fri Feb 14 17:50:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfj30lVlz5nQlX; Fri, 14 Feb 2025 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfj23SNHz3KC6; Fri, 14 Feb 2025 17:50:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M/bad4YvyePSubFx8UlG+5S8DFzRwBElzcQKhGRn/dE=; b=XD1hF7WIxOCs0hhw2cQIiHnrTVVPyvC5qyXFbi9rd2ONRmvcEmVy4llzgJ/0RRJa69vZQ1 fDLhUhNYgVa64+ffANaEM+wBZN28JqqE+fF+FRqRJVpU5ve50NtWy6gf+bTq/m9c9Pnf3N 1GtIyDpbRL24lQZ41nhMmsh0BUVXdX3Lhqimo/mSEhC+7hEPAm5HqQCd0ULO+mQs6YtlS8 QdvDnPiULQ+8flsL89uVcSqKn4GIGVcFvJFX8sZ2oe9J6ij10S8N7dKzS+golpKJwhlek4 BfvoMLbvVmsJoLHp8WnWmnqqNIVcLwKvWvBSGN9KzqgwOzQqEyTKcdECbcasgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M/bad4YvyePSubFx8UlG+5S8DFzRwBElzcQKhGRn/dE=; b=hUSURt6B/lq0TfSPBDqRtPLIU4EDe26nDZIaGkCIixA66bbGHFK2dnZMoIS1UehjWlF7uh XLn4y80iplpCa1Zzu5LBdKYHegUtK4yNmyCYw3qRsJu+08yJiS+R5iCxk4VpFLWZoO1fHV roWhLvyEGtORN0gHKedbdxXEyBLaVJX3F4Nzhk2UNCrUZwzojaSKLcPxP9+Q8D011KYMja kOxK9S8tNiVb4G3FMjbfYtRTl6rsF/OZ1rDiAe+Sy+82KLsIqDdQIglFctd8UgnRwbV8Qp MePQ4q2Lll26oH+/X/HskxLfBiYPfej6v0uq8JhiwF/yTqhPfswuw+crMRXm6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555430; a=rsa-sha256; cv=none; b=a81ge4yltp8jjG9vuDCLjtZmdfbEjxub/4EtqDIpYSC6yw6nK/Yex76dQcJNB41U5BWMjQ Oi9LcAHoPJ1YP+ujYDp1NGFqNYsewJcxDOd4fd8Bm+biQqWopbigpZk76L7i3ypc4tcCDY pHj+8CZGkqLDdeHJKTudVh3jExUCs2RZXeRdFxbbP+OteFzqcIaTRnnwG/ZI0f32LRWno1 1hVdYt+oxajmSVps1XEJoesM8hXVozv0F7F01U7kB75kANsy5YDNiIy4b4E5tI6Ae+scjH uoEei3uZSm6J1uEAP5xVveDeAmcbh7xtuJ7xtVQ5gwAun9tJ4uBUK9jkkmRGiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfj2321YzgfC; Fri, 14 Feb 2025 17:50: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 51EHoUW9061520; Fri, 14 Feb 2025 17:50:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoUdx061517; Fri, 14 Feb 2025 17:50:30 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:30 GMT Message-Id: <202502141750.51EHoUdx061517@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: cba525e53bf5 - main - pfctl: relax the cfg file secrecy check slightly to allow group readability List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cba525e53bf5bfc95c5a66ad4fae1d16f8135e08 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=cba525e53bf5bfc95c5a66ad4fae1d16f8135e08 commit cba525e53bf5bfc95c5a66ad4fae1d16f8135e08 Author: Kristof Provost AuthorDate: 2025-02-11 10:14:14 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:53 +0000 pfctl: relax the cfg file secrecy check slightly to allow group readability default permissions and mtree NOT changed. prodded by benno, ok phessler benno jmatthew theo pelikan florian Obtained from: OpenBSD, henning , 7140c133f0 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/parse.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index b370cbc463ae..522d2a910de7 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -6917,8 +6917,8 @@ check_file_secrecy(int fd, const char *fname) warnx("%s: owner not root or current user", fname); return (-1); } - if (st.st_mode & (S_IRWXG | S_IRWXO)) { - warnx("%s: group/world readable/writeable", fname); + if (st.st_mode & (S_IWGRP | S_IXGRP | S_IRWXO)) { + warnx("%s: group writable or world read/writable", fname); return (-1); } return (0); From nobody Fri Feb 14 17:50:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfj46rrlz5nQx8; Fri, 14 Feb 2025 17:50: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfj34NMQz3K67; Fri, 14 Feb 2025 17:50:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufWYRS/xbJNC/3/1t4Rj9X7pp2BUj3RGrVlkfx2iZlY=; b=pcob1ucxLnuwD3p1CG7ErEEny17s+mI8KjqI6A8dkUbW4dbCR6nPUN2Yrmur7+Q0+fOMVn Jp6wYRA8qF4fU2fOWlFsCPc6faVGS3YYvsSZGInhiLowBGbigdkcuLJSAgtED3tgy56BGK 8y1dCFFA8vlhIVEeRnNf5uutvy1sTdKxNH+M9OqQ7k1iDt7WD98Jv/ZbCje6s6e7YC6jXP MY+lIB/mjpTjY8VK5rdVnrkDOBD1f4JzO9o/aIMpfhYsgBeEnMlFwdWdM05DiyxTxdvDMh SeMpHy+v4dB2tmmQzKmV4UZ/bfBWqJLk6rhDkPKI5XuOr2evNhSYKOcmJAVNWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufWYRS/xbJNC/3/1t4Rj9X7pp2BUj3RGrVlkfx2iZlY=; b=jY5+ZqfTxIgyGFdtMYylvDu5p2mAYJ4/6Ks/g/A0I7Sxyr1Ms1HRhEzM2CnftypA8ZRqpl /ahUzsXHgREGhYE1njLes9v6dqu4cOfgPXbqZV09dMl9R/MDeL91Ajtid3YEMTDDc5klQy seYM/i+Imb8fKMQoZ/9N4sUDCS4ie7zZsBOjT89Awdpu8Xqn69IngHYwW2RRJV70uOCBem /lfvgdvczwRpLXsbFZhT/56p5PPoMgzSrVgQ/OLRfaoN6xovmkVlbsTOrP12AVYLWWa2a7 AVUQnw8aLOLeGNF15FtbPXeFqHA5VX3Y4iU/Bb9OQqh73SDWI9QsBv31owYZ4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555431; a=rsa-sha256; cv=none; b=DCrG3gN/dPPJgVpJGZ+zlsI1B6VNUEtaHik01oKjsNnCn9tIdLNEe/0dH4rPzdCMWuR9EH LValbL2etrkIot28auyfyeDFwvDGJ5YqiwxhbizIUe39pdnVHw7svuam58lbH03SLnXB8Z s8nDhxNNzwjMBUniag7yStd2UKtoJw++/18cJxyBRqVq9Tl/fr65bnebWtINjXvkhLNs2L 59WTXyqRADzZD+JTmyZqBebwZ/KwoRjMS6+yWzZCd5g5uImUWsI0s8e5mB0oVfrtZVpyZm hoxg0bjO+HZGMowtgsCaHzJr6tgEsDDEL6hNiljE13vmIQipvRd83a+NjOpaOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfj33zGBzh0j; Fri, 14 Feb 2025 17:50: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 51EHoV8u061557; Fri, 14 Feb 2025 17:50:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoVVQ061554; Fri, 14 Feb 2025 17:50:31 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:31 GMT Message-Id: <202502141750.51EHoVVQ061554@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 8e8a77c56e15 - main - pf: allow multiple pflog interfaces to be created List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8e8a77c56e15c07f27ed7ead0d272ede29eb8ec4 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8e8a77c56e15c07f27ed7ead0d272ede29eb8ec4 commit 8e8a77c56e15c07f27ed7ead0d272ede29eb8ec4 Author: Kristof Provost AuthorDate: 2025-02-14 12:41:22 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:53 +0000 pf: allow multiple pflog interfaces to be created Fixes: 3bf6554017b78f03bb779a5a3115034243e5c6c7 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/if_pflog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/if_pflog.c b/sys/netpfil/pf/if_pflog.c index f325d0001799..7c9baaeaba76 100644 --- a/sys/netpfil/pf/if_pflog.c +++ b/sys/netpfil/pf/if_pflog.c @@ -111,7 +111,7 @@ pflogattach(int npflog __unused) struct if_clone_addreq req = { .create_f = pflog_clone_create, .destroy_f = pflog_clone_destroy, - .flags = IFC_F_AUTOUNIT | IFC_F_LIMITUNIT, + .flags = IFC_F_AUTOUNIT, }; V_pflog_cloner = ifc_attach_cloner(pflogname, &req); struct ifc_data ifd = { .unit = 0 }; From nobody Fri Feb 14 19:25:25 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvhpY6MXVz5nXYJ; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvhpY5jpdz48jL; Fri, 14 Feb 2025 19:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UxUhhPbSnoN9n/ehMRjxW9pIsBQ0Zq9VLDeU8mm2as4=; b=r+d+AUfg+h7GxFXTYgszF3nga9NcQeGPOdQ0fiOrOZyaWKiaQFUD/v/Xo91OwuncPAheI3 HubK3kPNFdirjyDsIC6nxvIYjws+PPOz/J3o/br35DCBvyrZWep2FXPQHwvsfo5j9gLnmR TwwW4F6DiSUihHpr5A1Ldqmp0ykgOov8bcILgFbBNeBNY2SuRzDOc60oEXgyFX0celxGMq eaBMdL1dxUOwAqS/AoRXYjsbTGrJ/pbu+JsTISMe+Cpn9BlTZlkC8V3Pnh23yvK3aRdb0m e6RMcHaS6QUe5KmejRfMgaen4XiRkx5gdcza9cRZz1KQfHUAEvDDlgwVnAWYYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UxUhhPbSnoN9n/ehMRjxW9pIsBQ0Zq9VLDeU8mm2as4=; b=IIynlqLC+ogT/8EoG5GT3tTyBfBh1wl2LdnA/T3zgShdTxxQWBd6RDVdDN/R+kBGT4MkjJ /H27i2mtfNtHYDB11chPwViuSzKBuLmGhpjTcphcMOBbuN1A6pLHquMnf9br3sjHNGpZul 24Yi35nRuWBCnUSzcCUn1MUrNy/xzgM/RYNPfPcfo2w3q1M+uW8LG8kiqD6F/7eiadJOB4 xVb7xvJU0qrYgddUgbZ1PTqXtp5vDQZXex0cEaaT6gg8KRGSaMz2sd5Z0Y1DutRS0MKhlk xD7R16BOO5ecXNuvF7ofQh5a9oNBdecSj2PAGoIXPKo6tJ5jTh0qovjwxu5VQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561125; a=rsa-sha256; cv=none; b=puKkuemE2/S6cxbAM+Qh+ApNkdv0TYMM1zjB+Q24tb+ZDVFogCig7brPyyABdo7k0grjsJ ukWpbLLu7dfiDnXgxeLva8bjzC4wfEn8G2PHWhjTXYEWavrfg4NHjdGDD/G61nRgLQ5YS0 iGk2FbVS4CEB5oy4p5mUtF1qqzNQHlfKCGNEqe6SqzAv03DEa+J2TXSiWg6UdkvJLuQTLA h+R/dCMFYRxQfhoJB/ZLrnslTGvdbnoDq1g/miM2zDH8GSn6ePme8JLtpNA/3pKuOlVxIr 6gd1sgA1Om+zyij6ZoPfsqi5yA2JYLaqhjFbXa4P4OZx73gmFHlcMWIX0iBVhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvhpY5KG0zkkr; Fri, 14 Feb 2025 19:25: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 51EJPPGU038713; Fri, 14 Feb 2025 19:25:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPPSh038710; Fri, 14 Feb 2025 19:25:25 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:25 GMT Message-Id: <202502141925.51EJPPSh038710@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: bfe8eb702e1e - stable/14 - dtrace: Remove the noinline qualifier from dtrace_getarg() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bfe8eb702e1e3db696e021da65ca5d883d62e1c5 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=bfe8eb702e1e3db696e021da65ca5d883d62e1c5 commit bfe8eb702e1e3db696e021da65ca5d883d62e1c5 Author: Mark Johnston AuthorDate: 2025-01-25 17:22:02 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 dtrace: Remove the noinline qualifier from dtrace_getarg() It serves no purpose after commit 82283cad12a4. No functional change intended. Fixes: 82283cad12a4 ("dtrace: Avoid including dtrace_isa.c directly into dtrace.c") MFC after: 2 weeks (cherry picked from commit 494a2b14722e8955af54e306305f462e5765c1e4) --- sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h b/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h index 222f8e206da1..10ba0d37ac1b 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h +++ b/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h @@ -1272,11 +1272,7 @@ typedef struct dtrace_toxrange { uintptr_t dtt_limit; /* limit of toxic range */ } dtrace_toxrange_t; -#ifdef illumos extern uint64_t dtrace_getarg(int, int); -#else -extern uint64_t __noinline dtrace_getarg(int, int); -#endif extern greg_t dtrace_getfp(void); extern int dtrace_getipl(void); extern uintptr_t dtrace_caller(int); From nobody Fri Feb 14 19:25:27 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpc1r33z5nXNJ; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpc0QZwz48jp; Fri, 14 Feb 2025 19:25:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AftY76POuyE8iWEKB2TRwbkomGqezUQldYWcqBbq2tc=; b=kVZcKeKqQ8grF9YOBJzVtYdDwxSc0s/qcQB+1N+RptnbVGE3oXI761rPvEPxp6tBtVrY3n J086oj8K01z0C1AOyqMicQoqkH19Kud/AopqglRYA48YHWQiyo7N/YxU3SrJAuaaencJQr RptVSdrt0wQRF3SWOuv8JcY+0Eid/J/CZl3FsxpgoiromY/YyIPHB1K2rgMbJWi2d9IB1f bubU2/jIihzfHG9N4lyae/sa+ccOqw+E9pHNzQpFhrW0r0AMy1Vx0/QcPaN22PeV/A4DUn 9KTDa0ENqg6tC4nQbefaNV0lNc3LcAs9fxAbE8KtmS3qu9oPxzDVSC4FodS9Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AftY76POuyE8iWEKB2TRwbkomGqezUQldYWcqBbq2tc=; b=GT8XoLzzEMRQZp2t1YuXW0gt0aRXldgquF+44ah1RLHVf8t+1ptphSRoMMASRN7eqOQk1c yTEWIuNzuyXYpCSTlgg0XzgF5PNyJf/KHVEeIGVTGxIxaWLWvhqBs24hqtsnEvEkpZZgwB AvA7dsiqq6efegyqr6yD2wUpE1s1a4mk0YWSmxyl548Bxic+nuEoCMx5KmiV1nekos5S2A JVK5rIATOr8AxMcWbCrqAIVbHcNO80reo+eCLT3/rifWtSi4Z9y7+UBiDYGe9dlj6/ulIN wPsy2ldJxXVLuSmRzoGTeS0pKSq05sN/k+uWsVkOzricHagAcOqjn6h51RGR8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561128; a=rsa-sha256; cv=none; b=gC2OwxhCFApAV8AcD4s/PrBls/Olc9c5xknBVG+LiDKggj6Dk2A7+Qt2BmVpqJiyBmagR6 PeoE3+Q1o2qBfBS1LkPCPBqT8SQLQOTDOsFgxvne+6mK/25aYQ3HRij8SQepdFiMqU8GIR 7AuDCN6if6oFvyyWW4xKPdgZBFRC38I/87XeS7mCznxm4VqD/sBLLxdL6g6r+W3AuEefF2 izbvZkgkeVTcVXYKSToCiqOS8GphpkAhGJMxyS9L59pRxCYD7RkVqI/09A6+7w+ZviucMK DNOkvHU32STgeI3L+OokTZNn08Oc6yVYR94n+G6G50Jn9eQT+johm9ezjPokTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpb6x5kzkfc; Fri, 14 Feb 2025 19:25: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 51EJPR55038786; Fri, 14 Feb 2025 19:25:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPRpZ038783; Fri, 14 Feb 2025 19:25:27 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:27 GMT Message-Id: <202502141925.51EJPRpZ038783@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: f44f65ff03f7 - stable/14 - arm64: Clean up usage of the dtrace invop handler List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f44f65ff03f7dd2ad508480dc5d8fcf4ce6f33a4 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f44f65ff03f7dd2ad508480dc5d8fcf4ce6f33a4 commit f44f65ff03f7dd2ad508480dc5d8fcf4ce6f33a4 Author: Mark Johnston AuthorDate: 2025-01-25 16:17:03 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 arm64: Clean up usage of the dtrace invop handler - Don't consume the breakpoint if all invop handlers returned a non-zero value. - Fix style nits. MFC after: 2 weeks Sponsored by: Innovate UK (cherry picked from commit 853cd8723494ccc2e972aaa09e7d04ede1508c95) --- sys/arm64/arm64/trap.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 64a27b138a9a..fdcb7e708daf 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -538,11 +538,10 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) break; case EXCP_BRK: #ifdef KDTRACE_HOOKS - if ((esr & ESR_ELx_ISS_MASK) == 0x40d && \ - dtrace_invop_jump_addr != 0) { - dtrace_invop_jump_addr(frame); + if ((esr & ESR_ELx_ISS_MASK) == 0x40d /* BRK_IMM16_VAL */ && + dtrace_invop_jump_addr != NULL && + dtrace_invop_jump_addr(frame) == 0) break; - } #endif #ifdef KDB kdb_trap(exception, 0, frame); From nobody Fri Feb 14 19:25:26 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpb5wLjz5nXbj; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpb0CjRz48l3; Fri, 14 Feb 2025 19:25:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yIxxwJ/4/mSHKkj16/cpRNukWUmirdpALnNjhDFbwwg=; b=i0hJwVwtqnGcU20VI951cUDUwFXX/y6iNotFFh944TaeyzY2TI9HJJph0+lZLndn1JOuyR oPJjKdq2kIG13h2EqxTcsPUE/0q/kR1ZmQM8GmjSccHJyh/yJD6SSXrZMzek1FNPpzv3Jx LlsDZwxgGaVzaExfjCH8k5AKxg/U51bHNbfhd9Nw2IKP90OeDkR6m3+PWQAJgZR3AM0UMn ZpIZIvXc5gNmBYNTzNF0cTzuaHA2gxUXFFm7d3sBoFmCTwCi7FPPGgHKzKVO9qDNlW9Q4y 4CPNFAyc7FYhuNKc38sH/lBsYCsRNCjsodoQb62FfFGgag3aXTHbgtmiteJ/7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yIxxwJ/4/mSHKkj16/cpRNukWUmirdpALnNjhDFbwwg=; b=NNZKr0crXk0HycQ8biIsu/drMbiGNTjFH0NEEZOVlrPzjT7UkRj41+N6lk2TgzDz8Dd/VA PpBAZIao+KO8tlsvKYyuRy4xXTY4utfMu8kVuL22SkbQdGijKGQtBL9PQ89GUCKazWwwGn BFN3Y7MuefTsh1TQG1wrJhRD88l/lRc5+arB4RAgOzGXVAhTsP2GFI50DsehUTPJWFsgIc X1HycOTJBMK927qY00LADkBL+B9G/MogvpKAYaOZKOhJyiF/zy0CNRkINfd2Ds8Sx2PMrv +Gbu56OkUqxh7WWuhQYW8s6Jw5MwJZ64W1oqZfymqqyhwec5FlzLvRnkejDx+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561127; a=rsa-sha256; cv=none; b=blV84HQJ6VyCTer2rPNZ8mc/oxrKsPPuPY0lDz9t9QsORwgR6DFmfwUxCCEB8KLofpuqRK g5TANw1c++sm7onKxfsJKdQj2Jc38/03GHInirQGdfCJCL6ggFQoAbF3f94u5F3ZwLRPSp Bf8MkUhrWSRiN9iB8V8BaH6Cm3igIuEi1C8iJbF+PYiLVzqThRsL8qsqty7lIok1Vr6jSM QL+NASqTtBi/KBFzvwhmryJcevjqRe5Wov8rgtLGY2TzurCqxQRp1iuEbGSZPm+JiFZSVG Jq+xKAxyeCmUXjaGokvqb1B7a1JHNafiMICCk7wPuw4FDIfeHSPfRpd1PykkxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvhpZ64s2zlCJ; Fri, 14 Feb 2025 19:25: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 51EJPQq7038750; Fri, 14 Feb 2025 19:25:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPQ6O038747; Fri, 14 Feb 2025 19:25:26 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:26 GMT Message-Id: <202502141925.51EJPQ6O038747@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: 4a6d4cd76307 - stable/14 - libdtrace: Generalize handling of data models a bit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4a6d4cd76307701b07a7915a36f7b8280fb4d207 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4a6d4cd76307701b07a7915a36f7b8280fb4d207 commit 4a6d4cd76307701b07a7915a36f7b8280fb4d207 Author: Mark Johnston AuthorDate: 2025-01-25 15:57:37 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 libdtrace: Generalize handling of data models a bit Make it easier to support data models other than ILP32 and LP64 by avoiding constructs which assume that it must be one or the other. No functional change intended. MFC after: 2 weeks Sponsored by: Innovate UK (cherry picked from commit 096a5c6cd28c417456d5ce3598be15e6b656af5c) --- cddl/contrib/opensolaris/cmd/dtrace/dtrace.c | 7 +++---- cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c | 8 +++++++- cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h | 1 + 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c index dc68c6ef5f72..162224478ec0 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c +++ b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c @@ -1378,7 +1378,7 @@ main(int argc, char *argv[]) argv[0], optarg); return (usage(stderr)); } - g_oflags &= ~DTRACE_O_LP64; + g_oflags &= ~DTRACE_O_MODEL_MASK; g_oflags |= DTRACE_O_ILP32; break; @@ -1389,7 +1389,7 @@ main(int argc, char *argv[]) argv[0], optarg); return (usage(stderr)); } - g_oflags &= ~DTRACE_O_ILP32; + g_oflags &= ~DTRACE_O_MODEL_MASK; g_oflags |= DTRACE_O_LP64; break; @@ -1460,8 +1460,7 @@ main(int argc, char *argv[]) * files. We ignore certain errors since we'll catch them later when * we actually process the object files. */ - if (g_mode == DMODE_LINK && - (g_oflags & (DTRACE_O_ILP32 | DTRACE_O_LP64)) == 0 && + if (g_mode == DMODE_LINK && (g_oflags & DTRACE_O_MODEL_MASK) == 0 && elf_version(EV_CURRENT) != EV_NONE) { int fd; Elf *elf; diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c index 8f8d20298e4c..40200771fd4d 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c @@ -1073,8 +1073,14 @@ dt_vopen(int version, int flags, int *errp, if (flags & ~DTRACE_O_MASK) return (set_open_errno(dtp, errp, EINVAL)); - if ((flags & DTRACE_O_LP64) && (flags & DTRACE_O_ILP32)) + switch (flags & DTRACE_O_MODEL_MASK) { + case 0: /* native model */ + case DTRACE_O_ILP32: + case DTRACE_O_LP64: + break; + default: return (set_open_errno(dtp, errp, EINVAL)); + } if (vector == NULL && arg != NULL) return (set_open_errno(dtp, errp, EINVAL)); diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h b/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h index b380f5eb3313..1f4c5a2efd6b 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h @@ -70,6 +70,7 @@ typedef struct dtrace_aggdata dtrace_aggdata_t; #define DTRACE_O_NOSYS 0x02 /* do not load /system/object modules */ #define DTRACE_O_LP64 0x04 /* force D compiler to be LP64 */ #define DTRACE_O_ILP32 0x08 /* force D compiler to be ILP32 */ +#define DTRACE_O_MODEL_MASK (DTRACE_O_LP64 | DTRACE_O_ILP32) #define DTRACE_O_MASK 0x0f /* mask of valid flags to dtrace_open */ extern dtrace_hdl_t *dtrace_open(int, int, int *); From nobody Fri Feb 14 19:25:29 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpd2Mjfz5nXYM; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpd1Kxdz48km; Fri, 14 Feb 2025 19:25:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZr7KgNWEq1utHBm7tJ6qb0SKy7FPM61xjvX8u65QNc=; b=yLoHCHOqGqnCtGztyckQjNjXh3MexqDPvUxEwEn7awRNEg3hhA+TYhRtm+XVX9hZlCBPpf 9wlwpv8OsZ6P6KUvnHFq5kCE680rNXR4EdcnqtA1g/kX920mTMPX4w33Htlm4os9I0bQ4p 1gbmdiKxesaxneVLsMlDzjKTrIfDHyQynS2y4/lFHGarAQRWnaeVUCF+wcL4di6fFCdBFm ijkKQJyhCJycMyfGd/6xKqPNqeRBr7RyuU9dX5d+D74k/M8JqdQMv0M5ilbi6VXELUu2mV LvwP9uvde543M1B4q4yjGch73Plum2/XMFLK9v2Vw3W/EO3mRdWbWgfoQEpmYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZr7KgNWEq1utHBm7tJ6qb0SKy7FPM61xjvX8u65QNc=; b=bPtMhdIJbD3zJ46L2DaRm2gX+c6EacHB3PwCkXIAqK9QGq1W+BELdGb15U7uvZ9E5ejB3j /wccmB9omNZPjNj9RPwFaNHy52U9kchW82xQwwV6AyuD7HSrcm5otYaHPHoL78gWE39VDa tm9totSPqZujSmjRtHrpUwpjCo2e6HuP6xyitCgUB+q3jpx5hBrhKrhejl2ZrfQPQ2MdGJ x1kA8fMrVyBezj4UMZWl3Z6UFFZd8yhbw9VhZ4Aj/R0nWF+qcBFGcPUq6lUsavtBk4zR8d ozvav5uTRpj1+4FJU7HF0VaytNmRX5FesIy/lmcOZm+lby/zSSOuXG8mJC2W5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561129; a=rsa-sha256; cv=none; b=wOXBkIGi7Ow7ekWzefRcP69WPOoremoR91xGsqmE4hbdrn+04OhFiJKoZJucUljHMjFAEP gnIvoy4tK94u/KQN2iUGExmFX8SZx/vplDs2wfhkZS5TOy6vjr3LlEaM2XQAOlj14HFAqw uW4lFCLRnHQpLxqzWxLL3KtZ7slOoeXoejx7TSaDjq8jVWhG5NVZv4oiicNPDUUVJd4iFn mw0HDzMBuHMCTK7mUoyJ95uf4m9k6WQFyiGmmwI4tYVN8gSD2zRSZJpq3/Casr1B1KfBHZ wqTRMeVhq8M0R1n4TzbN6f2WodkipspSKwLB+5KoLW+3pC/2dKGVv9Y3crSB0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpd0W3yzkks; Fri, 14 Feb 2025 19:25: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 51EJPTra038819; Fri, 14 Feb 2025 19:25:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPTsv038816; Fri, 14 Feb 2025 19:25:29 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:29 GMT Message-Id: <202502141925.51EJPTsv038816@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: 467fa302c3ae - stable/14 - clock: Add a long ticks variable, ticksl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 467fa302c3aeefd7ccd9fa6bd0ad0381d86cd75b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=467fa302c3aeefd7ccd9fa6bd0ad0381d86cd75b commit 467fa302c3aeefd7ccd9fa6bd0ad0381d86cd75b Author: Mark Johnston AuthorDate: 2025-01-10 15:37:07 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 clock: Add a long ticks variable, ticksl For compatibility with Linux, it's useful to have a tick counter of width sizeof(long), but our tick counter is an int. Currently the linuxkpi tries paper over this difference, but this cannot really be done reliably, so it's desirable to have a wider tick counter. This change introduces ticksl, keeping the existing ticks variable. Follow a suggestion from kib to avoid having to maintain two separate counters and to avoid converting existing code to use ticksl: change hardclock() to update ticksl instead of ticks, and then use assembler directives to make ticks and ticksl overlap such that loading ticks gives the bottom 32 bits. This makes it possible to use ticksl in the linuxkpi without having to convert any native code, and without making hardclock() more complicated or expensive. Then, the linuxkpi can be modified to use ticksl instead of ticks. Reviewed by: olce, kib, emaste MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D48383 (cherry picked from commit 6b82130e6c9add4a8892ca897df5a0ec04663ea2) --- sys/conf/files | 1 + sys/kern/kern_clock.c | 26 ++++++++++++++------------ sys/kern/kern_tc.c | 4 ++-- sys/kern/subr_param.c | 2 +- sys/kern/subr_ticks.s | 44 ++++++++++++++++++++++++++++++++++++++++++++ sys/sys/kernel.h | 9 +++++++++ sys/sys/timetc.h | 2 +- 7 files changed, 72 insertions(+), 16 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index b571db1e27e8..a1a919bbb3b3 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3905,6 +3905,7 @@ kern/subr_stack.c optional ddb | stack | ktr kern/subr_stats.c optional stats kern/subr_taskqueue.c standard kern/subr_terminal.c optional vt +kern/subr_ticks.s standard kern/subr_trap.c standard kern/subr_turnstile.c standard kern/subr_uio.c standard diff --git a/sys/kern/kern_clock.c b/sys/kern/kern_clock.c index 08ba6c1cc838..f29dd5708230 100644 --- a/sys/kern/kern_clock.c +++ b/sys/kern/kern_clock.c @@ -325,7 +325,7 @@ read_cpu_time(long *cp_time) #include -static int watchdog_ticks; +static long watchdog_ticks; static int watchdog_enabled; static void watchdog_fire(void); static void watchdog_config(void *, u_int, int *); @@ -371,10 +371,9 @@ watchdog_attach(void) int stathz; int profhz; int profprocs; -volatile int ticks; int psratio; -DPCPU_DEFINE_STATIC(int, pcputicks); /* Per-CPU version of ticks. */ +DPCPU_DEFINE_STATIC(long, pcputicks); /* Per-CPU version of ticks. */ #ifdef DEVICE_POLLING static int devpoll_run = 0; #endif @@ -482,14 +481,14 @@ hardclock(int cnt, int usermode) struct pstats *pstats; struct thread *td = curthread; struct proc *p = td->td_proc; - int *t = DPCPU_PTR(pcputicks); - int global, i, newticks; + long global, newticks, *t; /* * Update per-CPU and possibly global ticks values. */ + t = DPCPU_PTR(pcputicks); *t += cnt; - global = ticks; + global = atomic_load_long(&ticksl); do { newticks = *t - global; if (newticks <= 0) { @@ -498,7 +497,7 @@ hardclock(int cnt, int usermode) newticks = 0; break; } - } while (!atomic_fcmpset_int(&ticks, &global, *t)); + } while (!atomic_fcmpset_long(&ticksl, &global, *t)); /* * Run current process's virtual and profile time, as needed. @@ -527,8 +526,10 @@ hardclock(int cnt, int usermode) } #endif /* DEVICE_POLLING */ if (watchdog_enabled > 0) { - i = atomic_fetchadd_int(&watchdog_ticks, -newticks); - if (i > 0 && i <= newticks) + long left; + + left = atomic_fetchadd_long(&watchdog_ticks, -newticks); + if (left > 0 && left <= newticks) watchdog_fire(); } intr_event_handle(clk_intr_event, NULL); @@ -542,11 +543,12 @@ hardclock(int cnt, int usermode) void hardclock_sync(int cpu) { - int *t; + long *t; + KASSERT(!CPU_ABSENT(cpu), ("Absent CPU %d", cpu)); - t = DPCPU_ID_PTR(cpu, pcputicks); - *t = ticks; + t = DPCPU_ID_PTR(cpu, pcputicks); + *t = ticksl; } /* diff --git a/sys/kern/kern_tc.c b/sys/kern/kern_tc.c index 26f09cb60260..a797a101bf6f 100644 --- a/sys/kern/kern_tc.c +++ b/sys/kern/kern_tc.c @@ -1916,9 +1916,9 @@ SYSCTL_INT(_kern_timecounter, OID_AUTO, tick, CTLFLAG_RD, &tc_tick, 0, "Approximate number of hardclock ticks in a millisecond"); void -tc_ticktock(int cnt) +tc_ticktock(long cnt) { - static int count; + static long count; if (mtx_trylock_spin(&tc_setclock_mtx)) { count += cnt; diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index cee70a842735..67dc10213a70 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -198,7 +198,7 @@ init_param1(void) * Arrange for ticks to wrap 10 minutes after boot to help catch * sign problems sooner. */ - ticks = INT_MAX - (hz * 10 * 60); + ticksl = INT_MAX - (hz * 10 * 60); vn_lock_pair_pause_max = hz / 100; if (vn_lock_pair_pause_max == 0) diff --git a/sys/kern/subr_ticks.s b/sys/kern/subr_ticks.s new file mode 100644 index 000000000000..6565ba424137 --- /dev/null +++ b/sys/kern/subr_ticks.s @@ -0,0 +1,44 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 Mark Johnston + */ + +/* + * Define the "ticks" and "ticksl" variables. The former is overlaid onto the + * low bits of the latter. + */ + +#if defined(__aarch64__) +#include +#include + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) +#endif + +#ifdef _ILP32 +#define SIZEOF_TICKSL 4 +#define TICKSL_INIT .long 0 +#else +#define SIZEOF_TICKSL 8 +#define TICKSL_INIT .quad 0 +#endif + +#if defined(_ILP32) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ +#define TICKS_OFFSET 0 +#else +#define TICKS_OFFSET 4 +#endif + + .data + + .global ticksl + .type ticksl, %object + .align SIZEOF_TICKSL +ticksl: TICKSL_INIT + .size ticksl, SIZEOF_TICKSL + + .global ticks + .type ticks, %object +ticks =ticksl + TICKS_OFFSET + .size ticks, 4 diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index e07dc7031bb8..d6b5f8ec10dc 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -67,7 +67,16 @@ extern int psratio; /* ratio: prof / stat */ extern int stathz; /* statistics clock's frequency */ extern int profhz; /* profiling clock's frequency */ extern int profprocs; /* number of process's profiling */ + +/* + * The ticks and ticksl symbols overlap, giving a 64-bit tick counter on 64-bit + * platforms while still maintaining compatibility with the legacy 32-bit + * counter. Either value can be used, but rollover must be handled; at 1000Hz, + * ticks (and ticksl on 32-bit platforms) roll over roughly every 25 days. On + * 64-bit platforms, ticksl will not roll over in the foreseeable future. + */ extern volatile int ticks; +extern volatile long ticksl; #endif /* _KERNEL */ diff --git a/sys/sys/timetc.h b/sys/sys/timetc.h index fed3284e21b5..2f72f8b2527a 100644 --- a/sys/sys/timetc.h +++ b/sys/sys/timetc.h @@ -87,7 +87,7 @@ extern int tc_min_ticktock_freq; /* u_int64_t tc_getfrequency(void); void tc_init(struct timecounter *tc); void tc_setclock(struct timespec *ts); -void tc_ticktock(int cnt); +void tc_ticktock(long cnt); void cpu_tick_calibration(void); #ifdef SYSCTL_DECL From nobody Fri Feb 14 19:25:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpf3kpDz5nXYR; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpf2Gbjz48l0; Fri, 14 Feb 2025 19:25:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E1bC0tsWBNoasUTms+lEUzQhaWPWGgfaiLoiwz3Mvuk=; b=sqLxlryzUANzuvrTMFQlOcGV8bNC3BguS87Su4NPNfAHsW593sVnYukJu0moLYuWawMdI4 9skzH4XwDV5zg42k/GSTTORcrkxQdVf/ax6sLf1rgM4Ze9kbq1QLsdUBYLMERY9tb3AZmX T8s2fdhHyUPbx98vG34QG+FKYdyBA3Dhol/yFrPYVSA98c+mZafre8kquKNaI9RIpJPL6Z P7K2H/IAARbrb7TMI21cm3D9LjXBR+vCrU1o1nMpEZF4JneBpabGAI3jU8m1U8qrto212U kmYrAMp5RSKvnEco1VlDg8FjST906cSbVV/hQKVVhJKR6XLomTkUPTIqxlmRyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E1bC0tsWBNoasUTms+lEUzQhaWPWGgfaiLoiwz3Mvuk=; b=OU45Pqi7CaAQz9+qWYpzLYGFW0G6Z/JMyxVM35l0TJmuxphzYig7mHY9rsvSy6hQI7C6jD 4wJsCvPZsiafcuywQZ4YhiXqOfgKOtG03TqJR4ZRiJ0D2hAwKVnsW8CiTwj228QvkqhVMC HWYdK6I8oX9nEuvpQJHzdRkNoxOISwDRtVzrrOUImilCQ6PXoLAY5nETq1prFzIfASshVE Wvrg+UgSLIy8VZOmFeg1Rtqd6XkDOl5ExtTT7TAVbx8W9W5KmSGEM/cvYtJCfFhTKZzhx0 G64cTkcic1FC36TmJy8Q9EenJBodi9RVjoKFFiU4VrZN/c1YourpyBEB6HSIZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561130; a=rsa-sha256; cv=none; b=WBfKbIi4h70RfCO4w1M86V0P+5kT44iqSpG3Vpo3m1wtHGI4TKh4Q+ng7fo6/QU3d7bXlk Mbm38mQkATIxaseqMrYqA0IMQv+TNhC7uJsCNqP5cSi8nwGXOAi4QlAHIsGcflagtTtrcj HniGlQtrUXetJYfREa9KtaKebaj1aN7QJ2wYL3vOtha8vjjQU0mdZ3XIC4hCXSWZD8gpuB Wmp5Do9qIi4PsIhXXYn4bFuQEOfqH9FtCUNx5zY6A3AadZVa+YCtAQvgZFKcYu1lP+4JzS +/roW7KvkD5+xfTyrX1xHwxLr5WczZWXXkOA21DbCLL3Ogfm2hNCsmP9bDLrZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpf1TdPzkGK; Fri, 14 Feb 2025 19:25: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 51EJPU5D038852; Fri, 14 Feb 2025 19:25:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPUvB038849; Fri, 14 Feb 2025 19:25:30 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:30 GMT Message-Id: <202502141925.51EJPUvB038849@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: a267ceaf39a6 - stable/14 - clock: Simplify subr_ticks and rename List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a267ceaf39a6c756e72787c96e61714081bff339 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a267ceaf39a6c756e72787c96e61714081bff339 commit a267ceaf39a6c756e72787c96e61714081bff339 Author: Mark Johnston AuthorDate: 2025-01-10 23:59:47 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 clock: Simplify subr_ticks and rename - We can use builtin constants for the size of int and long to simplify definitions. - The file should have a .S prefix since we want to run it through the preprocessor, though apparently this happens anyway with .s... - Move ticks and ticksl from .data to .bss. Reported by: jrtc27 Reviewed by: jrtc27, kib, emaste Fixes: 6b82130e6c9a ("clock: Add a long ticks variable, ticksl") Differential Revision: https://reviews.freebsd.org/D48420 (cherry picked from commit b2b974f7ef4cddff251d0de69d8da13232b25e4d) --- sys/conf/files | 2 +- sys/kern/{subr_ticks.s => subr_ticks.S} | 22 +++++++--------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index a1a919bbb3b3..34f57c32361a 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3905,7 +3905,7 @@ kern/subr_stack.c optional ddb | stack | ktr kern/subr_stats.c optional stats kern/subr_taskqueue.c standard kern/subr_terminal.c optional vt -kern/subr_ticks.s standard +kern/subr_ticks.S standard kern/subr_trap.c standard kern/subr_turnstile.c standard kern/subr_uio.c standard diff --git a/sys/kern/subr_ticks.s b/sys/kern/subr_ticks.S similarity index 62% rename from sys/kern/subr_ticks.s rename to sys/kern/subr_ticks.S index 6565ba424137..52435b194c4f 100644 --- a/sys/kern/subr_ticks.s +++ b/sys/kern/subr_ticks.S @@ -16,29 +16,21 @@ GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) #endif -#ifdef _ILP32 -#define SIZEOF_TICKSL 4 -#define TICKSL_INIT .long 0 -#else -#define SIZEOF_TICKSL 8 -#define TICKSL_INIT .quad 0 -#endif - -#if defined(_ILP32) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define TICKS_OFFSET 0 #else -#define TICKS_OFFSET 4 +#define TICKS_OFFSET (__SIZEOF_LONG__ - __SIZEOF_INT__) #endif - .data + .bss .global ticksl .type ticksl, %object - .align SIZEOF_TICKSL -ticksl: TICKSL_INIT - .size ticksl, SIZEOF_TICKSL + .align __SIZEOF_LONG__ +ticksl: .zero __SIZEOF_LONG__ + .size ticksl, __SIZEOF_LONG__ .global ticks .type ticks, %object ticks =ticksl + TICKS_OFFSET - .size ticks, 4 + .size ticks, __SIZEOF_INT__ From nobody Fri Feb 14 19:25:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhph64y7z5nXHn; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpg36s3z48x9; Fri, 14 Feb 2025 19:25:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8qoJncCO5FJdAbyNnHk3BVgIlAD6PeBrFzYsBMNijDI=; b=B2ZBmqwgxm9aExbVirUQR3KFo2+05YWkZKGlUT4yyKeOPRIyuTkHpMG4lqK2fc4aoZPtTJ WFsxfh48db8wB5FwjoiHvlC3QN9vb/6Uv8AtnWVSjJbIYudGg0uL2LicsV8tmYafWRenL9 0gEOtPYV+GBMIfNmYlCOivH+0VY2AQPofW2o1gogrKSvhC6geQDjVspqKkZRv5D70EaI+Z Jtv+alPskSj56EaivtETfc3zYUBoqQuX2swfg2CWHDFO+fnC6ocu3qjZw8fzxXIfZdmnxd uu+Nw/z9MJx7D0wTE64a3XOkGQkh4uuLZ3uUAO6vM0pJdE8WAbbMH3e0cE/NJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8qoJncCO5FJdAbyNnHk3BVgIlAD6PeBrFzYsBMNijDI=; b=ICuPxHdifkTR9z+tJwyoOQ9TrU0Hnfxzh16QdNW2d4LTm6DB2+AtKLO7mBeaQu+20saTyM 6ivz/b2GACXNbwEERBcVykUHG1MfNBaIG0h/rlVC3tHtEOYNL6R3YuiHAEbtXoE8aKEceA kP0NNDef8kY5o5qJWg273ANvxW8dKGt8TFsRKiKB+SX87Qz2mWhl29rlWBuge3CLskHDSb ls4A14L+70JBOgkim2KWwjieEIxBGej5epRzkgNvOSXLOez4/ILHyRbCTkJMdIYtkUgvUT AnAaI2Yb3RqcwAE/RzXkp/zf47Tz5Zn4P3GBNM2cRmAfIre7nT1rkL8UhNH+fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561131; a=rsa-sha256; cv=none; b=xmZYzJiFvfMj+FJ/owzCr5q92qs90ZRl/e7JyAr0C386IrDP6L4LwAi3IGvo8Jq6JcISDs d19b1RApEhjqTl+drJA+aGA+v2Y/tvJxRfFZ7RcB65hvY3QvobjKbqBHpNUFNdgWq/ub+8 UQGas+9e/+bDoJNjxkZZDTSAftG/WLBmCpabHRSHBD6VVCZ9qFOMyNbZAiBTQyuyu9l8Jh WvwwdhD3JhEchwJpVLW9eLvZJwzTM6PxsdfBwOF59bHO0tC9AQQhlns+sJfPFuaRDREBKr nQJ2evJaHjSdnOBmZDyOCWjsvfwyKzySxO4ra2M9MzDkj5Q3HOPH7sacCH0XKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpg2khHzkfd; Fri, 14 Feb 2025 19:25: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 51EJPVgd038885; Fri, 14 Feb 2025 19:25:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPVov038882; Fri, 14 Feb 2025 19:25:31 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:31 GMT Message-Id: <202502141925.51EJPVov038882@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: 3e6fddaf80b9 - stable/14 - clock: Use .balign to align ticksl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3e6fddaf80b9162bad2b7987c325c917b2b6e7d2 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3e6fddaf80b9162bad2b7987c325c917b2b6e7d2 commit 3e6fddaf80b9162bad2b7987c325c917b2b6e7d2 Author: Mark Johnston AuthorDate: 2025-01-11 17:45:57 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 clock: Use .balign to align ticksl The .align directive has a different behaviour on 32-bit arm than on other platforms. Use .balign instead, which has consistent behaviour on all architectures. Reported by: kib Reviewed by: jrtc27, kib Fixes: 6b82130e6c9a ("clock: Add a long ticks variable, ticksl") Differential Revision: https://reviews.freebsd.org/D48430 (cherry picked from commit 159d29d3948294cdc9ee4cc3951d004de6797a32) --- sys/kern/subr_ticks.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/subr_ticks.S b/sys/kern/subr_ticks.S index 52435b194c4f..ad01d5d67165 100644 --- a/sys/kern/subr_ticks.S +++ b/sys/kern/subr_ticks.S @@ -26,7 +26,7 @@ GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) .global ticksl .type ticksl, %object - .align __SIZEOF_LONG__ + .balign __SIZEOF_LONG__ ticksl: .zero __SIZEOF_LONG__ .size ticksl, __SIZEOF_LONG__ From nobody Fri Feb 14 19:25:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpl45Pnz5nXRd; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpk6swFz48st; Fri, 14 Feb 2025 19:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/1NZjj7uf0UXJVUorKs3/tfWdyDrLS4AEwjJ8KYE86w=; b=W+mgMx+6UFZnvgBfxj6rjMXzzTUNpNqN7E8JxE2Q5A/S7DhDmz+XzHTGP4h0a66GUTA6AQ CvaqZ2sT7BowuRGnnOuki6pTBn8AZUk4w606qCww4ocaCOPUd0kAkbgMG+4Pdyn5C3+m09 Gm4HNeAxvlTHpaDDvjguGuqCY9kIlDRYw+DL/DTSTDsWYUUtD5Y91bQUsvhh+mswvPE6bO B5XpfYxvoS0Lskwl/qoDpn4dwUple/laf2xCs4smozx/Ass209LeeVHDeMKktdPmI3Owsb m7eT/2S2cILW2DGF9yZBKkZCehiMuFvIVvxDlIpXfH40b3zUIPk7EAR7NDPDFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/1NZjj7uf0UXJVUorKs3/tfWdyDrLS4AEwjJ8KYE86w=; b=psutf5tspg6o4S+KxJ7ghHhJ+owj2aB5+B//zvcxP8hDFv3B/ZkjAVhwpxUEFsfqbSer8K cFrb4kYGbucwK9mui3IAVM7Ql/0cZg6VfXzIiEax1ffU34Kv7a7ACwWmAIbllzO50gaVGO B+OMBfyRqoVi5PgtWmCRYi66Vqe3N5BEjJLSCSiJvXfRMSbDKIQ2wRIgkcRHfbtmE7o3+4 9Gy/rBPszyV98Ij+vzMqG3JrowE06DBAUcVHhCN2rdUL3bHeCRbQ4OkrjPDnumW8EKK8yM GUJkj0yIxHIehR3p1oOHeEFboj7sBZcn3eUqMxy/FSAztXupiKEyz42jz1GgEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561135; a=rsa-sha256; cv=none; b=cu1nCtVuFCVH7Z9rd5B39ar69Fjv6DaLOdvUc3yr4Js3RHCbwSmc1qAcOFFjcLz2tZDFYG lYEtUzC8i1qrbHhZQ0uu1e46I61yjyBp2jo7/Sp10y+lukSqRgSNUJaJQAQ5W7YvQagr+e wYjw6lUahEEJ/0uCmVoEiSzJPFSSPBvx3FesonUvelfqdq4SqrBxDjt56zWHdDS4D0lbGN cSC2pPmnjy9ppRwoucYG/IwJC1a+rYClVIl6DjplFjmYcxxEBX19pzM826VZps1rmWSvJZ MP2GuyNrGbop10nJ8elacE9q0Ch1hcJBoIYnKTHEU1xLU3lCAWlwOyzisnKxNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpk5Lm3zkhJ; Fri, 14 Feb 2025 19:25: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 51EJPYuh038997; Fri, 14 Feb 2025 19:25:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPYH6038994; Fri, 14 Feb 2025 19:25:34 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:34 GMT Message-Id: <202502141925.51EJPYH6038994@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: a50d5a7c1fd8 - stable/14 - ti/am335x: Fix the device_set_descf() call in am335x_dmtimer_probe() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a50d5a7c1fd88c440af50e651478ead62f9beb51 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a50d5a7c1fd88c440af50e651478ead62f9beb51 commit a50d5a7c1fd88c440af50e651478ead62f9beb51 Author: Oskar Holmlund AuthorDate: 2024-06-24 11:57:25 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:19 +0000 ti/am335x: Fix the device_set_descf() call in am335x_dmtimer_probe() Fixes: 459dc61c8b05 ("arm: Convert drivers to use device_set_desc(f)()") Reviewed by: markj, imp, manu Approved by: markj, imp, manu (mentor) Differential Revision: https://reviews.freebsd.org/D45699 (cherry picked from commit 332f00cdbafa944472a5c2d9d1701466ab762f90) --- sys/arm/ti/am335x/am335x_dmtimer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/ti/am335x/am335x_dmtimer.c b/sys/arm/ti/am335x/am335x_dmtimer.c index 341ec07466fc..18f1cd97e13c 100644 --- a/sys/arm/ti/am335x/am335x_dmtimer.c +++ b/sys/arm/ti/am335x/am335x_dmtimer.c @@ -276,7 +276,7 @@ am335x_dmtimer_probe(device_t dev) return (ENXIO); } - device_set_descf("AM335x DMTimer%d", tmr_num); + device_set_descf(dev, "AM335x DMTimer%d", tmr_num); return(BUS_PROBE_DEFAULT); } From nobody Fri Feb 14 19:25:33 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpk5Jdfz5nXBk; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpj4h1Zz48nD; Fri, 14 Feb 2025 19:25:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G0BdGFdFmDPvvZuc+9Qe4IpsSixqtLC8DZhc04sLJN4=; b=u4ohf1AVzha6Jo+o09gXv4oslAJ1gN5aoSckURf5bYamRw54hrSZbuVmikmXJZWRZYwLdH u0xuDv539wD9QlIs5swg3CCrHDcWTcnmJ9XqOPPOhBPlsIcSiweD2+8feIJCpv6XVIoh96 7ttWMbJC+QjaOlp/aKXQJRoKAUZEjo9NV/J/X6c0WCzfvG7WYOjbq/+Vt6o18/KJtyH9TK LHpfBCQXmakMkSXgFFYZ9ei0R9xWSXZjvWv+L2yR1m02M64K/aa2TlDW7Z48CphQuBa4So gWxxDXaOi0jW2aFY/XMbl6UuadUCIBixFcDENoJz2U69xlOCuUXBVhyZKUuidw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G0BdGFdFmDPvvZuc+9Qe4IpsSixqtLC8DZhc04sLJN4=; b=ADqCn2m1W2l9boagESxmlOP7aOTPkF8ARU8dtWDS8lb3BNk4KrXwV4u6hxvqLdCQ3PzZnZ p+sfjQVRvLlUC50HgXIMLT8lG8OmVQNAS+Xjrsr1goxIz5WV8hxGMfzGOb3qi4Hngqq6OO nRx1qrJzoi+rok095W3HimYsC44ygksgntrMmufKvPYwvgir0Ew5Y1Z77uONLbmbKO/H9L hUVsqlIbNW9ppXHvBBFdN+RZSSO9TGcIjV5Y26i7Y0lDu1ZXPn3CDlM0UsDO5ZxjtKk0kV 7u8lmM0QChoMvaY5CGROLluFUDpLLvANqhX4DSBL3zOsFWYMky3dI1DrhzykzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561133; a=rsa-sha256; cv=none; b=h3qU6i4qBwTSufNPZzub/AsYnLfRFUCVIi/fvqYlyyeOvWVvrXE6jVvjOnTNr9EKcKOSUW OncNeQq+nuG41rTc+KW0EMgxaCX4JKd/POEpKiDmwTVO/3ZaTGa7QP+MgtbDj0pCc4qyeV +8eHxmvNAMFL9KkR6xCZlG76S/5DF4p1oNdToc5ZbgkwdfLZ5Jy9QgltBhm5//vnoZv017 UMFP3Y5Iss3i1OpHDGJLkvtOhVu9s+RYoJdraI41kvRJ/SDyhjFPX5SlIcaq3r9WhBY9Qz ssYyJgbRA/L7JbUk0dNpA9b75OjkNgYfsyJBQcO1fClaMkRWo5wvaFUUWWOLkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpj45QZzkGL; Fri, 14 Feb 2025 19:25: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 51EJPXHk038963; Fri, 14 Feb 2025 19:25:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPXqb038959; Fri, 14 Feb 2025 19:25:33 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:33 GMT Message-Id: <202502141925.51EJPXqb038959@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: 9ab9e138f30e - stable/14 - dtrace/arm64: Fix enumeration of FBT return probes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9ab9e138f30e9590f40cfce40f7a4075d5bbdac0 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9ab9e138f30e9590f40cfce40f7a4075d5bbdac0 commit 9ab9e138f30e9590f40cfce40f7a4075d5bbdac0 Author: Mark Johnston AuthorDate: 2025-01-29 02:03:02 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:19 +0000 dtrace/arm64: Fix enumeration of FBT return probes On arm64, the FBT provider treats tail calls as return probes. Ignoring the question of whether this is really correct, the implementation is wrong: instr is a pointer to uint32_t, so the removed multiplication by the instruction size is wrong. As a result, FBT would create return probes for intra-function branches. MFC after: 2 weeks Sponsored by: Innovate UK (cherry picked from commit 4da070ce6c015a994ec4ecf3d31ee94810ea19f1) --- sys/cddl/dev/fbt/aarch64/fbt_isa.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/cddl/dev/fbt/aarch64/fbt_isa.c b/sys/cddl/dev/fbt/aarch64/fbt_isa.c index 44690b97f77a..fd666770d3a2 100644 --- a/sys/cddl/dev/fbt/aarch64/fbt_isa.c +++ b/sys/cddl/dev/fbt/aarch64/fbt_isa.c @@ -178,8 +178,7 @@ again: break; else if ((*instr & B_MASK) == B_INSTR) { offs = (*instr & B_DATA_MASK); - offs *= 4; - target = (instr + offs); + target = instr + offs; start = (uint32_t *)symval->value; if (target >= limit || target < start) break; From nobody Fri Feb 14 19:25:32 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpk1Hfvz5nXR5; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhph6DKJz48vp; Fri, 14 Feb 2025 19:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tQFWUCUmuucnRxHBbYurb4C2TWWxdzujbCM3XTNXXds=; b=fJEPHrwiCoURgBxqDOE+Rg5N+4jXdMvu2aZ83EFqpWT/gRLlWOG6fCUGxOmoRenqlI8BQp 8Nr9wseDj0E8JVSHqLUueDq/1B0EzKU3+WvYf+m2plu8udBsodoFOM2CeqiuLpFN/2YH8J 5AWsplGyy2nB+zG0cWwcBKoqGWAAkCUGb1fF2R0H11VwfVQudk+ESLfC4EeK+/eOcfkTEV OOja0/LkLvFWP6G4Pl5VhylhFG93lX2UaMRFZp3ZxKUakrJMOAPMGY5B5yXCeeRDzZPbDh SJNdM8C7X8ivggD5NZ9NpWwmGPZH+9xmLyH4LtN2DCXNuk8tGIbGjp+R0c/BXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tQFWUCUmuucnRxHBbYurb4C2TWWxdzujbCM3XTNXXds=; b=VFUurVOjdu2Jv/v8U6bDWLtXFQTpN4U/Hf7FWCcsxQEsVdKDEPxJCk9muDq76nmz4fviR2 67bjguBEWUscSgRscitsfw0dh4ql8u0rPjUJfIhWWBd+jHhZT1CFOqmoG+YOhAXtX2fiOx MXjPrkWoTHTZfwFRQALGH+o4a04zXLCFg806xt9SFwIwHhzKubMbUxdqSBgdW0g12P2Qg1 sjTvzteZ4mGjBXtdmshZKf/8qLo8LzUFI7/9E1teU4r49rrHIivwz6m3KtJnNdJoyf8QyK AfjWTW/zG39ovlcXDEsoNIKEVcBd/Wtug3IBFEPlC1lNNMMf14+htq0jhmT3YQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561132; a=rsa-sha256; cv=none; b=eRYboJHH3cJW0IJjxCB2TPkNFi9oICM9VZX4ieuMALcGn88kTVayUgoeG7cmcGZm85pAA1 sVKxrkhqhjxaIOpaypzA3GzUTbGZ9BkALVwZSY+0iB33TtcWU7DVE1eljfDv7lY7ouQU45 wcm5q10IZEIG9QY2c1CgkyMSp0XUGOctMiQQ9S4ZS5zcRYNHPJNb26q/NtYQyepx+QEyb3 mPv2Q56xWeLmD+SJdNBMd0U2/3Onl/tEElgqLiZeYLh2ufl+TYhHqgiLPiKypz0Cj8EdcF EUKmtAY8wcKPeRM8cVdK1DyJ961QEHPd67kO4eFY/TL4XD6sM9D6+ZfO6HmAjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhph3mCBzl1j; Fri, 14 Feb 2025 19:25: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 51EJPWfm038919; Fri, 14 Feb 2025 19:25:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPWx7038916; Fri, 14 Feb 2025 19:25:32 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:32 GMT Message-Id: <202502141925.51EJPWx7038916@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: 40c56cc51eaf - stable/14 - libdtrace: Use designators to initialize the opcode array List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 40c56cc51eaf760277074308afa44e9d85a9bd66 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=40c56cc51eaf760277074308afa44e9d85a9bd66 commit 40c56cc51eaf760277074308afa44e9d85a9bd66 Author: Mark Johnston AuthorDate: 2025-01-29 00:59:21 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 libdtrace: Use designators to initialize the opcode array No functional change intended. MFC after: 2 weeks Sponsored by: Innovate UK (cherry picked from commit 51688136b161089b317edc34c3a3e9b40d54a18a) --- .../opensolaris/lib/libdtrace/common/dt_dis.c | 160 ++++++++++----------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c index d1335180ec97..41765efb7717 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c @@ -348,86 +348,86 @@ dt_dis(const dtrace_difo_t *dp, FILE *fp) void (*op_func)(const dtrace_difo_t *, const char *, dif_instr_t, FILE *); } optab[] = { - { "(illegal opcode)", dt_dis_str }, - { "or", dt_dis_log }, /* DIF_OP_OR */ - { "xor", dt_dis_log }, /* DIF_OP_XOR */ - { "and", dt_dis_log }, /* DIF_OP_AND */ - { "sll", dt_dis_log }, /* DIF_OP_SLL */ - { "srl", dt_dis_log }, /* DIF_OP_SRL */ - { "sub", dt_dis_log }, /* DIF_OP_SUB */ - { "add", dt_dis_log }, /* DIF_OP_ADD */ - { "mul", dt_dis_log }, /* DIF_OP_MUL */ - { "sdiv", dt_dis_log }, /* DIF_OP_SDIV */ - { "udiv", dt_dis_log }, /* DIF_OP_UDIV */ - { "srem", dt_dis_log }, /* DIF_OP_SREM */ - { "urem", dt_dis_log }, /* DIF_OP_UREM */ - { "not", dt_dis_r1rd }, /* DIF_OP_NOT */ - { "mov", dt_dis_r1rd }, /* DIF_OP_MOV */ - { "cmp", dt_dis_cmp }, /* DIF_OP_CMP */ - { "tst", dt_dis_tst }, /* DIF_OP_TST */ - { "ba", dt_dis_branch }, /* DIF_OP_BA */ - { "be", dt_dis_branch }, /* DIF_OP_BE */ - { "bne", dt_dis_branch }, /* DIF_OP_BNE */ - { "bg", dt_dis_branch }, /* DIF_OP_BG */ - { "bgu", dt_dis_branch }, /* DIF_OP_BGU */ - { "bge", dt_dis_branch }, /* DIF_OP_BGE */ - { "bgeu", dt_dis_branch }, /* DIF_OP_BGEU */ - { "bl", dt_dis_branch }, /* DIF_OP_BL */ - { "blu", dt_dis_branch }, /* DIF_OP_BLU */ - { "ble", dt_dis_branch }, /* DIF_OP_BLE */ - { "bleu", dt_dis_branch }, /* DIF_OP_BLEU */ - { "ldsb", dt_dis_load }, /* DIF_OP_LDSB */ - { "ldsh", dt_dis_load }, /* DIF_OP_LDSH */ - { "ldsw", dt_dis_load }, /* DIF_OP_LDSW */ - { "ldub", dt_dis_load }, /* DIF_OP_LDUB */ - { "lduh", dt_dis_load }, /* DIF_OP_LDUH */ - { "lduw", dt_dis_load }, /* DIF_OP_LDUW */ - { "ldx", dt_dis_load }, /* DIF_OP_LDX */ - { "ret", dt_dis_ret }, /* DIF_OP_RET */ - { "nop", dt_dis_str }, /* DIF_OP_NOP */ - { "setx", dt_dis_setx }, /* DIF_OP_SETX */ - { "sets", dt_dis_sets }, /* DIF_OP_SETS */ - { "scmp", dt_dis_cmp }, /* DIF_OP_SCMP */ - { "ldga", dt_dis_lda }, /* DIF_OP_LDGA */ - { "ldgs", dt_dis_ldv }, /* DIF_OP_LDGS */ - { "stgs", dt_dis_stv }, /* DIF_OP_STGS */ - { "ldta", dt_dis_lda }, /* DIF_OP_LDTA */ - { "ldts", dt_dis_ldv }, /* DIF_OP_LDTS */ - { "stts", dt_dis_stv }, /* DIF_OP_STTS */ - { "sra", dt_dis_log }, /* DIF_OP_SRA */ - { "call", dt_dis_call }, /* DIF_OP_CALL */ - { "pushtr", dt_dis_pushts }, /* DIF_OP_PUSHTR */ - { "pushtv", dt_dis_pushts }, /* DIF_OP_PUSHTV */ - { "popts", dt_dis_str }, /* DIF_OP_POPTS */ - { "flushts", dt_dis_str }, /* DIF_OP_FLUSHTS */ - { "ldgaa", dt_dis_ldv }, /* DIF_OP_LDGAA */ - { "ldtaa", dt_dis_ldv }, /* DIF_OP_LDTAA */ - { "stgaa", dt_dis_stv }, /* DIF_OP_STGAA */ - { "sttaa", dt_dis_stv }, /* DIF_OP_STTAA */ - { "ldls", dt_dis_ldv }, /* DIF_OP_LDLS */ - { "stls", dt_dis_stv }, /* DIF_OP_STLS */ - { "allocs", dt_dis_r1rd }, /* DIF_OP_ALLOCS */ - { "copys", dt_dis_log }, /* DIF_OP_COPYS */ - { "stb", dt_dis_store }, /* DIF_OP_STB */ - { "sth", dt_dis_store }, /* DIF_OP_STH */ - { "stw", dt_dis_store }, /* DIF_OP_STW */ - { "stx", dt_dis_store }, /* DIF_OP_STX */ - { "uldsb", dt_dis_load }, /* DIF_OP_ULDSB */ - { "uldsh", dt_dis_load }, /* DIF_OP_ULDSH */ - { "uldsw", dt_dis_load }, /* DIF_OP_ULDSW */ - { "uldub", dt_dis_load }, /* DIF_OP_ULDUB */ - { "ulduh", dt_dis_load }, /* DIF_OP_ULDUH */ - { "ulduw", dt_dis_load }, /* DIF_OP_ULDUW */ - { "uldx", dt_dis_load }, /* DIF_OP_ULDX */ - { "rldsb", dt_dis_load }, /* DIF_OP_RLDSB */ - { "rldsh", dt_dis_load }, /* DIF_OP_RLDSH */ - { "rldsw", dt_dis_load }, /* DIF_OP_RLDSW */ - { "rldub", dt_dis_load }, /* DIF_OP_RLDUB */ - { "rlduh", dt_dis_load }, /* DIF_OP_RLDUH */ - { "rlduw", dt_dis_load }, /* DIF_OP_RLDUW */ - { "rldx", dt_dis_load }, /* DIF_OP_RLDX */ - { "xlate", dt_dis_xlate }, /* DIF_OP_XLATE */ - { "xlarg", dt_dis_xlate }, /* DIF_OP_XLARG */ + [0] = { "(illegal opcode)", dt_dis_str }, + [DIF_OP_OR] = { "or", dt_dis_log }, + [DIF_OP_XOR] = { "xor", dt_dis_log }, + [DIF_OP_AND] = { "and", dt_dis_log }, + [DIF_OP_SLL] = { "sll", dt_dis_log }, + [DIF_OP_SRL] = { "srl", dt_dis_log }, + [DIF_OP_SUB] = { "sub", dt_dis_log }, + [DIF_OP_ADD] = { "add", dt_dis_log }, + [DIF_OP_MUL] = { "mul", dt_dis_log }, + [DIF_OP_SDIV] = { "sdiv", dt_dis_log }, + [DIF_OP_UDIV] = { "udiv", dt_dis_log }, + [DIF_OP_SREM] = { "srem", dt_dis_log }, + [DIF_OP_UREM] = { "urem", dt_dis_log }, + [DIF_OP_NOT] = { "not", dt_dis_r1rd }, + [DIF_OP_MOV] = { "mov", dt_dis_r1rd }, + [DIF_OP_CMP] = { "cmp", dt_dis_cmp }, + [DIF_OP_TST] = { "tst", dt_dis_tst }, + [DIF_OP_BA] = { "ba", dt_dis_branch }, + [DIF_OP_BE] = { "be", dt_dis_branch }, + [DIF_OP_BNE] = { "bne", dt_dis_branch }, + [DIF_OP_BG] = { "bg", dt_dis_branch }, + [DIF_OP_BGU] = { "bgu", dt_dis_branch }, + [DIF_OP_BGE] = { "bge", dt_dis_branch }, + [DIF_OP_BGEU] = { "bgeu", dt_dis_branch }, + [DIF_OP_BL] = { "bl", dt_dis_branch }, + [DIF_OP_BLU] = { "blu", dt_dis_branch }, + [DIF_OP_BLE] = { "ble", dt_dis_branch }, + [DIF_OP_BLEU] = { "bleu", dt_dis_branch }, + [DIF_OP_LDSB] = { "ldsb", dt_dis_load }, + [DIF_OP_LDSH] = { "ldsh", dt_dis_load }, + [DIF_OP_LDSW] = { "ldsw", dt_dis_load }, + [DIF_OP_LDUB] = { "ldub", dt_dis_load }, + [DIF_OP_LDUH] = { "lduh", dt_dis_load }, + [DIF_OP_LDUW] = { "lduw", dt_dis_load }, + [DIF_OP_LDX] = { "ldx", dt_dis_load }, + [DIF_OP_RET] = { "ret", dt_dis_ret }, + [DIF_OP_NOP] = { "nop", dt_dis_str }, + [DIF_OP_SETX] = { "setx", dt_dis_setx }, + [DIF_OP_SETS] = { "sets", dt_dis_sets }, + [DIF_OP_SCMP] = { "scmp", dt_dis_cmp }, + [DIF_OP_LDGA] = { "ldga", dt_dis_lda }, + [DIF_OP_LDGS] = { "ldgs", dt_dis_ldv }, + [DIF_OP_STGS] = { "stgs", dt_dis_stv }, + [DIF_OP_LDTA] = { "ldta", dt_dis_lda }, + [DIF_OP_LDTS] = { "ldts", dt_dis_ldv }, + [DIF_OP_STTS] = { "stts", dt_dis_stv }, + [DIF_OP_SRA] = { "sra", dt_dis_log }, + [DIF_OP_CALL] = { "call", dt_dis_call }, + [DIF_OP_PUSHTR] = { "pushtr", dt_dis_pushts }, + [DIF_OP_PUSHTV] = { "pushtv", dt_dis_pushts }, + [DIF_OP_POPTS] = { "popts", dt_dis_str }, + [DIF_OP_FLUSHTS] = { "flushts", dt_dis_str }, + [DIF_OP_LDGAA] = { "ldgaa", dt_dis_ldv }, + [DIF_OP_LDTAA] = { "ldtaa", dt_dis_ldv }, + [DIF_OP_STGAA] = { "stgaa", dt_dis_stv }, + [DIF_OP_STTAA] = { "sttaa", dt_dis_stv }, + [DIF_OP_LDLS] = { "ldls", dt_dis_ldv }, + [DIF_OP_STLS] = { "stls", dt_dis_stv }, + [DIF_OP_ALLOCS] = { "allocs", dt_dis_r1rd }, + [DIF_OP_COPYS] = { "copys", dt_dis_log }, + [DIF_OP_STB] = { "stb", dt_dis_store }, + [DIF_OP_STH] = { "sth", dt_dis_store }, + [DIF_OP_STW] = { "stw", dt_dis_store }, + [DIF_OP_STX] = { "stx", dt_dis_store }, + [DIF_OP_ULDSB] = { "uldsb", dt_dis_load }, + [DIF_OP_ULDSH] = { "uldsh", dt_dis_load }, + [DIF_OP_ULDSW] = { "uldsw", dt_dis_load }, + [DIF_OP_ULDUB] = { "uldub", dt_dis_load }, + [DIF_OP_ULDUH] = { "ulduh", dt_dis_load }, + [DIF_OP_ULDUW] = { "ulduw", dt_dis_load }, + [DIF_OP_ULDX] = { "uldx", dt_dis_load }, + [DIF_OP_RLDSB] = { "rldsb", dt_dis_load }, + [DIF_OP_RLDSH] = { "rldsh", dt_dis_load }, + [DIF_OP_RLDSW] = { "rldsw", dt_dis_load }, + [DIF_OP_RLDUB] = { "rldub", dt_dis_load }, + [DIF_OP_RLDUH] = { "rlduh", dt_dis_load }, + [DIF_OP_RLDUW] = { "rlduw", dt_dis_load }, + [DIF_OP_RLDX] = { "rldx", dt_dis_load }, + [DIF_OP_XLATE] = { "xlate", dt_dis_xlate }, + [DIF_OP_XLARG] = { "xlarg", dt_dis_xlate }, }; const struct opent *op; From nobody Fri Feb 14 19:25:35 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpm62mcz5nXYy; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpl6n1dz48tp; Fri, 14 Feb 2025 19:25:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qC0AdHjvBCcwTuatNtyqqFuuQUwiFHAGZP4qefGlcFQ=; b=M7reGQq7VOWt0pYR+IBbweZUrh3xg2f5sS8dGeT9ybPgvG8kypLuglxk3iDJxC/IoTPheO Hzr6GeeeURBCi1un6SPBE7wc2HSENz1JvFhVrR+Ipq3u3yvaqtYmgOBIAcRKkqFYvPPFep joy/mAKaorsCXdwrgxt71iOKxXEIwe131kHljVAazkifGVuyWhokWvmbjEj+41+wYiaLyp a+XT7fcPyYTxgtqb+KTwZJuU1U3x4ohZeh1e0p0RYMMIZZJMENkLrXhfX/LzQR9Eyk35XD MdMHyj2sM50Q5Yvt/+ZM20BhMU28oK8Q4zeomHptrzsbfBfFo5Xst4zNM6aaHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qC0AdHjvBCcwTuatNtyqqFuuQUwiFHAGZP4qefGlcFQ=; b=E/XCVMw2FzEtNThZdoOBxhiS+mEvumj7u15G4vfr68qYnkxy9ZNWlWlWR+0n25rjf5MH+g bQjPB+0pzmDP7myGXOk3CP9zD1f0pQlKX+C2x8cEN4l572vf6cIL+346RrVdRsC0iE8L3h g9L/xmwviwadPWP8VOiYewPNxK4i3Ol3anMU4bavOSBrqik2LHQOppmw/n4S2jzGi2SonM ohyuEGMHGm+qVUSrUnV0ridcULJGoiKzP0Wxq8WItuaF4FLYuRkSxsVxzzHyoa9xFiJbyD /UIBV9lsMdy3+h5vMAxdfXBR2moxZ0hqqwAkn3roMw9+HSvV2GAkxkQ0He/h/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561136; a=rsa-sha256; cv=none; b=ChAHovjeOuWs8I4Of6KFakuDswgdPDZnpB15l7gHOTWvb3grTao3dirl1Izg8P6oOtjN5D WoRedHP/9fz2fnOf3wzkk83tPt4czNtdjc2540HYC86nc6UMUBgIjOTIMfbyqOIkA8imDq gHxECnS3G38Eb1t7PLFTaBlPhSc3WtRdNGNjnlKnfH0Jr4/N1/h/zQP4NcY6OLaWmjoYeL 1Ta2MWznLminue5THqwQskAfrcxxfhZsWb0IHAGa5IQwBFEy7dWALE/JpvVZ+G6qAWvbD/ oUDjqX/Q51mE1JAf6ceTlNh0WEIBAeWDNE3Xp6CfHNorN1F4ocdynor6TGoxKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpl6HgBzkwc; Fri, 14 Feb 2025 19:25: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 51EJPZCn039031; Fri, 14 Feb 2025 19:25:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPZoB039028; Fri, 14 Feb 2025 19:25:35 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:35 GMT Message-Id: <202502141925.51EJPZoB039028@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: d1b263065a83 - stable/14 - geli tests: Use shorter passphrases in setkey_passphrase List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d1b263065a83ede4e30be7b2dedb6e2cc8c32ad7 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d1b263065a83ede4e30be7b2dedb6e2cc8c32ad7 commit d1b263065a83ede4e30be7b2dedb6e2cc8c32ad7 Author: Mark Johnston AuthorDate: 2023-10-02 20:55:26 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:19 +0000 geli tests: Use shorter passphrases in setkey_passphrase There is an undocumented limit on the length of a GELI passphrase, and the test exceeded that. Most of the time it worked because a nul terminator would appear early enough in the string. Reported by: Jenkins Fixes: 2b7b09ac9675 ("geli tests: Add a regression test for geli setkey -J") (cherry picked from commit c4b927c341e23eea17f75d139aafcf58545c5b0e) --- tests/sys/geom/class/eli/setkey_test.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/sys/geom/class/eli/setkey_test.sh b/tests/sys/geom/class/eli/setkey_test.sh index ce3833f5fe0c..34fb8221ab04 100644 --- a/tests/sys/geom/class/eli/setkey_test.sh +++ b/tests/sys/geom/class/eli/setkey_test.sh @@ -108,9 +108,9 @@ setkey_passphrase_body() atf_check dd if=/dev/random of=rnd bs=512 count=${sectors} status=none hash1=`dd if=rnd bs=512 count=${sectors} status=none | md5` atf_check_equal 0 $? - atf_check dd if=/dev/random of=pass1 bs=512 count=32 status=none - atf_check dd if=/dev/random of=pass2 bs=512 count=32 status=none - atf_check dd if=/dev/random of=pass3 bs=512 count=32 status=none + atf_check dd if=/dev/random of=pass1 bs=512 count=1 status=none + atf_check dd if=/dev/random of=pass2 bs=512 count=1 status=none + atf_check dd if=/dev/random of=pass3 bs=512 count=1 status=none atf_check geli init -B none -J pass1 ${md} atf_check geli attach -j pass1 ${md} From nobody Fri Feb 14 19:25:36 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvhpn51xXz5nXP0; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpn0gtlz48wd; Fri, 14 Feb 2025 19:25:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7GGZaRuAqqsTU8P2Mqt5BBK69ixPn6VfbAAQ7fRfWDw=; b=S59tEVDijEjqkT7y+4xqd8FlvfFXa4oeQOaBBzIYeARxk8Vebr+QWy6k+SY4KVsTA/uk7o /E8w6QOKdQ9E/OjKx0qcAip7XNS4Pqkszxp2+XTxW8wV4J4088cKUqbqw5YUv28YjONOX5 PVLBL0r2b4B7+nZC26Hi+TNFs8V74QYyvv11M9WS08HZ9addP9Agp0jYxNmBzxcsbS2bQd gLob6F+/qlusR4y0nonZVTAFOdGQFwbUBXSwS/kH0Uv3smT2UXOyobwTo0VhdFRVl6DTFR zlWv1spLMjlCvi/A916rrhfTIFCzl6zjzXuOeoLMN5VDd4g26fU6btB1JqfqUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7GGZaRuAqqsTU8P2Mqt5BBK69ixPn6VfbAAQ7fRfWDw=; b=sRPFLKXr+L2A+leC7ASozd4kQi1etcKqqPMOciS7I62/7sMW3lZa4vy0xmTIc2QtAS8X3M 0H3w2yRpDWxcRUqsv9gqG+HOGd4kz4MYAuKBCQD9EZFFBZ9skMzs5epJ56h7wCXIznpFDg JJXDYLijdObSNbrkRH6Typf2l+blsVQbKjarK0tqhSbfxqxdXKVV/zJ7Mfjz4iFJ0DmWDG QHus6eiweGZmqLtWf8FlSYKYnJbh6gtlTyt81qRNff+P9cZB47Z/0k2kakaNqq/V0SXRIB JU18cexnorQiDOk7SujHq9fDr4sCFQdi8/ieydb3Fvwc+B5DRaP2qLYzc1nUew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561137; a=rsa-sha256; cv=none; b=xy+v4x0mzZLW7Fe80RBnPiLBEPEKAWQORUQFLz6HlXTCafay6rbiw8KC3+LmeGi5HlNjcl FtGepvNO5pKRvMGU0UQXEXVTbRLhl1f00YbEcqW7NRfoquTP+39C4IN7li356tfjWq6A36 9pB8JnVniTMSQ68v39gvGYYo5mhOn8vRS4wrwetweHDueosmSU/sQtFbEZ14nqaD7MJOWo fDZ8ubyG3V7o20vsjCa6TNJcB8xE+hDd3aM5D2vkMUhrya4EaCE8UI8D9OqSw9RFUSDGnQ BcRkewOLtlcUWcVvTGhuDSlgrYQDmPrjNzavo4NMxtYA0jMalAg2DO4PDJcfqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvhpm6wCMzkGM; Fri, 14 Feb 2025 19:25: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 51EJPaZl039068; Fri, 14 Feb 2025 19:25:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPa0w039065; Fri, 14 Feb 2025 19:25:36 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:36 GMT Message-Id: <202502141925.51EJPa0w039065@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: 31af1ba0a87c - stable/14 - Reinstate returning EOVERFLOW from stats_v1_blob_clone() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 31af1ba0a87cbf2fcc9850e012e5a62f750211b1 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=31af1ba0a87cbf2fcc9850e012e5a62f750211b1 commit 31af1ba0a87cbf2fcc9850e012e5a62f750211b1 Author: Lawrence Stewart AuthorDate: 2024-04-02 06:34:25 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:19 +0000 Reinstate returning EOVERFLOW from stats_v1_blob_clone() a0993376ec5f (from D43179) subtly changed stats_v1_blob_clone() to stop returning EOVERFLOW in the case where the user buffer is not large enough to receive the entire statsblob. This results in any consumers which are implemented to retry on receiving EOVERFLOW to instead give up after receiving an empty statsblob header. Fix by latching any errors recorded prior to copyout. Reviewed by: markj Obtained from: Netflix, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44585 Fixes: a0993376ec5f ("stats: Check for errors from copyout()") (cherry picked from commit 7eb92c502eb503d808a51296e426de625239a0d9) --- sys/kern/subr_stats.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_stats.c b/sys/kern/subr_stats.c index 6d04b9ae1588..23908c59c996 100644 --- a/sys/kern/subr_stats.c +++ b/sys/kern/subr_stats.c @@ -1079,9 +1079,9 @@ int stats_v1_blob_clone(struct statsblobv1 **dst, size_t dstmaxsz, struct statsblobv1 *src, uint32_t flags) { - int error; + int error, tmperror; - error = 0; + error = tmperror = 0; if (src == NULL || dst == NULL || src->cursz < sizeof(struct statsblob) || @@ -1132,14 +1132,16 @@ stats_v1_blob_clone(struct statsblobv1 **dst, size_t dstmaxsz, } #ifdef _KERNEL if (flags & SB_CLONE_USRDSTNOFAULT) - error = copyout_nofault(&(src->cursz), &((*dst)->cursz), + tmperror = copyout_nofault(&(src->cursz), &((*dst)->cursz), postcurszlen); else if (flags & SB_CLONE_USRDST) - error = copyout(&(src->cursz), &((*dst)->cursz), + tmperror = copyout(&(src->cursz), &((*dst)->cursz), postcurszlen); else #endif memcpy(&((*dst)->cursz), &(src->cursz), postcurszlen); + + error = error ? error : tmperror; } #ifdef _KERNEL out: From nobody Fri Feb 14 20:58:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvksk6DcJz5nfQb; Fri, 14 Feb 2025 20:58: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvksk5JDDz49sP; Fri, 14 Feb 2025 20:58:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739566698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1c32Mwtt6gsb9g0xzq7tfZOYqF22YbbgaDBgJl8Hd/4=; b=JTteF5VR46wNM5MpF10PBFVfAeF9GyH4lRBwEgV/Ig6hNNt+7oynwU1M/w2GZEve1vFxDT db7gFN2zY+fGF1YCQS3scKhWfiFG/VTJiSweps9p5ygdRx9rB8DQCIMeaosozffFSVCSvf k9LCvkJfVnK+58k1lH8ZDRZJlZpE5UVegNEbnd8igpdaOdQ1B+OeDUdYq94rLZ6IZjl57S D7KlyQM8aAQrnSQAvLFgxlDZ1t5x+S0JcKO74WEPmhF4RHjoZosXHT5kvOLhkR94AJi+cA 5Ixpqy7DUGtNydOYoW2cWULTer8neBsXRwbcxGu2bgRZQIZgkmMqeMUnOfnQPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739566698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1c32Mwtt6gsb9g0xzq7tfZOYqF22YbbgaDBgJl8Hd/4=; b=VIUP99ySXlQ4zxJgiep05kuO7fEqUO6FQLuMm7zAuLtw33WZLM7Kp7sxFdvoUqZqEpUllN 4EltkK9UpBLdpyOtPzxHyM/DGgtBFpQQ1kf65ambrkyry2zMILUIVmimGSg664FeXvXTCa JCsAN56YoiDmZOxAQO+7tNyJHdwRsfYJ/PqiYQ2Av+8K/kCpr6FjTsD5rsbUcEIm4kJQKx 8wvmygZ5DtqjQmD0iHQx+rYPtHOjIVem96L3NvK5VzAzi/eObBiA4Qq1ZPCG2HTL33PpEm CwFCmQhj+W6Q5SJ29TbFQu0FUs7J+1GwbmtvESGk5/eN9MM7ZZHqgsBK/Pf98A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739566698; a=rsa-sha256; cv=none; b=P59cHcV3f15ej7dBsXmUuJu5XgIXsH6P0MUbMsstgNvftD8LODN5EJUVJIyAJyS99ifuY/ zSegUd6WFm6TyzlpJwFqbhfj1wxHTfQnPF8yOen/pArDBY8iLLSHW2PSWlbq0F7Fsja8Kp HmQGNXUGqUiSD3+XJpicb4xV668onlnHTd6tZnponQ3UKk+4FoZBMKV8sLHfTbkEdjkZ4B ChfjWtYVNqyfsluIkRG8uMvD3YOg2MmvDufRjZIH56bcdfNBAqmoqPuOEzfACVMX7J/7ES eLw7xxKEG3i1AXOq4Lf2yU+Z0sRtwIIvvkG6nHeekw0CROsSaj13Lqage0mM0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvksk4MBRzmrF; Fri, 14 Feb 2025 20:58: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 51EKwI60008375; Fri, 14 Feb 2025 20:58:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EKwI3S008372; Fri, 14 Feb 2025 20:58:18 GMT (envelope-from git) Date: Fri, 14 Feb 2025 20:58:18 GMT Message-Id: <202502142058.51EKwI3S008372@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 4517fbfd4251 - main - nfscl: Add support for CB_RECALL_SLOT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4517fbfd4251180147082f94253c4347fa44f570 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4517fbfd4251180147082f94253c4347fa44f570 commit 4517fbfd4251180147082f94253c4347fa44f570 Author: Rick Macklem AuthorDate: 2025-02-14 20:56:52 +0000 Commit: Rick Macklem CommitDate: 2025-02-14 20:56:52 +0000 nfscl: Add support for CB_RECALL_SLOT The callback CB_RECALL_SLOT is required for NFSv4.1/4.2. Fortunately, there does not appear to be any extant NFSv4.1/4.2 servers that use it. Since commit b97a478896e9 fixed handling of session slot shrinking, this patch adds support for CB_RECALL_SLOT, which shrinks the number of session slots as well. MFC after: 2 weeks --- sys/fs/nfs/nfs_commonkrpc.c | 4 ++-- sys/fs/nfs/nfs_var.h | 1 + sys/fs/nfsclient/nfs_clstate.c | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index e35172ee2b34..0ae3b94bef89 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -123,7 +123,6 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_da SYSCTL_INT(_vfs_nfs, OID_AUTO, dsretries, CTLFLAG_RW, &nfs_dsretries, 0, "Number of retries for a DS RPC before failure"); -static void nfs_resetslots(struct nfsclsession *); static void nfs_down(struct nfsmount *, struct thread *, const char *, int, int); static void nfs_up(struct nfsmount *, struct thread *, const char *, @@ -1474,12 +1473,13 @@ nfsmout: /* * Reset slots above nfsess_foreslots that are not busy. */ -static void +void nfs_resetslots(struct nfsclsession *sep) { int i; uint64_t bitval; + mtx_assert(&sep->nfsess_mtx, MA_OWNED); bitval = (1 << sep->nfsess_foreslots); for (i = sep->nfsess_foreslots; i < NFSV4_SLOTS; i++) { if ((sep->nfsess_slots & bitval) == 0 && diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 00d5b914f4af..b48d853b285e 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -780,6 +780,7 @@ int newnfs_request(struct nfsrv_descript *, struct nfsmount *, struct nfsclient *, struct nfssockreq *, vnode_t, NFSPROC_T *, struct ucred *, u_int32_t, u_int32_t, u_char *, int, u_int64_t *, struct nfsclsession *); +void nfs_resetslots(struct nfsclsession *); int newnfs_connect(struct nfsmount *, struct nfssockreq *, struct ucred *, NFSPROC_T *, int, bool, struct __rpc_client **); void newnfs_disconnect(struct nfsmount *, struct nfssockreq *); diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index 8a82fe77690e..f5621fd0a758 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -3934,6 +3934,24 @@ nfscl_docb(struct nfsrv_descript *nd, NFSPROC_T *p) *tl = txdr_unsigned(NFSV4_CBSLOTS - 1); } break; + case NFSV4OP_CBRECALLSLOT: + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); + highslot = fxdr_unsigned(uint32_t, *tl); + NFSLOCKCLSTATE(); + clp = nfscl_getclntsess(sessionid); + if (clp == NULL) + error = NFSERR_SERVERFAULT; + if (error == 0) { + tsep = nfsmnt_mdssession(clp->nfsc_nmp); + mtx_lock(&tsep->nfsess_mtx); + if ((highslot + 1) < tsep->nfsess_foreslots) { + tsep->nfsess_foreslots = (highslot + 1); + nfs_resetslots(tsep); + } + mtx_unlock(&tsep->nfsess_mtx); + } + NFSUNLOCKCLSTATE(); + break; default: if (i == 0 && minorvers != NFSV4_MINORVERSION) error = NFSERR_OPNOTINSESS; From nobody Fri Feb 14 21:05:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvl1g1kNdz5nfbG; Fri, 14 Feb 2025 21:05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvl1g0x5Lz3FJl; Fri, 14 Feb 2025 21:05:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OnN3P4Y3TmL1dtJBtDrLvePkOCSF0wxgHr2MwBBa8pg=; b=o5QRzafJ+A/BVyKeFJJJ8VKP/Z640X0Leu4LGK950XDqvvYPYLugeMiZjG+zKZOlBtuOfx 59SZLBIDDAkvLHd1ePxTfWWhixMJiRhQ0XNA1bfYIyPtZvJuy7QF2Ew11qbk3SwZnq6ZUb asRfIhaEAOLxAqVCixie1yFcahSL1rNjQ/h3w0XpP5cwFkuR47GKIWG+qIl1R12Nk0Cncm ufBFdcvJkXG5sA7cuoJ/jAZeemabisstlZTMxb95FcT5ml6XrDaiqwK9J0lP/+saiL9FQm m51HoVIwCJ6FZwXIF96RbfbPRmfr1Loev0Q/Tk4+cn9gPy1pPhXVBOWiWGTOHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OnN3P4Y3TmL1dtJBtDrLvePkOCSF0wxgHr2MwBBa8pg=; b=Oxjc/LopQWzRfdoU0NBrbedkYGSsDg+gDrCelnDLcWzPuoFduqYPud5c1mB99fnTUjyOLk cRxLEKfQtEcJbOlbqDLeU4hjAA3Wl0qzwZmed/tGtjgLKFTbLK/O8YTnyGMAS30FgUsCx4 PX8DucECbrB6bO3IcZF5oYnvGffJ2hdNGEF+p43IbONBRwH9ebyvIn8NZITNtPl8mP6i8C MQYaYOXq0CKvyZjVcckMPoGUEjwQFIbWJFoLMq2vsrkqJIDzcygKpXRtQbkMNiYciPOzkJ 0O53mpxlBUIV1uwMRmeoR7ffpaEVkm7APGousFpyRVJHze6Ee2oqZY7QRWxL7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739567111; a=rsa-sha256; cv=none; b=qfegJOCgyi08l3PtuBjOY6pqtXKCQol+QhyZTgxrpDPHtn2UQGjO0BBDPpz3WAIA/aVXzg lB3+x3DSu9UxkgeKTwwG7Xgt4UwaOfKH5uUGUqdFgIJCX56xVVBRB90fW1SKSl+o1zwgaG ZQQhzBu5VxoJmyKferLtdiC+6o8UGybwn3cjGEK25h0tdss2hi8KwZCX/p4rfFEMAtPLdV iLCCvdbf/mHvP9H5dRqrUgDIvGl38KS8PhfIY0EFy5IAlXly8C0gznF2QoLe8iow+PF71x Nws5DtfgAoua92y/MjYkOICT3tmZA0Udt936c16EvttujW3s9zHyeXEc+0PLZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvl1f6jVPznZR; Fri, 14 Feb 2025 21:05: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 51EL5Amd027193; Fri, 14 Feb 2025 21:05:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EL5Al9027190; Fri, 14 Feb 2025 21:05:10 GMT (envelope-from git) Date: Fri, 14 Feb 2025 21:05:10 GMT Message-Id: <202502142105.51EL5Al9027190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 464372940b36 - main - param.h: Bump FreeBSD_version for commit 4517fbfd4251 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 464372940b365b6109866440f5ce96f41b084f86 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=464372940b365b6109866440f5ce96f41b084f86 commit 464372940b365b6109866440f5ce96f41b084f86 Author: Rick Macklem AuthorDate: 2025-02-14 21:04:15 +0000 Commit: Rick Macklem CommitDate: 2025-02-14 21:04:15 +0000 param.h: Bump FreeBSD_version for commit 4517fbfd4251 Commit 4517fbfd4251 changed the internal API between the nfscommon and nfscl modules. As such, both need to be rebuilt from sources. --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 32af2c462540..d3344c41562a 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -73,7 +73,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500031 +#define __FreeBSD_version 1500032 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Feb 14 21:10:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvl7c1H47z5ngFY; Fri, 14 Feb 2025 21:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvl7c0cyGz3Gt0; Fri, 14 Feb 2025 21:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFVwKpzVeVnEVkjiKapC42t7hLEK6gURhiTdXkrbDas=; b=fKDYNPXESgpShqzZhnMypNjkxShjGq9S3je9R7CX9S71e+MzuuWt9OY8EAiQDGNOeGsCY6 5xqwgQsDBzegGZ8ktDMF/Pg/TJjio5egjJHaPH0WDXucRbyLXseP4r2zoG453KlIZVwMqS wFefIQT7qPoEnx2/kGwF3Eo069nf1Z3mZLdYs9TlajNNRtrTJTVaE//+YJW13TnH2yzPV7 2DFLFT0hycuQ1hAfCSCR7rU9/Gx2cxVed9bm/465CpYRHnx/UE7BMSr677V7ogNSFWPJCf k/ioRo+AOmvIfJojk60dpy3SUx6P0gqcix40OzRPZ7dsSqU/ytnLJ+rw0q38TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFVwKpzVeVnEVkjiKapC42t7hLEK6gURhiTdXkrbDas=; b=g7YFM5WVBo/s/S8RGN4xr54cJ7435baPVjxjRqHrbDePe0K0Qo4Awj8ScMIkQBTHLMZ5FS Yz8CdY9AWZQFQcdLs7rYC6/f6DfJbmukSZK1cOtLgboh5gkx/T32nx+xEAABERrYB70Wp4 A7fQdJnd4WW3TUUMLO9xzfv4256d16dtI90eHmDcnJr3Yoxrhoa9oWl7hxGo6BMz4XoOqz kQh8Wul1NJWRejMm4Fa6KGeiwAnuoFDtW0AkJgP/FLZ/mqdD2ThHmG1PtgJYmUTUW1ZOBL CHeHe5hC4sjN26Pu3+YehZioiWa4sOIXMu4n3YDxaJj6/xNSCm5s61D9NESlvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739567420; a=rsa-sha256; cv=none; b=oM6gNiFO8yE6r2QBqOvl+B2WCIpr8CMwfhcYjWHpW3rt9b8kD8gJznd/6ovBJ86NrCZq1A P7GoFKhyRKiJEmHvIJ/jVjNLw1mtXwBYjTxz8V+iJpaWJSXkmPI7odk6zyQJlYpFUR7dHj qsocjBLiuEtrgOxNa6+fmiwVuLgPh8R+uZLvDkPZFDzEaB6A9pTPsnT/TOxdV66XEG/15d Wsdx8jnFP3ry3kElrx5/By4cVBZABzf4VDh4N74YhGtNshIMxSBNpWsgOxkNsxzYzOmwcJ aUCet08lwkETTxv5Z6jddkhG5LMz3dreJaKg6sL/syx3vyJ6YzLW98SujZ+rTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvl7b6mKVzncy; Fri, 14 Feb 2025 21:10: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 51ELAJoP037385; Fri, 14 Feb 2025 21:10:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ELAJmg037382; Fri, 14 Feb 2025 21:10:19 GMT (envelope-from git) Date: Fri, 14 Feb 2025 21:10:19 GMT Message-Id: <202502142110.51ELAJmg037382@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 091f30a9d14f - main - UPDATING: Add entry for commit 4517fbfd4251 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 091f30a9d14f9042a4c4a45f591a59d7e0244af6 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=091f30a9d14f9042a4c4a45f591a59d7e0244af6 commit 091f30a9d14f9042a4c4a45f591a59d7e0244af6 Author: Rick Macklem AuthorDate: 2025-02-14 21:08:58 +0000 Commit: Rick Macklem CommitDate: 2025-02-14 21:08:58 +0000 UPDATING: Add entry for commit 4517fbfd4251 --- UPDATING | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/UPDATING b/UPDATING index 8b6aaa6eec00..4740237f6b0b 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250214: + Commit 4517fbfd4251 modified the internal API between the + nfscommon and nfscl modules. As such, both of these modules + need to be rebuilt from sources. + 20250201: The NFS related daemons, that provide RPC services to the kernel: gssd(8), rpcbind(8), rpc.tlsservd(8) and rpc.tlsclntd(8), now use a From nobody Fri Feb 14 23:29:39 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvpDN1Jwmz5nqQg; Fri, 14 Feb 2025 23:29: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvpDN0f1Qz3TX9; Fri, 14 Feb 2025 23:29:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739575780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQ5YS93E9oqstWQxKIONDkIyfi/8CDQbTViBSdTr0jY=; b=abrNRYZUk72JV64RVkSYBn+uVEQxhyzi3Wc/hxaGp2NlNRwhP+iNQHW1h9YUsBFfLqzof4 PCYdFEJC4KBQ3AuJbzz/ytHXER3M79Unzq5JGcRHKFyk9xrTS4MvAk6L5adK8Jez2cpJTT jGAjmmpQCBGJdUkECuH6ujbphkGx0UdTEHWFoVb3zyUE5vpuuV694dYaeu+NvBXh+fmCwP MxE//3VEHC6lq6uRsqRfpwAaC40g3vUxnyt6V9A4xziAGba3ONbTUoaWi/HmOpkS7Pu09d fvkbClRbVip4IgtSU0mqkgYoNCIUa6QTZlLQud1yWj3OFFuAwDdpiGN0oBrH1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739575780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQ5YS93E9oqstWQxKIONDkIyfi/8CDQbTViBSdTr0jY=; b=oz1VHmEBjGuLxRV2aiO+Y8TpXRnUT4YBWAFGKps8cj+ik3Hf0PEXHlw1uMmtuGMw6J+mJ7 Cv6THTCCsWGF5s4aS/DiRQDENY+sZGkc6KbSGFzZ3SMfk5TddFycxPhG64MXIEN68k6dTf ggrK0IfQnVoqW1AFy54zb3OSs9FDnIRmliPTo0wqY9fLDkD92tBi1D5ehm4lEifyyDf2k8 9Eai8Sp+zygMUEG7cNqc7PfqdsccIhbKO3E1GEnJLxB8X8y8cxsIfQ3Fclo461RfkaocLm 2ykJ7K/7UXrWdYaf0NUpNdvoV5PQ8vmDpHwys0cK/R+iczRVvK+2hYnnO/+inQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739575780; a=rsa-sha256; cv=none; b=xiTGVX6M940RsNX2ltMET7SFwESgFTu7gnNmoQp+LIolIQ8rgh3tsJIzXGzg5jQRJ+8Kxs Tfwb1Y5+MvXQ8liKpQJblOS345doCyHCJy/tG2yIdmlD8vgIrojR0qGiYhihWg6JDz8oZL 6inYnSNsQyE62skAvHfG3VpVDtL1VzA2Rjc5wt7OzpknTi+RQXWmoZXk5Gek6IAzYKpfQq +e8CR559Zml+b0nSU3dNHC5hxrg1wlFF3x/0ci8+Dj+adDlIwlI0bCDiSXdVLQ4FfALGCu orEwS0BcUgiL/cnDL81q5x9xWyBxJEOCKi4Wj+dpI4rTUPMXHPYug8K3kvVXgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvpDN068mzs5L; Fri, 14 Feb 2025 23:29: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 51ENTdOD091397; Fri, 14 Feb 2025 23:29:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ENTdVx091394; Fri, 14 Feb 2025 23:29:39 GMT (envelope-from git) Date: Fri, 14 Feb 2025 23:29:39 GMT Message-Id: <202502142329.51ENTdVx091394@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 4152ed2b999a - main - style.mdoc: fix list width alignment instructions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4152ed2b999a0a8ccabfc085120e1c848d4f934a Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=4152ed2b999a0a8ccabfc085120e1c848d4f934a commit 4152ed2b999a0a8ccabfc085120e1c848d4f934a Author: Alexander Ziaee AuthorDate: 2024-11-15 18:57:49 +0000 Commit: Alexander Ziaee CommitDate: 2025-02-14 23:27:26 +0000 style.mdoc: fix list width alignment instructions MFC after: 3 days Reported by: imp Reviewed by: mhorne, imp Approved by: mhorne (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1530 --- share/man/man5/style.mdoc.5 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5 index 42dbc940074c..dd4d8a1f5fdf 100644 --- a/share/man/man5/style.mdoc.5 +++ b/share/man/man5/style.mdoc.5 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 12, 2024 +.Dd December 12, 2024 .Dt STYLE.MDOC 5 .Os .Sh NAME @@ -124,7 +124,8 @@ The .Fl width argument to the .Sy \&.Bl -macro should match the length of the longest item in the list, e.g.: +macro should match the length of the longest rendered item in the list, +e.g.: .Bd -literal -offset indent \&.Bl -tag -width "-a address" \&.It Fl a Ar address From nobody Sat Feb 15 03:05:12 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvv152vDxz5p3pq; Sat, 15 Feb 2025 03:05: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvv1453p6z3dC4; Sat, 15 Feb 2025 03:05:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739588712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+diMPQYmxXyoC1qQndVvi7HrXqU8yUNecb9lvzSQDE=; b=POiWqE5+JKj7C7gmvfj2WLF8dHZxZYX7tzUkTm+T6oKU8tpmBqNum4aiEIXIMVNlVwiRH9 NFHmDNfkWOZ5rUMn/C/9ydTMihXypJHh4x6A/JsosrhnqTug/JsnJk4TC85sUa3YdMuOpe vCOHgonETm44PeA2Mtxk2obiU0UjwdAd7xT1hZuXjtpjRTWRZYYHeGAe9JGxtqTjA+pfid X1FNZ0Tpl9seVom1Kp9ad6K5ZP0t2KnNr+dSe2twdEn/BLjXHxUS90uG0RH39uMTP2ROhu WiNqhp0K7djQXpR66CA0EfCRj54F92ifBOeneWrBpg1cO6nC6WZLfJ/TgoENJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739588712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+diMPQYmxXyoC1qQndVvi7HrXqU8yUNecb9lvzSQDE=; b=sv506aWe8shLLG01th37AMXUi2pC1jHACHKXmQycWgpJXv+YQsq4gdFQ34Ja4C9odWD8XF mP55G8z12ZVTL5/2shytXdDWzQo1rYpGyjwBXziQab4Jdop/sVWQxZx1q51QmA4dGVi2lE n1+AblI9VH7W9pyIHznxjsP6Jhuj4cO4fDFRR1xLUxCPLe3+kUf/rOLcqwgZo6Nif8S6F+ WuDu8JNEcTyREOQlab3RSqUxCYVRHvTzwxTAAZUT4IThn+0lf0uzsG2zRj7NxS/QGFsjad iCymjtlMUqqhKvTvmA3w4WtR9S2aZxX8K6jlwWjzSaIGyNq4n8LCoQz+geFtxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739588712; a=rsa-sha256; cv=none; b=FtSta7YtTHJfZ2ezMSE0yFsqjCM1cgcVQ667+VGOg0+PrXUxJVcx1aqT71P+d32CqUO7Pn CPFaqfNt6qJdqEL4NYXkPAcEbnXC0gQ7VvafQQVE5Hi4PG57YQZNEDjfVJkKBVk2r2nhdk fLAA4+918Naw3FlW1xMsZhL2FqWLBr9YQGbiHDfcnure3vyM1SpOCm7WX8GEXYCohX+WGv KxseqHZ/cl0vUQncypN22fayXUag5NszBCqt2aU6HM/3U1ohbvlnglSUTgmehzzudnR4Eh JaI3TAa5K/OKXtmLsRp7PI2FYSAbVV3Wug91x/TPsOWfKrKh7y3IsYBNudnLrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvv144Qgjzyn2; Sat, 15 Feb 2025 03:05: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 51F35Crl005113; Sat, 15 Feb 2025 03:05:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51F35CDB005110; Sat, 15 Feb 2025 03:05:12 GMT (envelope-from git) Date: Sat, 15 Feb 2025 03:05:12 GMT Message-Id: <202502150305.51F35CDB005110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 89e3c2d27ab4 - main - flash: add w25n (nand flash) support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89e3c2d27ab426e1edf326d470318d75d8be5e37 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=89e3c2d27ab426e1edf326d470318d75d8be5e37 commit 89e3c2d27ab426e1edf326d470318d75d8be5e37 Author: Adrian Chadd AuthorDate: 2025-02-13 00:40:22 +0000 Commit: Adrian Chadd CommitDate: 2025-02-15 03:03:55 +0000 flash: add w25n (nand flash) support This adds read only support for the W25N series of flash parts. Specifically starting with the W25N01GV, a 128MiB SPI NAND flash. This doesn't currently support writing or erasing, as this requires a NAND flash layer that we don't currently have. There are also plenty of other commands that aren't currently supported - notably maintaining the on-chip flash translation layer, flash wear statistics, etc. But read support is fine enough for now; it at least allows for reading the boot / config / calibration flash on my ASUS IPQ4018 based router. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D48979 --- sys/conf/files | 1 + sys/dev/flash/w25n.c | 603 ++++++++++++++++++++++++++++++++++++++++++++++++ sys/dev/flash/w25nreg.h | 85 +++++++ 3 files changed, 689 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index 230d5229210e..e6987c8f1fc9 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1710,6 +1710,7 @@ dev/flash/at45d.c optional at45d dev/flash/cqspi.c optional cqspi fdt xdma dev/flash/mx25l.c optional mx25l dev/flash/n25q.c optional n25q fdt +dev/flash/w25n.c optional w25n fdt dev/flash/qspi_if.m optional cqspi fdt | n25q fdt dev/fxp/if_fxp.c optional fxp dev/fxp/inphy.c optional fxp diff --git a/sys/dev/flash/w25n.c b/sys/dev/flash/w25n.c new file mode 100644 index 000000000000..c106b99434ca --- /dev/null +++ b/sys/dev/flash/w25n.c @@ -0,0 +1,603 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Adrian Chadd . + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include "opt_platform.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef FDT +#include +#include +#include +#endif + +#include +#include "spibus_if.h" + +#include + +#define W25N_SECTORSIZE 512 + +struct w25n_flash_ident +{ + const char *name; + uint8_t manufacturer_id; + uint16_t device_id; + unsigned int sectorsize; + unsigned int sectorcount; + unsigned int erasesize; + unsigned int flags; +}; + +struct w25n_softc +{ + device_t sc_dev; + device_t sc_parent; + uint8_t sc_manufacturer_id; + uint16_t sc_device_id; + unsigned int sc_erasesize; + struct mtx sc_mtx; + struct disk *sc_disk; + struct proc *sc_p; + struct bio_queue_head sc_bio_queue; + unsigned int sc_flags; + unsigned int sc_taskstate; +}; + +#define TSTATE_STOPPED 0 +#define TSTATE_STOPPING 1 +#define TSTATE_RUNNING 2 + +#define W25N_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) +#define W25N_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) +#define W25N_LOCK_INIT(_sc) \ + mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->sc_dev), \ + "w25n", MTX_DEF) +#define W25N_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); +#define W25N_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); +#define W25N_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); + +/* disk routines */ +static int w25n_open(struct disk *dp); +static int w25n_close(struct disk *dp); +static int w25n_ioctl(struct disk *, u_long, void *, int, struct thread *); +static void w25n_strategy(struct bio *bp); +static int w25n_getattr(struct bio *bp); +static void w25n_task(void *arg); + +#define FL_NONE 0x00000000 + +static struct w25n_flash_ident flash_devices[] = { + + { "w25n01gv", 0xef, 0xaa21, 2048, 64 * 1024, 128 * 1024, FL_NONE }, +}; + +static int +w25n_read_status_register(struct w25n_softc *sc, uint8_t reg, + uint8_t *retval) +{ + uint8_t txBuf[3], rxBuf[3]; + struct spi_command cmd; + int err; + + memset(&cmd, 0, sizeof(cmd)); + + txBuf[0] = CMD_READ_STATUS; + txBuf[1] = reg; + cmd.tx_cmd = txBuf; + cmd.rx_cmd = rxBuf; + cmd.rx_cmd_sz = 3; + cmd.tx_cmd_sz = 3; + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err != 0) + return (err); + *retval = rxBuf[2]; + return (0); +} + +static int +w25n_wait_for_device_ready(struct w25n_softc *sc) +{ + int err; + uint8_t val; + + do { + err = w25n_read_status_register(sc, STATUS_REG_3, &val); + } while (err == 0 && (val & STATUS_REG_3_BUSY)); + + return (err); +} + +static int +w25n_set_page_address(struct w25n_softc *sc, uint16_t page_idx) +{ + uint8_t txBuf[4], rxBuf[4]; + struct spi_command cmd; + int err; + + txBuf[0] = CMD_PAGE_DATA_READ; + txBuf[1] = 0; /* dummy */ + txBuf[2] = (page_idx >> 8) & 0xff; + txBuf[3] = (page_idx >> 0) & 0xff; + cmd.tx_cmd = txBuf; + cmd.rx_cmd = rxBuf; + cmd.rx_cmd_sz = 4; + cmd.tx_cmd_sz = 4; + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err != 0) + return (err); + return (0); +} + +static struct w25n_flash_ident* +w25n_get_device_ident(struct w25n_softc *sc) +{ + uint8_t txBuf[8], rxBuf[8]; + struct spi_command cmd; + uint8_t manufacturer_id; + uint16_t dev_id; + int err, i; + + memset(&cmd, 0, sizeof(cmd)); + memset(txBuf, 0, sizeof(txBuf)); + memset(rxBuf, 0, sizeof(rxBuf)); + + txBuf[0] = CMD_READ_IDENT; + cmd.tx_cmd = &txBuf; + cmd.rx_cmd = &rxBuf; + + cmd.tx_cmd_sz = 5; + cmd.rx_cmd_sz = 5; + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err) + return (NULL); + + manufacturer_id = rxBuf[2]; + dev_id = (rxBuf[3] << 8) | (rxBuf[4]); + + for (i = 0; i < nitems(flash_devices); i++) { + if ((flash_devices[i].manufacturer_id == manufacturer_id) && + (flash_devices[i].device_id == dev_id)) + return &flash_devices[i]; + } + + device_printf(sc->sc_dev, + "Unknown SPI NAND flash device. Vendor: %02x, device id: %04x\n", + manufacturer_id, dev_id); + return (NULL); +} + +static int +w25n_write(struct w25n_softc *sc, off_t offset, caddr_t data, off_t count) +{ + + return (ENXIO); + +} + +static int +w25n_read(struct w25n_softc *sc, off_t offset, caddr_t data, off_t count) +{ + uint8_t txBuf[4], rxBuf[4]; + struct spi_command cmd; + int err; + int read_size; + uint16_t page_idx; + uint8_t st3, ecc_status; + + /* + * We only support reading things at multiples of the page size. + */ + if (count % sc->sc_disk->d_sectorsize != 0) { + device_printf(sc->sc_dev, "%s: invalid count\n", __func__); + return (EIO); + } + if (offset % sc->sc_disk->d_sectorsize != 0) { + device_printf(sc->sc_dev, "%s: invalid offset\n", __func__); + return (EIO); + } + + page_idx = offset / sc->sc_disk->d_sectorsize; + + while (count > 0) { + /* Wait until we're ready */ + err = w25n_wait_for_device_ready(sc); + if (err != 0) { + device_printf(sc->sc_dev, "%s: failed to wait\n", + __func__); + return (err); + } + + /* Issue the page change */ + err = w25n_set_page_address(sc, page_idx); + if (err != 0) { + device_printf(sc->sc_dev, "%s: page change failed\n", + __func__); + return (err); + } + + /* Wait until the page change has read in data */ + err = w25n_wait_for_device_ready(sc); + if (err != 0) { + device_printf(sc->sc_dev, + "%s: failed to wait again\n", + __func__); + return (err); + } + + /* + * Now we can issue a read command for the data + * in the buffer. We'll read into the data buffer + * until we run out of data in this page. + * + * To simplify things we're not starting at an + * arbitrary offset; so the column address here + * inside the page is 0. If we later want to support + * that kind of operation then we could do the math + * here. + */ + read_size = MIN(count, sc->sc_disk->d_sectorsize); + + memset(data, 0xef, read_size); + + txBuf[0] = CMD_FAST_READ; + txBuf[1] = 0; /* column address 15:8 */ + txBuf[2] = 0; /* column address 7:0 */ + txBuf[3] = 0; /* dummy byte */ + cmd.tx_cmd_sz = 4; + cmd.rx_cmd_sz = 4; + cmd.tx_cmd = txBuf; + cmd.rx_cmd = rxBuf; + + cmd.tx_data = data; + cmd.rx_data = data; + cmd.tx_data_sz = read_size; + cmd.rx_data_sz = read_size; + + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err != 0) { + device_printf(sc->sc_dev, + "ERROR: failed to do FAST_READ (%u)\n", + err); + return (err); + } + + /* + * Now, check ECC status bits, see if we had an ECC + * error. + */ + err = w25n_read_status_register(sc, STATUS_REG_3, &st3); + if (err != 0) { + device_printf(sc->sc_dev, + "%s: failed to wait again\n", __func__); + return (err); + } + ecc_status = (st3 >> STATUS_REG_3_ECC_STATUS_SHIFT) + & STATUS_REG_3_ECC_STATUS_MASK; + if ((ecc_status != STATUS_ECC_OK) + && (ecc_status != STATUS_ECC_1BIT_OK)) { + device_printf(sc->sc_dev, + "%s: ECC status failed\n", __func__); + return (EIO); + } + + count -= read_size; + data += read_size; + page_idx += 1; + } + + return (0); +} + +#ifdef FDT +static struct ofw_compat_data compat_data[] = { + { "spi-nand", 1 }, + { NULL, 0 }, +}; +#endif + +static int +w25n_probe(device_t dev) +{ +#ifdef FDT + int i; + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + /* First try to match the compatible property to the compat_data */ + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 1) + goto found; + + /* + * Next, try to find a compatible device using the names in the + * flash_devices structure + */ + for (i = 0; i < nitems(flash_devices); i++) + if (ofw_bus_is_compatible(dev, flash_devices[i].name)) + goto found; + + return (ENXIO); +found: +#endif + device_set_desc(dev, "W25N NAND Flash Family"); + + return (0); +} + +static int +w25n_attach(device_t dev) +{ + struct w25n_softc *sc; + struct w25n_flash_ident *ident; + int err; + uint8_t st1, st2, st3; + + sc = device_get_softc(dev); + sc->sc_dev = dev; + sc->sc_parent = device_get_parent(sc->sc_dev); + + W25N_LOCK_INIT(sc); + + ident = w25n_get_device_ident(sc); + if (ident == NULL) + return (ENXIO); + + if ((err = w25n_wait_for_device_ready(sc)) != 0) + return (err); + + /* + * Read the configuration, protection and status registers. + * Print them out here so the initial configuration can be checked. + */ + err = w25n_read_status_register(sc, STATUS_REG_1, &st1); + if (err != 0) + return (err); + err = w25n_read_status_register(sc, STATUS_REG_2, &st2); + if (err != 0) + return (err); + err = w25n_read_status_register(sc, STATUS_REG_3, &st3); + if (err != 0) + return (err); + + device_printf(sc->sc_dev, + "device type %s, size %dK in %d sectors of %dK, erase size %dK\n", + ident->name, + ident->sectorcount * ident->sectorsize / 1024, + ident->sectorcount, ident->sectorsize / 1024, + ident->erasesize / 1024); + + if (bootverbose) + device_printf(sc->sc_dev, + "status1=0x%08x, status2=0x%08x, status3=0x%08x\n", + st1, st2, st3); + + /* + * For now we're only going to support parts that have + * device ECC enabled. Later on it may be interesting + * to do software driven ECC and figure out how we + * expose it over GEOM, but that day isn't today. + */ + if ((st2 & STATUS_REG_2_ECC_EN) == 0) { + device_printf(sc->sc_dev, + "ERROR: only ECC in HW is supported\n"); + return (err); + } + if ((st2 & STATUS_REG_2_BUF_EN) == 0) { + device_printf(sc->sc_dev, + "ERROR: only BUF mode is supported\n"); + return (err); + } + + sc->sc_flags = ident->flags; + sc->sc_erasesize = ident->erasesize; + + sc->sc_disk = disk_alloc(); + sc->sc_disk->d_open = w25n_open; + sc->sc_disk->d_close = w25n_close; + sc->sc_disk->d_strategy = w25n_strategy; + sc->sc_disk->d_getattr = w25n_getattr; + sc->sc_disk->d_ioctl = w25n_ioctl; + sc->sc_disk->d_name = "nand_flash/spi"; + sc->sc_disk->d_drv1 = sc; + sc->sc_disk->d_maxsize = DFLTPHYS; + sc->sc_disk->d_sectorsize = ident->sectorsize; + sc->sc_disk->d_mediasize = ident->sectorsize * ident->sectorcount; + sc->sc_disk->d_stripesize = sc->sc_erasesize; + sc->sc_disk->d_unit = device_get_unit(sc->sc_dev); + sc->sc_disk->d_dump = NULL; /* NB: no dumps */ + strlcpy(sc->sc_disk->d_descr, ident->name, + sizeof(sc->sc_disk->d_descr)); + + disk_create(sc->sc_disk, DISK_VERSION); + bioq_init(&sc->sc_bio_queue); + kproc_create(&w25n_task, sc, &sc->sc_p, 0, 0, "task: w25n flash"); + sc->sc_taskstate = TSTATE_RUNNING; + + return (0); +} + +static int +w25n_detach(device_t dev) +{ + struct w25n_softc *sc; + int err; + + sc = device_get_softc(dev); + err = 0; + + W25N_LOCK(sc); + if (sc->sc_taskstate == TSTATE_RUNNING) { + sc->sc_taskstate = TSTATE_STOPPING; + wakeup(sc); + while (err == 0 && sc->sc_taskstate != TSTATE_STOPPED) { + err = msleep(sc, &sc->sc_mtx, 0, "w25nd", hz * 3); + if (err != 0) { + sc->sc_taskstate = TSTATE_RUNNING; + device_printf(sc->sc_dev, + "Failed to stop queue task\n"); + } + } + } + W25N_UNLOCK(sc); + + if (err == 0 && sc->sc_taskstate == TSTATE_STOPPED) { + disk_destroy(sc->sc_disk); + bioq_flush(&sc->sc_bio_queue, NULL, ENXIO); + W25N_LOCK_DESTROY(sc); + } + return (err); +} + +static int +w25n_open(struct disk *dp) +{ + return (0); +} + +static int +w25n_close(struct disk *dp) +{ + + return (0); +} + +static int +w25n_ioctl(struct disk *dp, u_long cmd, void *data, int fflag, + struct thread *td) +{ + + return (EINVAL); +} + +static void +w25n_strategy(struct bio *bp) +{ + struct w25n_softc *sc; + + sc = (struct w25n_softc *)bp->bio_disk->d_drv1; + W25N_LOCK(sc); + bioq_disksort(&sc->sc_bio_queue, bp); + wakeup(sc); + W25N_UNLOCK(sc); +} + +static int +w25n_getattr(struct bio *bp) +{ + struct w25n_softc *sc; + device_t dev; + + if (bp->bio_disk == NULL || bp->bio_disk->d_drv1 == NULL) + return (ENXIO); + + sc = bp->bio_disk->d_drv1; + dev = sc->sc_dev; + + if (strcmp(bp->bio_attribute, "SPI::device") == 0) { + if (bp->bio_length != sizeof(dev)) + return (EFAULT); + bcopy(&dev, bp->bio_data, sizeof(dev)); + } else + return (-1); + return (0); +} + +static void +w25n_task(void *arg) +{ + struct w25n_softc *sc = (struct w25n_softc*)arg; + struct bio *bp; + + for (;;) { + W25N_LOCK(sc); + do { + if (sc->sc_taskstate == TSTATE_STOPPING) { + sc->sc_taskstate = TSTATE_STOPPED; + W25N_UNLOCK(sc); + wakeup(sc); + kproc_exit(0); + } + bp = bioq_first(&sc->sc_bio_queue); + if (bp == NULL) + msleep(sc, &sc->sc_mtx, PRIBIO, "w25nq", 0); + } while (bp == NULL); + bioq_remove(&sc->sc_bio_queue, bp); + W25N_UNLOCK(sc); + + switch (bp->bio_cmd) { + case BIO_READ: + bp->bio_error = w25n_read(sc, bp->bio_offset, + bp->bio_data, bp->bio_bcount); + break; + case BIO_WRITE: + bp->bio_error = w25n_write(sc, bp->bio_offset, + bp->bio_data, bp->bio_bcount); + break; + default: + bp->bio_error = EOPNOTSUPP; + } + + + biodone(bp); + } +} + +static device_method_t w25n_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, w25n_probe), + DEVMETHOD(device_attach, w25n_attach), + DEVMETHOD(device_detach, w25n_detach), + + { 0, 0 } +}; + +static driver_t w25n_driver = { + "w25n", + w25n_methods, + sizeof(struct w25n_softc), +}; + +DRIVER_MODULE(w25n, spibus, w25n_driver, 0, 0); +MODULE_DEPEND(w25n, spibus, 1, 1, 1); +#ifdef FDT +MODULE_DEPEND(w25n, fdt_slicer, 1, 1, 1); +SPIBUS_FDT_PNP_INFO(compat_data); +#endif diff --git a/sys/dev/flash/w25nreg.h b/sys/dev/flash/w25nreg.h new file mode 100644 index 000000000000..0fa880e54b91 --- /dev/null +++ b/sys/dev/flash/w25nreg.h @@ -0,0 +1,85 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Adrian Chadd . + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, 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 __W25NREG_H__ +#define __W25NREG_H__ + +/* + * Commands + */ +#define CMD_READ_STATUS 0x05 +#define CMD_FAST_READ 0x0B +#define CMD_PAGE_DATA_READ 0x13 +#define CMD_READ_IDENT 0x9F +#define CMD_LAST_ECC_FAILURE 0xA9 +#define CMD_BLOCK_ERAS 0xD8 + +/* + * Three status registers - 0xAx, 0xBx, 0xCx. + * + * status register 1 (0xA0) is for protection config/status + * status register 2 (0xB0) is for configuration config/status + * status register 3 (0xC0) is for general status + */ + +#define STATUS_REG_1 0xA0 +#define STATUS_REG_1_SRP1 0x10 +#define STATUS_REG_1_WP_EN 0x20 +#define STATUS_REG_1_TOP_BOTTOM_PROT 0x40 +#define STATUS_REG_1_BP0 0x80 +#define STATUS_REG_1_BP1 0x10 +#define STATUS_REG_1_BP2 0x20 +#define STATUS_REG_1_BP3 0x40 +#define STATUS_REG_1_SRP0 0x80 + +#define STATUS_REG_2 0xB0 +#define STATUS_REG_2_BUF_EN 0x08 +#define STATUS_REG_2_ECC_EN 0x10 +#define STATUS_REG_2_SR1_LOCK 0x20 +#define STATUS_REG_2_OTP_EN 0x40 +#define STATUS_REG_2_OTP_L 0x80 + +#define STATUS_REG_3 0xC0 +#define STATUS_REG_3_BUSY 0x01 +#define STATUS_REG_3_WRITE_EN_LATCH 0x02 +#define STATUS_REG_3_ERASE_FAIL 0x04 +#define STATUS_REG_3_PROGRAM_FAIL 0x08 +#define STATUS_REG_3_ECC_STATUS_0 0x10 +#define STATUS_REG_3_ECC_STATUS_1 0x20 +#define STATUS_REG_3_ECC_STATUS_SHIFT 4 +#define STATUS_REG_3_ECC_STATUS_MASK 0x03 +#define STATUS_REG_3_BBM_LUT_FULL 0x40 + +/* ECC status */ +#define STATUS_ECC_OK 0 +#define STATUS_ECC_1BIT_OK 1 +#define STATUS_ECC_2BIT_ERR 2 +#define STATUS_ECC_2BIT_ERR_MULTIPAGE 3 + +#endif /* __W25NREG_H__ */ From nobody Sat Feb 15 15:51:15 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwD100vDnz5njxj; Sat, 15 Feb 2025 15:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD100B6lz3H41; Sat, 15 Feb 2025 15:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cKXkpbdxNuAE7YZHS9tfPNvyR4j6Qp963ygXAvsvviA=; b=fnieGhOLEXywOZPXPDPbGQ0/0trY9NUYwDphDNLZnnpxPCUo7Cvs6+syWCeSKpcjC0gnT9 njqYZjyCuju2ECuLvrs0s7lEUy8MlNJXTkJ5mJR6wbDszy6WfjzhkGPvDr9p3aMuOBAhF8 g5tlHwPQWw1GxLI0mFFGf5HYqUoWHOaa4wNKrMQ8W+mmtm7UJah7BS8RL4xQce44SBY8CX 2KfWI6MGPraDH3Yk5dt2loacNwi+DdR/lNxlGjvfpraX+Vr/Bk+0sosEnCpveMLhKdCeEa xNLur43h6yJSHqjWxRXdqYLUIArIbrXSqL5jXKaqZwxSco/swyveT+NruzEK5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634676; a=rsa-sha256; cv=none; b=EJWQdQ68wY/SBzW/PeL//lQdX2u2AihVtjmbi7DDU1XRNt2MBBtDrMiNcRHrewKus2eBt3 xs2Rs+p17hJOJKXOiXjd+z5zaxb9Zpk5bafRiI1LLsD7hok3WeqDu2cg/iY8BPuL7SbcwE 9pjqHlkfW+Xo1eGqzx8kOoCxQ5bc9QkTiJwVWjWxoCB1N6+B6KBbzCXkr74VuA6IxDwGBY N17mNgu9/3tebQ77wuhyZQNahLd3gBDk3U8j9mU8QA+5KdUVO+jPGaFpoZlB/nXx2hT12J h2QFMGBCspM+bqy/vf1f5hG+SnthtNyH5xh9ZDG9Cc4CF6oNabCUF5IpJ82Kkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cKXkpbdxNuAE7YZHS9tfPNvyR4j6Qp963ygXAvsvviA=; b=sxC41xY3JYa4Hc76aFDHYxX5rsz/Ddn32/I6ofsjC4NWKPTy+zlsDOFunt9o8SsUoR9V+g epqndh9XEIw+Q2e8Up3Z/4wMjcZ8fD4XZ19gqyqCg8vOt9Lpazi7IVsxAGha1CIBmfVkDj cRHy18MxJKLuxENCwbBzllcwtHyauQ/YOAZ9CKDDVeNbHrvR8mIHbHU7P9nZf/qgZYjj2f xBjU7bbQt7UpQFGRD3GC5ReYuUUwqUj+4XjQFhjvD76iiAGa8T4uSWDSF38lah8b1rz6fQ jZuaN+BnAf11ifJPMtVoQuc1tH7eEOSLVVUuPpTMXq1sE7svhoKgfkX/Cy2+VQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD0z64KMz1MHC; Sat, 15 Feb 2025 15:51: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 51FFpFIr050279; Sat, 15 Feb 2025 15:51:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpFRv050276; Sat, 15 Feb 2025 15:51:15 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:15 GMT Message-Id: <202502151551.51FFpFRv050276@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 75fb66d8241d - main - net80211 / LinuxKPI 802.11: add 802.11-2016 VHT Extended NSS BW defines List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75fb66d8241d0487baf482c975c1de3b55d9a315 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=75fb66d8241d0487baf482c975c1de3b55d9a315 commit 75fb66d8241d0487baf482c975c1de3b55d9a315 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:04 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:48:36 +0000 net80211 / LinuxKPI 802.11: add 802.11-2016 VHT Extended NSS BW defines Add the mask and shift for the VHT Extended NSS BW Support field. Document them in net80211 and further related bitmasks in LinuxKPI. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48975 --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 3 ++- sys/compat/linuxkpi/common/include/net/cfg80211.h | 3 ++- sys/net80211/ieee80211.h | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 58ebbcfe0097..0169e12b1804 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -115,7 +115,8 @@ enum ieee80211_rate_control_changed_flags { #define IEEE80211_TKIP_ICV_LEN 4 #define IEEE80211_TKIP_IV_LEN 8 /* WEP + KID + EXT */ -#define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* assigned to tx_highest */ +/* 802.11-2016, 9.4.2.158.3 Supported VHT-MCS and NSS Set field. */ +#define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* part of tx_highest */ #define IEEE80211_VHT_MAX_AMPDU_1024K 7 /* 9.4.2.56.3 A-MPDU Parameters field, Table 9-163 */ diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 0b6a66033536..ee16449ecd1c 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -236,7 +236,8 @@ struct ieee80211_sta_ht_cap { #define IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK \ (7 << IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT) /* IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK */ -#define IEEE80211_VHT_CAP_EXT_NSS_BW_MASK 0xc0000000 +#define IEEE80211_VHT_CAP_EXT_NSS_BW_MASK IEEE80211_VHTCAP_EXT_NSS_BW +#define IEEE80211_VHT_CAP_EXT_NSS_BW_SHIFT IEEE80211_VHTCAP_EXT_NSS_BW_S struct ieee80211_sta_vht_cap { /* TODO FIXME */ diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index b0bb02450190..6003a1ae0e99 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1045,6 +1045,10 @@ struct ieee80211_vht_operation { #define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN 0x20000000 #define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN_S 29 +/* 802.11-2016, 9.4.2.158.2 VHT Capabilities Information field. */ +#define IEEE80211_VHTCAP_EXT_NSS_BW 0xc0000000 +#define IEEE80211_VHTCAP_EXT_NSS_BW_S 30 + /* * XXX TODO: add the rest of the bits */ From nobody Sat Feb 15 15:51:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwD113Pdcz5njhL; Sat, 15 Feb 2025 15:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD11100Mz3Gsx; Sat, 15 Feb 2025 15:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GDThDCaSgjWONlRcqyHDlirG1yGjk6GF9zBUbFfzQgI=; b=S8TGk98rh5s5c+neF0/+M8qVFt/m0Ve+eKgGbBo72BXWzCikSq07OK+Kd+e/Jz3w6NYxCd JcnaBnhw8ahG7eRQiJwcBzHYCPDawK2Mt7UjtwvEZMh/v6sPLyWZckFdVo++HO072n0RB3 scGF6SPuBE8lak8YXUEN/MUdSHF8XmfZ7/7qji9OTE5ydQS0MF+1LF3mTRIRsAOyAjVISs NSXX2RwC5wvLBJs6sNQRO6BEudVCh4Yuetx+/+lKDqOj6YNLN2pAtCYt4KREoVT41FyRnZ bb+IDaHNpxIqMt8E8hBCtnJpFxPhIJ76in68eWLQQMPlAsNsbHR8cNLzdiwH7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634677; a=rsa-sha256; cv=none; b=oTRLztqB+x2plpAinb2npVWKTDeS2ZqS+g6okoQ/3ajBGfZbJb1VkNeyN9G63fGTu9vKWo 8p66e24ZZtmyYqYb/DjYN8Sm8p9Jc+0aIA0x7XnuUA7A9/PV330ibbdZy+RgvQrLDeK6RG Y6KA62kyVaFdiB+lmjNFW4wcT8cqMZVuKkrEHJJer2yPieSYFFhOELIyYKmQstfIX8X/Gh 9ilwdJlLICXRnmU0Nw55iGak4maEQBSvG7lJ81/rbeMKOF8BpPPMjliT1+DJ0Jxo4y12Lg rQiAwbUiVLbMqGg2I30oSjfoAW63wwDi03vuhC3lMBX5yq1dCBXCqU2kURg2+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GDThDCaSgjWONlRcqyHDlirG1yGjk6GF9zBUbFfzQgI=; b=uYxw60bO6RJ2nEu+tNpJgE+xaIeTWnt5BaiENPTs0tC0kQeq9Dzwd9EI3R2HxgU8ZfdbEp bYpu+jKZZQ3nhsXRfFU0e4Dab8XrwZh/x4EdkrR9vDJ/Ee+Ymj3FiGyDxcmeZ0AfzvOFJm zHsOQo3G/R3Ml87uMQBrMiFkgQHf0CJa9f52w3nkO0h7y3wFMHbvabCqzGhie5yMqRkhQf kAeontF745+AZZjL/YvEIZ2Qqb8p84KUAHyjWJ9DQRMqdSAuK3WSkcWZpC8I5K5uyqlwMI CsFnmCuw7POfzGuAi0bwVnJrsAdh1OUwtxWuDvZciJdotmMcq2UaZGBzf1sT1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD1073P4z1MDp; Sat, 15 Feb 2025 15:51: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 51FFpGf1050316; Sat, 15 Feb 2025 15:51:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpGGI050313; Sat, 15 Feb 2025 15:51:16 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:16 GMT Message-Id: <202502151551.51FFpGGI050313@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 8f2e5b6ef323 - main - net80211/ifconfig: swap IEEE80211_FVHT_USEVHT160 and 80P80 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f2e5b6ef32304ce340b91057b1eb4b191dbeac1 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8f2e5b6ef32304ce340b91057b1eb4b191dbeac1 commit 8f2e5b6ef32304ce340b91057b1eb4b191dbeac1 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:49:02 +0000 net80211/ifconfig: swap IEEE80211_FVHT_USEVHT160 and 80P80 ieee80211_setupcurchan() compares the flags in a greater than manner. In this case VHT160 should be > VHT80P80 as it is preferable. Swap the two flags and add a comment to note this. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48976 --- sbin/ifconfig/ifieee80211.c | 4 ++-- sys/net80211/ieee80211_var.h | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index d4dcfdf63254..9f66281931c0 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -133,8 +133,8 @@ #define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */ #define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */ #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ -#define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ -#define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT80P80 0x000000008 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT160 0x000000010 /* CONF: Use VHT160 */ #define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */ #define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */ #endif diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index 94e8a05846e7..5a0d017bd590 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -732,11 +732,15 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_FVEN_BITS "\20" +/* + * These flags are compared in ieee80211_setupcurchan(). + * Thus 160 should be > 80P80. + */ #define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */ #define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */ #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ -#define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ -#define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT80P80 0x000000008 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT160 0x000000010 /* CONF: Use VHT160 */ #define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */ #define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */ From nobody Sat Feb 15 15:51:18 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwD1245KNz5njnX; Sat, 15 Feb 2025 15:51: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD121YYnz3HFb; Sat, 15 Feb 2025 15:51:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dmvTjX2gn3xDgkWcfn0wZPrIDd5dRD8n+7pjSqEfX08=; b=J7e/mu/o0kXPHhxwv7bm1aASf/qOJF43SoVkw5CCv0bKoXTtwGhOfUxOMp3cQnRbSMDMvi kr8nLn01+I5EPnOja3/V01F0leeN6YfVJr8iovwixcHKolN9UB/OBvlD1zkZ1LMzCE/at8 NdFEDi5kPjlPNHSgvaHkYKLhORpaDfOz/4ljpoZ8YHCl6iTZ+nKw8lmd0xheOxYE1FIUPi h/f93a8CnXSZQ2DWa5yKi6oNzCh5MxITyKBxw5pZW+bUt80w7FboIC85u33NVSFeaFC2S/ kspfJCGq7/3y6th+nXxKLwwl8KcRqQ6V/h4O5X91VDhCbqXzalqeAiUGum9XMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634678; a=rsa-sha256; cv=none; b=XdMto4pNpIZLJazr64dlNEnkq2o7byvqZtzhsC8Oo39RPkWEvmxP88NhQhGWKkljqi+sLt 1wzmX/OK7GlM+1ex9/sr4AOA/gzaJbB9wu5sc6oiApcX9aKQP3sD9kO9igOnoV1Ymn0TQ/ JU7vTRwARkPor4pWvUk0xRmQVoG6puwPfkjkBbcgNYjP12ThawL8sp3iqWn+dygjbJ4VTK Plw1Ll8q9C1XMsXyXjKyOIzWj9U0VMPtubyG+R14CXU0xMShweQ2n9dRl5r5Mw2xgfIz7Y 9KofX/IvmAYpxZCbFm5z43RYS4QhpwxF4te6uzDqSUNIy/hB2XkS7Ne80/J93Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dmvTjX2gn3xDgkWcfn0wZPrIDd5dRD8n+7pjSqEfX08=; b=qibrk5veuNDhFxbVWKQqNjnjkogy/+4VXa2qr4OSKGofz9DTcaRN18y9p6RGztviQWIJ8h ODCpPFfrVEP1LaVjTexmMSZ81NKu1OeiWVzcKY+YGbNz9Ibe1/wR6q4ZIb4N8GFhkPlnW8 HVtdUaCp+4JrC8UMroLpoQJofPx9vXt3Py8eAiYwiXNdMijf7qsbXgz3jiJUnM4OcHBwtj H9S93w7wChUGDq8L4CpoiEDU83I+CaPTbM3OOVea4QGHELfrJXOla8fxjiTCcGCxGRHXK4 pFDV9WZdqZqWCaWrvRGCqehMt3kYQznDXUHCEIM0xeVL1Rx3JICDoBr87zDDZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD120tlTz1M0g; Sat, 15 Feb 2025 15:51: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 51FFpITh050358; Sat, 15 Feb 2025 15:51:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpIoo050355; Sat, 15 Feb 2025 15:51:18 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:18 GMT Message-Id: <202502151551.51FFpIoo050355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 7f31d95c98e6 - main - net80211: rename \4 in IEEE80211_VHTCAP_BITS for clarity List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f31d95c98e64eff7b269e457789ed9cfc7b2779 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7f31d95c98e64eff7b269e457789ed9cfc7b2779 commit 7f31d95c98e64eff7b269e457789ed9cfc7b2779 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:49:27 +0000 net80211: rename \4 in IEEE80211_VHTCAP_BITS for clarity Bits 2 and 3 (\3 and \4 of the %b flag mask) are the 'Supported Channel Width Set' indicating VHT160 (B2) or VHT160 and VHT80P80 (B3) support. Though longer rename \4 from CHAN80P80 to CHAN160+80P80 to not confuse the reader that VHT160 might not be supported. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48977 --- sys/net80211/ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 6003a1ae0e99..1e685eb094f9 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1053,7 +1053,7 @@ struct ieee80211_vht_operation { * XXX TODO: add the rest of the bits */ #define IEEE80211_VHTCAP_BITS \ - "\20\1MPDU7991\2MPDU11454\3CHAN160\4CHAN8080\5RXLDPC\6SHORTGI80" \ + "\20\1MPDU7991\2MPDU11454\3CHAN160\4CHAN160+80P80\5RXLDPC\6SHORTGI80" \ "\7SHORTGI160\10RXSTBC1\11RXSTBC2\12RXSTBC3\13RXSTBC4\14BFERCAP" \ "\15BFEECAP\27VHT\37RXANTPTN\40TXANTPTN" From nobody Sat Feb 15 15:51:19 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwD13736Yz5njhM; Sat, 15 Feb 2025 15:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD132G3pz3HLG; Sat, 15 Feb 2025 15:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/o5yUZECAGQ3duTlLztLoWKSecd6bqlmwez4gb4ApYA=; b=lWYi02V9LFeWqiu5U31Y1AOu5gIKAjh3Q34hkNgT7+jXhwtoO2s8eaQr7HZFaAhqqq8hR7 MlhtGBKoZrMlTiAeFV6JG7tyi+e7vy5Z/zoFsNzULSbrB6gqPUlUh7XzLvib5R1OCiVMj/ 4K1nqBD2VJdWczh6TqYE+jNQM7/L3S8EOgXkF06ZkPGuOcTHhomg32hZQluUE5TIsv6jJ5 7Z7XJBuPyP3x5IL9/MSEUtejX1EZ6Igh4L0RawL+vPUkRgQr5m/I7JlVVwajrNwx/zEtPd bbCE5ErRgMrOB/a0OGllPib3OnK2cFWLlYTPqXZJ+1vFdsGsR5sVXklIKqpR8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634679; a=rsa-sha256; cv=none; b=S6WLCdn6sezECYy+R8rYOUTjzBmOr8JP543K9EFVVi52Y92ttqPtw8pQ8QoMMDDqGXQ2bc 4ku9N/4DJB/Ug0hfThv8YcScTsF6LbbYaqp5ioRREnGyXjz9OfGIzlQLUuNQZToLmj/FL+ iymX2ueThhDLJ8X2yq0ugQdx689uA9rb3scUCMx4O+4/N8lBrG3/WAssOCC8s5waqaUmXH p24zwsIcLG/6yPCd8s/M66Ol2obhEsV2p5/d3O1v6jA/ya0LI8mvKt3+KCi5G3sdt4BiLA jJsUZhVknib/KtuUAcykNUDGBxmtByvHK+3i8xRPP9lVqc7x4XH4Gad3V11mqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/o5yUZECAGQ3duTlLztLoWKSecd6bqlmwez4gb4ApYA=; b=KOTE1gnvaDrFlIGmgH+Z111b4QNVf8hxLetkUgivUpIqbKH5xDiRXi5NrJFRghuxijDi1Y WDr6VHvhQf2tNhDdAfzlulVfuIqYs06dShDdUwuFZu9Tm1j1BH8U+9OTN9yMRx5R26C6hu K8o5Yk8PhPdjjOp/C60vRotH+E4Fx9W/x7NNPbfeNGz2moAC4sL7Tj63qa641Q8gLJn4DM IXKhJ+YC6Ku5slE+5Hl3iGZ+r2nqB5b12SaLN4oIALw/JsewjyI9hKZbSTP9bWdbhBVkrA 8JINQ13zTF8GRVgVO8RmpykhsSvDEk+RM/QRhY9znTZMR9F4KLEf4Hb95LEtXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD131rzsz1M0j; Sat, 15 Feb 2025 15:51: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 51FFpJRa050393; Sat, 15 Feb 2025 15:51:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpJOa050390; Sat, 15 Feb 2025 15:51:19 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:19 GMT Message-Id: <202502151551.51FFpJOa050390@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: d688c20395a9 - main - net80211: crypto: enhance comment about IEEE80211_RX_F_MMIC_STRIP List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d688c20395a9f46d89edab4c57b863b6d752b061 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d688c20395a9f46d89edab4c57b863b6d752b061 commit d688c20395a9f46d89edab4c57b863b6d752b061 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:49:53 +0000 net80211: crypto: enhance comment about IEEE80211_RX_F_MMIC_STRIP net80211 crypto currently re-uses the M[ichael]MIC flag for MIC as well at least in CCMP. This is a bit confusing so at least try to improve the comment that it becomes more obvious. In the long-term we may want to just add a MIC flag as well? Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48978 --- sys/net80211/_ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/_ieee80211.h b/sys/net80211/_ieee80211.h index 5c7e6110026d..8ae7eb0f1c45 100644 --- a/sys/net80211/_ieee80211.h +++ b/sys/net80211/_ieee80211.h @@ -588,7 +588,7 @@ struct ieee80211_mimo_info { #define IEEE80211_RX_F_FAIL_MIC 0x00000080 /* Failed MIC check */ #define IEEE80211_RX_F_DECRYPTED 0x00000100 /* Hardware decrypted */ #define IEEE80211_RX_F_IV_STRIP 0x00000200 /* Decrypted; IV stripped */ -#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; MMIC stripped */ +#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; [Micheal] MIC ([M]MIC) stripped */ #define IEEE80211_RX_F_SHORTGI 0x00000800 /* This is a short-GI frame */ #define IEEE80211_RX_F_CCK 0x00001000 #define IEEE80211_RX_F_OFDM 0x00002000 From nobody Sat Feb 15 15:51:20 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwD150mpNz5njnf; Sat, 15 Feb 2025 15: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD143HHfz3HP0; Sat, 15 Feb 2025 15:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+JRhyX/Bn7difiza5J9RBUmq2lT5oReq98UJ4k835U=; b=DmVWu+6d7kgGr+Q60GuIrKDywgYR+sZVVSOj07XHBzoNGFy+1wnJYCGeK2WaUUvTuiywp9 n2HVd85PVHKDxfyMJoUQHsEQhXDBz0TQ/0E3nOI2FXEvOywn+XaNc1L5kzvKiAG65JZl2D LiWxvd7qodrOZCWT0gLItYnoehMpoHHSdzQSxFnJsHica6PVPX7ZnJNQOEd69hADFWrQ8L hhe3ivUeVHgAD1Pf4kFXWNaLp2lQJFa5/1CI8nrdXQx1VIS6n9WOxp59WAc9i5wI/DoxHL 8uOGOxu4GBBRP5wGurKi0tHttc81gYUUIL5LF+eVp46tO6Ai8+Xz3G1GtUbcbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634680; a=rsa-sha256; cv=none; b=t2TW4BAyXFzt/lTEHAnemeFMUhQhBzC7Sh5bJQkHU5dpc6fYwMqMoQx0Znt77Bt5Y4I7eZ 938Y722GHZZKMUdCJJz7W571fdVpJPwBCkW1B/tRZUEFRrh0YNQf/3DQAefqfzSCkJWe+M ZaVlM34IbWNDG90mxgG2Lml8GYRdmD8E8ymLcOJtHHEbF/n1kB+QwqCS2lww/dzUWhlPFa spOmys8CixTnskVCFXrj4Vvlz4otpxYALaiNaxbZ3ASnnRya7he2rDRKadKvUIrbDx+ibH O17H+yZ3ySAifYX/u53jQ0qmCS+qbGX0ExETdYGl53PbdV7SB/5d1CP/NXX9gA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+JRhyX/Bn7difiza5J9RBUmq2lT5oReq98UJ4k835U=; b=Ih49cEugNSS2+RXTryPqhiKhPXhVBB+gpJjtaJXXOhxD23XQxc44ix6hSFykrefjZfL/U2 /Wrk+Qq5z1iUrarzKjhkplzupsVw9+wDOVbwlK3TWROkmfnR63+JiOaDaZBPX7G66O2hDf zaibep/oMp8E+1C4alQeqcHZ7Y8wBO/nm9n3c6lA5no/MxtWIcj2sPNMADOGngFKNcjvTB ThgXB2b0jPWguIV/ik5KBBCv3fS9WOiiFPOgtkB4UQLVvWBaqQ516q+U7xzDkX0k3DT7xY 5FDOxJQkQi/rgYJ44w6ZpoAlHNGUzlbiLilmC+RNzoP+QHD5e6v6jNSKSh8MQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD142f4nz1Mf9; Sat, 15 Feb 2025 15:51: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 51FFpKEr050429; Sat, 15 Feb 2025 15:51:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpK4F050426; Sat, 15 Feb 2025 15:51:20 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:20 GMT Message-Id: <202502151551.51FFpK4F050426@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9763fec11b83 - main - net80211: use IEEE80211_KEY_UNDEFINED() insetad of checking they keyix List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9763fec11b83a7bfc2d2ba0681830d186a3f6a6e Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9763fec11b83a7bfc2d2ba0681830d186a3f6a6e commit 9763fec11b83a7bfc2d2ba0681830d186a3f6a6e Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:46 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:50:23 +0000 net80211: use IEEE80211_KEY_UNDEFINED() insetad of checking they keyix For ieee80211_node_delucastkey() rather than checking the keyix to be IEEE80211_KEYIX_NONE use the IEEE80211_KEY_UNDEFINED() macro (which chekes the wk_cipher to be 'none'). Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48980 --- sys/net80211/ieee80211_node.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 17ddc8533e41..f2fc3d21a361 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -2209,7 +2209,7 @@ ieee80211_node_delucastkey(struct ieee80211_node *ni) IEEE80211_NODE_LOCK(nt); nikey = NULL; status = 1; /* NB: success */ - if (ni->ni_ucastkey.wk_keyix != IEEE80211_KEYIX_NONE) { + if (IEEE80211_KEY_UNDEFINED(&ni->ni_ucastkey)) { keyix = ni->ni_ucastkey.wk_rxkeyix; status = ieee80211_crypto_delkey(ni->ni_vap, &ni->ni_ucastkey); if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { From nobody Sat Feb 15 18:11:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwH6r1qYDz5ntJ2; Sat, 15 Feb 2025 18:11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwH6q4snXz3lT5; Sat, 15 Feb 2025 18:11:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739643091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdVUuwvTDo0ztwiQ8GVcv9RT5btq5LGhM76aKFzR6GQ=; b=oV15fVG24o2LpmOxhLWfhvOhhMYl7A1WUkLQZ3ceO1uxGAipuUHkB0rtaspCgJqTk4+zxw QuYgGf+hU/ggK9VeMo5/v3ssNWzBizlUjpY4EylALrpXjwg0mk0zARxlXCUhXV8mx6qIlo 6OAb2vvYFX7Eak+OL111a79QbGa6lgyLlsPYAhJfzV+u6wAb0gjKIL61EIxHPylbSjMf4I QMp0+x2y6mMcTyNCmWzwRJZT1c9+K/tzFCad6XGaWVlJLhYynqpOl4oqqxepwNJMi/AfYJ 3ty5xYfkQgw6HY20h477j25UOX2YviB7yghjuqpF89GmTDliy0MaT91B4df+Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739643091; a=rsa-sha256; cv=none; b=H9g0IlFPOzSxXATnaJ1mcpFEHdO6/GYggo8CBkG68h6DdYb7NQTgumxazVe9iw30iJlffv Y52F4FgaFpb7eSqJ8H5QTlcub4mRNkTs+V253rb9+XpuBZiFpZeTO/jE/sCuX4Vcix85jr 7IkgfC7UkYXN7gZjcuDkNokcn1RSL113pCVocR9tVUIM+VOnySrCMIdyu9bbzBh5lravVM iA374wtroKaj7Xclacf8egc3B7LaP/OxGusWZD2D3SciKPLvy5OE5eg+rEttF9zwZfC/6O 9FOJhpUFhyRjhDpCzPkypZ7AcBS9X9DH9hnFxu5i+AvszwANV8nX0xUa/invKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739643091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdVUuwvTDo0ztwiQ8GVcv9RT5btq5LGhM76aKFzR6GQ=; b=P2VVEiJ/cKqW6oDbcJKmpoZzgGJiWlHia/vA2Cs3Qwm4fuN14rW6R5/2BjxvSkBMecPCDI 3XAhNbB6bAGo8J5OBFQwDhCYVvwyaJmTpUB5E9NZqfE/rU0+84SjF6J8WvLiu2ku580jqz vW35qg6Uf8CorikbX21Yff/dmXQ6vR4XkTfyPNmr6hL+BxzDHd7IkQbkReN08H0svueAsq Cq6M+tVNU89C6VTNwswdqwy6x7FvJGBqhHwU7sYg3DBSfB7BGLv+HPQZSWUF2F6ESSsE+W BwvvTVQpyNnWVGior9PKxZfa/NPF65JI/8V9G8kow49lgClIhmjyHYYDrWz26Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwH6q4CVsz1Qpj; Sat, 15 Feb 2025 18:11: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 51FIBVNI013409; Sat, 15 Feb 2025 18:11:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FIBVok013406; Sat, 15 Feb 2025 18:11:31 GMT (envelope-from git) Date: Sat, 15 Feb 2025 18:11:31 GMT Message-Id: <202502151811.51FIBVok013406@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: fa462b8b8ebc - main - vm_object: drop pointless assignment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa462b8b8ebc5db0be95c478b21ae8cc1288cdd2 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=fa462b8b8ebc5db0be95c478b21ae8cc1288cdd2 commit fa462b8b8ebc5db0be95c478b21ae8cc1288cdd2 Author: Doug Moore AuthorDate: 2025-02-15 18:09:26 +0000 Commit: Doug Moore CommitDate: 2025-02-15 18:09:26 +0000 vm_object: drop pointless assignment An assignment in collapse_scan() has become useless because, on every path, another assignment to that variable overrides it before that variable is read. Another assignment can be avoided sometimes, so move it down in the loop to where it's really necessary. Reviewed by: alc, markj Differential Revision: https://reviews.freebsd.org/D49017 --- sys/vm/vm_object.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index a3cfb4d036be..0f0f8cc6f5bf 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1703,9 +1703,6 @@ vm_object_collapse_scan(vm_object_t object) */ vm_page_iter_init(&pages, backing_object); for (p = vm_page_iter_lookup_ge(&pages, 0); p != NULL; p = next) { - next = TAILQ_NEXT(p, listq); - new_pindex = p->pindex - backing_offset_index; - /* * Check for busy page */ @@ -1721,8 +1718,8 @@ vm_object_collapse_scan(vm_object_t object) ("vm_object_collapse_scan: object mismatch %p != %p", p->object, backing_object)); - if (p->pindex < backing_offset_index || - new_pindex >= object->size) { + if (p->pindex < backing_offset_index || object->size <= + (new_pindex = p->pindex - backing_offset_index)) { vm_pager_freespace(backing_object, p->pindex, 1); KASSERT(!pmap_page_is_mapped(p), From nobody Sat Feb 15 20:44:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwLVt6213z5nKlJ; Sat, 15 Feb 2025 20:44: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwLVt1JZDz4Njg; Sat, 15 Feb 2025 20:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739652246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MwMVJ5IyuR7byCc/mHxkb0oafAGcSrZ/YY2ZjTypGu0=; b=mdeRqlUMzaSdVW/Fsn4t8wXMLmoFt+f/lC1uSylHA86BLvOdG7kTu8Me8JEMHq82G2xLBT TuLMVc8ctYpexYPX2WYEp5SJh8iKdAOq/SXVyU8mEVdPr7OZI90tuCv83hs1oSjvxF2jYg 0zZLj5XARtwqgF1lm9YWRljuHRrkgXJqN0HFl1BKZuMfeTPsFo080dbx4Sc0X5Cl32+ePW hJXmzlVCSwcW7DtvSOBVeNqEubdmLk3lRnuexipklOEVNHihW/uTiV8Wi43Db6vDevBxi3 JNqEOv0f+baZZfIgjrHT8b02HC31rsfKbsJ+hEovefL8ZY2Kv6qQeDIfPCsAMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739652246; a=rsa-sha256; cv=none; b=CpQa0tjfMmBX7F6XA2fFvLo2hT19A5WxyU8PhpWZfLWf2RgHWuBMUzlcY4jpLEpIXaLPxY y88y/DQxgacqT6z+llKWqBxfcvSrypiVZmi+5jQg7eo5saX4ud9icvB8hXXZ2DVaHu17JT GVxb1ruMygvfSlTCDv58FPUYHtjw2eEPB1IowZtzsd+JiiKlzQSUOt1dQcZvdtm3E7sMNx 2CzSbRAKOuXOWvwYes82/Y82tGT3gjJ7T41iD64woqkjmXLdfW1fK/ZK8QlscH3YS4I4Dj 4hubQ0137R3rzjDP0sozGuLZLC8IHKshibxrL8lLNQ/QdXprHfypCzck1ALs1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739652246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MwMVJ5IyuR7byCc/mHxkb0oafAGcSrZ/YY2ZjTypGu0=; b=mJS9xG0P8afiS4VyoQ+iIh9E5VusWGMX95cGBJDcErN/uCNKyqtWvz8og6YgiAp6eHQyLL x/Ras+AO7eRBo6UX56gvDi1uJqbKAo8U98dNIxxITv8tUYLyeY2r6MkY+2g0dDKm2zPthj Z6BrN12j5qKDAJOkU420iNgQk975U0IGwzSgqQmuJT2xTmkYzpmgeXyZ9yIyONDzAQtOyf jE4mkbes7HwEm1JK/Q3FlAeuTROr3E9zqOTTjfIbiD1W4+f5Jwsb0RW8Xi9SSJZDJtmZta Jn1ywkrgHTAEXjyfIx8nCh1kA18Pkmx5SkfM3AxSeZO111xURm0Xlf5prDgDfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwLVt0nWXz2Ch; Sat, 15 Feb 2025 20:44: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 51FKi68a001000; Sat, 15 Feb 2025 20:44:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FKi66c000997; Sat, 15 Feb 2025 20:44:06 GMT (envelope-from git) Date: Sat, 15 Feb 2025 20:44:06 GMT Message-Id: <202502152044.51FKi66c000997@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 0f10a33fc1b3 - main - ar40xx: fix to compile/run under the new ifnet rules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f10a33fc1b30b2eefd7f0278380875b2982e9a9 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=0f10a33fc1b30b2eefd7f0278380875b2982e9a9 commit 0f10a33fc1b30b2eefd7f0278380875b2982e9a9 Author: Adrian Chadd AuthorDate: 2025-02-02 22:17:03 +0000 Commit: Adrian Chadd CommitDate: 2025-02-15 20:43:42 +0000 ar40xx: fix to compile/run under the new ifnet rules Locally tested: * IPQ4018, Asus router, w/ ethernet driver Differential Revision: https://reviews.freebsd.org/D49025 Reviewed by: imp, zlei --- sys/dev/etherswitch/ar40xx/ar40xx_phy.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/etherswitch/ar40xx/ar40xx_phy.c b/sys/dev/etherswitch/ar40xx/ar40xx_phy.c index f27e7503eb28..aa02ef25ac7b 100644 --- a/sys/dev/etherswitch/ar40xx/ar40xx_phy.c +++ b/sys/dev/etherswitch/ar40xx/ar40xx_phy.c @@ -200,9 +200,9 @@ ar40xx_attach_phys(struct ar40xx_softc *sc) snprintf(name, IFNAMSIZ, "%sport", device_get_nameunit(sc->sc_dev)); for (phy = 0; phy < AR40XX_NUM_PHYS; phy++) { sc->sc_phys.ifp[phy] = if_alloc(IFT_ETHER); - sc->sc_phys.ifp[phy]->if_softc = sc; - sc->sc_phys.ifp[phy]->if_flags |= IFF_UP | IFF_BROADCAST | - IFF_DRV_RUNNING | IFF_SIMPLEX; + if_setsoftc(sc->sc_phys.ifp[phy], sc); + if_setflagbits(sc->sc_phys.ifp[phy], IFF_UP | IFF_BROADCAST | + IFF_DRV_RUNNING | IFF_SIMPLEX, 0); sc->sc_phys.ifname[phy] = malloc(strlen(name)+1, M_DEVBUF, M_WAITOK); bcopy(name, sc->sc_phys.ifname[phy], strlen(name)+1); @@ -215,7 +215,7 @@ ar40xx_attach_phys(struct ar40xx_softc *sc) device_printf(sc->sc_dev, "%s attached to pseudo interface %s\n", device_get_nameunit(sc->sc_phys.miibus[phy]), - sc->sc_phys.ifp[phy]->if_xname); + if_name(sc->sc_phys.ifp[phy])); if (err != 0) { device_printf(sc->sc_dev, "attaching PHY %d failed\n", From nobody Sat Feb 15 23:48:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwQbP6yhcz5nXKs; Sat, 15 Feb 2025 23:48: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwQbP0CMjz3Cyp; Sat, 15 Feb 2025 23:48:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739663297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mq7DtvkOZxkWJ+EkozKPfQl4nC0YzTdGWnMOK+H3ueo=; b=A45Yw4I3rYSHEimgRoDWUwGqVOJz02wJx0BLgZ9gg/6/Efmhvw+UVkNHk/iRnHEsRkRrOE yyaou3yTcOAf7y0UafNYo5dVUjPXwnKwNVi0xt8HmNvZJ2JtvjVk6fT6DoEc0PmWGIX/B1 pi1ayqwb/h75NCJpfRtbmrrw/jdgPviA/gh1WAlMnCsOET5CgVlkXbwRI5a5sQooa4Yr4z 2pd9ZGjLdtKnAfRHZqae9LiGBuCjuCXk/DwVvyEWygF/VYaPth+H2vBrD7D4tdUZ6eo5LP pkn+AZwq167MsH+e7N2te2djNHyhEptuMx2qUDqVryZp96e0vAMNayd+jlHyKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739663297; a=rsa-sha256; cv=none; b=qSPBVfQBJ6vaEfZeopMODeJFsQceY21JviNaOQHQkQnzOhaT23ooCXM7AQHWdGqitGmCiH TRkr4POz/V0buBVPSj3rNQiobLRjbsByAj3S2mNH5WCM2PHndFBpka5dLqIPYMiOedPUV9 hMy7jESL9FySj7gI5LQ6/jm9aeO952g8qOaxshwAmovT8dbfESD2ukyC8vtBN7penjJr0R rwCJSQ+KUNFY3fqYGGKnhkl7y5w1aQdsxee5vgVPQPu6Dht4SIFi00uCndIeTu+qaOrajh Twa4s5ARzAxT5pR7zUzP01XLtTae6Z0OVuDxF/KKlNSbJW3Sa+ErajEnLydTAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739663297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mq7DtvkOZxkWJ+EkozKPfQl4nC0YzTdGWnMOK+H3ueo=; b=czJwjsj1fysnwqorBRnZDFdwArpYKp7kGoWuEw9pcmzYvf4pWbxw4cjUAncVUK4s8TYFoH XPpIxGbYNHKL55sjRPhWY2t8JQE1JHNKDDsB+WYGpZKoxN5/WSwUv73ZukC9/bhDEFOUY5 t3pgHBqfIcAJ75VVpkBabcKhjgTwOTG3RXaKVh+Q9A+hewFrwVyVEjsFgdbmnTGg8GvRGG qsoynwRhdYo+XL+4PaitF1ZSxU0L3lOJxOx+GvrAKKpxWXhE/tvuoArK6HK1v4c+cNYEC0 6qq7IUjUakbrb5O00q50P2Qb+UM3an9VWELMumOEl7yo6E+8vCn0Rjchk6D4xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwQbN6YbKz71P; Sat, 15 Feb 2025 23:48: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 51FNmGhg040555; Sat, 15 Feb 2025 23:48:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FNmG5h040552; Sat, 15 Feb 2025 23:48:16 GMT (envelope-from git) Date: Sat, 15 Feb 2025 23:48:16 GMT Message-Id: <202502152348.51FNmG5h040552@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: c272abc5c6a7 - main - LinuxKPI: 802.11: adjust the hw_scan channel list List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c272abc5c6a72881f1252f069d79990201559d1a Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c272abc5c6a72881f1252f069d79990201559d1a commit c272abc5c6a72881f1252f069d79990201559d1a Author: Bjoern A. Zeeb AuthorDate: 2025-02-12 23:26:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 23:22:39 +0000 LinuxKPI: 802.11: adjust the hw_scan channel list Until net80211 will grow proper scan offload with the various options needed and will allow switching the scan engine try to improve the situation if we are doing a hw_scan and the device supports SINGLE_SCAN_ON_ALL_BANDS. In that case create the channel list from our device information of supported channels rather than from the net80211 scan list. Filter out currently unsupported bands. While the general "scan EBUSY" problem remains at least in my local testing I am seeing a lot more 2 and 5 GHz band results rather than being stuck on a single band (as was also often the case with iwm for me in the past). Tested by: rene (previous version) MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 61 +++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 9d601050ba69..8c1b9d73ab56 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1,6 +1,6 @@ /*- * Copyright (c) 2020-2024 The FreeBSD Foundation - * Copyright (c) 2020-2024 Bjoern A. Zeeb + * Copyright (c) 2020-2025 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -3267,7 +3267,6 @@ sw_scan: /* XXX want to adjust ss end time/ maxdwell? */ } else { - struct ieee80211_channel *c; struct ieee80211_scan_request *hw_req; struct linuxkpi_ieee80211_channel *lc, **cpp; struct cfg80211_ssid *ssids; @@ -3284,14 +3283,31 @@ sw_scan: band_mask = 0; nchan = 0; - for (i = ss->ss_next; i < ss->ss_last; i++) { - nchan++; - band = lkpi_net80211_chan_to_nl80211_band( - ss->ss_chans[ss->ss_next + i]); - band_mask |= (1 << band); - } - - if (!ieee80211_hw_check(hw, SINGLE_SCAN_ON_ALL_BANDS)) { + if (ieee80211_hw_check(hw, SINGLE_SCAN_ON_ALL_BANDS)) { +#if 0 /* Avoid net80211 scan lists until it has proper scan offload support. */ + for (i = ss->ss_next; i < ss->ss_last; i++) { + nchan++; + band = lkpi_net80211_chan_to_nl80211_band( + ss->ss_chans[ss->ss_next + i]); + band_mask |= (1 << band); + } +#else + /* Instead we scan for all channels all the time. */ + for (band = 0; band < NUM_NL80211_BANDS; band++) { + switch (band) { + case NL80211_BAND_2GHZ: + case NL80211_BAND_5GHZ: + break; + default: + continue; + } + if (hw->wiphy->bands[band] != NULL) { + nchan += hw->wiphy->bands[band]->n_channels; + band_mask |= (1 << band); + } + } +#endif + } else { IMPROVE("individual band scans not yet supported, only scanning first band"); /* In theory net80211 should drive this. */ /* Probably we need to add local logic for now; @@ -3345,9 +3361,11 @@ sw_scan: *(cpp + i) = (struct linuxkpi_ieee80211_channel *)(lc + i); } +#if 0 /* Avoid net80211 scan lists until it has proper scan offload support. */ for (i = 0; i < nchan; i++) { - c = ss->ss_chans[ss->ss_next + i]; + struct ieee80211_channel *c; + c = ss->ss_chans[ss->ss_next + i]; lc->hw_value = c->ic_ieee; lc->center_freq = c->ic_freq; /* XXX */ /* lc->flags */ @@ -3356,6 +3374,27 @@ sw_scan: /* lc-> ... */ lc++; } +#else + for (band = 0; band < NUM_NL80211_BANDS; band++) { + struct ieee80211_supported_band *supband; + struct linuxkpi_ieee80211_channel *channels; + + /* Band disabled for scanning? */ + if ((band_mask & (1 << band)) == 0) + continue; + + /* Nothing to scan in band? */ + supband = hw->wiphy->bands[band]; + if (supband == NULL || supband->n_channels == 0) + continue; + + channels = supband->channels; + for (i = 0; i < supband->n_channels; i++) { + *lc = channels[i]; + lc++; + } + } +#endif hw_req->req.n_ssids = ssid_count; if (hw_req->req.n_ssids > 0) { From nobody Sun Feb 16 00:01:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwQvB4Qv4z5nXvw; Sun, 16 Feb 2025 00:01: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwQvB0YlVz3MQY; Sun, 16 Feb 2025 00:01:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739664118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aP4+PqpD0yXGP7SAYj1tY1uhFjix4KBsuJiyFXK3yIU=; b=dlk4esUZhD12JFAv89NlvMOPIPVd1Y7cBETBQMUdGPRopvBxOzja1XceLIOYgFwFbpbCVL KHBhbj+Bqv5Jqc7ATfeB4L6iAnc+mXLVp1ZurHQaqQKawcmAtaIqshwHuUDZ+jVpqsSiqV auUF9D+zaN9IQQRiMLs+Pwua3j+W/7vWd2/5cu9i/XDjDmLCDxR04ZHWdYLR5sXFz90stk UBi8GSDVXdtMyFkY4fjxwBUu6y30D5su/XHiWB2zrTC3k3WhzIINt8DY8Uw3T1AIrf63lH pPI5e29p23sB+3uARhxMcSYpbkqtVUdlBAOfbW7o6mRCqkaXJe5xMERMIFOM/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739664118; a=rsa-sha256; cv=none; b=mGgiycvAm9Dmd9AbywuYHHBkKdG95oCtfEnVa99C3IrGumDH2TDYkKLRxyyB/qhHCPcLWi xAw6aBLEDQVQMm+JcL/ZGUiphy+t4qqIipXS1J3t/ddYCZOXACEcvbaJExDBbKwRy0EJlz Jv/8XTcWNUifqGf7UxgZcuKs+Rg5ela0KPbTlLi93aT51HKZWXJgzgzs5PqrTNAg1UEG2T vPx5o2GRiYVrzFO+VF7tQ7kkHQdm5ACFJcZNEXB2vGOJnYuyuTVUSsBRDTBn3gi3FObi4o xxX54S4817D26sjAiKTGArGMPZ+x85kQXFTJNU8gRSWn2cmV3Ir+BsvLaB6Ltg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739664118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aP4+PqpD0yXGP7SAYj1tY1uhFjix4KBsuJiyFXK3yIU=; b=O1lEeDyPaC6cY1cKa16781h5/AmKGnCxSeSsCHXal1QObPbj5bDiRDAyvKXv5PgDLj2cb1 4AqOyr7CJi8zxtsBC/saWE4gXc6JtEAGmGcYelIwV7UTgv10Dx19mJ6WOR2aXo4BCWn5/6 eQWlmLtcjnT/7T+UnbYJkIocSKGJPLNKFVkIjkd9n8CC1IRDkJKr+Y27vViCZyYAKQbvzl JYjoRGuLpur99JtNFmLpfZUyd0pwlGzr4RWFMPsoewn53AsS4wCvW5DnvxQdxPMWB6Lweb 7/KLeD7n+kAm6euM+6nopXdra1i2EX0W9JrOzXBwmq0Vtp3CCJkKMmf6XfYmyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwQvB06TCz7H5; Sun, 16 Feb 2025 00:01: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 51G01vkP075840; Sun, 16 Feb 2025 00:01:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G01v61075837; Sun, 16 Feb 2025 00:01:57 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:01:57 GMT Message-Id: <202502160001.51G01v61075837@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5778cbdae761 - main - LinuxKPI: 802.11: implement various VHT helper functions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5778cbdae7616c09efa6ccdd8c611d82cbc75f00 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5778cbdae7616c09efa6ccdd8c611d82cbc75f00 commit 5778cbdae7616c09efa6ccdd8c611d82cbc75f00 Author: Bjoern A. Zeeb AuthorDate: 2025-02-12 11:05:33 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 23:53:19 +0000 LinuxKPI: 802.11: implement various VHT helper functions Implement ieee80211_rate_set_vht(), ieee80211_rate_get_vht_{mcs,nss}(), and ieee80211_get_vht_max_nss(). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 136 +++++++++++++++++++--- 1 file changed, 118 insertions(+), 18 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 8872be569e44..f5d3e1036edc 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-2024 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * Copyright (c) 2020-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -1876,26 +1877,133 @@ ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, uint8_t *addr, /* -------------------------------------------------------------------------- */ -static __inline void -ieee80211_rate_set_vht(struct ieee80211_tx_rate *r, uint32_t f1, uint32_t f2) +static inline void +ieee80211_rate_set_vht(struct ieee80211_tx_rate *r, uint8_t mcs, uint8_t nss) { - TODO(); + + /* XXX-BZ make it KASSERTS? */ + if (((mcs & 0xF0) != 0) || (((nss - 1) & 0xf8) != 0)) { + printf("%s:%d: mcs %#04x nss %#04x invalid\n", + __func__, __LINE__, mcs, nss); + return; + } + + r->idx = mcs; + r->idx |= ((nss - 1) << 4); } -static __inline uint8_t +static inline uint8_t ieee80211_rate_get_vht_nss(struct ieee80211_tx_rate *r) { - TODO(); - return (0); + return (((r->idx >> 4) & 0x07) + 1); } -static __inline uint8_t +static inline uint8_t ieee80211_rate_get_vht_mcs(struct ieee80211_tx_rate *r) { - TODO(); - return (0); + return (r->idx & 0x0f); } +static inline int +ieee80211_get_vht_max_nss(struct ieee80211_vht_cap *vht_cap, + enum ieee80211_vht_chanwidth chanwidth, /* defined in net80211. */ + int mcs /* always 0 */, bool ext_nss_bw_cap /* always true */, int max_nss) +{ + enum ieee80211_vht_mcs_support mcs_s; + uint32_t supp_cw, ext_nss_bw; + + switch (mcs) { + case 0 ... 7: + mcs_s = IEEE80211_VHT_MCS_SUPPORT_0_7; + break; + case 8: + mcs_s = IEEE80211_VHT_MCS_SUPPORT_0_8; + break; + case 9: + mcs_s = IEEE80211_VHT_MCS_SUPPORT_0_9; + break; + default: + printf("%s: unsupported mcs value %d\n", __func__, mcs); + return (0); + } + + if (max_nss == 0) { + uint16_t map; + + map = le16toh(vht_cap->supp_mcs.rx_mcs_map); + for (int i = 7; i >= 0; i--) { + uint8_t val; + + val = (map >> (2 * i)) & 0x03; + if (val == IEEE80211_VHT_MCS_NOT_SUPPORTED) + continue; + if (val >= mcs_s) { + max_nss = i + 1; + break; + } + } + } + + if (max_nss == 0) + return (0); + + if ((le16toh(vht_cap->supp_mcs.tx_mcs_map) & + IEEE80211_VHT_EXT_NSS_BW_CAPABLE) == 0) + return (max_nss); + + supp_cw = le32_get_bits(vht_cap->vht_cap_info, + IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK); + ext_nss_bw = le32_get_bits(vht_cap->vht_cap_info, + IEEE80211_VHT_CAP_EXT_NSS_BW_MASK); + + /* If requested as ext nss not supported assume ext_nss_bw 0. */ + if (!ext_nss_bw_cap) + ext_nss_bw = 0; + + /* + * Cover 802.11-2016, Table 9-250. + */ + + /* Unsupported settings. */ + if (supp_cw == 3) + return (0); + if (supp_cw == 2 && (ext_nss_bw == 1 || ext_nss_bw == 2)) + return (0); + + /* Settings with factor != 1 or unsupported. */ + switch (chanwidth) { + case IEEE80211_VHT_CHANWIDTH_80P80MHZ: + if (supp_cw == 0 && (ext_nss_bw == 0 || ext_nss_bw == 1)) + return (0); + if (supp_cw == 1 && ext_nss_bw == 0) + return (0); + if ((supp_cw == 0 || supp_cw == 1) && ext_nss_bw == 2) + return (max_nss / 2); + if ((supp_cw == 0 || supp_cw == 1) && ext_nss_bw == 3) + return (3 * max_nss / 4); + break; + case IEEE80211_VHT_CHANWIDTH_160MHZ: + if (supp_cw == 0 && ext_nss_bw == 0) + return (0); + if (supp_cw == 0 && (ext_nss_bw == 1 || ext_nss_bw == 2)) + return (max_nss / 2); + if (supp_cw == 0 && ext_nss_bw == 3) + return (3 * max_nss / 4); + if (supp_cw == 1 && ext_nss_bw == 3) + return (2 * max_nss); + break; + case IEEE80211_VHT_CHANWIDTH_80MHZ: + case IEEE80211_VHT_CHANWIDTH_USE_HT: + if ((supp_cw == 1 || supp_cw == 2) && ext_nss_bw == 3) + return (2 * max_nss); + break; + } + + /* Everything else has a factor of 1. */ + return (max_nss); +} + + static __inline void ieee80211_reserve_tid(struct ieee80211_sta *sta, uint8_t tid) { @@ -2239,14 +2347,6 @@ ieee80211_beacon_update_cntdwn(struct ieee80211_vif *vif, uint32_t link_id) return (-1); } -static __inline int -ieee80211_get_vht_max_nss(struct ieee80211_vht_cap *vht_cap, uint32_t chanwidth, - int x, bool t, int nss) -{ - TODO(); - return (-1); -} - static __inline bool ieee80211_beacon_cntdwn_is_complete(struct ieee80211_vif *vif, uint32_t link_id) { From nobody Sun Feb 16 00:25:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwRQv2mPHz5nb0p; Sun, 16 Feb 2025 00:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwRQv2696z3b8N; Sun, 16 Feb 2025 00:25:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FDVxabVzw7b7TMNm7u+5yFx0vjlfOKbB6UkALCKyQKw=; b=Kb4PX5TuXcMIkjPU1TuAQ9dV9YWyo0eh9eI+NoZsJV1LFp/Upir0jGiLrEc/chgHiJ882I SqjurggLahN5eHNDWgWVKK4YdQVnBiSX+w51w8OD/dpP9diIy9mlm6HeSudHHe16+DZ7Ae 0phxwbjtTkITK8Yc21LuBY4XhkB03JakKREn+2tWYoC7aP8hqJtWYWQXCIvJMyBKRPl4fG 8gBZ9XKenU4pSVqMO8VTMZSKdEnALV76OilnZC14HwyituaCKVY+26qylnC76m+IzUnPJ5 r3wEtEWxgM7fqLHDrludaLGb8TeXF44hJw3nymSRgRUZf1Zn4D4mQWYHtQKEwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739665559; a=rsa-sha256; cv=none; b=NSAqvtV6tgfSQP71/8vhIZtxzVlzdmVIGk5K6Dd39chsHQNM2zkof23nBUmcmwtKFF+qdd waMEpQjplA7/LFJT3KI4sIV9oBqF77KNsTVRONpVFOQtuhsa17Vdrs8sJskwefUKcQzKsa 313Afa8/3nicJRCxg9tSIeItsZjMTE+RbNvCCV5UQRXVr4UwpBkl9PShJAp5/xdNIMQht9 0nAAhrWOitvY3N6NofMmZiBWA6PY7r+bAx+SsYdw73aOARblHD404TvmK0CGsdbxl2N+bZ RXn1VEMkGk3p6V26kRermdI6rRWAu6F/jTVAqKxoII/n3XQYqessRSDOlERikA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FDVxabVzw7b7TMNm7u+5yFx0vjlfOKbB6UkALCKyQKw=; b=IokoCcevn9az86ifr74oUqiCqDYSvZ6Etz33VDwyAuUZl0I1n1meQu7wGwXLKWuX2ixUYQ VCZiCIGnL3ss9BUMm5xbgJseYzPvg8Q6fpPsYhFtCot+OMca5EMt9J39dneEgb5LXIYEWz Et6rcsjf8DxlPkbtqyFhTw3deQTVBV+HdFqxT83Ly7Rd3ZdbsS/WoWrU/OcB8OS+OmVNjX DRHH3tazF2nnuzjzxHV9cHToynb4q3PHWAjXTpJWV4HQbQsjDAsQRk83I4YJd1GBgqIZw/ RacgBQd0WvTN6dRVo+c0n1mX/UCydLwW1i7rjyCUIzV+5m/eBYTMJx1U7SeqwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwRQv1h0wz89b; Sun, 16 Feb 2025 00:25: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 51G0PxdI016247; Sun, 16 Feb 2025 00:25:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G0PxBd016244; Sun, 16 Feb 2025 00:25:59 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:25:59 GMT Message-Id: <202502160025.51G0PxBd016244@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: c34817d9aef7 - stable/14 - ixgbe: Add support for 1000BASE-BX SFP modules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: c34817d9aef7e97578f5ccb0b24381f5b4b9013f Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=c34817d9aef7e97578f5ccb0b24381f5b4b9013f commit c34817d9aef7e97578f5ccb0b24381f5b4b9013f Author: Tore Amundsen AuthorDate: 2024-11-06 21:31:01 +0000 Commit: Kevin Bowling CommitDate: 2025-02-16 00:25:04 +0000 ixgbe: Add support for 1000BASE-BX SFP modules Add support for 1Gbit BiDi modules Signed-off-by: Tore Amundsen Relnotes: yes Pull Request: https://github.com/freebsd/freebsd-src/pull/1518 (cherry picked from commit 89d4096950c4db748e39758c941cfb708c2ff808) --- sys/dev/ixgbe/if_ix.c | 5 ++++- sys/dev/ixgbe/ixgbe_82599.c | 4 +++- sys/dev/ixgbe/ixgbe_phy.c | 23 +++++++++++++++++++---- sys/dev/ixgbe/ixgbe_phy.h | 2 ++ sys/dev/ixgbe/ixgbe_type.h | 2 ++ 5 files changed, 30 insertions(+), 6 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index e94e120e27f9..959afa79e7da 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -1424,8 +1424,10 @@ ixgbe_add_media_types(if_ctx_t ctx) ifmedia_add(sc->media, IFM_ETHER | IFM_2500_SX, 0, NULL); } #endif - if (layer & IXGBE_PHYSICAL_LAYER_1000BASE_BX) + if (layer & IXGBE_PHYSICAL_LAYER_1000BASE_BX) { device_printf(dev, "Media supported: 1000baseBX\n"); + ifmedia_add(sc->media, IFM_ETHER | IFM_1000_BX, 0, NULL); + } if (hw->device_id == IXGBE_DEV_ID_82598AT) { ifmedia_add(sc->media, IFM_ETHER | IFM_1000_T | IFM_FDX, @@ -2567,6 +2569,7 @@ ixgbe_if_media_change(if_ctx_t ctx) #endif case IFM_1000_LX: case IFM_1000_SX: + case IFM_1000_BX: speed |= IXGBE_LINK_SPEED_1GB_FULL; break; case IFM_1000_T: diff --git a/sys/dev/ixgbe/ixgbe_82599.c b/sys/dev/ixgbe/ixgbe_82599.c index b2b40371648b..50902c6c356d 100644 --- a/sys/dev/ixgbe/ixgbe_82599.c +++ b/sys/dev/ixgbe/ixgbe_82599.c @@ -435,7 +435,9 @@ s32 ixgbe_get_link_capabilities_82599(struct ixgbe_hw *hw, hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1) { *speed = IXGBE_LINK_SPEED_1GB_FULL; *autoneg = true; goto out; diff --git a/sys/dev/ixgbe/ixgbe_phy.c b/sys/dev/ixgbe/ixgbe_phy.c index ea815c6c88e5..2a735ead9a12 100644 --- a/sys/dev/ixgbe/ixgbe_phy.c +++ b/sys/dev/ixgbe/ixgbe_phy.c @@ -1423,6 +1423,13 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) else hw->phy.sfp_type = ixgbe_sfp_type_1g_lx_core1; + } else if (comp_codes_1g & IXGBE_SFF_BASEBX10_CAPABLE) { + if (hw->bus.lan_id == 0) + hw->phy.sfp_type = + ixgbe_sfp_type_1g_bx_core0; + else + hw->phy.sfp_type = + ixgbe_sfp_type_1g_bx_core1; } else { hw->phy.sfp_type = ixgbe_sfp_type_unknown; } @@ -1513,7 +1520,9 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1)) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1)) { hw->phy.type = ixgbe_phy_sfp_unsupported; status = IXGBE_ERR_SFP_NOT_SUPPORTED; goto out; @@ -1532,7 +1541,9 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1)) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1)) { /* Make sure we're a supported PHY type */ if (hw->phy.type == ixgbe_phy_sfp_intel) { status = IXGBE_SUCCESS; @@ -1615,6 +1626,8 @@ u64 ixgbe_get_supported_phy_sfp_layer_generic(struct ixgbe_hw *hw) physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_T; else if (comp_codes_1g & IXGBE_SFF_1GBASESX_CAPABLE) physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_SX; + else if (comp_codes_1g & IXGBE_SFF_BASEBX10_CAPABLE) + physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_BX; break; case ixgbe_phy_qsfp_intel: case ixgbe_phy_qsfp_unknown: @@ -1863,12 +1876,14 @@ s32 ixgbe_get_sfp_init_sequence_offsets(struct ixgbe_hw *hw, if (sfp_type == ixgbe_sfp_type_da_act_lmt_core0 || sfp_type == ixgbe_sfp_type_1g_lx_core0 || sfp_type == ixgbe_sfp_type_1g_cu_core0 || - sfp_type == ixgbe_sfp_type_1g_sx_core0) + sfp_type == ixgbe_sfp_type_1g_sx_core0 || + sfp_type == ixgbe_sfp_type_1g_bx_core0) sfp_type = ixgbe_sfp_type_srlr_core0; else if (sfp_type == ixgbe_sfp_type_da_act_lmt_core1 || sfp_type == ixgbe_sfp_type_1g_lx_core1 || sfp_type == ixgbe_sfp_type_1g_cu_core1 || - sfp_type == ixgbe_sfp_type_1g_sx_core1) + sfp_type == ixgbe_sfp_type_1g_sx_core1 || + sfp_type == ixgbe_sfp_type_1g_bx_core1) sfp_type = ixgbe_sfp_type_srlr_core1; /* Read offset to PHY init contents */ diff --git a/sys/dev/ixgbe/ixgbe_phy.h b/sys/dev/ixgbe/ixgbe_phy.h index 1fa2acb77354..c1ba73851397 100644 --- a/sys/dev/ixgbe/ixgbe_phy.h +++ b/sys/dev/ixgbe/ixgbe_phy.h @@ -49,6 +49,7 @@ #define IXGBE_SFF_1GBE_COMP_CODES 0x6 #define IXGBE_SFF_10GBE_COMP_CODES 0x3 #define IXGBE_SFF_CABLE_TECHNOLOGY 0x8 +#define IXGBE_SFF_BITRATE_NOMINAL 0xC #define IXGBE_SFF_CABLE_SPEC_COMP 0x3C #define IXGBE_SFF_SFF_8472_SWAP 0x5C #define IXGBE_SFF_SFF_8472_COMP 0x5E @@ -73,6 +74,7 @@ #define IXGBE_SFF_1GBASET_CAPABLE 0x8 #define IXGBE_SFF_10GBASESR_CAPABLE 0x10 #define IXGBE_SFF_10GBASELR_CAPABLE 0x20 +#define IXGBE_SFF_BASEBX10_CAPABLE 0x40 #define IXGBE_SFF_SOFT_RS_SELECT_MASK 0x8 #define IXGBE_SFF_SOFT_RS_SELECT_10G 0x8 #define IXGBE_SFF_SOFT_RS_SELECT_1G 0x0 diff --git a/sys/dev/ixgbe/ixgbe_type.h b/sys/dev/ixgbe/ixgbe_type.h index a414e27142ec..91b46da72c75 100644 --- a/sys/dev/ixgbe/ixgbe_type.h +++ b/sys/dev/ixgbe/ixgbe_type.h @@ -3807,6 +3807,8 @@ enum ixgbe_sfp_type { ixgbe_sfp_type_1g_sx_core1 = 12, ixgbe_sfp_type_1g_lx_core0 = 13, ixgbe_sfp_type_1g_lx_core1 = 14, + ixgbe_sfp_type_1g_bx_core0 = 15, + ixgbe_sfp_type_1g_bx_core1 = 16, ixgbe_sfp_type_not_present = 0xFFFE, ixgbe_sfp_type_unknown = 0xFFFF }; From nobody Sun Feb 16 00:26:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwRQw6vq4z5nb5b; Sun, 16 Feb 2025 00:26: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwRQw4XM1z3bBg; Sun, 16 Feb 2025 00:26:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SrjXeYsb48Gu8y0yP7HhkJPDQNdxSikJsGt+jXdyA7E=; b=gQ9RLldJZdp0CsfzCONq+NExI1tw8wS6RBeMGWzBtU8bUUmyYJz0Q6SBP1UQYBRano4cgE XReIVPNimZ5CRBObgFrlcs20qI3Hhzfe9+UsmXRx/zI8IVRvm6dGheq0wnFPHNeeLM7qId W2qxg5531CZndiEeQdsN7sx14Ok0WW2q4xgjJSqVaS2nr5lwYLkcH+9OD2K9S6k36R6dz6 MxYMiRcmPur7vo68kTFkRjBTcQT/e1RIwdT/+ADaQFJ/CreAN5fx8LrjEQxGWf7CqH14HH +Rh3OJdYeCvzzOsZx6BaGkaQj+mVie3bkXNubM5LCPUt5et5I28ZwyIcCvO8sQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739665560; a=rsa-sha256; cv=none; b=EHGansYCW8ixM9BEyvWOVuMIxZse6aC2dLI/DHQlniq9SWLnP/6SRCIjn8Y+RhQNr3hwHl BlH+5XkQWNFYSJSOqIWCYQDVN/hR2IIPqKt+c+qsinAK5PDJ6eYbpi4xq2nW5Vud+Z52bW SZJHD8jizX5i026VVSd+ODeyCdIDU4Zv4sKyRlLNLHVI7nGV08bE3syzfslzzGVad8k9Y3 w4pA6DlsA81djP2kmkmSVnYp40ZNRQXlsLcno5D7PnZfdm3tqXTU4s966ArCBHUzjbY0Xu tHtXfoj26g4YzohJWm+Wb1alFFEyE6h/o9mJy4ONkXWAUkCKURKBWf3D3e+AUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SrjXeYsb48Gu8y0yP7HhkJPDQNdxSikJsGt+jXdyA7E=; b=GYh9OhYH6Pr0c3Ugcs45b2La/jaM443xA4EgPMthFRM5BtAYD0jmxqhUJH/M7gkzUWxhsu OVo0E/YWbVdUYVPMTU6jzX3B1y13kE5sPf4TZOInrMqKlYSa8LdnL53wt/woDpcXHljeWJ PPMiDy2HrMH4FY2ddCIJKQV6MiPIIM1XLQ9SroA6oMYrIKJZ9lnDHHOTaiXOPVoXF6ECCN ea9wn39yVexnqrImPM/opw1Yw2SvYL/Y8y+f5GUwMbUsvLV8w7tLiiZwQwZCNQX15r87p8 HM87xpPaYF2zbddNuIuXR1zSRGmNHLdGBZXfIvFOwVJj1JXSp65g+mqcjlDjaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwRQw3K9xz85C; Sun, 16 Feb 2025 00:26: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 51G0Q0xC016288; Sun, 16 Feb 2025 00:26:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G0Q0an016285; Sun, 16 Feb 2025 00:26:00 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:26:00 GMT Message-Id: <202502160026.51G0Q0an016285@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: ecbef369b33a - stable/14 - e1000: Fix vlan PCP/DEI on lem(4) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: ecbef369b33af759995d9f3f49e38ddda823c7c6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=ecbef369b33af759995d9f3f49e38ddda823c7c6 commit ecbef369b33af759995d9f3f49e38ddda823c7c6 Author: Aurelien Cazuc AuthorDate: 2025-02-13 18:08:42 +0000 Commit: Kevin Bowling CommitDate: 2025-02-16 00:25:26 +0000 e1000: Fix vlan PCP/DEI on lem(4) The vlan PCP and CFI/DEI were discarded when receiving vlan tagged packets on lem(4) interfaces with vlanhwtag. According to the 82540 SDM[1] (pg. 24), vlan tag is in the standard format, so there's no reason to discard PCP/DEI. [1]: http://iommu.com/datasheets/ethernet/controllers-nics/intel/e1000/pci-pci-x-family-gbe-controllers-software-dev-manual.pdf Sponsored by: Stormshield (author) Differential Revision: https://reviews.freebsd.org/D48987 (cherry picked from commit 4b29599fbbe33b75b7b58cfc5deea7a881e9a10e) --- sys/dev/e1000/e1000_defines.h | 1 - sys/dev/e1000/em_txrx.c | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/e1000/e1000_defines.h b/sys/dev/e1000/e1000_defines.h index 92f676932636..f1b1008764a1 100644 --- a/sys/dev/e1000/e1000_defines.h +++ b/sys/dev/e1000/e1000_defines.h @@ -130,7 +130,6 @@ #define E1000_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define E1000_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define E1000_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define E1000_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define E1000_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define E1000_RXDEXT_STATERR_LB 0x00040000 diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index edbe0f8ab546..ced8d0f41d14 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -710,8 +710,7 @@ lem_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri) if (scctx->isc_capenable & IFCAP_VLAN_HWTAGGING && status & E1000_RXD_STAT_VP) { - ri->iri_vtag = - le16toh(rxd->special & E1000_RXD_SPC_VLAN_MASK); + ri->iri_vtag = le16toh(rxd->special); ri->iri_flags |= M_VLANTAG; } From nobody Sun Feb 16 00:26:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwRQy1Y6Vz5nZXV; Sun, 16 Feb 2025 00:26: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwRQx3gyZz3Zs5; Sun, 16 Feb 2025 00:26:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zvdcWWYMogM8tKagMxRhouF4XDvL5nzxbw8j5fqlBY0=; b=Ol0OFPshy34R35Oq982zuHspC6SEN8gfPp/l+VQAKY+rVH2G5OVtUgwezt2S3vJVemfvfe L+7XU5YSLRIAxru+JaNxEPuf/FdviRIM7XKyVrNW9wwkTe7nQVNifSM7x2vTnokXCm9onR ksrVF4o7GKHsh/+GekF5YFUBf/oiVrkyhvosHVaqRuslEVlEF572/9X4yoWP57eE7Uz5zJ fWGkZj7ZtgiyvRiT+JrmyxD1Cgep6+3uKSst06//OwkLoUwNizpmIw55WbejUpGjs5VV2I 0vT+v6YII00QGh2spTsgvGF39l05WTKT80UdUfvOtYWHAqYyGMl1s1jiZcKnqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739665561; a=rsa-sha256; cv=none; b=aHH1YgL49MzMsFHtEDcp5/Aq4ZglPCiSewvTAlWlYB6eSzz+JlBnWeteC71sX3VfKS6J4Q DIE59RUXmlXSlu683vHY78pnc5jY/2A0oXiUgUBFgmY5PXWfkzaCt9UIlwgzCP73ejIVjP BXP5sfK1cHhFzanIxoQLzShIb1wDiwMx+pNfKgIQxbmM+6yuMgmSHw4UNFyWzr+DkRfcKg HWJ+3sOjZR20/FvW/CywW5IaH+1BA7fYmf5eh7Kny6SzSVa3CcgZfiQROGu4gClG03Lg7e 7vzdt+oeaLDazaaGXDbsZu4rtO99QH+St/JjWQvgaj8Rp0iEXk9Xjr+lyMye3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zvdcWWYMogM8tKagMxRhouF4XDvL5nzxbw8j5fqlBY0=; b=ba/YHpkq8SpPAVNdWhktxLYq8YMoHWKBkmBLizicXNi8CEaajqJKUF4xY9nBOZ+CuJewQm Db89gVaI64u0HahKx0a1RnjuIusUB0CL1w+x0k3ca7flF6cUe+6zwO7NAEN2uVq0oZ6S7X uO84PKc8uYrXFoZSlzyH7ITPA+bYXNFTaQO/oeVmYycqot9nz9Ss/skxwKB3IfI343eyXN /llE+qp8VmJV7zP36JzLJ53xjHeNgSLM3gILGB4rXwV49oUHnrEoScUft1RTyqfsVhepH/ H0n6/3u29RfqdD/CIdrCcLPmjwvw85ECrekahTntV1NoH+5/tUWUZgZ14L2RKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwRQx38ndz85D; Sun, 16 Feb 2025 00:26: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 51G0Q1g0016332; Sun, 16 Feb 2025 00:26:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G0Q1N7016329; Sun, 16 Feb 2025 00:26:01 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:26:01 GMT Message-Id: <202502160026.51G0Q1N7016329@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: 07e712e4d1f0 - stable/14 - igc: Remove unused register IGC_RXD_SPC_VLAN_MASK List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: 07e712e4d1f0e0227c774a9621035b949deb5aae Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=07e712e4d1f0e0227c774a9621035b949deb5aae commit 07e712e4d1f0e0227c774a9621035b949deb5aae Author: Kevin Bowling AuthorDate: 2025-02-13 18:22:50 +0000 Commit: Kevin Bowling CommitDate: 2025-02-16 00:25:41 +0000 igc: Remove unused register IGC_RXD_SPC_VLAN_MASK We don't use legacy receive descriptors and masking out the vlan ID isn't necessary since the tag is in the standard format, so remove it. (cherry picked from commit 124b7722aad7d4cf12d96c030659aef78175aa9c) --- sys/dev/igc/igc_defines.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/igc/igc_defines.h b/sys/dev/igc/igc_defines.h index e9ebd23c41c3..09f75fe2787e 100644 --- a/sys/dev/igc/igc_defines.h +++ b/sys/dev/igc/igc_defines.h @@ -96,7 +96,6 @@ #define IGC_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define IGC_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define IGC_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define IGC_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define IGC_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define IGC_RXDEXT_STATERR_LB 0x00040000 From nobody Sun Feb 16 00:27:01 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwRS54V6Lz5nb3J; Sun, 16 Feb 2025 00:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwRS53H93z3cSq; Sun, 16 Feb 2025 00:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqgkJRufyvG1Y10W3mTWiu3Sc+y2g2UsfyBxoEjew4w=; b=Gss0heidl3cpbxrEVf2I5SLxgaWuz1tjB8AkpGrERAesi0XzlsKikIdrvJ65gnqVXtbA/a NgDa0Zx0JN2la3Fwoy+ItSwCJVtoYjlvWNllafki9CHLkgvEHHUce40yT4zR75xKVo+OOy XL1ffatY4JryaaUD5wJztfIJ5cWuFA7IkVhWLwSctkrRx9m2LuyB9F4Wu1CCoLaSsH8hBy JYb5WiQ/2FexCHo7tGju8O5Gd96VGuSZ7+uDlA0OxmhO2TBgSS4kmmKLXyPMdXipoMn0Sl r8+aNf3EQJV6jqp+AcSjgdUHTgqZkaiDZpSL36XPLVR04hWj49q4CbsPRPotlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739665621; a=rsa-sha256; cv=none; b=ZM3nZ1t2D6iA+0Q44sCeEea/8RkZHNU1tuYkp8VU8zkhlyrAD1gmzvRhGeqmuae/0qNk90 gwoy6fAYJTHAUIY2EYptsX6Y683o9e1ddeZxdSxOOfj5zR7nrIV7rWmVOBIwNis+zoqIwK ZhOZz724ktRkJXxo4EUxmfxgk5hTQSJASC+SQc/p944gu1rDChq33/6w57OhYfpDsoIblY NRzedgt3ym1BwT7HCVofN+r4Elm6WucOGFmT/KqCsd8U5pe2oZ3tJh5PPq+MPm3+uT0CLl IB/41z3Vv9Y2loW29Qf7DHKM43ZvuLGGMrQ9NsmFEfVJNQEg2fnPCiETFq5gWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqgkJRufyvG1Y10W3mTWiu3Sc+y2g2UsfyBxoEjew4w=; b=rfGTHA0bb8Cm2Tt8xu7D8ez5VzxXq/E/VQAMYL4FwKPMb4J8jlgonVZDzYHOzgrctDPmmA LG2ILM1GaPOwBsNWUcH/f6NRiMNceFwKgQ8NmxrKejjEyN8xP1sGHEsSrgNSsnPHbaUHxq h/w8ksg3eLTrtun/rcuTxRVILSEHo7aLf/geOTnmF2ycVaNQgypGECKHp1Le+aUNrTcvYd RkXPDrI0Yl4iMH87uo6YGO0EDHyekT4bsKgmjXVYMJ1hWR/JEG/7akS1W7TeyVsAk+qSv8 jF8e4LaQ+vc8AYQlXhtP8tuKnTTneDnpRDmVtyyXvKHR2fP4kivy/1KrJH7QtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwRS52mfqz7wX; Sun, 16 Feb 2025 00:27: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 51G0R1xo016761; Sun, 16 Feb 2025 00:27:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G0R1UM016756; Sun, 16 Feb 2025 00:27:01 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:27:01 GMT Message-Id: <202502160027.51G0R1UM016756@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: b26592d87dbe - stable/13 - ixgbe: Add support for 1000BASE-BX SFP modules List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: b26592d87dbedb202b4b75f8515165deb7e234d0 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=b26592d87dbedb202b4b75f8515165deb7e234d0 commit b26592d87dbedb202b4b75f8515165deb7e234d0 Author: Tore Amundsen AuthorDate: 2024-11-06 21:31:01 +0000 Commit: Kevin Bowling CommitDate: 2025-02-16 00:26:26 +0000 ixgbe: Add support for 1000BASE-BX SFP modules Add support for 1Gbit BiDi modules Signed-off-by: Tore Amundsen Relnotes: yes Pull Request: https://github.com/freebsd/freebsd-src/pull/1518 (cherry picked from commit 89d4096950c4db748e39758c941cfb708c2ff808) --- sys/dev/ixgbe/if_ix.c | 5 ++++- sys/dev/ixgbe/ixgbe_82599.c | 4 +++- sys/dev/ixgbe/ixgbe_phy.c | 23 +++++++++++++++++++---- sys/dev/ixgbe/ixgbe_phy.h | 2 ++ sys/dev/ixgbe/ixgbe_type.h | 2 ++ 5 files changed, 30 insertions(+), 6 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 313f95c82713..641689d3e065 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -1425,8 +1425,10 @@ ixgbe_add_media_types(if_ctx_t ctx) ifmedia_add(sc->media, IFM_ETHER | IFM_2500_SX, 0, NULL); } #endif - if (layer & IXGBE_PHYSICAL_LAYER_1000BASE_BX) + if (layer & IXGBE_PHYSICAL_LAYER_1000BASE_BX) { device_printf(dev, "Media supported: 1000baseBX\n"); + ifmedia_add(sc->media, IFM_ETHER | IFM_1000_BX, 0, NULL); + } if (hw->device_id == IXGBE_DEV_ID_82598AT) { ifmedia_add(sc->media, IFM_ETHER | IFM_1000_T | IFM_FDX, @@ -2568,6 +2570,7 @@ ixgbe_if_media_change(if_ctx_t ctx) #endif case IFM_1000_LX: case IFM_1000_SX: + case IFM_1000_BX: speed |= IXGBE_LINK_SPEED_1GB_FULL; break; case IFM_1000_T: diff --git a/sys/dev/ixgbe/ixgbe_82599.c b/sys/dev/ixgbe/ixgbe_82599.c index b2b40371648b..50902c6c356d 100644 --- a/sys/dev/ixgbe/ixgbe_82599.c +++ b/sys/dev/ixgbe/ixgbe_82599.c @@ -435,7 +435,9 @@ s32 ixgbe_get_link_capabilities_82599(struct ixgbe_hw *hw, hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1) { *speed = IXGBE_LINK_SPEED_1GB_FULL; *autoneg = true; goto out; diff --git a/sys/dev/ixgbe/ixgbe_phy.c b/sys/dev/ixgbe/ixgbe_phy.c index ea815c6c88e5..2a735ead9a12 100644 --- a/sys/dev/ixgbe/ixgbe_phy.c +++ b/sys/dev/ixgbe/ixgbe_phy.c @@ -1423,6 +1423,13 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) else hw->phy.sfp_type = ixgbe_sfp_type_1g_lx_core1; + } else if (comp_codes_1g & IXGBE_SFF_BASEBX10_CAPABLE) { + if (hw->bus.lan_id == 0) + hw->phy.sfp_type = + ixgbe_sfp_type_1g_bx_core0; + else + hw->phy.sfp_type = + ixgbe_sfp_type_1g_bx_core1; } else { hw->phy.sfp_type = ixgbe_sfp_type_unknown; } @@ -1513,7 +1520,9 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1)) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1)) { hw->phy.type = ixgbe_phy_sfp_unsupported; status = IXGBE_ERR_SFP_NOT_SUPPORTED; goto out; @@ -1532,7 +1541,9 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1)) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1)) { /* Make sure we're a supported PHY type */ if (hw->phy.type == ixgbe_phy_sfp_intel) { status = IXGBE_SUCCESS; @@ -1615,6 +1626,8 @@ u64 ixgbe_get_supported_phy_sfp_layer_generic(struct ixgbe_hw *hw) physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_T; else if (comp_codes_1g & IXGBE_SFF_1GBASESX_CAPABLE) physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_SX; + else if (comp_codes_1g & IXGBE_SFF_BASEBX10_CAPABLE) + physical_layer = IXGBE_PHYSICAL_LAYER_1000BASE_BX; break; case ixgbe_phy_qsfp_intel: case ixgbe_phy_qsfp_unknown: @@ -1863,12 +1876,14 @@ s32 ixgbe_get_sfp_init_sequence_offsets(struct ixgbe_hw *hw, if (sfp_type == ixgbe_sfp_type_da_act_lmt_core0 || sfp_type == ixgbe_sfp_type_1g_lx_core0 || sfp_type == ixgbe_sfp_type_1g_cu_core0 || - sfp_type == ixgbe_sfp_type_1g_sx_core0) + sfp_type == ixgbe_sfp_type_1g_sx_core0 || + sfp_type == ixgbe_sfp_type_1g_bx_core0) sfp_type = ixgbe_sfp_type_srlr_core0; else if (sfp_type == ixgbe_sfp_type_da_act_lmt_core1 || sfp_type == ixgbe_sfp_type_1g_lx_core1 || sfp_type == ixgbe_sfp_type_1g_cu_core1 || - sfp_type == ixgbe_sfp_type_1g_sx_core1) + sfp_type == ixgbe_sfp_type_1g_sx_core1 || + sfp_type == ixgbe_sfp_type_1g_bx_core1) sfp_type = ixgbe_sfp_type_srlr_core1; /* Read offset to PHY init contents */ diff --git a/sys/dev/ixgbe/ixgbe_phy.h b/sys/dev/ixgbe/ixgbe_phy.h index 1fa2acb77354..c1ba73851397 100644 --- a/sys/dev/ixgbe/ixgbe_phy.h +++ b/sys/dev/ixgbe/ixgbe_phy.h @@ -49,6 +49,7 @@ #define IXGBE_SFF_1GBE_COMP_CODES 0x6 #define IXGBE_SFF_10GBE_COMP_CODES 0x3 #define IXGBE_SFF_CABLE_TECHNOLOGY 0x8 +#define IXGBE_SFF_BITRATE_NOMINAL 0xC #define IXGBE_SFF_CABLE_SPEC_COMP 0x3C #define IXGBE_SFF_SFF_8472_SWAP 0x5C #define IXGBE_SFF_SFF_8472_COMP 0x5E @@ -73,6 +74,7 @@ #define IXGBE_SFF_1GBASET_CAPABLE 0x8 #define IXGBE_SFF_10GBASESR_CAPABLE 0x10 #define IXGBE_SFF_10GBASELR_CAPABLE 0x20 +#define IXGBE_SFF_BASEBX10_CAPABLE 0x40 #define IXGBE_SFF_SOFT_RS_SELECT_MASK 0x8 #define IXGBE_SFF_SOFT_RS_SELECT_10G 0x8 #define IXGBE_SFF_SOFT_RS_SELECT_1G 0x0 diff --git a/sys/dev/ixgbe/ixgbe_type.h b/sys/dev/ixgbe/ixgbe_type.h index a414e27142ec..91b46da72c75 100644 --- a/sys/dev/ixgbe/ixgbe_type.h +++ b/sys/dev/ixgbe/ixgbe_type.h @@ -3807,6 +3807,8 @@ enum ixgbe_sfp_type { ixgbe_sfp_type_1g_sx_core1 = 12, ixgbe_sfp_type_1g_lx_core0 = 13, ixgbe_sfp_type_1g_lx_core1 = 14, + ixgbe_sfp_type_1g_bx_core0 = 15, + ixgbe_sfp_type_1g_bx_core1 = 16, ixgbe_sfp_type_not_present = 0xFFFE, ixgbe_sfp_type_unknown = 0xFFFF }; From nobody Sun Feb 16 00:27:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwRS72JClz5nb6n; Sun, 16 Feb 2025 00:27: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwRS64f7hz3cSt; Sun, 16 Feb 2025 00:27:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZTXfTqvOcywHSwltP/J8TCRjy6sGlJQd7foVTwnJ8Wk=; b=Gm8Fgs/+vQy11VEu0443PR7nHblksHj5ACvL1NpbzP/Js+zyOTji51B+pQm0NGeChySa9q rjCEtc8QkRWc0OhTSM2wRv4sNbpFNyOOnB/flcPPrUGpsvvrYhsAF0CwoiUMuriofiZNsp z7PNoLeWi1tkoJkyRVRzBxEW3JD3ay9XxRiWl/aQbjLZQrNelMqp2q5brrHShMh4XQcKAY 01aUhnTbitrpPwEyLVyG3Rk5N61sNHBlxCQLrqViS+vwEvSWHYWDVQB8NiX6I7GlvynJo/ yZH7pOvTmCp1AHcXzrEuQdu58jgi9dAvCqJxCAt1FLkXfiNvwdw2XGX/HWA6aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739665622; a=rsa-sha256; cv=none; b=En5jbZ3ONm6YG1nS8Tpt//PVfo9KwvM0xeIN9ImWau2WEUK4vwG94sPK3IviqreFB2QuP5 IHqeU+O73RJme1kQ6vbFjAawM+1dG/d7mDQ6DYnPXdxKrVR2S8HuKdrN0jOulpterurs/5 VR7UC69Z/tv2p5dwrYHoJ772s6qKfUy0v/7fXWQ2ESPJLjRS1H6f65/v9tW04hhcCjybAE yFRJRbthyJ9FCCse2m1Pqc1JWc6Grs0Ie6yXIqPrdKteQ4g/o7YjvLDVfHfUSB2gzoEWb+ 6jmHey3CJ0AFo8fHVyrrK8dkawhCpMi005dd1s7oY1xcfN/zxk+9EZ7c/IGMyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZTXfTqvOcywHSwltP/J8TCRjy6sGlJQd7foVTwnJ8Wk=; b=g6WgLNdgjRH6HzXyBabGVhcbfxdf2EQ7VT2iLEIbxJgJUSTOZLnbGWc0GzJ3p0QAcRx65V g/AFsQe9Pmz/8SPNpN5inVNq/bleq2RCpe10moxTy7XOiX6UdODriBsBkpegC2eAGaDnyb 20yXUzoY3ox22/Nu0OqXc+N0PnO3EGUmn7znRNvrbJ7vo24miGtitkcBPx754fzMy4uB6q 2YPeVeuVapWgPpha4La0ftjBGPuxPkDW7wt/FtVKQ78EPeFVjRs0tj5adWt1wK4MwaJu4N uhJDg14eiFJHzmIGrBai/F/9k3s06zk6SjTao+1dK6YolrseTP0gOM8gHWpCew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwRS63tJjz85F; Sun, 16 Feb 2025 00:27: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 51G0R2MK016795; Sun, 16 Feb 2025 00:27:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G0R2tl016792; Sun, 16 Feb 2025 00:27:02 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:27:02 GMT Message-Id: <202502160027.51G0R2tl016792@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: e812e4d86d28 - stable/13 - e1000: Fix vlan PCP/DEI on lem(4) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: e812e4d86d283ea65c6275e20b23bbddb9bd97d8 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=e812e4d86d283ea65c6275e20b23bbddb9bd97d8 commit e812e4d86d283ea65c6275e20b23bbddb9bd97d8 Author: Aurelien Cazuc AuthorDate: 2025-02-13 18:08:42 +0000 Commit: Kevin Bowling CommitDate: 2025-02-16 00:26:40 +0000 e1000: Fix vlan PCP/DEI on lem(4) The vlan PCP and CFI/DEI were discarded when receiving vlan tagged packets on lem(4) interfaces with vlanhwtag. According to the 82540 SDM[1] (pg. 24), vlan tag is in the standard format, so there's no reason to discard PCP/DEI. [1]: http://iommu.com/datasheets/ethernet/controllers-nics/intel/e1000/pci-pci-x-family-gbe-controllers-software-dev-manual.pdf Sponsored by: Stormshield (author) Differential Revision: https://reviews.freebsd.org/D48987 (cherry picked from commit 4b29599fbbe33b75b7b58cfc5deea7a881e9a10e) --- sys/dev/e1000/e1000_defines.h | 1 - sys/dev/e1000/em_txrx.c | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/e1000/e1000_defines.h b/sys/dev/e1000/e1000_defines.h index 92f676932636..f1b1008764a1 100644 --- a/sys/dev/e1000/e1000_defines.h +++ b/sys/dev/e1000/e1000_defines.h @@ -130,7 +130,6 @@ #define E1000_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define E1000_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define E1000_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define E1000_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define E1000_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define E1000_RXDEXT_STATERR_LB 0x00040000 diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index edbe0f8ab546..ced8d0f41d14 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -710,8 +710,7 @@ lem_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri) if (scctx->isc_capenable & IFCAP_VLAN_HWTAGGING && status & E1000_RXD_STAT_VP) { - ri->iri_vtag = - le16toh(rxd->special & E1000_RXD_SPC_VLAN_MASK); + ri->iri_vtag = le16toh(rxd->special); ri->iri_flags |= M_VLANTAG; } From nobody Sun Feb 16 00:27:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwRS80pnwz5nb3N; Sun, 16 Feb 2025 00:27: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwRS75FnJz3cQK; Sun, 16 Feb 2025 00:27:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0QcGk/WMr8TFAiZbQnRnnZeyRBEcCe0uDBbkNug84s=; b=qkTpmv/OPrm06gzXGpfB+HMAg6Vwu/jmkslNtW6FJbdU23Rv/Nq7XD+yYYrShf8DG1wpJT Dfr/wp+CNHiUcH+mOHBpYII53LOqq7xBFwLx31F0E9rnLiwH57D2eodOjtIVXIlGJJ+1/D eWm6KUg+kEIZXWzO/NU/jREnr5PetPjMnsRxaSqvBE2H/P+rkyMrgXvRSaaPOlwe1KuT3C RzDEbS+GxAlEoIrDfFu590cGtR8wt9gpcRHI0ePUBExnCNLpB1P0KkErn1KZaXFAw6QEOu aCnSDn7nioR2UVg0u+gQC8/9Mau3ZQ042xeT+vhOik//Wj5AFWH6nah6GcUdbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739665623; a=rsa-sha256; cv=none; b=de42M/VLqNjZrzsP8gYCzcT84af1OnNeQm0BcXoknWG6NwIwdqIa2E3VIWo5bmoI9Q76BR S0NT5yLpTqtzpv5NtKIxhBBJNKNi2vsAqNeUoZTIpcn7wOzx7CdRydYD3jmV63Rm9rCybG 3RCV26isT8likoUjnREu+r744UDPpAXEuixILydOJkfwd5M+yJDMOXzR9CwHXhz+/iW8W3 tXua8OacsHqsXQSL3Ef7UNEv9bMjqMe5bYTmdEFdQ1jSvY2tCr5S3JKwZo5v9v8OeFK1z6 B5IiLAzJcxgFbKPYOYoUa1vrkB9sSS0bOgBLlbwML3lc0/JwKdDnv0cexsl1RA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739665623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0QcGk/WMr8TFAiZbQnRnnZeyRBEcCe0uDBbkNug84s=; b=Si/1as/jzQe8FXsZ9jMw6S4s9H+YpRrYKGzvxdfbe/13dD1InBFBMPSP+0pkfCfwJ0wTkh 4GmmNhaA5tmKzQS8SP0B7kS6hnyv23b8wJpfWRQxKos4udn4sVcMfyiqDnPQupgfXC5AFa /9LfOv0ee9t2fOwIIXTZhuyU1f/vL2z2CDQfhfz28966I9eqPR9P1NQ6l2yZNyCsXl5imo h1oWTAL95kLzSLjiA3+GKdh4Qhdv/M1WxrIEF/uwc3zZNPmcKGUUm8ho7Le/CWtWKh915A jS+DW/8oxHhLcyaYVelk4bA9G2pyOZzXKS8FXgTNyXbIm6UdHX8d1bDwGqyOag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwRS74qX5z7Xb; Sun, 16 Feb 2025 00:27: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 51G0R3RZ016830; Sun, 16 Feb 2025 00:27:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G0R3Bm016827; Sun, 16 Feb 2025 00:27:03 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:27:03 GMT Message-Id: <202502160027.51G0R3Bm016827@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: a06369238d7d - stable/13 - igc: Remove unused register IGC_RXD_SPC_VLAN_MASK List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: a06369238d7df8c0b691b3a1617d5e2f337b63b2 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=a06369238d7df8c0b691b3a1617d5e2f337b63b2 commit a06369238d7df8c0b691b3a1617d5e2f337b63b2 Author: Kevin Bowling AuthorDate: 2025-02-13 18:22:50 +0000 Commit: Kevin Bowling CommitDate: 2025-02-16 00:26:50 +0000 igc: Remove unused register IGC_RXD_SPC_VLAN_MASK We don't use legacy receive descriptors and masking out the vlan ID isn't necessary since the tag is in the standard format, so remove it. (cherry picked from commit 124b7722aad7d4cf12d96c030659aef78175aa9c) --- sys/dev/igc/igc_defines.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/igc/igc_defines.h b/sys/dev/igc/igc_defines.h index e9ebd23c41c3..09f75fe2787e 100644 --- a/sys/dev/igc/igc_defines.h +++ b/sys/dev/igc/igc_defines.h @@ -96,7 +96,6 @@ #define IGC_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define IGC_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define IGC_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define IGC_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define IGC_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define IGC_RXDEXT_STATERR_LB 0x00040000 From nobody Sun Feb 16 04:16:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwXXf0pZfz5nrwy; Sun, 16 Feb 2025 04:16: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwXXf0D6Hz3p7h; Sun, 16 Feb 2025 04:16:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739679378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eCW1kFcokNvUEuMzl/pnwlMTCjwssMN5UwtMyoTQmcM=; b=RoBq06/riEnzyepxQMOHMsCl7lFq0iHjLJlx7e1xBsq0PJqTq/TM3VMrq60eYpG2jCkRU4 GTzVn9hvwrQWrp5yjYYgM8e4AzDppSblMUAX22WzP28Uy6BWYinIaroM0lRUcJw5X4eDgP TM7Xn9IJVtt0tZm0sWmNTdGjrY55/5h7C7rS6O2x/JSHf57+YusYQvCvfqAuLtNXBooeVq lLlsoELoUBr4PxUxOxrolRo8D/bPoKq5qGtW+P7/N/vKBxKCZ82vGnvT+ukie6U7/ZKThE J5+3x38dH1VyU2f6nnb65Vy8ZJNrp6g72F7xKuHgdoQyBl7UGABQ5a8RK8vrrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739679378; a=rsa-sha256; cv=none; b=Tu7zGfyIDM4dg/u651nmcJfZ4rxjOwABj3KyRtS/feDJAlLzegf5sCLVPX01/fS2zpVkVI hGBs8MfdSPSCQXa5Kpem7jWP7mb/hYiL0dZJLgWtIM+CPdHKXhyNJJrlyZ+XgZdaqcFEvb geuABsau32LSoMh53rjPu1pOoLwLVhTCXVqJuq8VWRvioNYVhgrFKpq2mN06inVh0CquKH IAE8KDXQrqyZSr8ZqRR4lONNm1WMds4qpRtb6FQPT66NXohlty1cwrfViBAHdiFZlu673t QA9UvwEjFDVo38aQs+RyOXVb8pzNSVDr31X4tN82BrjC8Ya8T+P0rlm42qSf3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739679378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eCW1kFcokNvUEuMzl/pnwlMTCjwssMN5UwtMyoTQmcM=; b=o5B6Kaq/g8lWDChFhiAMgyVy8RBGleFx67ETbQ5hqym+tTqAFOjUUVjn1whIlMSf75N7sO xwRnho75RWUFcp4VaMOH+eCpjz0hZbrsiKu2deIFH73FUdH5nV7Vvf3uuXkDZJY4YmSROG hodjU20WPvauYJJXdHBPv0d+OHxqe2hX3+8VsgS9Co6MHhwu8kXNWN3JwYlsteKjv9ogtT oifJ9DvqSVvgXlp5qqhjZXbTQJOe5nohMjL/wsPN2Oe7aAI8VYE/KlK7fwM4ky/oXPLjFF /xT8olYWxHbfp8CpVear1llmRS1+M3FXbB4RLrfOCxjQhN1vvbg0M4faj+IaqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwXXd6lxtzXGJ; Sun, 16 Feb 2025 04:16: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 51G4GHU2050046; Sun, 16 Feb 2025 04:16:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G4GHvj050043; Sun, 16 Feb 2025 04:16:17 GMT (envelope-from git) Date: Sun, 16 Feb 2025 04:16:17 GMT Message-Id: <202502160416.51G4GHvj050043@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 24d3fd31f805 - stable/14 - ObsoleteFiles.inc: Remove test debug file from wrong dir List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 24d3fd31f805445e5e81ba46bb28bfc8b9df13ab Auto-Submitted: auto-generated The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=24d3fd31f805445e5e81ba46bb28bfc8b9df13ab commit 24d3fd31f805445e5e81ba46bb28bfc8b9df13ab Author: Jose Luis Duran AuthorDate: 2025-02-13 17:05:33 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-16 04:13:51 +0000 ObsoleteFiles.inc: Remove test debug file from wrong dir Reported by: des Reviewed by: des, emaste Approved by: emaste (mentor) Fixes: 88d448ec815c ("mk: Move vm stack test debug symbols") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48991 (cherry picked from commit e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced) --- ObsoleteFiles.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index e736235f80da..8eec739cd89c 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,7 @@ # done # 20250204: sys/vm/stack test symbols moved to /usr/lib/debug +OLD_FILES+=usr/tests/sys/vm/stack/.debug/libsoxstack.so.debug OLD_DIRS+=usr/tests/sys/vm/stack/.debug # 20241201: new clang import which bumps version from 18 to 19 From nobody Sun Feb 16 04:16:46 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwXYC4QC6z5nrtd; Sun, 16 Feb 2025 04: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwXYB64PWz3pfy; Sun, 16 Feb 2025 04:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739679406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=df7e/Hgh7NUyTLyWgv+KCyI5FPOLi+KvutxVWvNA8+A=; b=gsfHKyjp+zPQ7TCM3TucwMh1g6LAWp4H+IkvEESH+e6wVNHg70kbXZj0hx8931qaXga7T2 8D5w4Tlikt4zK7VDfDnyMP2SLOBepRV23cfodrIF94oTz7c7GRlmYLOIz2NtOprloCynk1 lhSgGRLbmgh3fmATrB9XutprcivbO/BBwX6IHVl12+XV6lo08nvTIYj2m2iWOhSoxu8M/o Wkl2jl8dXe3Vafdw9sSeF+74KVMrquUJyi+Fh4UtirKg0Iu9R7WrSZVba0LivxLijUpww7 OUAdxpMR6xooheaUfHq8IJMpzmi2cvZurcnhVxSAK0UXFHAb15az+qu4jt73Yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739679406; a=rsa-sha256; cv=none; b=m3lr//hIHu6UvTXcfEdK3zHQ3br/RHzMHr1BU9A9vxYDGoqw9MGYaSmT0UiJc7qqtZ8s6b kT0vVgBINqvqS/Qd2i02/Mc2PEG3NiiVcChJ559Qf4Ufj2HYD9Zdh1L9yA6JUzn/Bryodp K2TH9lgCwV5I5RphzSW7WAg7XIEFmt5g2Fwro4GvTXcQhvc6FdBso8Qr54GBRL5AOFVMaQ MIHVO+tAQzoz1lM5T1kbWPjSTVaymmb0lOazYPDg92yKz92uLmcc8j3Ub6K0f6XaqU6bAD rXNP6biX6Fskg51u4sVcB+/jml+UBACSs7V11t1v8JwhXi2bcLcb8QcPfOHyUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739679406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=df7e/Hgh7NUyTLyWgv+KCyI5FPOLi+KvutxVWvNA8+A=; b=lrBwpx72n2M5/HKts7susC3yCyXFO5sWeFsTvrL9zT3TRg0znYMb6sObb1qgO9hIShzmlw fswHkkwU8apiV4KXUlj9Dy7ixKqroPOJdEc29t0IzDiZF7hMQul2VDdSLTChNfB/+ZmFgT VBTc8Tzi4RpDz+kL6Wkph/ILpKNUNEqqzhBQzxBp7W6cshZWASsZjUMG9pQE3LHxab15RE 0PFuBHvl2kyzzM1ntAUaSpT6WeHoJyUDQq6vXtj7YmMjU/GkrZeTj69m54yBV8tbnHNSmL 6oh/9wc8pVnf9H6smhqSDL8IHgyE1So3rFf6hDJ6muS0hnF3WHcy83D3MaIPFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwXYB5TdPzXZG; Sun, 16 Feb 2025 04:16: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 51G4GkBO050312; Sun, 16 Feb 2025 04:16:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G4GkAF050309; Sun, 16 Feb 2025 04:16:46 GMT (envelope-from git) Date: Sun, 16 Feb 2025 04:16:46 GMT Message-Id: <202502160416.51G4GkAF050309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: b6490ad408d0 - stable/13 - ObsoleteFiles.inc: Remove test debug file from wrong dir List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b6490ad408d0049c5e6ab73aa94151ab33b4106e Auto-Submitted: auto-generated The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=b6490ad408d0049c5e6ab73aa94151ab33b4106e commit b6490ad408d0049c5e6ab73aa94151ab33b4106e Author: Jose Luis Duran AuthorDate: 2025-02-13 17:05:33 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-16 04:15:31 +0000 ObsoleteFiles.inc: Remove test debug file from wrong dir Reported by: des Reviewed by: des, emaste Approved by: emaste (mentor) Fixes: 88d448ec815c ("mk: Move vm stack test debug symbols") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48991 (cherry picked from commit e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced) --- ObsoleteFiles.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index d929086e47c7..682a0848b6f6 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,7 @@ # done # 20250204: sys/vm/stack test symbols moved to /usr/lib/debug +OLD_FILES+=usr/tests/sys/vm/stack/.debug/libsoxstack.so.debug OLD_DIRS+=usr/tests/sys/vm/stack/.debug # 20241201: new clang import which bumps version from 18 to 19 From nobody Sun Feb 16 10:59:02 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwjTL4prFz5nH8T; Sun, 16 Feb 2025 10:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwjTL3zD3z3S86; Sun, 16 Feb 2025 10:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739703542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SNluiqYEwlDqUVq6e7LW8Z7Hvj9UvCH+3AV5FP1IhF8=; b=gLU3E9SOMenQzRTLNgaXPy8DZ2vgxOExKl3obUXmyB0hWsCzb8xM4ThoWMqIQPjLrq5yTP hM08z82TvusjnZFsANxxtFePPp89J8liWQIvV/RW3IjrB/QOe1i6pXCy60pAm6opM+hmj/ Kx0XgffHwOBooBFWTuLlEwElC4fcmhIHQNPyREAWDb26ZxLpUOHjJVtEtxU1UJ7jf/pylw TcCVZc62VpkkjimxTxqIlej8CGFd3lXi56xF3xnvXVbiz37+yQkfzgr/KuvOWiVjoivtzZ AXBkIu44ZzNewfBZowa9EOd+SGhqwGgP0eWNLIwS3qvPusAuDmkDGv5LGDegDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739703542; a=rsa-sha256; cv=none; b=JQ3W5msKiPqAuhYbnFiFevlmTR78Gu5arORpzX5vSngie9zNNnw8XGXv1lo6MprauWGCIQ xXRt8CnU3xBTp0isxt0tCDlUCeBcUbytHGy7y7dOgqYwmwI9yTejrRvQ244CizIoYSzFO9 0a4QRKS3yF6MSFpNb3hsgOAnegxpW03FzX6iGXGNlxQxDHt6cT5hyZstJsmW51bYQuFDks N6vSv/Gzjf2LL7NcBX5kw/Ro22FMb+i+e9FQ6Q0zCYycxOfzDtq8F2UlpqF343e1x1hK9V MPmMHQSeVoW/f2X4Tyhr5nE4XB8zaJdo91rJCxbN9TWr+SwxJzMH8dK7r07Ecw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739703542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SNluiqYEwlDqUVq6e7LW8Z7Hvj9UvCH+3AV5FP1IhF8=; b=rpHdW4mZk80s5KAeVWLJIHUjm1uNJ4JUWeqaZ4TVbCJ9juO4YnfUjGRhvN1fotyf69Pbuo mO+h00lqf4+ojHB7QR3B4D/BGBRDmO1/h7UvDEjMil7ZIpwBmMMsf+JAW56dK9uhQ5bdIL eaTOQPcrWgYHImPfx1PlP2twCW+ZOvjpHduX4Tc7qesVji2Szi/23pHOfRB36UmjYVFxAi FjptWzrt3hGIZ210xnO1TaBZ0dTVC7I/XzuAVnYlD2YwTr1Dalk8Fv3qS2ROVY9jlkvrWE OxcDALopvORaRJvFhzmp5L2xXm/W0iHyx73GjFdzeSV90fOTTyATqhSwPKEXmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwjTL28KdzlGJ; Sun, 16 Feb 2025 10:59: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 51GAx2ki002494; Sun, 16 Feb 2025 10:59:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GAx226002491; Sun, 16 Feb 2025 10:59:02 GMT (envelope-from git) Date: Sun, 16 Feb 2025 10:59:02 GMT Message-Id: <202502161059.51GAx226002491@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 19f202f859b1 - main - sdhci: Fixes for sdhci_fdt_rockchip.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19f202f859b101507e26fe181aaf9f0b99f4d59c Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=19f202f859b101507e26fe181aaf9f0b99f4d59c commit 19f202f859b101507e26fe181aaf9f0b99f4d59c Author: Bojan Novković AuthorDate: 2025-02-16 10:41:43 +0000 Commit: Bojan Novković CommitDate: 2025-02-16 10:41:43 +0000 sdhci: Fixes for sdhci_fdt_rockchip.c This change fixes a couple of issues in the Rockchip SDHCI driver: - Fix a panic caused by sdhci_fdt_rockchip_attach not populating the softc's dev variable before initializing clocks - Fix a bug where sdhci_fdt_rockchip_set_clock fails to call sdhci_fdt_set_clock Fixes: e17e33f997d6 Reported by: Alonso Cárdenas Márquez (acardenas@bsd-peru.org) --- sys/dev/sdhci/sdhci_fdt_rockchip.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sys/dev/sdhci/sdhci_fdt_rockchip.c b/sys/dev/sdhci/sdhci_fdt_rockchip.c index b3311d3e8a48..44a5e2ffe271 100644 --- a/sys/dev/sdhci/sdhci_fdt_rockchip.c +++ b/sys/dev/sdhci/sdhci_fdt_rockchip.c @@ -217,7 +217,7 @@ sdhci_fdt_rockchip_set_clock(device_t dev, struct sdhci_slot *slot, int clock) DLL_STRBIN_TAPNUM_FROM_SW); } } - return (sdhci_fdt_rockchip_set_clock(dev, slot, clock)); + return (sdhci_fdt_set_clock(dev, slot, clock)); } static int @@ -226,6 +226,7 @@ sdhci_fdt_rockchip_attach(device_t dev) struct sdhci_fdt_softc *sc = device_get_softc(dev); int err, compat; + sc->dev = dev; compat = ofw_bus_search_compatible(dev, compat_data)->ocd_data; switch (compat) { case SDHCI_FDT_RK3399: @@ -243,12 +244,10 @@ sdhci_fdt_rockchip_attach(device_t dev) device_printf(dev, "Cannot get syscon handle\n"); return (err); } - if (compat == SDHCI_FDT_RK3399) { - err = sdhci_init_rk3399(dev); - if (err != 0) { - device_printf(dev, "Cannot init RK3399 SDHCI\n"); - return (err); - } + err = sdhci_init_rk3399(dev); + if (err != 0) { + device_printf(dev, "Cannot init RK3399 SDHCI\n"); + return (err); } break; case SDHCI_FDT_RK3568: From nobody Sun Feb 16 19:08:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwwKY4ZKnz5npZQ; Sun, 16 Feb 2025 19:08: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwwKY0DPDz3DWn; Sun, 16 Feb 2025 19:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739732881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HP0RTIp7ry1YF2xNU9/4syWuaWNBHWzompIFCY3oxrE=; b=VMOiJJvVTycOTjVl5NJsK2WMKawiDTBLMO8gruE1Y+byC1y2WodIFUQWXUcpOSLRTmPC3K gKF46qsosdkqeNo6j4ohcYDMgkUCOk/+GsD04VvRJerv1FN/WbX4bX3qXVeXX1Kd5h3Xgp Xb53mQxIUhVfYS4dHXiR9EiD/+42aWkC9OfWoZfANB3XOY38wIeCO09smv5AbSobq0xoMc 58SroM6xdn4B7MamQkjl+WlTJbnbhvW9WRWEDLn+ubtqfoA34QI7107R71rKZ9uERFZCzR NMKtDt++diksQKBbRKrGfvcpD3mNPSsmwdEIMVtV3EQU2jVI+p5j9J9qzwp5/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739732881; a=rsa-sha256; cv=none; b=rgR0i2+CakyV1ekXXMgZpDWheq1ydNK3BIo3TQJRVotUcvmQy51OXGYmSFKt+3e2Sz9oi9 /UQjem2UWOsJBuURj9cybz+MRtiFHuzWCwKkiOuK5U+dgIN4VKEXFh3jFwyZ9oRE1tBn5n 0Xac77u7y7z/oTQh+d5atPP2VZd5BMtzdmlxlVR2igN/BONizs3W4+U2j+aO1UJiaNhxKi V0qjbI4/Di2iZvNMALf5g6vEbMCm4vdVZiND/L+18Jx1VWeAP/thVu03vqvwcD7nlrqWGA 8pBtrZG7LzE7jKDZz3V6iyIDt+1Lp0xQkZdYTUKsUbvHhQr07icumUwnI2KaNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739732881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HP0RTIp7ry1YF2xNU9/4syWuaWNBHWzompIFCY3oxrE=; b=F23h4WJ1OWLAo7n04bPSIFrc61pJVed0dPJv9R/11LUXd2Lu9I0StWHmwF1sF9TmjxZr64 aeB1zH74iu5Tc5Y0PTieQlxsRov/5HxqAf9FFsKUbcMBktTjDmwSPrBd9mMqC6nCoCXaiO kuMTCWTKXs+tQVk4VL/uQcpkCU5zHy76nUG1ubZzyQa7JJto+ZggwAbi9zSwzVqwDPYCJt 3c1eesyGoeF0TBWNmI4MWlpJvEJN6iM6aD3Yy63u0Z+qwBH8YfTbZ8Q4QiBd8VfME00lcz YU+NZS1E72q9Wjef2hBlAhGH6432N/6e89fkaU3Has/3v6pepPtgoKRURiHTJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwwKX6wk6z108P; Sun, 16 Feb 2025 19:08: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 51GJ80HB033114; Sun, 16 Feb 2025 19:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GJ806X033111; Sun, 16 Feb 2025 19:08:00 GMT (envelope-from git) Date: Sun, 16 Feb 2025 19:08:00 GMT Message-Id: <202502161908.51GJ806X033111@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: bba883df5e88 - main - pctrie: iter_remove check from panic to KASSERT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bba883df5e88d0fb1133b23c05db5501dd321ad8 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=bba883df5e88d0fb1133b23c05db5501dd321ad8 commit bba883df5e88d0fb1133b23c05db5501dd321ad8 Author: Doug Moore AuthorDate: 2025-02-16 19:05:18 +0000 Commit: Doug Moore CommitDate: 2025-02-16 19:05:18 +0000 pctrie: iter_remove check from panic to KASSERT pctrie_iter_remove checks to see if the thing the iterator points to is actually there, and panics if it is not. This panic would likely indicate the same iterator had been used for removal twice, without advancing the iterator in-between. This test takes a bit of time, and as it indicates a programmer error rather than some external condition, it is better handled as a KASSERT. This means with KASSERTs disabled, a wee bit of time is saved. Reviewed by: alc, markj Differential Revision: https://reviews.freebsd.org/D49015 --- sys/kern/subr_pctrie.c | 41 +++++++++++++++++++---------------------- sys/sys/pctrie.h | 7 ++----- 2 files changed, 21 insertions(+), 27 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index 16690c3521bf..51be005cccd7 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -826,26 +826,22 @@ pctrie_iter_jump_le(struct pctrie_iter *it, int64_t jump) } /* - * If 'child', a leaf and a child of 'parent', is not NULL and has key 'index', - * then remove it from the pctrie and return its value. If doing so produces an - * internal node with only one child, purge it from the pctrie and save it in - * *freenode for later disposal. + * Remove the non-NULL child identified by 'index' from the set of children of + * 'node'. If doing so causes 'node' to have only one child, purge it from the + * pctrie and save it in *freenode for later disposal. */ -static uint64_t * +static void pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, - struct pctrie_node *child, struct pctrie_node **freenode) + struct pctrie_node **freenode) { - uint64_t *m; + struct pctrie_node *child; int slot; *freenode = NULL; - m = pctrie_match_value(child, index); - if (m == NULL) - return (m); if (node == NULL) { pctrie_node_store(pctrie_root(ptree), PCTRIE_NULL, PCTRIE_LOCKED); - return (m); + return; } slot = pctrie_slot(node, index); KASSERT((node->pn_popmap & (1 << slot)) != 0, @@ -854,7 +850,7 @@ pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, node->pn_popmap ^= 1 << slot; pctrie_node_store(&node->pn_child[slot], PCTRIE_NULL, PCTRIE_LOCKED); if (!powerof2(node->pn_popmap)) - return (m); + return; KASSERT(node->pn_popmap != 0, ("%s: bad popmap all zeroes", __func__)); slot = ffs(node->pn_popmap) - 1; child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); @@ -866,7 +862,6 @@ pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, pctrie_setparent(child, node); pctrie_node_store(pctrie_child(ptree, node, index), child, PCTRIE_LOCKED); - return (m); } /* @@ -878,6 +873,7 @@ pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, struct pctrie_node **freenode) { struct pctrie_node *child, *node; + uint64_t *m; int slot; node = NULL; @@ -888,25 +884,26 @@ pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - return (pctrie_remove(ptree, node, index, child, freenode)); + if ((m = pctrie_match_value(child, index)) != NULL) + pctrie_remove(ptree, node, index, freenode); + else + *freenode = NULL; + return (m); } /* * Remove from the trie the leaf last chosen by the iterator, and * adjust the path if it's last member is to be freed. */ -uint64_t * +void pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode) { - struct pctrie_node *child; - uint64_t *m; - - child = pctrie_node_load(pctrie_child(it->ptree, it->node, it->index), - NULL, PCTRIE_LOCKED); - m = pctrie_remove(it->ptree, it->node, it->index, child, freenode); + KASSERT(NULL != pctrie_match_value(pctrie_node_load(pctrie_child( + it->ptree, it->node, it->index), NULL, PCTRIE_LOCKED), it->index), + ("%s: removing value %lx not at iter", __func__, it->index)); + pctrie_remove(it->ptree, it->node, it->index, freenode); if (*freenode != NULL) it->node = pctrie_parent(it->node); - return (m); } /* diff --git a/sys/sys/pctrie.h b/sys/sys/pctrie.h index 196449e663d3..42473dc8e632 100644 --- a/sys/sys/pctrie.h +++ b/sys/sys/pctrie.h @@ -312,12 +312,9 @@ name##_PCTRIE_REMOVE_BASE(struct pctrie *ptree, \ static __inline __unused void \ name##_PCTRIE_ITER_REMOVE(struct pctrie_iter *it) \ { \ - uint64_t *val; \ struct pctrie_node *freenode; \ \ - val = pctrie_iter_remove(it, &freenode); \ - if (val == NULL) \ - panic("%s: key not found", __func__); \ + pctrie_iter_remove(it, &freenode); \ name##_PCTRIE_REMOVE_BASE(it->ptree, freenode); \ } \ \ @@ -386,7 +383,7 @@ struct pctrie_node *pctrie_reclaim_resume_cb(struct pctrie_node **pnode, pctrie_cb_t callback, int keyoff, void *arg); uint64_t *pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, struct pctrie_node **killnode); -uint64_t *pctrie_iter_remove(struct pctrie_iter *it, +void pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode); uint64_t *pctrie_iter_value(struct pctrie_iter *it); uint64_t *pctrie_replace(struct pctrie *ptree, uint64_t *newval); From nobody Sun Feb 16 20:22:03 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ywxz06KF5z5ntKK; Sun, 16 Feb 2025 20:22: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ywxz00YbXz3rhg; Sun, 16 Feb 2025 20:22:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5gukZQTHzP/jTXfFM06ouP8ZPZb+KYVmbgyMUhOHtVQ=; b=cBjTKiiBEJje39/6/Jt23mNunwAnRkabnPYkZ+tScn6pgzMsbkn+vgIPvlQFvl/RDBEQ+3 gNcEaNMFJJYFG4fQqjryuVBI8lb5bWuaazeMgTCXSO8ALSngkPlLwQN/GsOwiX/XmrnXPV YFd5FTVOf31Pm0FPp+EvoYS2AtWl0Pnx/RhgD4b6VbbbOSIX99NgZKj3pi0jKpZnkIz7HL v3Xsgshgyt24Tyoh5t4dmsuhzcKdTfS7cy8OH5Vuo88whSrNLGeE9ihr3XTINX5WNBiPbx jNao0rlf6n1ALWB+yxBHi1FDGAQ/zGn3WQD0BzlMradHvZAE6xJjPZ7ksM2wdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739737324; a=rsa-sha256; cv=none; b=OYR2wSsX/zinxQWtNW47bpn8ZlGlu6L7m5QQ3IA6bbJVc4oD6dGrGjqOwbs7XvPUINbmB8 KiE5FqmvsvEHrVHui8ZvP+YuVv4oWKbtN+cgp9ZigiCe8OklDwqAFXnbgcpZdNk71AUdK4 KlhjFqvkgeI2qnyJnwUrpaHWuouAyqzk9m6THr2BPX/XcQ1xiuNj1134OvzmnStRNSzipx F6vdObPdqaKS3sa1QJdGNZROgUYFpNE/Sfx1xEgTpDruVOsBlObowqK+sE2komUiuOQ1O0 z9x9algOrLZNvBkl/5wvuWivS8RbHYy+DQf8Z/1ItKo/wlieOm0duqYbFBexDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5gukZQTHzP/jTXfFM06ouP8ZPZb+KYVmbgyMUhOHtVQ=; b=NdkT56/nornpAa49fBXzVwYd5NeFpk4OvgeLRbok8YMIwzWlhyJ1KJvRUF9gf6GT4Pq6xl 1MP4ZnbZ6LlZtWjh6vHxLXuNhfdPU8i16BDAZiPRragP9EkcH+Oocy3HIpRfnuaBhpB2hV V12phfw6Bq7s6nBlRzP04WUHutx0SlvShSNsWHjEwB2CiY/WK1FUBGaQuFSDml5d7BLZQf /Y7viTf+2aSarIXtSDGms4kS5gfa7YQjEbxhbnvqXVTvLw31jBtX+5wjokbfyinrnYrmWU r+SecrUOj57PqCwbbCleHX7OzdAiaSbRbsF1UPih07x/JFmYIg9si/6JIYpe5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ywxyz6rxPz12sF; Sun, 16 Feb 2025 20:22: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 51GKM3LP077712; Sun, 16 Feb 2025 20:22:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GKM3uo077709; Sun, 16 Feb 2025 20:22:03 GMT (envelope-from git) Date: Sun, 16 Feb 2025 20:22:03 GMT Message-Id: <202502162022.51GKM3uo077709@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ec6185c52661 - main - net80211/crypto: LinuxKPI/802.11: introduce IEEE80211_RX_F_PN_VALIDATED List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ec6185c52661d3af0dac6dcc8701fc49fae3e1d9 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ec6185c52661d3af0dac6dcc8701fc49fae3e1d9 commit ec6185c52661d3af0dac6dcc8701fc49fae3e1d9 Author: Bjoern A. Zeeb AuthorDate: 2025-01-07 12:02:54 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 20:20:50 +0000 net80211/crypto: LinuxKPI/802.11: introduce IEEE80211_RX_F_PN_VALIDATED There are cases when we see "rx seq# violation (CCMP)". Historically these were AHDEMO/IBBS cases (IEEE80211_KEY_NOREPLAY, see 5d766a09daab2). With iwlwifi(4) doing RSS for newer chipsets and us not having any idea about multiple rx-queues (passed all the way through) leads to the same problem. An easy way to trigger this is doing an IPv6 all-nodes echo request. With a sufficient amount of nodes answering the answers will be hashed to different queues and re-ordering will likely take place as queues get released individually. However crypto validation is already done in fw/driver for these cases and we need to carry the state forward. Add IEEE80211_RX_F_PN_VALIDATED to indicate that the checks were done passing the information from driver through LinuxKPI to net80211. LinuxKPI enforces that a frame was indeed decrypted; otherwise the flag would be invalid. This also avoids returning an error and no key from ieee80211_crypto_decap() and thus avoids dropping the frame. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49029 --- sys/compat/linuxkpi/common/src/linux_80211.c | 16 +++++++++++++++- sys/net80211/_ieee80211.h | 1 + sys/net80211/ieee80211_crypto_ccmp.c | 16 +++++++++++++--- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 8c1b9d73ab56..07b79fed2c2b 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-2024 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * Copyright (c) 2020-2025 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -5424,6 +5424,20 @@ no_trace_beacons: rx_stats.c_freq = rx_status->freq; rx_stats.c_ieee = ieee80211_mhz2ieee(rx_stats.c_freq, rx_stats.c_band); + /* + * We only need these for LKPI_80211_HW_CRYPTO in theory but in + * case the hardware does something we do not expect always leave + * these enabled. Leaving this commant as documentation for the || 1. + */ +#if defined(LKPI_80211_HW_CRYPTO) || 1 + if (rx_status->flag & RX_FLAG_DECRYPTED) { + rx_stats.c_pktflags |= IEEE80211_RX_F_DECRYPTED; + /* Only valid if decrypted is set. */ + if (rx_status->flag & RX_FLAG_PN_VALIDATED) + rx_stats.c_pktflags |= IEEE80211_RX_F_PN_VALIDATED; + } +#endif + /* XXX (*sta_statistics)() to get to some of that? */ /* XXX-BZ dump the FreeBSD version of rx_stats as well! */ diff --git a/sys/net80211/_ieee80211.h b/sys/net80211/_ieee80211.h index 8ae7eb0f1c45..8d5583a826e5 100644 --- a/sys/net80211/_ieee80211.h +++ b/sys/net80211/_ieee80211.h @@ -594,6 +594,7 @@ struct ieee80211_mimo_info { #define IEEE80211_RX_F_OFDM 0x00002000 #define IEEE80211_RX_F_HT 0x00004000 #define IEEE80211_RX_F_VHT 0x00008000 +#define IEEE80211_RX_F_PN_VALIDATED 0x00010000 /* Decrypted; PN validated */ /* Channel width */ #define IEEE80211_RX_FW_20MHZ 1 diff --git a/sys/net80211/ieee80211_crypto_ccmp.c b/sys/net80211/ieee80211_crypto_ccmp.c index 45e795a8799b..8f7d5eed593c 100644 --- a/sys/net80211/ieee80211_crypto_ccmp.c +++ b/sys/net80211/ieee80211_crypto_ccmp.c @@ -238,6 +238,7 @@ ccmp_decap(struct ieee80211_key *k, struct mbuf *m, int hdrlen) struct ieee80211_frame *wh; uint8_t *ivp, tid; uint64_t pn; + bool noreplaycheck; rxs = ieee80211_get_rx_params_ptr(m); @@ -261,8 +262,10 @@ ccmp_decap(struct ieee80211_key *k, struct mbuf *m, int hdrlen) } tid = ieee80211_gettid(wh); pn = READ_6(ivp[0], ivp[1], ivp[4], ivp[5], ivp[6], ivp[7]); - if (pn <= k->wk_keyrsc[tid] && - (k->wk_flags & IEEE80211_KEY_NOREPLAY) == 0) { + + noreplaycheck = (k->wk_flags & IEEE80211_KEY_NOREPLAY) != 0; + noreplaycheck |= (rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_PN_VALIDATED) != 0; + if (pn <= k->wk_keyrsc[tid] && !noreplaycheck) { /* * Replay violation. */ @@ -302,7 +305,14 @@ finish: * Ok to update rsc now. */ if (! ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_IV_STRIP))) { - k->wk_keyrsc[tid] = pn; + /* + * Do not go backwards in the IEEE80211_KEY_NOREPLAY cases + * or in case hardware has checked but frames are arriving + * reordered (e.g., LinuxKPI drivers doing RSS which we are + * not prepared for at all). + */ + if (pn > k->wk_keyrsc[tid]) + k->wk_keyrsc[tid] = pn; } return 1; From nobody Sun Feb 16 20:24:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ywy1Z0cg7z5ntXc; Sun, 16 Feb 2025 20:24: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ywy1Y6Fnwz3t2l; Sun, 16 Feb 2025 20:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAHTy9di53vIRMK2N6EspVksOn2EQmrY0NLHgk0x/Ns=; b=usgE/eunHKTuDPNf+hnOWq8uhAqYYC+djjex3E0+OKLSppJOSECmmtBEoSadqtSk8ypRRz KPPOiuSu2vUut79kEh4IpbtyQAE/GcRnfLwol8PsjRrmXEVMYjL06BiQPehDrhroShhKKJ Yjfx/jvA5fMyNQd8hhctKaAGxHiFshz1D4Vg5bQyWfsD7wctlyqTuTA7WCLZo1efGT/QgO 91Q34AN4Ej5xrMaQLa1Zo+RiFVR2znVUQGDD5aQ24ScVxAg+Kv3CmwZM4UnvGM8k3jQP8s re4NOQDnRQcEn/8aX21j8i2ksMhrPexwpIHUcyyDY73N181+axX/D/Jg0eKK3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739737457; a=rsa-sha256; cv=none; b=mPmzXhaRS83rZAXgs/T0jfaKSfiU98Vj/h5QhbSrpHdyPokBHygeub1kv2qqnGkzQnOj77 ttqwbh7ZcBLd1xATwD1rhZqnS5KDibAPJzSz/gWr87UFmmACWofNusaDt2wTKeunZGjcb2 LjWtKoaeLdbTKXlj+sJQ54VoLe+UwScjXQV4Xc3Ch0tcjK9YJeaxcB8v9pVo0QYIIoOK41 r8aIwYkVhtQYoQXr6K6/J4tTi16SORISQynTWeddtBWnVvvYdPDlr46UM60/BDNjvxKhZ1 ZEN88LPtz0kg3ZmXNNCAcYHZcQEPdbdkjPp+dbrnWtxpa8mKbe6UEtpbTwIutw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAHTy9di53vIRMK2N6EspVksOn2EQmrY0NLHgk0x/Ns=; b=QAqlgTIxJ5nZOHKhEVeBuHqi1wB5OZlO1Qk8UxG2RWsATWk57E/Mvrns3LmZGb8CRf+nwq ycxyEdIMDl/cSZvILc7pD2d5WRhnL7rCQ6JVq0V5Ps8CHlGKArBVIRaFctIWh4SKWwNcND BUycPJlC92/nM35EiONU2KgbWFodQJIVikxJenR1CaQH2SWHxDODULqluriaZO4HJus5Pn cqThddpRWeQdvaTfcxguVldFkMMcSN246THX21nreujaerOzCgdVMhzjDZj8M9Ycazwm0f yhMYEn0D42fThGDORMXo0Nun3zJ9yb2wQdLGDM9/2Y+4fb3odyM/CAMMy48dxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ywy1Y5pTRz12JT; Sun, 16 Feb 2025 20:24: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 51GKOHPA082377; Sun, 16 Feb 2025 20:24:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GKOHU4082374; Sun, 16 Feb 2025 20:24:17 GMT (envelope-from git) Date: Sun, 16 Feb 2025 20:24:17 GMT Message-Id: <202502162024.51GKOHU4082374@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3afc0bfecb1a - main - net80211: crypto: ccmp: fix more hardware offload bits List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3afc0bfecb1a927c37672dc245688c575e4d9ec4 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3afc0bfecb1a927c37672dc245688c575e4d9ec4 commit 3afc0bfecb1a927c37672dc245688c575e4d9ec4 Author: Bjoern A. Zeeb AuthorDate: 2025-01-27 13:54:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 20:23:01 +0000 net80211: crypto: ccmp: fix more hardware offload bits Add the missing IEEE80211_RX_F_DECRYPTED and IEEE80211_RX_F_MMIC_STRIP (really just MIC_STRIP) checks to make hwaccel offload work. This makes rtw8x drivers pass RX packets again at least with LinuxKPI if HW_CRYPTO support is enabled. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49030 --- sys/net80211/ieee80211_crypto_ccmp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/net80211/ieee80211_crypto_ccmp.c b/sys/net80211/ieee80211_crypto_ccmp.c index 8f7d5eed593c..06028cf2a37c 100644 --- a/sys/net80211/ieee80211_crypto_ccmp.c +++ b/sys/net80211/ieee80211_crypto_ccmp.c @@ -602,6 +602,7 @@ done: static int ccmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, int hdrlen) { + const struct ieee80211_rx_stats *rxs; struct ccmp_ctx *ctx = key->wk_private; struct ieee80211vap *vap = ctx->cc_vap; struct ieee80211_frame *wh; @@ -613,6 +614,10 @@ ccmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, int hdrlen uint8_t *pos; u_int space; + rxs = ieee80211_get_rx_params_ptr(m); + if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_DECRYPTED) != 0) + return (1); + ctx->cc_vap->iv_stats.is_crypto_ccmp++; wh = mtod(m, struct ieee80211_frame *); @@ -675,6 +680,14 @@ ccmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, int hdrlen space = m->m_len; } } + + /* + * If the MIC (we use MMIC despite not being Micheal) was stripped + * by HW/driver we are done. + */ + if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_MMIC_STRIP) != 0) + return (1); + if (memcmp(mic, a, ccmp.ic_trailer) != 0) { IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, "%s", "AES-CCM decrypt failed; MIC mismatch"); From nobody Sun Feb 16 21:27:34 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwzQZ43tsz5nxy1; Sun, 16 Feb 2025 21:27: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwzQZ3Gfvz3Vf6; Sun, 16 Feb 2025 21:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739741254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Upgrx8uAIc0HEMB/JtH81gj4gpQ1uERJ+w8aRQiDxe8=; b=pZtcv59Fwigf02G9J4KiMFMyXnoTA6KGTW/1JtE+m7tk0BbOeoJWXAJA7lEhtGo4kHvONc YSdnJjIikbA8NiIyNhClKSbnaoxShrOrP8GAl6KwcALVedCnWcsXqx3aJVriFaBJ4JpUhR hrcpjs6fcU5J+CCFfPP8mUjrvSmzydZ6c/ydtPjCGVWAIN3KNiyYLNCg6bpZTrY/MGTMkU Rv0kWLQm+qvPRrDPO3nl6rGywg2eu7ssTRjPGkytl3/3OqrZ4JhRxolGGwQDCMja8hHuc4 /5e9ArNH65pfQez4cs5aQJQl1t4RgnNxGy3d277Ahl4SqemcJW4WI9t7czN8gA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739741254; a=rsa-sha256; cv=none; b=fbZxM7XUNYpbSjq1h1npeywgO0tSu/gMg3/yYNxykMbFTBKEm0sQpR5wzmg+eufgZYZD8t ggcUDEbgGPWme18z+HivxGBV3t2nHLov/IRZ3vZf595utnWXRWOjWfT9r1sNxh/vF4KzhU hskDEpqjzUYrTTlTsKGb7qosyszX1hzyJuBLaDIECTb9+iMDti+VoGEsaDBjB3JJA9VLDZ Xl/eFVMV1M9v9YCRLmtIslJrB6X6piCy1t4Muir1O0vA7z5RMzZLUhGblAZL6szg89f4LP pC16xPfBVeNjZTjofE4Z6eGteqe8k+CwS7eF0Xkao834ccnAuijTgJYpu0MeeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739741254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Upgrx8uAIc0HEMB/JtH81gj4gpQ1uERJ+w8aRQiDxe8=; b=GVxNa45APIjZchlkLqQsvBF14HohxcY2gyrODkR3RSVHQf30WHvIJ/u/c+13JDfsKbjGhq YH19gj5voOLNAm+opB4u2AihvBcn5Em4+AKm8iNhRY2akjvq1cwJlmm05Vc00v4Gb8WRUZ ONFf+v8DCl4ZDlGdmUiN9AQzSfiXKbOOLbjOeP5NYitBbLLosDpqzEGA2pfb3Tc3cU0+o0 k7yyA9EbQ3sWdILcuq9/RWse/lFGB1daMNAOO0QayBa0iqni6Jjq+vt6gpJBofaramxFQP zRN0hD0PRq4mQOwRq9hOA2aKrDryTQGCzUwaUzjRgnZimYBk/xgUxY3l8zHoLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwzQZ2XwHz14G1; Sun, 16 Feb 2025 21:27: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 51GLRYdn096574; Sun, 16 Feb 2025 21:27:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GLRYQM096571; Sun, 16 Feb 2025 21:27:34 GMT (envelope-from git) Date: Sun, 16 Feb 2025 21:27:34 GMT Message-Id: <202502162127.51GLRYQM096571@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 3f850550d606 - main - pctrie: Fix size of printed value in KASSERT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f850550d6067bd0f549602d3b372939bd214e31 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=3f850550d6067bd0f549602d3b372939bd214e31 commit 3f850550d6067bd0f549602d3b372939bd214e31 Author: Doug Moore AuthorDate: 2025-02-16 21:24:13 +0000 Commit: Doug Moore CommitDate: 2025-02-16 21:27:21 +0000 pctrie: Fix size of printed value in KASSERT The value 'index' in a pctrie iterator cannot be written with "%lx" on a 32-bit machine. Use '%jx' after a uintmax_t cast instead. Reported by: bz Fixes: bba883df5e88d0fb1133b23c05db5501dd321ad8 --- sys/kern/subr_pctrie.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index 51be005cccd7..a17c386a6e24 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -900,7 +900,8 @@ pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode) { KASSERT(NULL != pctrie_match_value(pctrie_node_load(pctrie_child( it->ptree, it->node, it->index), NULL, PCTRIE_LOCKED), it->index), - ("%s: removing value %lx not at iter", __func__, it->index)); + ("%s: removing value %jx not at iter", __func__, + (uintmax_t)it->index)); pctrie_remove(it->ptree, it->node, it->index, freenode); if (*freenode != NULL) it->node = pctrie_parent(it->node); From nobody Sun Feb 16 22:09:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yx0MD1spZz5p1DM; Sun, 16 Feb 2025 22:09: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx0MD0z63z3wC9; Sun, 16 Feb 2025 22:09:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739743784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uI/n2L0mn+Ts/5m4uzFN6PIXtUAKR7UgPkYqkgxQe/k=; b=pMU4ssUVc1Trzddbys9nMBg5t32265N94DLVHMuzY44wtITMAU4YwaDvN8EZ9EcbBYNl42 eBg6W5lifgKhck01I0B/N6wjIbpvrT4ZKM/7iyGyDAwvXNhLs9FumwGnnDc1rwq2bFHHW0 au+pBDi+UeZvIhxlSaHkBlzwvd4Ts6XOVQ8m4tE+V/91FyZcgBDkmZBryRsdxVylHDGamB LHWezpA0ZLGixUdRcEA33I19v7bsLj4zM29ZDOvPjDEc5DMFkWo95vltjVxvMJByDqdufe sop3kTDJGUP0eX3+5uIQLFnpO5T+ZNECuF40cLbx0vK+DiFfEfXvgshn1oDD8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739743784; a=rsa-sha256; cv=none; b=kZqeVmiqrFBAr6Bbh88HJl+DPPhjJ8ICBcq6vFgAcBw555RqfqmR+dQ/b3ed8KGYE/6WxB ySHb9E5modcMlQqcNgj9N7EMK4XMQwAy5Yldhilc+QHXINSAvRFH/sxN+IIxGYWfsqV5uU CKTA+lWW5xrcuGnVy7allyYzC0KTL/AKrJ/gGLl2Vclgl5HzXIHtNbSbtT9utQ9fMyGWdp d+biGbZEennF/xPpu5YMCgOKI6/Cp/fs5pGrS8KaThtDJzX1k14FVrDcRXJ9rxXil2s3TA Nti11eMVLE2HRNpZJo4wX7JCdcmEP/28SAGE6JebSnt+xJMdh3mL8ukyS+FoYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739743784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uI/n2L0mn+Ts/5m4uzFN6PIXtUAKR7UgPkYqkgxQe/k=; b=d8R0tbHe+44MIVrS90MQ/Oq0sil7cpkuh8k3/7AhMdJRj8hRPQthDoZS+BQdb2qCwCmJMG +HcUO8ggr4Y7U4qu1yUlt4914h050zjkxPnDKg5jgRpeC9ItYGv69M/IDBr/PLIQ4e0W/l Cxj2bjUPMN/kqPjqS5nQGLhkdANHK98Gcbkvkd3VY7QspubUVHgX8qZs7T6//an58CQnlN rDzbKBFHcQGXP4/yYK3Ec2PV710xQwGmaK+GrKgCCgWrxdYXeHQeWuT/hl/hqmRRllE+4E eMO0c2GD4OqPUCundl24kAKpR16X5LvoJ/rWrG4CAqRxxJdpCXR9uaQKLwusNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx0MD06xHz14Zb; Sun, 16 Feb 2025 22:09: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 51GM9h0j072806; Sun, 16 Feb 2025 22:09:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GM9h6p072803; Sun, 16 Feb 2025 22:09:43 GMT (envelope-from git) Date: Sun, 16 Feb 2025 22:09:43 GMT Message-Id: <202502162209.51GM9h6p072803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 49010ba706d3 - main - LinuxKPI: 802.11: fill in a lot more RX status fields List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49010ba706d39fba0d8bc128d96e6122e65eb8ad Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=49010ba706d39fba0d8bc128d96e6122e65eb8ad commit 49010ba706d39fba0d8bc128d96e6122e65eb8ad Author: Bjoern A. Zeeb AuthorDate: 2025-01-28 00:20:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:09:00 +0000 LinuxKPI: 802.11: fill in a lot more RX status fields Convert a lot more LinuxKPI rx_status fields to net80211 rx_stats bits for as much as we can see fit. Factor the entire logic out into its own function as it got quite long. Now only net80211 needs to start using more of these values and report them. Also fix some related fields and struct definitions in LinuxKPI. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- .../linuxkpi/common/include/linux/ieee80211.h | 4 +- sys/compat/linuxkpi/common/include/net/cfg80211.h | 9 +- sys/compat/linuxkpi/common/include/net/mac80211.h | 10 +- sys/compat/linuxkpi/common/src/linux_80211.c | 196 +++++++++++++++++---- 4 files changed, 170 insertions(+), 49 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 0169e12b1804..20527a8174f5 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -100,7 +100,9 @@ struct ieee80211_mmie_16 { #define IEEE80211_QOS_CTL_ACK_POLICY_NOACK 0x0020 #define IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT 0x0100 -#define IEEE80211_RATE_SHORT_PREAMBLE BIT(0) +enum ieee80211_rate_flags { + IEEE80211_RATE_SHORT_PREAMBLE = BIT(0), +}; enum ieee80211_rate_control_changed_flags { IEEE80211_RC_BW_CHANGED = BIT(0), diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index ee16449ecd1c..bcbf629abb2f 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -175,11 +175,10 @@ struct rate_info { }; struct ieee80211_rate { - /* TODO FIXME */ - uint32_t bitrate; - uint32_t hw_value; - uint32_t hw_value_short; - uint32_t flags; + uint32_t flags; /* enum ieee80211_rate_flags */ + uint16_t bitrate; + uint16_t hw_value; + uint16_t hw_value_short; }; struct ieee80211_sta_ht_cap { diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index f5d3e1036edc..43df740b0bd0 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -600,8 +600,10 @@ enum ieee80211_rx_status_flags { RX_FLAG_DUP_VALIDATED = BIT(5), RX_FLAG_FAILED_FCS_CRC = BIT(6), RX_FLAG_ICV_STRIPPED = BIT(7), - RX_FLAG_MACTIME_PLCP_START = BIT(8), - RX_FLAG_MACTIME_START = BIT(9), + RX_FLAG_MACTIME = BIT(8) | BIT(9), + RX_FLAG_MACTIME_PLCP_START = 1 << 8, + RX_FLAG_MACTIME_START = 2 << 8, + RX_FLAG_MACTIME_END = 3 << 8, RX_FLAG_MIC_STRIPPED = BIT(10), RX_FLAG_MMIC_ERROR = BIT(11), RX_FLAG_MMIC_STRIPPED = BIT(12), @@ -616,12 +618,12 @@ enum ieee80211_rx_status_flags { RX_FLAG_AMPDU_IS_LAST = BIT(21), RX_FLAG_AMPDU_LAST_KNOWN = BIT(22), RX_FLAG_AMSDU_MORE = BIT(23), - RX_FLAG_MACTIME_END = BIT(24), + /* = BIT(24), */ RX_FLAG_ONLY_MONITOR = BIT(25), RX_FLAG_SKIP_MONITOR = BIT(26), RX_FLAG_8023 = BIT(27), RX_FLAG_RADIOTAP_TLV_AT_END = BIT(28), - RX_FLAG_MACTIME = BIT(29), + /* = BIT(29), */ RX_FLAG_MACTIME_IS_RTAP_TS64 = BIT(30), RX_FLAG_FAILED_PLCP_CRC = BIT(31), }; diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 07b79fed2c2b..f1738a30993c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5308,6 +5308,160 @@ lkpi_80211_lhw_rxq_task(void *ctx, int pending) } } +static void +lkpi_convert_rx_status(struct ieee80211_hw *hw, + struct ieee80211_rx_status *rx_status, + struct ieee80211_rx_stats *rx_stats, + uint8_t *rssip) +{ + struct ieee80211_supported_band *supband; + int i; + uint8_t rssi; + + memset(rx_stats, 0, sizeof(*rx_stats)); + rx_stats->r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; + /* XXX-BZ correct hardcoded noise floor, survey data? */ + rx_stats->c_nf = -96; + if (ieee80211_hw_check(hw, SIGNAL_DBM) && + !(rx_status->flag & RX_FLAG_NO_SIGNAL_VAL)) + rssi = rx_status->signal; + else + rssi = rx_stats->c_nf; + /* + * net80211 signal strength data are in .5 dBm units relative to + * the current noise floor (see comment in ieee80211_node.h). + */ + rssi -= rx_stats->c_nf; + if (rssip != NULL) + *rssip = rssi; + rx_stats->c_rssi = rssi * 2; + rx_stats->r_flags |= IEEE80211_R_BAND; + rx_stats->c_band = + lkpi_nl80211_band_to_net80211_band(rx_status->band); + rx_stats->r_flags |= IEEE80211_R_FREQ | IEEE80211_R_IEEE; + rx_stats->c_freq = rx_status->freq; + rx_stats->c_ieee = ieee80211_mhz2ieee(rx_stats->c_freq, rx_stats->c_band); + + rx_stats->c_rx_tsf = rx_status->mactime; + + /* XXX RX_FLAG_MACTIME_IS_RTAP_TS64 ? */ + if ((rx_status->flag & RX_FLAG_MACTIME) == + (RX_FLAG_MACTIME_START|RX_FLAG_MACTIME_END)) { + rx_stats->r_flags |= IEEE80211_R_TSF64; + /* XXX RX_FLAG_MACTIME_PLCP_START ? */ + if ((rx_status->flag & RX_FLAG_MACTIME) == RX_FLAG_MACTIME_START) + rx_stats->r_flags |= IEEE80211_R_TSF_START; + if ((rx_status->flag & RX_FLAG_MACTIME) == RX_FLAG_MACTIME_END) + rx_stats->r_flags |= IEEE80211_R_TSF_END; + /* XXX-BZ if TSF_END will net80211 do the unwind of time? */ + } + + if (rx_status->chains != 0) { + int cc; + int8_t crssi; + + rx_stats->c_chain = rx_status->chains; + rx_stats->r_flags |= IEEE80211_R_C_CHAIN; + + cc = 0; + for (i = 0; i < nitems(rx_status->chain_signal); i++) { + if (!(rx_status->chains & BIT(i))) + continue; + crssi = rx_status->chain_signal[i]; + crssi -= rx_stats->c_nf; + rx_stats->c_rssi_ctl[i] = crssi * 2; + rx_stats->c_rssi_ext[i] = crssi * 2; /* XXX _ext ??? ATH thing? */ + /* We currently only have the global noise floor value. */ + rx_stats->c_nf_ctl[i] = rx_stats->c_nf; + rx_stats->c_nf_ext[i] = rx_stats->c_nf; + cc++; + } + if (cc > 0) + rx_stats->r_flags |= (IEEE80211_R_C_NF | IEEE80211_R_C_RSSI); + } + + /* XXX-NET80211 We are not going to populate c_phytype! */ + + switch (rx_status->encoding) { + case RX_ENC_LEGACY: + supband = hw->wiphy->bands[rx_status->band]; + if (supband != NULL) + rx_stats->c_rate = supband->bitrates[rx_status->rate_idx].bitrate; + /* Is there a LinuxKPI way of reporting IEEE80211_RX_F_CCK / _OFDM? */ + break; + case RX_ENC_HT: + rx_stats->c_pktflags |= IEEE80211_RX_F_HT; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rx_stats->c_rate = rx_status->rate_idx; /* mcs */ + break; + case RX_ENC_VHT: + rx_stats->c_pktflags |= IEEE80211_RX_F_VHT; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rx_stats->c_rate = rx_status->rate_idx; /* mcs */ + rx_stats->c_vhtnss = rx_status->nss; + break; + case RX_ENC_HE: + case RX_ENC_EHT: + TODO("net80211 has not matching encoding for %u", rx_status->encoding); + break; + } + + switch (rx_status->bw) { + case RATE_INFO_BW_20: + rx_stats->c_width = IEEE80211_RX_FW_20MHZ; + break; + case RATE_INFO_BW_40: + rx_stats->c_width = IEEE80211_RX_FW_40MHZ; + break; + case RATE_INFO_BW_80: + rx_stats->c_width = IEEE80211_RX_FW_80MHZ; + break; + case RATE_INFO_BW_160: + rx_stats->c_width = IEEE80211_RX_FW_160MHZ; + break; + case RATE_INFO_BW_320: + case RATE_INFO_BW_HE_RU: + case RATE_INFO_BW_EHT_RU: + case RATE_INFO_BW_5: + case RATE_INFO_BW_10: + TODO("net80211 has not matching bandwidth for %u", rx_status->bw); + break; + } + + if ((rx_status->enc_flags & RX_ENC_FLAG_LDPC) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_LDPC; + if ((rx_status->enc_flags & RX_ENC_FLAG_STBC_MASK) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_STBC; + + /* + * We only need these for LKPI_80211_HW_CRYPTO in theory but in + * case the hardware does something we do not expect always leave + * these enabled. Leaving this commant as documentation for the || 1. + */ +#if defined(LKPI_80211_HW_CRYPTO) || 1 + if (rx_status->flag & RX_FLAG_DECRYPTED) { + rx_stats->c_pktflags |= IEEE80211_RX_F_DECRYPTED; + /* Only valid if decrypted is set. */ + if (rx_status->flag & RX_FLAG_PN_VALIDATED) + rx_stats->c_pktflags |= IEEE80211_RX_F_PN_VALIDATED; + } + if (rx_status->flag & RX_FLAG_MMIC_STRIPPED) + rx_stats->c_pktflags |= IEEE80211_RX_F_MMIC_STRIP; + if (rx_status->flag & RX_FLAG_MIC_STRIPPED) { + /* net80211 re-uses M[ichael]MIC for MIC too. Confusing. */ + rx_stats->c_pktflags |= IEEE80211_RX_F_MMIC_STRIP; + } + if (rx_status->flag & RX_FLAG_IV_STRIPPED) + rx_stats->c_pktflags |= IEEE80211_RX_F_IV_STRIP; + if (rx_status->flag & RX_FLAG_MMIC_ERROR) + rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_MIC; + if (rx_status->flag & RX_FLAG_FAILED_FCS_CRC) + rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_FCSCRC; +#endif +} + /* For %list see comment towards the end of the function. */ void linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, @@ -5325,7 +5479,7 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, struct ieee80211_hdr *hdr; struct lkpi_sta *lsta; int i, offset, ok; - int8_t rssi; + uint8_t rssi; bool is_beacon; if (skb->len < 2) { @@ -5402,44 +5556,8 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, no_trace_beacons: #endif - memset(&rx_stats, 0, sizeof(rx_stats)); - rx_stats.r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; - /* XXX-BZ correct hardcoded rssi and noise floor, how? survey? */ - rx_stats.c_nf = -96; - if (ieee80211_hw_check(hw, SIGNAL_DBM) && - !(rx_status->flag & RX_FLAG_NO_SIGNAL_VAL)) - rssi = rx_status->signal; - else - rssi = rx_stats.c_nf; - /* - * net80211 signal strength data are in .5 dBm units relative to - * the current noise floor (see comment in ieee80211_node.h). - */ - rssi -= rx_stats.c_nf; - rx_stats.c_rssi = rssi * 2; - rx_stats.r_flags |= IEEE80211_R_BAND; - rx_stats.c_band = - lkpi_nl80211_band_to_net80211_band(rx_status->band); - rx_stats.r_flags |= IEEE80211_R_FREQ | IEEE80211_R_IEEE; - rx_stats.c_freq = rx_status->freq; - rx_stats.c_ieee = ieee80211_mhz2ieee(rx_stats.c_freq, rx_stats.c_band); - - /* - * We only need these for LKPI_80211_HW_CRYPTO in theory but in - * case the hardware does something we do not expect always leave - * these enabled. Leaving this commant as documentation for the || 1. - */ -#if defined(LKPI_80211_HW_CRYPTO) || 1 - if (rx_status->flag & RX_FLAG_DECRYPTED) { - rx_stats.c_pktflags |= IEEE80211_RX_F_DECRYPTED; - /* Only valid if decrypted is set. */ - if (rx_status->flag & RX_FLAG_PN_VALIDATED) - rx_stats.c_pktflags |= IEEE80211_RX_F_PN_VALIDATED; - } -#endif - - /* XXX (*sta_statistics)() to get to some of that? */ - /* XXX-BZ dump the FreeBSD version of rx_stats as well! */ + rssi = 0; + lkpi_convert_rx_status(hw, rx_status, &rx_stats, &rssi); lhw = HW_TO_LHW(hw); ic = lhw->ic; From nobody Sun Feb 16 22:40:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yx1303PDKz5p3CT; Sun, 16 Feb 2025 22:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx1300p1bz4JCF; Sun, 16 Feb 2025 22:40:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdLt0YWIT85HyjOhKKXa6/rMBZ0ww2EmD1PA/hMHPZg=; b=uqgVhtqTwIgZOaDxIY0/ncX3drhsGm6Tspkx5BEhK4enk+9c70a7uZ+egg0FLsp/cy8a14 6/mJRarj35SvDK5Z2uT19TV+C8KsqHX9hdvOPiFq1hujZFwnI2GfWdZL5ierVG2tPX67Jt eCDIaU86pbTnhKHaHWkDMqoaYjGoMjblKEtX76FM/Zux59FPgq5aDCmB3/9TBEii6HBhDR t+w1IJSyNhIMCm5WE257hfv9F8Igt2kmFC7HmEpvXeQQrXRNI1iiDlK7jYRUecfrkPMlps Vxv43iOIoUzoRu5oU2o3Mx3q7RRz4iLvUCjihxpUZywqphlKsEtikD2mxM3D+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739745644; a=rsa-sha256; cv=none; b=sbeezRulMo9k+OxG9L2Yun98f7LRvRDFwSDnrO3p4zpM5zmySMFf36CFZxSCGFOWL360kQ E9dA8wWtCu1ZQtV2+1l4JF5r1uSOlqG5iO2FkqEqnDDSaHQTPiS2o0PcCWLczFa/Fmu0Qa 3UC+8aqiMtXWzwFBTy51SxuzMzKO+81GEjzTjUeFM6QiStKDmI8h0Buz1YMjzKjM4WqTlN yjJ/jZJE7kdhVHHKXv+RU43ZHeIxU1AS8D/4QJYUR/eFyrm7e9JRpADjQSUO3AI2oBviz5 MIzVuZpVM8bRuZWHXnZ2hYRP9Yavl+VdsaxmbfviDMY3mQEThsKUHFSi3FSP4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdLt0YWIT85HyjOhKKXa6/rMBZ0ww2EmD1PA/hMHPZg=; b=vK2vYrD4FfNBcknRt6HDY3N2wNWpcTF8iGsDMvywpllW4o5MAmK/cg0j/UOoY0+bISEx7E Idm2SpumI4J+oVbO1S+GEYzfvR7CyPDGES1Pt/7S2Z9SF/Ixy/mccMLX1szv4oRL/RHIr0 0rlICiWlSNf5PFQjNomVoy5f3m1WuflR0MxJnGTmRYD9GRJiL5xfNyHi0hYH2LT3E8lL23 qFrpSyOzU+QU4JE4ThiFRnhvDlsVDhzXI/3hDcvsXNZCWCaOviDuAGcYtErZDCqMUtLIJb TDhRbrz0hzTz++/91Esui8qSylHz6rbx/oikUxwjxeNyL82P2gU2/71W7Jur8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx13003z4z15sy; Sun, 16 Feb 2025 22:40: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 51GMeh7x038413; Sun, 16 Feb 2025 22:40:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GMehTH038409; Sun, 16 Feb 2025 22:40:43 GMT (envelope-from git) Date: Sun, 16 Feb 2025 22:40:43 GMT Message-Id: <202502162240.51GMehTH038409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 470aaf42c3c0 - main - LinuxKPI: 802.11: make struct ieee80211_tx_info a bit more packed List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 470aaf42c3c0661821a8744ae7c29b096adb4aa3 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=470aaf42c3c0661821a8744ae7c29b096adb4aa3 commit 470aaf42c3c0661821a8744ae7c29b096adb4aa3 Author: Bjoern A. Zeeb AuthorDate: 2025-01-26 19:37:54 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:24:53 +0000 LinuxKPI: 802.11: make struct ieee80211_tx_info a bit more packed Given I was looking at the struct make it more packed at the beginning at least. In fact it did not shrink but the tx_time_est got expanded. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 2 +- sys/compat/linuxkpi/common/include/linux/nl80211.h | 2 +- sys/compat/linuxkpi/common/include/net/mac80211.h | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 20527a8174f5..ca1493e666c6 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -413,7 +413,7 @@ enum ieee80211_tx_info_flags { IEEE80211_TX_CTL_RATE_CTRL_PROBE = BIT(18), IEEE80211_TX_CTL_LDPC = BIT(19), IEEE80211_TX_CTL_STBC = BIT(20), -}; +} __packed; enum ieee80211_tx_status_flags { IEEE80211_TX_STATUS_ACK_SIGNAL_VALID = BIT(0), diff --git a/sys/compat/linuxkpi/common/include/linux/nl80211.h b/sys/compat/linuxkpi/common/include/linux/nl80211.h index 254ed6e13f5c..1babd23d65fe 100644 --- a/sys/compat/linuxkpi/common/include/linux/nl80211.h +++ b/sys/compat/linuxkpi/common/include/linux/nl80211.h @@ -133,7 +133,7 @@ enum nl80211_band { /* Keep this last. */ NUM_NL80211_BANDS -}; +} __packed; enum nl80211_chan_flags { /* XXX TODO */ diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 43df740b0bd0..f1b1ec97cbbc 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -879,11 +879,11 @@ struct ieee80211_prep_tx_info { /* XXX-BZ too big, over-reduce size to u8, and array sizes to minuimum to fit in skb->cb. */ /* Also warning: some sizes change by pointer size! This is 64bit only. */ struct ieee80211_tx_info { - enum ieee80211_tx_info_flags flags; + enum ieee80211_tx_info_flags flags; /* 32 bits */ /* TODO FIXME */ - u8 band; - u8 hw_queue; - bool tx_time_est; + enum nl80211_band band; /* 3 bits */ + uint16_t hw_queue:4, /* 4 bits */ + tx_time_est:10; /* 10 bits */ union { struct { struct ieee80211_tx_rate rates[4]; From nobody Sun Feb 16 22:40:45 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yx131668Sz5p39l; Sun, 16 Feb 2025 22:40: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx1311jq7z4JFN; Sun, 16 Feb 2025 22:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cA4JxnNjVr/782YCtvpQXWBRMOmWLJN+uth7Wf2+74E=; b=bYEsgJZUDlW97osXbdS6cQBPyCce9ajGbZnhp4kTFMpFpUIaYnQgfSSa8ci/JKjUNidtQx W2WAPF2gXtZHcxC7GSFACKuqQ1G9ohwh2RjNptSQwfG3kjoNc3RUqg26+w8QqbxHhGw+cB V1To8dWr2jYseqNPq+jZrDcVwyLV31SKrUIAC5DOXBZN5FYlJYL7tugqdlZ2iroWJa+NqH KWhkLQ5bHtBAz7/lrm8pWtbWLQh6fSSqAmiF6D1KQSd/riF/PEEKOnUcgd9iS3jvoB/fOt AlZYiN7t4/WJZ971x1+953SGSy3IMSlID6icNkVMpWvfTF2WRCLQfAlFAFOONA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739745645; a=rsa-sha256; cv=none; b=eUzru2DN5vAIMtUsoB9EGCW4wpLmTZblRtHz7QNTQfA7rNgdWqDEBjKE8VYzZJGkRqgI6T IrhYUkRJLxQFNVWK4l28uVD10GRIxnr25Xp+CGyBSwaEurIbx6DFtaLZg4kWmX5M+Zk+0c YkpnWRk0qZzgHU3BkduBY5BG216iyNq+qKSFO6mpdeEE/YR1VxXpiKXOwt7lov65UHYk5+ 16uZWwJAQn3KjG3Po1oiyD36jyt8b4aROHchrYUSYsPbZ7TCXchai5aiEe3/KqALx/tzjS gCYhkYeTZY+rbLy28R5GxfcN2UyprznGG005IiPjgBCG2V1JMFE8TiQhj6MSBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cA4JxnNjVr/782YCtvpQXWBRMOmWLJN+uth7Wf2+74E=; b=CuS3iTcAUIFKWc0O0VIj725+eHmx1jZ8s/PssHFU6cClBNgTcfVKf5Jra6kFHovd4RscUU jAIHUu1J22x1xdWIoRKAT3qouF8Zg3/iifPCdN2uPrtBU0mC/ar4u/eD2xoFWUL40X1N67 0TM9CQ0zcoiU2A2SiSuaqk+MrdeJideGvyh3VB1gvGsMbAyLgb0qKAUhREgIGinazRDdB9 2n7xRxglcrJBOaq8x37TT+ZfCTNWEiT2RBzRRrc645qCJ2jE013J2M2eFT1xweE9gHO92a LL4XJtaEiqmY4bdsDsv7Hhh6+4ezkV8eSTRR62xmkfrlsCVJ2fJc6sqn4w5Zew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx1310mygz15dk; Sun, 16 Feb 2025 22:40: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 51GMejHB038449; Sun, 16 Feb 2025 22:40:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GMejvv038446; Sun, 16 Feb 2025 22:40:45 GMT (envelope-from git) Date: Sun, 16 Feb 2025 22:40:45 GMT Message-Id: <202502162240.51GMejvv038446@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a7c19b8a99a6 - main - LinuxKPI; 802.11: start implementing cfg80211_calculate_bitrate() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a7c19b8a99a604e8940c7475220df5de7e295ffa Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a7c19b8a99a604e8940c7475220df5de7e295ffa commit a7c19b8a99a604e8940c7475220df5de7e295ffa Author: Bjoern A. Zeeb AuthorDate: 2024-12-28 10:10:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:33:03 +0000 LinuxKPI; 802.11: start implementing cfg80211_calculate_bitrate() For now we only return the legacy rate and have two TODOs for HT and VHT which still need to be implemented as needed. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 6 ++--- sys/compat/linuxkpi/common/src/linux_80211.c | 30 +++++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index bcbf629abb2f..cf1e05dde7ea 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1304,6 +1304,7 @@ void linuxkpi_wiphy_delayed_work_cancel(struct wiphy *, int linuxkpi_regulatory_set_wiphy_regd_sync(struct wiphy *wiphy, struct linuxkpi_ieee80211_regdomain *regd); +uint32_t linuxkpi_cfg80211_calculate_bitrate(struct rate_info *); uint32_t linuxkpi_ieee80211_channel_to_frequency(uint32_t, enum nl80211_band); uint32_t linuxkpi_ieee80211_frequency_to_channel(uint32_t, uint32_t); struct linuxkpi_ieee80211_channel * @@ -1574,11 +1575,10 @@ cfg80211_find_vendor_ie(unsigned int oui, int oui_type, return (__DECONST(uint8_t *, elem)); } -static __inline uint32_t +static inline uint32_t cfg80211_calculate_bitrate(struct rate_info *rate) { - TODO(); - return (-1); + return (linuxkpi_cfg80211_calculate_bitrate(rate)); } static __inline uint32_t diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f1738a30993c..1d834673fa74 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5890,6 +5890,36 @@ linuxkpi_wiphy_free(struct wiphy *wiphy) kfree(lwiphy); } +static uint32_t +lkpi_cfg80211_calculate_bitrate_ht(struct rate_info *rate) +{ + TODO("cfg80211_calculate_bitrate_ht"); + return (rate->legacy); +} + +static uint32_t +lkpi_cfg80211_calculate_bitrate_vht(struct rate_info *rate) +{ + TODO("cfg80211_calculate_bitrate_vht"); + return (rate->legacy); +} + +uint32_t +linuxkpi_cfg80211_calculate_bitrate(struct rate_info *rate) +{ + + /* Beware: order! */ + if (rate->flags & RATE_INFO_FLAGS_MCS) + return (lkpi_cfg80211_calculate_bitrate_ht(rate)); + + if (rate->flags & RATE_INFO_FLAGS_VHT_MCS) + return (lkpi_cfg80211_calculate_bitrate_vht(rate)); + + IMPROVE("HE/EHT/..."); + + return (rate->legacy); +} + uint32_t linuxkpi_ieee80211_channel_to_frequency(uint32_t channel, enum nl80211_band band) From nobody Sun Feb 16 23:27:10 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yx24b4KdYz5p5Wx; Sun, 16 Feb 2025 23:27: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx24b0Mynz3Yw8; Sun, 16 Feb 2025 23:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2c14LIWr+hnm/BOVG0y053Lz7kSgdvVnXfiXRZX4rMo=; b=NXIEmhdcqcP1ohAQEnqjc7GKj9mR1WRg5Qa9wxYbGC4SUl4Zf9CXmswsHNK6UwZuqTPJen o+u1xFbtWUjtxCfMwwt3+aFkh94uqzwySTcnAYxt/YhQ6vNzBYu8ri8YLPkTe5LgDm0jMi nsQzA0NVFJe/JU6eiD6MELvkXk+QonLpDF4VAdeVoIukUkJ54pNqSjZjWgGixP2fU1ALal 0P/CS1/0xDoQCGIK7t0X/ghd1rVqqDf7DBotlr3XaEIlZrJ3MY5NXSpoBEcyVf60U342Cx 0eq2B41TUb75i6xTBw1kBietM56TSvqMRhkYkE+ez1kwsxdYqqnD2RISVDhI8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739748431; a=rsa-sha256; cv=none; b=UjWeMAm+mOK578JtiFimlvCnFqCY9FNhUEnS4KffdoRcPpWep6EVTpwivz65Cwz8gAGvp0 wJDtNBqS4wCcoSknGIon5Y6t3NLG6b1qnz3UzW9KatVS4BBDnyC5LLoQ0K+iGcrISFtMPF PWLktiZvkRGb4DypbO4ZvWMYIWaFxp0p77lBZYa7OjmY3uM8wRjN0Lbdx5SZJCkSOXj72C OGUNmRnYNCeE4xMtbSZFrDNG+iplVPl/aYkFBcerdQR8Wv69MrF6tug9Dz2YS8tfk1/SnF pyFJnwQ4BlO73zOnH8L0+XvqlQUpspBlWDOy0hY7evgVPb0nQcjLbk3Sd8VZ5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2c14LIWr+hnm/BOVG0y053Lz7kSgdvVnXfiXRZX4rMo=; b=lwM2hsrBpg0/60RQ9Jd4P095Bs+hA0cRhKK7BDfH5ezGh9Dipb5V3mV4zGd9MGHZmDDZ0J uHKl0ZyniH2r+PlMBj9J8bdyo6BY0tQQH3pjBCq5culm99JyxyedFRdhf52rJJdzpSXoCk RbGt42Ptq2/YhdJF44yhm1ZK+ACq1pyNM6kZh47pHcuwxSDaHHB2YTLgTGEdbHUHWB8kmK zh8fRhqWmbefdpzsSR91j/kFxpdwkzOOaw0oZzrqWdCueWDr4XHhVWjGCM40pFaj97lqeZ BG2/wsZeIhjxHOpUQ+YrvCTiT4U0H2cRSIfxy42kKKaZp/+Qzny6KhKb9Bm1oA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx24Z6bp3z16d6; Sun, 16 Feb 2025 23:27: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 51GNRAj4022735; Sun, 16 Feb 2025 23:27:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GNRAp7022732; Sun, 16 Feb 2025 23:27:10 GMT (envelope-from git) Date: Sun, 16 Feb 2025 23:27:10 GMT Message-Id: <202502162327.51GNRAp7022732@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: d2407a21bd03 - main - LinuxKPI: 802.11: ieee80211_vif_usable_links() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2407a21bd032587194dff46779862ffcd5c33d8 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d2407a21bd032587194dff46779862ffcd5c33d8 commit d2407a21bd032587194dff46779862ffcd5c33d8 Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 11:59:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:45:33 +0000 LinuxKPI: 802.11: ieee80211_vif_usable_links() ieee80211_vif_usable_links() shows up in TODO() tracking. Turns out the return (1) is likely wrong and should be 0 given we do not support MLD yet. For now return the valid_links bitmap and leave an IMPROVE as likely not all of the valid ones will be useable. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index f1b1ec97cbbc..8d6d690b2f57 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -2539,8 +2539,8 @@ ieee80211_get_eht_iftype_cap_vif(const struct ieee80211_supported_band *band, static inline uint32_t ieee80211_vif_usable_links(const struct ieee80211_vif *vif) { - TODO(); - return (1); + IMPROVE("MLO usable links likely are not just valid"); + return (vif->valid_links); } static inline bool From nobody Sun Feb 16 23:27:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yx24c3NBBz5p5g1; Sun, 16 Feb 2025 23:27: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx24c0mbQz3Z1P; Sun, 16 Feb 2025 23:27:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9AeE58/mN3DmYTMmOym0Mc+nItloGhZ/q8hkE2Q7M8w=; b=vWZJkd3KqjWhVxeaaipjNXjZyJsALnxKbBkRuigziYOdtnvIFIKzzhYBqrf+B3hKX5tPih O39lD+V9WQmydQtODaU8VXqvwKmdI/q0R2Z7APSSIYgoQ3juY1Vm/ph9SnNK8FyUFmFCeR i16AYOZxjpgVyzM51PSczKw4xrpIYkUZhs1AWgw6p53Zxug0WrQK+drSRCOP776EVauEVP tSiNJqginSRVcw6MrAIIfH3uT18rlor0hED3i0bA9iFG7mDszh7OmSIYA+O+3NvFYvq0gy 4wkPllgrcQ78L4JNjH9nueB61lT0r2oClivfDFOdh/P4O/NC+B98MEIq4tGClQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739748432; a=rsa-sha256; cv=none; b=l0YdearNg6y6qG/DBzadLl0nEUX1Wiz1RScOwzvzh/UgFohBAupe2Nd6Wui7icCiuzPcHM bDHEbT9UTN3n9voXiqxIM9kwrKncJW8JLUMrid+V6j6m1NaTvqwou6OSgB3LGzmznGlSU3 Lz6gucl8KlDLKg8kGxkjp9qlvrCnmQZis3TIfZ9fOjM+i1OtX6S8c/wdr1yd0i0zjp++qk T5DlziZ6IjstWemxQoPEzrsQ9rsB935HQkgryh8PFcop9I5mzAVR8m5/1PkFtrUDZ8As8k rm5PDat/nAW5wXP0KtXno8zErpAnv1wNrlpLHYSlp7T8nxu7NYFdWT5VEwg53A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9AeE58/mN3DmYTMmOym0Mc+nItloGhZ/q8hkE2Q7M8w=; b=tn3Yca+iS2F6p7ODNgg8GC8ibY+FuFAa9tNKh4uuk3ZBM/MinH07zZqNyzbU6bvZpPqKs3 9rWH3Dyyuz7iozE/yKQ8XHY/pYaiG+v5SA/cvU2hBzX6kzwPYu5OD3RCkYeX0YPNgplT63 FIJSByj6/s7AtGNLwH7Vb+zix+D4XgasPdv+x2CPUnVR4QkrzCpZJHKE1ufQvErPtKFYd2 OWxPCNjchx5imK0UEKuYIlDCCyjMsK0lUZa/qVpN7w22fzlJFLyyCkDTCvnRolVDGdK+y0 xNJ/eHABs4+NBggMxw7313PTZwNsU12xxR8OlqP4q9cP4XWxXr0yG/58/i/2vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx24b6rFpz16vt; Sun, 16 Feb 2025 23:27: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 51GNRBQZ022772; Sun, 16 Feb 2025 23:27:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GNRBo3022769; Sun, 16 Feb 2025 23:27:11 GMT (envelope-from git) Date: Sun, 16 Feb 2025 23:27:11 GMT Message-Id: <202502162327.51GNRBo3022769@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: bcf1d8ee3552 - main - LinuxKPI: 802.11/skb: add extra information for skb alloc failures List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bcf1d8ee355213eef4a125c0b8518f1cb4f35df4 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bcf1d8ee355213eef4a125c0b8518f1cb4f35df4 commit bcf1d8ee355213eef4a125c0b8518f1cb4f35df4 Author: Bjoern A. Zeeb AuthorDate: 2024-12-27 21:26:52 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 23:04:24 +0000 LinuxKPI: 802.11/skb: add extra information for skb alloc failures rtw88 seems to have an skb leak still. Add a WARN_ONCE to __skb_queue_purge() just to make sure there is no glitch due to missing locking. Also add a rolling error reporting for skb allocation failures in LinuxKPI to gather some more information if possible about queue states. This is a corrected version of what was initially part of D48474. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 2 ++ sys/compat/linuxkpi/common/src/linux_80211.c | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 341ed33ddfcd..43f35d8f065f 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -706,6 +706,8 @@ __skb_queue_purge(struct sk_buff_head *q) SKB_TRACE(q); while ((skb = __skb_dequeue(q)) != NULL) kfree_skb(skb); + WARN_ONCE(skb_queue_len(q) != 0, "%s: queue %p not empty: %u", + __func__, q, skb_queue_len(q)); } static inline void diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1d834673fa74..f695aa4cfc7d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3854,7 +3854,22 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) */ skb = dev_alloc_skb(hw->extra_tx_headroom + m->m_pkthdr.len); if (skb == NULL) { - ic_printf(ic, "ERROR %s: skb alloc failed\n", __func__); + static uint8_t skb_alloc_failures = 0; + + if (skb_alloc_failures++ == 0) { + int tid; + + sta = LSTA_TO_STA(lsta); + ic_printf(ic, "ERROR %s: skb alloc failed %d + %d, lsta %p sta %p ni %p\n", + __func__, hw->extra_tx_headroom, m->m_pkthdr.len, lsta, sta, ni); + for (tid = 0; tid < nitems(sta->txq); tid++) { + if (sta->txq[tid] == NULL) + continue; + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); + ic_printf(ic, " tid %d ltxq %p seen_dequeue %d stopped %d skb_queue_len %u\n", + tid, ltxq, ltxq->seen_dequeue, ltxq-> stopped, skb_queue_len(<xq->skbq)); + } + } ieee80211_free_node(ni); m_freem(m); return;