From nobody Mon Sep 16 08:30:27 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X6dQW6D9Yz5WmS4; Mon, 16 Sep 2024 08:30: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 4X6dQW443Sz4X28; Mon, 16 Sep 2024 08:30:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726475427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6mFJydXjjf2R6fXi/1eGc0ToQ9pSAxfPy0iOsJRccto=; b=ylbDCbtl9s8ZpItpuaSD+j4tKrEgax7cbcta7HW0WRyY4WPY6vpuQZxenV49CskqM7Uhot CJcNtUDIQX4FdmInpYdo9+h7thkfMKmzG9w9wvGnDFakszt3XcSwO+G7qanOcq24Brj63Y N8nJkduyBFvZYWSTh9vr4yYAshHhvHBN/0wh/tfIm0J/ucdwprOw+Vfn1yiE7bpYx7TGzA vYfWo6ewbkTrnI5R+xjf+3+jf+OysHmxxDJwCP+E2Nb4t3lxbe1Erzo3ZBKaz5iSkX2jwX wvms/qdOuGUASU7zVxJi5vxNPwwR6Irs/92cBlBoBwdeSjkZAyg4cI7T89CGvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726475427; a=rsa-sha256; cv=none; b=SChiXh0S0/YGl1sTec1006be2kYWbTs1Zv4EiQBcIAIq+V+nJxTv9b+p2OjK0+bKQvV8Dg UZV7MlEzQmSmQ85+MwCiDjIB2yn0169W23Ch/+I0CGAPfQf2501ERYb5gtxBV1O7ytxh5S 6UOXbpOKZthfFSimhS5YUDolT1VhxzKfNVSl6zFLdbDP1HQw1l5sUf3s31cDqvtiv+Ta1w mpDhhAMwc1nX5UqiGoXFAPDCXq0O0qFY8I4ye+z3/spxIUcaq21kbewARCwTMZe0dZi6zP ukyAkD2uSUb7Qlzmm0ojcQIfOsnTWPdF2GmxpOpgaVhgvYOHMjmQ3DzDs/nhBw== 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=1726475427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6mFJydXjjf2R6fXi/1eGc0ToQ9pSAxfPy0iOsJRccto=; b=psTAo3gxqIG9q/lnghRpJBR8bRmLJ/X9IoLbIe1ElihoWC1935Dc+kqSXIE+8VOalmN/f9 16s4YUfYMIPS56LXwB//ZJ7nIfJ5uP8HTVTM8SgzdzHXuSuhL8E7SXYg4hRVtNeU2ivFkA wE6CJvBrjVNaTtS3YKztPxM8TXl9+QTYJBecP7qE3dnFFM88DrQcSKwk/LIxe3G9ckFtNr qFtTCDwY35UGC4X1GUwXf86rVylJOlUDg+ZfgPmsC10B6foLq2kkgPBeloQahuw5mcXkuQ 0rSC+zPrl4nx42NllgotL4/Qjr2yw6NZmIqPlZDFmMclITzGcefEimsIAk0YBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X6dQW3YnwznF6; Mon, 16 Sep 2024 08:30: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 48G8UR7o053665; Mon, 16 Sep 2024 08:30:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48G8URSA053662; Mon, 16 Sep 2024 08:30:27 GMT (envelope-from git) Date: Mon, 16 Sep 2024 08:30:27 GMT Message-Id: <202409160830.48G8URSA053662@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: a213882b9c41 - stable/14 - stale-symlink-buildworld.sh: improve documentation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a213882b9c4141bb5635eea2ddc2b4f1190cf219 Auto-Submitted: auto-generated The branch stable/14 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=a213882b9c4141bb5635eea2ddc2b4f1190cf219 commit a213882b9c4141bb5635eea2ddc2b4f1190cf219 Author: Wolfram Schneider AuthorDate: 2024-09-09 14:55:29 +0000 Commit: Wolfram Schneider CommitDate: 2024-09-16 08:30:06 +0000 stale-symlink-buildworld.sh: improve documentation (cherry picked from commit c77ca9a72c9934c407852f00d88cba09f5c9e31f) --- tools/build/stale-symlink-buildworld.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/build/stale-symlink-buildworld.sh b/tools/build/stale-symlink-buildworld.sh index a4515db3fccb..ee918d1c9cd9 100755 --- a/tools/build/stale-symlink-buildworld.sh +++ b/tools/build/stale-symlink-buildworld.sh @@ -4,8 +4,17 @@ # # stale-symlink-buildworld.sh - check for stale symlinks on a FreeBSD system # -# You can run the script before or after `make installworld' +# The purpose of this script is to detect stale symlinks, report them to +# stderr and exit with a non-zero status. All other cases are ignored, +# such as no symlinks, missing directories, permission problems, etc. # +# You can run the script before or after `make installworld', or any other +# make targets thats installs files. +# +# You can also check your local ports with: +# +# env STALE_SYMLINK_BUILDWORLD_DIRS=/usr/local ./stale-symlink-buildworld.sh + PATH="/bin:/usr/bin"; export PATH From nobody Mon Sep 16 08:30:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X6dQX5CMhz5WmKR; Mon, 16 Sep 2024 08:30: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 4X6dQX4C60z4Wrd; Mon, 16 Sep 2024 08:30:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726475428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O6y/xUTw0zhd0q4+a/N+bEGA6LRUxqWyRT+m5HW/r+c=; b=JMbuRqTqbLUkYoCNUzGiRCgeIO+4ouWesw74il0UUm2aipjC1tyywEmmP1ItKpyjXOlh9e GUuZa6b+22eAPVaZiNyaH1zV08DmzGBeyccjMqiNp2+g1Tjoe1kXD/LFLqNpyfU4/7AoU/ CK+jPE6AEuvszwCgeYGSRSH7m+sUfg6O1+MYkPHlvDI95E0TjFcm8nFCMNb4imiaUiIaa1 twM2eb3Bx9ukXw7Fef++Qp1M53oVmigVxL5yv9kZ4ryiyLLsrJmFHT/29Dy8rt/4djCynd zWYWfSu910HZwMS/AxnIAlNj9/aYJRSSLnf37l/+pPLd8ohnKaphj7UGLjnqrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726475428; a=rsa-sha256; cv=none; b=AnWC3iTRH2uevt3ei1WUVh/AmYHJru944FMekLJJzGPq/LNNeO0Uu0ct86kV5Udsj3d20D eWJrmjfY9iFSrAC7dbhORfsxC+MT1K+GFXHmj0cJnpPg/9zpyiRcrp3BJycaHXVK7e5Ap5 qkqpKSKu5KIOROoFtDg+CCfhCRSY9z1VbUkw7sQJow/mYUs38pYpSShath9ObprWCWm5Cf PdL/IRoX7pn6jxP4vnsU65L0Y8XArfOkp+LUj5OPrB+ktqkjpPHNN9QWOwlMskaKyTMsT5 T3CPkWzCmgLnupfa8la7AGDuVhTb0yg6tv7VE/UXyRr0clnmNbuC4L541giUAg== 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=1726475428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O6y/xUTw0zhd0q4+a/N+bEGA6LRUxqWyRT+m5HW/r+c=; b=sMCayHNHgOiyQd06zmxCqe81JxKyDXP3Ef/VfU2jDnRoYiawwpDZsQeoz5hDSGWAeybLmu rCWsAUeQlcpfGrXGlavtub3NDJOTF+A7qj3zfoU2GRuskvBTzBH5S0S8lXvukCfWZj/t78 ff134fZAE4r+CUBlWJKdw8LvMMZhMgpn5Ael7b9wSDNO3T2Y93F9YESBc10iCIluki5tPs 9Jg96kjbqWb+DEe8rao1bqzjgavzzAFkEZ6GWlHM2l8un6viaeZSmyFZbJZTTMvRvpBg/G LJqCJL/Rm9ObjDCBtkIBQ5vTJrNoNDKkid4uAZH952I0aCLp1ziFHP1Dwf03zQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X6dQX3pGkznF7; Mon, 16 Sep 2024 08:30: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 48G8USYN053716; Mon, 16 Sep 2024 08:30:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48G8USeh053713; Mon, 16 Sep 2024 08:30:28 GMT (envelope-from git) Date: Mon, 16 Sep 2024 08:30:28 GMT Message-Id: <202409160830.48G8USeh053713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 9ff3c094fde3 - stable/14 - stale symlinks: configurable obj dir prefix List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9ff3c094fde3b51b031d19a4f847122fdbb459ac Auto-Submitted: auto-generated The branch stable/14 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=9ff3c094fde3b51b031d19a4f847122fdbb459ac commit 9ff3c094fde3b51b031d19a4f847122fdbb459ac Author: Wolfram Schneider AuthorDate: 2024-08-12 19:34:43 +0000 Commit: Wolfram Schneider CommitDate: 2024-09-16 08:30:06 +0000 stale symlinks: configurable obj dir prefix Use $MAKEOBJDIRPREFIX if set, otherwise /usr/obj (cherry picked from commit ccb0365643dc5e8d37ada3789bbe370b81ba5b3c) --- tools/build/stale-symlink-buildworld.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/build/stale-symlink-buildworld.sh b/tools/build/stale-symlink-buildworld.sh index ee918d1c9cd9..acc3fb0baaf2 100755 --- a/tools/build/stale-symlink-buildworld.sh +++ b/tools/build/stale-symlink-buildworld.sh @@ -20,8 +20,10 @@ PATH="/bin:/usr/bin"; export PATH : ${ncpu=$(nproc)} +obj_dir_prefix=${MAKEOBJDIRPREFIX:="/usr/obj"} + # check other directories as well -: ${STALE_SYMLINK_BUILDWORLD_DIRS="/usr/obj"} +: ${STALE_SYMLINK_BUILDWORLD_DIRS=$obj_dir_prefix} trap 'rm -f $script' 0 script=$(mktemp -t stale-symlink) From nobody Mon Sep 16 08:35:17 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X6dX60jgpz5Wn0l; Mon, 16 Sep 2024 08:35: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 4X6dX56KYTz4YJM; Mon, 16 Sep 2024 08:35:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726475717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FJDS0ok23LfNFPT906/rHpLujnhhMDL4pCBRzLYwUP4=; b=TSz1k8kFsrO4UrH9aVlfVx8Qj+0zScQyej3MSGLPz80tD5WqikbQgvjvNnLiueietu4EGj QGeqM8ettHKeewyszk7MPnX6upSTVaKXFNKihDJaXHoWuRMf9PwTWIW3VvOzPZIhaW/Ck1 /lucyelo8cM4H6TRMQiVSsliZruoP+1B3f4j8+Sj+RClPMQ0S4nN0apkg4vB70OAq2HDNi Px4fHDR033UnCMVd5L9DRGy6A3wnyDq/PIcBRbqORwsBmCMcKJ7nK+/2K5KfRSY+m1DNQE g7etxEIy0esnP+q+a+iP2F4cnrbJxhKItz2L46qRvk4tF34n+h9GwXLDpo+YYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726475717; a=rsa-sha256; cv=none; b=UrQdFspy4aepy0TpfQf+9frNX2/ZEWzIBWchMoM2Q8kvs9LN70NScMQjDC5JbNEaMrWPJ2 NZqidrJ9iKtqhD5S0BgdqPfrl7pzWig9yBFB+KrLd3BFpTT5+ClUsFRzs2+vcEXiRf6Stb 1X6h6LeuCoVlRwGu2clNdlR1LLyDrIzUaNwEMFx40gxz8gneE+C5FFCuf9g9I9exlWBI25 txlfbCt8ZyJ+BO9BHzWgXWWHu/2DzJAi5Ah0Y7BazJ+BipOKZvgCxkzPmIkpVQTJfPQnmo VZ2WIaZwAsUKVTgwAUka6wOg8f2WDkBDfeF3apT2y7mYsoRSkzXoBMAUvMiAiw== 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=1726475717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FJDS0ok23LfNFPT906/rHpLujnhhMDL4pCBRzLYwUP4=; b=P98uA9bX2c7SPVoroxCfkvrf7ppPtZcNSiLxhp2uHEuNESGyzCDwE4N7LADph3VpGO8L0f wOpFsQA405gQB/LDuSla+Vbv1dVJhbH+p/BKmHLs52J7aXDdEqLkT6nZhk4QyOVyphD40A FUgvt0qkl94QQSYyh4uQkPBfR2TU7TdQfw15QQJCABoGvQ4/4Y0UCTEZS2uZOE0cxccC+i 4bgWudQ1g15F4K/N2cmamQMWaGbrpJXLptLLJznrsUlSs5//aNm0gAmL3+Ry2aqNGYNxl3 qa4pf6gAXKwmGnQzXKHOTo8KeP/jb17K9GmYyxnEG9BtLxqdAbmGqKLbNzhRJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X6dX55fSZzn8N; Mon, 16 Sep 2024 08:35: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 48G8ZHTR062558; Mon, 16 Sep 2024 08:35:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48G8ZHKb062555; Mon, 16 Sep 2024 08:35:17 GMT (envelope-from git) Date: Mon, 16 Sep 2024 08:35:17 GMT Message-Id: <202409160835.48G8ZHKb062555@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 009c3c55b31c - stable/13 - stale symlinks: configurable obj dir prefix List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 009c3c55b31cb70a16744b7f179913da1be24c7f Auto-Submitted: auto-generated The branch stable/13 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=009c3c55b31cb70a16744b7f179913da1be24c7f commit 009c3c55b31cb70a16744b7f179913da1be24c7f Author: Wolfram Schneider AuthorDate: 2024-08-12 19:34:43 +0000 Commit: Wolfram Schneider CommitDate: 2024-09-16 08:32:37 +0000 stale symlinks: configurable obj dir prefix Use $MAKEOBJDIRPREFIX if set, otherwise /usr/obj (cherry picked from commit ccb0365643dc5e8d37ada3789bbe370b81ba5b3c) --- tools/build/stale-symlink-buildworld.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/build/stale-symlink-buildworld.sh b/tools/build/stale-symlink-buildworld.sh index a4515db3fccb..32ebc1f9d66d 100755 --- a/tools/build/stale-symlink-buildworld.sh +++ b/tools/build/stale-symlink-buildworld.sh @@ -11,8 +11,10 @@ PATH="/bin:/usr/bin"; export PATH : ${ncpu=$(nproc)} +obj_dir_prefix=${MAKEOBJDIRPREFIX:="/usr/obj"} + # check other directories as well -: ${STALE_SYMLINK_BUILDWORLD_DIRS="/usr/obj"} +: ${STALE_SYMLINK_BUILDWORLD_DIRS=$obj_dir_prefix} trap 'rm -f $script' 0 script=$(mktemp -t stale-symlink) From nobody Mon Sep 16 08:35:18 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X6dX73mgYz5WmmZ; Mon, 16 Sep 2024 08: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 4X6dX70qNbz4Y6w; Mon, 16 Sep 2024 08: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=1726475719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0nO98ytmyA/NRtYBD10CJDksSqBxFO+oRNvlPBjJeKk=; b=YD71kK5QMgDbMCAEtNnhspu6DUbTH0aUA5YMtpFbL+SrLb9nA7YtMNzLOT8YfRAVQQjQSR 3MCA9N4XL/AQ0f80KOfT3VIP65VXCSjn+Qn2xe+/+5GCEwRZlIjuKPOip3LLeBV3uioyFy r1XSoZJI6eYvIglkRYTzPOgPG4dNSJd2NR7+BnQKF5Z2CG3zX8BA0+6Pa17rW/c+Cr8mj+ KwTHcNCKOUEywnLePe6Ojl7zI8tkqt8gTA+uLVloygZY3PUQYQaTnYd/3VxRgb94+m2Gs4 DCRQq9NEWtmyYg00OmmUwBF8K5sq92e7tu24HRq2btAARRnaZQ29LswhXHMSjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726475719; a=rsa-sha256; cv=none; b=h2cSGI9lTSVqIM9aFFVOpy7xKOP+AQ5V0A38CQKsk5lB8cgAEdIfBC3cgsel/QbHOKropW 6YfwhoTaEHeej45e3ykkAvjKFc25RulOaAq9xxrokYLcpTjyVR9280g80iKoHQlrVnEJYt ykIuK4JbxSWLlQBmsM8xi2EcQqeIxguMOWkejSCbePO7v/r6q7Wx4BRd6NJgbr/wBFT+9e Ec3JNfZm1UpTtI7TxE0FrJCWLoEfoY9q4tG2S3p9Dkm2LP9ik85KlhoFH9R39h7Q/vtRFA qvDrM7Qxfs7mr4WOVso7X1Ih0pmaskiunavApnaTGvgcwtXXzoPeYsyxtwPFRA== 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=1726475719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0nO98ytmyA/NRtYBD10CJDksSqBxFO+oRNvlPBjJeKk=; b=Zy7mI9fEzLhGUx8KLHEWl+K++M0OFsnCoEWuemd4EibbbhAgEExUPrSFwvTXVf0Dd4hbsl FO02Wz1sjakY+CkFDwkJeOJaBUj2c9ScGQOtPyR6z5zG2qMHkmyUkwUjfKrUOice/Ltwnz xMSlQhkcx+cOpqIKfeEjLN/kIiooGWxvGaWp/Fv4w/SePI2R2lBlMciJzvKI3jlTp4ZmQM Zr2Ehcx16RhLj6jTnPyuT1INxpVPc4+MN87t9h4m6pWMUhOD9unKRgdkdxujk7a1Fr4F5J avUq1LaTOxfuKd5t5kRFtTQdp3XssvM1fgd8dw7uARK1T31mkVZOXhRocnL2jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X6dX66JhvznSM; Mon, 16 Sep 2024 08: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 48G8ZInR062598; Mon, 16 Sep 2024 08: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 48G8ZIti062595; Mon, 16 Sep 2024 08:35:18 GMT (envelope-from git) Date: Mon, 16 Sep 2024 08:35:18 GMT Message-Id: <202409160835.48G8ZIti062595@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 28d35ab6fabd - stable/13 - stale-symlink-buildworld.sh: improve documentation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 28d35ab6fabde24a88bd533965b2793732a0ee9e Auto-Submitted: auto-generated The branch stable/13 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=28d35ab6fabde24a88bd533965b2793732a0ee9e commit 28d35ab6fabde24a88bd533965b2793732a0ee9e Author: Wolfram Schneider AuthorDate: 2024-09-09 14:55:29 +0000 Commit: Wolfram Schneider CommitDate: 2024-09-16 08:32:45 +0000 stale-symlink-buildworld.sh: improve documentation (cherry picked from commit c77ca9a72c9934c407852f00d88cba09f5c9e31f) --- tools/build/stale-symlink-buildworld.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/build/stale-symlink-buildworld.sh b/tools/build/stale-symlink-buildworld.sh index 32ebc1f9d66d..acc3fb0baaf2 100755 --- a/tools/build/stale-symlink-buildworld.sh +++ b/tools/build/stale-symlink-buildworld.sh @@ -4,8 +4,17 @@ # # stale-symlink-buildworld.sh - check for stale symlinks on a FreeBSD system # -# You can run the script before or after `make installworld' +# The purpose of this script is to detect stale symlinks, report them to +# stderr and exit with a non-zero status. All other cases are ignored, +# such as no symlinks, missing directories, permission problems, etc. # +# You can run the script before or after `make installworld', or any other +# make targets thats installs files. +# +# You can also check your local ports with: +# +# env STALE_SYMLINK_BUILDWORLD_DIRS=/usr/local ./stale-symlink-buildworld.sh + PATH="/bin:/usr/bin"; export PATH From nobody Wed Sep 18 08:13:59 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X7ryb65Kqz5WZcn; Wed, 18 Sep 2024 08:13:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X7ryb5X61z4Gjh; Wed, 18 Sep 2024 08:13:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726647239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wpz61AzX+JN/a8vGIYbKVAuWyGbC+II4yROwy1bznMI=; b=ZhnYxxkwelZbAw6aWv1Tdf9Y87TxlWWPjUQPapYRlLbIOkQXoLnArDjGVucdWv3fJ1FG2a 4uGOid8AUz1Lc1+S5BYmTYuDQX0I3gY6IbScL3Siy7sCqltPBjN3cJPmPbIGEuLjJVg2k/ DJkjYcLUlB1rjE07bam5MhLvr+hm6+JC6S7XK1+JDEPjFflsyo6PSkfXjq88pKGrMMM9FA Kih5o/Zw/3MxfOp61biDS+ZugldVpaDEvcIw/Sy45hWcBkeKaOrXKGH3NdZ5GxvoOZDVui rdEvlD3/wi8nAnaPFlPs69Jwj6oNVt2vSJfXqkm9AIR/VCCuGhZpwvI0TK4/Kw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726647239; a=rsa-sha256; cv=none; b=YSe2JfxRQtOIfHb8smwYrIfE/9t5PlKPNznB+JN/oEIy7u+XozeYBbatXaOBN+iJL+C/Bd JwmRW5dfltjkJFk+tqzeNf264sNqBu82QUjeqs3EKP4adrvbg9saiesJYlBEoVrKVVEmlb PmnTnad74xSOiXvttN4yF4o3fzdV7XAzavRVMl9Maf02xSl0diaFas1iOFTXMuXEio3V9m R25JF1wDofErdPKSeMmwu64IKROnCwdJ5uxx9AkmogY4sbeAb0MAfVtWaadFXiKjTBNdEt Q9K/qqiBjynE8WDCg45Wu0nWpmzT1X5ICp0lMfvNlk0W+RDp4ssxAd/ekzVmYA== 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=1726647239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wpz61AzX+JN/a8vGIYbKVAuWyGbC+II4yROwy1bznMI=; b=MWymrdnaJraIq52kmCPuAlf/hCtoif2V9fxqJWttc5qIqxZTYuJdU/9ckvmrQyNyIMVNQT 9+7MxH9mEvt7t1lxIO02zEhQWgvkiw+v6BeRnm7rKkDk5nbgbiC8yqOn2RkHGP5BsadGVY AXS/oF7Feu938aGGKFpvVdyAQR+nynmNBWEaWls9Emq9+91vYCemWpm9Ay9UqvlezUnDyG PcCb79xzGj33stCiClCEhBXYKGYtgzvgdMyaXFlTrYEFsTwQ4L1oECDdLOfKF1Vj/XCuNC CgfPewClJ4BsI4Onp8TcsG1hoFnEZlFdZEgPepp9676nq8DramSH6sGm3+fJVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X7ryb4f7jzDnP; Wed, 18 Sep 2024 08:13: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 48I8Dxgn056969; Wed, 18 Sep 2024 08:13:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48I8Dxai056966; Wed, 18 Sep 2024 08:13:59 GMT (envelope-from git) Date: Wed, 18 Sep 2024 08:13:59 GMT Message-Id: <202409180813.48I8Dxai056966@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 5d54e2539429 - stable/14 - MFC: ng_ipfw(4): add missing change after previous commit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d54e2539429f348dac20428e8b5349e9d34a675 Auto-Submitted: auto-generated The branch stable/14 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=5d54e2539429f348dac20428e8b5349e9d34a675 commit 5d54e2539429f348dac20428e8b5349e9d34a675 Author: Eugene Grosbein AuthorDate: 2024-09-12 19:09:28 +0000 Commit: Eugene Grosbein CommitDate: 2024-09-18 08:12:34 +0000 MFC: ng_ipfw(4): add missing change after previous commit The function ng_ipfw_input() used to enjoy implicit 32->16 bits truncation of ng_ipfw_findhook1's second argument. Make it explicit to recover from the breakage. PR: 281082 Reported by: Ruben van Staveren Tested by: Ruben van Staveren Fixes: 20e1f207cc789a28783344614d6d1d1c639c5797 (cherry picked from commit becd0079c052cb87e7649b78733b99abae8861ee) --- sys/netgraph/ng_ipfw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netgraph/ng_ipfw.c b/sys/netgraph/ng_ipfw.c index 01592a4bbb7d..9a6bb90412fa 100644 --- a/sys/netgraph/ng_ipfw.c +++ b/sys/netgraph/ng_ipfw.c @@ -291,7 +291,7 @@ ng_ipfw_input(struct mbuf **m0, struct ip_fw_args *fwa, bool tee) * Node must be loaded and corresponding hook must be present. */ if (fw_node == NULL || - (hook = ng_ipfw_findhook1(fw_node, fwa->rule.info)) == NULL) + (hook = ng_ipfw_findhook1(fw_node, fwa->rule.info & IPFW_INFO_MASK)) == NULL) return (ESRCH); /* no hook associated with this rule */ /* From nobody Wed Sep 18 08:14:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X7rzM0L8Nz5WZp2; Wed, 18 Sep 2024 08:14: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 4X7rzL6mVLz4HZH; Wed, 18 Sep 2024 08:14:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726647279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8oMYjc++B3SDTxwleHTgFJRkvP9dm+6zDS0valSRdxE=; b=rEcQTRz18GPwDf77AtNSwKkQ5ofqMpBjLdoESyT8XNhp5D0tlbcNzUXeNPpq5wlEy4uGL1 TSujmbfjfFGcdFoKnvDhRBT4HJV5IsIu9/MvozHsqSQX8hYK5rdb6W6TwlWOj/Y1Yp17D0 LkeD8iLhONkoobiEzSDooxcJshukipvbNDbR8sKwBLMRN+Xg+zWPWqNHP7jIsob5IwNbhF SnQ7HyXmQ0VqbsEDTMzQpXRnYTOHetvt7sLohY9OqrG2rFnieP33LnElOyK2U5DjymP/yP jhQVeGO3HCR/dWrig8BNyGsvWWEThRKQRUBsHyghwhwuJ/4H42dgJef0A7LBrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726647278; a=rsa-sha256; cv=none; b=QSmg/IBVJFdk7ftLegIuDtlb8JPyVsdb53jbTtVVdvnTTnZnZQNyTdxEhuyy4jwTmOYpD3 PjjQ6C9/tXWOUO1C2wIbu074VQ5ovkeuI+a8DfXTa5yT1jdAYZ/kII7Ife7MD5HEjDM0x9 VbLGTirvJrcnWWhOEgCmgQzVNl0k6F/zlJUD31ifOs8atN6Qrg3c7AB1Xmb2JezaQMucvn r6gkWrzbpSmqiEr2flOhfbnfd/xyFQ3Qy47xZwQbTFGZKOY3XnXY0V6SyCIP7nSZgc8qZ8 QZD3v9OIJkrL4ocFxZjaIv/e0hYxBd4DxKlM+PDoyLhkUaiUFAxtNd8TvxEFZQ== 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=1726647278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8oMYjc++B3SDTxwleHTgFJRkvP9dm+6zDS0valSRdxE=; b=rum6KjnpiVOk+piTnKPKDxl25pe5DMcCcrD9fbtot3cJ/hI389E6RX03FnyVj5mD6Lj+wD +0W4Cpl/YyF03IlGwVOPTkK1suhPfbpqSpSyQx6wj6+YoLtojdP162hwUhohEZo6SAi0Qz WbJhF4hJ5ti/YbRNzUT526mYL2hQ8aYi9hrPyJ96+0L6exX/hVf5tSpcm8G4U6m6Aq5Fde oaZwlP7ZMP57VMvgRDIjNQLixYpdHfezmQaYT2KMJzg9ZHJxLJLzD09koMbzlgXzr8UIDD beUsNpdutr9Pr1U+HzGGtxZ2e6d9jPz1jy8b4D0Q6tQWeK1lhpjf5t7KKmEIIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X7rzL6MxDzF5J; Wed, 18 Sep 2024 08:14: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 48I8EcBY057229; Wed, 18 Sep 2024 08:14:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48I8EcIk057226; Wed, 18 Sep 2024 08:14:38 GMT (envelope-from git) Date: Wed, 18 Sep 2024 08:14:38 GMT Message-Id: <202409180814.48I8EcIk057226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 784817824bb4 - stable/13 - ng_ipfw(4): add missing change after previous commit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 784817824bb4447eeda21f9ed55340def93deb29 Auto-Submitted: auto-generated The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=784817824bb4447eeda21f9ed55340def93deb29 commit 784817824bb4447eeda21f9ed55340def93deb29 Author: Eugene Grosbein AuthorDate: 2024-09-12 19:09:28 +0000 Commit: Eugene Grosbein CommitDate: 2024-09-18 08:14:06 +0000 ng_ipfw(4): add missing change after previous commit The function ng_ipfw_input() used to enjoy implicit 32->16 bits truncation of ng_ipfw_findhook1's second argument. Make it explicit to recover from the breakage. PR: 281082 Reported by: Ruben van Staveren Tested by: Ruben van Staveren Fixes: 20e1f207cc789a28783344614d6d1d1c639c5797 (cherry picked from commit becd0079c052cb87e7649b78733b99abae8861ee) --- sys/netgraph/ng_ipfw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netgraph/ng_ipfw.c b/sys/netgraph/ng_ipfw.c index 01592a4bbb7d..9a6bb90412fa 100644 --- a/sys/netgraph/ng_ipfw.c +++ b/sys/netgraph/ng_ipfw.c @@ -291,7 +291,7 @@ ng_ipfw_input(struct mbuf **m0, struct ip_fw_args *fwa, bool tee) * Node must be loaded and corresponding hook must be present. */ if (fw_node == NULL || - (hook = ng_ipfw_findhook1(fw_node, fwa->rule.info)) == NULL) + (hook = ng_ipfw_findhook1(fw_node, fwa->rule.info & IPFW_INFO_MASK)) == NULL) return (ESRCH); /* no hook associated with this rule */ /* From nobody Wed Sep 18 08:24:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X7sC71VyCz5WcF3; Wed, 18 Sep 2024 08:24: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 4X7sC6652Jz4Jnt; Wed, 18 Sep 2024 08:24:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726647890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GXthKTGqdPAxE68IGP7wDf2toqGAgHjR0ErsnrwL4vo=; b=Qbhc8GQ/qipqDCMHcnFbZc89D+S9PfZlFyyURUqGXuXS952ZdPqT8bRkKrKflL7plihCHH 1NjE8Hzpr6dzWqvd6mRc2bI0QX3B96kmjKrOmijKVsBzptPILLz5nOoIuueP7144ZWpQqV R346kPLOfRtx3Do+wcBC1gDZSNnW2jh0oe4GV3Xrx4X7zKHYPq9JRTYA6+6HbXM7ib/nDP X/M7MYJokWlUlIFtbdf07VSz8bC9hEsRt5eoqBbFXrPYaDZKOJEwObTMCGO2MDoUtjX4qa Kne5RXuEoaqLExCBh6fK5CbvuhHmA4uZGk3+iLgJcVdFE7pSIt4lWWFrP2k6tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726647890; a=rsa-sha256; cv=none; b=wNr2UrzY/UUTAFx35a9sQwGexHAmzYHuH8M8sWD468i2vsqzxOrVd9xxSJCUk9hI0UEtYO R0RUpS83eit0ofSYNnV/pJbK08KH/G5CF3qdThAV1uVx8NZyOk7k1e0BEw0jX0wiLvztac 57uB2gfwGWpsnWTIeZbNwHl24hE9nbsS1bLV+YgtKZzOyvUFzg/lO1ZSEeYOrOCMn9J2F5 op64qSD23vhDI2rzszemKMT+vRelLBY2C0sRHdJLCyqExOqTvSAOaf06rhAxOTxZlIEVSe zJacrqwWQR57cVzspHhRFbP83vDaa13r/kWXGbSGIgnsFfZKulqnz6W3WY1NLA== 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=1726647890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GXthKTGqdPAxE68IGP7wDf2toqGAgHjR0ErsnrwL4vo=; b=ZY/tkY6EAf7n1ugUiqGoWP4Pd//L9In+IuWU4N+CmmINm2DRPpkZqUKU/xhAm1zDkTg17I fUFq463e0y9WMWMdFNdJBxdhwHKuYwiVrVkqxGP3XXkB8MqY2KAI2yMSu4VOIErmzi3uZB rW7TCnigndSebnrSDekW7oEr7WSxxIJJueNPdJczK3oHI/dpI3bjwHsfFgHIqe/2q8/gj/ +vSHi3OI4Wj9IRCHVzUXXeVD2jPEqToB4kcyu9FBiyv3jj7JKzOqKltOnLxS6v4851D67Z yVtBdhG3qlHFUL8GgM5ib9gVDtRugipaS/rZ8iKxEtiGsjrwpRalWPeQGxbIWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X7sC65hrqzFNL; Wed, 18 Sep 2024 08:24: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 48I8OojW075165; Wed, 18 Sep 2024 08:24:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48I8OoEi075162; Wed, 18 Sep 2024 08:24:50 GMT (envelope-from git) Date: Wed, 18 Sep 2024 08:24:50 GMT Message-Id: <202409180824.48I8OoEi075162@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: ebb3a73d0669 - stable/13 - pf: fix debug printf List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ebb3a73d0669bd3a7ab91d3c2fa43b8547c205c7 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ebb3a73d0669bd3a7ab91d3c2fa43b8547c205c7 commit ebb3a73d0669bd3a7ab91d3c2fa43b8547c205c7 Author: Kristof Provost AuthorDate: 2024-08-28 12:42:33 +0000 Commit: Kristof Provost CommitDate: 2024-09-18 08:22:45 +0000 pf: fix debug printf MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D46574 (cherry picked from commit db11a048282d268e19510b9f566903ed0509e698) --- 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 b95ef59a3250..f940950a2479 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6108,7 +6108,7 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, PF_IN : PF_OUT) != icmp_dir) { if (V_pf_status.debug >= PF_DEBUG_MISC) { printf("pf: icmp type %d in wrong direction (%d): ", - icmp_dir, pd->dir); + ntohs(type), icmp_dir); pf_print_state(*state); printf("\n"); } From nobody Wed Sep 18 08:24:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X7sC91pfSz5Wc9W; Wed, 18 Sep 2024 08:24: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 4X7sC90gGxz4JXY; Wed, 18 Sep 2024 08:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726647893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DcTOY84UV6pYFn/QM/47NS+L0CUZrDV0eLn/6G/R+W8=; b=SgPQ/4eWsNGvDgETfHzWe1h887O6w7eEyx51FzlucHgSyYfbbrVY8Y5N8vvxkuxNCtY4LC bRl8ZQobFZrDSFD7qjA++oR8C3bCgOwenzfWuDf5HjhXC558pyLq4GbZ0rqM62YMhLTfjb EUF5v/ZRdBpxCFB/AmGpfksyrlDL0EhB1JbHzYU770TIsQkfNo4vZeQy6nvfqRNZ8qk8QE O8UgeQv71a6NjF+p5m935jAwsz9n0nEVdSzWfafgln5XdhL7Dvx9fKnvJ29N9WfuWLvFh4 yIkPQZ0ECPE/hxxS9Y7XB8emHOEFOM+lHPw4I+IaiNiiKo2G3j/BFY6A6hldbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726647893; a=rsa-sha256; cv=none; b=p/3nnvzx+Td+/rZQCjmUpPrvSGhlzPYKg+SsEwBuMyOMz8b/kAUFesMsPU9jHepbMuHAXk SRXE829/UpGn+LuGvEflOCN+He4fFa1M3xtFD+gKEJI7w/cdGStQ9kcdPvVJEKlyu7btuz PrxfRU1PpbwqiR06vTxy3O8g88TkT2JsGNbuZ5nFqzo4zN1GtRJDV7cR414KqP2ARLV4HH ZGPlxIURWbLhBJUHHUpwEma6KObULHfnjNh+YhZQduYhRvZkwUqEtiJHbBO9eSEcE2agA0 aLi34C1csvXqhx9SbVz4H6rwnv8gD6YQLtB6bL1MV2Aiy8x0gDwSfhH7u2E/PQ== 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=1726647893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DcTOY84UV6pYFn/QM/47NS+L0CUZrDV0eLn/6G/R+W8=; b=BicrRPAkx/fYMJPBmBP0SLghdI8DRxUlAZTlgi/s1Qbt3J32NDHXj5jtBWxHO5qBIyYpAn 4YuYnesk/HFz7lHHvU0c85pKPcE8O0OnAWAieoC3domb0wq3uw1jO3OtwegXGtVVLCYbQZ qrDbODzsBygobVV2DM0jw2C/s5vjezXh1m4y/oe9yG0SXQ4gSSJtOxLAHP/A06ivVg/o4S 3VEi1UhYp7PgGMCelSyQVW+3x5A7fQEybcVs4erDd5dV2xsjUvTDOgN7BRPmzaHddwBsjE acqinP59S3staikBuvRxazVAzJ3keSgLYOJHg4dtXEziq/tAx92scKZnCauAsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X7sC90HbhzF65; Wed, 18 Sep 2024 08:24: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 48I8OqtE075296; Wed, 18 Sep 2024 08: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 48I8OqEs075293; Wed, 18 Sep 2024 08:24:52 GMT (envelope-from git) Date: Wed, 18 Sep 2024 08:24:52 GMT Message-Id: <202409180824.48I8OqEs075293@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: 72706300b6e5 - stable/14 - pf: fix debug printf List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 72706300b6e5c33985fd3cd0062e6a07becf8529 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=72706300b6e5c33985fd3cd0062e6a07becf8529 commit 72706300b6e5c33985fd3cd0062e6a07becf8529 Author: Kristof Provost AuthorDate: 2024-08-28 12:42:33 +0000 Commit: Kristof Provost CommitDate: 2024-09-18 08:22:38 +0000 pf: fix debug printf MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D46574 (cherry picked from commit db11a048282d268e19510b9f566903ed0509e698) --- 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 e39abc7e7ad2..f4ee8fb3344a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6700,7 +6700,7 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, PF_IN : PF_OUT) != icmp_dir) { if (V_pf_status.debug >= PF_DEBUG_MISC) { printf("pf: icmp type %d in wrong direction (%d): ", - icmp_dir, pd->dir); + ntohs(type), icmp_dir); pf_print_state(*state); printf("\n"); } From nobody Wed Sep 18 08:24:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X7sCB3My9z5WcHv; Wed, 18 Sep 2024 08:24: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 4X7sCB1gx3z4JXd; Wed, 18 Sep 2024 08:24:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726647894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+YhvUYrEjCllhgnB5IXnhSHJwK4dKxsX/dusKqa8pY4=; b=apgFCVA2ndjDtaueQy49zuBsSb2+mGNPosYT/nEvQt9113gAxKN+Tw4w4kaWvtr3usKfzR Y06LgrYS4Bkn29/GcDRF9d+MxJsPOEf+0gWPkHe6h2BNXCjmvevv7+qr/Z0+hGXc0LZraa MK6wOYl2kjpbGdjk7b6uCCq4ZF6xelPBiVbD2T0HZqeWUtc9RHPKL9toBVbNmB/KlK+GiW VbIOUeyl1I1WOoAxapccuFoV0TFfBXVBOW8ls3HsyEP8xkOS5cFLIBE2fRepJ2Z0hzg+ix 1Zi3nHTekX+XVBvSFEP3Ot4P8kUaTJUiwaYHmgMCNy/SfCQldVvkFVKQqfKzGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726647894; a=rsa-sha256; cv=none; b=XzQ6A9b7Y1fDiD8pMDG5onBzDPRDkK2CP1iTaqr0NiqCJv6phk7+hucrv99+cdz7xdjG9R 5gnRqx4pK+w0MDdzN0wwBv1StPhBgNrUWonCeduFWyS3nfST7QCeAvnRscpxiZGIWI+0jU 1BM6GXfNftxJGWhUIQmtjotmIKfQSnBcfVQQZl6EvCZ8YGovfEd7FTBcpWwWvinarlzk0a Rf44pjMJOx3OvKBmCOYTste71WdXH8Sude194EaeBhpTm3YYJhNpNL3WzePxSJhAJVE1kK 1T1hGZapfI3SmLEdnAvUK5QBs7/0W4MXBl33A9cJ227lNvFiFGWpXK/XcuOJjQ== 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=1726647894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+YhvUYrEjCllhgnB5IXnhSHJwK4dKxsX/dusKqa8pY4=; b=gZmfryI/hsnzdPBuo0H/+/w9W2VREospaHPEFlbHGtar/aP+PsKWsndzUoTD3/5V/Bapw6 0bPHdgy/dE93MIF/OOjEa6UmbisUzEeEVXd5DjGweQsJDdwINngJbXSGgD3sUlzrP9zhV4 hcpxvNYjyWGDLrLBSM8pEiCesxOt4+R5+XAcjupozTUDEX5LdLXp+D8/wsc8T07c1Fz0TX 0XFWIJm/+bvccbs+owrRdDd+sjchha+Ngz12m2+jlcT7l9O8cKwIWKjkHnaBw8GVXkPLUM 5twN6zgNZl0mdJzTpVLBMIGOsRDmwXaQkXIxe+1IUH5jIoETVH2j3/IzrDxjkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X7sCB1JBGzFJb; Wed, 18 Sep 2024 08:24: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 48I8Osft075349; Wed, 18 Sep 2024 08:24:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48I8OscX075346; Wed, 18 Sep 2024 08:24:54 GMT (envelope-from git) Date: Wed, 18 Sep 2024 08:24:54 GMT Message-Id: <202409180824.48I8OscX075346@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: 79c34d704f31 - stable/14 - if_ovpn: declare our dependency on the crypto module List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 79c34d704f3121cb7f3748ec6b7a5c7f787633bf Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=79c34d704f3121cb7f3748ec6b7a5c7f787633bf commit 79c34d704f3121cb7f3748ec6b7a5c7f787633bf Author: Kristof Provost AuthorDate: 2024-09-12 15:51:04 +0000 Commit: Kristof Provost CommitDate: 2024-09-18 08:22:39 +0000 if_ovpn: declare our dependency on the crypto module PR: 281460 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 17c9ac457cf16c1251afa7364bc47ed52ec29057) --- sys/net/if_ovpn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c index e550fb9921dc..be75eff74d34 100644 --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -2598,3 +2598,4 @@ static moduledata_t ovpn_mod = { DECLARE_MODULE(if_ovpn, ovpn_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); MODULE_VERSION(if_ovpn, 1); +MODULE_DEPEND(if_ovpn, crypto, 1, 1, 1); From nobody Thu Sep 19 12:40:17 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8ZqP58cRz5WVTH; Thu, 19 Sep 2024 12:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X8ZqP4f83z4lv3; Thu, 19 Sep 2024 12:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726749617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0BRxhiReR+RyJR4nrzvBQ1ceTtdMw/Jet85pBJoNIDI=; b=mYUjHrncq7JrVePxaMmKe4T85UXEOYSL/QO5B5GAppQ0PaK1RzTiLYUcxDixhuymKy/bUx cM4CiEE8/rJbaE5lDpPAyfBywPwQj8vcm1MP4sJvrB3JxucCrZfMbBEWqsNbIId7QM04a6 pda6EdEdRU1877u0K0rGM8iK/f15RHUUoz8tpsdBwSaxz5zSYWxqp4lTRryNQH88kAQ1vP 3LsTsbNOfwFnRta5/LBhqu2z+8toPl/BX6iMxqfF1LW1b0LLxk67TN3OwVDFgIkzfUS5gp n975XDKdMeXtdVVFk/jWXsaoo9ZRNlG9bYDqi0HHM2HpeWBY7lGDsMHVK6ZiFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726749617; a=rsa-sha256; cv=none; b=wD66H9VqX6YyHKmBJ2M4JGx6vsdm82kSb9cex+Aj0leoiP7Uuxov4yHY7FWqgrPU7PrInS UhOEVMrZf9Mi5qBjltr3jytD18CXf2e3aehAnOqnRUQ0qECJ0cPzMLN+lqFXr5IYnBOO59 ysbmSwQiJ0fyb2zrIsoC18aYS48XxVwwLeoEgX2HYJfn4qGQXM9PHePjGIJhFHKFtVHeYk YWQsP4Rqj9iEa73ssCghdNhfNzbcpwcsmkNgrEMfZoFqOCx/Bh/YEgW1IUwla0TC9LEUCo sy/p23qr1QJqZipWMu/0PJaFM/9IEh00ImMzb0dPpBTaeTHyQgt8cf0Uvjv/DA== 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=1726749617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0BRxhiReR+RyJR4nrzvBQ1ceTtdMw/Jet85pBJoNIDI=; b=lj1Q39jJv9lywBb/NPvmWaYaOXeYoiMgQYh/X/6huqGj1B/104h9HUstDt8vqnkc2H0cAU dHRDDqQg4IyHRq43zbbAbiP2J97EGHKv88k3/NQFoWU1NmAjO7gmj32xQMggzEnofqvPTB 9aO7q/Q8Rz/TNoZd8Pidn5VzykVUuG3ksYQiBGU8NUi90rzJEJGbJnxEDqIlMmY8yDBNzo pTgdSXE5M76+sTpHNv5rhYwTnH1b3juR812GWblJcZEJsh42rH4M6yXBj/PWVCHIFFTakB /Yfqe0W3ijarbGd/RtDHul+Ki8qrD334ZYBWnn2CNqiIzItj/foESw3EIArz4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8ZqP4DnFz15Zy; Thu, 19 Sep 2024 12:40: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 48JCeHTq056607; Thu, 19 Sep 2024 12:40:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JCeHYf056598; Thu, 19 Sep 2024 12:40:17 GMT (envelope-from git) Date: Thu, 19 Sep 2024 12:40:17 GMT Message-Id: <202409191240.48JCeHYf056598@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: 419da61f8203 - stable/14 - bhyve: improve input validation in pci_xhci List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 419da61f8203ac475550ae4b0971dbef10f811f2 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=419da61f8203ac475550ae4b0971dbef10f811f2 commit 419da61f8203ac475550ae4b0971dbef10f811f2 Author: Pierre Pronchery AuthorDate: 2024-07-17 15:04:23 +0000 Commit: Ed Maste CommitDate: 2024-09-19 12:36:29 +0000 bhyve: improve input validation in pci_xhci Several functions did not validate the slot index resulting in OOB read on the heap of the slot device structure which could lead to arbitrary reads/writes and potentially code execution. Reported by: Synacktiv Reviewed by: markj (earlier), jhb Security: CVE-2024-41721 Security: HYP-02 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45996 (cherry picked from commit e72d86ad9c62c8054d7977a71f08e68ef755c132) --- usr.sbin/bhyve/pci_xhci.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 791c56a45f0b..77b17d525bdd 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -580,7 +580,7 @@ pci_xhci_get_dev_ctx(struct pci_xhci_softc *sc, uint32_t slot) uint64_t devctx_addr; struct xhci_dev_ctx *devctx; - assert(slot > 0 && slot <= XHCI_MAX_DEVS); + assert(slot > 0 && slot <= XHCI_MAX_SLOTS); assert(XHCI_SLOTDEV_PTR(sc, slot) != NULL); assert(sc->opregs.dcbaa_p != NULL); @@ -853,7 +853,10 @@ pci_xhci_cmd_disable_slot(struct pci_xhci_softc *sc, uint32_t slot) if (sc->portregs == NULL) goto done; - if (slot > XHCI_MAX_SLOTS) { + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; goto done; } @@ -889,6 +892,14 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) DPRINTF(("pci_xhci reset device slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); if (!dev || dev->dev_slotstate == XHCI_ST_DISABLED) cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; @@ -897,6 +908,10 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* slot state */ dev_ctx->ctx_slot.dwSctx3 = FIELD_REPLACE( @@ -957,8 +972,20 @@ pci_xhci_cmd_address_device(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: address device, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1019,6 +1046,14 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, DPRINTF(("pci_xhci config_ep slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1032,6 +1067,10 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* number of contexts */ dev_ctx->ctx_slot.dwSctx0 = FIELD_REPLACE( @@ -1138,11 +1177,19 @@ pci_xhci_cmd_reset_ep(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; - type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); + type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (type == XHCI_TRB_TYPE_STOP_EP && (trb->dwTrb3 & XHCI_TRB_3_SUSP_EP_BIT) != 0) { /* XXX suspend endpoint for 10ms */ @@ -1227,6 +1274,14 @@ pci_xhci_cmd_set_tr(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1325,8 +1380,20 @@ pci_xhci_cmd_eval_ctx(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot; in this emulation, slot_id = address */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: eval ctx, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1555,8 +1622,9 @@ pci_xhci_xfer_complete(struct pci_xhci_softc *sc, struct usb_data_xfer *xfer, dev = XHCI_SLOTDEV_PTR(sc, slot); devep = &dev->eps[epid]; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); - - assert(dev_ctx != NULL); + if (dev_ctx == NULL) { + return XHCI_TRB_ERROR_PARAMETER; + } ep_ctx = &dev_ctx->ctx_ep[epid]; From nobody Thu Sep 19 12:48:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8b1K3VWHz5WWN4; Thu, 19 Sep 2024 12: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 4X8b1K1Nx0z4mw5; Thu, 19 Sep 2024 12: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=1726750133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcrQoBgNQ61EheokNvZcGccFqZPPpu2O1Duwa/PL0mI=; b=JffPN/JsuXgEebPDsqM6To64WZlG6Cf+JYySPPpzH7U+k2kWH2s9UxHzB/aKJV9Q46+XGq urs0dZ1hCWj426ysRxoaOqZCBL/U8h+f/QJc+UCK55g41rK2HuYXsGbJblB+jIij31p1W4 /o1zSajAksfrQhQLb+HTZBtcoMp/ARfR7VinQROLg7mGc8hubLYEl8WArsHbboo1XUufla DCFcuRR5jNySHIdasqhRGLjT60ndbmYrwZXp9PS5ATQvRmUfMQ5IHD5ZialKG5Mo+UjNvU //2+5cFh0eutJ3toiKUXN1u5B1ieo1pdCQU++u5NRo0RV0FmgdCJ0kBSbVNggA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726750133; a=rsa-sha256; cv=none; b=LWZFnx5MlfdYU8aNYIpCFLYxRxeCQLKvPfkESrjAtcBP8xqbZWHeZvvQaWjQ3icVJRKZ0D +X+jPMdfnUHNpmuxSSK3uk8nKPwy79XYVJqzhhLdsY6hgbSfzItQreSARw5bCM72ppNMeF MuEbJoFt/GthL71hRICaM8iYKibLg7lcYkeA4MyxEPa72P+S9OGShdGBkyLcv5/YTJ6JXO XwxfpGbGzdZZ0qIKcu2njpIsVdKA53RMYAkJkXe1rsfuklvi4s2sgEPHVBTEjBUvi2Dypk y1WnMMug5Zgd3czk0vgGyylpHXcA3lwAAFv1YVo2hu5VBxAuRUGMekugOl02Qg== 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=1726750133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TcrQoBgNQ61EheokNvZcGccFqZPPpu2O1Duwa/PL0mI=; b=ns3p6LW+BF//24ZGY18dICptoMAajvFPuUHG1IhyIiC2jaThBnJwQ4nfv7FNBH42qmEVbD YjqScQS0samwV7W5S9jQqciHzNS3oApAgMda59Axwfku6BYmzudK2PuTflLgoY1AD2/Jil haNRzE6X4e7fjhUJr2zKAIuh1vn+mWReYmaewy7ljNTpZLg4TRmPNjN6KkM0T/vSTUOGA0 YDi6++4zr+2S1+Y+rLBHvi2MdpZVMHUuRcF/uOCfK4zUiTJ8p7OVwOtRbim80/wxy9tDrG 8RHWojQlbRUitMYRMk1OgHZy268znaLLuCihLhh8bsAsXVx00lpjy3SvyLjTsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8b1K0tfWz15mF; Thu, 19 Sep 2024 12: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 48JCmqgJ065431; Thu, 19 Sep 2024 12:48:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JCmqB3065428; Thu, 19 Sep 2024 12:48:52 GMT (envelope-from git) Date: Thu, 19 Sep 2024 12:48:52 GMT Message-Id: <202409191248.48JCmqB3065428@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: 2abd2ad64899 - stable/13 - bhyve: improve input validation in pci_xhci List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2abd2ad648994e8444f479e54773a36311f522e5 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2abd2ad648994e8444f479e54773a36311f522e5 commit 2abd2ad648994e8444f479e54773a36311f522e5 Author: Pierre Pronchery AuthorDate: 2024-07-17 15:04:23 +0000 Commit: Ed Maste CommitDate: 2024-09-19 12:40:49 +0000 bhyve: improve input validation in pci_xhci Several functions did not validate the slot index resulting in OOB read on the heap of the slot device structure which could lead to arbitrary reads/writes and potentially code execution. Reported by: Synacktiv Reviewed by: markj (earlier), jhb Security: CVE-2024-41721 Security: HYP-02 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45996 (cherry picked from commit e72d86ad9c62c8054d7977a71f08e68ef755c132) (cherry picked from commit 419da61f8203ac475550ae4b0971dbef10f811f2) --- usr.sbin/bhyve/pci_xhci.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 93161affd732..06c71a6643a6 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -579,7 +579,7 @@ pci_xhci_get_dev_ctx(struct pci_xhci_softc *sc, uint32_t slot) uint64_t devctx_addr; struct xhci_dev_ctx *devctx; - assert(slot > 0 && slot <= XHCI_MAX_DEVS); + assert(slot > 0 && slot <= XHCI_MAX_SLOTS); assert(XHCI_SLOTDEV_PTR(sc, slot) != NULL); assert(sc->opregs.dcbaa_p != NULL); @@ -852,7 +852,10 @@ pci_xhci_cmd_disable_slot(struct pci_xhci_softc *sc, uint32_t slot) if (sc->portregs == NULL) goto done; - if (slot > XHCI_MAX_SLOTS) { + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; goto done; } @@ -888,6 +891,14 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) DPRINTF(("pci_xhci reset device slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); if (!dev || dev->dev_slotstate == XHCI_ST_DISABLED) cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; @@ -896,6 +907,10 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* slot state */ dev_ctx->ctx_slot.dwSctx3 = FIELD_REPLACE( @@ -956,8 +971,20 @@ pci_xhci_cmd_address_device(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: address device, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1018,6 +1045,14 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, DPRINTF(("pci_xhci config_ep slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1031,6 +1066,10 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* number of contexts */ dev_ctx->ctx_slot.dwSctx0 = FIELD_REPLACE( @@ -1137,11 +1176,19 @@ pci_xhci_cmd_reset_ep(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; - type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); + type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (type == XHCI_TRB_TYPE_STOP_EP && (trb->dwTrb3 & XHCI_TRB_3_SUSP_EP_BIT) != 0) { /* XXX suspend endpoint for 10ms */ @@ -1226,6 +1273,14 @@ pci_xhci_cmd_set_tr(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1324,8 +1379,20 @@ pci_xhci_cmd_eval_ctx(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot; in this emulation, slot_id = address */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: eval ctx, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1554,8 +1621,9 @@ pci_xhci_xfer_complete(struct pci_xhci_softc *sc, struct usb_data_xfer *xfer, dev = XHCI_SLOTDEV_PTR(sc, slot); devep = &dev->eps[epid]; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); - - assert(dev_ctx != NULL); + if (dev_ctx == NULL) { + return XHCI_TRB_ERROR_PARAMETER; + } ep_ctx = &dev_ctx->ctx_ep[epid]; From nobody Thu Sep 19 13:02:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bKT3D2tz5WY81; Thu, 19 Sep 2024 13:02: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 4X8bKT2kQpz4pcG; Thu, 19 Sep 2024 13:02:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726750973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RNUUCL9daelcbdDJp3/1L2JjuM+3rhchtDj6vSLtBO4=; b=oiVI09B3v5NK8EyY2NFLglAQJp5w7J1qur+Qp9uAgJhN0egKecQ/lImq9+7yIBxcyqt6y+ pNtHGrYkSqE4pygMYdf+r8t3zTJ3BmDln65GkQwextnMw03NF47ixrst0Y773D4vzwT38k rxf28s0oJ6ypaurrq3+w/CRIw6CkExlSc2pdN9VRnoFNi0tHx7Ud7ZG06naRMv+olvdio9 oWC2gF4ga11qqMzdXX7AZrgUkJVmGmicG7vAT7kGact21U8Hl4h601PPSfcR26ega6VYCQ I1VobDoKeU3in14dJOqwqIps+0+r8OK1/4L7L4S2sFum3aManoQgGYmnMJVVvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726750973; a=rsa-sha256; cv=none; b=oRrHW47Au7jc1Ajrf/bEqbweg1gRtkAkswv1wSCLXkYZVDBg9xldABurPtrehXrY8l/6WP KteCAS48ugA22mNuIxGteqw5XuC4xpn6viCbTadt5pJkTDJobhQY5Yz2UVkof5pdG1aTGn dup0xZADWZztz+dQa6+/MS2thV762IZkZHbTjuC8AYme5dfCMRKSdqkUbrIGeVAc7krRtl 7v5GqAjw2AjJ5fwKM//Aa2Hhz1NTzFB12vr+WRGDR/wwG6phVkyu5mXDTNVM4N3FMSYsXn BWn+A4e7gp5n1WIhBFkfQIod2GiKDTUCCpci+H2WGMe2nWIQCssKLqEOvIykbQ== 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=1726750973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RNUUCL9daelcbdDJp3/1L2JjuM+3rhchtDj6vSLtBO4=; b=PUBtsvOF+wJiEvgRYLFT5ft6gMg4IJxU/cWmMZzoIMZB5uLsHWB8yfDoTMsUCwTZFEYie3 ZqCCVDnrk2DIvMbFlGOIsBdq8sMnRXuWDiaEn+UIlOqSV7d6w4IP5tCGHdcVNqmfvFBR66 JdTMXRilbdzWRolGJmry2iRm2OHxngLzcG9MToIEC1SQ15DjsARDeTcpYCA78VaY6AYbYz 5bYrP+7tC177Bd5S74FaTMCRQjLmLd6rPtCeZ+LkYhlXOkWm6rq4LuM+37p6/pd7Xt2zaO 686mqcWNRK1ii6oRP0rws2qIUqF1hnN0UXPy+5o+z1lJd8rSRpd6FAnAasXrVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bKT2KbQz16JL; Thu, 19 Sep 2024 13:02: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 48JD2r3A099555; Thu, 19 Sep 2024 13:02:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD2rMR099552; Thu, 19 Sep 2024 13:02:53 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:02:53 GMT Message-Id: <202409191302.48JD2rMR099552@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: fb925cf0a4b3 - releng/14.1 - pf: fix icmp-in-icmp state lookup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: fb925cf0a4b38bffc4c9733bae3212f07a481931 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fb925cf0a4b38bffc4c9733bae3212f07a481931 commit fb925cf0a4b38bffc4c9733bae3212f07a481931 Author: Kristof Provost AuthorDate: 2024-08-12 14:07:35 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:54:47 +0000 pf: fix icmp-in-icmp state lookup In 534ee17e6 pf state checking for ICMP(v6) was made stricter. This change failed to correctly set the pf_pdesc for ICMP-in-ICMP lookups, resulting in ICMP error packets potentially being dropped incorrectly. Specially, it copied the ICMP header into a separate variable, not into the pf_pdesc. Populate the required pf_pdesc fields for the embedded ICMP packet's state lookup. Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 2da98eef1f352c496ffd458b4c68ddee972bb903) (cherry picked from commit 27a1a56b0d2e6ffa6ab1de69ef84fe66b7fd41e0) --- sys/netpfil/pf/pf.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1cc85edfe3dc..edfa7a450054 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7076,9 +7076,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, } #ifdef INET case IPPROTO_ICMP: { - struct icmp iih; + struct icmp *iih = &pd2.hdr.icmp; - if (!pf_pull_hdr(m, off2, &iih, ICMP_MINLEN, + if (!pf_pull_hdr(m, off2, iih, ICMP_MINLEN, NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short i" @@ -7086,12 +7086,13 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, return (PF_DROP); } - icmpid = iih.icmp_id; - pf_icmp_mapping(&pd2, iih.icmp_type, + icmpid = iih->icmp_id; + pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); + pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, - pd->dir, kif, virtual_id, virtual_type, + pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE); if (ret >= 0) return (ret); @@ -7105,10 +7106,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || (virtual_type == htons(ICMP_ECHO) && - nk->port[iidx] != iih.icmp_id)) + nk->port[iidx] != iih->icmp_id)) pf_change_icmp(pd2.src, (virtual_type == htons(ICMP_ECHO)) ? - &iih.icmp_id : NULL, + &iih->icmp_id : NULL, daddr, &nk->addr[pd2.sidx], (virtual_type == htons(ICMP_ECHO)) ? nk->port[iidx] : 0, NULL, @@ -7124,7 +7125,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, m_copyback(m, off, ICMP_MINLEN, (caddr_t)&pd->hdr.icmp); m_copyback(m, ipoff2, sizeof(h2), (caddr_t)&h2); - m_copyback(m, off2, ICMP_MINLEN, (caddr_t)&iih); + m_copyback(m, off2, ICMP_MINLEN, (caddr_t)iih); } return (PF_PASS); break; @@ -7132,9 +7133,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, #endif /* INET */ #ifdef INET6 case IPPROTO_ICMPV6: { - struct icmp6_hdr iih; + struct icmp6_hdr *iih = &pd2.hdr.icmp6; - if (!pf_pull_hdr(m, off2, &iih, + if (!pf_pull_hdr(m, off2, iih, sizeof(struct icmp6_hdr), NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short " @@ -7142,8 +7143,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, return (PF_DROP); } - pf_icmp_mapping(&pd2, iih.icmp6_type, + pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); + + pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE); @@ -7171,10 +7174,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || ((virtual_type == htons(ICMP6_ECHO_REQUEST)) && - nk->port[pd2.sidx] != iih.icmp6_id)) + nk->port[pd2.sidx] != iih->icmp6_id)) pf_change_icmp(pd2.src, (virtual_type == htons(ICMP6_ECHO_REQUEST)) - ? &iih.icmp6_id : NULL, + ? &iih->icmp6_id : NULL, daddr, &nk->addr[pd2.sidx], (virtual_type == htons(ICMP6_ECHO_REQUEST)) ? nk->port[iidx] : 0, NULL, @@ -7192,7 +7195,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, (caddr_t)&pd->hdr.icmp6); m_copyback(m, ipoff2, sizeof(h2_6), (caddr_t)&h2_6); m_copyback(m, off2, sizeof(struct icmp6_hdr), - (caddr_t)&iih); + (caddr_t)iih); } return (PF_PASS); break; From nobody Thu Sep 19 13:02:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bKV4Qkzz5WY92; Thu, 19 Sep 2024 13:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X8bKV3qDPz4plR; Thu, 19 Sep 2024 13:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726750974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QM1JuxaNON0LbyUAlvUpaLVrl6NQDtl0MhSwkNe5HxI=; b=EP+WebIy4axBouhGHZ07BVb3HVIx+QTd00G+gn7oJGKLcy/ugWIwnGIKqLmx3QOX9GsUwh h5R5klUICtSPYgFpt98QCorIAs6eKo0/zwMF/9teFWZXcWfU2t9zv49hKxP1mr3NjmkHQW JfOr4qf3Vq0t2oD24a2A0bTDHLbQZGYXWXU5p2Oy/xjOar+unzmnBlVdSDpM2ZjSX0+Cky bRYAQ7K1qzhTCxTAaYvmInaRazctbj43fVrKZF7UwxjUJaSfWyuX9o7mnrGm5vQl3BoJoH 6I5Kd5A1fB3h9zlm9avet1BCqyljXsImSymFq1+5yXf4VEeOwxlAjtFXI1g8mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726750974; a=rsa-sha256; cv=none; b=n6iZIF7Z63FiIkFtaqseWidoJFUvRDrj4JkxI4LAPJq11ALtRa2xtKuidlvcMRn3dCtL3q 7WRSNd42WYusxsWev3OFTF/0aaWBjpRyOfESo5ueUB5Yih2yrqzdi1JLfVL/tBNgDBew6E hv6M089fhWn08bro4IHrbLCY6IlE0tCUswxKui2hIyM5jMxlMRF1c7qPtc5boYf2MPPaJQ muNyz6qrgArzQ9DwxDSomWHVLSM+jVWkz2rsnpSQkWbSvnyVNdu41lDGnkfuMNysVMRk9V FcxO/IKM1NvtIu+LrAGn58gznTZKJsNBVGh+05AifsQpym+/Ye/LO+BFI5ElDw== 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=1726750974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QM1JuxaNON0LbyUAlvUpaLVrl6NQDtl0MhSwkNe5HxI=; b=pLxZO8+WFiZa4QSWqfZBGv/DTzhKjNsxQVLm2aHHXhC8GfejU2tMjyYURqQuD43Al9GXAV DT/4qx8p1PXszd8yDFzggpgbMzU+A8DctiLjBxq3jmBHA10jFDSN3IB97uGo/O5VM8XmMp gcA9Gsy4rBQIcjl3z/upVz04br8qkY6Cys+T3LktpIK6UYiI3/nPIkoIq9HN58ytVhXSio S7N9qUs36ZLwltKlcxHEhaVcScx/87sSbTafW5BF/NVMyxyHd2sPVVXA0SOUOsIqcCRkoJ O+mX3vXR5MLftanzii1p7NJfO58ZAy65v2Udu/h498CpZjtS+9PW+k0f9IUPGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bKV3R0Sz16W8; Thu, 19 Sep 2024 13:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48JD2sim099609; Thu, 19 Sep 2024 13:02:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD2sut099606; Thu, 19 Sep 2024 13:02:54 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:02:54 GMT Message-Id: <202409191302.48JD2sut099606@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: 84b57a4c5b84 - releng/14.1 - pf: invert direction for inner icmp state lookups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 84b57a4c5b848d44ec0918c28d8c27bec948a151 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=84b57a4c5b848d44ec0918c28d8c27bec948a151 commit 84b57a4c5b848d44ec0918c28d8c27bec948a151 Author: Kristof Provost AuthorDate: 2024-08-14 09:29:30 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:55:09 +0000 pf: invert direction for inner icmp state lookups (e.g. traceroute with icmp) ok henning, jsing Also extend the test case to cover this scenario. Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 Obtained from: OpenBSD MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 89f6723288b0d27d3f14f93e6e83f672fa2b8aca) (cherry picked from commit 46c4fc50d3012ca3c8756df243589add36b70830) --- sys/netpfil/pf/pf.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index edfa7a450054..43f32f673842 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -342,7 +342,7 @@ static int pf_test_state_udp(struct pf_kstate **, int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, struct mbuf *, int, struct pfi_kkif *, u_int16_t, u_int16_t, - int, int *, int); + int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, void *, struct pf_pdesc *, u_short *); @@ -6582,7 +6582,8 @@ pf_multihome_scan_asconf(struct mbuf *m, int start, int len, int pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, struct pf_kstate **state, struct mbuf *m, int direction, struct pfi_kkif *kif, - u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi) + u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi, + int inner) { key->af = pd->af; key->proto = pd->proto; @@ -6619,7 +6620,8 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, /* Is this ICMP message flowing in right direction? */ if ((*state)->rule.ptr->type && - (((*state)->direction == direction) ? + (((!inner && (*state)->direction == direction) || + (inner && (*state)->direction != direction)) ? PF_IN : PF_OUT) != icmp_dir) { if (V_pf_status.debug >= PF_DEBUG_MISC) { printf("pf: icmp type %d in wrong direction (%d): ", @@ -6677,7 +6679,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, */ ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, - PF_ICMP_MULTI_NONE); + PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { @@ -6685,7 +6687,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, multi); + icmp_dir, &iidx, multi, 0); if (ret >= 0) return (ret); } else @@ -6769,6 +6771,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, int off2 = 0; pd2.af = pd->af; + pd2.dir = pd->dir; /* Payload packet is from the opposite direction. */ pd2.sidx = (pd->dir == PF_IN) ? 1 : 0; pd2.didx = (pd->dir == PF_IN) ? 0 : 1; @@ -7090,10 +7093,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd2.dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, PF_ICMP_MULTI_NONE); + icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) return (ret); @@ -7146,10 +7148,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, PF_ICMP_MULTI_NONE); + icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { @@ -7158,7 +7159,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, multi); + icmp_dir, &iidx, multi, 1); if (ret >= 0) return (ret); } else From nobody Thu Sep 19 13:02:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bKW5nxNz5WYC4; Thu, 19 Sep 2024 13:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X8bKW4XL2z4pWy; Thu, 19 Sep 2024 13:02:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726750975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pURf+oeWdBMhZT2b0eH3gaDxW6XnymWSiTNhhwYFmnE=; b=NOScNAAKChJZexXnKkMTUaENICPf0kh0sM4PVsF0dsOQWreaGGPgSYyAHynbszUaBUSIxs vHfX6av1cIqHmORWWvh93ilKWHhA/F4d3W5eeauvT7VokmNBR7ypsalo2mMheoNB1oYf5v 82inStPQj4Otbs1HQ5wVd8kTygcfPbl9nKMybzuUlBITG8G+cLia/TNbPyxr5dzXqApiE2 zYycxxsQR/9SvjyTH2v/6ClKcsMdWg1xAkfl8ad/3WON32yJL+qN9nTzpWFbdgDWZiP/Ty QJFS2gSLHPEM0lkWQMAxKQnM0CQpVOwcTPIgmUQmWoz8bKPcWaLHYB+52Yu7PQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726750975; a=rsa-sha256; cv=none; b=UQFPuyhrW0J09LXeqhjEi7eo0phEm+6wQbXAe+x3TOpm7ekSrCNWKGAHIa9/1MK228GC6a QQ2SrISThvjtuBs9jF+ESyQ7m67lgiAK/wKZehygU6DB421klMnJkWgI+2sZm7JLHw7q3q m5PFFSGYdPwXrw+k7JQDRc9ivGk18FkGpTIuvpnKsAEDva2tQflm6rKh8zOx057/xVrp3z UnbairuudipgbMtdy0Ay4z3hH+RkPpxZDZ3iJRMrdqDrj6ZjHNKPK5DEl8Hpn8pw137Xhi GY3s+Qmus8l1Wcho8Ybdn3rfJkFbbhgPGq3s3IiHJYjApDvRcjo7G0ECzm+ofw== 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=1726750975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pURf+oeWdBMhZT2b0eH3gaDxW6XnymWSiTNhhwYFmnE=; b=rcyavCa08H3Y6KcKJ/aaYk9WsVy9oIc53WOl6ECYSAEwrc+iMgTUh+GE9f0vJWm+qpsla/ BADHOKckEP2t/RkKUyAcw1Pv2EHXOrk+fyNJvM7WcJ3eGs+x4RxWuBcC5lErLle40YJTYA gNJ+mwyXKqQzmOJi6ilEhmprfPW18TliM4s0YagZYouPvScaTHgF2RA1iMqBxfwVxcsL7W vGkfVmTO8op8pwY0Jp9NbDW94r8mHetU9cxE2oyNaMOTJtwvYBiQr8kVIqa1nuW5G5GNdh nRop8HJnwpdG7TjtJgljLxp0Z2uHEPN2Rd4S1cbXa+5FkXNEtX2sD+jd5vp1gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bKW47zqz16JM; Thu, 19 Sep 2024 13:02: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 48JD2tw1099658; Thu, 19 Sep 2024 13:02:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD2tmR099655; Thu, 19 Sep 2024 13:02:55 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:02:55 GMT Message-Id: <202409191302.48JD2tmR099655@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: fdc0afd4391e - releng/14.1 - pf: improve the ICMPv6 direction check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: fdc0afd4391ef45b5dcba33238b37f135972d71a Auto-Submitted: auto-generated The branch releng/14.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fdc0afd4391ef45b5dcba33238b37f135972d71a commit fdc0afd4391ef45b5dcba33238b37f135972d71a Author: Kristof Provost AuthorDate: 2024-08-26 12:59:38 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:55:21 +0000 pf: improve the ICMPv6 direction check Following bluhm's advice this changes the way we setup state keys and perform state lookups for ICMPv6 Neighbor Discovery packets: - replace the NS-dst with ND target address; - replace the NA-src with ND target address; - replace the NA-dst with unspecified address if it is a multicast. This allows pf to match Address Resolution, Neighbor Unreachability Detection and Duplicate Address Detection packets to the corresponding states without the need to create new ones or match unrelated ones. As a side effect we're doing now one state table lookup for ND packets instead of two. Fixes a bug uncovered by one of the previous commits that virtually breaks IPv6 connectivity after few minutes of use. ok stsp henning, with and ok bluhm Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 MFC after: 1 week Obtained from: OpenBSD, mikeb , 2633ae8c4c8a Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 5ab1e5f7e5585558a73b723f07528977a82cee82) (cherry picked from commit 0121a4baaca09049d130d830aa9179e3cb9c9e88) --- sys/net/pfvar.h | 4 +- sys/netpfil/pf/pf.c | 116 ++++++++++++++++++++++++++++++++++--------------- sys/netpfil/pf/pf_lb.c | 2 +- 3 files changed, 85 insertions(+), 37 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 27428ad161f8..6a01f3eb6988 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2512,8 +2512,8 @@ struct pf_krule *pf_get_translation(struct pf_pdesc *, struct mbuf *, struct pf_addr *, struct pf_addr *, uint16_t, uint16_t, struct pf_kanchor_stackframe *); -struct pf_state_key *pf_state_key_setup(struct pf_pdesc *, struct pf_addr *, - struct pf_addr *, u_int16_t, u_int16_t); +struct pf_state_key *pf_state_key_setup(struct pf_pdesc *, struct mbuf *, int, + struct pf_addr *, struct pf_addr *, u_int16_t, u_int16_t); struct pf_state_key *pf_state_key_clone(struct pf_state_key *); void pf_rule_to_actions(struct pf_krule *, struct pf_rule_actions *); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 43f32f673842..2fdd092a6dc9 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -325,6 +325,9 @@ static int pf_create_state(struct pf_krule *, struct pf_krule *, u_int16_t, u_int16_t, int *, struct pfi_kkif *, struct pf_kstate **, int, u_int16_t, u_int16_t, int, struct pf_krule_slist *); +static int pf_state_key_addr_setup(struct pf_pdesc *, struct mbuf *, + int, struct pf_state_key_cmp *, int, struct pf_addr *, + int, struct pf_addr *, int); static int pf_test_fragment(struct pf_krule **, struct pfi_kkif *, struct mbuf *, void *, struct pf_pdesc *, struct pf_krule **, struct pf_kruleset **); @@ -341,7 +344,7 @@ static int pf_test_state_udp(struct pf_kstate **, void *, struct pf_pdesc *); int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, struct mbuf *, - int, struct pfi_kkif *, u_int16_t, u_int16_t, + int, int, struct pfi_kkif *, u_int16_t, u_int16_t, int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, @@ -395,7 +398,7 @@ extern struct proc *pf_purge_proc; VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]); -enum { PF_ICMP_MULTI_NONE, PF_ICMP_MULTI_SOLICITED, PF_ICMP_MULTI_LINK }; +enum { PF_ICMP_MULTI_NONE, PF_ICMP_MULTI_LINK }; #define PACKET_UNDO_NAT(_m, _pd, _off, _s) \ do { \ @@ -1457,9 +1460,66 @@ pf_state_key_ctor(void *mem, int size, void *arg, int flags) return (0); } +static int +pf_state_key_addr_setup(struct pf_pdesc *pd, struct mbuf *m, int off, + struct pf_state_key_cmp *key, int sidx, struct pf_addr *saddr, + int didx, struct pf_addr *daddr, int multi) +{ +#ifdef INET6 + struct nd_neighbor_solicit nd; + struct pf_addr *target; + u_short action, reason; + + if (pd->af == AF_INET || pd->proto != IPPROTO_ICMPV6) + goto copy; + + switch (pd->hdr.icmp6.icmp6_type) { + case ND_NEIGHBOR_SOLICIT: + if (multi) + return (-1); + if (!pf_pull_hdr(m, off, &nd, sizeof(nd), &action, &reason, pd->af)) + return (-1); + target = (struct pf_addr *)&nd.nd_ns_target; + daddr = target; + break; + case ND_NEIGHBOR_ADVERT: + if (multi) + return (-1); + if (!pf_pull_hdr(m, off, &nd, sizeof(nd), &action, &reason, pd->af)) + return (-1); + target = (struct pf_addr *)&nd.nd_ns_target; + saddr = target; + if (IN6_IS_ADDR_MULTICAST(&pd->dst->v6)) { + key->addr[didx].addr32[0] = 0; + key->addr[didx].addr32[1] = 0; + key->addr[didx].addr32[2] = 0; + key->addr[didx].addr32[3] = 0; + daddr = NULL; /* overwritten */ + } + break; + default: + if (multi == PF_ICMP_MULTI_LINK) { + key->addr[sidx].addr32[0] = IPV6_ADDR_INT32_MLL; + key->addr[sidx].addr32[1] = 0; + key->addr[sidx].addr32[2] = 0; + key->addr[sidx].addr32[3] = IPV6_ADDR_INT32_ONE; + saddr = NULL; /* overwritten */ + } + } +copy: +#endif + if (saddr) + PF_ACPY(&key->addr[sidx], saddr, pd->af); + if (daddr) + PF_ACPY(&key->addr[didx], daddr, pd->af); + + return (0); +} + struct pf_state_key * -pf_state_key_setup(struct pf_pdesc *pd, struct pf_addr *saddr, - struct pf_addr *daddr, u_int16_t sport, u_int16_t dport) +pf_state_key_setup(struct pf_pdesc *pd, struct mbuf *m, int off, + struct pf_addr *saddr, struct pf_addr *daddr, u_int16_t sport, + u_int16_t dport) { struct pf_state_key *sk; @@ -1467,8 +1527,12 @@ pf_state_key_setup(struct pf_pdesc *pd, struct pf_addr *saddr, if (sk == NULL) return (NULL); - PF_ACPY(&sk->addr[pd->sidx], saddr, pd->af); - PF_ACPY(&sk->addr[pd->didx], daddr, pd->af); + if (pf_state_key_addr_setup(pd, m, off, (struct pf_state_key_cmp *)sk, + pd->sidx, pd->src, pd->didx, pd->dst, 0)) { + uma_zfree(V_pf_state_key_z, sk); + return (NULL); + } + sk->port[pd->sidx] = sport; sk->port[pd->didx] = dport; sk->proto = pd->proto; @@ -5152,7 +5216,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (nr == NULL) { KASSERT((sk == NULL && nk == NULL), ("%s: nr %p sk %p, nk %p", __func__, nr, sk, nk)); - sk = pf_state_key_setup(pd, pd->src, pd->dst, sport, dport); + sk = pf_state_key_setup(pd, m, off, pd->src, pd->dst, sport, dport); if (sk == NULL) goto csfailed; nk = sk; @@ -6581,9 +6645,9 @@ pf_multihome_scan_asconf(struct mbuf *m, int start, int len, int pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, - struct pf_kstate **state, struct mbuf *m, int direction, struct pfi_kkif *kif, - u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi, - int inner) + struct pf_kstate **state, struct mbuf *m, int off, int direction, + struct pfi_kkif *kif, u_int16_t icmpid, u_int16_t type, int icmp_dir, + int *iidx, int multi, int inner) { key->af = pd->af; key->proto = pd->proto; @@ -6596,25 +6660,9 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, key->port[pd->sidx] = type; key->port[pd->didx] = icmpid; } - if (pd->af == AF_INET6 && multi != PF_ICMP_MULTI_NONE) { - switch (multi) { - case PF_ICMP_MULTI_SOLICITED: - key->addr[pd->sidx].addr32[0] = IPV6_ADDR_INT32_MLL; - key->addr[pd->sidx].addr32[1] = 0; - key->addr[pd->sidx].addr32[2] = IPV6_ADDR_INT32_ONE; - key->addr[pd->sidx].addr32[3] = pd->src->addr32[3]; - key->addr[pd->sidx].addr8[12] = 0xff; - break; - case PF_ICMP_MULTI_LINK: - key->addr[pd->sidx].addr32[0] = IPV6_ADDR_INT32_MLL; - key->addr[pd->sidx].addr32[1] = 0; - key->addr[pd->sidx].addr32[2] = 0; - key->addr[pd->sidx].addr32[3] = IPV6_ADDR_INT32_ONE; - break; - } - } else - PF_ACPY(&key->addr[pd->sidx], pd->src, key->af); - PF_ACPY(&key->addr[pd->didx], pd->dst, key->af); + if (pf_state_key_addr_setup(pd, m, off, key, pd->sidx, pd->src, + pd->didx, pd->dst, multi)) + return (PF_DROP); STATE_LOOKUP(kif, key, *state, pd); @@ -6677,7 +6725,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, * ICMP query/reply message not related to a TCP/UDP packet. * Search for an ICMP state. */ - ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, + ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { @@ -6685,7 +6733,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, icmp_dir == PF_OUT) { if (*state != NULL) PF_STATE_UNLOCK((*state)); - ret = pf_icmp_state_lookup(&key, pd, state, m, + ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 0); if (ret >= 0) @@ -7093,7 +7141,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - ret = pf_icmp_state_lookup(&key, &pd2, state, m, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) @@ -7148,7 +7196,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - ret = pf_icmp_state_lookup(&key, &pd2, state, m, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { @@ -7157,7 +7205,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, if (*state != NULL) PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, - state, m, pd->dir, kif, + state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); if (ret >= 0) diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 4fcad7e578a8..06c82569ad6c 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -633,7 +633,7 @@ pf_get_translation(struct pf_pdesc *pd, struct mbuf *m, int off, return (NULL); } - *skp = pf_state_key_setup(pd, saddr, daddr, sport, dport); + *skp = pf_state_key_setup(pd, m, off, saddr, daddr, sport, dport); if (*skp == NULL) return (NULL); *nkp = pf_state_key_clone(*skp); From nobody Thu Sep 19 13:02:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bKY1Gp6z5WXwJ; Thu, 19 Sep 2024 13:02: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 4X8bKX60p0z4pwl; Thu, 19 Sep 2024 13:02:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726750976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0CkXiXf8XaoUkjJ+SmSc30ck55464tpY1weVCAF1RhU=; b=ntOni4pABu3VFYU0ELanWh9UC6KN5eYpyQ3TM7WMRXwup9aErLG2uN7yNH5PjfxuNwWLPM My/uwrgQjgXSZ0kObQRS9JzTJ7t71beovBHvvJX2yjN1ivzDPzrd0ufxYblTYMgQ2re0/k Fgv5vSncqkyUuNk5T0sI9NWEHrvT05UFp98zPFStpLTUHtVMUwjg9CpGBoZ1Egmxz3MHWG GCBZHY9UcgCf9u89axXBV1a5LS+AZsy8+TZA+KcTtIO3MIJyZGeupDOF9tBHzbOnEszhOZ XJ5gYgkx9H/IJ4KYWKXNj+A4byeVTbHPHd2ZvBVHCNmPxJPgyESBWpt7MSl0LA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726750976; a=rsa-sha256; cv=none; b=qgY1mxypwxmpLf2lOZ6SNm5RNUMUWpWPD0cWx15sIfRnEGl9N5D0ebeBNAPKy4MfDO+ITI QXiVEby0O9gCSoBuOqkCjb8Y1rvoi2CvDKvuv0PDDN/8Of2RTxYYHITj2kiNaYu2ivUHh7 zvh9QuyR6KC9/HoQ2iPigErSnlnqqwyvhtIpZOoGJEyShcGfQN7+D+ITZTazgcMouZpnSX j+pCThHwtJmldSfSCFs9/WIua/4ny//B5bfYA8FUVg/pPd9jo5KFFG19SVu6VbdLNyrWbu BLPGuCIn7441ppX1p5IsZoQDd09DiB2GWHcXW5WjmCssoFabHly5ib6rO4zzzQ== 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=1726750976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0CkXiXf8XaoUkjJ+SmSc30ck55464tpY1weVCAF1RhU=; b=uX3vSCzVQza/er3mFtNIFi4MlUu3VVDIq1urbSiMVKfITqJX7K2n8Jy0xAqK+dgT/z4o02 Ls8LIAkQqpsgl7c1ti7vY5BF1eYoepIwPznzF0xLxFlAiBGKNVOLpznPUowL0O9j294Ww5 XBvmLiDffVLf8n/m3lXueo7Ev2Ywumk8lomHoHymcVWREcNG/83XA9rYZG2mq32yMg525E GSZWYOKYL1Upk4evh9D1Nj6WMFRniwxBaYOtfxsq2nr4zinvI2a6GZ3EcUvG6HjXMZD7aA 9TpDL5mdhrIcqnnW2pQf8FZzxHvAOPWA+kHCEIANOTbU0Y6i8WjbpPBrH47l0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bKX5XTzz16Rd; Thu, 19 Sep 2024 13:02: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 48JD2unj099724; Thu, 19 Sep 2024 13:02:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD2uDa099721; Thu, 19 Sep 2024 13:02:56 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:02:56 GMT Message-Id: <202409191302.48JD2uDa099721@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: 95a1a22a835f - releng/14.1 - pf: try to lookup the icmp state based on a correct packet descriptor List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 95a1a22a835f8824acf1c7d7edd6953ad7f83ab2 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=95a1a22a835f8824acf1c7d7edd6953ad7f83ab2 commit 95a1a22a835f8824acf1c7d7edd6953ad7f83ab2 Author: Kristof Provost AuthorDate: 2024-08-26 14:42:05 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:55:33 +0000 pf: try to lookup the icmp state based on a correct packet descriptor Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Obtained from: OpenBSD, mikeb , e467ea25dcd3 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit b8cd169efa6ac0899b4998898129765ae5c685a6) (cherry picked from commit f40b0e735177b25ce67fb488a93834168f4c16e1) --- sys/netpfil/pf/pf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 2fdd092a6dc9..b057c75dc51c 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7200,11 +7200,11 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { - if (ret == PF_DROP && pd->af == AF_INET6 && + if (ret == PF_DROP && pd2.af == AF_INET6 && icmp_dir == PF_OUT) { if (*state != NULL) PF_STATE_UNLOCK((*state)); - ret = pf_icmp_state_lookup(&key, pd, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); From nobody Thu Sep 19 13:02:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bKZ3D83z5WYHt; Thu, 19 Sep 2024 13:02: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 4X8bKY7314z4q05; Thu, 19 Sep 2024 13:02:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726750978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h4dZjQCYLeNfxvIWMGtA1yVJWUwmqVM3HZdWzsXO740=; b=DZJ3D0lGh+YGIsLfpFfF/uOQ5veX0kbGJQ5ba/C6gAy7QkouMZAyWWct7GW8aSiDcVU2gA 2Fo5guTpwQURSOeDUmtMPOaU22sfx6Tv4/cqKwIr9BulOK/q7JHlf7pXM57Y3r0rah7eWW BI1l0f8xCIYx3Y+ntqqNlk5lmdRWQxHrCHB/SyPw8E8d21PPDd2btm5N+s9DnUK8WKpqHf 3svwtLQJrNWDGQrBIi/J9qvLEG1ePdtj/cnYz1nmXX1Ie18UlqqiMc+QYn/R/q0mT1VTP4 nE7lEUllvpWGnGRVWEdDQpBiBLAHnJI2JKE3sKT/dLWgmDGuHBLgFXF/dM6DXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726750978; a=rsa-sha256; cv=none; b=B+rZdEEr+J30sSoiXW8fhEnLDM55Eq3FwyuwbLbYEQzQgECFZh4Z/OpUVKe9Zh/jo6co5X kdYRQPcbvCasb2a796xZsh3vBkkZZ4sBZ12GYS2+JjfFYa5hpGnFRkpG0FKWCncDLtTlSs xU4X5IlTSZOTUfNtMcMTmUwJsf1bwf+Iuf2bXD1e3rjdp6CEuc6uqC+Mqi+gx9bXwLBCo+ Pa9fQ2BCEPGCtrBPtM/8HnlI8YRzEp19dES+2D7+Bcqml0hzdT1/4lG91yTaR97eOYPz5+ L2IxCIIP7PALjYjohcH9bMj56u4j+RVIs2KEZB/d3YN4OGtVWZ3jS7eBfRv3Lg== 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=1726750978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h4dZjQCYLeNfxvIWMGtA1yVJWUwmqVM3HZdWzsXO740=; b=W4n3ciHcTqJ7znvjbNksreQ8oE2x/ukJCAKd9f89eJv3cnXvIod6Ga3cRJ7TXLkjwjyxHl 1VeGRQs5qHpXlvPk59CdSExKDeQCfdxTT4H7rCGMgBmdTT8sovvvUYh1TBfaRTSza8Ej4R W5nkLxiOa6JTtslvrAirSIN1Fqia/cFVaYBLd4F5+vH4qyVrz5bpNh0XI4WxhKS3/aUkdZ cuXVT6dP6ptn1F+aqgjMb10Ks8trmMf0Lf4fC7aP1JXHCcOm1pBJXIqWOOQ7sszAvkgA77 HjViViH9Wxkn9hw5rmaRuiCuDR4roWzM+ZUVRiE2gxqfA/saDdbjLZzhKZD1gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bKY6dkVz16Bf; Thu, 19 Sep 2024 13:02: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 48JD2vIN099787; Thu, 19 Sep 2024 13:02:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD2vpw099784; Thu, 19 Sep 2024 13:02:57 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:02:57 GMT Message-Id: <202409191302.48JD2vpw099784@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: 94c6c986f3c4 - releng/14.1 - pf: be less strict about icmp state checking for sloppy state tracking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 94c6c986f3c4f2f9bef47b02659cfb2591d837cf Auto-Submitted: auto-generated The branch releng/14.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=94c6c986f3c4f2f9bef47b02659cfb2591d837cf commit 94c6c986f3c4f2f9bef47b02659cfb2591d837cf Author: Kristof Provost AuthorDate: 2024-08-26 14:44:20 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:55:44 +0000 pf: be less strict about icmp state checking for sloppy state tracking Sloppy state tracking renders ICMP direction check useless and harmful as we might see only half of the connection in the asymmetric setups but ignore the state match. The bug was reported and fix was verified by Insan Praja . Thanks! OK mcbride, henning Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Obtained from: OpenBSD, mikeb , 538596657140 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 3da3eb6081a2e2f6ea2fed1728d5dd7f9e8786e5) (cherry picked from commit b822e3fab468ffbe941d0758d960e1aa46069a38) --- sys/netpfil/pf/pf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index b057c75dc51c..ed278a5526be 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6666,6 +6666,9 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, STATE_LOOKUP(kif, key, *state, pd); + if ((*state)->state_flags & PFSTATE_SLOPPY) + return (-1); + /* Is this ICMP message flowing in right direction? */ if ((*state)->rule.ptr->type && (((!inner && (*state)->direction == direction) || From nobody Thu Sep 19 13:02:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bKb2QXhz5WYWK; Thu, 19 Sep 2024 13:02: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 4X8bKb0jNCz4pmP; Thu, 19 Sep 2024 13:02:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726750979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fsq/bKquo9um0StxRFXs5NRn5Jes6upjBfZfCaFzx+A=; b=ps9P1zK6/UCFRAf23iUJlREuUkcg710f1foBcsl6QqxWu/EZryHOAWcaLIX2GrrQoztPBH CSaiKGzJq72/yMF5oI0dF1AvQaAKuDEeuF/VlCSRfisvNJK3raLZKNdRaS8HQm9PZ+SPNo opi4E0VsPwcVc7IWkBYSYWm2kWHc5gG492Uu1A2QjdT48ztz/moGdXaX2GnwkXKamnTygN sOp47U9UPj3p3NlzqBNUl2TpkoL3Wt71mcgF+dvMAMsTR/EoLZeovjiezYOqPhCrwYhb71 QyOFbq+ZYO8uZYIuY5gDovpFHEMJJaGMzKdQgnBVAkVrc89VhPlBStfzry0U4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726750979; a=rsa-sha256; cv=none; b=j1yRVMt+YDZVh5C9M9XQgEl/QTvkpgKRg+l9GESzASRCQfuGDqbeOV4eO+H+bvN5Q6h6dQ DiOifXglJ+wrbdEHyP097fmmWEj1QhsT/xHJO4NoZ9Le6b1EWrB1GeHa9VYXo9Hubj4rut AvxkWOTnLD3KaIUKG8ocnlZZkzN7Gz9ddASbcFgzlmSBL0oquD/nyxpDDFHxwZuRM6F9Od 7Gpt/sUnTICp3bgjVoWjydkYsql0VTP9W5RjSWBARbOAxpKJLPrdLA8vlZgMay6DnF6Jw/ pmnMpwEBrvcvIdTmSCYE/wveXyT7VnJOwgjL6tm1M9ClNWYiZvXLfX3dfle8Tw== 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=1726750979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fsq/bKquo9um0StxRFXs5NRn5Jes6upjBfZfCaFzx+A=; b=ALgNamvZH9NRIeOXG0VVcXwxeUEcat0kGDTWaJ+fwsKlXtIzjBZneUQBCFeO+rwJKgOCgX r+1rSslPyeZS1Zm7AKzs53t/JpnRqmyB6LmfpVX4qWDI+UA8gFqdMfoZ6jYokqGqmulpzM cm+UE9YhHRye285IfyoVN3+q+CXXFioXApAo1uOA4VkUe7gAjWt/Q0kAbP6hzaCsFnibXd R6FfcP9/eVlX25bufxN8NHJM5PaguxC++O5i2YcWXvOgrlDbGSKQ/fmakVGjNzzb+k0RaH KZzHy2588XkKJ89uEbzWAWlgYC/J9qPqWwu0z6aHZrCmuYstL7RVtNicDlyjrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bKb0JGbz16Bg; Thu, 19 Sep 2024 13:02: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 48JD2wiD099829; Thu, 19 Sep 2024 13:02:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD2wOG099826; Thu, 19 Sep 2024 13:02:58 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:02:58 GMT Message-Id: <202409191302.48JD2wOG099826@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: 1e965d5399e1 - releng/14.1 - pf: rework pf_icmp_state_lookup() failure mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 1e965d5399e18c42441c90778333a1a5f24a105c Auto-Submitted: auto-generated The branch releng/14.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1e965d5399e18c42441c90778333a1a5f24a105c commit 1e965d5399e18c42441c90778333a1a5f24a105c Author: Kristof Provost AuthorDate: 2024-08-30 11:36:39 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:55:55 +0000 pf: rework pf_icmp_state_lookup() failure mode If pf_icmp_state_lookup() finds a state but rejects it for not matching the expected direction we should unlock the state (and NULL out *state). This simplifies life for callers, and also ensures there's no confusion about what a non-NULL returned state means. Previously it could have been left in there by the caller, resulting in callers unlocking the same state twice. Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 0578fe492284ded4745167060be794032e6e22f0) (cherry picked from commit 38f74de7184ac3ad7acc48055551aaa9ec9cded9) --- sys/net/pfvar.h | 4 ++-- sys/netpfil/pf/pf.c | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 6a01f3eb6988..676cf05cab8d 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -359,8 +359,8 @@ struct pfi_dynaddr { mtx_unlock(_s->lock); \ } while (0) #else -#define PF_STATE_LOCK(s) mtx_lock(s->lock) -#define PF_STATE_UNLOCK(s) mtx_unlock(s->lock) +#define PF_STATE_LOCK(s) mtx_lock((s)->lock) +#define PF_STATE_UNLOCK(s) mtx_unlock((s)->lock) #endif #ifdef INVARIANTS diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index ed278a5526be..7c31f1fc0fd0 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6680,6 +6680,8 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, pf_print_state(*state); printf("\n"); } + PF_STATE_UNLOCK(*state); + *state = NULL; return (PF_DROP); } return (-1); @@ -6732,15 +6734,16 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { + MPASS(*state == NULL); if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { - if (*state != NULL) - PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 0); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } } else return (ret); } @@ -7147,8 +7150,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } /* translate source/destination address, if necessary */ if ((*state)->key[PF_SK_WIRE] != @@ -7203,16 +7208,17 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { + MPASS(*state == NULL); if (ret == PF_DROP && pd2.af == AF_INET6 && icmp_dir == PF_OUT) { - if (*state != NULL) - PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } } else return (ret); } From nobody Thu Sep 19 13:03:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bL35Mp6z5WYWn; Thu, 19 Sep 2024 13:03:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X8bL34d6kz4rDb; Thu, 19 Sep 2024 13:03:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hqsDZNPQn51e2r0Q2dtvZr/h7l7/es/ylC0rReoKyWo=; b=RvzpAvokWRxWDdepGqTvwDqEyzXeLP8W+WUCI960/osyma6ABY+wmme29F1d9V56pK+8dt F5FA4Ty02lfmkVoO1tB65UM9xBaWJ6iFfo6pruMLVvPlwSAEKc4+icNEnl0AGGPAsYrm6d k6Rq39ZYwjn9+/4jc6To/YDGKwnDlN7DQQHJZ3v/biSk33ze+LhiomAR5LVL621ivozhC6 Yw9qZnNLq3ZdB6VcutWw/gAJdvOfjEF3E0VNvDGjfoTfXmX0te/UyuveqKsB+w3nw5utE0 zGW6Lvok1xSq0sy3Z+F8wUMbl1MmeDSAJdUKTAqiYD/61UslXfJs/ISofpx2Qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751003; a=rsa-sha256; cv=none; b=PAhgok+Xmgn6pGiDW75SGq2h2E9cyQcgDf28kHQRYHmJmvgFtrUWwLQwXPmPaSvdpbjcVI sj+6/N5nH3rtpJKC/1iBdvI2BfTyd26YcmWIKxTj2xD/VIPto75av/d4zedr7kLpApeFSA AkgOhdznkEp6Rj81F/+0CiXQ9RXPet4eMp5nCzAPb4z2y7NvLEGL2sWVJRE2Ks0+j5ntpa DByJ1MHzFG0AFppR6auBI4sxC/6QXBq+CuVRrk1XxJjJ3AJw/XTkOTbQTqpTWUk16uyG+2 k08QeQUY9KcUlXOiZq/dtLCeW4IoM64OwWfj7yJNfrWQsHVayPGU7aPCrkWhjw== 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=1726751003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hqsDZNPQn51e2r0Q2dtvZr/h7l7/es/ylC0rReoKyWo=; b=XhRdgCCXpWr1trRgh94fEmE1SHpdmk4+P2rUxXNs1W6mhIcthSi0jUqxhCJ0DfmaNUpJ5q QcE9nqTndZgH+wGTjXDaj/1LGIhnnB4TC+GIlhXE/AOStBW21RWMgZIZ5w0frJy/XKLj+C xBhekKEPZPRqRyWydHPjrnQhS+CzrZes1D9vYxFMCYaodjHC8mQg9H25o05CJloDWUn2ey L5tGi0J/zSTdRmLTWA65AlAXZmV1fhPRXKE7H70CffkVoTQiDQ361vZY2LrG4JWRx3FcAc cTeZslVEmqk7QQaOEbghzeLs1MbiUwMcnt5JkQKfGXJmLlndvuz1L5dfTqUI5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bL34BRxz16JN; Thu, 19 Sep 2024 13:03: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 48JD3NBG000127; Thu, 19 Sep 2024 13:03:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3NoK000124; Thu, 19 Sep 2024 13:03:23 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:23 GMT Message-Id: <202409191303.48JD3NoK000124@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: d1c4f6decb10 - releng/14.0 - pf: fix icmp-in-icmp state lookup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: d1c4f6decb10c7dc826d4a3a27763dc3f531ffe5 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d1c4f6decb10c7dc826d4a3a27763dc3f531ffe5 commit d1c4f6decb10c7dc826d4a3a27763dc3f531ffe5 Author: Kristof Provost AuthorDate: 2024-08-12 14:07:35 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:57:46 +0000 pf: fix icmp-in-icmp state lookup In 534ee17e6 pf state checking for ICMP(v6) was made stricter. This change failed to correctly set the pf_pdesc for ICMP-in-ICMP lookups, resulting in ICMP error packets potentially being dropped incorrectly. Specially, it copied the ICMP header into a separate variable, not into the pf_pdesc. Populate the required pf_pdesc fields for the embedded ICMP packet's state lookup. Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 2da98eef1f352c496ffd458b4c68ddee972bb903) (cherry picked from commit 27a1a56b0d2e6ffa6ab1de69ef84fe66b7fd41e0) --- sys/netpfil/pf/pf.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index cf1c83aceff7..ac6c64ec1fa2 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6585,9 +6585,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, } #ifdef INET case IPPROTO_ICMP: { - struct icmp iih; + struct icmp *iih = &pd2.hdr.icmp; - if (!pf_pull_hdr(m, off2, &iih, ICMP_MINLEN, + if (!pf_pull_hdr(m, off2, iih, ICMP_MINLEN, NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short i" @@ -6595,12 +6595,13 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, return (PF_DROP); } - icmpid = iih.icmp_id; - pf_icmp_mapping(&pd2, iih.icmp_type, + icmpid = iih->icmp_id; + pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); + pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, - pd->dir, kif, virtual_id, virtual_type, + pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE); if (ret >= 0) return (ret); @@ -6614,10 +6615,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || (virtual_type == htons(ICMP_ECHO) && - nk->port[iidx] != iih.icmp_id)) + nk->port[iidx] != iih->icmp_id)) pf_change_icmp(pd2.src, (virtual_type == htons(ICMP_ECHO)) ? - &iih.icmp_id : NULL, + &iih->icmp_id : NULL, daddr, &nk->addr[pd2.sidx], (virtual_type == htons(ICMP_ECHO)) ? nk->port[iidx] : 0, NULL, @@ -6633,7 +6634,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, m_copyback(m, off, ICMP_MINLEN, (caddr_t)&pd->hdr.icmp); m_copyback(m, ipoff2, sizeof(h2), (caddr_t)&h2); - m_copyback(m, off2, ICMP_MINLEN, (caddr_t)&iih); + m_copyback(m, off2, ICMP_MINLEN, (caddr_t)iih); } return (PF_PASS); break; @@ -6641,9 +6642,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, #endif /* INET */ #ifdef INET6 case IPPROTO_ICMPV6: { - struct icmp6_hdr iih; + struct icmp6_hdr *iih = &pd2.hdr.icmp6; - if (!pf_pull_hdr(m, off2, &iih, + if (!pf_pull_hdr(m, off2, iih, sizeof(struct icmp6_hdr), NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short " @@ -6651,8 +6652,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, return (PF_DROP); } - pf_icmp_mapping(&pd2, iih.icmp6_type, + pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); + + pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE); @@ -6680,10 +6683,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || ((virtual_type == htons(ICMP6_ECHO_REQUEST)) && - nk->port[pd2.sidx] != iih.icmp6_id)) + nk->port[pd2.sidx] != iih->icmp6_id)) pf_change_icmp(pd2.src, (virtual_type == htons(ICMP6_ECHO_REQUEST)) - ? &iih.icmp6_id : NULL, + ? &iih->icmp6_id : NULL, daddr, &nk->addr[pd2.sidx], (virtual_type == htons(ICMP6_ECHO_REQUEST)) ? nk->port[iidx] : 0, NULL, @@ -6701,7 +6704,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, (caddr_t)&pd->hdr.icmp6); m_copyback(m, ipoff2, sizeof(h2_6), (caddr_t)&h2_6); m_copyback(m, off2, sizeof(struct icmp6_hdr), - (caddr_t)&iih); + (caddr_t)iih); } return (PF_PASS); break; From nobody Thu Sep 19 13:03:25 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bL62cf6z5WYWt; Thu, 19 Sep 2024 13:03: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 4X8bL60tnHz4rKg; Thu, 19 Sep 2024 13:03:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4VroX58U0Cn9YVzHmCqxPQRqM2rhJIgTiAN9jeAcRCo=; b=peba7667EYqVzN//tccOoROVy59q56/7YtFClXfjo1iwMQBtDmbVdbSwR0/drW6A58WieS mLeyKuvakaCl3K5Cw+B1hl9ydMYkrRCnOZuRkO44hrthjpWiMrR4+mOa3goI0IfA+q2yYb XTENyWOcqJ6gGineJoY5QD66J7hEZudtDlVZol6k+hc9+753acFhZy27QNQrusbyYj+4lJ VqMc1f0Z3vG8J34ftW+SetJ12YnCf2xdybajlb0757jjW2uQzsGEsnVJpewED2MACi8KtV aycM3BxVPGSt+MigssltGa2El7J0XhH6akncif1Z+o87IiccunmNOmoBGJKVkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751006; a=rsa-sha256; cv=none; b=DxRM+bcEkM/4q6ohzlaGws8w0kB3Bw7bSsuQ89Z4izM5WDIyqNC7ztenRmv/EiPpVV/UIo lBZ9TtWcoCCFAdk7bq6oe+ysFmgPx+Ikd5Gw6GKMRQr82E1yUVVrFGb8Aq68dAkuHFkw9n q1bpN9rC3yKNPvN++Fiezw8zdkSqV16UBE9a8sxfr6j8keKAjrBwzMmpkvcIGuuN1WxcMD LX/3osLj86TGY+ZPJ6aBCT7I2Ec9swgXiRxiX6E9g5yQF3UGyZKu1KgIGivOTq/Ru5cdBy QqbI5uJee4ixRKLVxAb5kNPtwX+b7ZUSTolF2M1RQkx3vCO7CzKdmOFizzmPZQ== 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=1726751006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4VroX58U0Cn9YVzHmCqxPQRqM2rhJIgTiAN9jeAcRCo=; b=k2Jgsw5KNXNEHX1JXLhNMj7H3BN+hm9TMRoXDODbXPwdJ3MNeqZgbbFf98yo5y4F2Wk21X lL3KLn3zygkV7rwutbxICpkaJsDD4IVupWNnaXh71Q2arFefSdxL5v4pvYvGhkE6gQsURS px8aJXi8JiH200KevpqNiLuOsd+QqaCP/5UKGrEOLdll8X8B/sHlriXxmDOETpxjRN35cd 8g4lr8Ze5cLsiAJlW8CzKxg5/SmOHjm4aug51PqCIZklQi6UQfIVU08eM/tanmna+blgSe aEHa2t3fDFAFEPHogVYCU1FlSnXQbqexbv5w9i8E/ShvZFeydpaPLDdA3CnXYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bL56GP8z16Bk; Thu, 19 Sep 2024 13:03: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 48JD3PlK000236; Thu, 19 Sep 2024 13:03:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3Pou000233; Thu, 19 Sep 2024 13:03:25 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:25 GMT Message-Id: <202409191303.48JD3Pou000233@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: 9481d7a26082 - releng/14.0 - pf: invert direction for inner icmp state lookups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 9481d7a260822d20d60d582bfff20bdd754c49c5 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9481d7a260822d20d60d582bfff20bdd754c49c5 commit 9481d7a260822d20d60d582bfff20bdd754c49c5 Author: Kristof Provost AuthorDate: 2024-08-14 09:29:30 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:58:15 +0000 pf: invert direction for inner icmp state lookups (e.g. traceroute with icmp) ok henning, jsing Also extend the test case to cover this scenario. Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 Obtained from: OpenBSD MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 89f6723288b0d27d3f14f93e6e83f672fa2b8aca) (cherry picked from commit 46c4fc50d3012ca3c8756df243589add36b70830) --- sys/netpfil/pf/pf.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index ac6c64ec1fa2..1cf13d4d642e 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -309,7 +309,7 @@ static int pf_test_state_udp(struct pf_kstate **, int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, struct mbuf *, int, struct pfi_kkif *, u_int16_t, u_int16_t, - int, int *, int); + int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, void *, struct pf_pdesc *, u_short *); @@ -6091,7 +6091,8 @@ pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, int pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, struct pf_kstate **state, struct mbuf *m, int direction, struct pfi_kkif *kif, - u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi) + u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi, + int inner) { key->af = pd->af; key->proto = pd->proto; @@ -6128,7 +6129,8 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, /* Is this ICMP message flowing in right direction? */ if ((*state)->rule.ptr->type && - (((*state)->direction == direction) ? + (((!inner && (*state)->direction == direction) || + (inner && (*state)->direction != direction)) ? PF_IN : PF_OUT) != icmp_dir) { if (V_pf_status.debug >= PF_DEBUG_MISC) { printf("pf: icmp type %d in wrong direction (%d): ", @@ -6186,7 +6188,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, */ ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, - PF_ICMP_MULTI_NONE); + PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { @@ -6194,7 +6196,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, multi); + icmp_dir, &iidx, multi, 0); if (ret >= 0) return (ret); } else @@ -6278,6 +6280,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, int off2 = 0; pd2.af = pd->af; + pd2.dir = pd->dir; /* Payload packet is from the opposite direction. */ pd2.sidx = (pd->dir == PF_IN) ? 1 : 0; pd2.didx = (pd->dir == PF_IN) ? 0 : 1; @@ -6599,10 +6602,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd2.dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, PF_ICMP_MULTI_NONE); + icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) return (ret); @@ -6655,10 +6657,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, PF_ICMP_MULTI_NONE); + icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { @@ -6667,7 +6668,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, multi); + icmp_dir, &iidx, multi, 1); if (ret >= 0) return (ret); } else From nobody Thu Sep 19 13:03:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bL7262Lz5WYZM; Thu, 19 Sep 2024 13:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X8bL70ZMXz4rQ3; Thu, 19 Sep 2024 13:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k601swaJ/VVNz/JXObg9FTXInBZmFLA5RuyFqsnnbpI=; b=IM4sQ+Nq+Z1SLEWY/0h2xN0+A5ffNISV7qy7KPWyHEw81wrxaJiXF6M/eFDir1Qko6dNRg YcXwoO37533nB1syzdBg7yV1NILixreAeGF33z3tiuS6bvaXjSsjOVOiO/7H6ff9aepajs EMsbDeDwbjsl3sIhxdIRI9VaoMnkfSsbGKRj6MwzwJJYJ1nvDpnDy567b1KPI+yR4OPn0W PC+QEVrCmZHcu2LXTGC8bMUgOScsjnV0hodFT0IS+sroD3MbRyu2nUAYZF3vZS0hCFiBYG D6zYYuW1wyH+GKGeQZJZgHl/ua/2Vrtr0xifHcpCB6WD6I2xJ3APsqVfuxSRmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751007; a=rsa-sha256; cv=none; b=hKnEsY2rukA3hFQ+yT6nTL0pPEVJWq1N+igf+AbWLVy7+5taae/1u4TEvetCXDjUVYr1Fj 8XcYZ1kzvbh1aNgBxtYEMUgHrFYVhGZYQgHvKy3o9gqgs/Pkb/2dwHCGgYCFVNk/1rsF2u MgrMIY0rcpioi/PQ7iO9Lc3/zxM7E1DAHVrQpcdmkgW57j4Jj483KJhAqkzAziEfD6+WTk h+CMr6HP/3EABuTTLQRIPjp9XOTBS+fccK79Zzqi64qgRNC6HLV5bbXBj1L0aDOqOCXaud IMjNmGKWusIYSCbCuOnwL420LtxLPXRW+tW+W0cRRGhM6RRmesIz8r671jiq/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=1726751007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k601swaJ/VVNz/JXObg9FTXInBZmFLA5RuyFqsnnbpI=; b=DGMx/URiUn9HWnJWltq2+urvWZr/63Y2TqknHVZJ9GRoCiatpyEpk7dlaJGBojJGFEZl4e AcKuemfl76R2L8o2UrnuCxRrmvoZ5/egiCOs/e3gWr7nPr7p0aFoxixi0KrZrNQY6CXkcK ugETlmiGz2TCwouGCm2NJ04KW6K5Me6h7/zzlTSa/zSUpyPRIuC0spJ6mmV2tvGYsXyW2q jgbBLBL8zkWfViyuLPBTxwaOuibDksQYYmpHRKrMxxsrcoaoHY9rVJ7fTzvJdsaGo+Okmr znYyxLJSUHvwKeLPAV02ixpdL51tRU5l3r1AR+dOCqC1G988ZBEUovm0DP28Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bL70BkCz16Rf; Thu, 19 Sep 2024 13:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48JD3Qn6000281; Thu, 19 Sep 2024 13:03:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3Qot000278; Thu, 19 Sep 2024 13:03:26 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:26 GMT Message-Id: <202409191303.48JD3Qot000278@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: 2fd8437daed5 - releng/14.0 - pf: improve the ICMPv6 direction check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 2fd8437daed57e34e50beb50013910b64b456f91 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2fd8437daed57e34e50beb50013910b64b456f91 commit 2fd8437daed57e34e50beb50013910b64b456f91 Author: Kristof Provost AuthorDate: 2024-08-26 12:59:38 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:58:25 +0000 pf: improve the ICMPv6 direction check Following bluhm's advice this changes the way we setup state keys and perform state lookups for ICMPv6 Neighbor Discovery packets: - replace the NS-dst with ND target address; - replace the NA-src with ND target address; - replace the NA-dst with unspecified address if it is a multicast. This allows pf to match Address Resolution, Neighbor Unreachability Detection and Duplicate Address Detection packets to the corresponding states without the need to create new ones or match unrelated ones. As a side effect we're doing now one state table lookup for ND packets instead of two. Fixes a bug uncovered by one of the previous commits that virtually breaks IPv6 connectivity after few minutes of use. ok stsp henning, with and ok bluhm Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 MFC after: 1 week Obtained from: OpenBSD, mikeb , 2633ae8c4c8a Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 5ab1e5f7e5585558a73b723f07528977a82cee82) (cherry picked from commit 0121a4baaca09049d130d830aa9179e3cb9c9e88) --- sys/net/pfvar.h | 4 +- sys/netpfil/pf/pf.c | 116 ++++++++++++++++++++++++++++++++++--------------- sys/netpfil/pf/pf_lb.c | 2 +- 3 files changed, 85 insertions(+), 37 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index f9cb45f696d3..4edbf0c51ff8 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2482,8 +2482,8 @@ struct pf_krule *pf_get_translation(struct pf_pdesc *, struct mbuf *, struct pf_addr *, struct pf_addr *, uint16_t, uint16_t, struct pf_kanchor_stackframe *); -struct pf_state_key *pf_state_key_setup(struct pf_pdesc *, struct pf_addr *, - struct pf_addr *, u_int16_t, u_int16_t); +struct pf_state_key *pf_state_key_setup(struct pf_pdesc *, struct mbuf *, int, + struct pf_addr *, struct pf_addr *, u_int16_t, u_int16_t); struct pf_state_key *pf_state_key_clone(struct pf_state_key *); void pf_rule_to_actions(struct pf_krule *, struct pf_rule_actions *); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1cf13d4d642e..7b501cc54b27 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -292,6 +292,9 @@ static int pf_create_state(struct pf_krule *, struct pf_krule *, u_int16_t, u_int16_t, int *, struct pfi_kkif *, struct pf_kstate **, int, u_int16_t, u_int16_t, int, struct pf_krule_slist *); +static int pf_state_key_addr_setup(struct pf_pdesc *, struct mbuf *, + int, struct pf_state_key_cmp *, int, struct pf_addr *, + int, struct pf_addr *, int); static int pf_test_fragment(struct pf_krule **, struct pfi_kkif *, struct mbuf *, void *, struct pf_pdesc *, struct pf_krule **, struct pf_kruleset **); @@ -308,7 +311,7 @@ static int pf_test_state_udp(struct pf_kstate **, void *, struct pf_pdesc *); int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, struct mbuf *, - int, struct pfi_kkif *, u_int16_t, u_int16_t, + int, int, struct pfi_kkif *, u_int16_t, u_int16_t, int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, @@ -359,7 +362,7 @@ extern struct proc *pf_purge_proc; VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]); -enum { PF_ICMP_MULTI_NONE, PF_ICMP_MULTI_SOLICITED, PF_ICMP_MULTI_LINK }; +enum { PF_ICMP_MULTI_NONE, PF_ICMP_MULTI_LINK }; #define PACKET_UNDO_NAT(_m, _pd, _off, _s) \ do { \ @@ -1418,9 +1421,66 @@ pf_state_key_ctor(void *mem, int size, void *arg, int flags) return (0); } +static int +pf_state_key_addr_setup(struct pf_pdesc *pd, struct mbuf *m, int off, + struct pf_state_key_cmp *key, int sidx, struct pf_addr *saddr, + int didx, struct pf_addr *daddr, int multi) +{ +#ifdef INET6 + struct nd_neighbor_solicit nd; + struct pf_addr *target; + u_short action, reason; + + if (pd->af == AF_INET || pd->proto != IPPROTO_ICMPV6) + goto copy; + + switch (pd->hdr.icmp6.icmp6_type) { + case ND_NEIGHBOR_SOLICIT: + if (multi) + return (-1); + if (!pf_pull_hdr(m, off, &nd, sizeof(nd), &action, &reason, pd->af)) + return (-1); + target = (struct pf_addr *)&nd.nd_ns_target; + daddr = target; + break; + case ND_NEIGHBOR_ADVERT: + if (multi) + return (-1); + if (!pf_pull_hdr(m, off, &nd, sizeof(nd), &action, &reason, pd->af)) + return (-1); + target = (struct pf_addr *)&nd.nd_ns_target; + saddr = target; + if (IN6_IS_ADDR_MULTICAST(&pd->dst->v6)) { + key->addr[didx].addr32[0] = 0; + key->addr[didx].addr32[1] = 0; + key->addr[didx].addr32[2] = 0; + key->addr[didx].addr32[3] = 0; + daddr = NULL; /* overwritten */ + } + break; + default: + if (multi == PF_ICMP_MULTI_LINK) { + key->addr[sidx].addr32[0] = IPV6_ADDR_INT32_MLL; + key->addr[sidx].addr32[1] = 0; + key->addr[sidx].addr32[2] = 0; + key->addr[sidx].addr32[3] = IPV6_ADDR_INT32_ONE; + saddr = NULL; /* overwritten */ + } + } +copy: +#endif + if (saddr) + PF_ACPY(&key->addr[sidx], saddr, pd->af); + if (daddr) + PF_ACPY(&key->addr[didx], daddr, pd->af); + + return (0); +} + struct pf_state_key * -pf_state_key_setup(struct pf_pdesc *pd, struct pf_addr *saddr, - struct pf_addr *daddr, u_int16_t sport, u_int16_t dport) +pf_state_key_setup(struct pf_pdesc *pd, struct mbuf *m, int off, + struct pf_addr *saddr, struct pf_addr *daddr, u_int16_t sport, + u_int16_t dport) { struct pf_state_key *sk; @@ -1428,8 +1488,12 @@ pf_state_key_setup(struct pf_pdesc *pd, struct pf_addr *saddr, if (sk == NULL) return (NULL); - PF_ACPY(&sk->addr[pd->sidx], saddr, pd->af); - PF_ACPY(&sk->addr[pd->didx], daddr, pd->af); + if (pf_state_key_addr_setup(pd, m, off, (struct pf_state_key_cmp *)sk, + pd->sidx, pd->src, pd->didx, pd->dst, 0)) { + uma_zfree(V_pf_state_key_z, sk); + return (NULL); + } + sk->port[pd->sidx] = sport; sk->port[pd->didx] = dport; sk->proto = pd->proto; @@ -5110,7 +5174,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (nr == NULL) { KASSERT((sk == NULL && nk == NULL), ("%s: nr %p sk %p, nk %p", __func__, nr, sk, nk)); - sk = pf_state_key_setup(pd, pd->src, pd->dst, sport, dport); + sk = pf_state_key_setup(pd, m, off, pd->src, pd->dst, sport, dport); if (sk == NULL) goto csfailed; nk = sk; @@ -6090,9 +6154,9 @@ pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, int pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, - struct pf_kstate **state, struct mbuf *m, int direction, struct pfi_kkif *kif, - u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi, - int inner) + struct pf_kstate **state, struct mbuf *m, int off, int direction, + struct pfi_kkif *kif, u_int16_t icmpid, u_int16_t type, int icmp_dir, + int *iidx, int multi, int inner) { key->af = pd->af; key->proto = pd->proto; @@ -6105,25 +6169,9 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, key->port[pd->sidx] = type; key->port[pd->didx] = icmpid; } - if (pd->af == AF_INET6 && multi != PF_ICMP_MULTI_NONE) { - switch (multi) { - case PF_ICMP_MULTI_SOLICITED: - key->addr[pd->sidx].addr32[0] = IPV6_ADDR_INT32_MLL; - key->addr[pd->sidx].addr32[1] = 0; - key->addr[pd->sidx].addr32[2] = IPV6_ADDR_INT32_ONE; - key->addr[pd->sidx].addr32[3] = pd->src->addr32[3]; - key->addr[pd->sidx].addr8[12] = 0xff; - break; - case PF_ICMP_MULTI_LINK: - key->addr[pd->sidx].addr32[0] = IPV6_ADDR_INT32_MLL; - key->addr[pd->sidx].addr32[1] = 0; - key->addr[pd->sidx].addr32[2] = 0; - key->addr[pd->sidx].addr32[3] = IPV6_ADDR_INT32_ONE; - break; - } - } else - PF_ACPY(&key->addr[pd->sidx], pd->src, key->af); - PF_ACPY(&key->addr[pd->didx], pd->dst, key->af); + if (pf_state_key_addr_setup(pd, m, off, key, pd->sidx, pd->src, + pd->didx, pd->dst, multi)) + return (PF_DROP); STATE_LOOKUP(kif, key, *state, pd); @@ -6186,7 +6234,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, * ICMP query/reply message not related to a TCP/UDP packet. * Search for an ICMP state. */ - ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, + ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { @@ -6194,7 +6242,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, icmp_dir == PF_OUT) { if (*state != NULL) PF_STATE_UNLOCK((*state)); - ret = pf_icmp_state_lookup(&key, pd, state, m, + ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 0); if (ret >= 0) @@ -6602,7 +6650,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - ret = pf_icmp_state_lookup(&key, &pd2, state, m, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) @@ -6657,7 +6705,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - ret = pf_icmp_state_lookup(&key, &pd2, state, m, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { @@ -6666,7 +6714,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, if (*state != NULL) PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, - state, m, pd->dir, kif, + state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); if (ret >= 0) diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 4fcad7e578a8..06c82569ad6c 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -633,7 +633,7 @@ pf_get_translation(struct pf_pdesc *pd, struct mbuf *m, int off, return (NULL); } - *skp = pf_state_key_setup(pd, saddr, daddr, sport, dport); + *skp = pf_state_key_setup(pd, m, off, saddr, daddr, sport, dport); if (*skp == NULL) return (NULL); *nkp = pf_state_key_clone(*skp); From nobody Thu Sep 19 13:03:28 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bL83QmRz5WYFp; Thu, 19 Sep 2024 13:03: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 4X8bL81VLVz4rSc; Thu, 19 Sep 2024 13:03:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHbG/R7n3nWgpmr0QwXHbLEYxfEAsVV0EZxLOGyZcBc=; b=QBW95/3voI+Xifwr5wYHx4oZM4UiBnxb1XaPdFooFtnKoi05q9tVdTUF1IDOSJOwbSaAey a6N7hDDUBxhSaPWdgRNvLj+7G825CzYF0/8IfAHIv51yNJJ2Edod1DAYjNr7r0tyCY2yOF skyKyZg7o5a/9Gq1tSftohl/9mU+GHzIH6k/DySAhLUwSvy3kM5HvRN9SwNsNWWyL5K7Dg /qZkVUBD3WbJnNnO2ih7GWuYCoI1hG1R98b47eCMyi7TOEnPRUMTpF9NcmMO2/6bVqYYAm 4gu64+NBnFcy/cxnTFtsMKcZRwUTi5i4R6YOdl5hPqQ+GaUo07gFR29DyQBz7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751008; a=rsa-sha256; cv=none; b=PctqO5QaDNupxNIPV+AjlB3Ky7J+e1OhBs7jy+6NaLKlMTAkQpXORtX3D6S56V2Lxnj0jK x3aKeW23q3La040wp+YTzeCLnQ+dwfcINO5idT13UuoeIoY78lRub/B9Dk2YTYzJX5Ti9v hvpt7xlKE4j6qG5QChzoanoENefBjRxeGdj4X5Y2fuHsniied1kn4/9FgfwURAgQyLLnHc QXOmH7hM5Vd7xLgYq2juEOyljatcKY1AU4mZi7f8wTw+Dd/B7s/YEMZh64WaAwjZEkSvG1 bnaG2YdyCG0AVZNsk1vavDLzcCZlDgUR1PXGwbyJbmFJJFCTuoPnXo7BPwuyhw== 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=1726751008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHbG/R7n3nWgpmr0QwXHbLEYxfEAsVV0EZxLOGyZcBc=; b=IlkSgeiKUKwoP0dgUGvcKrGsGmvAeuLFQfDdFrRWNgAY9njYWvceRK79DTOy1egvGIqzZJ ZjMt9v6QCPJKy3c6PkkzTX9gl6uSzuJtOchEW9wvNP+OqXyV06m27Ysa3DsC+3PtjG1lU+ 8VlW6MibCN/rzCOH0hU6RbKrkykLeCBQxa+PxduUD5nLYycfhdmB84HSeUJJvAxIkycyq2 NUzzOQ1dmyu2jt2ugf3rgRYndlS669vW6SchbFmZ8niOfZJv+NzARcIEBiGbiarepZYkFn 0jyFkJ4GjJZH6B1ZGrHQ4edEZp5rMKT5Smuugn3jOCYYFAOwFWfxwW02AgYAXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bL815ynz16Bm; Thu, 19 Sep 2024 13:03: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 48JD3S2C000347; Thu, 19 Sep 2024 13:03:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3SNR000344; Thu, 19 Sep 2024 13:03:28 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:28 GMT Message-Id: <202409191303.48JD3SNR000344@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: e3773ad4716f - releng/14.0 - pf: try to lookup the icmp state based on a correct packet descriptor List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: e3773ad4716f975b8e8dc4e013bcb044278d8d27 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e3773ad4716f975b8e8dc4e013bcb044278d8d27 commit e3773ad4716f975b8e8dc4e013bcb044278d8d27 Author: Kristof Provost AuthorDate: 2024-08-26 14:42:05 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:58:34 +0000 pf: try to lookup the icmp state based on a correct packet descriptor Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Obtained from: OpenBSD, mikeb , e467ea25dcd3 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit b8cd169efa6ac0899b4998898129765ae5c685a6) (cherry picked from commit f40b0e735177b25ce67fb488a93834168f4c16e1) --- sys/netpfil/pf/pf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 7b501cc54b27..49bfefa2b6ed 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6709,11 +6709,11 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { - if (ret == PF_DROP && pd->af == AF_INET6 && + if (ret == PF_DROP && pd2.af == AF_INET6 && icmp_dir == PF_OUT) { if (*state != NULL) PF_STATE_UNLOCK((*state)); - ret = pf_icmp_state_lookup(&key, pd, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); From nobody Thu Sep 19 13:03:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bL95kTMz5WY8b; Thu, 19 Sep 2024 13:03: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 4X8bL92NmRz4rFN; Thu, 19 Sep 2024 13:03:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W32ZUwLf5E5jq4JA+3OriNmX/EUH23WCkeq2sAkpirA=; b=tJPvqB3pJ6EOs9G+Cm4yrwaeSd8qv03LPE+0yFeJKYMKG2AWpgi5dKN66V5Jx/wxfgiOPx ppE/qQNXQqqbMonSznEp1L5LgwwB3ppwIS9CgQBfIh8BPuAVIBURzVTxyML7Ye5AL5l2st 2Sq0J6Km3DY6xi7+G1qV44hdKDFs29WSjHLgntPfWbeC69CHKI5OuLuRSMwD8ii4aFBl2s IpBml5CHbc/rWUdp165W3Cwy9jFiLBE/fkXX0fkZePK5IRN+Ygw9wWRSFc5IpJBkBa66YU uScOYfiWwvhO12YeRsA1FQeo0XcR55qulBRz7qbCnmL/JbNtETxxuPCUx1/InQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751009; a=rsa-sha256; cv=none; b=aTHVbQ/5kKe4IXcOg/zz4JsNxFKbIP8kGQhqH15a/eW50zz81ylGjg3nD8g06JSWtGpgCx svmEHspDjPmTqYCDIKVrshMwMIOs2BmRiTJA6n1oPJzww7z69YYzbUgmTaX/UvkIYpgUjX kafLU6V8Nd6V3xnT9+3QPu4HJCz70axczMi1ywKf8OBoU06NQAqVNsXuKWCj9yNvUkmPTk aftzG/WyNUV2/ajEUdWc8mPbXqr4J3iukW24kZ5e22vZ9c/VTcS6e3qIT3uQuAjwo/0Blt 3LAIK/G5d4YmjyltnexrpKnMEwDQbVqpB7og53Eo1aoFot5/AkzAOaR37G6jEQ== 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=1726751009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W32ZUwLf5E5jq4JA+3OriNmX/EUH23WCkeq2sAkpirA=; b=wq5Sf0NesUoJZQHQG8vkeGnQFqPIpIEoow6scbCKLwNFNCt/Vp9erYx9r7FcqKdOs9irQF kptirDJIm0Yj9Buwqtwr5crW00Q7mcVVW4nSybqSkXqknE/ox9c9YVgQSScE+TZMrI2pAb fj7CO1j/WcMjVzo3xjVCyb+4/QRP0qK460rZanrKoh09htbjQ0oQtkW8/H03IF28UdJMgT wk4vFW0xUxye6OnTaOcakmAoacLD5PY3euFujqTHxuU/QHtSeijAVjGTaEOa5Z9IsIl0NZ DVNbmfTNlzbexHXsBFKR/fs6Gex3OkVtOfbzqeqLZPI0b2DVturjr/mDrTpVMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bL91zCMz15tq; Thu, 19 Sep 2024 13:03: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 48JD3T0u000411; Thu, 19 Sep 2024 13:03:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3TdU000407; Thu, 19 Sep 2024 13:03:29 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:29 GMT Message-Id: <202409191303.48JD3TdU000407@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: e854c92f30aa - releng/14.0 - pf: be less strict about icmp state checking for sloppy state tracking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: e854c92f30aa96a8a3a7f8edd8be9e5ba8a20deb Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e854c92f30aa96a8a3a7f8edd8be9e5ba8a20deb commit e854c92f30aa96a8a3a7f8edd8be9e5ba8a20deb Author: Kristof Provost AuthorDate: 2024-08-26 14:44:20 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:58:44 +0000 pf: be less strict about icmp state checking for sloppy state tracking Sloppy state tracking renders ICMP direction check useless and harmful as we might see only half of the connection in the asymmetric setups but ignore the state match. The bug was reported and fix was verified by Insan Praja . Thanks! OK mcbride, henning Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Obtained from: OpenBSD, mikeb , 538596657140 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 3da3eb6081a2e2f6ea2fed1728d5dd7f9e8786e5) (cherry picked from commit b822e3fab468ffbe941d0758d960e1aa46069a38) --- sys/netpfil/pf/pf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 49bfefa2b6ed..5a7a6563d355 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6175,6 +6175,9 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, STATE_LOOKUP(kif, key, *state, pd); + if ((*state)->state_flags & PFSTATE_SLOPPY) + return (-1); + /* Is this ICMP message flowing in right direction? */ if ((*state)->rule.ptr->type && (((!inner && (*state)->direction == direction) || From nobody Thu Sep 19 13:03:30 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLB5Q8sz5WYX7; Thu, 19 Sep 2024 13:03: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 4X8bLB33Mbz4rVX; Thu, 19 Sep 2024 13:03:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJfsHvc5qJnSv2v/iuBCtccqnOYCttnQ4XfInHChPI0=; b=iGQiw6VMBw9EKHRJANhD/ozfMaa7/QqGNJhmpz9tKbjhwXQAdZXSaUMs/K1L6CTtiVRj7m gJ6wdPkh/pkMo8yjpT100FgqWtZNW1QjrM7QQIS7IJ1PP+vZxigPVGbeabywc6E/KcfxIO z3BncyoDvJHsq11JVLi1ALlsssFNQb90ynUCwIDHItF7eccZYdpNduAJTke0dtCE9LkOia 7tFU39oL5eI5sdrW6I0O5hAMmuKnfRLdq2hAdAGwmJ8Tz8hlxZfBXkJqRVSwWTipt6e+zw 5S1dyjSmBOwRIK6peBBRGTgIyoTlV3YN0TUAOc/raVlcklvd0KpKDBJfCisqpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751010; a=rsa-sha256; cv=none; b=QyZiWrk54i9dsidNTREFTTWwysEa/w+E8sGwLmCpMqb5sJFN0WecQte7fmhcR1lfahP9ny tWyYe92Ou4rbfzx3dZkZg7qV0tB/uZdpK63BY/nTVVMNCNrmTSuUjbOX8HWAVa8vc/1aJT 6XJiAR0T7x17Q/QhZ040G1wbHsQByQoOys/rFfSigw1Qwb3H284DOOF7c042QFYQGgvpyc VNWOs0PUAWIFc7kzriD7zmLPOp/RW/KyHaoGI3X7qJPUVghlx8d1EjLrdSyRfD2Wq9fAdr ffzAKHgMfs4UnRVzWv9jbKwxkWxlXTe0CCfoKwyC/xsOJ2YQqazdoLHGSiZjRA== 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=1726751010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pJfsHvc5qJnSv2v/iuBCtccqnOYCttnQ4XfInHChPI0=; b=CE7Nfy3EOcm0P++iMNqTcRKWaGFErRSiZPe6DQwzH9ayDHTl4ZHgmtMyw+CkOw8Eze5ra8 FfEUXiJjOWLI4ODSOV9CkJ+YVu3kU4MEUJYtq0WttYEuNbhc8DW84cXD2btBsRib/aqGyT mHHcsjz+zvUn/gNPYPq/zTb0LWalfKPDVzGd7Ch88TeqjHuO+477NElix0Pu2EwfsltUYU yb0I0cZmOAyow5nLns7wZRvRgKnvDtMfDcWlO2csscTASS+8BI0/LPrJKT11ZmDYpecCyG XTeyuBfax/+1/bk7NFP8BLlf1rMqGGEfeE3Jv2LkvljfM6L8gTtBoW8xW+4R3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLB2d5Xz15tr; Thu, 19 Sep 2024 13:03: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 48JD3Ugr000458; Thu, 19 Sep 2024 13:03:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3UEE000455; Thu, 19 Sep 2024 13:03:30 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:30 GMT Message-Id: <202409191303.48JD3UEE000455@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: 413ae023b056 - releng/14.0 - pf: rework pf_icmp_state_lookup() failure mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 413ae023b0563b7d51ab7aa1d69900886db66497 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=413ae023b0563b7d51ab7aa1d69900886db66497 commit 413ae023b0563b7d51ab7aa1d69900886db66497 Author: Kristof Provost AuthorDate: 2024-08-30 11:36:39 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 12:58:55 +0000 pf: rework pf_icmp_state_lookup() failure mode If pf_icmp_state_lookup() finds a state but rejects it for not matching the expected direction we should unlock the state (and NULL out *state). This simplifies life for callers, and also ensures there's no confusion about what a non-NULL returned state means. Previously it could have been left in there by the caller, resulting in callers unlocking the same state twice. Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 0578fe492284ded4745167060be794032e6e22f0) (cherry picked from commit 38f74de7184ac3ad7acc48055551aaa9ec9cded9) --- sys/net/pfvar.h | 4 ++-- sys/netpfil/pf/pf.c | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 4edbf0c51ff8..f24103c25960 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -359,8 +359,8 @@ struct pfi_dynaddr { mtx_unlock(_s->lock); \ } while (0) #else -#define PF_STATE_LOCK(s) mtx_lock(s->lock) -#define PF_STATE_UNLOCK(s) mtx_unlock(s->lock) +#define PF_STATE_LOCK(s) mtx_lock((s)->lock) +#define PF_STATE_UNLOCK(s) mtx_unlock((s)->lock) #endif #ifdef INVARIANTS diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 5a7a6563d355..8ff0fbb3c4ae 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6189,6 +6189,8 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, pf_print_state(*state); printf("\n"); } + PF_STATE_UNLOCK(*state); + *state = NULL; return (PF_DROP); } return (-1); @@ -6241,15 +6243,16 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { + MPASS(*state == NULL); if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { - if (*state != NULL) - PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 0); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } } else return (ret); } @@ -6656,8 +6659,10 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } /* translate source/destination address, if necessary */ if ((*state)->key[PF_SK_WIRE] != @@ -6712,16 +6717,17 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { + MPASS(*state == NULL); if (ret == PF_DROP && pd2.af == AF_INET6 && icmp_dir == PF_OUT) { - if (*state != NULL) - PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } } else return (ret); } From nobody Thu Sep 19 13:03:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLk1GVxz5WYXr; Thu, 19 Sep 2024 13:03: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 4X8bLk0nkvz4sT2; Thu, 19 Sep 2024 13:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xQBoWnq44WRcx/vUGh8SEUoEbLPT5KVllOdcJm/lU5g=; b=fyUgJyVQpv7Pyj8Ug4aOGs3rvGVQDGA0npZz3jbIvr/0BWdlH1nvlsTQrsrhU52iqgHawJ RJuMO8AMu1/TOUB/+75GdjQIU8O7AygSfYk4Hwj+5+ntl2Zoye10RdUpTRESqoTIlskRVm oCFZ7P7cvq+WFHZSzznYimDiDwnFubHKq2/QgtThNaabdjhSqBf/eQ3tHN+/2dSf2YgAP1 1iVEauhf84BQAwU1AoZzS95HvT5PKlT06YUkqNFFDqyflP5+D0l5Q2OIwHGTH6qhZnNHDG A8GUID4QaFT3D9K050DKB7QjtAj4AmnHgprwj9YxO84wZpEYCy3rLySEjXAUhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751038; a=rsa-sha256; cv=none; b=PMsNQQVvBd/AhEkeWSPnTxNcQqBO7TiNEp2xKyNgB1skdpkHTf1gxuzPX1LFMLKQ3ZEHGR 9er5G42Zqqvrra0BuUr8vbn3kBoOK8Z0GrOXJGWp0tx5GcD+ALBxiUVrPMz91uXVdQ6jAU EpdG3IRP9K8mYwNQ69XAjFZsh5iaqp1RrOSw4W9LcP4XWQt1EaygVHLwly3aLw+CJQUrWb UTG6DjQtAy8ViwJunbU/olT7g9kLgWzYhYVGoSa/trVXTY352HA/pOIZychS8nDvQmIVxE 0DzvxZBHXIL8NLUNFwRjeDEHxgj8ba0h/ue2vaqbpLGfD4sYuTk2ZdKtKdqfAg== 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=1726751038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xQBoWnq44WRcx/vUGh8SEUoEbLPT5KVllOdcJm/lU5g=; b=wbqOBo4A5/+WlvfJfNZhqn/ywh9AN2AAaIJsbKhthK5cCo0MIKjSEzTUpxtMc3OvHf1+Ly 8qAyNcbqNK/CYH+FW2PlxPaQ9qh0QzQYvBcdoDH/b/vFBF8nKTp9P8DPOK6zEGV6q+2h2+ a3ndJewCo7LRVyHBT1u6MR2NxO5Kp0FFciym3qdZizIn7ztxPZjx7FvTRpriOmUcP+VF4I d8WzP8EukowoZaf1q2fVl/RNLvT85kCuq2EfBwMFenxgPbFFpVsBGumS0zAOkJhRqGaiA1 OWaXPtCV/kx0gAkKxixDBYnwMvgRAG51jxArtYsAjCTNr9cz5JaMzPfxtm1Nfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLk0NRkz16C4; Thu, 19 Sep 2024 13:03: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 48JD3vO5000728; Thu, 19 Sep 2024 13:03:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3vnW000724; Thu, 19 Sep 2024 13:03:57 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:57 GMT Message-Id: <202409191303.48JD3vnW000724@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: f51f7cb8997f - releng/13.3 - pf: fix icmp-in-icmp state lookup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: f51f7cb8997f2e43047a84e937144c2ac7e84587 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f51f7cb8997f2e43047a84e937144c2ac7e84587 commit f51f7cb8997f2e43047a84e937144c2ac7e84587 Author: Kristof Provost AuthorDate: 2024-08-12 14:07:35 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:00:07 +0000 pf: fix icmp-in-icmp state lookup In 534ee17e6 pf state checking for ICMP(v6) was made stricter. This change failed to correctly set the pf_pdesc for ICMP-in-ICMP lookups, resulting in ICMP error packets potentially being dropped incorrectly. Specially, it copied the ICMP header into a separate variable, not into the pf_pdesc. Populate the required pf_pdesc fields for the embedded ICMP packet's state lookup. Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 2da98eef1f352c496ffd458b4c68ddee972bb903) (cherry picked from commit 0d8d4cc3ea47f1ee61d749b22b135eb73c7d33cd) --- sys/netpfil/pf/pf.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 96d67d906a4e..48db6512eee1 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6485,9 +6485,9 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif } #ifdef INET case IPPROTO_ICMP: { - struct icmp iih; + struct icmp *iih = &pd2.hdr.icmp; - if (!pf_pull_hdr(m, off2, &iih, ICMP_MINLEN, + if (!pf_pull_hdr(m, off2, iih, ICMP_MINLEN, NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short i" @@ -6495,12 +6495,13 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif return (PF_DROP); } - icmpid = iih.icmp_id; - pf_icmp_mapping(&pd2, iih.icmp_type, + icmpid = iih->icmp_id; + pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); + pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, - pd->dir, kif, virtual_id, virtual_type, + pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE); if (ret >= 0) return (ret); @@ -6514,10 +6515,10 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || (virtual_type == htons(ICMP_ECHO) && - nk->port[iidx] != iih.icmp_id)) + nk->port[iidx] != iih->icmp_id)) pf_change_icmp(pd2.src, (virtual_type == htons(ICMP_ECHO)) ? - &iih.icmp_id : NULL, + &iih->icmp_id : NULL, daddr, &nk->addr[pd2.sidx], (virtual_type == htons(ICMP_ECHO)) ? nk->port[iidx] : 0, NULL, @@ -6533,7 +6534,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif m_copyback(m, off, ICMP_MINLEN, (caddr_t)&pd->hdr.icmp); m_copyback(m, ipoff2, sizeof(h2), (caddr_t)&h2); - m_copyback(m, off2, ICMP_MINLEN, (caddr_t)&iih); + m_copyback(m, off2, ICMP_MINLEN, (caddr_t)iih); } return (PF_PASS); break; @@ -6541,9 +6542,9 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif #endif /* INET */ #ifdef INET6 case IPPROTO_ICMPV6: { - struct icmp6_hdr iih; + struct icmp6_hdr *iih = &pd2.hdr.icmp6; - if (!pf_pull_hdr(m, off2, &iih, + if (!pf_pull_hdr(m, off2, iih, sizeof(struct icmp6_hdr), NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short " @@ -6551,8 +6552,10 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif return (PF_DROP); } - pf_icmp_mapping(&pd2, iih.icmp6_type, + pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); + + pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE); @@ -6580,10 +6583,10 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || ((virtual_type == htons(ICMP6_ECHO_REQUEST)) && - nk->port[pd2.sidx] != iih.icmp6_id)) + nk->port[pd2.sidx] != iih->icmp6_id)) pf_change_icmp(pd2.src, (virtual_type == htons(ICMP6_ECHO_REQUEST)) - ? &iih.icmp6_id : NULL, + ? &iih->icmp6_id : NULL, daddr, &nk->addr[pd2.sidx], (virtual_type == htons(ICMP6_ECHO_REQUEST)) ? nk->port[iidx] : 0, NULL, @@ -6601,7 +6604,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif (caddr_t)&pd->hdr.icmp6); m_copyback(m, ipoff2, sizeof(h2_6), (caddr_t)&h2_6); m_copyback(m, off2, sizeof(struct icmp6_hdr), - (caddr_t)&iih); + (caddr_t)iih); } return (PF_PASS); break; From nobody Thu Sep 19 13:03:59 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLl3Jzqz5WYXs; Thu, 19 Sep 2024 13:03: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 4X8bLl1WJJz4scD; Thu, 19 Sep 2024 13:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G1Aw6OE0rMyr66AsFl7bIKhqlwaqRG2G7mUlxtkhdVw=; b=S5jeP5ifsYG16ZnCFUdx0GcDn7/joVspLy3YPoKOycKsyB7o8BdFlmQviFzbRZcXG0a2/h eK0AngatcVw0uPJPAE4CKioyAMN+2xwIMI+DQ2q1XeZfRbvntqjZfZtO+9K3YLaQwuKd3/ sfYkuVY8juapiDHOdw88YN//UEngCtDYRnAlhC3RCNerFMzQXaOsFGXoSfgpXvQBnLvLC4 WkcHNENuCNhVoT+LeHepN61u6Y7TFJLM+4C/8WhSV0aVaNHghw617nvjIgJzmKP1nYQYGF 3F86LHeQWEXLwdQmrf/bNjPaG5OoWYB6G8NVN11QEcaNdaqju4uS0aeFXgNKLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751039; a=rsa-sha256; cv=none; b=s0JKmrwz09TS2NS1KZJyexe9rMrcGPIfQIkOZ408M6Ca4FzKCrGfRdnHLRCd5iqif9fi4u d6ehNC9aDtZJ3CCY4ZIvw7vJZJPz4smyzV4auBKPKHGpa27XqqAuaF1Mm4+YGeZ8niECvq CobcZqvO76Jvc3qoxjCUA5xBsd5mlGI2g5HUaObSZseLi562HedN1DXpNE11EJdM0GP7rk WB2uH9EPC5bnyt5ZxS1gwr/0imNhwTZF3BSm4iRYhjfcM3EAiwpNhm5+bl/dWsL/N3U1O/ KCFvDbgAZ64QlylHaqSpYX4saSNiqG+vGIKKjf9QQQKRTk3ga5GZ2rQld3i6kA== 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=1726751039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G1Aw6OE0rMyr66AsFl7bIKhqlwaqRG2G7mUlxtkhdVw=; b=taojE0Yx8L8hk1QncvAIM/0JgmGvEDC7XFdYVS838rfvcf01oHEPjtkPrSNuFj/yXZWR7J uYAZcPVbXToCY6yY+v9LnC/CtHD37vZGTzlUHsOiWtgBLetWQtJcvs6HYl6r9Pxy51Vhbf TEOlD1s7p/TcjOj0QBIT8PEpno4KKXuPoysHdLCs/rHJMixApQZY5RX4neZAt/woF4Wg1f YBPPSnUHCQdvswnpOOSADqBHCQY9f0iGNqxCZQcqkOh8Uyu1rBvb+VpxxRCMUJjSKYKX51 pbs8dsy3g6/CHtKxohwad4WVhXIv+dwK/plrEKhdMgdMNjQUhdpJvK3V3SkQ4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLl16VXz15v2; Thu, 19 Sep 2024 13:03: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 48JD3xmk000787; Thu, 19 Sep 2024 13:03:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD3xM1000784; Thu, 19 Sep 2024 13:03:59 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:03:59 GMT Message-Id: <202409191303.48JD3xM1000784@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: 49c896761e2e - releng/13.3 - pf tests: ensure we don't confuse different ICMP types List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 49c896761e2ed6025767a2fea0ed4dbeb2834001 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=49c896761e2ed6025767a2fea0ed4dbeb2834001 commit 49c896761e2ed6025767a2fea0ed4dbeb2834001 Author: Kristof Provost AuthorDate: 2024-07-09 09:22:18 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:00:32 +0000 pf tests: ensure we don't confuse different ICMP types When creating a state for ICMP (v4 or v6) packets we only used the ID, which means that we could confuse different ICMP types. For example, if we allowed neighbour discovery but not ICMPv6 echo requests an ND packet could create a state that the echo request would match. Test that this is now fixed. Approved by: so Security: FreeBSD-EN-24:16.pf Reported by: Enrico Bassetti MFC after: 1 day Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit b9f0dbc3d006e0b904ee4275d54459f4edd65bb8) (cherry picked from commit 4ebd7fc30ab779b87c055b0d54eabdd97a9fc730) --- tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/icmp6.sh | 89 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index ea0d5cb151a2..f033940b4564 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -12,6 +12,7 @@ ATF_TESTS_SH+= altq \ fragmentation \ get_state \ icmp \ + icmp6 \ killstate \ macro \ map_e \ diff --git a/tests/sys/netpfil/pf/icmp6.sh b/tests/sys/netpfil/pf/icmp6.sh new file mode 100644 index 000000000000..35d20c83cc4f --- /dev/null +++ b/tests/sys/netpfil/pf/icmp6.sh @@ -0,0 +1,89 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Rubicon Communications, LLC (Netgate) +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +. $(atf_get_srcdir)/utils.subr + +common_dir=$(atf_get_srcdir)/../common + +atf_test_case "zero_id" "cleanup" +zero_id_head() +{ + atf_set descr 'Test ICMPv6 echo with ID 0 keep being blocked' + atf_set require.user root + atf_set require.progs scapy +} + +zero_id_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}a inet6 2001:db8::2/64 up no_dad + + vnet_mkjail alcatraz ${epair}b + jexec alcatraz ifconfig ${epair}b inet6 2001:db8::1/64 up no_dad + + # Sanity check + atf_check -s exit:0 -o ignore \ + ping -c 1 2001:db8::1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "set block-policy drop" \ + "antispoof quick for { egress ${epair}b }" \ + "block all" \ + "pass out" \ + "pass in quick inet6 proto IPV6-ICMP icmp6-type 135" \ + "pass in quick inet6 proto IPV6-ICMP icmp6-type 136" \ + "pass out quick inet6 proto IPV6 from self to any" + + # Now we can't ping + atf_check -s exit:2 -o ignore \ + ping -c 1 2001:db8::1 + + # Force neighbour discovery + ndp -d 2001:db8::1 + + # Verify that we don't confuse echo request with ID 0 for neighbour discovery + atf_check -s exit:1 -o ignore \ + ${common_dir}/pft_ping.py \ + --sendif ${epair}a \ + --to 2001:db8::1 \ + --replyif ${epair}a + + jexec alcatraz pfctl -ss -vv + jexec alcatraz pfctl -sr -vv +} + +zero_id_cleanup() +{ + pft_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "zero_id" +} From nobody Thu Sep 19 13:04:00 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLm5dS2z5WY9Y; Thu, 19 Sep 2024 13:04: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 4X8bLm2Dlnz4sml; Thu, 19 Sep 2024 13:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L24fDoxPjyg0iNJCaxpOgSKl79lGKDLv7hhMZqlDLbU=; b=Orp0CqB8qDPqvibtkUMGO2v4x4v/yLrjUbHrp9A3O5bDvZ1VL1YvPNQWLmy2VH9OVNrLpv JnOf5H7dpaH58jidUobbnUcmDrQICaXVPb8DzfB8yO6jO5DICHAsJ1cPCww25eTI49jCuM lh6hulhGvxIaY+rQd3tW8xghGVw293FOtlW7OMeKcxKnOlrbDxMf+acCpgXu/H1C0OYOdq n0ICKEtYw7XOLUChJMfBfCWdEHB5k6Kr7soyKbY0WI2fHn0H599D4BttEHHDXjjhIQex+X h0KJ+RHomSZEi9Gw0U9gzovYOebJdtwzgo7Tgy21EFoKWzCLvt3II8e46eFHHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751040; a=rsa-sha256; cv=none; b=sw7oDCTkXbx4TSTwUNRifODXQm7QEh/Q61crcyZIy0np1Hu8cPYM/igRbKZLuZAhHXLwq0 cI/ct+Hc5JN/YzBa6jqN4Sq5WZ5uyKLRaneoK0ZgUsbx9xROF/c3B7eT27yTtuxN3EQUcL 4MAHdv0pVmsMFT1Js/hI5Ol6uWoFqkZYhpiIIH2QfsyhVOUNO/WJhkcoMb9+CTCoV0tnCI 2NpGAR2BcCOBDGeuU35u2Y2GkrfZThsPRGOTIs66XD/vw41nY4r4w0trDrEKzy2jYcU7yH WRqKSzopdZdIfxxuRrC7DC8g7iFvio3ELX8X0fIurXsrcqJRg7+zDuroU/j0TA== 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=1726751040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L24fDoxPjyg0iNJCaxpOgSKl79lGKDLv7hhMZqlDLbU=; b=v8JDf1Q3Sg52aEtaa/y22yNSewLWmTGuH+B577MZS5jzKeFBwieyLYxI0owvkbbidI9I0j piuJRDO+eYZWmSbEPqGrMbOUpJPh4zVc8pzGo/vLR8q4xP2ejMufWPCBxWUkVsXP9SU3IA hkH1nz02GNPIru55Bgxi7ANcP2LzRbokmqxMAnXb/K0szfaDWNkJ5l6baoGHN7Y7JVpe7C FAb3Zfz243fpKwR2Ois3bVydQWLX2uFaESUR4as7jUvljtGVIXxPk4gZkDoh8iE4euv7Ft KpsWjSrj5kHJUvBjbpOB2KlWVUxLRl36gYxcxmC9HVy2p2yOiyG9xT5Jqjhl5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLm1r67z15v3; Thu, 19 Sep 2024 13:04: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 48JD40RJ000844; Thu, 19 Sep 2024 13:04:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD40bV000841; Thu, 19 Sep 2024 13:04:00 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:04:00 GMT Message-Id: <202409191304.48JD40bV000841@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: a16cd5ff50ea - releng/13.3 - pf tests: ensure that traceroutes using ICMP work List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: a16cd5ff50ea2e5954958d90ef6de18e0f1aa4bc Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a16cd5ff50ea2e5954958d90ef6de18e0f1aa4bc commit a16cd5ff50ea2e5954958d90ef6de18e0f1aa4bc Author: Kristof Provost AuthorDate: 2024-08-12 10:14:43 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:00:40 +0000 pf tests: ensure that traceroutes using ICMP work Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 34063cb714602972b6d985ad747fc8f66a8daae1) (cherry picked from commit 7024e1066d5aba76dbbc85eb191357da7d32c619) --- tests/sys/netpfil/pf/icmp.sh | 65 +++++++++++++++++++++++++++++++++++++++++++ tests/sys/netpfil/pf/icmp6.sh | 65 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) diff --git a/tests/sys/netpfil/pf/icmp.sh b/tests/sys/netpfil/pf/icmp.sh index 72b531b08c51..16c4123b8dfe 100644 --- a/tests/sys/netpfil/pf/icmp.sh +++ b/tests/sys/netpfil/pf/icmp.sh @@ -71,7 +71,72 @@ cve_2019_5598_cleanup() pft_cleanup } +atf_test_case "ttl_exceeded" "cleanup" +ttl_exceeded_head() +{ + atf_set descr 'Test that we correctly translate TTL exceeded back' + atf_set require.user root +} + +ttl_exceeded_body() +{ + pft_init + + epair_srv=$(vnet_mkepair) + epair_int=$(vnet_mkepair) + epair_cl=$(vnet_mkepair) + + vnet_mkjail srv ${epair_srv}a + jexec srv ifconfig ${epair_srv}a 192.0.2.1/24 up + jexec srv route add default 192.0.2.2 + + vnet_mkjail int ${epair_srv}b ${epair_int}a + jexec int sysctl net.inet.ip.forwarding=1 + jexec int ifconfig ${epair_srv}b 192.0.2.2/24 up + jexec int ifconfig ${epair_int}a 203.0.113.2/24 up + + vnet_mkjail nat ${epair_int}b ${epair_cl}b + jexec nat ifconfig ${epair_int}b 203.0.113.1/24 up + jexec nat ifconfig ${epair_cl}b 198.51.100.2/24 up + jexec nat sysctl net.inet.ip.forwarding=1 + jexec nat route add default 203.0.113.2 + + vnet_mkjail cl ${epair_cl}a + jexec cl ifconfig ${epair_cl}a 198.51.100.1/24 up + jexec cl route add default 198.51.100.2 + + jexec nat pfctl -e + pft_set_rules nat \ + "nat on ${epair_int}b from 198.51.100.0/24 -> (${epair_int}b)" \ + "pass" + + # Sanity checks + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 198.51.100.2 + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 203.0.113.1 + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 203.0.113.2 + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 192.0.2.1 + + echo "UDP" + atf_check -s exit:0 -e ignore -o match:".*203.0.113.2.*" \ + jexec cl traceroute 192.0.2.1 + jexec nat pfctl -Fs + + echo "ICMP" + atf_check -s exit:0 -e ignore -o match:".*203.0.113.2.*" \ + jexec cl traceroute -I 192.0.2.1 +} + +ttl_exceeded_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "cve_2019_5598" + atf_add_test_case "ttl_exceeded" } diff --git a/tests/sys/netpfil/pf/icmp6.sh b/tests/sys/netpfil/pf/icmp6.sh index 35d20c83cc4f..c54b54c20a87 100644 --- a/tests/sys/netpfil/pf/icmp6.sh +++ b/tests/sys/netpfil/pf/icmp6.sh @@ -83,7 +83,72 @@ zero_id_cleanup() pft_cleanup } +atf_test_case "ttl_exceeded" "cleanup" +ttl_exceeded_head() +{ + atf_set descr 'Test that we correctly translate TTL exceeded back' + atf_set require.user root +} + +ttl_exceeded_body() +{ + pft_init + + epair_srv=$(vnet_mkepair) + epair_int=$(vnet_mkepair) + epair_cl=$(vnet_mkepair) + + vnet_mkjail srv ${epair_srv}a + jexec srv ifconfig ${epair_srv}a inet6 2001:db8:1::1/64 no_dad up + jexec srv route add -6 default 2001:db8:1::2 + + vnet_mkjail int ${epair_srv}b ${epair_int}a + jexec int sysctl net.inet6.ip6.forwarding=1 + jexec int ifconfig ${epair_srv}b inet6 2001:db8:1::2/64 no_dad up + jexec int ifconfig ${epair_int}a inet6 2001:db8:2::2/64 no_dad up + + vnet_mkjail nat ${epair_int}b ${epair_cl}b + jexec nat ifconfig ${epair_int}b inet6 2001:db8:2::1 no_dad up + jexec nat ifconfig ${epair_cl}b inet6 2001:db8:3::2/64 no_dad up + jexec nat sysctl net.inet6.ip6.forwarding=1 + jexec nat route add -6 default 2001:db8:2::2 + + vnet_mkjail cl ${epair_cl}a + jexec cl ifconfig ${epair_cl}a inet6 2001:db8:3::1/64 no_dad up + jexec cl route add -6 default 2001:db8:3::2 + + jexec nat pfctl -e + pft_set_rules nat \ + "nat on ${epair_int}b from 2001:db8:3::/64 -> (${epair_int}b:0)" \ + "pass" + + # Sanity checks + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 2001:db8:3::2 + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 2001:db8:2::1 + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 2001:db8:2::2 + atf_check -s exit:0 -o ignore \ + jexec cl ping -c 1 2001:db8:1::1 + + echo "UDP" + atf_check -s exit:0 -e ignore -o match:".*2001:db8:2::2.*" \ + jexec cl traceroute6 2001:db8:1::1 + jexec nat pfctl -Fs + + echo "ICMP" + atf_check -s exit:0 -e ignore -o match:".*2001:db8:2::2.*" \ + jexec cl traceroute6 -I 2001:db8:1::1 +} + +ttl_exceeded_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "zero_id" + atf_add_test_case "ttl_exceeded" } From nobody Thu Sep 19 13:04:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLn5lfqz5WYZs; Thu, 19 Sep 2024 13:04: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 4X8bLn3r8Jz4sn1; Thu, 19 Sep 2024 13:04:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X/MWeINaGXS/H0h1WFBqTGIhfBqCyucp7O5HqGIMK3k=; b=Rw8lkbh7RveDV/hC7eZH1zEoNoDHN0c+wlVCo6dxqzK48xfYhyqCjg8Yf2BmnQqTqTds35 Kom5/yyhKevjR55mJQGM7o1OpYsIozPR+NNXsRI0jUCRwUOt1lWcwxkL4cWcd2a/OoSmjZ naGMk86SolvvD76pvW01SPC1y87SMGs5OGUH12m/AUmEcVhd2BksrIiTUUEiMsdLB+JYjE 4xwiHwCpEQPdQzyQrsX5eJ1zhkNA64cmKUpwHvPpdaAKIYf9Qwjg2i1dUqzYex/O+LQvWa LmmzrSAFKw4D0B+v/jnUy0aa28R7fh/irLHJimi0t1Naiunbv8VksN8ut1Z3cA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751041; a=rsa-sha256; cv=none; b=v49W2kOgF8fzOgl5DpZRI7bfKSUBRKB7tdTMiaOR0PVLeATbVMXJDSh4jICxC+vqv2yMYE Ay9DF11sxNny/cfIb9XoJ46hsSMbUsmgG5zXMiA8i25iahhZ6iIGaX08Ivi3CRUtpxihWE j5cZFPcGvDJmtD3SippLyNelSjMPYUyUqZcbYh4RYF60dboSac9YhxY0XgMBFvUsSfExrE BExWFh05ZE3oQJ3K2uilJLiFw3Aptj7P3OSfOFNWvVDCvWWw9r9t+MnIvYMYQm1HDZAKH8 y33Wa3MbDEmJdQjWIQme8V2ewe9nqW/LYCnNnLQVCY6qaxTHmIVg/1Hl1YugXQ== 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=1726751041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X/MWeINaGXS/H0h1WFBqTGIhfBqCyucp7O5HqGIMK3k=; b=V6tQdfDbfeD0y/ebKvV1J2uMRQCUipFO5LmGdaBvthQSObQwcnA1HbTJ/MssN2Uhv+vuvj qTgbODJxSngbEOq86rc3T8dBh37cCt0JGAgOQpeDi3D4K80B/XQkbLb613enTcMhAgcrSE pFNcKToOlgK0P8Doqql4eCkCWxOlkYb7dn1/nzBi1X1oQq+Dbo2N9jzqEoaD+iDAjBDTLs 5xg4Kw4u494sl8gTtyUdchtMBCpxkSsnpD50Rew5QHmk5L4zT4KWP/WeF9xb3MivZ4DWvW L68XYrMe5J/3xEJ0qdj1xx+Y2usVQCjSHtJFzAaxUJVPiQQ3w8O6UjyF6I5PCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLn39lCz168T; Thu, 19 Sep 2024 13:04: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 48JD418x000897; Thu, 19 Sep 2024 13:04:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD41jP000894; Thu, 19 Sep 2024 13:04:01 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:04:01 GMT Message-Id: <202409191304.48JD41jP000894@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: 36265a707dc5 - releng/13.3 - pf: invert direction for inner icmp state lookups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 36265a707dc51189843498e059361010ea3c9718 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=36265a707dc51189843498e059361010ea3c9718 commit 36265a707dc51189843498e059361010ea3c9718 Author: Kristof Provost AuthorDate: 2024-08-14 09:29:30 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:00:48 +0000 pf: invert direction for inner icmp state lookups (e.g. traceroute with icmp) ok henning, jsing Also extend the test case to cover this scenario. Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 Obtained from: OpenBSD MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 89f6723288b0d27d3f14f93e6e83f672fa2b8aca) (cherry picked from commit 5f3f07397a7909e8f9449d1aa0b465159cbf0d60) --- sys/netpfil/pf/pf.c | 21 +++++++++++---------- tests/sys/netpfil/pf/icmp.sh | 4 +++- tests/sys/netpfil/pf/icmp6.sh | 4 +++- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 48db6512eee1..247a20bf953b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -321,7 +321,7 @@ static int pf_test_state_udp(struct pf_kstate **, int, int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, struct mbuf *, int, struct pfi_kkif *, u_int16_t, u_int16_t, - int, int *, int); + int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, int, struct pfi_kkif *, struct mbuf *, int, void *, struct pf_pdesc *, u_short *); @@ -5991,7 +5991,8 @@ pf_multihome_scan_asconf(struct mbuf *m, int start, int len, int pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, struct pf_kstate **state, struct mbuf *m, int direction, struct pfi_kkif *kif, - u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi) + u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi, + int inner) { key->af = pd->af; key->proto = pd->proto; @@ -6028,7 +6029,8 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, /* Is this ICMP message flowing in right direction? */ if ((*state)->rule.ptr->type && - (((*state)->direction == direction) ? + (((!inner && (*state)->direction == direction) || + (inner && (*state)->direction != direction)) ? PF_IN : PF_OUT) != icmp_dir) { if (V_pf_status.debug >= PF_DEBUG_MISC) { printf("pf: icmp type %d in wrong direction (%d): ", @@ -6086,7 +6088,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif */ ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, - PF_ICMP_MULTI_NONE); + PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { @@ -6094,7 +6096,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, multi); + icmp_dir, &iidx, multi, 0); if (ret >= 0) return (ret); } else @@ -6178,6 +6180,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif int off2 = 0; pd2.af = pd->af; + pd2.dir = pd->dir; /* Payload packet is from the opposite direction. */ pd2.sidx = (direction == PF_IN) ? 1 : 0; pd2.didx = (direction == PF_IN) ? 0 : 1; @@ -6499,10 +6502,9 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd2.dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, PF_ICMP_MULTI_NONE); + icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) return (ret); @@ -6555,10 +6557,9 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - pd2.dir = icmp_dir; ret = pf_icmp_state_lookup(&key, &pd2, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, PF_ICMP_MULTI_NONE); + icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { @@ -6567,7 +6568,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, kif, virtual_id, virtual_type, - icmp_dir, &iidx, multi); + icmp_dir, &iidx, multi, 1); if (ret >= 0) return (ret); } else diff --git a/tests/sys/netpfil/pf/icmp.sh b/tests/sys/netpfil/pf/icmp.sh index 16c4123b8dfe..f4c8ec5e5836 100644 --- a/tests/sys/netpfil/pf/icmp.sh +++ b/tests/sys/netpfil/pf/icmp.sh @@ -108,7 +108,9 @@ ttl_exceeded_body() jexec nat pfctl -e pft_set_rules nat \ "nat on ${epair_int}b from 198.51.100.0/24 -> (${epair_int}b)" \ - "pass" + "block" \ + "pass inet proto udp" \ + "pass inet proto icmp icmp-type { echoreq }" # Sanity checks atf_check -s exit:0 -o ignore \ diff --git a/tests/sys/netpfil/pf/icmp6.sh b/tests/sys/netpfil/pf/icmp6.sh index c54b54c20a87..b9b60a484afc 100644 --- a/tests/sys/netpfil/pf/icmp6.sh +++ b/tests/sys/netpfil/pf/icmp6.sh @@ -120,7 +120,9 @@ ttl_exceeded_body() jexec nat pfctl -e pft_set_rules nat \ "nat on ${epair_int}b from 2001:db8:3::/64 -> (${epair_int}b:0)" \ - "pass" + "block" \ + "pass inet6 proto udp" \ + "pass inet6 proto icmp6 icmp6-type { neighbrsol, neighbradv, echoreq }" # Sanity checks atf_check -s exit:0 -o ignore \ From nobody Thu Sep 19 13:04:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLp6tQWz5WY9Z; Thu, 19 Sep 2024 13:04: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 4X8bLp4Wlfz4sss; Thu, 19 Sep 2024 13:04:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YH1wI0h6I1Kie6SKprJEFgIkHjZTzr1aQFS3+dwD89k=; b=ql02jpw5lDRZz8jagUws40oAxIvPI5iRepHVJAzjAGpaA596t/OPwhduk+kN50w0pRebEv X8MxKmXzOu3otrsUAAOHR8HtLInxg8Kns9M32x773i58Ub0AOxkV5gW4emuhPM5k6MbMIj myNZSczXR41XmZ5dBXqGcEesjJG5RDlud5r9Jy4xm14HveE9VZf/POCrMsLrus0+9pEMz3 jsPtbj4mkYvp6x/oP94ssHQKdYHCysf4O+1Vtwn973pHue9mMlbm+k19qSBKHaM5WI67dU oCpp3TvivCvMPmMRnmf7AWd65wgIGcnRwXjeJikHvrziyZ6dWSgfPtfYIpVqfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751042; a=rsa-sha256; cv=none; b=aE3JeA9k5/QPfzj1TMS8IL6nnimoldrYE0lsfEdeXl8XzDh8vmEdce4uWj4KVpg+m/01Cq v9JGfitN4Bvxyb1as0jg3N8B3mQ3YwS1p7ldJXm0gbM3y8t4epPp+a5otb90DPGU65RHob f9b88IzDiv4a0lyZB3ruy/0QdMiKIaocUsAKeQRVK0aam4pG1wRK/DzvJIkhaYV/Xx+hNU UE4H4z/Ih3bzUimVaWX2jOh9wJxlun7I+qfT6hTfVt6vWsyU+vDNAzXkHm7vuX1t5FOsec LIM4+FBqPnVIcmQYLCFp7pLFND0RFjoNalYl1l7HK/+Q3xuE8gNy8pLKsfzUag== 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=1726751042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YH1wI0h6I1Kie6SKprJEFgIkHjZTzr1aQFS3+dwD89k=; b=N8qPjQQV0zbdQ3wF2neYQwa4Qw9pdMKYdmFmKgxwzgceFhrdgqLHVHdC3knd4onaBgKRCk vssAxvHir0llKqL/qzpkiwSvkq78RwNNgLzL92IISUYQQXtu0lCSHkfhGuje8yvA+A5Q1G aNzQUeJkUaID1/ezikd2ImEc8EbXxHI9e4j8H/CsY9TNUfqcWKlsvpoHq16gIx/jqffClh YkBz8jreRR6Tw0kTH587dSnRroQCj1GlWSLd07ayhOIy7MqVTapNIT6BMIb0aZM3S05s8P VY6R/zo4XdpEk1lq+bt3Wi2CwAfSDRsSfaAOlbCY+rPpcol/ANhcI2Aa6YcSIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLp3yqkz15v4; Thu, 19 Sep 2024 13:04: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 48JD42Gw000945; Thu, 19 Sep 2024 13:04:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD42np000942; Thu, 19 Sep 2024 13:04:02 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:04:02 GMT Message-Id: <202409191304.48JD42np000942@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: 7dabb892096e - releng/13.3 - pf: improve the ICMPv6 direction check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 7dabb892096e4e3ba7526914b94f97218d9690d3 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7dabb892096e4e3ba7526914b94f97218d9690d3 commit 7dabb892096e4e3ba7526914b94f97218d9690d3 Author: Kristof Provost AuthorDate: 2024-08-26 12:59:38 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:00:57 +0000 pf: improve the ICMPv6 direction check Following bluhm's advice this changes the way we setup state keys and perform state lookups for ICMPv6 Neighbor Discovery packets: - replace the NS-dst with ND target address; - replace the NA-src with ND target address; - replace the NA-dst with unspecified address if it is a multicast. This allows pf to match Address Resolution, Neighbor Unreachability Detection and Duplicate Address Detection packets to the corresponding states without the need to create new ones or match unrelated ones. As a side effect we're doing now one state table lookup for ND packets instead of two. Fixes a bug uncovered by one of the previous commits that virtually breaks IPv6 connectivity after few minutes of use. ok stsp henning, with and ok bluhm Approved by: so Security: FreeBSD-EN-24:16.pf PR: 280701 MFC after: 1 week Obtained from: OpenBSD, mikeb , 2633ae8c4c8a Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 5ab1e5f7e5585558a73b723f07528977a82cee82) (cherry picked from commit b84344206721ed2803d5da68585289d5880efe3f) --- sys/net/pfvar.h | 2 +- sys/netpfil/pf/pf.c | 116 ++++++++++++++++++++++++++++++++++--------------- sys/netpfil/pf/pf_lb.c | 2 +- 3 files changed, 84 insertions(+), 36 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 11bde6224eb3..b3b8074cbe17 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2222,7 +2222,7 @@ struct pf_krule *pf_get_translation(struct pf_pdesc *, struct mbuf *, struct pf_addr *, struct pf_addr *, uint16_t, uint16_t, struct pf_kanchor_stackframe *); -struct pf_state_key *pf_state_key_setup(struct pf_pdesc *, struct pf_addr *, +struct pf_state_key *pf_state_key_setup(struct pf_pdesc *, struct mbuf *, int, struct pf_addr *, struct pf_addr *, u_int16_t, u_int16_t); struct pf_state_key *pf_state_key_clone(struct pf_state_key *); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 247a20bf953b..c8c3d96a72bc 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -307,6 +307,9 @@ static int pf_test_fragment(struct pf_krule **, int, struct pfi_kkif *, struct mbuf *, void *, struct pf_pdesc *, struct pf_krule **, struct pf_kruleset **); +static int pf_state_key_addr_setup(struct pf_pdesc *, struct mbuf *, + int, struct pf_state_key_cmp *, int, struct pf_addr *, + int, struct pf_addr *, int); static int pf_tcp_track_full(struct pf_kstate **, struct pfi_kkif *, struct mbuf *, int, struct pf_pdesc *, u_short *, int *); @@ -320,7 +323,7 @@ static int pf_test_state_udp(struct pf_kstate **, int, void *, struct pf_pdesc *); int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, struct mbuf *, - int, struct pfi_kkif *, u_int16_t, u_int16_t, + int, int, struct pfi_kkif *, u_int16_t, u_int16_t, int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, int, struct pfi_kkif *, struct mbuf *, int, @@ -375,7 +378,7 @@ extern int pf_end_threads; extern struct proc *pf_purge_proc; VNET_DEFINE(struct pf_limit, pf_limits[PF_LIMIT_MAX]); -enum { PF_ICMP_MULTI_NONE, PF_ICMP_MULTI_SOLICITED, PF_ICMP_MULTI_LINK }; +enum { PF_ICMP_MULTI_NONE, PF_ICMP_MULTI_LINK }; #define PACKET_UNDO_NAT(_m, _pd, _off, _s, _dir) \ do { \ @@ -1414,9 +1417,66 @@ pf_state_key_ctor(void *mem, int size, void *arg, int flags) return (0); } +static int +pf_state_key_addr_setup(struct pf_pdesc *pd, struct mbuf *m, int off, + struct pf_state_key_cmp *key, int sidx, struct pf_addr *saddr, + int didx, struct pf_addr *daddr, int multi) +{ +#ifdef INET6 + struct nd_neighbor_solicit nd; + struct pf_addr *target; + u_short action, reason; + + if (pd->af == AF_INET || pd->proto != IPPROTO_ICMPV6) + goto copy; + + switch (pd->hdr.icmp6.icmp6_type) { + case ND_NEIGHBOR_SOLICIT: + if (multi) + return (-1); + if (!pf_pull_hdr(m, off, &nd, sizeof(nd), &action, &reason, pd->af)) + return (-1); + target = (struct pf_addr *)&nd.nd_ns_target; + daddr = target; + break; + case ND_NEIGHBOR_ADVERT: + if (multi) + return (-1); + if (!pf_pull_hdr(m, off, &nd, sizeof(nd), &action, &reason, pd->af)) + return (-1); + target = (struct pf_addr *)&nd.nd_ns_target; + saddr = target; + if (IN6_IS_ADDR_MULTICAST(&pd->dst->v6)) { + key->addr[didx].addr32[0] = 0; + key->addr[didx].addr32[1] = 0; + key->addr[didx].addr32[2] = 0; + key->addr[didx].addr32[3] = 0; + daddr = NULL; /* overwritten */ + } + break; + default: + if (multi == PF_ICMP_MULTI_LINK) { + key->addr[sidx].addr32[0] = IPV6_ADDR_INT32_MLL; + key->addr[sidx].addr32[1] = 0; + key->addr[sidx].addr32[2] = 0; + key->addr[sidx].addr32[3] = IPV6_ADDR_INT32_ONE; + saddr = NULL; /* overwritten */ + } + } +copy: +#endif + if (saddr) + PF_ACPY(&key->addr[sidx], saddr, pd->af); + if (daddr) + PF_ACPY(&key->addr[didx], daddr, pd->af); + + return (0); +} + struct pf_state_key * -pf_state_key_setup(struct pf_pdesc *pd, struct pf_addr *saddr, - struct pf_addr *daddr, u_int16_t sport, u_int16_t dport) +pf_state_key_setup(struct pf_pdesc *pd, struct mbuf *m, int off, + struct pf_addr *saddr, struct pf_addr *daddr, u_int16_t sport, + u_int16_t dport) { struct pf_state_key *sk; @@ -1424,8 +1484,12 @@ pf_state_key_setup(struct pf_pdesc *pd, struct pf_addr *saddr, if (sk == NULL) return (NULL); - PF_ACPY(&sk->addr[pd->sidx], saddr, pd->af); - PF_ACPY(&sk->addr[pd->didx], daddr, pd->af); + if (pf_state_key_addr_setup(pd, m, off, (struct pf_state_key_cmp *)sk, + pd->sidx, pd->src, pd->didx, pd->dst, 0)) { + uma_zfree(V_pf_state_key_z, sk); + return (NULL); + } + sk->port[pd->sidx] = sport; sk->port[pd->didx] = dport; sk->proto = pd->proto; @@ -4579,7 +4643,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (nr == NULL) { KASSERT((sk == NULL && nk == NULL), ("%s: nr %p sk %p, nk %p", __func__, nr, sk, nk)); - sk = pf_state_key_setup(pd, pd->src, pd->dst, sport, dport); + sk = pf_state_key_setup(pd, m, off, pd->src, pd->dst, sport, dport); if (sk == NULL) goto csfailed; nk = sk; @@ -5990,9 +6054,9 @@ pf_multihome_scan_asconf(struct mbuf *m, int start, int len, int pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, - struct pf_kstate **state, struct mbuf *m, int direction, struct pfi_kkif *kif, - u_int16_t icmpid, u_int16_t type, int icmp_dir, int *iidx, int multi, - int inner) + struct pf_kstate **state, struct mbuf *m, int off, int direction, + struct pfi_kkif *kif, u_int16_t icmpid, u_int16_t type, int icmp_dir, + int *iidx, int multi, int inner) { key->af = pd->af; key->proto = pd->proto; @@ -6005,25 +6069,9 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, key->port[pd->sidx] = type; key->port[pd->didx] = icmpid; } - if (pd->af == AF_INET6 && multi != PF_ICMP_MULTI_NONE) { - switch (multi) { - case PF_ICMP_MULTI_SOLICITED: - key->addr[pd->sidx].addr32[0] = IPV6_ADDR_INT32_MLL; - key->addr[pd->sidx].addr32[1] = 0; - key->addr[pd->sidx].addr32[2] = IPV6_ADDR_INT32_ONE; - key->addr[pd->sidx].addr32[3] = pd->src->addr32[3]; - key->addr[pd->sidx].addr8[12] = 0xff; - break; - case PF_ICMP_MULTI_LINK: - key->addr[pd->sidx].addr32[0] = IPV6_ADDR_INT32_MLL; - key->addr[pd->sidx].addr32[1] = 0; - key->addr[pd->sidx].addr32[2] = 0; - key->addr[pd->sidx].addr32[3] = IPV6_ADDR_INT32_ONE; - break; - } - } else - PF_ACPY(&key->addr[pd->sidx], pd->src, key->af); - PF_ACPY(&key->addr[pd->didx], pd->dst, key->af); + if (pf_state_key_addr_setup(pd, m, off, key, pd->sidx, pd->src, + pd->didx, pd->dst, multi)) + return (PF_DROP); STATE_LOOKUP(kif, key, direction, *state, pd); @@ -6086,7 +6134,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif * ICMP query/reply message not related to a TCP/UDP packet. * Search for an ICMP state. */ - ret = pf_icmp_state_lookup(&key, pd, state, m, pd->dir, + ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { @@ -6094,7 +6142,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif icmp_dir == PF_OUT) { if (*state != NULL) PF_STATE_UNLOCK((*state)); - ret = pf_icmp_state_lookup(&key, pd, state, m, + ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 0); if (ret >= 0) @@ -6502,7 +6550,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif pf_icmp_mapping(&pd2, iih->icmp_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - ret = pf_icmp_state_lookup(&key, &pd2, state, m, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) @@ -6557,7 +6605,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &multi, &virtual_id, &virtual_type); - ret = pf_icmp_state_lookup(&key, &pd2, state, m, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { @@ -6566,7 +6614,7 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif if (*state != NULL) PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, - state, m, pd->dir, kif, + state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); if (ret >= 0) diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 46d3ea8f508d..2571a0c5312e 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -606,7 +606,7 @@ pf_get_translation(struct pf_pdesc *pd, struct mbuf *m, int off, int direction, return (NULL); } - *skp = pf_state_key_setup(pd, saddr, daddr, sport, dport); + *skp = pf_state_key_setup(pd, m, off, saddr, daddr, sport, dport); if (*skp == NULL) return (NULL); *nkp = pf_state_key_clone(*skp); From nobody Thu Sep 19 13:04:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLr0x92z5WYcf; Thu, 19 Sep 2024 13:04: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 4X8bLq5jgrz4stC; Thu, 19 Sep 2024 13:04:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dbbZQ8ZYva3JhzAG5gibE+wgv5oIwY2C2n9bAq7/QnI=; b=txeerpZ7cJ8V2WetTqp93OGIUI4u1xydiKs5UzhYGGJOX/eqhmRcEqwzJRtKMdO2GydaAc 2qb4XndYiJg9OKcHWZ8w0LaJoM+sRHEoNvyEInhWZcR3X1w1JMSvso+qLBkasTHegho+iD /F7rC7iyXgAVie7YOa/qUPDOT6/PnqHJz5DnQA1l34yvXX1sAOob415hcEkASvmxXwKb0g KOam/BOJeB+U1UG8Ng6WZxFvJnCRDnRDj5w4OVsDNO17DI6TMfBhHM56iblZvbG53C+Y8w I0+L7Df/PZz0XVqloCfRG+O+bNsZlrv5WSbx9peWI/IzGWxzlvinhk+Z6iiK/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751043; a=rsa-sha256; cv=none; b=fYgmp4wyuegOB7AJ5zgO10lco1/ipxjNo2Avd5yiK/OL5UbhyKXknqfCO8oyrDTKqC+vBd NU3/aaOhngWrkJM5Q0bqc7RtwqHDnpPbuSeNv14Zjvzc3Rd+5ddMqORsq2Wp3h5WZxiOtn JdiHyQZLqHBAxssgKkiVCtVGLGxlGUvQkAvlygo5A4IPLX1z8iWPTRqol8HGWAL4BpfBtI kikCRrZYRO956GthZQvgnC3uu1+FCexMR0IK2QxwKm0FSGo/jlOtPqZfQa544GGQulMsrU EEk9vx+gGZZ8lCOTKO//uS4wQVZWZHtxeVhSQkogN1HaOKDKN1DZK/oeUPE+tA== 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=1726751043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dbbZQ8ZYva3JhzAG5gibE+wgv5oIwY2C2n9bAq7/QnI=; b=oYgFgR3W53CIcy6wLeJPngYPtWPiX0pof0Nuav/2O98CVNB9JboIK4g9WYleSw3X2Bti5k JzqQnLTp4YmAoY8GHVMXqWnqNrq+1l30YP9tx9lV3cUaTkvSW0xtZv+QK04Fdy9eeKccF9 P93Btlbr17+IIK9rd3aVJq+OmqOmkS29QUrmXrF9sbmQvILI82mMjBOJXPptOq7OayZs5r sx5OfpAEr7pxFJMMIDA0rpeZwPCHzD4LA9U4YLCw7ChdJROr3sBaVwmAOgfymbtEu+c81G ezORAd5TB33js0PmG4qVkK/xgwZmzntC1G2kyfNwohXcvTx3S84K7QJd55aBvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLq5Jbwz168V; Thu, 19 Sep 2024 13:04: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 48JD43QA001011; Thu, 19 Sep 2024 13:04:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD43d9001008; Thu, 19 Sep 2024 13:04:03 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:04:03 GMT Message-Id: <202409191304.48JD43d9001008@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: fceeab39e9b1 - releng/13.3 - pf: try to lookup the icmp state based on a correct packet descriptor List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: fceeab39e9b16035f0a8c017c3ad64f1bf3e1d72 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fceeab39e9b16035f0a8c017c3ad64f1bf3e1d72 commit fceeab39e9b16035f0a8c017c3ad64f1bf3e1d72 Author: Kristof Provost AuthorDate: 2024-08-26 14:42:05 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:01:05 +0000 pf: try to lookup the icmp state based on a correct packet descriptor Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Obtained from: OpenBSD, mikeb , e467ea25dcd3 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit b8cd169efa6ac0899b4998898129765ae5c685a6) (cherry picked from commit fa4b64836183c33631d92dadb073a9e435c5bf6d) --- sys/netpfil/pf/pf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c8c3d96a72bc..ecad3c274d74 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6609,11 +6609,11 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { - if (ret == PF_DROP && pd->af == AF_INET6 && + if (ret == PF_DROP && pd2.af == AF_INET6 && icmp_dir == PF_OUT) { if (*state != NULL) PF_STATE_UNLOCK((*state)); - ret = pf_icmp_state_lookup(&key, pd, + ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); From nobody Thu Sep 19 13:04:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLs0yZYz5WYch; Thu, 19 Sep 2024 13:04: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 4X8bLr6mNkz4srG; Thu, 19 Sep 2024 13:04:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kDNpwgeRgahfzVunSI+q7JcNUkVgAzHyW8Kwdqi5ljU=; b=awg73G8DYl6+4OmbgXy37JddovVEz0P9q80s3IdaCYEXH34xB/j1oVwfI39JRlrFmwW5s/ U2P57bWw0uNU9ABi0o/zXJNok3axkAc9uh5tKrUVuKyuEGnghNa4oe8O0jrWctNtMcHL4+ bFs9xxnB5AuiD/3+ZfoBymThXRdUnqBDTminBUvdRphzCbPhkOSOMq8dkr22V2b1dpzgRK b0Z6UIqE6eOcaGyCvpA9YdSTS7pVEbC1p2/R/A8xRbAVgBZyMf4paAaQfL3DISGFpaqfzY Z+xrDVxBe2rGrUYoygqYG0fOGQkcsiNc6mya3kF3vCaz9KNDyEFKSXMSXTz1yA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751045; a=rsa-sha256; cv=none; b=vKBV1umNBs+5TWnB0J3OU9b52IJGoFn0tXgQhpBvP47fdqHY9LdtAMvEl67AjdLPYqKgjv ieufOnLcLZXBPBfGQw4+N272lxv4mMid+adhdLmmtDT+yjKgJyZVcH61hRFqUcHOWQ3Gaa GWA9qqZxavRtWIbAa4BuCQsXDv7I8H0b9N+jKImXB5+gVYHew9eEm0j23+7Hbd4OCgXpKG r+gAuncwbwzRDSOux/rzuHysd+B1iyDDtvZWtY0nQxJ7VuzBwrFl+PBgdsDGGe9iyG9B++ +JF0y12DiMyPQiVvnW/v4MRIk3lZMBc+CfwnzxJLQtZCF2fDlGiWpv2Z1Bof+w== 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=1726751045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kDNpwgeRgahfzVunSI+q7JcNUkVgAzHyW8Kwdqi5ljU=; b=CWhmH9m1wcIjCTAXCwAistpibpuPmD2KlP2/Z1k6voA+LAtl2/AidxkTSnPkjmuWpnryQJ v9EZMFS/+OCkHQfZ1zedggfZdat6/3kMpejjC1To0dwb7AQoTXbNczrZQVnMuBkcEf8OKp afKznGmMxCq5vrMqMhpI5vb4Rp2pbynE4rtI0mxpd/q9jETMukyw6OUZe5Wmg/+aw8Aybi F85XOg7Eq/ysaOtumbfIrYUjV1rovvdkGYjSQCdaMvOoeZZ3pJEehDHPuS9WkZAhGHvoc+ BrKHi/OltejzSi9knoO/DvlidqwZkVpOAascQL+F6qR21Av82pwP0ObWzyMUGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLr6NFgz168W; Thu, 19 Sep 2024 13:04: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 48JD440L001087; Thu, 19 Sep 2024 13:04:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD44kb001084; Thu, 19 Sep 2024 13:04:04 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:04:04 GMT Message-Id: <202409191304.48JD44kb001084@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: aca9955aec8f - releng/13.3 - pf: be less strict about icmp state checking for sloppy state tracking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: aca9955aec8f339c003d977e113594d99be153f8 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=aca9955aec8f339c003d977e113594d99be153f8 commit aca9955aec8f339c003d977e113594d99be153f8 Author: Kristof Provost AuthorDate: 2024-08-26 14:44:20 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:01:36 +0000 pf: be less strict about icmp state checking for sloppy state tracking Sloppy state tracking renders ICMP direction check useless and harmful as we might see only half of the connection in the asymmetric setups but ignore the state match. The bug was reported and fix was verified by Insan Praja . Thanks! OK mcbride, henning Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Obtained from: OpenBSD, mikeb , 538596657140 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 3da3eb6081a2e2f6ea2fed1728d5dd7f9e8786e5) (cherry picked from commit b4b8b2fc9bd25d10eab0afdbd06a7ef8735b7b6b) --- sys/netpfil/pf/pf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index ecad3c274d74..100302ab2ca5 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6075,6 +6075,9 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, STATE_LOOKUP(kif, key, direction, *state, pd); + if ((*state)->state_flags & PFSTATE_SLOPPY) + return (-1); + /* Is this ICMP message flowing in right direction? */ if ((*state)->rule.ptr->type && (((!inner && (*state)->direction == direction) || From nobody Thu Sep 19 13:04:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bLt1rmzz5WYGW; Thu, 19 Sep 2024 13:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X8bLt0g7Yz4t2t; Thu, 19 Sep 2024 13:04:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726751046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wNE4k91HyvhHZ+uIeWliDpNw/eeHqzRB1EC+7yp+Grs=; b=N4diy85nQY/9/pj3uYGw/fqFmD7862mScVmHh9lzCllDJW8K8bUSYDxhw3U+maoaXbP/Nt +c3FAXRE00q03909EgUESMBngz5XX8vMT0qqoYVGYkw/6l3WMLrizWx3NdIFbwGDtQ3BKi ivUEBjXxlbDQR18r/C6s8Xc8mu2AhQQsjW0+GNvhDJcSa84Z01viy5VlRbeAkHYNP8AAl3 7xjuws2sXzGVes7SSCb5WbJd6vesLTvzj1xp4Dg0C+7csGu+zVwxaMdqLqZvcJ8czK0MhZ Pw1ogxyUkBLRfAB7z9j7ZWkJ/aKO1omCoft7plZ1QwkckVCweNnZVnd6PkKrlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726751046; a=rsa-sha256; cv=none; b=FYyA+MykZhhmeRyiumWOaO9Qhaz61u3+sIcrb+a/QwYO7P7sh4q456+e7EqPKF9PRUGkIR f9TrtidydJStdrSIt+qvDBG+/NJU5WX2ge/lf2KRK267heEPzEa3/Amm957enmX8DMCYEw KTGTSI/Psvw5OGLVH2WdBPmf/kmb5ZWaUKJrLq1Dljd6zn66QxcfeFK/lKjO93HAiLQ/95 GEn93pD1F6pt64M58+96hE0o2hgK/zVLaMvz38Wop246jEFgp7xMdM+d8BOtwY2MfqpOqu yXts/GF19rNr09plwlK+98188KaIkf75ywkjt/CST8ibhVMQm66g12jb6zZs8A== 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=1726751046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wNE4k91HyvhHZ+uIeWliDpNw/eeHqzRB1EC+7yp+Grs=; b=czodg9kOOaD685udVa1qKhixWa15Hbqw11PGeZNMGWz4GUt2m7H3WIGY5u11f5Lz1j0tpQ 8HR3a8r5iAavwU3ar7xeJhgL1L68XwUfJFmH6PZE4xnpyrdgQ+uSfnYU9VtdUiluh97nU+ ZmbK2btjZ8BvJo/M9huENPMusgN1+oy/c/BaZRph6Lcw80iRphFgOu4uqhKaWzkBV/0sCi 1mLu9eMOP4mutucSFJ9Nj0TWK0XQHKoEtQFzS0Ty4p76/KLbDeMVNYx/+DxjkQhqXQOv3P Pqu6wCxR169D599Ct2yoYBMDVCzqyKvlODfW9WukAHtpk3gpJv045O4QKQ7iXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bLt0HDTz16Jb; Thu, 19 Sep 2024 13:04: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 48JD45P7001129; Thu, 19 Sep 2024 13:04:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JD45Cj001126; Thu, 19 Sep 2024 13:04:05 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:04:05 GMT Message-Id: <202409191304.48JD45Cj001126@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: ea9257bcd0e1 - releng/13.3 - pf: rework pf_icmp_state_lookup() failure mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: ea9257bcd0e1ae178fa4266017bd1db7dae4e780 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ea9257bcd0e1ae178fa4266017bd1db7dae4e780 commit ea9257bcd0e1ae178fa4266017bd1db7dae4e780 Author: Kristof Provost AuthorDate: 2024-08-30 11:36:39 +0000 Commit: Mark Johnston CommitDate: 2024-09-19 13:01:45 +0000 pf: rework pf_icmp_state_lookup() failure mode If pf_icmp_state_lookup() finds a state but rejects it for not matching the expected direction we should unlock the state (and NULL out *state). This simplifies life for callers, and also ensures there's no confusion about what a non-NULL returned state means. Previously it could have been left in there by the caller, resulting in callers unlocking the same state twice. Approved by: so Security: FreeBSD-EN-24:16.pf MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 0578fe492284ded4745167060be794032e6e22f0) (cherry picked from commit d6e5f8643d37e925aa51fc8224cfc05aba0813f7) --- sys/net/pfvar.h | 4 ++-- sys/netpfil/pf/pf.c | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index b3b8074cbe17..0f2ad39fec94 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -330,8 +330,8 @@ struct pfi_dynaddr { mtx_unlock(_s->lock); \ } while (0) #else -#define PF_STATE_LOCK(s) mtx_lock(s->lock) -#define PF_STATE_UNLOCK(s) mtx_unlock(s->lock) +#define PF_STATE_LOCK(s) mtx_lock((s)->lock) +#define PF_STATE_UNLOCK(s) mtx_unlock((s)->lock) #endif #ifdef INVARIANTS diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 100302ab2ca5..27918a6fd909 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6089,6 +6089,8 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd, pf_print_state(*state); printf("\n"); } + PF_STATE_UNLOCK(*state); + *state = NULL; return (PF_DROP); } return (-1); @@ -6141,15 +6143,16 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 0); if (ret >= 0) { + MPASS(*state == NULL); if (ret == PF_DROP && pd->af == AF_INET6 && icmp_dir == PF_OUT) { - if (*state != NULL) - PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 0); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } } else return (ret); } @@ -6556,8 +6559,10 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd2.dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } /* translate source/destination address, if necessary */ if ((*state)->key[PF_SK_WIRE] != @@ -6612,16 +6617,17 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, PF_ICMP_MULTI_NONE, 1); if (ret >= 0) { + MPASS(*state == NULL); if (ret == PF_DROP && pd2.af == AF_INET6 && icmp_dir == PF_OUT) { - if (*state != NULL) - PF_STATE_UNLOCK((*state)); ret = pf_icmp_state_lookup(&key, &pd2, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, multi, 1); - if (ret >= 0) + if (ret >= 0) { + MPASS(*state == NULL); return (ret); + } } else return (ret); } From nobody Thu Sep 19 13:30:18 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bx71Rj6z5WcB3; Thu, 19 Sep 2024 13:30: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 4X8bx70xHZz463V; Thu, 19 Sep 2024 13:30:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WSM9ty4emSQjATayp1mi8OjbMVTe8iexLYo/9TUxNDc=; b=QfRx4yGe7EW8gvMctnPZMol3/zSLvgE4yOFLhAmn1vJLn+dTRu5AkecfpyZrRr9l5/64JF 8o5VI9ug2L8gCnmnpgDXcenP4zo7ylZIppGjVjcg3gOplpoX9fY18iExyhAsqmDezJ775k C3/IOmSEZ99AzY+TyD1Z0anWjdLkrbomnkUdNfh3HMWzM72iOLXGzCvJl+TAd/Gcf5WNTC B8MXbLRF7Cv4mqvGV4xHtAzB6jw53/PSOyA9ibPAvHvaHC0b16dttnqOS5ZMKnxroHHXGe FODsJtKnxUXYLAk2qU8HX3dikPy0NRUCnrckRZvo+bbAy3obodkqA5nKx+wyzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752619; a=rsa-sha256; cv=none; b=VhOYEKwKV15mbO2V5MrUYvrr0flVFFW8hy8LmRF16LRQ/gqjr8Is2F2dBLW4W19hhv2Koa m067keR1/DxtzmO0kD8jbpNNLWltrbNtOx+aH6RaCixWbhbEqGuzrh/7YS+6iGcXMd6sCx d72ytHxCtTf3XA4hMnHr6aN8kg/NajLkBv8bjpd6WbKf6qnREbUMlt/cDhi4qzjRK6etgl yeDMNEssK+bAo05h5XozjvyheRVAXF5BJY+83+0fnzbGSWk43JW82Xc4BXUfX6nW7AKrsi MH7Ns3CynwG3LAMRfOnDXBeI+DfY8y1V4VnVFwNKFiwJBp8om9ErwbHu5ubY/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=1726752619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WSM9ty4emSQjATayp1mi8OjbMVTe8iexLYo/9TUxNDc=; b=pU+txcfIAK/vkhz5qbjQ4rO3Ksm7wzG4iYdgGXx388WwGn8pDGp3QIPB4Nj3VnrM4Q/ZbE orGVM/ETnKyrxn8TNgdrXddPijORlIBZz6xF3AX1HeeV3kZKc2/TbZzvSNqh8n2H6SQOGf Vi0sNl8upso7YOjjxCiNZ3hbdhvmKALBvec9nUjaJb/Wj5r39kKq14zIEV/Vb6Y5yo/8fY TJryJnMw1LWA2FJpxQnl2gv1gmqY68omnfi/qSFCbmsCvCRRX+GwC4fkw2AQNWmdWRTZo+ Scig8/KTgWgbmG5KmWwA1jMCPt954/pC/kGmFQHWKA+iwuyWUvD08va4hu4AIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bx706Vjz16sS; Thu, 19 Sep 2024 13:30: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 48JDUInO045428; Thu, 19 Sep 2024 13:30:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDUI1Y045425; Thu, 19 Sep 2024 13:30:18 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:30:18 GMT Message-Id: <202409191330.48JDUI1Y045425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: 3c6c0dcb5acb - releng/14.1 - bhyve: improve input validation in pci_xhci List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 3c6c0dcb5acbc4c98633006322281c592e4e4e24 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=3c6c0dcb5acbc4c98633006322281c592e4e4e24 commit 3c6c0dcb5acbc4c98633006322281c592e4e4e24 Author: Pierre Pronchery AuthorDate: 2024-07-17 15:04:23 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:07:18 +0000 bhyve: improve input validation in pci_xhci Several functions did not validate the slot index resulting in OOB read on the heap of the slot device structure which could lead to arbitrary reads/writes and potentially code execution. Reported by: Synacktiv Reviewed by: markj (earlier), jhb Approved by: so Security: FreeBSD-SA-24:15.bhyve Security: CVE-2024-41721 Security: HYP-02 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45996 (cherry picked from commit e72d86ad9c62c8054d7977a71f08e68ef755c132) (cherry picked from commit 419da61f8203ac475550ae4b0971dbef10f811f2) --- usr.sbin/bhyve/pci_xhci.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 791c56a45f0b..77b17d525bdd 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -580,7 +580,7 @@ pci_xhci_get_dev_ctx(struct pci_xhci_softc *sc, uint32_t slot) uint64_t devctx_addr; struct xhci_dev_ctx *devctx; - assert(slot > 0 && slot <= XHCI_MAX_DEVS); + assert(slot > 0 && slot <= XHCI_MAX_SLOTS); assert(XHCI_SLOTDEV_PTR(sc, slot) != NULL); assert(sc->opregs.dcbaa_p != NULL); @@ -853,7 +853,10 @@ pci_xhci_cmd_disable_slot(struct pci_xhci_softc *sc, uint32_t slot) if (sc->portregs == NULL) goto done; - if (slot > XHCI_MAX_SLOTS) { + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; goto done; } @@ -889,6 +892,14 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) DPRINTF(("pci_xhci reset device slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); if (!dev || dev->dev_slotstate == XHCI_ST_DISABLED) cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; @@ -897,6 +908,10 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* slot state */ dev_ctx->ctx_slot.dwSctx3 = FIELD_REPLACE( @@ -957,8 +972,20 @@ pci_xhci_cmd_address_device(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: address device, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1019,6 +1046,14 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, DPRINTF(("pci_xhci config_ep slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1032,6 +1067,10 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* number of contexts */ dev_ctx->ctx_slot.dwSctx0 = FIELD_REPLACE( @@ -1138,11 +1177,19 @@ pci_xhci_cmd_reset_ep(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; - type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); + type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (type == XHCI_TRB_TYPE_STOP_EP && (trb->dwTrb3 & XHCI_TRB_3_SUSP_EP_BIT) != 0) { /* XXX suspend endpoint for 10ms */ @@ -1227,6 +1274,14 @@ pci_xhci_cmd_set_tr(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1325,8 +1380,20 @@ pci_xhci_cmd_eval_ctx(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot; in this emulation, slot_id = address */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: eval ctx, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1555,8 +1622,9 @@ pci_xhci_xfer_complete(struct pci_xhci_softc *sc, struct usb_data_xfer *xfer, dev = XHCI_SLOTDEV_PTR(sc, slot); devep = &dev->eps[epid]; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); - - assert(dev_ctx != NULL); + if (dev_ctx == NULL) { + return XHCI_TRB_ERROR_PARAMETER; + } ep_ctx = &dev_ctx->ctx_ep[epid]; From nobody Thu Sep 19 13:30:20 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bx824Nrz5WcM1; Thu, 19 Sep 2024 13:30: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 4X8bx81CjPz45sG; Thu, 19 Sep 2024 13:30:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jgSmvRIlMb9Ikw9Sv+Vn3nCj6GKOCL+W7wjovrEr9Qk=; b=Vg1ewrVg5SLqGLR1ogb4QgXOmdN7c6QJh3awK1M5/+pAYMRcGfoSlc5PjSYTmZCfVYVIKs GELtxljZaOTHd1NOSL4lkxaupD89fiD909s8hT90WsO3y3B08K40GzHx0fxOrL7RQ407sd tAD3jIx+pKRcpOcMxgxdlMCnNrN8jZ3DU1yUthUMqi+m9xqZrThu5C3jvrtxCbtyAylH5P IvUrdncnVCjOg5JaRcgz+/mMnGONYrcFyCNIMqnM3MNWgQJxBOsVx58ZZlXox93932sNRr bji5UjjOUluNQIbSmM+lluwAI7JgErs8qrqBb3+X3FN4veipqp4ubdv/0/ILsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752620; a=rsa-sha256; cv=none; b=Ye7eEhGfbhd3/CfslyPGwaTn2nBsVQLAu1ctRI5sximRqb4/mgBOe3voHb4gQ1FU0v7yjn vUZYYdCcTAepeirKS20US2oLTAAXNvzovdnbojdjrfWq+qjLUIole22cy7+CR/oNoQCBvv mQE3tvIe+TDw2KPM66se7xOKiT19TBh3nQxJ3GQrjwiS0annkj4arQlTfCQ/ZjRVb9lluD q71EG48BUHmGeorlJykmJ3S/AJKR6W7hFE7Pv+N76Cg2A9SvUPczNbs12ImyQtbeUHsIxz evlJdp+qfnnCllfg7EeM7K++Ie6glY83Gz4qG4yNx8Rr1gjKwXILmFGM97fJNQ== 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=1726752620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jgSmvRIlMb9Ikw9Sv+Vn3nCj6GKOCL+W7wjovrEr9Qk=; b=bPcI96H730XswnD4OX4b3C3DhXhk/xY2o3mpowO0mG/NbtQpsJbt5n5wUBaJLZuhnvh8Oz c8gjyzVNytxU9u9yzAREAR2sG2Jf6f2mHaLJRTikjO9IvneEsNkN0yej5ldJMRVPiR6X6t HB9X9gWqjB4sO2le9yhEj4ZtSMqQvJaxjxxP0ABl0xIThi7cAVPO1i1ZsQHHZjNRH0rvXc Yi+IHjsd+S4J/UBUauzpXT0JYZaE/Ck+l2fwX6tFvHfa28SHkFZslFlIFS/ECBgT8YLvrw VC9BdtRciE6dynadC1sTZW1twFjNRvZF2p2XY9BKxVObvXY9pCR5pXN5xxhkXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bx80qG3z16yp; Thu, 19 Sep 2024 13:30: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 48JDUKe6045479; Thu, 19 Sep 2024 13:30:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDUKXZ045476; Thu, 19 Sep 2024 13:30:20 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:30:20 GMT Message-Id: <202409191330.48JDUKXZ045476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: f67468e6e5e2 - releng/14.1 - libnv: correct the calculation of the structure's size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: f67468e6e5e27661e18561a3bcff9448d055b95e Auto-Submitted: auto-generated The branch releng/14.1 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=f67468e6e5e27661e18561a3bcff9448d055b95e commit f67468e6e5e27661e18561a3bcff9448d055b95e Author: Mariusz Zaborski AuthorDate: 2024-09-11 14:43:43 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:10:29 +0000 libnv: correct the calculation of the structure's size Reported by: Milosz Kaniewski Approved by: so Security: FreeBSD-SA-24:16.libnv Security: CVE-2024-45287 (cherry picked from commit 7f4731ab67f1d3345aee6626eb83cc5ce00010f0) (cherry picked from commit 056c50c48be3e3828ef740d2fcce988a545e52aa) --- sys/contrib/libnv/nvlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index 64078b10973e..92d6e655876a 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1029,7 +1029,7 @@ static bool nvlist_check_header(struct nvlist_header *nvlhdrp) { - if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(nvlhdrp)) { + if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { ERRNO_SET(EINVAL); return (false); } From nobody Thu Sep 19 13:30:21 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bx93Qh6z5WcM5; Thu, 19 Sep 2024 13:30: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 4X8bx91nrvz466B; Thu, 19 Sep 2024 13:30:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QN/Ld1bgEaON9KepwiChclYAFuZGZFgygMdC2pQ7k6E=; b=E7B61E84/U4w+JKZgqSGVTKmzwTI8BOvLios3lzrUAauDZevLU8iaKtWEj3T6HbttL0mjG dDZZwJD/CjU4OKnePYVGMQ0Kv9TCnM4rjQ33p1ZSscZqatirJHscbqcZt+2JDVDo1/WHrz 7iIA/Uau5+mMjx6AqpdleyTAy4unlxFk66Rc8P/JwacKo8c3qEiRSF6HIgibKEq3qyny+d RGSow5JW7+MyOVrvuZBKRxSqq9zeh19y7z7AdGkAjYRwts473FlAW1/L1ayN2dXMY5pB+O siU9AirG5krfBjHjuFQWhqm3oF/5RSkXlU1EqTq/nFGoV4Zs+5cFgZi1sRYtOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752621; a=rsa-sha256; cv=none; b=wKD5FJ0EzFM4+ANnPzrDZcystcBoRo7r/rqLhxf8v94Ji04PMH57IWPsEaTG0MxBbhyuuZ k2WatHfvIGqQ1gEW0V6tW8xEojA484dZxHxK1AdTlawDyltI5jARVVs04VH9ESH9OVkxf7 tv2aKyG1e6WDeDo7zGDOdO0RNZFiNcFScfgZaa5eM89fSssgtkxxMXzNc6xfIy8nVfn5J0 OOxrgyIIamdl/H4UkEO7kXUTc8bnW3mOJlY4uP9vFMaEhbzynKcxhfKc5FXRBSND/YkEVi iTOma6kF7ssKROiMCVB1t8Lza+F1pJVnQdtGxFO1qCgUqZElmBDuNrCH5jM2dA== 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=1726752621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QN/Ld1bgEaON9KepwiChclYAFuZGZFgygMdC2pQ7k6E=; b=RlRDqN1czKw62XCZvzyKnaGqruQVXOJHUgvt5DSxXjGgKAG3QoMVeApIQ/WL0qosbiESXN /CJzFgbSSwHC0Zp2hJJMqBHfzMn6Pplx2LhZVfQKRIvtmRKqOdvZj4w2uEQNNy5yq3ui7E jsdNnA3pipBqDFNpDLxX9yivNpO9Hhip4qm9URZIB++t1nRv80CzToZOtVF+GK8C5shYoM DcrqKf/GcXtllbPVHOhEaxpm+RjeevvNyPByJgDmSSLei8PXgjSasgeLkbRUvBUMoDFY/Q hoVR+Iw7DSYmykIwdiVU8rjh38QTOSwsUIaqx17Mj/MSkw/4WYDtKiV18Snjtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bx91Q7dz16bK; Thu, 19 Sep 2024 13:30: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 48JDULuo045532; Thu, 19 Sep 2024 13:30:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDULS8045529; Thu, 19 Sep 2024 13:30:21 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:30:21 GMT Message-Id: <202409191330.48JDULS8045529@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: 524a425d30fc - releng/14.1 - Add UPDATING entries and bump revision. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.1 X-Git-Reftype: branch X-Git-Commit: 524a425d30fce3d5e47614db796046830b1f6a83 Auto-Submitted: auto-generated The branch releng/14.1 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=524a425d30fce3d5e47614db796046830b1f6a83 commit 524a425d30fce3d5e47614db796046830b1f6a83 Author: Gordon Tetlow AuthorDate: 2024-09-19 13:18:19 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:18:19 +0000 Add UPDATING entries and bump revision. Approved by: so --- UPDATING | 11 +++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 37ff6f2d53e1..c77a09fdf81b 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,17 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240919: + 14.1-RELEASE-p5 EN-24:16.pf + SA-24:15.bhyve + SA-24:16.libnv + + Fix incorrect ICMPv6 state handling in pf [EN-24:16.pf] + + Fix bhyve(8) out-of-bounds read access via XHCI emulation [SA-24:15.bhyve] + + Fix integer overflow in libnv [SA-24:16.libnv] + 20240904: 14.1-RELEASE-p4 EN-24:15.calendar SA-24:09.libnv diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index fec4520f5fb7..f611c7d0229d 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.1" -BRANCH="RELEASE-p4" +BRANCH="RELEASE-p5" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Sep 19 13:30:44 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bxc5l0kz5WcMB; Thu, 19 Sep 2024 13:30: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 4X8bxc5JM4z4717; Thu, 19 Sep 2024 13:30:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zRFbPZLXxTu5LdMOM8t1ksQRVCKGI0Pd1QsviOYLly4=; b=E1CPGgWbn83P3e69sAJID9evwIeIiQmzdKd7fVL+rV1QsqSmsO/rktU6ZLwlXN5fns/YWO R5aCbwGnphPfC1DA9qraZJHE/kta0TUgx21yPUa0PQnPinolbpnUPzQ8JeRs1jm3U6G7uV VlfckjBhek4BvGMGRNkT4VCBU/HhoDtxKsdGqR6cVXpXnL6j2Gl1tKYHhUQtYeBL/fokaO ihsYu+pQ5io3GRlxxUKcEdk6jy4YqObcVdfUqBM+CkdEUCgeF3qtAu3p1k8PMSRg58t/fI d/foE5ZXB6lA280tkH28nRXy/OkbFncuknHmFid2CztmT7PO7ior2pVQh2CLpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752644; a=rsa-sha256; cv=none; b=WwGSAvhnNqIpkKD0Kp5svMfwc9D6o4R63RsIWOUH4uYHUV4DIzYbIvLtSs1NmVdvbVVty4 0mgj0XQXnmGOx8w6q1+ncz5rJgaEdjmlUfN5c6gD3otwdOTEiiGJb1BgXVKQ4LlFQihIPc WbgkeylrRpNnhcgKNuJztnRu9t5F6O4duwE4W7e8v0mwpgvwZfaaX2jhkLioXHo0pIM4md B5FIu7wFVkeqb7sWo8U8KqSR/zj+jul34/6k3RcRHYFEj0L7TtDMmyD2Dm+DCTzvEFxo1y eZkul5ucKIGJneoIJw4y1kdeIsRXVJEVnaZ3A+vsA+Hh9Rn3ZX2jV2+iaubSVA== 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=1726752644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zRFbPZLXxTu5LdMOM8t1ksQRVCKGI0Pd1QsviOYLly4=; b=uv5wOevIDQzf+s3oPJ/pz4UIaroKSkgt1zBqudMdl1xgtI/N4SDw9OpgCMUnj3XCevIHdo dKOcrJeizzx7sEppCahv4I/r3Gt8WKFvd2B4XwDykX45Zem6E31tkcJDE3JAWaCI9jgfTL aIp9k0qSlXQSJtKfxuoF/RggL0C1pq9eDPp3pkq6yh1gRx6Y4eqH7GjafrqsXnimook68/ 18ByqfFrXTDQqsXjmezv3vihersytRfLhYh1vc+wcFRDFCV4VZXJpR0OjuK9Urt6P+Iiz2 c/5C/y5794+BE9EXoeBx0FOyoCM1W0kmncP0QKK3McsFuJjpRuvgQlwdCwZtAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bxc4dXDz16YQ; Thu, 19 Sep 2024 13:30: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 48JDUiSG045730; Thu, 19 Sep 2024 13:30:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDUi5L045727; Thu, 19 Sep 2024 13:30:44 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:30:44 GMT Message-Id: <202409191330.48JDUi5L045727@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: ba46f1174972 - releng/14.0 - bhyve: improve input validation in pci_xhci List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: ba46f11749729c8abe1236d5cd72020955b41e93 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=ba46f11749729c8abe1236d5cd72020955b41e93 commit ba46f11749729c8abe1236d5cd72020955b41e93 Author: Pierre Pronchery AuthorDate: 2024-07-17 15:04:23 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:08:03 +0000 bhyve: improve input validation in pci_xhci Several functions did not validate the slot index resulting in OOB read on the heap of the slot device structure which could lead to arbitrary reads/writes and potentially code execution. Reported by: Synacktiv Reviewed by: markj (earlier), jhb Approved by: so Security: FreeBSD-SA-24:15.bhyve Security: CVE-2024-41721 Security: HYP-02 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45996 (cherry picked from commit e72d86ad9c62c8054d7977a71f08e68ef755c132) (cherry picked from commit 419da61f8203ac475550ae4b0971dbef10f811f2) --- usr.sbin/bhyve/pci_xhci.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 3550dc1872ae..9a6d8d5ef120 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -580,7 +580,7 @@ pci_xhci_get_dev_ctx(struct pci_xhci_softc *sc, uint32_t slot) uint64_t devctx_addr; struct xhci_dev_ctx *devctx; - assert(slot > 0 && slot <= XHCI_MAX_DEVS); + assert(slot > 0 && slot <= XHCI_MAX_SLOTS); assert(XHCI_SLOTDEV_PTR(sc, slot) != NULL); assert(sc->opregs.dcbaa_p != NULL); @@ -853,7 +853,10 @@ pci_xhci_cmd_disable_slot(struct pci_xhci_softc *sc, uint32_t slot) if (sc->portregs == NULL) goto done; - if (slot > XHCI_MAX_SLOTS) { + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; goto done; } @@ -889,6 +892,14 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) DPRINTF(("pci_xhci reset device slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); if (!dev || dev->dev_slotstate == XHCI_ST_DISABLED) cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; @@ -897,6 +908,10 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* slot state */ dev_ctx->ctx_slot.dwSctx3 = FIELD_REPLACE( @@ -957,8 +972,20 @@ pci_xhci_cmd_address_device(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: address device, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1019,6 +1046,14 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, DPRINTF(("pci_xhci config_ep slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1032,6 +1067,10 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* number of contexts */ dev_ctx->ctx_slot.dwSctx0 = FIELD_REPLACE( @@ -1138,11 +1177,19 @@ pci_xhci_cmd_reset_ep(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; - type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); + type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (type == XHCI_TRB_TYPE_STOP_EP && (trb->dwTrb3 & XHCI_TRB_3_SUSP_EP_BIT) != 0) { /* XXX suspend endpoint for 10ms */ @@ -1227,6 +1274,14 @@ pci_xhci_cmd_set_tr(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1325,8 +1380,20 @@ pci_xhci_cmd_eval_ctx(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot; in this emulation, slot_id = address */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: eval ctx, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1555,8 +1622,9 @@ pci_xhci_xfer_complete(struct pci_xhci_softc *sc, struct usb_data_xfer *xfer, dev = XHCI_SLOTDEV_PTR(sc, slot); devep = &dev->eps[epid]; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); - - assert(dev_ctx != NULL); + if (dev_ctx == NULL) { + return XHCI_TRB_ERROR_PARAMETER; + } ep_ctx = &dev_ctx->ctx_ep[epid]; From nobody Thu Sep 19 13:30:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bxd6gNfz5WcGr; Thu, 19 Sep 2024 13:30: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 4X8bxd62Tnz46qP; Thu, 19 Sep 2024 13:30:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7IZWHVEjeniWcrmiX/l/pspOW7BY4TmokL8JAq1txx4=; b=T91jyCqn2c7l8JQxIuK49nU15kzUAx5xYbzjXiz0rJ5cvrNapZZsc4D0vTENKLdGceUkS9 2ZmoierTsxDcJOM9OstkU8oqOADopjn0naqlv9TjykzrWcYc+jNDBvcQbpngDPWpr6e+Do WKgxJFgSqbHcejDgv00MsThS1d0rv/0d/gWst/GotD0+fQzBu8c6f2jmrmOcEVWoN8Xz1j RvgTPH5BWamwC7u/fMNLLZCIC+URT1xlnjLzp2WwRTc2Pj5NvO8IK+aM5I8FoxcMG33uT5 aQqjvo6PT0iIUyJSTZ0nzfdhsE0t1Z0hcavNQIqZDxLZHQLS4zTPG4gqov/RZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752645; a=rsa-sha256; cv=none; b=e9KbTdeyeP/UszxbVU6Me+mMmVZICp5XuW6+sVQExA+CSL0UU241DP6LdVJ63r+4BB6DoZ Vf8sNvg3XxHnlXyCXBpSik7dWGs8MJgHxUpswPt6rsa5a+PZjO681erJFbxUT2wcutHFgl LAw6w2SRtllNOxFova/AKFtw991IQx22AuQ1bX4mtD1MNfb6vRESPmyt6HQJ5zIOblmHC9 o8MxHIP/toN4pceeo4Lvs7J4kuiAckYdGJ+nuWneGgHGrHZBw/GTaR7W9e7Gkt2uFXMRPZ LgN3bJIOpU4KGNO5eXGAsY6zRqIrHPRfQLwAACRzTLx/N1bpu1SuCY4e+16mNQ== 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=1726752645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7IZWHVEjeniWcrmiX/l/pspOW7BY4TmokL8JAq1txx4=; b=U1Xk615L2IwztcHj8PzEVU3CJIwdPh1fOs7mxI6ABISfNfukmpkj0s+F+NKFBEyjlXw+kG t5q61I3MuCRTWG2dOnAJcEfgTUWkbo2NuLm4l7rNHaiaKztTv61/Bls5WfwFpKnuNAvXvD pCT01l3JEb/LLT1bNibK1hqE285epMlST1jaMVsVYHxt/7qXkXFiwA8rgCqtKTT3huXhR9 rR4PjMWB9dtqyyt85L6eMwpckd53ys0mTvUkDA5LfDqSvN1DzURPsXceWaGFJi/Ypwu6Uu Dz1xJHYBD9EqG5AEnq1BIAxml9mFB5+GTLssmSYNx0fCxZlMhMjYt3hWZYsWWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bxd5fY8z178Z; Thu, 19 Sep 2024 13:30: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 48JDUjbE045786; Thu, 19 Sep 2024 13:30:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDUj74045783; Thu, 19 Sep 2024 13:30:45 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:30:45 GMT Message-Id: <202409191330.48JDUj74045783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: e9d57be06e23 - releng/14.0 - libnv: correct the calculation of the structure's size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: e9d57be06e23685c4f7e5045dd4959cb735f7dda Auto-Submitted: auto-generated The branch releng/14.0 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=e9d57be06e23685c4f7e5045dd4959cb735f7dda commit e9d57be06e23685c4f7e5045dd4959cb735f7dda Author: Mariusz Zaborski AuthorDate: 2024-09-11 14:43:43 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:11:22 +0000 libnv: correct the calculation of the structure's size Reported by: Milosz Kaniewski Approved by: so Security: FreeBSD-SA-24:16.libnv Security: CVE-2024-45287 (cherry picked from commit 7f4731ab67f1d3345aee6626eb83cc5ce00010f0) (cherry picked from commit 056c50c48be3e3828ef740d2fcce988a545e52aa) --- sys/contrib/libnv/nvlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index 64078b10973e..92d6e655876a 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1029,7 +1029,7 @@ static bool nvlist_check_header(struct nvlist_header *nvlhdrp) { - if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(nvlhdrp)) { + if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { ERRNO_SET(EINVAL); return (false); } From nobody Thu Sep 19 13:30:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8bxg4CPFz5WcMG; Thu, 19 Sep 2024 13:30: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 4X8bxf6pnrz46sj; Thu, 19 Sep 2024 13:30:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bi669PwAdJl70Xrw4bvoZM5GTRYXVz+xXMJ+P55Ap+g=; b=d9dXeapcJOMxgDr72ZYsDdo5Fj6Odnex0yN1ckXvzC+XLEgWcXs7DAS3eijarPiG8e4ux2 liGa99U/QUl5j4AmRPd3X9gtQ3sTyBEh8ipGm9x4+dNzy2VV2w7HTQR4AW+b+CWEhByh4u sGDw6Xx5O65+Y0t4fa5hDb/PWBg4fiUHc+SI+AGRmb1M35tFv0NCcU4GGtB/UaMtqEe+if 0W2bwPwuQHpffRJmdD0S90Mx/Hg74rvPwXl+0Zn5K/YSGr7MDxcP8T7gfHgfe1CIlGk6qK r1HlrvEJbA26Hm9msfVneC5xSo5ahWrHJhOCr+BlvTtWvAx7pOwLREsKWwp3gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752647; a=rsa-sha256; cv=none; b=DWQLNSHi1KgBDD+AhpJKqQQ6bh6SkSBOBakjis7PbtFixYrrbMxysj4Qxne5cTzs7y0V6L mlKYc7Afx9beZFhXEbE9CB0gD/W6KvrYeI78muvML0eA4XvAwXvDGQp9vJrxGQ2EESQs7G NvxgXot+96inKKV4uP+chli1oybnJ8815Ra1e1dzh5osCXqsaUuq8B9hqE9oYJV5c4GtwJ bpv+0HcLO/BuXrIA1mw2C6N9yhVBQ3BtO6YRcQlKGl7xHoSPgJY2A5ZMTtwn32I6GhzabN cfXxHLW7hIXXEVK7e4WifKuYCngkTQrPyNlIgfPpb/MQEXAcrrJMpAH/CmGeoQ== 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=1726752647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bi669PwAdJl70Xrw4bvoZM5GTRYXVz+xXMJ+P55Ap+g=; b=Bp/2xxIpWZU9vFMQL5eA3HEyh7TwQnerPgJA1ToRLBN4/6Rpd6QsC+OtFqgSpqT1iwEmCX 3dgNJmxu0yQDWjexH1JVxvyH3wh7gsxJMPMPTQ6VkOXmD4ZzGkxohqHr/58k8SwDBbMuUf dKuPI9+RCAN7vXxqns7rspVqBrXW05xzo1lDB5CNkMGibNSgaAv7s5x30bcO7+9S0PHxHy uD/pnyn/50Xc53ookYtivLrw2s12LW6FxvJLJuPUm8tkPPnOS3TMGWyOp8zoA0iiE7JCgn vx9l7VXq9w1ZcTRinKc5CONsDgsSXco7DHRguKVaepH02xwUB3eBLjNrMZhoTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8bxf6PBYz16n4; Thu, 19 Sep 2024 13:30: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 48JDUk40045831; Thu, 19 Sep 2024 13:30:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDUkMN045828; Thu, 19 Sep 2024 13:30:46 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:30:46 GMT Message-Id: <202409191330.48JDUkMN045828@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: f10e328cb192 - releng/14.0 - Add UPDATING entries and bump revision. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: f10e328cb1921d2f5f0253565f38e0daa667db69 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=f10e328cb1921d2f5f0253565f38e0daa667db69 commit f10e328cb1921d2f5f0253565f38e0daa667db69 Author: Gordon Tetlow AuthorDate: 2024-09-19 13:18:39 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:18:39 +0000 Add UPDATING entries and bump revision. Approved by: so --- UPDATING | 13 ++++++++++++- sys/conf/newvers.sh | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/UPDATING b/UPDATING index 89961db5fabb..b46752e16669 100644 --- a/UPDATING +++ b/UPDATING @@ -12,8 +12,19 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240919: + 14.0-RELEASE-p10 EN-24:16.pf + SA-24:15.bhyve + SA-24:16.libnv + + Fix incorrect ICMPv6 state handling in pf [EN-24:16.pf] + + Fix bhyve(8) out-of-bounds read access via XHCI emulation [SA-24:15.bhyve] + + Fix integer overflow in libnv [SA-24:16.libnv] + 20240904: - 14.2-RELEASE-p10 EN-24:15.calendar + 14.0-RELEASE-p10 EN-24:15.calendar SA-24:09.libnv SA-24:10.bhyve SA-24:11.ctl diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 3fde4ce763f6..0cf05e707063 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.0" -BRANCH="RELEASE-p10" +BRANCH="RELEASE-p11" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Sep 19 13:35:06 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8c2f6Q95z5Wcj1; Thu, 19 Sep 2024 13:35: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 4X8c2f4Fs8z48BG; Thu, 19 Sep 2024 13:35:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAX9TZyIQTUSGI2kdofMvbZBztqCx80xDYcfjv7CpFY=; b=R04sM+LwAp3wE3GxglMAAC7hFL7FBYeblXR1VvM0QIJsqPvdd+PelKxLHjYNhynaq9VEZA M1XOjv6qvwBYzHfpbDYvMLYBKmkv7STOtD+UGIDwblYOhQ/crLGmhcsmTf77EMLuKT76Rh QB5JT2L0c+g8cHz2sZAHa9UQ/Ecl8OL/FmnHiILOhPjJPo2a4PK+zSzmigqc6ems6Za0jr yib8Vfq975wvQ6KLPiE7qW0AZsU+as1krB6x6ZIqVPvvQNgQ6Jqq4RdenhUwsuTLkVRSFD JUVtOQD4PbFbK2GEHgLLI6pzpZ91cz1+bwTd1kagEUOoeaDp0nyy4kEPkrI3Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752906; a=rsa-sha256; cv=none; b=gfYCPV4bzESDUKKGEHTGytomBOmWWpJHtIyM848GJxs8qeOOD7ue0BiCLxtvk3igwPy+kK +nkWoW9EB+dlFLZ17QT4GkEKWV03iE96KDeQOSw96SPLuGTpTzjPB+vx/48/E8JPIkrDAn ejIokLZxSDOVj5F3D2jocfGDAnZQTnwg5k7egEsY6mL04L2nxnv1cA39UJOnS0xgScx2ji mICTXbxWDmK1JXuwiab9MnB09i6vRDxa4yJePyzfrcDv3oX7f/wjaBFeUS0IXRHiBlEVzz 2k9HRZc4AEQdB7IBs9yrKqzONYSQlM7EFcXxnsWetLetemszAc4hP4jSTnwqdg== 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=1726752906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAX9TZyIQTUSGI2kdofMvbZBztqCx80xDYcfjv7CpFY=; b=Q0eRQsEp59r9K3Mxsje3ulWuy+sdHGbaGGCmZytWTjeAIcxu+/MQtlo6wKyqg/5T3M72j2 avXZXIhf/jEMIiQ/wG/EOl4r9JvUc7wW+30VTEzvsqLMxSJFxeBlubVAkZVXHIXmLAAYDD LeljPxPpqyC3hD26UGoW1sISa1LPaIhFfJAN5jwKZT9gokkh7wGQyvSwEZ2UDej4VgGN9O oDd9uSyhvDoqka08naTSYaaXERYbQ7jWbL3AabCezWygCJ66lyZMWvf5gkyEfvtPvlocIQ 1mMFP31RwtJH+u4YiB8j/dSdFmj8c7wvpEz5Aidrhlizm5hl3uaO/htSzLRw7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8c2f3sCCz170b; Thu, 19 Sep 2024 13:35: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 48JDZ6QL053559; Thu, 19 Sep 2024 13:35:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDZ6Uv053556; Thu, 19 Sep 2024 13:35:06 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:35:06 GMT Message-Id: <202409191335.48JDZ6Uv053556@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: 5f035df278cc - releng/13.4 - bhyve: improve input validation in pci_xhci List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 5f035df278ccb4ac0b87ad38eb5dc20b8dfbf48e Auto-Submitted: auto-generated The branch releng/13.4 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=5f035df278ccb4ac0b87ad38eb5dc20b8dfbf48e commit 5f035df278ccb4ac0b87ad38eb5dc20b8dfbf48e Author: Pierre Pronchery AuthorDate: 2024-07-17 15:04:23 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:33:55 +0000 bhyve: improve input validation in pci_xhci Several functions did not validate the slot index resulting in OOB read on the heap of the slot device structure which could lead to arbitrary reads/writes and potentially code execution. Reported by: Synacktiv Reviewed by: markj (earlier), jhb Approved by: so Approved by: re (cperciva) Security: FreeBSD-SA-24:15.bhyve Security: CVE-2024-41721 Security: HYP-02 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45996 (cherry picked from commit e72d86ad9c62c8054d7977a71f08e68ef755c132) (cherry picked from commit 419da61f8203ac475550ae4b0971dbef10f811f2) (cherry picked from commit 2abd2ad648994e8444f479e54773a36311f522e5) --- usr.sbin/bhyve/pci_xhci.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 93161affd732..06c71a6643a6 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -579,7 +579,7 @@ pci_xhci_get_dev_ctx(struct pci_xhci_softc *sc, uint32_t slot) uint64_t devctx_addr; struct xhci_dev_ctx *devctx; - assert(slot > 0 && slot <= XHCI_MAX_DEVS); + assert(slot > 0 && slot <= XHCI_MAX_SLOTS); assert(XHCI_SLOTDEV_PTR(sc, slot) != NULL); assert(sc->opregs.dcbaa_p != NULL); @@ -852,7 +852,10 @@ pci_xhci_cmd_disable_slot(struct pci_xhci_softc *sc, uint32_t slot) if (sc->portregs == NULL) goto done; - if (slot > XHCI_MAX_SLOTS) { + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; goto done; } @@ -888,6 +891,14 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) DPRINTF(("pci_xhci reset device slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); if (!dev || dev->dev_slotstate == XHCI_ST_DISABLED) cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; @@ -896,6 +907,10 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* slot state */ dev_ctx->ctx_slot.dwSctx3 = FIELD_REPLACE( @@ -956,8 +971,20 @@ pci_xhci_cmd_address_device(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: address device, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1018,6 +1045,14 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, DPRINTF(("pci_xhci config_ep slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1031,6 +1066,10 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* number of contexts */ dev_ctx->ctx_slot.dwSctx0 = FIELD_REPLACE( @@ -1137,11 +1176,19 @@ pci_xhci_cmd_reset_ep(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; - type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); + type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (type == XHCI_TRB_TYPE_STOP_EP && (trb->dwTrb3 & XHCI_TRB_3_SUSP_EP_BIT) != 0) { /* XXX suspend endpoint for 10ms */ @@ -1226,6 +1273,14 @@ pci_xhci_cmd_set_tr(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1324,8 +1379,20 @@ pci_xhci_cmd_eval_ctx(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot; in this emulation, slot_id = address */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: eval ctx, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1554,8 +1621,9 @@ pci_xhci_xfer_complete(struct pci_xhci_softc *sc, struct usb_data_xfer *xfer, dev = XHCI_SLOTDEV_PTR(sc, slot); devep = &dev->eps[epid]; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); - - assert(dev_ctx != NULL); + if (dev_ctx == NULL) { + return XHCI_TRB_ERROR_PARAMETER; + } ep_ctx = &dev_ctx->ctx_ep[epid]; From nobody Thu Sep 19 13:35:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8c2h02CGz5Wcqm; Thu, 19 Sep 2024 13:35: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 4X8c2g5DTjz483x; Thu, 19 Sep 2024 13:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8cqpVVmNlFLG2SS0BGmU0q9n8mKiHNc5ZTTk82VFWX0=; b=g7bJAHEj6m7p+5gZWrOIrrxuNDeAxXlop5I5JDY0Z6dUwg5TcNes/OH7tpEJUgl593s6ES J7O1RA8IbPWVOWXpNipkzXBRbrUDb6VQZ1FoHqWKeeZNQ6h/O1cbSL+TNay9RdUwJHMBCp mAflXQGED9vWAbUAq2HdBw1mMwN+byqUbDJ8JVHXKr3yTNTqWTEOl2+Iq/sU198JsbRPlG 71cqcxeVOPVZQepGjbiZ1OucYM8UrBZ+4m3RHnzH55sbIaht1u61PkZE3MyJ+n7acUTz8h NeF6gN1sTuCrZJxGOodrdJIPxMrFjZrGv1BjS1EPioRHnjN6xssspRcFnsDtUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752907; a=rsa-sha256; cv=none; b=wEZY2rh3+k+E4/IAUyda+X3O5aakCmEszmDR3HQK2JTHHGs1so2mVyLXm6OzEuAkaRirtp GgFb1UUhnPTDdss5qUvfVLDAi2hkCeh2GTsSc79gn+mysu3OUCz+XjIVp89fdmJKuxbAO3 NttHQKnIgZJf8bTsgzve66C+cb6cDelnhWdZq9PQ1RYq+K93W1HiXsDFI7aNPJM/I4R4g7 yqv0MCRKBFJDjcRWBm/weAQKn8oKBw+Vs5JO434k7bOs7S1CX6keM7DUrtCleRt6zODgkq CWtIfVYaXVY2Rrpae+J4klOVlIN3J1h0xF0W8iNLMi+D/O2Xy9J93yVrq2j3Nw== 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=1726752907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8cqpVVmNlFLG2SS0BGmU0q9n8mKiHNc5ZTTk82VFWX0=; b=mYEzdpj3J8vh1DA/OOQrNKtvotBn/4IDxkJo6eqU/eRj3sTlIsds22I0T6f1Z286uH0zl5 bwim5Rt8BENkAOZ0p1f5Sqa6/sZAaizJeRTGreqVwTHXGKABRkiyjs9vqvLBfgy8GAmI1v uURlwMz7mS0hPexrIILeYPwliKQYAcxvdZei6NqYNOqaja0FECB0s/AABYZLKb2CMIQO7b MEKszg5+CyyzFv8T0/vIY9b/BbiRZP/9HKCf73A/N7dLuwq3rozYuSkG3b8iHO/2TN7bWG E/PrnlehvJxDaqGsnNxJ/NmbgHzEM62B/RBxWx0ankTXH0STHPdkuIORgKSfFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8c2g4qYWz170c; Thu, 19 Sep 2024 13:35: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 48JDZ76D053610; Thu, 19 Sep 2024 13:35:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDZ7cq053607; Thu, 19 Sep 2024 13:35:07 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:35:07 GMT Message-Id: <202409191335.48JDZ7cq053607@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: 2cffa6354d9f - releng/13.4 - libnv: correct the calculation of the structure's size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.4 X-Git-Reftype: branch X-Git-Commit: 2cffa6354d9f9180b865a5bc210ab78f9f8ec00b Auto-Submitted: auto-generated The branch releng/13.4 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=2cffa6354d9f9180b865a5bc210ab78f9f8ec00b commit 2cffa6354d9f9180b865a5bc210ab78f9f8ec00b Author: Mariusz Zaborski AuthorDate: 2024-09-11 14:43:43 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:34:07 +0000 libnv: correct the calculation of the structure's size Reported by: Milosz Kaniewski Approved by: so Approved by: re (cperciva) Security: FreeBSD-SA-24:16.libnv Security: CVE-2024-45287 (cherry picked from commit 7f4731ab67f1d3345aee6626eb83cc5ce00010f0) (cherry picked from commit 056c50c48be3e3828ef740d2fcce988a545e52aa) (cherry picked from commit d84fced6b468a637b5a47bad747730fa344d68d8) --- sys/contrib/libnv/nvlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index e399d610a7ce..6934da0df00a 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1029,7 +1029,7 @@ static bool nvlist_check_header(struct nvlist_header *nvlhdrp) { - if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(nvlhdrp)) { + if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { ERRNO_SET(EINVAL); return (false); } From nobody Thu Sep 19 13:35:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8c2j1XNTz5Wd3Y; Thu, 19 Sep 2024 13:35: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 4X8c2h6sZrz47rv; Thu, 19 Sep 2024 13:35:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jrlutHng9IgeLlw92X9ofNeo59nWbMOjOi+P84XwtI=; b=Ang/HTC4yKnx4zDIYpaMceeZgg5SP46YRKi502IfeuST+00u+fM+0u0jlo7vWKn8t3NOn5 X1pEDdXhe9ooDT/hNESzmO0myWuXud/jBjTprONMkEoFfyho+oSnps3fYik+gvXwEd4/99 t9GzDd/0QR/e0orHECVkJsL1nfMLWp1bCivHPcIl+bC9M7wqgegHLzP3CEbBwL9T3HkhIU aJYyURcN0g5yf6K+6IW/SI+5Rk5PYeTfsmvqPtO72leLY0YYtgd7fS96bcqlia5hHv7sc8 oO7wtMUladIea4KB/qo3rjh8STB+jbkocv27nykW9NsDOmhzdQSH9VjHNMs/qQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752909; a=rsa-sha256; cv=none; b=OA1L3i7dponNqsNhuaaWeVk3eI5jwaZou5Uos26ObpDfze6Z3K4SwZzz0KwEDa/YrJv1G2 Vfg/8ZSiDmR/0PNxTMS3mi5W6FWuyEslOeqs/74eRXbfseh0waGFQeHSzX5fmlJBEtmavD X/vRfCKqGLEqvjmDSFKJMmCk7LcWERjUFTU1MYoCMdLInuLQi+Q2b11iR2y3i9Mj/ZyPK+ Wh7M9NcCUzMkvuw3+LcKmqUNTaOpf2993zVEyz2QVlxuW6wEmHSwOQQfqfTQxxC2+RUyBo X7qh+6WvLf1MuyrE0OwVNyY21QjDM7phmWA9zdeVseCoi5D3xx7OI5k1Y7zuVA== 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=1726752909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jrlutHng9IgeLlw92X9ofNeo59nWbMOjOi+P84XwtI=; b=FMC9PyzIen6YnoZVOP1mq9vNAyVwkR2NiDiSXp6xdWHh3orVjnfhwsH/0Ulf44xy0ZPac8 lYn5mWKf8sYmiXwF2CkaCoaVoZhxY3k4jXu3xiSMHuQl9qr+TW4GHafCZ/z4lsLmVuNHRO eE6stp/sCQmLpVgaLvFSqKhUK7DERl7UuU5TzOfvlAtY7J0fEAU12NLyG/GuossyCrpZ0h xuH0ktaHz5S3nIc6MWya8bPNqzDv74A+fgrW5H1+8gaMa9MSWPdtzlcXbVFpeffzjlJKOs hFoOBiQq1YUa58j9J7/MwU2+O/NxTIDSENGIOy/1z37O8p6WeSRuh23ozKxt1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8c2h5qYzz178F; Thu, 19 Sep 2024 13:35: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 48JDZ82P053664; Thu, 19 Sep 2024 13:35:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDZ8cj053661; Thu, 19 Sep 2024 13:35:08 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:35:08 GMT Message-Id: <202409191335.48JDZ8cj053661@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: bc3877972ebd - releng/13.4 - Add UPDATING entries and bump revision. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.4 X-Git-Reftype: branch X-Git-Commit: bc3877972ebd569804a7843535fcf18b676ea1ec Auto-Submitted: auto-generated The branch releng/13.4 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=bc3877972ebd569804a7843535fcf18b676ea1ec commit bc3877972ebd569804a7843535fcf18b676ea1ec Author: Gordon Tetlow AuthorDate: 2024-09-19 13:18:55 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:34:16 +0000 Add UPDATING entries and bump revision. Approved by: so Approved by: re (cperciva) --- UPDATING | 8 ++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 3080a1e5b420..df70c7ce5904 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,14 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240919: + 13.4-RELEASE-p1 SA-24:15.bhyve + SA-24:16.libnv + + Fix bhyve(8) out-of-bounds read access via XHCI emulation [SA-24:15.bhyve] + + Fix integer overflow in libnv [SA-24:16.libnv] + 20240917: 13.4-RELEASE. diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index dd9ff3795158..5d096d99c9aa 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.4" -BRANCH="RELEASE" +BRANCH="RELEASE-p1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Sep 19 13:35:37 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8c3F50zgz5Wd7m; Thu, 19 Sep 2024 13:35: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 4X8c3F27jBz49m0; Thu, 19 Sep 2024 13:35:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bbDql1CZxqYQpUEtFXHeACyKrSI4WD2HyXVpJiKX5xM=; b=daSyV4FeeBFYYScNPfo8VHDr6qgt+MgKVuie1xugwDqYeVU08+3HOy1zIXRfQNk36xXB2s nKCj5s/rmUwfk6816uhFtUHM2eZQlDWbwMtOSK14Jcbl3rgP0/0fViE6L/ldtMHosjOyZU XQfxDyTGVQZT2IG4yZTfvXwk+FNRL3myAMUftZ5IVYHovZxU7XANdWkuHHZpBpxLYeZmel rI8RcfxtTZQNSs+8a31rm89YDI1LLu3jWgerkdI1FoRTOqupsgPn5DrLiBDWBDBc8ix6X5 +vjrPWHmCYl4J4ER8Luh89nJiLz0uUyuq/JkZQlYYXud9BdmHVuaAdBv7VkBXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752937; a=rsa-sha256; cv=none; b=w1GBnSh4UiUgIrlLGJKLHa75X0M6ZKUrccutP8wWb53UIQC7Y4ajOWRyeVvUJMsy9iUzqc 8SZwE4EzL5gOO/j05XuK4Olu236thLr7+iOmWqA/jiw/l+esg5CNMQmzvfdnqvBtPi8aOk ti+buorXPFhGpXMV3gXrYaC0E0/IgvTz4aD0klBPgNXBuSTaHE+/l15/2lk6ez8qbTyI0u zq8qqUACjIA19tAutgu1y4G/EUV7mBF05azwpUxWad3NcpMCLOU4onLc4wb0X20XDOyck5 TNEjQuY19ehESYRFOUO76QC5R0Q9uDPG3bJlnmKygXFYNzFeWmejdwAS3s2qYA== 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=1726752937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bbDql1CZxqYQpUEtFXHeACyKrSI4WD2HyXVpJiKX5xM=; b=cixWk6P2RxdOUlmh/C9zCaK6uG7YF5Y4U89o809BZ07DTDZcQaCI76TPcuutyjgEYtSDxE sktbK+Soi4pN6j4yKgrhI58fxzyOUjYSFluDqUPRg0abX59olLXuJoikNvRnAQtiv0nNwm faPNUPrF0bkwtjNY2MFRPkCUJafM8ftgbP2legYFvbWw+cUgdY5IciipT0a3xJWQJUeMaB gAsGWZt/Ia6UrYDBarV0EZMjNjS8OX1D0oTKfTK+FNIrywqmWg8c9OnIpRjmjP7xQdb5UA L7bpFTAwokQHHDABBOiiwxp85fAirEGFlGyMDpBAwTRKS/5v+OkWaRBTnFh8EQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8c3F1l3Kz16sm; Thu, 19 Sep 2024 13:35: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 48JDZb9E053877; Thu, 19 Sep 2024 13:35:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDZbJN053874; Thu, 19 Sep 2024 13:35:37 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:35:37 GMT Message-Id: <202409191335.48JDZbJN053874@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: e7a790dc3ffe - releng/13.3 - bhyve: improve input validation in pci_xhci List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: e7a790dc3ffe1f2aa2b40b0d21a6f80be9915679 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=e7a790dc3ffe1f2aa2b40b0d21a6f80be9915679 commit e7a790dc3ffe1f2aa2b40b0d21a6f80be9915679 Author: Pierre Pronchery AuthorDate: 2024-07-17 15:04:23 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:09:47 +0000 bhyve: improve input validation in pci_xhci Several functions did not validate the slot index resulting in OOB read on the heap of the slot device structure which could lead to arbitrary reads/writes and potentially code execution. Reported by: Synacktiv Reviewed by: markj (earlier), jhb Approved by: so Security: FreeBSD-SA-24:15.bhyve Security: CVE-2024-41721 Security: HYP-02 Sponsored by: The Alpha-Omega Project Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45996 (cherry picked from commit e72d86ad9c62c8054d7977a71f08e68ef755c132) (cherry picked from commit 419da61f8203ac475550ae4b0971dbef10f811f2) (cherry picked from commit 2abd2ad648994e8444f479e54773a36311f522e5) --- usr.sbin/bhyve/pci_xhci.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_xhci.c b/usr.sbin/bhyve/pci_xhci.c index 93161affd732..06c71a6643a6 100644 --- a/usr.sbin/bhyve/pci_xhci.c +++ b/usr.sbin/bhyve/pci_xhci.c @@ -579,7 +579,7 @@ pci_xhci_get_dev_ctx(struct pci_xhci_softc *sc, uint32_t slot) uint64_t devctx_addr; struct xhci_dev_ctx *devctx; - assert(slot > 0 && slot <= XHCI_MAX_DEVS); + assert(slot > 0 && slot <= XHCI_MAX_SLOTS); assert(XHCI_SLOTDEV_PTR(sc, slot) != NULL); assert(sc->opregs.dcbaa_p != NULL); @@ -852,7 +852,10 @@ pci_xhci_cmd_disable_slot(struct pci_xhci_softc *sc, uint32_t slot) if (sc->portregs == NULL) goto done; - if (slot > XHCI_MAX_SLOTS) { + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; goto done; } @@ -888,6 +891,14 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) DPRINTF(("pci_xhci reset device slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); if (!dev || dev->dev_slotstate == XHCI_ST_DISABLED) cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; @@ -896,6 +907,10 @@ pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot) dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* slot state */ dev_ctx->ctx_slot.dwSctx3 = FIELD_REPLACE( @@ -956,8 +971,20 @@ pci_xhci_cmd_address_device(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: address device, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1018,6 +1045,14 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, DPRINTF(("pci_xhci config_ep slot %u", slot)); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1031,6 +1066,10 @@ pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot, dev->hci.hci_address = 0; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } /* number of contexts */ dev_ctx->ctx_slot.dwSctx0 = FIELD_REPLACE( @@ -1137,11 +1176,19 @@ pci_xhci_cmd_reset_ep(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; - type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); + type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); + if (type == XHCI_TRB_TYPE_STOP_EP && (trb->dwTrb3 & XHCI_TRB_3_SUSP_EP_BIT) != 0) { /* XXX suspend endpoint for 10ms */ @@ -1226,6 +1273,14 @@ pci_xhci_cmd_set_tr(struct pci_xhci_softc *sc, uint32_t slot, cmderr = XHCI_TRB_ERROR_SUCCESS; + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + dev = XHCI_SLOTDEV_PTR(sc, slot); assert(dev != NULL); @@ -1324,8 +1379,20 @@ pci_xhci_cmd_eval_ctx(struct pci_xhci_softc *sc, uint32_t slot, goto done; } + if (slot == 0) { + cmderr = XHCI_TRB_ERROR_TRB; + goto done; + } else if (slot > XHCI_MAX_SLOTS) { + cmderr = XHCI_TRB_ERROR_SLOT_NOT_ON; + goto done; + } + /* assign address to slot; in this emulation, slot_id = address */ dev_ctx = pci_xhci_get_dev_ctx(sc, slot); + if (dev_ctx == NULL) { + cmderr = XHCI_TRB_ERROR_PARAMETER; + goto done; + } DPRINTF(("pci_xhci: eval ctx, dev ctx")); DPRINTF((" slot %08x %08x %08x %08x", @@ -1554,8 +1621,9 @@ pci_xhci_xfer_complete(struct pci_xhci_softc *sc, struct usb_data_xfer *xfer, dev = XHCI_SLOTDEV_PTR(sc, slot); devep = &dev->eps[epid]; dev_ctx = pci_xhci_get_dev_ctx(sc, slot); - - assert(dev_ctx != NULL); + if (dev_ctx == NULL) { + return XHCI_TRB_ERROR_PARAMETER; + } ep_ctx = &dev_ctx->ctx_ep[epid]; From nobody Thu Sep 19 13:35:38 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8c3G3l22z5Wcfl; Thu, 19 Sep 2024 13:35: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 4X8c3G2wHvz49rc; Thu, 19 Sep 2024 13:35:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4LnjSTVxTKdhAFcvbuWRnkPkfzd3x4WDmV2+puzy+s=; b=xN/EIfDiJxwDMPl4QeMWSssQUTmAR3qYqzHwe8odUQkgjAXapduAE2+w16MWQmjDgP9rQi i1DoFKP5uhJzcYNx/82wnswCwwJcmR5mrLcrlHIZoRD8zRnarw6rtTBdYopbfH8Zw7TuC7 I3cKodotkZHnzR9cAuua8DydjpMS3pseO0Cl8mcSDtCEKfAz9YZ7b/wOjqsXQdVJmX4eSE oeMALzP9NUgefyuzeHmNrN3IhtqlpcASa2Iw9124aOmu/R9Q0Gv1QvFUMt3G+IpFSxj8tZ 54e71PjPRnw/7Xr+f3mHxwhYhIjqxj2qaE8x8woqHV8JGMnCXAC26r42hlBnuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752938; a=rsa-sha256; cv=none; b=ekqpOBhd2MC2FgD/AaUmO9E11f4GbaJ4qBggHfrhEvCR4SU6QZMli1c6ya6689eVKjFBJY qIvlfu7jwxOba42XLRmwo4C+z49I2v55JRsY1FKSGi/a9/+U3egwuSdkBsFIa2Ou9fXrQX Pm/IdFjScl6ZSxrFpoLaFadagLd9RUGIi/WLfqjxj9hhMHbKFzp6LhLGmooAYAc0FNzWRa QxbQAWhGTRlUehlYwZrbm8bxemtqpK2ARopcAxbNpxHHoTdnqb9iwVYwDZxWuvE7zbsxYw AQh8DJvgI7c0dO3KenpCdMXPjGTDi1yHIqhUSIUL1gt/pnzKiEOkWzaz6li/XQ== 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=1726752938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4LnjSTVxTKdhAFcvbuWRnkPkfzd3x4WDmV2+puzy+s=; b=QUq0OeRuJi4oXnGB1jQd4jqTwc39c2eHMJ3SxtM0b1IiYbNV0fyBIkZ9YrwQpAYx4KR8gs rM4pdS6XJ6PAfQSNtWzkbVImYRAVbRANEbunQVftCRntNOEG7Mz0phBiwN9iFvKonbIC9R wJyDf8DttYpmwQhUV48D7HGMHeMiimUFcQcQz/VPjlWQ/XzUoTQG2lHwgczVOjq+nAgQ9W HLBbHl8jQuPiVdl7Q65tQGUYpkWzms1bQyH1RgTIL/LuKqNk2dxeSbT8FIBrN9i+gchrS4 ythX1b+R9JhSjrMmcpv/lLa3avNkqf5FYUG+U6dxZq7s1sIKlGMzwQUfVu9Y6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8c3G2X37z170d; Thu, 19 Sep 2024 13:35: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 48JDZcxt053931; Thu, 19 Sep 2024 13:35:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDZcmL053928; Thu, 19 Sep 2024 13:35:38 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:35:38 GMT Message-Id: <202409191335.48JDZcmL053928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: 417e81a40091 - releng/13.3 - libnv: correct the calculation of the structure's size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 417e81a40091f7744c55139bfcad093c75426229 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=417e81a40091f7744c55139bfcad093c75426229 commit 417e81a40091f7744c55139bfcad093c75426229 Author: Mariusz Zaborski AuthorDate: 2024-09-11 14:43:43 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:12:37 +0000 libnv: correct the calculation of the structure's size Reported by: Milosz Kaniewski Approved by: so Security: FreeBSD-SA-24:16.libnv Security: CVE-2024-45287 (cherry picked from commit 7f4731ab67f1d3345aee6626eb83cc5ce00010f0) (cherry picked from commit 056c50c48be3e3828ef740d2fcce988a545e52aa) (cherry picked from commit d84fced6b468a637b5a47bad747730fa344d68d8) --- sys/contrib/libnv/nvlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index e399d610a7ce..6934da0df00a 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1029,7 +1029,7 @@ static bool nvlist_check_header(struct nvlist_header *nvlhdrp) { - if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(nvlhdrp)) { + if (nvlhdrp->nvlh_size > SIZE_MAX - sizeof(*nvlhdrp)) { ERRNO_SET(EINVAL); return (false); } From nobody Thu Sep 19 13:35:39 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8c3J0DjHz5WcpZ; Thu, 19 Sep 2024 13:35: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 4X8c3H4Cbnz49pD; Thu, 19 Sep 2024 13:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726752939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t88yxeL1xUotzXE59NVWm+EO0Z8/LVFPNFKCmX++NtI=; b=MatkMs5+m1wmGbZXd1ZXi4cvwRsHGY5EvHjllyvXNJHq5fabFrJTjsiqKctYSIqGe1tpjB IfzZgljJ5pZugQshORCWf3avTCdA+svZpZA4Y8UnYQtIw1Cs4eqFrCl/HsLCDp8CzLKN4S RM6cG63+GBN0CXDCEyJGRJyLQDaoiyoH8hN4kSiKhWiEH2r1GWcIPAgqEq6gm8HCG0rlBE 9FNm9WArPVruHTXCO0jwwAonnHdQscJUJtJhvEP3UeM4JSIE5mnfVF3e7EN4mfsvD4ubmI mb8/FwKT72MICqtw1qXuz4Fubx4NwRDZ4AIefy7Gyee3qGTc2jZFB1uBCgUCAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726752939; a=rsa-sha256; cv=none; b=F3VTtTcZQ/PZ8AumssnUA5nFxWzi5s/uzCt083KAXxwq84H6yysLxgimEGEhmZrmWLujdC TUnZGX7wAArY0KGvJEu0xOLbiMRmXle1unYeyYnBuZauZdFjAMxL9PKlUtQgUL0p05iLjD HcbC1McCoU6l6UPq0hXC/H1OIyM3F3tE2fhpi+8tWcgNQpzivsGSZNtgfpMw2tq9QRa839 9DyXWhhJBUuPNMoKlS4qt65EuQErTzf1sQ0+LmVxH66h5xsrgN02055gnpNkofNy42nzbO j3de+c3TWYheqSsqXgAQKr6/hM2IGhzcSBqTzD8G+Lx77nF6s0WGnBjkAHVvvg== 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=1726752939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t88yxeL1xUotzXE59NVWm+EO0Z8/LVFPNFKCmX++NtI=; b=KpTVzRUea6yOjoA8/iNRVnLZY3PTscpkaO4O+XxS53adpR38zQ+AV27OoucGTC78GgRE91 rMLtcn4NmfVqDxcYEkqPDY8Ck2DlZIMeWhgn8VE/OCt2F5PUbWrBoirZbLJ9jBRKSW+PI+ kzciQfYijYhommvN6fuMoQLwAiQFwvYgoXMj9IHu8+Ox8nIWvKdskKOs02+AujcY8O2Ill FfmCutbMHadHqzVvfLV+9PsrpPHPs+BHc9SMcnAk16lbmtnBP5tuNaJ42FgH6ou4nwECap 1Z3Kdhqz7kXqSpEWr6jjxW9oDE49uMXkg+YPBkUbWq4oJY74o+VDbeVupcJEIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8c3H3rJfz170f; Thu, 19 Sep 2024 13:35: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 48JDZdLJ053976; Thu, 19 Sep 2024 13:35:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JDZdmk053973; Thu, 19 Sep 2024 13:35:39 GMT (envelope-from git) Date: Thu, 19 Sep 2024 13:35:39 GMT Message-Id: <202409191335.48JDZdmk053973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: c31be7380af7 - releng/13.3 - Add UPDATING entries and bump revision. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: c31be7380af7fe71392dd4a1a853780143038ce5 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=c31be7380af7fe71392dd4a1a853780143038ce5 commit c31be7380af7fe71392dd4a1a853780143038ce5 Author: Gordon Tetlow AuthorDate: 2024-09-19 13:19:04 +0000 Commit: Gordon Tetlow CommitDate: 2024-09-19 13:19:04 +0000 Add UPDATING entries and bump revision. Approved by: so --- UPDATING | 11 +++++++++++ sys/conf/newvers.sh | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index d062be76c45c..56a2afbd487a 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,17 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240919: + 13.3-RELEASE-p7 EN-24:16.pf + SA-24:15.bhyve + SA-24:16.libnv + + Fix incorrect ICMPv6 state handling in pf [EN-24:16.pf] + + Fix bhyve(8) out-of-bounds read access via XHCI emulation [SA-24:15.bhyve] + + Fix integer overflow in libnv [SA-24:16.libnv] + 20240904: 13.3-RELEASE-p6 EN-24:15.calendar SA-24:09.libnv diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index e5e1d3897a35..6985018b0afe 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.3" -BRANCH="RELEASE-p6" +BRANCH="RELEASE-p7" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Thu Sep 19 18:54:31 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8l7C5Dwcz5X7RL; Thu, 19 Sep 2024 18:54: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 4X8l7C4S4Lz4JlF; Thu, 19 Sep 2024 18:54:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726772071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8FpBJgotnt7SZeHgpR0fr39WSCjTaq9Q0nINM4y9SgU=; b=T0ZkOEVvJko6GG66o7yNxNQ40ZDU0d+dRfYAvHMXxsv6x5yHV7GFrAYqpX4rMFc3k797qQ /E9gx4OLpNDZpLp5PU0Per8BWBoifAE5iRQtVyEfMEtiED1pLCcz+PgmM3YIAk4j3N1wcv T2xs/yB+0flaxl/hCJ20ciOZ3E31FKYsGKc9YTS+OChQjAQusCmzRGKMXzRuzfgwkLKfHt Q8SDliYT4PnNuetAvrjgscQy+arlPBqtwyd2hlj39GcXTw2NqFqRkL7mMqq9z+JlRQRzA8 La9QqNBabbr+zWBRZg7JjPoE2l940RrmBLzSDKf5NOsz39oMem/UJMDOuCkz0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726772071; a=rsa-sha256; cv=none; b=KOcLv4PYTBTqWFOsKpj+FbMYdhBHP+Q+lYPfrj6qMVs0t989L/Utc5c/VV36O045upfT5o d3QBEM1cUAnxepYKEiMd+TRP7dN/Frw09nKv4SYWUts/kIAzwIiJnhV72WbIcA8XKMd3j1 l260E47m58/3jQbxhdmvdaEqOcGJmCtuVbJa/AYL2hNyxVs7xnXGAl2GyvmYNTFFgp8emT 7vmjTPQQ7SIqH6jrN37Jr9OtmeRiu+n/xiqtzY3P0BDe/IQoYgOIvQKNIIDi71HTN2R33I sVQnkAlo18rBu9RXVSN1wvApC75AxaAprjHfuX/efOPzATvNsGBSZqeL9RVP0Q== 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=1726772071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8FpBJgotnt7SZeHgpR0fr39WSCjTaq9Q0nINM4y9SgU=; b=WkC0YZGZTNg/66fkf/v/Z8RK2HlNrBz2WAHtPDgAWEbbxb3Mz5rMaGOif4sAHfI7osqF8n ihB4AobjuBA1kXTGLNYcslXVZiGt8aPvsthoGKQbiAuuMmkuU6LLcY+nobY5/qlJMXTDDF ByGQrKFp2qrngu52tjos5o1fqEUq9sk5i9gr2KEaJXNnBSBlrgnFIzZwh6p2oHWp2F1e1H 0RkxS5tgU5ztSVh6MpwCq0gSQohxRmk2NHWq0cU87R04mKevXLgdO7TBJ+PVq5pP3EiIPE 78jAU1d7k1q1rn4//xhDYaADpXfAdc2R7+Hg9SPr4eWOSaZgw6nwEMmR0aGk1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8l7C43B0zHSK; Thu, 19 Sep 2024 18:54: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 48JIsVYs096596; Thu, 19 Sep 2024 18:54:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JIsVZH096593; Thu, 19 Sep 2024 18:54:31 GMT (envelope-from git) Date: Thu, 19 Sep 2024 18:54:31 GMT Message-Id: <202409191854.48JIsVZH096593@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 624a521c1885 - stable/14 - ctladm.8: fix several errors in the "port" section List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 624a521c1885f58690ac9291f10d7b9f9545f219 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=624a521c1885f58690ac9291f10d7b9f9545f219 commit 624a521c1885f58690ac9291f10d7b9f9545f219 Author: Alan Somers AuthorDate: 2024-06-05 20:13:04 +0000 Commit: Alan Somers CommitDate: 2024-09-19 18:53:44 +0000 ctladm.8: fix several errors in the "port" section * Document the "-d" option. * Add the "-c" and "-r" options to the summary. * Correct the list of required options. * Clarify that the "-t" option is only for use with "-o", "-w", and "-W" * Replace references to the nonexistent "-n" with "-p". Also, fix a few related error strings in the ctladm command. Sponsored by: Axcient Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D45503 (cherry picked from commit 60107d23d8f2c05f418c024000a31a6148d2f7de) --- usr.sbin/ctladm/ctladm.8 | 32 ++++++++++++++++++++++++++++---- usr.sbin/ctladm/ctladm.c | 7 ++++--- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/usr.sbin/ctladm/ctladm.8 b/usr.sbin/ctladm/ctladm.8 index ba2712cb278c..4e7288dac6b6 100644 --- a/usr.sbin/ctladm/ctladm.8 +++ b/usr.sbin/ctladm/ctladm.8 @@ -35,7 +35,7 @@ .\" .\" $Id: //depot/users/kenm/FreeBSD-test2/usr.sbin/ctladm/ctladm.8#3 $ .\" -.Dd December 27, 2023 +.Dd June 5, 2024 .Dt CTLADM 8 .Os .Sh NAME @@ -162,6 +162,7 @@ .Nm .Ic port .Op Fl c +.Op Fl d Ar driver .Op Fl o Ar on|off .Op Fl w Ar wwpn .Op Fl W Ar wwnn @@ -591,6 +592,10 @@ The serial number is returned when the error is injected. Perform one of several CTL frontend port operations. Either get a list of frontend ports .Pq Fl l , +create a new frontend port +.Pq Fl c , +destroy a frontend port +.Pq Fl r , turn one or more frontends on or off .Pq Fl o Ar on|off , @@ -600,6 +605,8 @@ or World Wide Port Name .Pq Fl W Ar wwpn for a given port. One of +.Fl c , +.Fl r , .Fl l , .Fl o , or @@ -612,6 +619,18 @@ combined with enabling/disabling or listing ports. .Bl -tag -width 12n .It Fl c Create new frontend port using free pp and vp=0. +.It Fl d Ar driver +Specify the name of the frontend driver used by the +.Pq Fl c +or +.Pq Fl r +subcommands. +Valid driver names include +.Dq ioctl , +.Dq iscsi , +and +.Dq nvmf , +but more can be added by external kernel modules. .It Fl o Ar on|off Turn the specified CTL frontend ports on or off. If no port number or port type is specified, all ports are turned on or @@ -626,7 +645,12 @@ The port numbers can be found in the frontend port list. Remove port specified with .Pq Fl p Ar targ_port . .It Fl t Ar fe_type -Specify the frontend type. +Specify the frontend type used by the +.Pq Fl o , +.Pq Fl w , +and +.Pq Fl W +subcommands. Currently defined port types are .Dq fc (Fibre Channel), @@ -640,7 +664,7 @@ and .It Fl w Ar wwnn Set the World Wide Node Name for the given port. The -.Fl n +.Fl p argument must be specified, since this is only possible to implement on a single port. As a general rule, the WWNN should be the same across all ports on the @@ -648,7 +672,7 @@ system. .It Fl W Ar wwpn Set the World Wide Port Name for the given port. The -.Fl n +.Fl p argument must be specified, since this is only possible to implement on a single port. As a general rule, the WWPN must be different for every port in the system. diff --git a/usr.sbin/ctladm/ctladm.c b/usr.sbin/ctladm/ctladm.c index 4426274fdd44..91469aef40a7 100644 --- a/usr.sbin/ctladm/ctladm.c +++ b/usr.sbin/ctladm/ctladm.c @@ -541,7 +541,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) * we'll throw an error, since that only works on one port at a time. */ if ((port_type != CTL_PORT_NONE) && (targ_port != -1)) { - warnx("%s: can only specify one of -t or -n", __func__); + warnx("%s: can only specify one of -t or -p", __func__); retval = 1; goto bailout; } else if ((targ_port == -1) && (port_type == CTL_PORT_NONE)) @@ -625,7 +625,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) } case CCTL_PORT_MODE_SET: if (targ_port == -1) { - warnx("%s: -w and -W require -n", __func__); + warnx("%s: -w and -W require -p", __func__); retval = 1; goto bailout; } @@ -674,7 +674,8 @@ bailout: return (retval); bailout_badarg: - warnx("%s: only one of -l, -o or -w/-W may be specified", __func__); + warnx("%s: only one of -c, -r, -l, -o or -w/-W may be specified", + __func__); return (1); } From nobody Thu Sep 19 20:07:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8mkz2RNJz5XJCF; Thu, 19 Sep 2024 20:07: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 4X8mkz1t9jz4SGX; Thu, 19 Sep 2024 20:07:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726776427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tW64fGPjxlHHtskdiLeQubxQyX+wW+RDf3nSDr7hW/g=; b=iFckQPPqWf4Qc1t84vfmGxAouuNmlrJZdQ0zvb3BSSFoYxrO98OXnv8VQN3ohEZhljdYvL 09PlrOXVWISS7kZXmojZFc8Mq3GW7T6wrr2Dl4xXY/obrgufD83ESAYv3vQKTFv4y/VKGw cxj/mPFXjOCz/8lhzRlMxxPENvAxuXbM1Zp2h+RmH2LA0HEMKTfuWrA+b5XhC8idYB7vg5 FsEah9RywAwIrrmusmXXhCbnrlLJPYTvVzjE6AdrLBhygNXGnrOQudHYrq54dIR7BjEJmK pPGLBWrSJ0SJ1brpCOVT2G+STqj+ion5EV1Kr5mOaQWMhL2ye/eH2l+AkkeOHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726776427; a=rsa-sha256; cv=none; b=Vtor1X/+TeRl32S5dOu5GzaDa3QuDrMsGZ1TdQbVRWot0kSF6UMrtjcEjcD/RcT7b38QGw MoiX7b9KjEw5eQWNWWX5LA4At6UbvqZ/hA6U8tDH1Qs6AvXhysi70AdrTj2G489g6uPYMD Xi7hPAfjG+Hsz5CCHZ33VD/q9K9iwWbE9/hhJ8Y/X44VzyGMJaEZnMy4KNIjMnfI9LODlX KMyh7zruqi46lbomf0WgfjYZBPtk7/0CWmdlpal2JhEQnBIQ3jCLLfxOsG9BsJSMfpMToj I5lInfDVg1lQhEVhipkWCr8qO0Z35NZvfi5sh/FnclB1srTtYdUWfeLnO3vQlQ== 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=1726776427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tW64fGPjxlHHtskdiLeQubxQyX+wW+RDf3nSDr7hW/g=; b=sb1gkMNGQ5RIgJf5FgARJ2PJBJBf0P1+Rmp25nP3Aku595ZEvj1DJdl3hCOnXj/J4aRXVg AfGts4/0+KcYCkWhOWiU7j+QK4tXSCGzRhoGoWIWjgNVrIZ848f0+lEmcPlZdjVnq5+BYF SOu+d9Uc3GqxJ6QxcLXhRk7+TkFTZkGhO6HBszwHktmarJqUJScEU7dfHD2/TLg0yTOaOb XDasCZAE/gvjWIoTjt/TPyNZULOuOXTaeit+JFBIGj2R9F6Z13hHMkfUSDM0yXG28HQ7aP Xiv4l3OuIytfqK3WZg1i42xNclGyrcEOmaVsYHMy9JcainUFFFdLL3I8r6fXbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8mkz1TMvzK3T; Thu, 19 Sep 2024 20:07: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 48JK77GJ017725; Thu, 19 Sep 2024 20:07:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JK77cL017722; Thu, 19 Sep 2024 20:07:07 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:07:07 GMT Message-Id: <202409192007.48JK77cL017722@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: bc4240ed3b23 - stable/14 - Add some ATF tests for ctladm List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bc4240ed3b232420f2f38b74ec1db0cb524a52c6 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=bc4240ed3b232420f2f38b74ec1db0cb524a52c6 commit bc4240ed3b232420f2f38b74ec1db0cb524a52c6 Author: Alan Somers AuthorDate: 2024-06-05 20:16:25 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:03:09 +0000 Add some ATF tests for ctladm So far only "ctladm port -c" and "ctladm port -r" are covered. Sponsored by: Axcient Reviewed by: mav Pull Request: https://github.com/freebsd/freebsd-src/pull/1279 (cherry picked from commit 9747d11d91642cb9b81602d88e8aebeb388543c7) Fix mtree entry for ctladm tests Sponsored by: Axcient (cherry picked from commit 81ef0a89fcc055bdf3d0f1affbadb643412ebce9) ctladm: add a copyright header to the port test [skip ci] Reported by: markj Sponsored by: Axcient (cherry picked from commit a1608e8854da7f3b5734c2fcb85dd740733a08e6) --- etc/mtree/BSD.tests.dist | 2 + usr.sbin/ctladm/Makefile | 3 + usr.sbin/ctladm/tests/Makefile | 10 +++ usr.sbin/ctladm/tests/port.sh | 180 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 195 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 9f0f59eb923d..95328d6d293f 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1175,6 +1175,8 @@ usr.sbin chown .. + ctladm + .. daemon .. etcupdate diff --git a/usr.sbin/ctladm/Makefile b/usr.sbin/ctladm/Makefile index f9ddd251f96c..69dc727deaf4 100644 --- a/usr.sbin/ctladm/Makefile +++ b/usr.sbin/ctladm/Makefile @@ -23,4 +23,7 @@ MAN= ctladm.8 CFLAGS+= -DWANT_ISCSI .endif +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include diff --git a/usr.sbin/ctladm/tests/Makefile b/usr.sbin/ctladm/tests/Makefile new file mode 100644 index 000000000000..73ac94d77d21 --- /dev/null +++ b/usr.sbin/ctladm/tests/Makefile @@ -0,0 +1,10 @@ + +PACKAGE= tests + +ATF_TESTS_SH= port + +# "ctladm port" does not report the name of the port just created, so we can't +# cleanup unless we assume that no other test created a port too. +TEST_METADATA+= is_exclusive="true" + +.include diff --git a/usr.sbin/ctladm/tests/port.sh b/usr.sbin/ctladm/tests/port.sh new file mode 100644 index 000000000000..110b89bd965b --- /dev/null +++ b/usr.sbin/ctladm/tests/port.sh @@ -0,0 +1,180 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Axcient +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS DOCUMENTATION 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. + +# Things that aren't tested due to lack of kernel support: +# * Creating camsim ports +# * Creating tpc ports +# * Creating camtgt ports +# * Creating umass ports + +# TODO +# * Creating iscsi ports +# * Creating nvmf ports +# * Creating ha ports +# * Creating fc ports + +skip_if_ctld() { + if service ctld onestatus > /dev/null; then + # If ctld is running on this server, let's not interfere. + atf_skip "Cannot run this test while ctld is running" + fi +} + +cleanup() { + driver=$1 + + if [ -e after-ports ]; then + diff before-ports after-ports | awk "/$driver/ {print \$2}" | xargs -n1 ctladm port -r -d ioctl -p + fi +} + +atf_test_case create_ioctl cleanup +create_ioctl_head() +{ + atf_set "descr" "ctladm can create a new ioctl port" + atf_set "require.user" "root" +} +create_ioctl_body() +{ + skip_if_ctld + + atf_check -o save:before-ports ctladm portlist -qf ioctl + atf_check ctladm port -c -d "ioctl" + atf_check -o save:after-ports ctladm portlist -qf ioctl + if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then + atf_fail "Did not create a new ioctl port" + fi +} +create_ioctl_cleanup() +{ + cleanup ioctl +} + +atf_test_case create_ioctl_options cleanup +create_ioctl_options_head() +{ + atf_set "descr" "ctladm can set options when creating a new ioctl port" + atf_set "require.user" "root" +} +create_ioctl_options_body() +{ + skip_if_ctld + + atf_check -o save:before-ports ctladm portlist -qf ioctl + atf_check ctladm port -c -d "ioctl" -O pp=101 -O vp=102 + atf_check -o save:after-ports ctladm portlist -qf ioctl + if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then + atf_fail "Did not create a new ioctl port" + fi + if ! egrep -q '101[[:space:]]+102' after-ports; then + ctladm portlist + atf_fail "Did not create the port with the specified options" + fi +} +create_ioctl_options_cleanup() +{ + cleanup ioctl +} + + +atf_test_case disable_ioctl cleanup +disable_ioctl_head() +{ + atf_set "descr" "ctladm can disable an ioctl port" + atf_set "require.user" "root" +} +disable_ioctl_body() +{ + skip_if_ctld + + atf_check -o save:before-ports ctladm portlist -qf ioctl + atf_check ctladm port -c -d "ioctl" + atf_check -o save:after-ports ctladm portlist -qf ioctl + if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then + atf_fail "Did not create a new ioctl port" + fi + portnum=`diff before-ports after-ports | awk '/ioctl/ {print $2}'`; + atf_check -o ignore ctladm port -o off -p $portnum + atf_check -o match:"^$portnum *NO" ctladm portlist -qf ioctl +} +disable_ioctl_cleanup() +{ + cleanup ioctl +} + +atf_test_case enable_ioctl cleanup +enable_ioctl_head() +{ + atf_set "descr" "ctladm can enable an ioctl port" + atf_set "require.user" "root" +} +enable_ioctl_body() +{ + skip_if_ctld + + atf_check -o save:before-ports ctladm portlist -qf ioctl + atf_check ctladm port -c -d "ioctl" + atf_check -o save:after-ports ctladm portlist -qf ioctl + if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then + atf_fail "Did not create a new ioctl port" + fi + portnum=`diff before-ports after-ports | awk '/ioctl/ {print $2}'`; + atf_check -o ignore ctladm port -o off -p $portnum + atf_check -o ignore ctladm port -o on -p $portnum + atf_check -o match:"^$portnum *YES" ctladm portlist -qf ioctl +} +enable_ioctl_cleanup() +{ + cleanup ioctl +} + +atf_test_case remove_ioctl +remove_ioctl_head() +{ + atf_set "descr" "ctladm can remove an ioctl port" + atf_set "require.user" "root" +} +remove_ioctl_body() +{ + skip_if_ctld + + atf_check -o save:before-ports ctladm portlist -qf ioctl + atf_check ctladm port -c -d "ioctl" + atf_check -o save:after-ports ctladm portlist -qf ioctl + if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then + atf_fail "Did not create a new ioctl port" + fi + portnum=`diff before-ports after-ports | awk '/ioctl/ {print $2}'`; + atf_check ctladm port -r -d ioctl -p $portnum +} + +atf_init_test_cases() +{ + atf_add_test_case create_ioctl + atf_add_test_case create_ioctl_options + atf_add_test_case disable_ioctl + atf_add_test_case enable_ioctl + atf_add_test_case remove_ioctl +} From nobody Thu Sep 19 20:07:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8ml043jpz5XJCH; Thu, 19 Sep 2024 20:07: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 4X8ml02n8hz4SJg; Thu, 19 Sep 2024 20:07:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726776428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GUdfKieL/0rJpCZUsbxjd4KDghUmD3ZZLUX85uun+Hk=; b=FIV9vY+8vwINuStLzkgA+9KgILu2b4TlKkwKHxNPxkl6TQTLTa9O5xqxNWct6DQH+GCOIo kkUIGAuMwoYQWPhE5ghTxdirk82GOQWsKQmdpbhLVQ/I9bIAI4qA+X1p/m7vsxfkRFrb3Y v6WkVo6HRAH9XYuHon/83XdtkXQdFoJKo2seQCXK7lfgouV0Oq++I2Vx5kcn6fv1z4XxyM kyuKHrZaX92475c/+GqlgYAEBU3UbpnRo8Zh+YJdC34xplGf3WKXx01+cItS7uMxhNcyeH 8ZrbXLj66GQ9EkeVM6ye6p8MTnTs3X2mg/n4c/yBesPEJ8AExHxzABJ2tdW3dg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726776428; a=rsa-sha256; cv=none; b=pC6k21rQwpIVtS4tuA50MYaseQCW/9Qo0eeJ8YZt95CVxgnwrVgQ2Un8WZpxvH45UgLIg1 +M8lPvTXCW9tNZZFg0+jcSNlRmps074MshQ+5uujUQgb/goewliXDlnCOGu+GqcPTR3njT /lwuD1uDUQvhdnHRR3WQzvvxpMhxJI4jY3i0z3NE4wCHCEs1GZu5ldej4poPH4SXTHdSuh +w9hQtfOWu1Cr+fYq7CuYv8A0hmDo3C+gIwk1u35gF/z0bWxSMMv5rjotQ0/XDsu1XEc7p GavytqpuIUDbstJNcS05vTqjm5n5spQBUqiwJCUawS0fuhJvVaLudQm89HZfMQ== 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=1726776428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GUdfKieL/0rJpCZUsbxjd4KDghUmD3ZZLUX85uun+Hk=; b=dW8LrD92JWIGE8cZ9KeDSkq7KUyXPLJGeJFbCaKdB0ORvpWDZeA1wQRvwnsA6RdrasKRA9 2XmWxrBvzf30+fuIdWbS9WFZJx/YV6xTmdnktSqS9KVWU2DjbAMSLfmg+uyV/lqkKAPJaD rpu8OyBbuI4ut9kVGAxKP9cwP0iSvH22ZOts/hImDEx8CXP21KaHXk0BalzMhA9fkTMPM6 51yvsmLciQ3gC46wEgb4i8D5SJmiR7BHlHnrxt/VHZ5cSmomog4/83qU/oVrznzv2zdh0M nziloXopKVS6V9G6QA4WNH+Grc7LBFGcSa1LYj5SOdrcEWSrvjWhgavT0KXYpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8ml02NqBzKcp; Thu, 19 Sep 2024 20:07: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 48JK78u3017783; Thu, 19 Sep 2024 20:07:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JK78dh017780; Thu, 19 Sep 2024 20:07:08 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:07:08 GMT Message-Id: <202409192007.48JK78dh017780@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 2217ab27adfe - stable/14 - ctladm: print port number with a succesful "port -c" command List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2217ab27adfe6febabee27399333b8cac1370f06 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=2217ab27adfe6febabee27399333b8cac1370f06 commit 2217ab27adfe6febabee27399333b8cac1370f06 Author: Alan Somers AuthorDate: 2024-06-05 23:54:46 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:03:29 +0000 ctladm: print port number with a succesful "port -c" command Make "ctladm port -c" print the port number of the newly successful port. This way it won't have to be guessed by a subsequent "ctladm portlist" command. That means it's safe to use it concurrently with other ctladm processes. In particular, this allows the tests to be run in parallel. MFC after: 2 weeks Sponsored by: Axcient Reviewed by: mav Pull Request: https://github.com/freebsd/freebsd-src/pull/1279 (cherry picked from commit 591de7534fb3acb2e6eef94a1e5e92000d2cf83d) --- usr.sbin/ctladm/ctladm.c | 18 +++++++++++ usr.sbin/ctladm/tests/Makefile | 4 --- usr.sbin/ctladm/tests/port.sh | 70 ++++++++++++++++++++---------------------- 3 files changed, 52 insertions(+), 40 deletions(-) diff --git a/usr.sbin/ctladm/ctladm.c b/usr.sbin/ctladm/ctladm.c index 91469aef40a7..a7e2fb05ddb8 100644 --- a/usr.sbin/ctladm/ctladm.c +++ b/usr.sbin/ctladm/ctladm.c @@ -392,7 +392,9 @@ static struct ctladm_opts cctl_fe_table[] = { static int cctl_port(int fd, int argc, char **argv, char *combinedopt) { + char result_buf[1024]; int c; + uint64_t created_port = -1; int32_t targ_port = -1; int retval = 0; int wwnn_set = 0, wwpn_set = 0; @@ -582,6 +584,8 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) case CCTL_PORT_MODE_CREATE: { bzero(&req, sizeof(req)); strlcpy(req.driver, driver, sizeof(req.driver)); + req.result = result_buf; + req.result_len = sizeof(result_buf); if (port_mode == CCTL_PORT_MODE_REMOVE) { req.reqtype = CTL_REQ_REMOVE; @@ -614,6 +618,20 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) warnx("warning: %s", req.error_str); break; case CTL_LUN_OK: + if (port_mode == CCTL_PORT_MODE_CREATE) { + req.result_nvl = nvlist_unpack(result_buf, req.result_len, 0); + if (req.result_nvl == NULL) { + warnx("error unpacking result nvlist"); + break; + } + created_port = nvlist_get_number(req.result_nvl, "port_id"); + printf("Port created successfully\n" + "frontend: %s\n" + "port: %ju\n", driver, + (uintmax_t) created_port); + nvlist_destroy(req.result_nvl); + } else + printf("Port destroyed successfully\n"); break; default: warnx("unknown status: %d", req.status); diff --git a/usr.sbin/ctladm/tests/Makefile b/usr.sbin/ctladm/tests/Makefile index 73ac94d77d21..825e38e6c6e3 100644 --- a/usr.sbin/ctladm/tests/Makefile +++ b/usr.sbin/ctladm/tests/Makefile @@ -3,8 +3,4 @@ PACKAGE= tests ATF_TESTS_SH= port -# "ctladm port" does not report the name of the port just created, so we can't -# cleanup unless we assume that no other test created a port too. -TEST_METADATA+= is_exclusive="true" - .include diff --git a/usr.sbin/ctladm/tests/port.sh b/usr.sbin/ctladm/tests/port.sh index 110b89bd965b..782a8ee5b6c1 100644 --- a/usr.sbin/ctladm/tests/port.sh +++ b/usr.sbin/ctladm/tests/port.sh @@ -45,8 +45,9 @@ skip_if_ctld() { cleanup() { driver=$1 - if [ -e after-ports ]; then - diff before-ports after-ports | awk "/$driver/ {print \$2}" | xargs -n1 ctladm port -r -d ioctl -p + if [ -e port-create.txt ]; then + portnum=`awk '/port:/ {print $2}' port-create.txt` + ctladm port -r -d $driver -p $portnum fi } @@ -60,12 +61,13 @@ create_ioctl_body() { skip_if_ctld - atf_check -o save:before-ports ctladm portlist -qf ioctl - atf_check ctladm port -c -d "ioctl" - atf_check -o save:after-ports ctladm portlist -qf ioctl - if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then - atf_fail "Did not create a new ioctl port" - fi + atf_check -o save:port-create.txt ctladm port -c -d "ioctl" + atf_check egrep -q "Port created successfully" port-create.txt + atf_check egrep -q "frontend: *ioctl" port-create.txt + atf_check egrep -q "port: *[0-9]+" port-create.txt + portnum=`awk '/port:/ {print $2}' port-create.txt` + atf_check -o save:portlist.txt ctladm portlist -qf ioctl + atf_check egrep -q "$portnum *YES *ioctl *ioctl" portlist.txt } create_ioctl_cleanup() { @@ -82,13 +84,13 @@ create_ioctl_options_body() { skip_if_ctld - atf_check -o save:before-ports ctladm portlist -qf ioctl - atf_check ctladm port -c -d "ioctl" -O pp=101 -O vp=102 - atf_check -o save:after-ports ctladm portlist -qf ioctl - if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then - atf_fail "Did not create a new ioctl port" - fi - if ! egrep -q '101[[:space:]]+102' after-ports; then + atf_check -o save:port-create.txt ctladm port -c -d "ioctl" -O pp=101 -O vp=102 + atf_check egrep -q "Port created successfully" port-create.txt + atf_check egrep -q "frontend: *ioctl" port-create.txt + atf_check egrep -q "port: *[0-9]+" port-create.txt + portnum=`awk '/port:/ {print $2}' port-create.txt` + atf_check -o save:portlist.txt ctladm portlist -qf ioctl + if ! egrep -q '101[[:space:]]+102' portlist.txt; then ctladm portlist atf_fail "Did not create the port with the specified options" fi @@ -109,13 +111,9 @@ disable_ioctl_body() { skip_if_ctld - atf_check -o save:before-ports ctladm portlist -qf ioctl - atf_check ctladm port -c -d "ioctl" - atf_check -o save:after-ports ctladm portlist -qf ioctl - if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then - atf_fail "Did not create a new ioctl port" - fi - portnum=`diff before-ports after-ports | awk '/ioctl/ {print $2}'`; + atf_check -o save:port-create.txt ctladm port -c -d "ioctl" + portnum=`awk '/port:/ {print $2}' port-create.txt` + atf_check -o save:portlist.txt ctladm portlist -qf ioctl atf_check -o ignore ctladm port -o off -p $portnum atf_check -o match:"^$portnum *NO" ctladm portlist -qf ioctl } @@ -134,13 +132,9 @@ enable_ioctl_body() { skip_if_ctld - atf_check -o save:before-ports ctladm portlist -qf ioctl - atf_check ctladm port -c -d "ioctl" - atf_check -o save:after-ports ctladm portlist -qf ioctl - if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then - atf_fail "Did not create a new ioctl port" - fi - portnum=`diff before-ports after-ports | awk '/ioctl/ {print $2}'`; + atf_check -o save:port-create.txt ctladm port -c -d "ioctl" + portnum=`awk '/port:/ {print $2}' port-create.txt` + atf_check -o save:portlist.txt ctladm portlist -qf ioctl atf_check -o ignore ctladm port -o off -p $portnum atf_check -o ignore ctladm port -o on -p $portnum atf_check -o match:"^$portnum *YES" ctladm portlist -qf ioctl @@ -160,14 +154,18 @@ remove_ioctl_body() { skip_if_ctld - atf_check -o save:before-ports ctladm portlist -qf ioctl - atf_check ctladm port -c -d "ioctl" - atf_check -o save:after-ports ctladm portlist -qf ioctl - if test `wc -l before-ports | cut -w -f2` -ge `wc -l after-ports | cut -w -f2`; then - atf_fail "Did not create a new ioctl port" + # Specify exact pp and vp to make the post-removal portlist check + # unambiguous + atf_check -o save:port-create.txt ctladm port -c -d "ioctl" -O pp=10001 -O vp=10002 + portnum=`awk '/port:/ {print $2}' port-create.txt` + atf_check -o save:portlist.txt ctladm portlist -qf ioctl + atf_check -o inline:"Port destroyed successfully\n" ctladm port -r -d ioctl -p $portnum + # Check that the port was removed. A new port may have been added with + # the same ID, so match against the pp and vp numbers, too. + if ctladm portlist -qf ioctl | egrep -q "^${portnum} .*10001 *10002"; then + ctladm portlist -qf ioctl + atf_fail "port was not removed" fi - portnum=`diff before-ports after-ports | awk '/ioctl/ {print $2}'`; - atf_check ctladm port -r -d ioctl -p $portnum } atf_init_test_cases() From nobody Thu Sep 19 20:07:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8ml20Tljz5XJ9J; Thu, 19 Sep 2024 20:07: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 4X8ml13xGRz4SVd; Thu, 19 Sep 2024 20:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726776429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+DRysDkudu/QcQGmOWrzDBzYg9c33e+abim/8uLPyo=; b=mVR7wWOr7G4n400IYhM1qJ52fIvTbVjAQlghLqisiHNT9TN2FaJYmkDh4mtixkJY6xYEDi 7ua8nr4Demfj1b/GlJrmkBtdx3lB/X1egZffC08lERjXmyGJSWxB1LXDRrtGJAVf4Ymmj0 Zk/SbAuG/adE2jerK9V5SEL37l0ZNY2OhLLJL9F1TtupYXW9K4ofhISZx3OcPuXg6WczF9 63mN0dEME+C2lWTZPLvDCNwnHEwFj5D6jCbcegdOKIWzAwZKB0e3UmgPhPVqI+IiiAIbiN L4iIuMCMlHPWASoZDfz4qwH1KkhzpEIQjokYPwSVeVQPACEoIhs1QDwPRdLJgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726776429; a=rsa-sha256; cv=none; b=O9mf6sgFHi2UuuaeRqVT0w+APgv/KW3MKp7MvwdX04gQXL052VgoH0M8tMIaJ6Uuxgrj7+ 9X0gvV3H09b2ki9jgXi+s+fQ4vVj9gmLD7noOTZ1A5+e3IW9viCPLPBIPXi2oiJtChVF5a xzyltdRO8JfWto6bVeWEmRI6Y5SLudKsfxnmyJaNyZV7JaSf5pxrMWEpY4dJR/f0ri9qkN bG5QrV9NtjH5LoEC/PNG2vBAFAE0iKOXxv9FKfcCNtSNuTVeCa2lmMRksFQwvDmhFhJlYd KdJndoxWixr14WLc+eXGZBzAuI6XBF3loZaGYzHG8myJqCW/9I7ghl9DW7qm1Q== 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=1726776429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+DRysDkudu/QcQGmOWrzDBzYg9c33e+abim/8uLPyo=; b=NZFyFqhmKoeywZZBf6R+JJ9hZYo9pX0MTuIZxXcbQtVAQE4uSGepXgLv1RnJCd8aXn5FtJ YVq00KWiLidfRTb/XtHBz63jmiJtAnlBMdPUrXqQtt2lBVMquyZmH6NXZIBXoO50JZJcvX XthfnZIVXtZtiBcKab8APF7kBu8xb4yDjQ2j/0egfmiMZp2iwE1WW97/7ly3QVfgM9jRBf QJb/HuqhWq+9TfYg8zkiL3XnyxC5TxfAW23/a9Z86dTfa2/KwXzWkoEfKcK1Tcf2R9TGgy 6vhzDFWgIsJ5Xii4v2TAKnWZCfcVPLEUvbAF1z3EkQSAmUUi6L7Nrb7uYU/2Jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8ml13R1yzKSW; Thu, 19 Sep 2024 20:07: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 48JK79XR017844; Thu, 19 Sep 2024 20:07:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JK79qX017841; Thu, 19 Sep 2024 20:07:09 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:07:09 GMT Message-Id: <202409192007.48JK79qX017841@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: e48e80fcb71a - stable/14 - ctladm: better documentation for adding and removing cfiscsi ports List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e48e80fcb71ade5d76c3fda7331db0708c63b81d Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=e48e80fcb71ade5d76c3fda7331db0708c63b81d commit e48e80fcb71ade5d76c3fda7331db0708c63b81d Author: Alan Somers AuthorDate: 2024-06-06 17:19:19 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:03:29 +0000 ctladm: better documentation for adding and removing cfiscsi ports MFC after: 2 weeks Sponsored by: Axcient Reviewed by: mav Pull Request: https://github.com/freebsd/freebsd-src/pull/1279 (cherry picked from commit afecc74cd7158da8e89c26c5267bc715c2417fe7) --- sys/cam/ctl/ctl_frontend_iscsi.c | 27 ++++++-- usr.sbin/ctladm/ctladm.8 | 32 +++++++-- usr.sbin/ctladm/tests/port.sh | 146 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 191 insertions(+), 14 deletions(-) diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c index 5c7cdaf0770e..89528d94170c 100644 --- a/sys/cam/ctl/ctl_frontend_iscsi.c +++ b/sys/cam/ctl/ctl_frontend_iscsi.c @@ -2150,17 +2150,24 @@ cfiscsi_ioctl_port_create(struct ctl_req *req) uint16_t tag; target = dnvlist_get_string(req->args_nvl, "cfiscsi_target", NULL); - alias = dnvlist_get_string(req->args_nvl, "cfiscsi_target_alias", NULL); + if (target == NULL) { + req->status = CTL_LUN_ERROR; + snprintf(req->error_str, sizeof(req->error_str), + "Missing required argument: cfiscsi_target"); + return; + } + val = dnvlist_get_string(req->args_nvl, "cfiscsi_portal_group_tag", NULL); - - if (target == NULL || val == NULL) { + if (val == NULL) { req->status = CTL_LUN_ERROR; snprintf(req->error_str, sizeof(req->error_str), - "Missing required argument"); + "Missing required argument: cfiscsi_portal_group_tag"); return; } + alias = dnvlist_get_string(req->args_nvl, "cfiscsi_target_alias", NULL); + tag = strtoul(val, NULL, 0); ct = cfiscsi_target_find_or_create(&cfiscsi_softc, target, alias, tag); if (ct == NULL) { @@ -2251,13 +2258,19 @@ cfiscsi_ioctl_port_remove(struct ctl_req *req) uint16_t tag; target = dnvlist_get_string(req->args_nvl, "cfiscsi_target", NULL); + if (target == NULL) { + req->status = CTL_LUN_ERROR; + snprintf(req->error_str, sizeof(req->error_str), + "Missing required argument: cfiscsi_target"); + return; + } + val = dnvlist_get_string(req->args_nvl, "cfiscsi_portal_group_tag", NULL); - - if (target == NULL || val == NULL) { + if (val == NULL) { req->status = CTL_LUN_ERROR; snprintf(req->error_str, sizeof(req->error_str), - "Missing required argument"); + "Missing required argument: cfiscsi_portal_group_tag"); return; } diff --git a/usr.sbin/ctladm/ctladm.8 b/usr.sbin/ctladm/ctladm.8 index 4e7288dac6b6..a7eb1d58cbbf 100644 --- a/usr.sbin/ctladm/ctladm.8 +++ b/usr.sbin/ctladm/ctladm.8 @@ -35,7 +35,7 @@ .\" .\" $Id: //depot/users/kenm/FreeBSD-test2/usr.sbin/ctladm/ctladm.8#3 $ .\" -.Dd June 5, 2024 +.Dd June 6, 2024 .Dt CTLADM 8 .Os .Sh NAME @@ -166,7 +166,7 @@ .Op Fl o Ar on|off .Op Fl w Ar wwpn .Op Fl W Ar wwnn -.Op Fl O Ar pp|vp +.Op Fl O Ar name=value .Op Fl p Ar targ_port .Op Fl r .Op Fl t Ar fe_type @@ -618,7 +618,7 @@ The WWNN and WWPN may both be specified at the same time, but cannot be combined with enabling/disabling or listing ports. .Bl -tag -width 12n .It Fl c -Create new frontend port using free pp and vp=0. +Create new frontend port. .It Fl d Ar driver Specify the name of the frontend driver used by the .Pq Fl c @@ -637,7 +637,31 @@ If no port number or port type is specified, all ports are turned on or off. .It Fl O Ar pp|vp Specify generic options on the ioctl frontend port. -At present, only pp and vp port numbers can be set. +The list of recognized options is driver-dependent. +The +.Dq ioctl +driver recognizes +.Dq pp +and +.Dq vp . +The +.Dq iscsi +driver recongizes +.Dq cfiscsi_portal_group_tag , +.Dq cfiscsi_target , +and +.Dq cfiscsi_target_alias . +The +.Dq nvmf +driver recognizes +.Dq subnqn , +.Dq portid , +.Dq max_io_qsize , +.Dq enable_timeout , +.Dq ioccsz , +.Dq nn , +and +.Dq serial . .It Fl p Ar targ_port Specify the frontend port number. The port numbers can be found in the frontend port list. diff --git a/usr.sbin/ctladm/tests/port.sh b/usr.sbin/ctladm/tests/port.sh index 782a8ee5b6c1..161759ec14d0 100644 --- a/usr.sbin/ctladm/tests/port.sh +++ b/usr.sbin/ctladm/tests/port.sh @@ -30,11 +30,20 @@ # * Creating umass ports # TODO -# * Creating iscsi ports # * Creating nvmf ports # * Creating ha ports # * Creating fc ports +# The PGTAG can be any 16-bit number. The only constraint is that each +# PGTAG,TARGET pair must be globally unique. +PGTAG=30257 + +load_cfiscsi() { + if ! kldstat -q -m cfiscsi; then + kldload cfiscsi || atf_skip "could not load cfscsi kernel mod" + fi +} + skip_if_ctld() { if service ctld onestatus > /dev/null; then # If ctld is running on this server, let's not interfere. @@ -46,8 +55,18 @@ cleanup() { driver=$1 if [ -e port-create.txt ]; then - portnum=`awk '/port:/ {print $2}' port-create.txt` - ctladm port -r -d $driver -p $portnum + case "$driver" in + "ioctl") + PORTNUM=`awk '/port:/ {print $2}' port-create.txt` + ctladm port -r -d $driver -p $PORTNUM + ;; + "iscsi") + TARGET=`awk '/target:/ {print $2}' port-create.txt` + # PORTNUM is ignored, but must be set + PORTNUM=9999 + ctladm port -r -d $driver -p "$PORTNUM" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target=$TARGET + ;; + esac fi } @@ -74,6 +93,75 @@ create_ioctl_cleanup() cleanup ioctl } +atf_test_case create_iscsi cleanup +create_iscsi_head() +{ + atf_set "descr" "ctladm can create a new iscsi port" + atf_set "require.user" "root" +} +create_iscsi_body() +{ + skip_if_ctld + load_cfiscsi + + TARGET=iqn.2018-10.myhost.create_iscsi + atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" + echo "target: $TARGET" >> port-create.txt + atf_check egrep -q "Port created successfully" port-create.txt + atf_check egrep -q "frontend: *iscsi" port-create.txt + atf_check egrep -q "port: *[0-9]+" port-create.txt + atf_check -o save:portlist.txt ctladm portlist -qf iscsi + # Unlike the ioctl driver, the iscsi driver creates ports in a disabled + # state, so the port's lunmap may be set before enabling it. + atf_check egrep -q "$portnum *NO *iscsi *iscsi.*$TARGET" portlist.txt +} +create_iscsi_cleanup() +{ + cleanup iscsi +} + +atf_test_case create_iscsi_alias cleanup +create_iscsi_alias_head() +{ + atf_set "descr" "ctladm can create a new iscsi port with a target alias" + atf_set "require.user" "root" +} +create_iscsi_alias_body() +{ + skip_if_ctld + load_cfiscsi + + TARGET=iqn.2018-10.myhost.create_iscsi_alias + ALIAS="foobar" + atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" -O cfiscsi_target_alias="$ALIAS" + echo "target: $TARGET" >> port-create.txt + atf_check egrep -q "Port created successfully" port-create.txt + atf_check egrep -q "frontend: *iscsi" port-create.txt + atf_check egrep -q "port: *[0-9]+" port-create.txt + atf_check -o save:portlist.txt ctladm portlist -qvf iscsi + atf_check egrep -q "cfiscsi_target_alias=$ALIAS" portlist.txt +} +create_iscsi_alias_cleanup() +{ + cleanup iscsi +} + +atf_test_case create_iscsi_without_required_args +create_iscsi_without_required_args_head() +{ + atf_set "descr" "ctladm will gracefully fail to create an iSCSI target if required arguments are missing" + atf_set "require.user" "root" +} +create_iscsi_without_required_args_body() +{ + skip_if_ctld + load_cfiscsi + + TARGET=iqn.2018-10.myhost.create_iscsi + atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_target" ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG + atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_portal_group_tag" ctladm port -c -d "iscsi" -O cfiscsi_target=$TARGET +} + atf_test_case create_ioctl_options cleanup create_ioctl_options_head() { @@ -168,11 +256,63 @@ remove_ioctl_body() fi } +atf_test_case remove_iscsi +remove_iscsi_head() +{ + atf_set "descr" "ctladm can remove an iscsi port" + atf_set "require.user" "root" +} +remove_iscsi_body() +{ + skip_if_ctld + load_cfiscsi + + TARGET=iqn.2018-10.myhost.remove_iscsi + atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" + portnum=`awk '/port:/ {print $2}' port-create.txt` + atf_check -o save:portlist.txt ctladm portlist -qf iscsi + atf_check -o inline:"Port destroyed successfully\n" ctladm port -r -d iscsi -p 9999 -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" + # Check that the port was removed. A new port may have been added with + # the same ID, so match against the target and tag, too. + PGTAGHEX=0x7631 # PGTAG in hex + if ctladm portlist -qf iscsi | egrep -q "^${portnum} .*$PGTAG +[0-9]+ +$TARGET,t,$PGTAGHEX"; then + ctladm portlist -qf iscsi + atf_fail "port was not removed" + fi +} + +atf_test_case remove_iscsi_without_required_args cleanup +remove_iscsi_without_required_args_head() +{ + atf_set "descr" "ctladm will gracefully fail to remove an iSCSI target if required arguments are missing" + atf_set "require.user" "root" +} +remove_iscsi_without_required_args_body() +{ + skip_if_ctld + load_cfiscsi + + TARGET=iqn.2018-10.myhost.remove_iscsi_without_required_args + atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" + echo "target: $TARGET" >> port-create.txt + atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_portal_group_tag" ctladm port -r -d iscsi -p 9999 -O cfiscsi_target="$TARGET" + atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_target" ctladm port -r -d iscsi -p 9999 -O cfiscsi_portal_group_tag=$PGTAG +} +remove_iscsi_without_required_args_cleanup() +{ + cleanup iscsi +} + atf_init_test_cases() { atf_add_test_case create_ioctl + atf_add_test_case create_iscsi + atf_add_test_case create_iscsi_without_required_args + atf_add_test_case create_iscsi_alias atf_add_test_case create_ioctl_options atf_add_test_case disable_ioctl atf_add_test_case enable_ioctl atf_add_test_case remove_ioctl + atf_add_test_case remove_iscsi + atf_add_test_case remove_iscsi_without_required_args } From nobody Thu Sep 19 20:07:10 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8ml262g8z5XHZP; Thu, 19 Sep 2024 20:07: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 4X8ml24lSLz4SbJ; Thu, 19 Sep 2024 20:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726776430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29SCUGUnua7cYSzfMwGqguyP5VwdgNyCchctiHjAML0=; b=PrxbDpGpOiDpq8ZzaUFvlYab9dfXimIR9KTwtrB//X5iat+dj76v6Z4CU+6e5dhaouVwLQ hpPVV7DdRAjlsxFDzrUR2rT1ySUE/1GfJ3N14Y99yJ+xHfFPKTphUQVTvNZdY9z44ezrwJ 8tA0QyHP+GqGuLB3xBjeILlnNYjdCVawT0zTK1F/4XzwNI45VbzsRlGr/VVR+QjQg5/A6p Z7luLgvMS71DUL+4vy4hz4sRq/4WIqxacoDHjEUu8jP1xcWyhSBmmtkfSYtBIA1f2U7f7G IF0GBxp5uj7iPJhaViVgvsu+UwSLFZDCJLce7EMZA0enza1W6OMfRm0/m9EJdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726776430; a=rsa-sha256; cv=none; b=Knv2TF4tr3XrqMlwxgKsBEGZ5B9ZpF+5F9L9zpzZGSOHBf3RX709oL7ZQNnMCuHg+UDsck GWl2CGvmXUS/v5jV/nU3y3TCjNC1dUUBNXcUo58Vx+v2/oTZGprqpaF/nUsT2kZ3irNCy5 1QnoOp5K7dmCpN82WC9PnowBgG8JiP2+l2IKGcRGnkFBwvm0cCnYMLa3TJ1Euw2pKWej58 7LRwZrWpGYYBVd/NRxu9oUMvk8W/eA9clFNnw3+LW4cWS6qdtQpzqmVRS64F3ZbdqNRUO7 CjWSdl0uKDSQppvW/k3KUdmybRYSgm7l7L1ekUDdnykEAxwl1ZR+IuP3JdwdLA== 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=1726776430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29SCUGUnua7cYSzfMwGqguyP5VwdgNyCchctiHjAML0=; b=qXaM65X9NUWSgVIbNIsJe6WvW0pvynwCXucHxf1LKcCcukrVirzjJSQzHIPbgtRD6fTC+f jI/kcN+0nTQ3jxE9wlrgPqYRYL6Rz1QHtueUXk1LjXlGiIgAwfLk5p4juIWriKm8393kCq WwqiRVVbLZLLlP/OdsxFVzuWjRyJBko3qesuuq9s3N80tn3pGxZNhAsS8i875ong+r4107 mQbJKOGFzrzPSz/IshMpSOr1BSiyvI9Z3zeP/zBx0nA9bEfRiMWPqpia5guAaNDIU/vfBd 08F+2ynx5fjchaQjTP2aj1E6T2mvUx5ykipI8hZVW3pJ2+sGRoXRJgHjgNYcCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8ml24M9NzKcq; Thu, 19 Sep 2024 20:07: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 48JK7AHZ017901; Thu, 19 Sep 2024 20:07:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JK7AbQ017898; Thu, 19 Sep 2024 20:07:10 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:07:10 GMT Message-Id: <202409192007.48JK7AbQ017898@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: f07fc92df041 - stable/14 - ctladm: don't require the use of "-p" with "port -r" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f07fc92df041ba020c138b0de77b0704bc9ef087 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=f07fc92df041ba020c138b0de77b0704bc9ef087 commit f07fc92df041ba020c138b0de77b0704bc9ef087 Author: Alan Somers AuthorDate: 2024-06-06 19:14:43 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:03:30 +0000 ctladm: don't require the use of "-p" with "port -r" When removing a port, the ioctl frontend requires the "-p" argument. But other frontends, like cfiscsi, do not. So don't require that argument in the ctladm command. The frontend driver will report an error if any required argument is missing. Sponsored by: Axcient Reviewed by: mav Pull Request: https://github.com/freebsd/freebsd-src/pull/1279 (cherry picked from commit edbd489d09babebdc6c03924a912013be584c409) ctladm: don't require the use of "-p" with "port -r", part 2 * Remove a now superfluous FALLTHROUGH hint * Don't specify "-p" with an empty argument in the tests Reported by: jhb (cherry picked from commit 7f50027321db3b08477f6236abded0297e9e5ed8) --- sys/cam/ctl/ctl_frontend_ioctl.c | 2 +- usr.sbin/ctladm/ctladm.8 | 3 +-- usr.sbin/ctladm/ctladm.c | 11 +++-------- usr.sbin/ctladm/tests/port.sh | 30 ++++++++++++++++++++++++------ 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/sys/cam/ctl/ctl_frontend_ioctl.c b/sys/cam/ctl/ctl_frontend_ioctl.c index 428fb9983b9f..a93f6cd5a4c5 100644 --- a/sys/cam/ctl/ctl_frontend_ioctl.c +++ b/sys/cam/ctl/ctl_frontend_ioctl.c @@ -268,7 +268,7 @@ cfi_ioctl_port_remove(struct ctl_req *req) if (port_id == -1) { req->status = CTL_LUN_ERROR; snprintf(req->error_str, sizeof(req->error_str), - "port_id not provided"); + "Missing required argument: port_id"); return; } diff --git a/usr.sbin/ctladm/ctladm.8 b/usr.sbin/ctladm/ctladm.8 index a7eb1d58cbbf..6470f5d5a8ee 100644 --- a/usr.sbin/ctladm/ctladm.8 +++ b/usr.sbin/ctladm/ctladm.8 @@ -666,8 +666,7 @@ and Specify the frontend port number. The port numbers can be found in the frontend port list. .It Fl r -Remove port specified with -.Pq Fl p Ar targ_port . +Remove a port. .It Fl t Ar fe_type Specify the frontend type used by the .Pq Fl o , diff --git a/usr.sbin/ctladm/ctladm.c b/usr.sbin/ctladm/ctladm.c index a7e2fb05ddb8..8538d8311332 100644 --- a/usr.sbin/ctladm/ctladm.c +++ b/usr.sbin/ctladm/ctladm.c @@ -575,12 +575,6 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) break; } case CCTL_PORT_MODE_REMOVE: - if (targ_port == -1) { - warnx("%s: -r requires -p", __func__); - retval = 1; - goto bailout; - } - /* FALLTHROUGH */ case CCTL_PORT_MODE_CREATE: { bzero(&req, sizeof(req)); strlcpy(req.driver, driver, sizeof(req.driver)); @@ -589,8 +583,9 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) if (port_mode == CCTL_PORT_MODE_REMOVE) { req.reqtype = CTL_REQ_REMOVE; - nvlist_add_stringf(option_list, "port_id", "%d", - targ_port); + if (targ_port != -1) + nvlist_add_stringf(option_list, "port_id", "%d", + targ_port); } else req.reqtype = CTL_REQ_CREATE; diff --git a/usr.sbin/ctladm/tests/port.sh b/usr.sbin/ctladm/tests/port.sh index 161759ec14d0..a9ff609d3f4c 100644 --- a/usr.sbin/ctladm/tests/port.sh +++ b/usr.sbin/ctladm/tests/port.sh @@ -62,9 +62,7 @@ cleanup() { ;; "iscsi") TARGET=`awk '/target:/ {print $2}' port-create.txt` - # PORTNUM is ignored, but must be set - PORTNUM=9999 - ctladm port -r -d $driver -p "$PORTNUM" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target=$TARGET + ctladm port -r -d $driver -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target=$TARGET ;; esac fi @@ -93,6 +91,25 @@ create_ioctl_cleanup() cleanup ioctl } +atf_test_case remove_ioctl_without_required_args cleanup +remove_ioctl_without_required_args_head() +{ + atf_set "descr" "ctladm will gracefully fail to remove an ioctl target if required arguments are missing" + atf_set "require.user" "root" +} +remove_ioctl_without_required_args_body() +{ + skip_if_ctld + + atf_check -o save:port-create.txt ctladm port -c -d "ioctl" + atf_check egrep -q "Port created successfully" port-create.txt + atf_check -s exit:1 -e match:"Missing required argument: port_id" ctladm port -r -d "ioctl" +} +remove_ioctl_without_required_args_cleanup() +{ + cleanup ioctl +} + atf_test_case create_iscsi cleanup create_iscsi_head() { @@ -271,7 +288,7 @@ remove_iscsi_body() atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" portnum=`awk '/port:/ {print $2}' port-create.txt` atf_check -o save:portlist.txt ctladm portlist -qf iscsi - atf_check -o inline:"Port destroyed successfully\n" ctladm port -r -d iscsi -p 9999 -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" + atf_check -o inline:"Port destroyed successfully\n" ctladm port -r -d iscsi -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" # Check that the port was removed. A new port may have been added with # the same ID, so match against the target and tag, too. PGTAGHEX=0x7631 # PGTAG in hex @@ -295,8 +312,8 @@ remove_iscsi_without_required_args_body() TARGET=iqn.2018-10.myhost.remove_iscsi_without_required_args atf_check -o save:port-create.txt ctladm port -c -d "iscsi" -O cfiscsi_portal_group_tag=$PGTAG -O cfiscsi_target="$TARGET" echo "target: $TARGET" >> port-create.txt - atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_portal_group_tag" ctladm port -r -d iscsi -p 9999 -O cfiscsi_target="$TARGET" - atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_target" ctladm port -r -d iscsi -p 9999 -O cfiscsi_portal_group_tag=$PGTAG + atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_portal_group_tag" ctladm port -r -d iscsi -O cfiscsi_target="$TARGET" + atf_check -s exit:1 -e match:"Missing required argument: cfiscsi_target" ctladm port -r -d iscsi -O cfiscsi_portal_group_tag=$PGTAG } remove_iscsi_without_required_args_cleanup() { @@ -313,6 +330,7 @@ atf_init_test_cases() atf_add_test_case disable_ioctl atf_add_test_case enable_ioctl atf_add_test_case remove_ioctl + atf_add_test_case remove_ioctl_without_required_args atf_add_test_case remove_iscsi atf_add_test_case remove_iscsi_without_required_args } From nobody Thu Sep 19 20:07:11 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8ml37358z5XJLM; Thu, 19 Sep 2024 20:07: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 4X8ml35g4Dz4SmJ; Thu, 19 Sep 2024 20:07:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726776431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UwH+gLnn3PQnd1xwdedVZgi8d3RSyB96ZELzRzcywyc=; b=fDssBiSFq+NyeV6Xs8lrBeaR80/Q4XTTnYP1z/veGcNLZ6EpxDTwxf+EIO9nG2AN7Z+Pau 5EJx/mtDHiRcmNbOoB/0OJW3m6tVMuei26lyXQKBeWbS8oRKvVyE+HzMApYWuFPrUrpCLt E2OuXk6Jz7UIYQVW+SUIWrcDVu8k8W97R0ht2hHt6jtEl6oE2WRrr+0nW6QvYZnpH4nkt3 QkVYlxgErso78elz/BtESfu0MZxgqJ9VeyI3UI/PU2J5eVx+Mphmx0Of1i0lMGxVvDsZ7V rcsIv4aJMVjTQfJxtNuJ7+sWQgpwKVUlyt268nxn74mP2w2XKbba0UEyUfXUQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726776431; a=rsa-sha256; cv=none; b=QTdB9t13u8auKfMugoDbAKCopUwiPCtNpihza3/w1AaZidjY/RP+gFzTDtAspgTTagOkxP Mbf+BmRK/wf3J/yZpvie+ij4cSpgndoUxzisZO36f4ZALjjszjOqYbTt2CJvP/WFkvF67Y cfB7vt1cNxCXJM+9lpSvIQjsWKqWTP8TOQUxLXYpheBAVX31ZkKRM/TZDyiFyonaepPMSh RV3xqsb7AHcSEFOYp6jg17KiP0ajQab7dDH2BOBo9vLjVPxfqiGf/TqpExEi20raJ5XOAz 2GiLnQTWk520KDHz/qfeSA0rKO/dtW5nof56d+rqMkLSynCwNJM88MZavP14Ng== 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=1726776431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UwH+gLnn3PQnd1xwdedVZgi8d3RSyB96ZELzRzcywyc=; b=wUhKUVddRD7vc5EeqnqLIzyLd2W0/VDll3iIyZDMVC6qgGPTiLYzwgZhdkaE+gSBPYYmLT Jevgwtv2RQt0FJKksuS9UHlFRgp0Qf5d+BuGhKoFkVBfkwX2uZiOEt4VBmMhO0qyJcAgcG nAPQ2ZSnRoWQ9U+TNJMYmi2JE3ZNHKCkX4j0XCyf3aF5Oki+HyfwBMayxFIncvLdkNhIZk H2vyrztjhhrbIsZVPajMp7l6RDQ1ldFqcFeUmWrMAsXWhHOH1nFNnrrT48P45UJ0aL6Iq+ x7/aZSJByQhki5LLKeMI1oEpxMYMhm6GQwg240eIwpsXExQdrUh5nHIU7kmlTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8ml35CprzKfL; Thu, 19 Sep 2024 20:07: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 48JK7B4f017949; Thu, 19 Sep 2024 20:07:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JK7BGJ017946; Thu, 19 Sep 2024 20:07:11 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:07:11 GMT Message-Id: <202409192007.48JK7BGJ017946@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 95fbdf9df5b0 - stable/14 - ctladm: deprecate the undocumented "port -l" option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 95fbdf9df5b0918668517298d3ca77b65361b756 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=95fbdf9df5b0918668517298d3ca77b65361b756 commit 95fbdf9df5b0918668517298d3ca77b65361b756 Author: Alan Somers AuthorDate: 2024-06-06 21:09:38 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:03:39 +0000 ctladm: deprecate the undocumented "port -l" option It was mostly removed from the man page in 9c887a4f86f5fd4f51c23443dc8435e52783a782, but left in the command. Fully remove it from the man page, and warn if anybody uses it. Remove it entirely for FreeBSD 16. PR: 279546 Reviewed by: mav Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D45522 (cherry picked from commit bb95fbf634b3459363a136899e9b241a2f6c49cd) --- usr.sbin/ctladm/ctladm.8 | 5 +---- usr.sbin/ctladm/ctladm.c | 29 +++++++++++++++++++---------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/usr.sbin/ctladm/ctladm.8 b/usr.sbin/ctladm/ctladm.8 index 6470f5d5a8ee..c8c013852246 100644 --- a/usr.sbin/ctladm/ctladm.8 +++ b/usr.sbin/ctladm/ctladm.8 @@ -590,9 +590,7 @@ The serial number is returned when the error is injected. .El .It Ic port Perform one of several CTL frontend port operations. -Either get a list of frontend ports -.Pq Fl l , -create a new frontend port +Either create a new frontend port .Pq Fl c , destroy a frontend port .Pq Fl r , @@ -607,7 +605,6 @@ for a given port. One of .Fl c , .Fl r , -.Fl l , .Fl o , or .Fl w diff --git a/usr.sbin/ctladm/ctladm.c b/usr.sbin/ctladm/ctladm.c index 8538d8311332..67beef1e041e 100644 --- a/usr.sbin/ctladm/ctladm.c +++ b/usr.sbin/ctladm/ctladm.c @@ -180,7 +180,11 @@ static struct ctladm_opts option_table[] = { {"lunmap", CTLADM_CMD_LUNMAP, CTLADM_ARG_NONE, "p:l:L:"}, {"modesense", CTLADM_CMD_MODESENSE, CTLADM_ARG_NEED_TL, "P:S:dlm:c:"}, {"modify", CTLADM_CMD_MODIFY, CTLADM_ARG_NONE, "b:l:o:s:"}, +#if (__FreeBSD_version < 1600000) {"port", CTLADM_CMD_PORT, CTLADM_ARG_NONE, "lo:O:d:crp:qt:w:W:x"}, +#else + {"port", CTLADM_CMD_PORT, CTLADM_ARG_NONE, "o:O:d:crp:t:w:W:"}, +#endif {"portlist", CTLADM_CMD_PORTLIST, CTLADM_ARG_NONE, "f:ilp:qvx"}, {"prin", CTLADM_CMD_PRES_IN, CTLADM_ARG_NEED_TL, "a:"}, {"prout", CTLADM_CMD_PRES_OUT, CTLADM_ARG_NEED_TL, "a:k:r:s:"}, @@ -405,7 +409,9 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) char *driver = NULL; nvlist_t *option_list; ctl_port_type port_type = CTL_PORT_NONE; +#if (__FreeBSD_version < 1600000) int quiet = 0, xml = 0; +#endif option_list = nvlist_create(0); if (option_list == NULL) @@ -413,12 +419,22 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) while ((c = getopt(argc, argv, combinedopt)) != -1) { switch (c) { +#if (__FreeBSD_version < 1600000) case 'l': + warnx("ctladm port -l is deprecated. " + "Use ctladm portlist instead"); if (port_mode != CCTL_PORT_MODE_NONE) goto bailout_badarg; port_mode = CCTL_PORT_MODE_LIST; break; + case 'q': + quiet = 1; + break; + case 'x': + xml = 1; + break; +#endif case 'c': port_mode = CCTL_PORT_MODE_CREATE; break; @@ -478,9 +494,6 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) case 'p': targ_port = strtol(optarg, NULL, 0); break; - case 'q': - quiet = 1; - break; case 't': { ctladm_optret optret; ctladm_cmdargs argnum; @@ -524,9 +537,6 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) wwpn = strtoull(optarg, NULL, 0); wwpn_set = 1; break; - case 'x': - xml = 1; - break; } } @@ -558,6 +568,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) entry.targ_port = targ_port; switch (port_mode) { +#if (__FreeBSD_version < 1600000) case CCTL_PORT_MODE_LIST: { char opts[] = "xq"; char argx[] = "-x"; @@ -574,6 +585,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) cctl_portlist(fd, argcx, argvx, opts); break; } +#endif case CCTL_PORT_MODE_REMOVE: case CCTL_PORT_MODE_CREATE: { bzero(&req, sizeof(req)); @@ -675,7 +687,7 @@ cctl_port(int fd, int argc, char **argv, char *combinedopt) fprintf(stdout, "Front End Ports disabled\n"); break; default: - warnx("%s: one of -l, -o or -w/-W must be specified", __func__); + warnx("%s: one of -c, -r, -o or -w/-W must be specified", __func__); retval = 1; goto bailout; break; @@ -3954,7 +3966,6 @@ usage(int error) "port options:\n" "-c : create new ioctl or iscsi frontend port\n" "-d : specify ioctl or iscsi frontend type\n" -"-l : list frontend ports\n" "-o on|off : turn frontend ports on or off\n" "-O pp|vp : create new frontend port using pp and/or vp\n" "-w wwnn : set WWNN for one frontend\n" @@ -3962,8 +3973,6 @@ usage(int error) "-t port_type : specify fc, scsi, ioctl, internal frontend type\n" "-p targ_port : specify target port number\n" "-r : remove frontend port\n" -"-q : omit header in list output\n" -"-x : output port list in XML format\n" "portlist options:\n" "-f frontend : specify frontend type\n" "-i : report target and initiators addresses\n" From nobody Thu Sep 19 20:24:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8n7R0ktBz5XLQX; Thu, 19 Sep 2024 20:24: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 4X8n7Q68z6z4cn6; Thu, 19 Sep 2024 20:24:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726777490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qxp091VgpZFu9vdCr4iFEg+hbM4P5ylKFU/Jg2yXTik=; b=KrgotSkfbe5xQIoKPwDBtMOtZIBjEX5scau3jCERMjSTrqwWnmuK3JqtvpSuC2egFYVS5Z z8quuDUMT2SKVoXV92Nm0RJCPJwVtjrPJcpGtsAcHo+FxPSSDp4ktzd25bJq8JH4DsxAfr IjtvkAzTRmWvGM+U5tYXpAaOnzvQx4ussQJuqdPMcYFN2tOwCp3aXFdJWwMjB8tCHh6UNc X0hMu6WaavIGfAd8nkgE7CA8meqAm50uLMNH1DaNmkBjNX3qyS90PkYpy6qGxkyFZC60x0 MnPZqzxPZRGFtfZyYe955EHBYkT0HcQocmpF4V4hLrQqffd8w8TOJ13mjfNC0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726777490; a=rsa-sha256; cv=none; b=M5oJPdh2DYzRCC66yqi80wXaZ+yVQyYVTDZqJzrusYCklQBunGMFk11ZITQ/PDtNKjUJyr yc/UzXHdeOxudE5mAcJ6OHCdf41fpSFZkXL+CpTx0vGsDmC/UKLhtKzb1bZnG+0YrkfS1u 4lCwnwV0sRG12w4o00HYVmhXJb0ms7cBh4LtCgN2srem/rfupqbLW+KOsICsAPCinRFmB4 /Bnh5LniuT05Hc2pYv6iJIgLMMD31cDePMtse80fWuF1ilPAdYdDGc1ZeY7ix6dzkONq+S 2ks4Oxte9cAsdTNi5rfFeTht7Hg0ucTBVaNzQtopw+fw7dEp3kXrq51iVGFIDg== 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=1726777490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qxp091VgpZFu9vdCr4iFEg+hbM4P5ylKFU/Jg2yXTik=; b=Cudrqn0mdxgCj7EBzE+kBeQmbiytqcynWYHV4My2xuSLz5Cfuo08MfZnAkIZIAKaR5zRce 33oHe6Tq6bJ/ZMYzl8HSDEYJWc97+dYuP02nSq9dZr+zANtwf5PI6izoEVhcctwpmJ2WOc ++e95SzrBZe8D6kvCQGzDcixfeufSKy/ei0TZ2wVsztdWrOgqDzMb95V7WD/vP8UGj3YAl 0aPQ6AlpwQVD9Wt87MRFNK+qcXv5MWtobKxjUg1uuG8OBRllZW2+q5zDgZwEoNnroHZCnM obaVfhOSnxS1GR0pFDPZrTymY+/M5OLBL+iHpwbHQjj7ewDfbk11ADh3oSlrYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8n7Q5mnVzKhD; Thu, 19 Sep 2024 20:24: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 48JKOoWl052785; Thu, 19 Sep 2024 20:24:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JKOoeB052782; Thu, 19 Sep 2024 20:24:50 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:24:50 GMT Message-Id: <202409192024.48JKOoeB052782@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 0cc98ae442ba - stable/14 - ctld: plug memory leaks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0cc98ae442ba4e7764d0d56899fc39f4229a3175 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=0cc98ae442ba4e7764d0d56899fc39f4229a3175 commit 0cc98ae442ba4e7764d0d56899fc39f4229a3175 Author: Alan Somers AuthorDate: 2024-06-12 21:34:05 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:23:53 +0000 ctld: plug memory leaks Reviewed by: mav Sponsored by: Axcient Reported by: valgrind Pull Request: https://github.com/freebsd/freebsd-src/pull/1288 (cherry picked from commit 2909ddd17cb4d750852dc04128e584f93f8c5058) --- usr.sbin/ctld/ctld.c | 1 + usr.sbin/ctld/kernel.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index f2b2de5b9a57..f3d8d5807856 100644 --- a/usr.sbin/ctld/ctld.c +++ b/usr.sbin/ctld/ctld.c @@ -2874,6 +2874,7 @@ main(int argc, char **argv) error = conf_apply(oldconf, newconf); if (error != 0) log_warnx("failed to apply configuration"); + conf_delete(newconf); conf_delete(oldconf); oldconf = NULL; diff --git a/usr.sbin/ctld/kernel.c b/usr.sbin/ctld/kernel.c index ec46a9b765a8..5f61188aa5d6 100644 --- a/usr.sbin/ctld/kernel.c +++ b/usr.sbin/ctld/kernel.c @@ -615,6 +615,22 @@ retry_port: } cp->p_ctl_port = port->port_id; } + while ((port = STAILQ_FIRST(&devlist.port_list))) { + struct cctl_lun_nv *nv; + + STAILQ_REMOVE_HEAD(&devlist.port_list, links); + free(port->port_frontend); + free(port->port_name); + free(port->cfiscsi_target); + free(port->ctld_portal_group_name); + while ((nv = STAILQ_FIRST(&port->attr_list))) { + STAILQ_REMOVE_HEAD(&port->attr_list, links); + free(nv->value); + free(nv->name); + free(nv); + } + free(port); + } free(name); STAILQ_FOREACH(lun, &devlist.lun_list, links) { @@ -665,6 +681,18 @@ retry_port: cl->l_name); } } + while ((lun = STAILQ_FIRST(&devlist.lun_list))) { + struct cctl_lun_nv *nv; + + STAILQ_REMOVE_HEAD(&devlist.lun_list, links); + while ((nv = STAILQ_FIRST(&lun->attr_list))) { + STAILQ_REMOVE_HEAD(&lun->attr_list, links); + free(nv->value); + free(nv->name); + free(nv); + } + free(lun); + } return (conf); } @@ -742,12 +770,14 @@ kernel_lun_add(struct lun *lun) req.args = nvlist_pack(req.args_nvl, &req.args_len); if (req.args == NULL) { + nvlist_destroy(req.args_nvl); log_warn("error packing nvlist"); return (1); } } error = ioctl(ctl_fd, CTL_LUN_REQ, &req); + free(req.args); nvlist_destroy(req.args_nvl); if (error != 0) { @@ -825,12 +855,14 @@ kernel_lun_modify(struct lun *lun) req.args = nvlist_pack(req.args_nvl, &req.args_len); if (req.args == NULL) { + nvlist_destroy(req.args_nvl); log_warn("error packing nvlist"); return (1); } } error = ioctl(ctl_fd, CTL_LUN_REQ, &req); + free(req.args); nvlist_destroy(req.args_nvl); if (error != 0) { @@ -1053,6 +1085,7 @@ kernel_port_add(struct port *port) req.args = nvlist_pack(req.args_nvl, &req.args_len); if (req.args == NULL) { + nvlist_destroy(req.args_nvl); log_warn("error packing nvlist"); return (1); } @@ -1060,6 +1093,7 @@ kernel_port_add(struct port *port) req.result = result_buf; req.result_len = sizeof(result_buf); error = ioctl(ctl_fd, CTL_PORT_REQ, &req); + free(req.args); nvlist_destroy(req.args_nvl); if (error != 0) { @@ -1203,11 +1237,13 @@ kernel_port_remove(struct port *port) req.args = nvlist_pack(req.args_nvl, &req.args_len); if (req.args == NULL) { + nvlist_destroy(req.args_nvl); log_warn("error packing nvlist"); return (1); } error = ioctl(ctl_fd, CTL_PORT_REQ, &req); + free(req.args); nvlist_destroy(req.args_nvl); if (error != 0) { From nobody Thu Sep 19 20:24:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8n7S0jW9z5XLdp; Thu, 19 Sep 2024 20: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 4X8n7S08Crz4cqR; Thu, 19 Sep 2024 20: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=1726777492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5pi2tBhl8ZZy/bJwzA9VEnwMkAHn+hRBskXVTM2l1Ao=; b=gknRmrS0Z3anmTDQD+6uTDEuAlBLOLv7IyExk327LlYLqpf6A4tfyD0Hq+CHC+ZLRGqskH a21Oq1AML3easABZgJBGuIS4x2euSKyjKaYwg40sllNZ9MDvtBD31x3K4CeAAGpc8Vv9C/ FYEi+XCP8YorhXcW2wmaO4BTfFl7DA7S80JIWnwLBnGcQW/4ekbiJ+3fslmE607YJzfPy3 pXeeXYRGjPgZmc/FaIpX20gOZDEAxkV0q9O8wP47baxL3v4L200eAOdJ6TPHdR80jbnEgl CZ/HuFnPADEO7luQ5dLUKfGFfMC1impAcUH/aLwg9XkudUKOa2uTPHYTFLwdKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726777492; a=rsa-sha256; cv=none; b=nBMmmAU9DLlWTVauzcDmUlcSj9XI8FG/9GdTvNgsN4LOrh8cc6DoI4lvpKeNz7nRfHu0SU tpA2yq5Pc9PKYjkML4LPYJ8T2zQnhVGhyR7CN0eOAREHdNSyxaPvQZpAR4p+IAfOT1MzHU EiHmhD2qT2wildhT4Vn964gjphN88NCp/dcRyEaPGRTTWCEB4wppsBP0bjkZBuRgNF/dqB ocLJ8M8WGQXlimylvGO9FVkTMRO/ZfXsus23bP2fPA2t1hWUEync9AjtjhBq5zAs14asLZ HpV4W1gbKxFUlW+mIoyXENHSWBcFNhs+lIRFx+KbKSHT8feK/HhIFgH3+b25cg== 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=1726777492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5pi2tBhl8ZZy/bJwzA9VEnwMkAHn+hRBskXVTM2l1Ao=; b=im7lBkQ4aGLWBqQQJzB4MWBMWehvOuNCJOJRpFoFDhHybT987fFT6IHak7UCLepdrOf30A zP0WOFIoVHDISS/A0Njsm7l9U8c5qM57M73fheg54wcsepqG2iyCGUnsMlXRxoKzqJMh7W 6cDF/sjCjZFabWRCojrsvtGA3xFfJnBW8SnwIYzDhHkTzaQdCHYhJ5Qm2e+3jHkxcm5Jar dZhr32eULmoDrUhMwTR3z5ydfFTXdiZnBRkK6lt4w58M+6iKuKc0gg0R+7QbuubZLuCvAy njisVF7CN1vnMc7qiRzRWTkyv048Tgkj3d/2CIlaSJcI58vYcDB9b6cpwgbcoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8n7R6s7lzLBc; Thu, 19 Sep 2024 20:24: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 48JKOpc1052839; Thu, 19 Sep 2024 20:24:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JKOphE052836; Thu, 19 Sep 2024 20:24:51 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:24:51 GMT Message-Id: <202409192024.48JKOphE052836@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 0062ba53df13 - stable/14 - ctld: parse config file independently of getting kernel info List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0062ba53df13d93c3611e28cb10613d0d8e6a03c Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=0062ba53df13d93c3611e28cb10613d0d8e6a03c commit 0062ba53df13d93c3611e28cb10613d0d8e6a03c Author: Alan Somers AuthorDate: 2024-06-10 23:48:49 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:23:56 +0000 ctld: parse config file independently of getting kernel info Separate the parsing of the config file from the reading of kernel port information. This has three benefits: * Separation of concerns makes future changes easier. * Allows the config file to be read earlier, which is necessary for fixing PR 271460. * Reduces total line count, by eliminating duplication between parse.y (for traditional config file) and uclparse.c (for UCL config file). Sponsored by: Axcient Reviewed by: mav Pull Request: https://github.com/freebsd/freebsd-src/pull/1287 (cherry picked from commit 969876fcee57ea1cb1c7b4d2ee757793cbfbe353) --- usr.sbin/ctld/ctld.c | 99 +++++++++++++++++++++++++++++++++++++----------- usr.sbin/ctld/ctld.h | 25 ++++++++---- usr.sbin/ctld/kernel.c | 6 +-- usr.sbin/ctld/parse.y | 37 +----------------- usr.sbin/ctld/uclparse.c | 37 ++---------------- 5 files changed, 100 insertions(+), 104 deletions(-) diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index f3d8d5807856..fdd3a49f8a48 100644 --- a/usr.sbin/ctld/ctld.c +++ b/usr.sbin/ctld/ctld.c @@ -99,7 +99,6 @@ conf_new(void) TAILQ_INIT(&conf->conf_auth_groups); TAILQ_INIT(&conf->conf_ports); TAILQ_INIT(&conf->conf_portal_groups); - TAILQ_INIT(&conf->conf_pports); TAILQ_INIT(&conf->conf_isns); conf->conf_isns_period = 900; @@ -118,7 +117,6 @@ conf_delete(struct conf *conf) struct target *targ, *tmp; struct auth_group *ag, *cagtmp; struct portal_group *pg, *cpgtmp; - struct pport *pp, *pptmp; struct isns *is, *istmp; assert(conf->conf_pidfh == NULL); @@ -131,8 +129,6 @@ conf_delete(struct conf *conf) auth_group_delete(ag); TAILQ_FOREACH_SAFE(pg, &conf->conf_portal_groups, pg_next, cpgtmp) portal_group_delete(pg); - TAILQ_FOREACH_SAFE(pp, &conf->conf_pports, pp_next, pptmp) - pport_delete(pp); TAILQ_FOREACH_SAFE(is, &conf->conf_isns, i_next, istmp) isns_delete(is); assert(TAILQ_EMPTY(&conf->conf_ports)); @@ -1178,27 +1174,27 @@ valid_iscsi_name(const char *name) } struct pport * -pport_new(struct conf *conf, const char *name, uint32_t ctl_port) +pport_new(struct kports *kports, const char *name, uint32_t ctl_port) { struct pport *pp; pp = calloc(1, sizeof(*pp)); if (pp == NULL) log_err(1, "calloc"); - pp->pp_conf = conf; + pp->pp_kports = kports; pp->pp_name = checked_strdup(name); pp->pp_ctl_port = ctl_port; TAILQ_INIT(&pp->pp_ports); - TAILQ_INSERT_TAIL(&conf->conf_pports, pp, pp_next); + TAILQ_INSERT_TAIL(&kports->pports, pp, pp_next); return (pp); } struct pport * -pport_find(const struct conf *conf, const char *name) +pport_find(const struct kports *kports, const char *name) { struct pport *pp; - TAILQ_FOREACH(pp, &conf->conf_pports, pp_next) { + TAILQ_FOREACH(pp, &kports->pports, pp_next) { if (strcasecmp(pp->pp_name, name) == 0) return (pp); } @@ -1206,11 +1202,11 @@ pport_find(const struct conf *conf, const char *name) } struct pport * -pport_copy(struct pport *pp, struct conf *conf) +pport_copy(struct pport *pp, struct kports *kports) { struct pport *ppnew; - ppnew = pport_new(conf, pp->pp_name, pp->pp_ctl_port); + ppnew = pport_new(kports, pp->pp_name, pp->pp_ctl_port); return (ppnew); } @@ -1221,7 +1217,7 @@ pport_delete(struct pport *pp) TAILQ_FOREACH_SAFE(port, &pp->pp_ports, p_ts, tport) port_delete(port); - TAILQ_REMOVE(&pp->pp_conf->conf_pports, pp, pp_next); + TAILQ_REMOVE(&pp->pp_kports->pports, pp, pp_next); free(pp->pp_name); free(pp); } @@ -1256,7 +1252,8 @@ port_new(struct conf *conf, struct target *target, struct portal_group *pg) } struct port * -port_new_ioctl(struct conf *conf, struct target *target, int pp, int vp) +port_new_ioctl(struct conf *conf, struct kports *kports, struct target *target, + int pp, int vp) { struct pport *pport; struct port *port; @@ -1270,7 +1267,7 @@ port_new_ioctl(struct conf *conf, struct target *target, int pp, int vp) return (NULL); } - pport = pport_find(conf, pname); + pport = pport_find(kports, pname); if (pport != NULL) { free(pname); return (port_new_pp(conf, target, pport)); @@ -1425,6 +1422,7 @@ target_delete(struct target *targ) port_delete(port); TAILQ_REMOVE(&targ->t_conf->conf_targets, targ, t_next); + free(targ->t_pport); free(targ->t_name); free(targ->t_redirection); free(targ); @@ -2687,21 +2685,17 @@ check_perms(const char *path) } static struct conf * -conf_new_from_file(const char *path, struct conf *oldconf, bool ucl) +conf_new_from_file(const char *path, bool ucl) { struct conf *conf; struct auth_group *ag; struct portal_group *pg; - struct pport *pp; int error; log_debugx("obtaining configuration from %s", path); conf = conf_new(); - TAILQ_FOREACH(pp, &oldconf->conf_pports, pp_next) - pport_copy(pp, conf); - ag = auth_group_new(conf, "default"); assert(ag != NULL); @@ -2756,9 +2750,60 @@ conf_new_from_file(const char *path, struct conf *oldconf, bool ucl) return (conf); } +/* + * If the config file specifies physical ports for any target, associate them + * with the config file. If necessary, create them. + */ +static int +new_pports_from_conf(struct conf *conf, struct kports *kports) +{ + struct target *targ; + struct pport *pp; + struct port *tp; + int ret, i_pp, i_vp; + + TAILQ_FOREACH(targ, &conf->conf_targets, t_next) { + if (!targ->t_pport) + continue; + + ret = sscanf(targ->t_pport, "ioctl/%d/%d", &i_pp, &i_vp); + if (ret > 0) { + tp = port_new_ioctl(conf, kports, targ, i_pp, i_vp); + if (tp == NULL) { + log_warnx("can't create new ioctl port " + "for target \"%s\"", targ->t_name); + return (1); + } + + continue; + } + + pp = pport_find(kports, targ->t_pport); + if (pp == NULL) { + log_warnx("unknown port \"%s\" for target \"%s\"", + targ->t_pport, targ->t_name); + return (1); + } + 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); + } + 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 (0); +} + int main(int argc, char **argv) { + struct kports kports; struct conf *oldconf, *newconf, *tmpconf; struct isns *newns; const char *config_path = DEFAULT_CONFIG_PATH; @@ -2801,8 +2846,9 @@ main(int argc, char **argv) log_init(debug); kernel_init(); - oldconf = conf_new_from_kernel(); - newconf = conf_new_from_file(config_path, oldconf, use_ucl); + TAILQ_INIT(&kports.pports); + oldconf = conf_new_from_kernel(&kports); + newconf = conf_new_from_file(config_path, use_ucl); if (newconf == NULL) log_errx(1, "configuration error; exiting"); @@ -2815,6 +2861,9 @@ main(int argc, char **argv) newconf->conf_debug = debug; } + if (new_pports_from_conf(newconf, &kports)) + log_errx(1, "Error associating physical ports; exiting"); + error = conf_apply(oldconf, newconf); if (error != 0) log_errx(1, "failed to apply configuration; exiting"); @@ -2842,17 +2891,21 @@ main(int argc, char **argv) if (sighup_received) { sighup_received = false; log_debugx("received SIGHUP, reloading configuration"); - tmpconf = conf_new_from_file(config_path, newconf, - use_ucl); + tmpconf = conf_new_from_file(config_path, use_ucl); if (tmpconf == NULL) { log_warnx("configuration error, " "continuing with old configuration"); + } else if (new_pports_from_conf(tmpconf, &kports)) { + log_warnx("Error associating physical ports, " + "continuing with old configuration"); + conf_delete(tmpconf); } else { if (debug > 0) tmpconf->conf_debug = debug; oldconf = newconf; newconf = tmpconf; + error = conf_apply(oldconf, newconf); if (error != 0) log_warnx("failed to reload " diff --git a/usr.sbin/ctld/ctld.h b/usr.sbin/ctld/ctld.h index bcc3c1956dc4..e1bab1a8e3b8 100644 --- a/usr.sbin/ctld/ctld.h +++ b/usr.sbin/ctld/ctld.h @@ -131,10 +131,11 @@ struct portal_group { uint16_t pg_tag; }; +/* Ports created by the kernel. Perhaps the "p" means "physical" ? */ struct pport { TAILQ_ENTRY(pport) pp_next; TAILQ_HEAD(, port) pp_ports; - struct conf *pp_conf; + struct kports *pp_kports; char *pp_name; uint32_t pp_ctl_port; @@ -190,6 +191,8 @@ struct target { char *t_name; char *t_alias; char *t_redirection; + /* Name of this target's physical port, if any, i.e. "isp0" */ + char *t_pport; }; struct isns { @@ -206,7 +209,6 @@ struct conf { TAILQ_HEAD(, auth_group) conf_auth_groups; TAILQ_HEAD(, port) conf_ports; TAILQ_HEAD(, portal_group) conf_portal_groups; - TAILQ_HEAD(, pport) conf_pports; TAILQ_HEAD(, isns) conf_isns; int conf_isns_period; int conf_isns_timeout; @@ -224,6 +226,11 @@ struct conf { bool conf_kernel_port_on; }; +/* Physical ports exposed by the kernel */ +struct kports { + TAILQ_HEAD(, pport) pports; +}; + #define CONN_SESSION_TYPE_NONE 0 #define CONN_SESSION_TYPE_DISCOVERY 1 #define CONN_SESSION_TYPE_NORMAL 2 @@ -247,11 +254,11 @@ struct ctld_connection { struct chap *conn_chap; }; -int parse_conf(struct conf *conf, const char *path); +int parse_conf(struct conf *newconf, const char *path); int uclparse_conf(struct conf *conf, const char *path); struct conf *conf_new(void); -struct conf *conf_new_from_kernel(void); +struct conf *conf_new_from_kernel(struct kports *kports); void conf_delete(struct conf *conf); int conf_verify(struct conf *conf); @@ -305,15 +312,17 @@ void isns_register(struct isns *isns, struct isns *oldisns); void isns_check(struct isns *isns); void isns_deregister(struct isns *isns); -struct pport *pport_new(struct conf *conf, const char *name, +struct pport *pport_new(struct kports *kports, const char *name, uint32_t ctl_port); -struct pport *pport_find(const struct conf *conf, const char *name); -struct pport *pport_copy(struct pport *pport, struct conf *conf); +struct pport *pport_find(const struct kports *kports, + const char *name); +struct pport *pport_copy(struct pport *pp, struct kports *kports); void pport_delete(struct pport *pport); struct port *port_new(struct conf *conf, struct target *target, struct portal_group *pg); -struct port *port_new_ioctl(struct conf *conf, struct target *target, +struct port *port_new_ioctl(struct conf *conf, + struct kports *kports, struct target *target, int pp, int vp); struct port *port_new_pp(struct conf *conf, struct target *target, struct pport *pp); diff --git a/usr.sbin/ctld/kernel.c b/usr.sbin/ctld/kernel.c index 5f61188aa5d6..fdd1b7c87db6 100644 --- a/usr.sbin/ctld/kernel.c +++ b/usr.sbin/ctld/kernel.c @@ -415,7 +415,7 @@ cctl_char_handler(void *user_data, const XML_Char *str, int len) } struct conf * -conf_new_from_kernel(void) +conf_new_from_kernel(struct kports *kports) { struct conf *conf = NULL; struct target *targ; @@ -560,13 +560,13 @@ retry_port: if (port->cfiscsi_target == NULL) { log_debugx("CTL port %u \"%s\" wasn't managed by ctld; ", port->port_id, name); - pp = pport_find(conf, 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(conf, name, port->port_id); + pp = pport_new(kports, name, port->port_id); if (pp == NULL) { log_warnx("pport_new failed"); continue; diff --git a/usr.sbin/ctld/parse.y b/usr.sbin/ctld/parse.y index 8909df2a8345..d8274b623d3a 100644 --- a/usr.sbin/ctld/parse.y +++ b/usr.sbin/ctld/parse.y @@ -832,42 +832,7 @@ target_portal_group: PORTAL_GROUP STR STR target_port: PORT STR { - struct pport *pp; - struct port *tp; - int ret, i_pp, i_vp = 0; - - ret = sscanf($2, "ioctl/%d/%d", &i_pp, &i_vp); - if (ret > 0) { - tp = port_new_ioctl(conf, target, i_pp, i_vp); - if (tp == NULL) { - log_warnx("can't create new ioctl port for " - "target \"%s\"", target->t_name); - free($2); - return (1); - } - } else { - pp = pport_find(conf, $2); - if (pp == NULL) { - log_warnx("unknown port \"%s\" for target \"%s\"", - $2, target->t_name); - free($2); - return (1); - } - if (!TAILQ_EMPTY(&pp->pp_ports)) { - log_warnx("can't link port \"%s\" to target \"%s\", " - "port already linked to some target", - $2, target->t_name); - free($2); - return (1); - } - tp = port_new_pp(conf, target, pp); - if (tp == NULL) { - log_warnx("can't link port \"%s\" to target \"%s\"", - $2, target->t_name); - free($2); - return (1); - } - } + target->t_pport = strdup($2); free($2); } diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index 8bd1ca88d166..e9e42bdf953e 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -853,41 +853,10 @@ uclparse_target(const char *name, const ucl_object_t *top) } if (!strcmp(key, "port")) { - struct pport *pp; - struct port *tp; - const char *value = ucl_object_tostring(obj); - int ret, i_pp, i_vp = 0; - - ret = sscanf(value, "ioctl/%d/%d", &i_pp, &i_vp); - if (ret > 0) { - tp = port_new_ioctl(conf, target, i_pp, i_vp); - if (tp == NULL) { - log_warnx("can't create new ioctl port " - "for target \"%s\"", target->t_name); - return (1); - } + const char *value; - continue; - } - - pp = pport_find(conf, value); - if (pp == NULL) { - log_warnx("unknown port \"%s\" for target \"%s\"", - value, target->t_name); - return (1); - } - if (!TAILQ_EMPTY(&pp->pp_ports)) { - log_warnx("can't link port \"%s\" to target \"%s\", " - "port already linked to some target", - value, target->t_name); - return (1); - } - tp = port_new_pp(conf, target, pp); - if (tp == NULL) { - log_warnx("can't link port \"%s\" to target \"%s\"", - value, target->t_name); - return (1); - } + value = ucl_object_tostring(obj); + target->t_pport = strdup(value); } if (!strcmp(key, "redirect")) { From nobody Thu Sep 19 20:24:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8n7T3bHkz5XLcF; Thu, 19 Sep 2024 20:24: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 4X8n7T0bqJz4cqd; Thu, 19 Sep 2024 20:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726777493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NFmUvHHuWrKTKd5DiTKt+OZGxLNBsE/0vku+Y7Fjtl4=; b=PAnHuxhe0sQr2SHahqIkXMvJc41Y+8BvclBEStsi7g0SFBOZ0Pz/Gh1+LCKpkdrYDaamrq Ly5K3nSEBaHc4MQK5sY87THUrq/60z53gKsCvmzcejLtX2Jk8xJ9RGSvqQKJZFg5wq9Y/J jlAAOJJeFyVAsbSlUigJsXLB4SUz2gLPXfPhqDeEA3WsI61TqcKVpzbQBHIWxvsWWXWz/X +8YCB/Muz3rEVT0MnvGk2gKRhj82mD1WQCVjvYy2wgflr7pqLwcHG1w/dy4N6ThBFUf4dn ZyXWaX3gbrixsEZJ+XOJpBN5AYrHBoYk80BeJusQs38KwLY37tMd8DaDUQ7AzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726777493; a=rsa-sha256; cv=none; b=FpdJFnNz1ehYQ7UP6WGUTamKBHNcG8ppjKmC01VUp7ZWuWq7nJfjv7HeZKrwuWtJs7OUrg +7w0zdNvpQR1x4i57GxucdoqjOBASgglskwg6MjhKZY+T6tyq7xCWqW/AG5+0HDYZeKmrV a1wVezL7QYIpP6hM7nq54uEYeSNTEWedqAt8OzbN2gpoLZ7Yuqvumn/LemgFFK6AB6pTWT TaIaMSbuz7tRUQyGi7FJb+9PpUwRcsEWRGrRZ/gjEJCGaQ/meJf2n7jZY5Q0qn89GIAeyd 4xq5GQx7WAPkYUm4BK/P7kpA5bTFy8ZQw8bQSxpfBJfmNgaT8rzg6i0QzQOW6A== 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=1726777493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NFmUvHHuWrKTKd5DiTKt+OZGxLNBsE/0vku+Y7Fjtl4=; b=dV5XvPvcfdgUghjfcmzE9Pas0ClHCWeWMs19C95d+PtlXkrJBXAhwHW+yRmpNi4HhYBatG dMVuRKikjladE7+QZpLkxPZx+fFhvnwZxttNnbobaaAVmkadHdSt99WFRpbo1EcRdGNPf2 4ZSfHqrhQHAdT3pyhEuiqCj7KhwLAqvDuIfa4ruuYKoW3ah+xMAvVKW4V6I2EcQhO886OC 7ZrZ00O/87j+xyAWMiwg1haNTwh65GSqouR+m4OC875wWJqnK3dexPWuOXytVvImQx7K/j eJu0JfQhJ/GLYwd6TzDz0QQW+6Z/vX97yK3KCVZKnPEdH4rRwthXpWA5VzEwOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8n7T0CdZzL6N; Thu, 19 Sep 2024 20:24: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 48JKOqDS052895; Thu, 19 Sep 2024 20: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 48JKOq3R052892; Thu, 19 Sep 2024 20:24:52 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:24:52 GMT Message-Id: <202409192024.48JKOq3R052892@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 37357ba28a6d - stable/14 - ctl: add tests for START STOP UNIT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 37357ba28a6dd984043a60e16084bd79071d95e2 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=37357ba28a6dd984043a60e16084bd79071d95e2 commit 37357ba28a6dd984043a60e16084bd79071d95e2 Author: Alan Somers AuthorDate: 2024-08-23 20:51:32 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:23:59 +0000 ctl: add tests for START STOP UNIT Sponsored by: Axcient Reviewed by: emaste, markj Pull Request: https://github.com/freebsd/freebsd-src/pull/1409 (cherry picked from commit fe1755fa6bb4039c1e00f5226c473a024685005b) --- tests/sys/cam/ctl/Makefile | 5 +- tests/sys/cam/ctl/ctl.subr | 94 ++++++++++++++++++++++ tests/sys/cam/ctl/read_buffer.sh | 72 +++-------------- tests/sys/cam/ctl/start_stop_unit.sh | 150 +++++++++++++++++++++++++++++++++++ 4 files changed, 257 insertions(+), 64 deletions(-) diff --git a/tests/sys/cam/ctl/Makefile b/tests/sys/cam/ctl/Makefile index 0e6f39a1a56f..1b857bb0c291 100644 --- a/tests/sys/cam/ctl/Makefile +++ b/tests/sys/cam/ctl/Makefile @@ -2,9 +2,12 @@ PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/cam/ctl +${PACKAGE}FILES+= ctl.subr + ATF_TESTS_SH+= read_buffer +ATF_TESTS_SH+= start_stop_unit # Must be exclusive because it disables/enables camsim -TEST_METADATA.read_buffer+= is_exclusive="true" +TEST_METADATA+= is_exclusive="true" .include diff --git a/tests/sys/cam/ctl/ctl.subr b/tests/sys/cam/ctl/ctl.subr new file mode 100644 index 000000000000..18991e0fa144 --- /dev/null +++ b/tests/sys/cam/ctl/ctl.subr @@ -0,0 +1,94 @@ +# vim: filetype=sh + +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Axcient +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS DOCUMENTATION 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. + +load_modules() { + if ! kldstat -q -m ctl; then + kldload ctl || atf_skip "could not load ctl kernel mod" + fi + if ! ctladm port -o on -p 0; then + atf_skip "could not enable the camsim frontend" + fi +} + +find_device() { + LUN=$1 + + # Rescan camsim + # XXX camsim doesn't update when creating a new device. Worse, a + # rescan won't look for new devices. So we must disable/re-enable it. + # Worse still, enabling it isn't synchronous, so we need a retry loop + # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281000 + retries=5 + ctladm port -o off -p 0 >/dev/null + ctladm port -o on -p 0 >/dev/null + HEXLUN=`printf %x $LUN` + while true; do + dev=`camcontrol devlist | awk -v lun=$HEXLUN '/FREEBSD CTL/ && $9==lun {split($10, fields, /[,]/); print fields[1];}' | sed 's:[()]::'` + if [ -z "$dev" -o ! -c /dev/$dev ]; then + retries=$(( $retries - 1 )) + if [ $retries -eq 0 ]; then + cat lun-create.txt + camcontrol devlist + atf_fail "Could not find GEOM device" + fi + sleep 0.1 + continue + fi + break + done + # Ensure that it's actually ready. camcontrol may report the disk's + # ident before it's actually ready to receive commands. Maybe that's + # because all of the GEOM providers must probe it? + while true; do + dd if=/dev/$dev bs=4096 count=1 of=/dev/null >/dev/null 2>/dev/null && break + retries=$(( $retries - 1 )) + if [ $retries -eq 0 ]; then + atf_fail "Device never became ready" + fi + sleep 0.1 + done +} + +# Create a CTL LUN +create_ramdisk() { + EXTRA_ARGS=$* + + atf_check -o save:lun-create.txt ctladm create -b ramdisk -s 1048576 $EXTRA_ARGS + atf_check egrep -q "LUN created successfully" lun-create.txt + LUN=`awk '/LUN ID:/ {print $NF}' lun-create.txt` + if [ -z "$LUN" ]; then + atf_fail "Could not find LUN id" + fi + find_device $LUN +} + +cleanup() { + if [ -e "lun-create.txt" ]; then + lun_id=`awk '/LUN ID:/ {print $NF}' lun-create.txt` + ctladm remove -b ramdisk -l $lun_id > /dev/null + fi +} diff --git a/tests/sys/cam/ctl/read_buffer.sh b/tests/sys/cam/ctl/read_buffer.sh index 4a84eb6b9725..e54b0dadc134 100644 --- a/tests/sys/cam/ctl/read_buffer.sh +++ b/tests/sys/cam/ctl/read_buffer.sh @@ -28,61 +28,7 @@ # * Buffer ID other than 0. We don't support those. # * The Mode Specific field. We don't support it. -load_modules() { - if ! kldstat -q -m ctl; then - kldload ctl || atf_skip "could not load ctl kernel mod" - fi - if ! ctladm port -o on -p 0; then - atf_skip "could not enable the camsim frontend" - fi -} - -find_da_device() { - SERIAL=$1 - - # Rescan camsim - # XXX camsim doesn't update when creating a new device. Worse, a - # rescan won't look for new devices. So we must disable/re-enable it. - # Worse still, enabling it isn't synchronous, so we need a retry loop - # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281000 - retries=5 - ctladm port -o off -p 0 >/dev/null - ctladm port -o on -p 0 >/dev/null - while true; do - - # Find the corresponding da device - da=`geom disk list | awk -v serial=$SERIAL ' /Geom name:/ { devname=$NF } /ident:/ && $NF ~ serial { print devname; exit } '` - if [ -z "$da" ]; then - retries=$(( $retries - 1 )) - if [ $retries -eq 0 ]; then - cat lun-create.txt - geom disk list - atf_fail "Could not find da device" - fi - sleep 0.1 - continue - fi - break - done -} - -# Create a CTL LUN -create_ramdisk() { - atf_check -o save:lun-create.txt ctladm create -b ramdisk -s 1048576 - atf_check egrep -q "LUN created successfully" lun-create.txt - SERIAL=`awk '/Serial Number:/ {print $NF}' lun-create.txt` - if [ -z "$SERIAL" ]; then - atf_fail "Could not find serial number" - fi - find_da_device $SERIAL -} - -cleanup() { - if [ -e "lun-create.txt" ]; then - lun_id=`awk '/LUN ID:/ {print $NF}' lun-create.txt` - ctladm remove -b ramdisk -l $lun_id > /dev/null - fi -} +. $(atf_get_srcdir)/ctl.subr atf_test_case basic cleanup basic_head() @@ -98,10 +44,10 @@ basic_body() # Write to its buffer cp /etc/passwd input len=`wc -c input | cut -wf 2` - atf_check -o ignore sg_write_buffer --mode data --in=input /dev/$da + atf_check -o ignore sg_write_buffer --mode data --in=input /dev/$dev # Read it back - atf_check -o save:output sg_read_buffer --mode data -l $len --raw /dev/$da + atf_check -o save:output sg_read_buffer --mode data -l $len --raw /dev/$dev # And verify if ! diff -q input output; then @@ -126,7 +72,7 @@ desc_body() { create_ramdisk - atf_check -o inline:" 00 00 04 00 00\n" sg_read_buffer --hex --mode desc /dev/$da + atf_check -o inline:" 00 00 04 00 00\n" sg_read_buffer --hex --mode desc /dev/$dev } desc_cleanup() { @@ -147,10 +93,10 @@ length_body() # Write to its buffer atf_check -o ignore -e ignore dd if=/dev/random of=input bs=4096 count=1 atf_check -o ignore -e ignore dd if=input bs=2048 count=1 of=expected - atf_check -o ignore sg_write_buffer --mode data --in=input /dev/$da + atf_check -o ignore sg_write_buffer --mode data --in=input /dev/$dev # Read it back - atf_check -o save:output sg_read_buffer --mode data -l 2048 --raw /dev/$da + atf_check -o save:output sg_read_buffer --mode data -l 2048 --raw /dev/$dev # And verify if ! diff -q expected output; then @@ -176,10 +122,10 @@ offset_body() # Write to its buffer atf_check -o ignore -e ignore dd if=/dev/random of=input bs=4096 count=1 atf_check -o ignore -e ignore dd if=input iseek=2 bs=512 count=1 of=expected - atf_check -o ignore sg_write_buffer --mode data --in=input /dev/$da + atf_check -o ignore sg_write_buffer --mode data --in=input /dev/$dev # Read it back - atf_check -o save:output sg_read_buffer --mode data -l 512 -o 1024 --raw /dev/$da + atf_check -o save:output sg_read_buffer --mode data -l 512 -o 1024 --raw /dev/$dev # And verify if ! diff -q expected output; then @@ -203,7 +149,7 @@ uninitialized_body() create_ramdisk # Read an uninitialized buffer - atf_check -o save:output sg_read_buffer --mode data -l 262144 --raw /dev/$da + atf_check -o save:output sg_read_buffer --mode data -l 262144 --raw /dev/$dev # And verify atf_check -o ignore -e ignore dd if=/dev/zero bs=262144 count=1 of=expected diff --git a/tests/sys/cam/ctl/start_stop_unit.sh b/tests/sys/cam/ctl/start_stop_unit.sh new file mode 100644 index 000000000000..163011c8f574 --- /dev/null +++ b/tests/sys/cam/ctl/start_stop_unit.sh @@ -0,0 +1,150 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Axcient +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS DOCUMENTATION 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. + +. $(atf_get_srcdir)/ctl.subr + +# TODO: +# * format layer +# * IMM bit +# * LOEJ +# * noflush +# * power conditions + +# Not Tested +# * Power Condition Modifier (not implemented in CTL) + +atf_test_case eject cleanup +eject_head() +{ + atf_set "descr" "START STOP UNIT can eject a CDROM device" + atf_set "require.user" "root" + atf_set "require.progs" sg_start sg_readcap +} +eject_body() +{ + # -t 5 for CD/DVD device type + create_ramdisk -t 5 + + # Verify that the device is online + # Too bad I don't know of any other way to check that it's stopped but + # by using sg_readcap. + atf_check -o ignore -e not-match:"Device not ready" sg_readcap /dev/$dev + + # eject the device + atf_check sg_start --eject /dev/$dev + + # Ejected, it should now return ENXIO + atf_check -s exit:1 -o ignore -e match:"Device not configured" dd if=/dev/$dev bs=4096 count=1 of=/dev/null +} +eject_cleanup() +{ + cleanup +} + +atf_test_case load cleanup +load_head() +{ + atf_set "descr" "START STOP UNIT can load a CDROM device" + atf_set "require.user" "root" + atf_set "require.progs" sg_start sg_readcap +} +load_body() +{ + # -t 5 for CD/DVD device type + create_ramdisk -t 5 + + # eject the device + atf_check sg_start --eject /dev/$dev + + # Verify that it's offline it should now return ENXIO + atf_check -s exit:1 -o ignore -e match:"Device not configured" dd if=/dev/$dev bs=4096 count=1 of=/dev/null + + # Load it again + atf_check sg_start --load /dev/$dev + + atf_check -o ignore -e ignore dd if=/dev/$dev bs=4096 count=1 of=/dev/null + atf_check -o ignore -e not-match:"Device not ready" sg_readcap /dev/$dev +} +load_cleanup() +{ + cleanup +} + +atf_test_case start cleanup +start_head() +{ + atf_set "descr" "START STOP UNIT can start a device" + atf_set "require.user" "root" + atf_set "require.progs" sg_start sg_readcap +} +start_body() +{ + create_ramdisk + + # stop the device + atf_check sg_start --stop /dev/$dev + + # And start it again + atf_check sg_start /dev/$dev + + # Now sg_readcap should succeed. Too bad I don't know of any other way + # to check that it's stopped. + atf_check -o ignore -e not-match:"Device not ready" sg_readcap /dev/$dev +} +start_cleanup() +{ + cleanup +} + +atf_test_case stop cleanup +stop_head() +{ + atf_set "descr" "START STOP UNIT can stop a device" + atf_set "require.user" "root" + atf_set "require.progs" sg_start sg_readcap +} +stop_body() +{ + create_ramdisk + + # Stop the device + atf_check sg_start --stop /dev/$dev + + # Now sg_readcap should fail. Too bad I don't know of any other way to + # check that it's stopped. + atf_check -s exit:2 -e match:"Device not ready" sg_readcap /dev/$dev +} +stop_cleanup() +{ + cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case eject + atf_add_test_case load + atf_add_test_case start + atf_add_test_case stop +} From nobody Thu Sep 19 20:24:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8n7V5HwTz5XLZB; Thu, 19 Sep 2024 20:24: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 4X8n7V1tN8z4csf; Thu, 19 Sep 2024 20:24:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726777494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lxDATMmRlQh60Yq1irFjz/gAV5iPba4I7O7MIxpOrGc=; b=fly3mJhdD8cD9Baaf8kbyjkolp/9e1zP+beh3f17c9eefVNReXOgvMe2sMmEWWVeHY7Emf RHphiVXR9zBXxWHNuoLrb6Ff6g0j26vDeUZmOyOJ07rsdxUvcw1TA+RMgFlUNa+3OWyqcE r29zkRwQbHrRfVdH6X/xoa5tceeY8zvIRfD6pQfERm3KsoW8FWrVXJIpaW30CFqFVcyG0E FQudLULZ0OpEA9dvgQqnjpvupjdAkpDwMC/UspXIKCJ3pgKYlqYC2LzLpdllJ6RqgLGUI8 5kUtrU2NcXIqQ3b20VRE/brMD/cB3nN4W7m3Z3vEc97WjSwuc98Afqlo2F13Tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726777494; a=rsa-sha256; cv=none; b=IgKReYIRDglt6G/6InYtuCfD8bpeLTseSHwVHtcjhAj1pJ6TPEcVzPRjH+pONiv3ls5DnT DVZ5qjGALd+mLMrxJnXn7Ye5JxMU4zqVxK4nMZrlgYJpTxOBc4E8+Iiymzb2WCu/a9F7D9 qyDFj3MCxSYV7PEtJ9Q7tiK1S70FjGdcieKnhvcZU2CQSE/ljHcPDPrLNs6Gd2HNe0fhoh VhPOLja6jA0grXnLVT8bQQKDHC1zcF91Vxy6wYstUIp4mwRLynwHvS8dOwfRWhQk9NHyUG zSTXxmdPTvis6WTB5FOjKVmPTDi1iosH4x495bLwjQOmvUwqdTLkoWrvHFwOeg== 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=1726777494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lxDATMmRlQh60Yq1irFjz/gAV5iPba4I7O7MIxpOrGc=; b=VIH1v4B5w5HuqnU4HVcAGtvYhlBOrdI7aoCtHrLNJl+Pu1YE+V71jS8FP5mGMmX0NHE1EI bj+DVENUTlfF0Nt47rwwgVXOFAQDLNcfqJZbL9kjypD+8RUAimnQDiuNRMwprf48eq3+EX olZS/r7VtefsR2Z6uJZJ/EwYF2zxkzNvdcb40E47VmYguzcEUOVl7VFxCufIfCVxvgDZWa 0rY2Pf91Dp2+SeTjiE1lM5yXDmHGbunr1hU5fGkUHGEGx+jFCeay9BLJooi+N0rlbAQJX9 mRF8T22LuQiEUzQ4Wpj7BAMr6TIAk8UEPptxt26YjbBJtW28LuVltLePJJoDgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8n7V1NLNzKtL; Thu, 19 Sep 2024 20:24: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 48JKOsaU052953; Thu, 19 Sep 2024 20:24:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JKOsbN052950; Thu, 19 Sep 2024 20:24:54 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:24:54 GMT Message-Id: <202409192024.48JKOsbN052950@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: e2217f809732 - stable/14 - ctl: add tests for PREVENT ALLOW MEDIUM REMOVAL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e2217f809732666a1124147b8cab1aef334acaa5 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=e2217f809732666a1124147b8cab1aef334acaa5 commit e2217f809732666a1124147b8cab1aef334acaa5 Author: Alan Somers AuthorDate: 2024-08-26 20:01:44 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:24:02 +0000 ctl: add tests for PREVENT ALLOW MEDIUM REMOVAL Sponsored by: Axcient Reviewed by: emaste, markj Pull Request: https://github.com/freebsd/freebsd-src/pull/1409 (cherry picked from commit e234a72bb8c0e8e25ea8a879582e85bb2e09f096) --- tests/sys/cam/ctl/Makefile | 1 + tests/sys/cam/ctl/prevent.sh | 161 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 162 insertions(+) diff --git a/tests/sys/cam/ctl/Makefile b/tests/sys/cam/ctl/Makefile index 1b857bb0c291..1333397af464 100644 --- a/tests/sys/cam/ctl/Makefile +++ b/tests/sys/cam/ctl/Makefile @@ -4,6 +4,7 @@ TESTSDIR= ${TESTSBASE}/sys/cam/ctl ${PACKAGE}FILES+= ctl.subr +ATF_TESTS_SH+= prevent ATF_TESTS_SH+= read_buffer ATF_TESTS_SH+= start_stop_unit diff --git a/tests/sys/cam/ctl/prevent.sh b/tests/sys/cam/ctl/prevent.sh new file mode 100644 index 000000000000..a5a187dad8ff --- /dev/null +++ b/tests/sys/cam/ctl/prevent.sh @@ -0,0 +1,161 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Axcient +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS DOCUMENTATION 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. + +. $(atf_get_srcdir)/ctl.subr + +# TODO +# * multiple initiators may block removal + +# Not Tested +# * persistent removal (not implemented in CTL) + +atf_test_case allow cleanup +allow_head() +{ + atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL will prevent a CD from being ejected" + atf_set "require.user" "root" + atf_set "require.progs" sg_prevent sg_start +} +allow_body() +{ + # -t 5 for CD/DVD device type + create_ramdisk -t 5 + + atf_check sg_prevent --prevent 1 /dev/$dev + + # Now sg_start --eject should fail + atf_check -s exit:5 -e match:"Illegal request" sg_start --eject /dev/$dev + + atf_check sg_prevent --allow /dev/$dev + + # Now sg_start --eject should work again + atf_check -s exit:0 sg_start --eject /dev/$dev +} +allow_cleanup() +{ + cleanup +} + +atf_test_case allow_idempotent cleanup +allow_idempotent_head() +{ + atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL is idempotent when run from the same initiator" + atf_set "require.user" "root" + atf_set "require.progs" sg_prevent sg_start +} +allow_idempotent_body() +{ + # -t 5 for CD/DVD device type + create_ramdisk -t 5 + + atf_check sg_prevent --allow /dev/$dev + atf_check sg_prevent --allow /dev/$dev + atf_check sg_prevent --prevent 1 /dev/$dev + + # Even though we ran --allow twice, a single --prevent command should + # suffice to prevent ejecting. Multiple ALLOW/PREVENT commands from + # the same initiator don't have any additional effect. + atf_check -s exit:5 -e match:"Illegal request" sg_start --eject /dev/$dev +} +allow_idempotent_cleanup() +{ + cleanup +} + +atf_test_case nonremovable cleanup +nonremovable_head() +{ + atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL may not be used on non-removable media" + atf_set "require.user" "root" + atf_set "require.progs" sg_prevent +} +nonremovable_body() +{ + # Create a HDD, not a CD, device + create_ramdisk -t 0 + + atf_check -s exit:9 -e match:"Invalid opcode" sg_prevent /dev/$dev +} +nonremovable_cleanup() +{ + cleanup +} + +atf_test_case prevent cleanup +prevent_head() +{ + atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL will prevent a CD from being ejected" + atf_set "require.user" "root" + atf_set "require.progs" sg_prevent sg_start +} +prevent_body() +{ + # -t 5 for CD/DVD device type + create_ramdisk -t 5 + + atf_check sg_prevent --prevent 1 /dev/$dev + + # Now sg_start --eject should fail + atf_check -s exit:5 -e match:"Illegal request" sg_start --eject /dev/$dev +} +prevent_cleanup() +{ + cleanup +} + +atf_test_case prevent_idempotent cleanup +prevent_idempotent_head() +{ + atf_set "descr" "SCSI PREVENT ALLOW MEDIUM REMOVAL is idempotent when run from the same initiator" + atf_set "require.user" "root" + atf_set "require.progs" sg_prevent sg_start +} +prevent_idempotent_body() +{ + # -t 5 for CD/DVD device type + create_ramdisk -t 5 + + atf_check sg_prevent --prevent 1 /dev/$dev + atf_check sg_prevent --prevent 1 /dev/$dev + atf_check sg_prevent --allow /dev/$dev + + # Even though we ran prevent idempotent and allow only once, eject + # should be allowed. Multiple PREVENT commands from the same initiator + # don't have any additional effect. + atf_check sg_start --eject /dev/$dev +} +prevent_idempotent_cleanup() +{ + cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case allow + atf_add_test_case allow_idempotent + atf_add_test_case nonremovable + atf_add_test_case prevent + atf_add_test_case prevent_idempotent +} From nobody Thu Sep 19 20:24:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8n7W3Rnmz5XLZF; Thu, 19 Sep 2024 20:24: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 4X8n7W2V1jz4csr; Thu, 19 Sep 2024 20:24:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726777495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3IWqZeopkFMJRbRxfJ3NuT89FAXHuhvIZrQpGajOc3M=; b=nsIGKc/oKGtGjfXmMd8M6D9O2QQXbc3mHMje2FIioHru1I+XntazcXLPvi2Gev48dTDmEQ t18r2CxbfWGdqhmHiEX/rNFs5LC2YRMzCrJ5PXLjyjO/HXSLP1TV3l7E7wlm9m9YSneTfz QQ9eSb5EA4PG866hECaVwEpQCQPjUGToT42dF5l1HZbKLBhgkhQmu5YSqhR8k5Xo5q4DnM 6Id7aRFPn04QMiLxfeIbycctBbYsSwzZVNu/cRp3jiYvAcYrQhW4U1DDwvJTIvWxXiVt29 iEfsD/2KcYdi8fUP6DX8DqdzfsxlI+v4mg5/PifEGWnZqugxa1I+wbq8MJyHxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726777495; a=rsa-sha256; cv=none; b=MsbU5c4kvhasKJ0BMKiAUdw92xBJTnG2thm8UMFbxGgghQqyrZ1FpgV/rXcAFe3Z1ibuVI ETbU3iMavwLQVYhvuSwK9emmra808sJ7rEjaTFxY3KuVk0hLXlfO/zMZb+HEzd21R4QKBf zANbviTuY1f3JkYFAyECGrBKb6D6tPrE67oa4bvTAtrdBzjgwQoby6P8fodskVhDXYyZWH z3oztMUjc9dfF+B+38ocy0s4Thdsr+C2m/D13Ct1WCfp9lnVcLoxBb4I9cDsP9dlMcleCE 77GjyvkF35IV/NsLh7TlfQGQ0Cz0NPQQqW9IazF0f4M7YKJ8dbPwnmQ2CeAKZA== 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=1726777495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3IWqZeopkFMJRbRxfJ3NuT89FAXHuhvIZrQpGajOc3M=; b=qZOWqJMv9pihNECDtjXKQU5Ip1jr67HHoQryPe0vCNnVuBRkwPPCzJ0OgePQ8zwNR4c6rq kdG8XeYLcW4jjHzga975QYcqraixEoaJUhdIKtF8OmlCU13MIswVphqgALA6ZMloLBXVNK xZZrwBNksxRnWsgsA+VRMs8wNtvPdScK/tv7BsE/IUEWzkyJc7UyNO26ozyMHLjjYaZ/2S m7ejo/F/e9yt+LS7je/zHKNQfLBOOo8q7uGnL76S5NfZ+BlcUcopnNH3hwpjz9rhoJHPuL d2ah5hTkgeze+rY6BmmYk1wi6ugi7wPSUyd8yyW5m0y66NCIjLBsLWDUkBAYWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8n7W25lkzL8S; Thu, 19 Sep 2024 20:24: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 48JKOt9S053010; Thu, 19 Sep 2024 20:24:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JKOtKa053007; Thu, 19 Sep 2024 20:24:55 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:24:55 GMT Message-Id: <202409192024.48JKOtKa053007@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: c6d11ae455a9 - stable/14 - ctl: fix uninitialized data used by PREVENT ALLOW MEDIUM REMOVAL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c6d11ae455a9c5b6e927ac0a5d63570081074208 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=c6d11ae455a9c5b6e927ac0a5d63570081074208 commit c6d11ae455a9c5b6e927ac0a5d63570081074208 Author: Alan Somers AuthorDate: 2024-08-26 20:44:24 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:24:04 +0000 ctl: fix uninitialized data used by PREVENT ALLOW MEDIUM REMOVAL Zero-initialize the bitmap of preventers. Otherwise, the START STOP UNIT command may not have the intended effect. Sponsored by: Axcient Reviewed by: emaste, markj Pull Request: https://github.com/freebsd/freebsd-src/pull/1409 (cherry picked from commit 0f2b2276abc305905e7d88619a7abca26b0dd7eb) --- sys/cam/ctl/ctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index 0e0d79d15d8f..9a99823a5c1c 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -4771,7 +4771,7 @@ fail: ctl_tpc_lun_init(lun); if (lun->flags & CTL_LUN_REMOVABLE) { lun->prevent = malloc((CTL_MAX_INITIATORS + 31) / 32 * 4, - M_CTL, M_WAITOK); + M_CTL, M_WAITOK | M_ZERO); } /* From nobody Thu Sep 19 20:25:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8n8W1S2hz5XLkK; Thu, 19 Sep 2024 20:25: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 4X8n8W0DBmz4f6P; Thu, 19 Sep 2024 20:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726777547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dGht8E1QUoZcVZCLM9eW5pchdC9+XgDF41uLXw74Eo0=; b=SSQPt0z5Qq/+zFOikw0I7f3/AUZBVKNDpaVVgmvKdhignzF0fl3vPjzLOot+AzkmHM7E3q BMojlQMWXa80olfx9+Zuy0whVVOwzQPvZaiLsK/nB3nfiDvJDa8t171gddToYG8skqjL5U Jutqn9R0Dnw0ltHK4opXCVYSD7V+z541ZMGF6Pb5AmcY2caSAyHH/nK8SqDbf5K6bjMqfE fXCt7tGN7RJAttvT9bFvd2KGNYbPlQtvyO/loFUuQ2KIxbttlRR452UU4zMvhNXES6WWsX /qclE3TNKMIP8h+6al42vGeGVw7zeazMgHzTZtlhowRmD/wNPvz61F5+EzZhxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726777547; a=rsa-sha256; cv=none; b=LX3PUJ6HKRBj1w1MDc2aOa41COKFLeivizpwaQjuD4LnPM6k94DhOBm7MLgX5hhlTfQqMV fJ0aGDJOyVcF2vW0OQ57O3hkT0+6mfoCU4dgUUWeGpp5cbF0gzZMHoj9tQ7hG+N7zvYKpi 5JVsSR2RinTeZ+s1L+Z9rfiwD9/XU8xPjZFlakBmQVMn1ZwdTZhf1tKDfcimVnRfGDZC82 qbxZzFiY9zQdcwIDAGnmuwfJ02GQ3tHCX1NdOO5dUO2sUnsgjfhb1qfPihdv7elvu+Cz6d XEwLmtMPFpQaEQGK7GCo8itb7FtdI72JxhNa5Ifbcfou4Jq+1aMK0AAkwiVGdw== 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=1726777547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dGht8E1QUoZcVZCLM9eW5pchdC9+XgDF41uLXw74Eo0=; b=tsUMHCtKkig4X2KQH0qVMIys3p2RIt7Dggxv79smUYeSphP3HVLQ56gg4LTTdBJdB+cYwE w9QdbLiyMk9KP6dNRbixondwGTQbFzMnt5riyYbYk7Kz8zRdc47GhvhkRvuX55TWwSzJ1Y 606KwN0P36FbFBJ5/XYUGA4zQqPZBD1yJjCYpjvfqbfCujoPYXfk6gVxUmzsP+QpmzNWv6 4PW9VnwRs8y8E4U8eiER45b9vu4k2znMehPtKa3NrmOA+84coTvRA0Hlk4uCzqlHHa1ZV0 cu3qdryvkRwnR3mDZc7qxTg6/zdv+Mun5hVPu8l3xbOO9bQVN5pvP0zHoVp+DA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8n8V6x9LzKxq; Thu, 19 Sep 2024 20:25: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 48JKPkIB053296; Thu, 19 Sep 2024 20:25:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JKPk38053293; Thu, 19 Sep 2024 20:25:46 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:25:46 GMT Message-Id: <202409192025.48JKPk38053293@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 001d66bb189d - stable/14 - targ: fix compiling the example List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 001d66bb189d17dbe1cb31ba971e04b72c4fa602 Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=001d66bb189d17dbe1cb31ba971e04b72c4fa602 commit 001d66bb189d17dbe1cb31ba971e04b72c4fa602 Author: Alan Somers AuthorDate: 2024-06-19 00:17:31 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:25:09 +0000 targ: fix compiling the example The targ example program doesn't compile with current clang, and probably hasn't for multiple releases. Fix the build. I don't have the right hardware to test it, though. Sponsored by: Axcient (cherry picked from commit 873881b7dbb72077f3723f49a9f10a432231c532) --- share/examples/scsi_target/Makefile | 6 +++++- share/examples/scsi_target/scsi_cmds.c | 6 +----- share/examples/scsi_target/scsi_target.c | 32 ++++++++++++++++++-------------- share/examples/scsi_target/scsi_target.h | 6 +++++- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/share/examples/scsi_target/Makefile b/share/examples/scsi_target/Makefile index 39950b8c0ac1..1e2c076591bf 100644 --- a/share/examples/scsi_target/Makefile +++ b/share/examples/scsi_target/Makefile @@ -4,7 +4,11 @@ FILESDIR=${SHAREDIR}/examples/${PROG} PROG= scsi_target SRCS= scsi_target.h scsi_target.c scsi_cmds.c DPADD= ${LIBCAM} ${LIBSBUF} -LDADD= -lcam -lsbuf +LIBADD+= cam +LIBADD+= sbuf +# cast-qual is triggered only in a code path where the volatile keyword doesn't +# matter +CFLAGS.scsi_cmds.c= -Wno-cast-qual MAN= scsi_target.8 diff --git a/share/examples/scsi_target/scsi_cmds.c b/share/examples/scsi_target/scsi_cmds.c index 43217a562aba..122d4dec6287 100644 --- a/share/examples/scsi_target/scsi_cmds.c +++ b/share/examples/scsi_target/scsi_cmds.c @@ -102,10 +102,6 @@ static struct targ_cdb_handlers cdb_handlers[] = { static struct scsi_inquiry_data inq_data; static struct initiator_state istates[MAX_INITIATORS]; -extern int debug; -extern off_t volume_size; -extern u_int sector_size; -extern size_t buf_size; cam_status tcmd_init(u_int16_t req_inq_flags, u_int16_t sim_inq_flags) @@ -553,7 +549,7 @@ tcmd_rdwr_decode(struct ccb_accept_tio *atio, struct ccb_scsiio *ctio) tcmd_illegal_req(atio, ctio); return (0); } - if (blkno + count > volume_size) { + if (((off_t)(blkno + count)) > volume_size) { warnx("Attempt to access past end of volume"); tcmd_sense(ctio->init_id, ctio, SSD_KEY_ILLEGAL_REQUEST, 0x21, 0); diff --git a/share/examples/scsi_target/scsi_target.c b/share/examples/scsi_target/scsi_target.c index b8f3ed6a8a81..ee0a94e7a2a0 100644 --- a/share/examples/scsi_target/scsi_target.c +++ b/share/examples/scsi_target/scsi_target.c @@ -77,7 +77,9 @@ static struct ccb_queue work_queue; static struct ioc_enable_lun ioc_enlun = { CAM_BUS_WILDCARD, CAM_TARGET_WILDCARD, - CAM_LUN_WILDCARD + CAM_LUN_WILDCARD, + 0, + 0 }; /* Local functions */ @@ -208,7 +210,7 @@ main(int argc, char *argv[]) if (argc != 2) usage(); - sscanf(argv[0], "%u:%u:%u", &ioc_enlun.path_id, &ioc_enlun.target_id, + sscanf(argv[0], "%u:%u:%ju", &ioc_enlun.path_id, &ioc_enlun.target_id, &ioc_enlun.lun_id); file_name = argv[1]; @@ -258,10 +260,12 @@ main(int argc, char *argv[]) if (notaio == 0) { struct aiocb aio, *aiop; + void *aio_buf; /* See if we have we have working AIO support */ memset(&aio, 0, sizeof(aio)); - aio.aio_buf = malloc(sector_size); + aio_buf = malloc(sector_size); + aio.aio_buf = aio_buf; if (aio.aio_buf == NULL) err(1, "malloc"); aio.aio_fildes = file_fd; @@ -278,7 +282,7 @@ main(int argc, char *argv[]) assert(aiop == &aio); signal(SIGSYS, SIG_DFL); } - free((void *)aio.aio_buf); + free(aio_buf); if (debug && notaio == 0) warnx("aio support tested ok"); } @@ -331,7 +335,7 @@ main(int argc, char *argv[]) } static void -cleanup() +cleanup(void) { struct ccb_hdr *ccb_h; @@ -358,7 +362,7 @@ cleanup() /* Allocate ATIOs/INOTs and queue on HBA */ static int -init_ccbs() +init_ccbs(void) { int i; @@ -395,7 +399,7 @@ init_ccbs() } static void -request_loop() +request_loop(void) { struct kevent events[MAX_EVENTS]; struct timespec ts, *tptr; @@ -535,10 +539,10 @@ request_loop() /* CCBs are ready from the kernel */ static void -handle_read() +handle_read(void) { union ccb *ccb_array[MAX_INITIATORS], *ccb; - int ccb_count, i, oo; + int ccb_count, i; ccb_count = read(targ_fd, ccb_array, sizeof(ccb_array)); if (ccb_count <= 0) { @@ -590,7 +594,7 @@ handle_read() /* Queue on the appropriate ATIO */ queue_io(ctio); /* Process any queued completions. */ - oo += run_queue(c_descr->atio); + run_queue(c_descr->atio); break; } case XPT_IMMEDIATE_NOTIFY: @@ -840,7 +844,7 @@ send_ccb(union ccb *ccb, int priority) /* Return a CTIO/descr/buf combo from the freelist or malloc one */ static struct ccb_scsiio * -get_ctio() +get_ctio(void) { struct ccb_scsiio *ctio; struct ctio_descr *c_descr; @@ -938,7 +942,7 @@ get_sim_flags(u_int16_t *flags) } static void -rel_simq() +rel_simq(void) { struct ccb_relsim crs; @@ -953,7 +957,7 @@ rel_simq() /* Cancel all pending CCBs. */ static void -abort_all_pending() +abort_all_pending(void) { struct ccb_abort cab; struct ccb_hdr *ccb_h; @@ -976,7 +980,7 @@ abort_all_pending() } static void -usage() +usage(void) { fprintf(stderr, "Usage: scsi_target [-AdSTY] [-b bufsize] [-c sectorsize]\n" diff --git a/share/examples/scsi_target/scsi_target.h b/share/examples/scsi_target/scsi_target.h index a873c050b7c6..57b6696d2e77 100644 --- a/share/examples/scsi_target/scsi_target.h +++ b/share/examples/scsi_target/scsi_target.h @@ -115,7 +115,11 @@ extern void free_ccb(union ccb *ccb); static __inline u_int min(u_int a, u_int b) { return (a < b ? a : b); } /* Global Data */ -extern int notaio; +extern int notaio; +extern int debug; +extern off_t volume_size; +extern u_int sector_size; +extern size_t buf_size; /* * Compat Defines From nobody Thu Sep 19 20:33:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8nKv0p6yz5XMY1; Thu, 19 Sep 2024 20:33:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X8nKv0K3Kz4hF3; Thu, 19 Sep 2024 20:33:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726778035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9LIsDxx1mnzji/1Cxq7rcSVw2E0AKtgqsMtaT/fbUA=; b=EJ3FANfkNQocmlkK2hZGgmW4JtBaunalSP6s3xg36jkDJ2M8TQPLdkvTWOEeb5uDGhi2Ta fLwxdxPm6soQyvrpr8OKcaRKqw85L4iqQxN7KRr6vT4PI2hlNcpgg5vyQNIrO/Fd0UwZAD WY+0PKIUShJWVfLkST4wpjfEnDpq0ONlAFI4646D2E0Fbd4rc5Ljpzj2FJ3noiutP1fl3K VxMUKXJ1iWyRLABNAOmfGPhOxsHd3Hc4SS0ilzmyZxdoLTnqNFUC0c3oJNtt/gpyuiUDbp d/ZAQre9mS/vwxBd5YEq2tLNXl2l7ji+sDZBOk/oErSphFLTDRUzd1fHNHtAoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726778035; a=rsa-sha256; cv=none; b=VrhlFGsqRIkVUSfhbSfCd0Np8u591FdAHnVyMcFCMcs8NxbUO+vn1eflJO46dZhuObUWLE iqEUvAQGiSW7k9ZQFSEzwszMSGkML2JsNrOV7HvFNN8svxj3JsjbWBQD9KY40rc65jSpJa 5+jnvOck/1AKhTPkJSjGfzNzQo/dup8pyq7jUDmXVxk5ycYOP3I7N74M1Ul+oDGSFPhlMR tuJBh/Yzv3pNgas//ezePdRQD0DYhFqI3KO5rSbIhNhmKe1VIPSjYft1pfcpMZ9idzXUlR 6Mx+NgVJqTdd8cxld+k3e5SYs1eOeV0RVpVjxDYbVzRP6WdkSX1CA2tHTj0J8A== 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=1726778035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9LIsDxx1mnzji/1Cxq7rcSVw2E0AKtgqsMtaT/fbUA=; b=i2QRmaUyfgHremn0P9CzKGQ+qGsSdALwn0N3ZyXonRkyw+UVsOr+AnoxVeZLrwW+UJNQy2 COLYLmlHqSRvoJMqaIHpPJVVKbw6SASeaPNskMdIVX0L/t0kY9++4cblK31ILQNO54u8oU NGqqBfRXYA8Yfw6vd6P/p0pATMsKtO/GMaDpI5aA84ohyD9N2588eLZUd2Ihbr2FL58QIz ROn8DzA2pq+wUbR6FmkNlFEMsOUczndxW8OnO+6ydXlg2vk7FZYB7C8lLmKxKUQNnDizcF Opuy5039HqN/CpDzHQdmHFd/I3r3sApFtEqDR8udFfIuFgUmW9R28SqNKBSc3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8nKt7291zLCB; Thu, 19 Sep 2024 20:33: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 48JKXsuG070059; Thu, 19 Sep 2024 20:33:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JKXsLD070056; Thu, 19 Sep 2024 20:33:54 GMT (envelope-from git) Date: Thu, 19 Sep 2024 20:33:54 GMT Message-Id: <202409192033.48JKXsLD070056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alan Somers Subject: git: 4bb8e26c262c - stable/14 - fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4bb8e26c262c03757dd1db8d7964bc44ccc83d6a Auto-Submitted: auto-generated The branch stable/14 has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=4bb8e26c262c03757dd1db8d7964bc44ccc83d6a commit 4bb8e26c262c03757dd1db8d7964bc44ccc83d6a Author: Alan Somers AuthorDate: 2024-04-03 19:57:44 +0000 Commit: Alan Somers CommitDate: 2024-09-19 20:27:41 +0000 fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE Background: If a user does pathconf(_, _PC_MIN_HOLE_SIZE) on a fusefs file system, the kernel must actually issue a FUSE_LSEEK operation in order to determine whether the server supports it. We cache that result, so we only have to send FUSE_LSEEK the first time that _PC_MIN_HOLE_SIZE is requested on any given mountpoint. Problem 1: Unlike fpathconf, pathconf operates on files that may not be open. But FUSE_LSEEK requires the file to be open. As described in PR 278135, FUSE_LSEEK cannot be sent for unopened files, causing _PC_MIN_HOLE_size to wrongly report EINVAL. We never noticed that before because the fusefs test suite only uses fpathconf, not pathconf. Fix this bug by opening the file if necessary. Problem 2: On a completely sparse file, with no data blocks at all, FUSE_LSEEK with SEEK_DATA would fail to ENXIO. That's correct behavior, but fuse_vnop_pathconf wrongly interpreted that as "FUSE_LSEEK not supported". Fix the interpretation. PR: 278135 Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D44618 (cherry picked from commit 6efba04df3f8c77b9b12f1df3e5124a7249b82fc) --- sys/fs/fuse/fuse_vnops.c | 48 ++++++++++++---- tests/sys/fs/fusefs/lseek.cc | 129 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+), 10 deletions(-) diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index b5e177dac376..8eb37423618c 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -396,6 +396,9 @@ fuse_vnop_do_lseek(struct vnode *vp, struct thread *td, struct ucred *cred, err = fdisp_wait_answ(&fdi); if (err == ENOSYS) { fsess_set_notimpl(mp, FUSE_LSEEK); + } else if (err == ENXIO) { + /* Note: ENXIO means "no more hole/data regions until EOF" */ + fsess_set_impl(mp, FUSE_LSEEK); } else if (err == 0) { fsess_set_impl(mp, FUSE_LSEEK); flso = fdi.answ; @@ -1755,6 +1758,9 @@ fuse_vnop_pathconf(struct vop_pathconf_args *ap) { struct vnode *vp = ap->a_vp; struct mount *mp; + struct fuse_filehandle *fufh; + int err; + bool closefufh = false; switch (ap->a_name) { case _PC_FILESIZEBITS: @@ -1784,22 +1790,44 @@ fuse_vnop_pathconf(struct vop_pathconf_args *ap) !fsess_not_impl(mp, FUSE_LSEEK)) { off_t offset = 0; - /* Issue a FUSE_LSEEK to find out if it's implemented */ - fuse_vnop_do_lseek(vp, curthread, curthread->td_ucred, - curthread->td_proc->p_pid, &offset, SEEK_DATA); + /* + * Issue a FUSE_LSEEK to find out if it's supported. + * Use SEEK_DATA instead of SEEK_HOLE, because the + * latter generally requires sequential scans of file + * metadata, which can be slow. + */ + err = fuse_vnop_do_lseek(vp, curthread, + curthread->td_ucred, curthread->td_proc->p_pid, + &offset, SEEK_DATA); + if (err == EBADF) { + /* + * pathconf() doesn't necessarily open the + * file. So we may need to do it here. + */ + err = fuse_filehandle_open(vp, FREAD, &fufh, + curthread, curthread->td_ucred); + if (err == 0) { + closefufh = true; + err = fuse_vnop_do_lseek(vp, curthread, + curthread->td_ucred, + curthread->td_proc->p_pid, &offset, + SEEK_DATA); + } + if (closefufh) + fuse_filehandle_close(vp, fufh, + curthread, curthread->td_ucred); + } + } if (fsess_is_impl(mp, FUSE_LSEEK)) { *ap->a_retval = 1; return (0); - } else { - /* - * Probably FUSE_LSEEK is not implemented. It might - * be, if the FUSE_LSEEK above returned an error like - * EACCES, but in that case we can't tell, so it's - * safest to report EINVAL anyway. - */ + } else if (fsess_not_impl(mp, FUSE_LSEEK)) { + /* FUSE_LSEEK is not implemented */ return (EINVAL); + } else { + return (err); } default: return (vop_stdpathconf(ap)); diff --git a/tests/sys/fs/fusefs/lseek.cc b/tests/sys/fs/fusefs/lseek.cc index 5ffeb4b33cbd..2a1cb198bcce 100644 --- a/tests/sys/fs/fusefs/lseek.cc +++ b/tests/sys/fs/fusefs/lseek.cc @@ -112,6 +112,75 @@ TEST_F(LseekPathconf, already_seeked) leak(fd); } +/* + * Use pathconf on a file not already opened. The server returns EACCES when + * the kernel tries to open it. The kernel should return EACCES, and make no + * judgement about whether the server does or does not support FUSE_LSEEK. + */ +TEST_F(LseekPathconf, eacces) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const uint64_t ino = 42; + off_t fsize = 1 << 30; /* 1 GiB */ + + EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH) + .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { + SET_OUT_HEADER_LEN(out, entry); + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = ino; + out.body.entry.attr.size = fsize; + }))); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_OPEN && + in.header.nodeid == ino); + }, Eq(true)), + _) + ).Times(2) + .WillRepeatedly(Invoke(ReturnErrno(EACCES))); + + EXPECT_EQ(-1, pathconf(FULLPATH, _PC_MIN_HOLE_SIZE)); + EXPECT_EQ(EACCES, errno); + /* Check again, to ensure that the kernel didn't record the response */ + EXPECT_EQ(-1, pathconf(FULLPATH, _PC_MIN_HOLE_SIZE)); + EXPECT_EQ(EACCES, errno); +} + +/* + * If the server returns some weird error when we try FUSE_LSEEK, send that to + * the caller but don't record the answer. + */ +TEST_F(LseekPathconf, eio) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const uint64_t ino = 42; + off_t fsize = 1 << 30; /* 1 GiB */ + int fd; + + expect_lookup(RELPATH, ino, S_IFREG | 0644, fsize, 1); + expect_open(ino, 0, 1); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_LSEEK); + }, Eq(true)), + _) + ).Times(2) + .WillRepeatedly(Invoke(ReturnErrno(EIO))); + + fd = open(FULLPATH, O_RDONLY); + + EXPECT_EQ(-1, fpathconf(fd, _PC_MIN_HOLE_SIZE)); + EXPECT_EQ(EIO, errno); + /* Check again, to ensure that the kernel didn't record the response */ + EXPECT_EQ(-1, fpathconf(fd, _PC_MIN_HOLE_SIZE)); + EXPECT_EQ(EIO, errno); + + leak(fd); +} + /* * If no FUSE_LSEEK operation has been attempted since mount, try once as soon * as a pathconf request comes in. @@ -141,6 +210,34 @@ TEST_F(LseekPathconf, enosys_now) leak(fd); } +/* + * Use pathconf, rather than fpathconf, on a file not already opened. + * Regression test for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278135 + */ +TEST_F(LseekPathconf, pathconf) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const uint64_t ino = 42; + off_t fsize = 1 << 30; /* 1 GiB */ + off_t offset_out = 1 << 29; + + expect_lookup(RELPATH, ino, S_IFREG | 0644, fsize, 1); + expect_open(ino, 0, 1); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_LSEEK); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { + SET_OUT_HEADER_LEN(out, lseek); + out.body.lseek.offset = offset_out; + }))); + expect_release(ino, FuseTest::FH); + + EXPECT_EQ(1, pathconf(FULLPATH, _PC_MIN_HOLE_SIZE)) << strerror(errno); +} + /* * If no FUSE_LSEEK operation has been attempted since mount, try one as soon * as a pathconf request comes in. This is the typical pattern of bsdtar. It @@ -177,6 +274,38 @@ TEST_F(LseekPathconf, seek_now) leak(fd); } +/* + * If the user calls pathconf(_, _PC_MIN_HOLE_SIZE) on a fully sparse or + * zero-length file, then SEEK_DATA will return ENXIO. That should be + * interpreted as success. + */ +TEST_F(LseekPathconf, zerolength) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const uint64_t ino = 42; + off_t fsize = 0; + int fd; + + expect_lookup(RELPATH, ino, S_IFREG | 0644, fsize, 1); + expect_open(ino, 0, 1); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_LSEEK && + in.header.nodeid == ino && + in.body.lseek.whence == SEEK_DATA); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(ENXIO))); + + fd = open(FULLPATH, O_RDONLY); + EXPECT_EQ(1, fpathconf(fd, _PC_MIN_HOLE_SIZE)); + /* Check again, to ensure that the kernel recorded the response */ + EXPECT_EQ(1, fpathconf(fd, _PC_MIN_HOLE_SIZE)); + + leak(fd); +} + /* * For servers using older protocol versions, no FUSE_LSEEK should be attempted */ From nobody Thu Sep 19 21:43:29 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8pt96y4mz5XWSl; Thu, 19 Sep 2024 21:43: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 4X8pt96N8Tz4pjN; Thu, 19 Sep 2024 21:43:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726782209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xtm2i8PFr6vMDRxJzAxkLXHBJqrM6JZrY0UAPOzKyA8=; b=ZWswtpVDdhegjoenV+DKtYun7cCboO0n4EGdL8DPE6NeM0pcywRSyUAGbzhC6Bp5kAwcrl vAz7/JQWYuQSpBol+/I66gxpOSPB+qCXpgHSNEOjxpb5Mnsc8DxGUni1OKWnprg/DbGwh3 w88d5mT5MyK856qUWObSpJKE8zUR9JZsyAnqn0Con4xhXwclchpTWIvut0QKv6yswkNldx 7Wg3RLm9L6WnXgyaqTAitoYJBvDJbN8xVoFhH70dxiib0vd3PLk5qPqXY4Qo5b1GJvEFSl nN+CjgzM/Ok1hsoVLwr7WDmmtQ4NXyBWbaq9xe3CIbVxtLiv4/JkVbkJF/7NLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726782209; a=rsa-sha256; cv=none; b=aqFkDRVC8TOHbNTPZ69sEGZbPs40JEd1VcoSeaAz69PgpOsUmIXOZLxvKr5rThicVIUtCM EuvBitI3YAZrlOGsNzkUafixBtGSIE37pBJaloD80VwWrsfEbVTE6IW75AgK17oRIG/ov5 Q165+v3F+w4zd5GyL/P0v8CF09mF+S7WSa8IensKsCELyD1sa3eSVocqp2V+/FtiONHGQ6 GjQ+xVMidYs4LyFEmPunTqbAV5+SWEVwmRFt/HNKKIYTHYIuudZQk1fsFjyx5yVn/PfyRi 8f1KTuZKVnciy2xjL8Y6LEOKi3y+5483W28D9uhoS5gOd5oj5/RtpFNTpDjlmw== 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=1726782209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xtm2i8PFr6vMDRxJzAxkLXHBJqrM6JZrY0UAPOzKyA8=; b=AY2pjESB994BLZeFy1B3Yd5OG70cGC/3jVjz0OkxbqoKpUA6u7z2woSP/a09If/1gAJfKM LT7u8VP6ZKCMvMwVXRQRs6BWZHTBQljkaFPQmU4lIMJTmbUt3sQyRv/jRJpbfRBxTQHL3D tM64VQvXo3ENOJCD1Aixr7dwwYt/8swyyu/r1AqJPsy6xBtwU5yCWYO5iSbYKt5bqS4Jh/ ZYTvWHKXQePq0Ny+UjmT+AbACUdZa+0WIBksZZRCeEKJHDfShvpgpcXLnszq1rCg6k72XV cvZQkHxTa926Se4t+Rxx5R68ZbddSyXf5anvrOYh4gv9fxoqcxGCbJfNRCoLgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8pt95ymrzMYW; Thu, 19 Sep 2024 21:43: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 48JLhTZX089182; Thu, 19 Sep 2024 21:43:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JLhTmM089179; Thu, 19 Sep 2024 21:43:29 GMT (envelope-from git) Date: Thu, 19 Sep 2024 21:43:29 GMT Message-Id: <202409192143.48JLhTmM089179@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: b21881d8c421 - stable/14 - ums(4): fix incorrect mouse button reporting via evdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b21881d8c42132fca37f361c0baa2fd08b51f9e2 Auto-Submitted: auto-generated The branch stable/14 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=b21881d8c42132fca37f361c0baa2fd08b51f9e2 commit b21881d8c42132fca37f361c0baa2fd08b51f9e2 Author: Niko Sonack AuthorDate: 2024-07-02 19:27:25 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-09-19 21:41:43 +0000 ums(4): fix incorrect mouse button reporting via evdev when ums driver receives non-mouse HID report. This results in unexpected button release event. Reuse existing sysmouse logic to keep button pressed. Reviewed by: imp, wulf MFC after: 1 week Differential revision: https://reviews.freebsd.org/D45838 (cherry picked from commit d6888e211b07be79dd8de3145ac41b365f482ae8) --- sys/dev/usb/input/ums.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/input/ums.c b/sys/dev/usb/input/ums.c index 8416be656f81..067feed13e92 100644 --- a/sys/dev/usb/input/ums.c +++ b/sys/dev/usb/input/ums.c @@ -320,11 +320,12 @@ ums_intr_callback(struct usb_xfer *xfer, usb_error_t error) if (++info != &sc->sc_info[UMS_INFO_MAX]) goto repeat; + /* keep old button value(s) for non-detected buttons */ + buttons |= sc->sc_status.button & ~buttons_found; + #ifdef EVDEV_SUPPORT buttons_reported = buttons; #endif - /* keep old button value(s) for non-detected buttons */ - buttons |= sc->sc_status.button & ~buttons_found; if (dx || dy || dz || dt || dw || (buttons != sc->sc_status.button)) { From nobody Thu Sep 19 21:44:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X8pvd6Mf1z5XWW2; Thu, 19 Sep 2024 21:44: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 4X8pvd5p96z4q7C; Thu, 19 Sep 2024 21:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726782285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oh8598+fdRhNsqFFNYazgWW/4nqHIbPg+BsqTjOc6ZM=; b=KOjcsu00Ksg+fzRUXfUR7tUQUZKqD1HCztwmNXer0rJuNFWx9hVee2mQwWpMaaM8IrcGbo 1EgRDFCMaMLPpZNM7hg3qj9V6QkHoemMe0/7hVs33WJxKzUGur/wumtcqWqLsIqQ0jEhfw hu12BBv5TYmjeLh+kh0EHKDpeoQ23qQnkS9Gyj8KhwoDWJWsx0OQAAp89jMHmcf1f8YN5D yjlqe9PxD/j+wGNu+/A4yvEgm/KWvMFhaRNn+V0oLA2VJcIKTq/QgfHs9ztlSzqLmnFPNW 50XF8QumAnvmWurbAnMwAlY5SI3zRDmAUr/6Z62ig2PkNnYP0ULfofQauCliiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726782285; a=rsa-sha256; cv=none; b=e88GqB4Q5FjFedtxA3hUOav2e4TjfcUymcIqGhFuZ0yzimUGT8o60u4sxelhBhs9G00qld Wcb1IlQhlhaOlotoekS2OLVzzEWcM8vWBtTTzSAvwbQ20BQ89+3QLHfT0m2lVpCoys0TyG n/PjvMBIDvPUBoLQcbYgqB+5hGo+6eg8zrYadD4N2HkAyUIkzA4ve7yms3ubgMDj2gxwem 6o9UjflTni3leSNTX4CyKO15XnZoGGHS6wYKJKtLkgR3XHTglYwtCimTqfBxbCxocOyxIJ fS3jk276MJIOTfvBiuR3L2Y+1qd+TXMgUmK4RPd+9KLFJ/nTFO1ijGurMG7Z2w== 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=1726782285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oh8598+fdRhNsqFFNYazgWW/4nqHIbPg+BsqTjOc6ZM=; b=TMNO5N6ahe0y8hpxjEKKtdsAaOZpPtSBcUO4mTNbTgASJ5v28FdaaOvGXxl5CHqvoo6iCo DRStQfpeXrt7FYy4ybWNnbq/aRp2j7nh0wZGsN9o26Hfih65upZ7QRdH/VIMUgcDNwvuSa HKM1lAZzinAN2o1w6QykPIrwDfJH2WqLR4lD+RAI4aG6G69fRd0ywy+DYdI9+XOPKiMoe8 YnwusVsz6sIyfQLXBl0u1eympfGTVER0ApiltwSNWW3mh8ZB0yewrxj8yeJfYMNvOksCLR HSkzIxZy5hXzfFeIG3ygEOh26v77X9U1Pv67136OHxGMtMTyL1Ge3NNi9V+qxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X8pvd5K7MzMYX; Thu, 19 Sep 2024 21:44: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 48JLij5U089515; Thu, 19 Sep 2024 21:44:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48JLijqM089512; Thu, 19 Sep 2024 21:44:45 GMT (envelope-from git) Date: Thu, 19 Sep 2024 21:44:45 GMT Message-Id: <202409192144.48JLijqM089512@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 66292e70e84d - stable/13 - ums(4): fix incorrect mouse button reporting via evdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 66292e70e84d01f24d8d571e14f31f8793ce8d89 Auto-Submitted: auto-generated The branch stable/13 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=66292e70e84d01f24d8d571e14f31f8793ce8d89 commit 66292e70e84d01f24d8d571e14f31f8793ce8d89 Author: Niko Sonack AuthorDate: 2024-07-02 19:27:25 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-09-19 21:44:02 +0000 ums(4): fix incorrect mouse button reporting via evdev when ums driver receives non-mouse HID report. This results in unexpected button release event. Reuse existing sysmouse logic to keep button pressed. Reviewed by: imp, wulf MFC after: 1 week Differential revision: https://reviews.freebsd.org/D45838 (cherry picked from commit d6888e211b07be79dd8de3145ac41b365f482ae8) --- sys/dev/usb/input/ums.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/input/ums.c b/sys/dev/usb/input/ums.c index d8dc2e8f19c3..68a5a33e5e5c 100644 --- a/sys/dev/usb/input/ums.c +++ b/sys/dev/usb/input/ums.c @@ -320,11 +320,12 @@ ums_intr_callback(struct usb_xfer *xfer, usb_error_t error) if (++info != &sc->sc_info[UMS_INFO_MAX]) goto repeat; + /* keep old button value(s) for non-detected buttons */ + buttons |= sc->sc_status.button & ~buttons_found; + #ifdef EVDEV_SUPPORT buttons_reported = buttons; #endif - /* keep old button value(s) for non-detected buttons */ - buttons |= sc->sc_status.button & ~buttons_found; if (dx || dy || dz || dt || dw || (buttons != sc->sc_status.button)) { From nobody Fri Sep 20 10:05:16 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X97L5032Wz5Vbpr; Fri, 20 Sep 2024 10:05: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 4X97L46g92z4SSR; Fri, 20 Sep 2024 10:05:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726826716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5m4vpSJR3OY5I6zOlGSSxcNF7RRN9AzpGlu6vdSxxWU=; b=BZce+jWpNE2vgVa70ftYrj+D7/RvZ5Gqt3MAUW1svgO+S9JLIPR1ofXCMJ8kYPIFvadY8Y 11h78pIgG+6BQ0mSS0lNPp7asWYYIl5o5WysH8RlcDJsPfPxnEXzW/i0pkhWxTDG0PytWG Dz8/bs9Esh3fLEVuEEYQAftSGSeuJcjS4aRtoBOhBRzzbftKgTSXPwRsWSd1mMWZBItBWQ qVqBx7L9AXbiFY50gPAqP7tuRlIWC7EjJxJDKmvHwPZ37JGs0BOE4ap04HtnI/BPk0YpjY Z3b9rbvxrxhn29MsOqc33slpEwf1FZLpkkLQgjilETkjjv0H1k5xCFpV3782iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726826716; a=rsa-sha256; cv=none; b=D4afVsFGBhFY2ZlhPNoP5y6t3WQmdhM4ok7aAfC2AVJAqHazwNZZVZBf9JnoGFaAC67DYS gb6P72P8NiCMvFnR1vH2IRlU0v0zpAAdD/jyPzfvM5ht1wfR1nvlPeTA2r7TzhJrs9mTgG pwWuN9grc20MB3xXVp180S7Y7W2qbAIrOnVSXgVYHSgAQup2OMiiGVOw0GvWBFNIRIUMbI 12FMPGA97dVoQ+4l4vfAqguhAfzseXFTpaaDHTNQO84vhhfMSeiCjvkCWzMhaKkZYIHhhm tUKJDNLqPVl11err0cR7CSi4TXYczQx+pL6HW5an9Nj35R5eBBJezAUZoFd6xQ== 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=1726826716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5m4vpSJR3OY5I6zOlGSSxcNF7RRN9AzpGlu6vdSxxWU=; b=QSS6N4PWjmNxVb7ZJvJUBXKlxUXWw0FEpf/DmGwmLBx5Hm8KPquuD7gzhlg7NxaCK1D/mM 7cEgXDARP+/KviugkXekAs3bsEaIaOfVwYZCCa0lqaczfBPI996EmfxZ3Of84N45sW9vO6 D4JxNknFvFG2tbnrUI5+DJceEl11fjCo9t8pQq3vpAlFML99bIoa+DTx05F5YVG+WITemH yoAdhLm38zhn+3+ugsNxNZsx1/ro1BI1FbaUIPwt8NT4+850N1zxUSlRZMEMO8wPBWrcFE LHMpJA1y39ZOKcAt1MYDP2ecAJecF6CfKwq5QtNJgeXT/NdWG9cOk/lV9tygQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X97L46869zlQP; Fri, 20 Sep 2024 10:05: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 48KA5GaY050854; Fri, 20 Sep 2024 10:05:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KA5Gs6050851; Fri, 20 Sep 2024 10:05:16 GMT (envelope-from git) Date: Fri, 20 Sep 2024 10:05:16 GMT Message-Id: <202409201005.48KA5Gs6050851@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: 611d52a19698 - stable/14 - zfs: cherry-pick change from openzfs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 611d52a1969892e5d35d5f26ad850a56f351a78e Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=611d52a1969892e5d35d5f26ad850a56f351a78e commit 611d52a1969892e5d35d5f26ad850a56f351a78e Author: Zhenlei Huang AuthorDate: 2024-05-30 16:58:20 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-20 10:03:36 +0000 zfs: cherry-pick change from openzfs Vendor PR: #16210 FreeBSD: Add const qualifier to members of struct opensolaris_utsname Obtained from: OpenZFS OpenZFS commit: e2357561b9499296bff758afe4868dbc39735675 Note: this is required by the following up MFC [1]. No functional change. 1. 356be1348dac kernel: Make some compile time constant variables const --- sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h | 10 +++++----- sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c | 7 +++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h index 2e4efc60544a..894ccd8bf9b1 100644 --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h @@ -45,11 +45,11 @@ #define F_SEEK_HOLE FIOSEEKHOLE struct opensolaris_utsname { - char *sysname; - char *nodename; - char *release; - char version[32]; - char *machine; + const char *sysname; + const char *nodename; + const char *release; + char version[32]; + const char *machine; }; #define task_io_account_read(n) diff --git a/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c b/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c index e3653167323b..10d3a7772b11 100644 --- a/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c +++ b/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c @@ -40,6 +40,9 @@ __FBSDID("$FreeBSD$"); #include static struct opensolaris_utsname hw_utsname = { + .sysname = ostype, + .nodename = prison0.pr_hostname, + .release = osrelease, .machine = MACHINE }; @@ -52,10 +55,6 @@ utsname(void) static void opensolaris_utsname_init(void *arg) { - - hw_utsname.sysname = ostype; - hw_utsname.nodename = prison0.pr_hostname; - hw_utsname.release = osrelease; snprintf(hw_utsname.version, sizeof (hw_utsname.version), "%d", osreldate); } From nobody Fri Sep 20 10:05:17 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X97L61xgrz5Vbmn; Fri, 20 Sep 2024 10:05: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 4X97L617jFz4SXs; Fri, 20 Sep 2024 10:05:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726826718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q1vzKxd3DfrxABBDtw6TmHenBgT0OdfbD14eIhWuOCY=; b=dLnzL2VxveXelhhTAs/bRHkWKaDLN9gQDzoj8no3DvJfaohgll7QIyJ+kf/+qbjPJkKlTM YJ2JMHsSMiJ9fAMzoaXbUN8da2r4EyJ0wOWen5/HmO79PXJNKAHXN4dEMWbvE1xMP9x07v vhZqUZ78dj4l7vFqxFvksAWWL+c3pLOQOQ41AKKxAQoR36kkQzx4BFswSgKQkMmgpyzKok T1wACuWnq2P9vCOpiI4M9CaGUEa/UzScmhWEKSBsA4mQP6LkIpPzY+MGoyJfhKarSTGT5K N5KSRCba8Ub2YJBRysOI9MVQ31qvcKAGNzdjSz6Ww8lUUBe9FOugsiGv1ES/WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726826718; a=rsa-sha256; cv=none; b=Ng7k2/bJjOQ4kzZ5NiFrWs4wSgRc5rxK3baE81h8tE1bOs8wpVRW9q8gb65oXeHv7lNxAj AC2dZ4dcjEN7ZN4eo6zdT+7Yd3VHGkDKv2ni5z0krrS0wLL6eW19vfFHdJJ4YVJYxNjTVJ oT/NAn5bI0aCwpW3gLD8AHMsWUN/sK2AOWnSp47kWsO2yMrQSeCeE1ETy5nnRa4VX92Sc2 M9LUCFZ2mpDti4wOVVdfrBNyaVC3PDjx+Ol/ywE7maoJ5a+yE+mWPOW5e6Me0Mvcz4z4w0 UlBr+lz2/Q/lCD6Fion0fdqk8BPnN+zMLA1wqow6TNwiBz+v4YVnAMCqty+LWQ== 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=1726826718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q1vzKxd3DfrxABBDtw6TmHenBgT0OdfbD14eIhWuOCY=; b=q+zgg9wDa1B5m0lo8DsD1RmPZch3ON+cYMVgpksQz2KnkuMqUMkTRzo9WEEnq1jkjX+KNl FtN9ZFn0Tp5FjyRTij9J61Vdiy1u6T5gbJfVEd23G+6kHStz5hP3qBQD2CGIWHTCg/V0Nq qarjy1jcWt1y780Egh/prsYn0iYyDIUeXC5n/vI8GJuwF7zuWEA6SQJO9LS6+JJTjHs4eq FC7Snu9Kpxo/ZHSL0pCkUUaSfhEzpMAAwK0q4L496119UmUe3rDaaU6/L20YCNcgZ/fTWn oNYISNUnVzrm9/61od0KmTNmgcLRShffReelH++L77PHUo6hg7OF9NPdSwo/LQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X97L56jWCzlLD; Fri, 20 Sep 2024 10:05: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 48KA5HE7050911; Fri, 20 Sep 2024 10:05:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KA5HZH050908; Fri, 20 Sep 2024 10:05:17 GMT (envelope-from git) Date: Fri, 20 Sep 2024 10:05:17 GMT Message-Id: <202409201005.48KA5HZH050908@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: 497f577f460b - stable/14 - kernel: Make some compile time constant variables const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 497f577f460ba93dda38910bf49b390fa610480f Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=497f577f460ba93dda38910bf49b390fa610480f commit 497f577f460ba93dda38910bf49b390fa610480f Author: Zhenlei Huang AuthorDate: 2024-08-30 10:26:30 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-20 10:04:02 +0000 kernel: Make some compile time constant variables const Those variables are not going to be changed at runtime. Make them const to avoid potential overwriting. This will also help spotting accidental global variables shadowing, since the variable's name such as `version` is short and commonly used. This change was inspired by reviewing khng's work D44760. No functional change intended. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D45227 (cherry picked from commit 356be1348dac94ba0d2dc1f479bc1f8a2ebaa03a) --- sys/arm/arm/identcpu-v6.c | 6 +++--- sys/arm64/arm64/identcpu.c | 2 +- sys/conf/newvers.sh | 14 +++++++------- sys/kern/init_main.c | 24 ++++++++++++------------ sys/kern/kern_mib.c | 16 ++++++++-------- sys/powerpc/powerpc/machdep.c | 5 +++-- sys/riscv/riscv/identcpu.c | 6 +++--- sys/sys/copyright.h | 4 ++-- sys/sys/sysctl.h | 8 ++++---- sys/sys/systm.h | 8 ++++---- sys/x86/x86/identcpu.c | 6 +++--- 11 files changed, 50 insertions(+), 49 deletions(-) diff --git a/sys/arm/arm/identcpu-v6.c b/sys/arm/arm/identcpu-v6.c index 6293a5ccaceb..83e3e255d50e 100644 --- a/sys/arm/arm/identcpu-v6.c +++ b/sys/arm/arm/identcpu-v6.c @@ -50,10 +50,10 @@ #include #include -char machine[] = "arm"; +const char machine[] = "arm"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, - machine, 0, "Machine class"); +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); static char cpu_model[64]; SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index cc2c95d7cfb6..84ad2d0eb282 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -60,7 +60,7 @@ static void print_cpu_caches(struct sbuf *sb, struct cpu_desc *desc); static u_long parse_cpu_features_hwcap32(void); #endif -char machine[] = "arm64"; +const char machine[] = "arm64"; #ifdef SCTL_MASK32 extern int adaptive_machine_arch; diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index d5ea53664606..3edff3630ae3 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -306,13 +306,13 @@ $COPYRIGHT #define VERSTR "${VERSTR}" #define RELSTR "${RELEASE}" -char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; -char version[sizeof(VERSTR) > 256 ? sizeof(VERSTR) : 256] = VERSTR; -char compiler_version[] = "${compiler_v}"; -char ostype[] = "${TYPE}"; -char osrelease[sizeof(RELSTR) > 32 ? sizeof(RELSTR) : 32] = RELSTR; -int osreldate = ${RELDATE}; -char kern_ident[] = "${i}"; +const char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; +const char version[sizeof(VERSTR) > 256 ? sizeof(VERSTR) : 256] = VERSTR; +const char compiler_version[] = "${compiler_v}"; +const char ostype[] = "${TYPE}"; +const char osrelease[sizeof(RELSTR) > 32 ? sizeof(RELSTR) : 32] = RELSTR; +const int osreldate = ${RELDATE}; +const char kern_ident[] = "${i}"; EOF ) vers_content_old=$(cat vers.c 2>/dev/null || true) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 917c3ea07baf..1575287716ee 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -367,36 +367,36 @@ print_version(const void *data __unused) printf("%s\n", compiler_version); } -SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t, +C_SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t, copyright); -SYSINIT(trademark, SI_SUB_COPYRIGHT, SI_ORDER_SECOND, print_caddr_t, +C_SYSINIT(trademark, SI_SUB_COPYRIGHT, SI_ORDER_SECOND, print_caddr_t, trademark); -SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_version, NULL); +C_SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_version, NULL); #ifdef WITNESS -static char wit_warn[] = +static const char wit_warn[] = "WARNING: WITNESS option enabled, expect reduced performance.\n"; -SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_FOURTH, +C_SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_FOURTH, print_caddr_t, wit_warn); -SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_FOURTH, +C_SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_FOURTH, print_caddr_t, wit_warn); #endif #ifdef DIAGNOSTIC -static char diag_warn[] = +static const char diag_warn[] = "WARNING: DIAGNOSTIC option enabled, expect reduced performance.\n"; -SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, +C_SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, print_caddr_t, diag_warn); -SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_FIFTH, +C_SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_FIFTH, print_caddr_t, diag_warn); #endif #if __SIZEOF_LONG__ == 4 -static char ilp32_warn[] = +static const char ilp32_warn[] = "WARNING: 32-bit kernels are deprecated and may be removed in FreeBSD 15.0.\n"; -SYSINIT(ilp32warn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, +C_SYSINIT(ilp32warn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, print_caddr_t, ilp32_warn); -SYSINIT(ilp32warn2, SI_SUB_LAST, SI_ORDER_FIFTH, +C_SYSINIT(ilp32warn2, SI_SUB_LAST, SI_ORDER_FIFTH, print_caddr_t, ilp32_warn); #endif diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index 10bf4cde6489..d60c72a00f63 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -94,20 +94,20 @@ SYSCTL_ROOT_NODE(OID_AUTO, regression, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Regression test MIB"); #endif -SYSCTL_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD, - kern_ident, 0, "Kernel identifier"); +SYSCTL_CONST_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD, + kern_ident, "Kernel identifier"); SYSCTL_INT(_kern, KERN_OSREV, osrevision, CTLFLAG_RD | CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, BSD, "Operating system revision"); -SYSCTL_STRING(_kern, KERN_VERSION, version, CTLFLAG_RD, - version, 0, "Kernel version"); +SYSCTL_CONST_STRING(_kern, KERN_VERSION, version, CTLFLAG_RD, + version, "Kernel version"); -SYSCTL_STRING(_kern, OID_AUTO, compiler_version, CTLFLAG_RD, - compiler_version, 0, "Version of compiler used to compile kernel"); +SYSCTL_CONST_STRING(_kern, OID_AUTO, compiler_version, CTLFLAG_RD, + compiler_version, "Version of compiler used to compile kernel"); -SYSCTL_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD | CTLFLAG_CAPRD, - ostype, 0, "Operating system type"); +SYSCTL_CONST_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD | CTLFLAG_CAPRD, + ostype, "Operating system type"); SYSCTL_INT(_kern, KERN_MAXPROC, maxproc, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, &maxproc, 0, "Maximum number of processes"); diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index 638153ba49bc..899fb430e5d9 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -152,8 +152,9 @@ static char init_kenv[2048]; static struct trapframe frame0; -char machine[] = "powerpc"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, ""); +const char machine[] = "powerpc"; +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); static void cpu_startup(void *); SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); diff --git a/sys/riscv/riscv/identcpu.c b/sys/riscv/riscv/identcpu.c index 385acb29381b..8f1bd7990393 100644 --- a/sys/riscv/riscv/identcpu.c +++ b/sys/riscv/riscv/identcpu.c @@ -60,10 +60,10 @@ #include #endif -char machine[] = "riscv"; +const char machine[] = "riscv"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, - "Machine class"); +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); /* Hardware implementation info. These values may be empty. */ register_t mvendorid; /* The CPU's JEDEC vendor ID */ diff --git a/sys/sys/copyright.h b/sys/sys/copyright.h index ee6f5b805164..176e15d21dc2 100644 --- a/sys/sys/copyright.h +++ b/sys/sys/copyright.h @@ -45,5 +45,5 @@ #define COPYRIGHT_UCB \ "Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994\n\tThe Regents of the University of California. All rights reserved.\n" -char copyright[] = COPYRIGHT_Vendor COPYRIGHT_FreeBSD COPYRIGHT_UCB; -char trademark[] = TRADEMARK_Foundation; +const char copyright[] = COPYRIGHT_Vendor COPYRIGHT_FreeBSD COPYRIGHT_UCB; +const char trademark[] = TRADEMARK_Foundation; diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index 76cbae25f4e5..0cfa2a7bd245 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -1155,10 +1155,10 @@ SYSCTL_DECL(_regression); SYSCTL_DECL(_security); SYSCTL_DECL(_security_bsd); -extern char machine[]; -extern char osrelease[]; -extern char ostype[]; -extern char kern_ident[]; +extern const char machine[]; +extern const char osrelease[]; +extern const char ostype[]; +extern const char kern_ident[]; /* Dynamic oid handling */ struct sysctl_oid *sysctl_add_oid(struct sysctl_ctx_list *clist, diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 581b981ef9e0..973a7604fe5f 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -53,9 +53,9 @@ __NULLABILITY_PRAGMA_PUSH extern int cold; /* nonzero if we are doing a cold boot */ extern int suspend_blocked; /* block suspend due to pending shutdown */ extern int rebooting; /* kern_reboot() has been called. */ -extern char version[]; /* system version */ -extern char compiler_version[]; /* compiler version */ -extern char copyright[]; /* system copyright */ +extern const char version[]; /* system version */ +extern const char compiler_version[]; /* compiler version */ +extern const char copyright[]; /* system copyright */ extern int kstack_pages; /* number of kernel stack pages */ extern u_long pagesizes[]; /* supported page sizes */ @@ -113,7 +113,7 @@ struct ucred; }) #define SCHEDULER_STOPPED() SCHEDULER_STOPPED_TD(curthread) -extern int osreldate; +extern const int osreldate; extern const void *zero_region; /* address space maps to a zeroed page */ diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 36056b85101b..d97c9c47e97d 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -120,7 +120,7 @@ u_int cpu_power_eax; /* 06H: Power management leaf, %eax */ u_int cpu_power_ebx; /* 06H: Power management leaf, %ebx */ u_int cpu_power_ecx; /* 06H: Power management leaf, %ecx */ u_int cpu_power_edx; /* 06H: Power management leaf, %edx */ -char machine[] = MACHINE; +const char machine[] = MACHINE; SYSCTL_UINT(_hw, OID_AUTO, via_feature_rng, CTLFLAG_RD, &via_feature_rng, 0, @@ -154,8 +154,8 @@ sysctl_hw_machine(SYSCTL_HANDLER_ARGS) SYSCTL_PROC(_hw, HW_MACHINE, machine, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); #else -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, - machine, 0, "Machine class"); +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); #endif char cpu_model[128]; From nobody Fri Sep 20 11:39:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RG3pXYz5Wf69; Fri, 20 Sep 2024 11:39: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 4X99RG2zX8z4lZX; Fri, 20 Sep 2024 11:39:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVjCYLxyi/q2UGyfYDGaVjMOLpGIABpy8CnLJRsAOu4=; b=lCAYs4LXhwy2+9v+nR/TMfcwrm8wKKTGdjUjD+59RvEZI4xMETcPCWv8JUriLZknDWa5l4 cmIMk04qoT6F1srVO7kgL3BXUb4R4z418/9fFiRQh6RF9dRrxP8m/tsmVWJBA3loZWtg4i 7mTFLFP3j7FLSqwfmAnPoJYJJqkl5dgx6IV9i0Yi0u5dt9IEm/XxPx8At84wDHST9F7Zhb iiBPBe5qZdYavKO7H/hGvGMhI4y7SsyprIJWXL9LD9cj/Eka98FGxjCjNMH5Ac8yZF479D TBzngf5bTnTn571gL+ximsKVY4GIbCpnVkZvVTcXa6fhueyl90RpilG0Aj+nPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832394; a=rsa-sha256; cv=none; b=SMu8lbgqMKUyz5h7s/r4BQaxFcSdHVfGJqt+tWL1m9IKsQ44boq+g1TXUGYuLWosm6jiTP ZOaSiLsTOrXOsf6Y4Irkb2p81iY1jFzL1mqt0GvXbVioluVHMT/xWnaV0cplUo5kJ5/SFT dcm6PYhouxqkOEEUd8rUUx7Bp6DM4eYYOxTUR+Uwhr1Wg+3wYhSTCvrhhfdFMG2sdFvTfs SUKlkFr8h+MYlToC0D+ozh3rL6ptZ/1E0sWy2DfqqujcNLEgzCxtZpHdxspx5WJBDFC7vY /JFGkUxAIzdq/7vF0xgGnoablk6fLsm5pqRtM9MO7P28yWaHHRz+P083FSFYPg== 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=1726832394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVjCYLxyi/q2UGyfYDGaVjMOLpGIABpy8CnLJRsAOu4=; b=u4dW3Obq8ekaOyd7gMMuBkzJKkazINcDDiDnn0LguK67Nd8u7WseQe00cVcOqarZ5BgB3x wiGYveOazQwrHthGmjl5dRJP91pDkGHACEBqHbi+amLRuftG+vD/UV6C4CzvMQBcmGMPqb KdEgGKan5Ozw2cXybUym6ypCuSLUb+We9h/QH3bDsLNWpueJ9oKJ8y1hzVqc7VnHI8IcXM Wd12nKIagPWQuranElm4l9+PZYPjjlVihJWb1Drvtwd+hOVcI95mysQXwr0YC19fJNGgbZ A7mhRFNzcLZphwvnxIjN2VWqUPheHJW8KAkn8A6nhmanNeRYnm9431Lc+iYRRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RG2Zwtznpq; Fri, 20 Sep 2024 11:39: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 48KBdsB1004251; Fri, 20 Sep 2024 11:39:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBds63004248; Fri, 20 Sep 2024 11:39:54 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:39:54 GMT Message-Id: <202409201139.48KBds63004248@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: 9512710ddf33 - stable/14 - asmc: Add support for MacbookPro11,4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9512710ddf33c49dd0f9c387393866306225efc3 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9512710ddf33c49dd0f9c387393866306225efc3 commit 9512710ddf33c49dd0f9c387393866306225efc3 Author: Joshua Rogers AuthorDate: 2024-06-11 19:51:51 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 asmc: Add support for MacbookPro11,4 Signed-off-by: Joshua Rogers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1366 (cherry picked from commit 49a5fe1a017fc179c79b74f409440e070511a0ab) --- sys/dev/asmc/asmc.c | 6 ++++++ sys/dev/asmc/asmcvar.h | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index cd13fba72e98..3c63e959fc9f 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -279,6 +279,12 @@ static const struct asmc_model asmc_models[] = { ASMC_MBP113_TEMPS, ASMC_MBP113_TEMPNAMES, ASMC_MBP113_TEMPDESCS }, + { + "MacBookPro11,4", "Apple SMC MacBook Pro Retina Core i7 (mid 2015, 15-inch)", + ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS, + ASMC_MBP114_TEMPS, ASMC_MBP114_TEMPNAMES, ASMC_MBP114_TEMPDESCS + }, + /* The Mac Mini has no SMS */ { "Macmini1,1", "Apple SMC Mac Mini", diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index 42e3120ff4ff..73a8fc449c2c 100644 --- a/sys/dev/asmc/asmcvar.h +++ b/sys/dev/asmc/asmcvar.h @@ -432,6 +432,40 @@ struct asmc_softc { "TM0S", "TP0P", "TPCD", "TW0P", "Ta0P", \ "TaSP", "Th1H", "Th2H", "Ts0P", "Ts0S", \ "Ts1S" } + +#define ASMC_MBP114_TEMPS { "IC0C", "ID0R", "IHDC", "IPBR", "IC0R", \ + "IO3R", "IO5R", "IM0C", "IC1C", "IC2C", \ + "IC3C", "ILDC", "IBLC", "IAPC", "IHSC", \ + "ICMC", "TC0P", "TP0P", "TM0P", \ + "Ta0P", "Th2H", "Th1H", "TW0P", "Ts0P", \ + "Ts1P", "TB0T", "TB1T", "TB2T", "TH0A", "TH0B", \ + "TC1C", "TC2C", "TC3C", "TC4C", "TCXC", \ + "TCGC", "TPCD", "TCSA", "VC0C", "VD0R", \ + "VP0R", "ALSL", "F0Ac", "F1Ac", "PCPC", \ + "PCPG", "PCPT", "PSTR", "PDTR", NULL } + +#define ASMC_MBP114_TEMPNAMES { "IC0C", "ID0R", "IHDC", "IPBR", "IC0R", \ + "IO3R", "IO5R", "IM0C", "IC1C", "IC2C", \ + "IC3C", "ILDC", "IBLC", "IAPC", "IHSC", \ + "ICMC", "TC0P", "TP0P", "TM0P", \ + "Ta0P", "Th2H", "Th1H", "TW0P", "Ts0P", \ + "Ts1P", "TB0T", "TB1T", "TB2T", "TH0A", "TH0B", \ + "TC1C", "TC2C", "TC3C", "TC4C", "TCXC", \ + "TCGC", "TPCD", "TCSA", "VC0C", "VD0R", \ + "VP0R", "ALSL", "F0Ac", "F1Ac", "PCPC", \ + "PCPG", "PCPT", "PSTR", "PDTR" } + +#define ASMC_MBP114_TEMPDESCS { "CPU High (CPU, I/O)", "DC In", "SSD", "Charger (BMON)", "CPU", \ + "Other 3.3V", "Other 5V", "Memory", "Platform Controller Hub Core", "CPU Load Current Monitor", \ + "CPU DDR", "LCD Panel", "LCD Backlight", "Airport", "Thunderbolt", \ + "S2", "CPU Proximity", "Platform Controller Hub", "Memory Proximity", "Air Flow Proximity", \ + "Left Fin Stack", "Right Fin Stack", "Airport Proximity", "Palm Rest", "Palm Rest Actuator", \ + "Battery Max", "Battery Sensor 1", "Battery Sensor 2", "SSD A", "SSD B", \ + "CPU Core 1", "CPU Core 2", "CPU Core 3", "CPU Core 4", "CPU PECI Die", \ + "Intel GPU", "Platform Controller Hub PECI", "CPU System Agent Core", "CPU VCore", "DC In", \ + "Pbus", "Ambient Light", "Leftside", "Rightside", "CPU Package Core", \ + "CPU Package GPU", "CPU Package Total", "System Total", "DC In" } + #define ASMC_MM_TEMPS { "TN0P", "TN1P", NULL } #define ASMC_MM_TEMPNAMES { "northbridge1", "northbridge2" } #define ASMC_MM_TEMPDESCS { "Northbridge Point 1", \ From nobody Fri Sep 20 11:39:55 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RH5YDrz5Wdsb; Fri, 20 Sep 2024 11:39: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 4X99RH3yxTz4lK7; Fri, 20 Sep 2024 11:39:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkNnv4SWZ38fkY1P8UDnxA4IWYfNYgmHvBH6k/GadbM=; b=ByJlDNWK/Wbaj5YOaSzUw6ujae2/eDGFIf1W0NIuWUpsTKDppzKRpVzknTdCooe4Bmiv+7 fEKhfiQUxYwEcYDerWEEG6YK0sNpITT9TM5JarbjetDiRNwDJpi0PILsrJl+/zu5eeh/a5 fUmV2rPjbZjLv8o9+2AAZRRl3C625tTOM/H+tHPUkGv3c5GM+Es7Utspj2mo3nyLkI253R 0zGEFTAJWFmMN3h4pW/d8+Mtp9v3/TbZTZQNgWFRFpeuncaFHDhWIkwRTRa3Ap6AgNMofl igau2Xm5wlRADK05RISt+zu64Orywzsr/Vd/V9aZ0G0DibDNC2qhzy0DqWZaYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832395; a=rsa-sha256; cv=none; b=FmPpQWC8tL7ZtFAyAoqG63TuKqGWJyGvNdrYb5xM7h5MA2vTjd/RWYuOjtpP3x77aW2F2q HTW/XFNEK1y/eP6OPAv+XEuA0/FA/TSTiQJMxpQT3ImbeeR50PxJxcxym+jzg5L8esQJa8 ucYJ3QP6/0EnOEwfB7GlSsqhxeCCezyqQIeQ23cGPjtUd4Gj0II2REAc2wsHAASbRf56HC sUYD9ZM2E+eKtj5ms9PweI7n8cQJrWam+4vykeLvFsqz8+anZ39ev2VpSDTOqho017ILdg QIw+LJGwNZcxskmsSyYd/BM6F7RUxivssG9POWfsFSQNK5sN7OxrfbDvawwCLw== 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=1726832395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkNnv4SWZ38fkY1P8UDnxA4IWYfNYgmHvBH6k/GadbM=; b=pbTzhMxkq1eSHQ3cxWrSubg5liU0InUYkFOxAHHWVwt08JKLH1wRW77vQaVpGGGiyJhcvO 0qJfTjGvrFV0gNJigEPMf0WnYu2UUp7m8pjVTecLN+U/6wFOkvbFD84Ev4SksKfNwY2ack s7fr6RJnesH/dz909BXC8AMGQAqohesmR38mQSNHgotkk+WhuAkyQ0YfnHToqjhcsEKvSi iCB2eLnP52KbL+G2DVUVtqAj21WdvzmpN+Z7WTbFVNvpyx+B7V5pH1l+uM4nU339zEswCc 53Slw9OaXkJyYah5jqgaa5hY8d0EBxjmsJD/BZM3PLNzAJ9tB8iPNdaxqL0gsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RH3ZP0znXx; Fri, 20 Sep 2024 11:39: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 48KBdtJH004299; Fri, 20 Sep 2024 11:39:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBdthI004296; Fri, 20 Sep 2024 11:39:55 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:39:55 GMT Message-Id: <202409201139.48KBdthI004296@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: 246f922d635e - stable/14 - ggate tests: Use unique ports among tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 246f922d635e114c336c1e15ce041a1d8496ea60 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=246f922d635e114c336c1e15ce041a1d8496ea60 commit 246f922d635e114c336c1e15ce041a1d8496ea60 Author: Mark Johnston AuthorDate: 2024-06-15 00:10:42 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 ggate tests: Use unique ports among tests This helps avoid failures when running tests in parallel. MFC after: 1 week (cherry picked from commit b5d3f8252fe8b74249ed49e87981d190c3ec3d05) --- tests/sys/geom/class/gate/ggate_test.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/sys/geom/class/gate/ggate_test.sh b/tests/sys/geom/class/gate/ggate_test.sh index 3ca5c3a2531a..4cbc5d80ae89 100644 --- a/tests/sys/geom/class/gate/ggate_test.sh +++ b/tests/sys/geom/class/gate/ggate_test.sh @@ -1,7 +1,5 @@ - PIDFILE=ggated.pid PLAINFILES=plainfiles -PORT=33080 CONF=gg.exports atf_test_case ggatec_trim cleanup @@ -17,13 +15,14 @@ ggatec_trim_body() { load_ggate + port=33080 us=$(alloc_ggate_dev) work=$(alloc_md) atf_check -e ignore -o ignore dd if=/dev/random of=/dev/$work bs=1m count=1 conv=notrunc echo $CONF >> $PLAINFILES echo "localhost RW /dev/$work" > $CONF - atf_check ggated -p $PORT -F $PIDFILE $CONF - atf_check ggatec create -p $PORT -u $us localhost /dev/$work + atf_check ggated -p $port -F $PIDFILE $CONF + atf_check ggatec create -p $port -u $us localhost /dev/$work ggate_dev=/dev/ggate${us} wait_for_ggate_device ${ggate_dev} @@ -55,6 +54,7 @@ ggated_body() load_ggate + port=33081 us=$(alloc_ggate_dev) work=$(alloc_md) src=$(alloc_md) @@ -67,8 +67,8 @@ ggated_body() echo $CONF >> $PLAINFILES echo "127.0.0.1 RW /dev/$work" > $CONF - atf_check ggated -p $PORT -F $PIDFILE $CONF - atf_check ggatec create -p $PORT -u $us 127.0.0.1 /dev/$work + atf_check ggated -p $port -F $PIDFILE $CONF + atf_check ggatec create -p $port -u $us 127.0.0.1 /dev/$work ggate_dev=/dev/ggate${us} From nobody Fri Sep 20 11:39:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RK1DFlz5WdwT; Fri, 20 Sep 2024 11:39: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 4X99RJ5FVNz4lPR; Fri, 20 Sep 2024 11:39:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jVCbZNMiCco4DbNvvZaXBDQXj4mg0j5beNYzWAW0qiE=; b=CrBx4EEUfqA33sr6eu0gTyagE/QEZiV6aLmejDzV5sJBzChAbbhIBkgp1PFdLxqkR0g66m OY+1bL8hfu2+/Un5dAZaxBEu1GDtQHCKbY+EPyGyU84pi81RKm0/sHOslfuASsKIhzFY2h sxHwVonlcuS0yJd5YqcdrHgXs1srkSRN/YqJKGNU4Uq0nVwS1sxvUeW65giPhG31T7sfbK FLgjAI3u/f8Lm1JJv+STLWkbA49/BMj7AHCrf4prDZNrWijb02eB2j/o7ehOyS53N5YXem xFzny/RfhnwckCTN12+wUgNBWeCJpdz4v+AyecPMpJ/i3WX4yG2BC8GOe4lWVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832396; a=rsa-sha256; cv=none; b=J30u6ikJw9kuPQxwrvUic5kgOF7K51EE8Sf0LBtrj28KDXxT5JWNrGkNQmkCzQ5pes/TwZ wIHh36vYilOwvj+9O0uYAyQ/DepzeM01+NwToJtMu//p3tGljTmfkAYKmI+vgYNui/g6nR RrlMgY3aut5FgUpHb5bzW3asioE/Ti05CQm7XRRJ3xNo4EKhT0q+tjT0vPX0s3ncgOJBEm 1bSZUXMlDDKhwT+jgOD7LEmbUhpGNXYt/nVHQl2VGuoCgUqQBang94C6jWRvWdvC/SpMBN /oYK9WnWDKq08DsRXNP0hp/GjznwrYIYdZAtAvErG/KCA9MrApCvavOzkzK1dg== 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=1726832396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jVCbZNMiCco4DbNvvZaXBDQXj4mg0j5beNYzWAW0qiE=; b=eFQV8PAmNld0sokYENIu91CbZjwIHxkMx52YgfVmQ5IuzmAJ00bBxwt6guL5t757WibiCV Wn80kI5D3hiqP4MB6Mfa3AZy8wlpwyKjIFuPqyFQmaKssODgV+y3DwUhuU8W7r7kI1JP+X LhJFdzzPJjsTyCuWLcUCLxZESSX0fDcAkFhxCSsGSAhM46vyD6+t+y/991HP/DKJWSObyg AhzSdXBoS+mEvI7yIZkNgyZ0Fs7BIVx6TPqIpGtdEYRV7n000VuCK1S362atxtp5VcKm5v 5x10ErOjAUWjzegtIGjskqT0/56qUQn7jKg12ug/vEp5eUBsCX/qaaday8hn2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RJ4rBrznmR; Fri, 20 Sep 2024 11:39: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 48KBdufP004351; Fri, 20 Sep 2024 11:39:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBdusf004348; Fri, 20 Sep 2024 11:39:56 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:39:56 GMT Message-Id: <202409201139.48KBdusf004348@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: 6f636541a3b1 - stable/14 - capsicum tests: Serialize functional tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6f636541a3b1fe14a6f85f457c12cf8a7159a121 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6f636541a3b1fe14a6f85f457c12cf8a7159a121 commit 6f636541a3b1fe14a6f85f457c12cf8a7159a121 Author: Mark Johnston AuthorDate: 2024-09-03 14:39:02 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 capsicum tests: Serialize functional tests The test suite runs the same tests twice, as different users, and these can trample over each other when run in parallel, causing spurious test failures. MFC after: 1 week (cherry picked from commit 41ece3c036bda3d4da321989ee59d0555c10d603) --- tests/sys/capsicum/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile index 542c6720521c..2dc499a14b42 100644 --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -14,6 +14,10 @@ CFLAGS+= -I${SRCTOP}/tests GTESTS+= capsicum-test GTESTS_WRAPPER_SH.capsicum-test= functional +# This test script runs the same test suite twice, once as root and once as an +# unprivileged user. Serialize them since some tests access global namespaces, +# e.g., mqueuefs, and can trample on each other. +TEST_METADATA.functional+= is_exclusive="true" SRCS.capsicum-test+= \ capsicum-test-main.cc \ From nobody Fri Sep 20 11:39:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RM1l81z5Wf3t; Fri, 20 Sep 2024 11:39: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 4X99RL6r9Sz4lVn; Fri, 20 Sep 2024 11:39:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9wnMn8n7PxKWHGY8vejlKAlw/Z9GFZJ6j/obOfsKWzc=; b=qBsuIXnxM2Jj1n8WJaU4xURkUW7lcwJbFk89oEHeJE/vcVXu3r/g1W9hnXI6T56FmE9ouc 8QAK55C8T2Q01FqGD3sqlLvql2aXk0CJVpLKsmlnKfRYmFJinOjrpo/r9CgU+ICeqTF//Z PQ7IofbzWkTjyUwqR1gWLnnUfK2g3NFnC2s8yco5A9DMnbg00JgcRCl/6RvzbF1xyTkIhu pjVR3zXHJGZ7ggec/w6mhe9yo63zaNE/bKdH7J4uCjXNcvhuyC8abehmnZ9eeBHBInyR16 fuesIrh2WnPvYRDpq3bfN0qy+WQj8NoSmql6XEkUTsgh08VyjFtE8dGn2QqOFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832399; a=rsa-sha256; cv=none; b=TAYX3wo4QnLnl2fNO16PTt/NS+bfh8YcBu7vJlty1ilL2WOLxWtUveIdlapewWVaqZS4vj z6q5k9/kezL8gybvAgwsI/ciD38wKkluHx+KUkv0Pvz4j1UGQnmIGMBcL9YHu5PqzZZxAM EkiSdAoDtfRc3/M+ekNPJixU+ALmgK0E5ba+k4MvUmv3QMksSJ1bspOU3m+td372J4Qg3z hHta9FMTU+i3dkxnDqpFVy9/ClzQJxa/3vYkHGQAUUyxiwCfB+Vymd33hDpefhRocEuPyb IYZIorcIr1fvm0IiTLvzFTdHahcvsPFrLFp1mC6mL5rAH7p7tHHgERjYReSDyw== 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=1726832399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9wnMn8n7PxKWHGY8vejlKAlw/Z9GFZJ6j/obOfsKWzc=; b=PQnDKpZgKCSEMzJ+j9wRPK0F8JZ379Uh7XJYpAfm1VBYNywMoHXdLO4tbcFdr8if5kyxvt n2npEsfRN1oI7L9tWhrVvnJ1mycbrGQ7Y6NI4MPepWUkL1V+jku901hDel/8ub/GtBNmw4 wV7JbHCmfahS0QXSEH987D5mRLTUffYC6y4ytgMXmDW2FF12bRKG+IWbDhRU4AmbMsHmvM GslGBAwTXf6PT1m7B03rfkHRmd6aJ2/UhZi5zMkL38f4xm1eMR2kGC1ArwMfyj2F1EGzJW ofe7pj2aY+b2opD0jNS0aa1BFVbheBtmHRcrd+UeYRGz3nUh3l+Gvr+fBIK6Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RL6Rq0zp2K; Fri, 20 Sep 2024 11:39: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 48KBdwgW004448; Fri, 20 Sep 2024 11:39:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBdwIF004445; Fri, 20 Sep 2024 11:39:58 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:39:58 GMT Message-Id: <202409201139.48KBdwIF004445@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: b513c311d0db - stable/14 - ifnet: Remove if_getamcount() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b513c311d0db5c301c939b1cf44b2826e09011d3 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b513c311d0db5c301c939b1cf44b2826e09011d3 commit b513c311d0db5c301c939b1cf44b2826e09011d3 Author: Mark Johnston AuthorDate: 2024-09-04 13:07:11 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 ifnet: Remove if_getamcount() All uses of this function were incorrect. if_amcount is a reference count which tracks the number of times the network stack internally set IFF_ALLMULTI. (if_pcount is the corresponding counter for IFF_PROMISC.) Remove if_getamcount() and fix up callers to get the number of assigned multicast addresses instead, since that's what they actually want. Sponsored by: Klara, Inc. Reviewed by: zlei, glebius MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D46523 (cherry picked from commit 408c909dc64f77d2696d6fec77a2e0b00255cf96) --- sys/dev/bxe/bxe.c | 2 +- sys/dev/liquidio/lio_ioctl.c | 2 +- sys/net/if.c | 6 ------ sys/net/if_var.h | 1 - 4 files changed, 2 insertions(+), 9 deletions(-) diff --git a/sys/dev/bxe/bxe.c b/sys/dev/bxe/bxe.c index 05bc22c0c981..45e8f654c36a 100644 --- a/sys/dev/bxe/bxe.c +++ b/sys/dev/bxe/bxe.c @@ -12174,7 +12174,7 @@ bxe_set_rx_mode(struct bxe_softc *sc) if (if_getflags(ifp) & IFF_PROMISC) { rx_mode = BXE_RX_MODE_PROMISC; } else if ((if_getflags(ifp) & IFF_ALLMULTI) || - ((if_getamcount(ifp) > BXE_MAX_MULTICAST) && + (if_llmaddr_count(ifp) > BXE_MAX_MULTICAST && CHIP_IS_E1(sc))) { rx_mode = BXE_RX_MODE_ALLMULTI; } else { diff --git a/sys/dev/liquidio/lio_ioctl.c b/sys/dev/liquidio/lio_ioctl.c index 10c88b209051..b2fd54f59580 100644 --- a/sys/dev/liquidio/lio_ioctl.c +++ b/sys/dev/liquidio/lio_ioctl.c @@ -481,7 +481,7 @@ lio_get_new_flags(if_t ifp) * Accept all multicast addresses if there are more than we * can handle */ - if (if_getamcount(ifp) > LIO_MAX_MULTICAST_ADDR) + if (if_llmaddr_count(ifp) > LIO_MAX_MULTICAST_ADDR) f |= LIO_IFFLAG_ALLMULTI; } if (if_getflags(ifp) & IFF_BROADCAST) diff --git a/sys/net/if.c b/sys/net/if.c index 110ab73f2aad..9beac09d54c9 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4783,12 +4783,6 @@ if_getifaddr(const if_t ifp) return (ifp->if_addr); } -int -if_getamcount(const if_t ifp) -{ - return (ifp->if_amcount); -} - int if_setsendqready(if_t ifp) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 48a503df7ffe..74692e916558 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -660,7 +660,6 @@ u_int if_lladdr_count(if_t); u_int if_llmaddr_count(if_t); bool if_maddr_empty(if_t); -int if_getamcount(const if_t ifp); struct ifaddr * if_getifaddr(const if_t ifp); typedef u_int if_addr_cb_t(void *, struct ifaddr *, u_int); u_int if_foreach_addr_type(if_t ifp, int type, if_addr_cb_t cb, void *cb_arg); From nobody Fri Sep 20 11:39:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RK70bFz5WdnD; Fri, 20 Sep 2024 11:39: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 4X99RK5rQdz4lPl; Fri, 20 Sep 2024 11:39:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjPAB+LK/oNSQPHPB3HI2mfB+Ey4rqH6rWy1HTO2VBs=; b=vL8eIdOOtUtfylk2Q12ZQ97CIDL8mOJuYMz53zxDpql1KbFZzT0TEeRzs4oUJMBLvqyXtz TDTy35P5IBUnwl9u44s9+5cK+uYaSHHkm/CQYEKtTTmIvCjZVzpqUnd+OmpvvD9LvpNJEY bYpl5APIxlxpoZG6MowNTT2hbUHXU+Abj5+DhTargLwBvunZk6dvaLbhrMfl2KzUNczI0D UMVYjmuoATSqLLsd1s457r2jhNN5bxGNYRmt68eZPNLjQeCoRFXykLzP4BoKAMrc2HG8RH 48gWDCo5J1dDAJ9ynmmx5fthNISMjevYskZODnK+F+GTy72jt8guz5hKgKfHGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832397; a=rsa-sha256; cv=none; b=Xq22H7K2dYt1FPIh+Snrxh67Z+MAqhWLMLOHvhFvlmNjOe6qgdiyDzmNjunsqyGgIBPhF/ nxq+BksYJX2+a3tESnAxZn0yCmgrB8cPemVNv+Rgcz//e6FYRsfCk+xAP6t5z6mY4+2zOz 2BDPlVaGhrFem3Kj2dfs4iWPQWbZQAiaRKIcWY84zCNWPN88EydTaCye6IJti8UhSqDSOR VD4ecgGL5CCIx+0bVCZAg4NJ6EEqdkM4w250ZdSudcVqFoMlCP4k3K5Fv0nGr7AtOWcB7u VupPiXjg0bki9iqAh5yV87PqF5Sk/eXCAfrd8RL8UdILPTXQ3K6rF8EvLDiPlA== 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=1726832397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjPAB+LK/oNSQPHPB3HI2mfB+Ey4rqH6rWy1HTO2VBs=; b=KUwyBTaqPMxEB39UBdFaF0fYt0NaKNhInzp4aBhGwsCjdtaQT5hAqePNonE7vjlecsyQds AtKYdzXplDXKWaGOhV+daLzPldf9AStpCXeAaaWyd3Ea2T0X63lfE8pcyQqs4F1xcR4MkZ q9SqZiU9XKYSaOErOm7AcrmWrB3WD43v0pBH83ov7j/TdsHy5F1FgWIiVKdB87RM4my0h/ cT1kbYFsTJWrgo7YmOFyu1pu97w1A82hjzyKfaGYTmQBFxGo5XVOsqv8xDdExF/hBD65h5 RPiducgqaQRY1wAsZx6Vk/6e/rFoB4lGvg77hOjDepJLjymGWrikPiTdwp91kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RK5QB4znj6; Fri, 20 Sep 2024 11:39: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 48KBdvNp004404; Fri, 20 Sep 2024 11:39:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBdv6b004401; Fri, 20 Sep 2024 11:39:57 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:39:57 GMT Message-Id: <202409201139.48KBdv6b004401@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: 59f3eb3b71d5 - stable/14 - netinet: Explicitly disallow connections to the unspecified address List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 59f3eb3b71d5df21882ed95d99ac10911f305b81 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=59f3eb3b71d5df21882ed95d99ac10911f305b81 commit 59f3eb3b71d5df21882ed95d99ac10911f305b81 Author: Mark Johnston AuthorDate: 2024-08-29 13:11:15 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 netinet: Explicitly disallow connections to the unspecified address If the V_connect_ifaddr_wild sysctl says that we shouldn't infer a destination address, return an error. Otherwise it's possible for use of an unspecified foreign address to trigger a subsequent assertion failure, for example in in_pcblookup_hash_locked(). Similarly, if no interface addresses are assigned, fail quickly upon an attempt to connect to the unspecified address. Reported by: Shawn Webb MFC after: 2 weeks Reviewed by: zlei, allanjude, emaste Differential Revision: https://reviews.freebsd.org/D46454 (cherry picked from commit 0c605af3f9d9e66be6af0a3bbc36dbedc5dfe516) --- sys/netinet/in_pcb.c | 2 ++ sys/netinet6/in6_pcb.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 28cd64ccbde6..f6904690deab 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1338,6 +1338,8 @@ in_pcbconnect_setup(struct inpcb *inp, struct sockaddr_in *sin, faddr = satosin(&CK_STAILQ_FIRST( &V_in_ifaddrhead)->ia_broadaddr)->sin_addr; } + } else if (faddr.s_addr == INADDR_ANY) { + return (ENETUNREACH); } if (laddr.s_addr == INADDR_ANY) { error = in_pcbladdr(inp, &faddr, &laddr, cred); diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 8046e0fa530d..f7f2ea0b8699 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -370,7 +370,10 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, */ if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) sin6->sin6_addr = in6addr_loopback; + } else if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { + return (ENETUNREACH); } + if ((error = prison_remote_ip6(inp->inp_cred, &sin6->sin6_addr)) != 0) return (error); From nobody Fri Sep 20 11:39:59 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RN4H2Kz5Wf3x; Fri, 20 Sep 2024 11:40: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 4X99RN17tFz4ldK; Fri, 20 Sep 2024 11:40:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1uhBQI7x7cGpLOlXGMOqHwioVVsdpZmNOZVKiQOjt0Y=; b=HktEz3/fAmR6vM3POKvU6vZP0G7SEhmdQNwGv/CK5Z8JVHZ/UbXR7Yv8LPRFs3Rg1QhtCy +2U9NDETE98y8kO8DbMQJEaet0ZQHdhi2cfu9fuqHK48GuGpyLdlr1ULIgi055dHzOOz9L kMvLSf5KYP1vljdWvrIx79twEYNVPGdUN8v5kxlXvU90HlUBAbNlyq5drFxCPH1A55gszk D/KOATyZd+ThZCbTo3EkK3eRNntfwz+mc1ie3i7iJedXiRiYqUGvJ3FemCyxh03DO9f6aj OvglrPgv59cL/9KzeWi35gxmIjno9J9uZ1lKL+6zOR0OCrTpM3uDDZDsD5368Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832400; a=rsa-sha256; cv=none; b=f6GnzkmCaeU937AgEydcVZ89fnOxFStP65dnfPf6FOsJIGmNK8b9EhGxt9AhBgpAeZ2D7q XM+sMxC5kvySB6bWyfmPc0F7ULatZG0cCJUL0Fhq0mE8q7hKIgPHw4joLDxUI5GgwP9NSH 5D4VIr6UTH2jSD8fu31ZpL/epQBCOs/RiGG6nFW+/NkKmUMNKHCPY9t4sCcoFIZwNPMi1B X9EWDHaGWRJR1x8U7MJUs9IanZ4iiwfMNcbowS2cd6wrLWGwQkqvpUmWMJOz2szaH/6zkx baD763tc8hSx7HLiuldme6oAVbUIEzccllDr2UI6WTOEO890rWVup3hxnqB8VQ== 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=1726832400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1uhBQI7x7cGpLOlXGMOqHwioVVsdpZmNOZVKiQOjt0Y=; b=wpTurGYbcIN3Bg+McpS3e5Wrqsnx6m5sq8dFpGPWSU7BfXUS+F4mPUGGHFj0PKUDU9pIde WOGJ3U1oem4Nu4W7C1nBmLTX9RJCrzoKfs8TGLA+If5KW+NAZCAa3/IcLcNjQr6yq9Mlj7 xD1+/mwNJLXSXPCvdivnEWwVSqLiXSTXZoAsrh29WTi+xlG9xsqkPGgXVCsuaXfTQ/Y+/O F7rPwbnQHRhRocJcp3UBGevGyniT2R/f1QCc6E1OL7Z7K3DxYs+JUwPy6eIj1KbNd6IxNQ KEGzHyR1GxrpHJEavXbCbLhqljjSMdyoz+LrDgop7te/fCKGu4oqS9UUk1TQwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RN0R9wznj8; Fri, 20 Sep 2024 11:40: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 48KBdxJF004503; Fri, 20 Sep 2024 11:39:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBdxfq004500; Fri, 20 Sep 2024 11:39:59 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:39:59 GMT Message-Id: <202409201139.48KBdxfq004500@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: aab2c431064b - stable/14 - pkgbase: Unify pkg ABI handling for pkgbase targets List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: aab2c431064bbc74ae643ae111afaa23a090c594 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=aab2c431064bbc74ae643ae111afaa23a090c594 commit aab2c431064bbc74ae643ae111afaa23a090c594 Author: Mark Johnston AuthorDate: 2024-08-19 14:07:51 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 pkgbase: Unify pkg ABI handling for pkgbase targets Right now, to get the pkg ABI we either use PKG_ABI, derived from newvers.sh, or use an ABI file from the staged world. This inconsistency is confusing and can cause problems. Switch to a single source of truth: use an ABI file from the worldstage dir to get the ABI of pkgbase packages. In particular, we do not need to know the ABI until staging is done. More specifically: - use a shell command to define PKG_ABI, - replace inline uses of ABI_FILE, - run sign-packages in a subshell (this was already done for the update-packages target) so that the staging targets are done before we try to evaluate the ABI. Reviewed by: manu MFC after: 1 month Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D46287 (cherry picked from commit b118b6eb4cb7520eb348a6ac965b077fc5179fde) --- Makefile.inc1 | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 935421ea3b9a..fd35c724b965 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1970,6 +1970,10 @@ REPODIR?= ${OBJROOT}repo PKG_FORMAT?= tzst PKG_REPO_SIGNING_KEY?= # empty PKG_OUTPUT_DIR?= ${PKG_VERSION} +PKG_ABI_FILE?= ${WSTAGEDIR}/usr/bin/uname +.if make(create-*-packages*) || make(real-update-packages) || make(real-sign-packages) +PKG_ABI!= ${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI +.endif .ORDER: stage-packages create-packages .ORDER: create-packages create-world-packages @@ -1982,12 +1986,6 @@ _pkgbootstrap: .PHONY @env ASSUME_ALWAYS_YES=YES pkg bootstrap .endif -# -# Determine PKG_ABI from newvers.sh if not already set. -# -.if !defined(PKG_ABI) && (make(create-world-packages-jobs) || make(create-kernel-packages*) || make(real-update-packages) || make (create-source-packages) || make(sign-packages)) -PKG_ABI=${_TYPE}:${MAJOR_REVISION}:${TARGET_ARCH} -.endif PKG_BIN_VERSION!=${PKG_CMD} --version /dev/null |\ awk -F. '/^[0-9.]+$$/ {print $$1 * 10000 + $$2 * 100 + $$3}' .if ${PKG_BIN_VERSION} < 11700 @@ -1997,8 +1995,7 @@ PKG_EXT= pkg .endif .if !defined(PKG_VERSION_FROM) && make(real-update-packages) -.if defined(PKG_ABI) -.if exists(${REPODIR}/${PKG_ABI}) +.if exists(${PKG_ABI_FILE}) && exists(${REPODIR}/${PKG_ABI}) PKG_VERSION_FROM!=/usr/bin/readlink ${REPODIR}/${PKG_ABI}/latest PKG_VERSION_FROM_DIR= ${REPODIR}/${PKG_ABI}/${PKG_VERSION_FROM} BRANCH_EXT_FROM= ${PKG_VERSION_FROM:C/.*([[:alpha:]][^\.]*).*/\1/} @@ -2008,7 +2005,6 @@ PKG_VERSION_FROM_DIR= BRANCH_EXT_FROM= .endif .endif -.endif PKGMAKEARGS+= PKG_VERSION=${PKG_VERSION} \ NO_INSTALLEXTRAKERNELS=${NO_INSTALLEXTRAKERNELS} @@ -2180,7 +2176,7 @@ create-world-package-${pkgname}: .PHONY @if [ "${pkgname}" == "runtime" ]; then \ sed -i '' -e "s/%VCS_REVISION%/${VCS_REVISION}/" ${WSTAGEDIR}/${pkgname}.ucl ; \ fi - ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname -o ALLOW_BASE_SHLIBS=yes \ + ${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \ -o OSVERSION="${SRCRELDATE}" \ create -f ${PKG_FORMAT} -M ${WSTAGEDIR}/${pkgname}.ucl \ -p ${WSTAGEDIR}/${pkgname}.plist \ @@ -2256,7 +2252,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kerne /name/ { printf("===> Creating %s-", $$2); next } \ /version/ {print $$2; next } ' \ ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \ - ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname -o ALLOW_BASE_SHLIBS=yes \ + ${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \ -o OSVERSION="${SRCRELDATE}" \ create -f ${PKG_FORMAT} \ -M ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl \ @@ -2268,20 +2264,22 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kerne . endfor .endif -sign-packages: _pkgbootstrap .PHONY +sign-packages: .PHONY + ${_+_}@cd ${.CURDIR}; \ + ${MAKE} -f Makefile.inc1 PKG_VERSION=${PKG_VERSION} real-sign-packages + +real-sign-packages: _pkgbootstrap .PHONY printf "version = 2;\n" > ${WSTAGEDIR}/meta .if ${PKG_BIN_VERSION} < 11700 printf "packing_format = \"${PKG_FORMAT}\";\n" >> ${WSTAGEDIR}/meta .endif - @[ -L "${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/latest" ] && \ - unlink ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/latest ; \ - ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname repo \ - -o OSVERSION="${SRCRELDATE}" \ + @[ -L "${REPODIR}/${PKG_ABI}/latest" ] && unlink ${REPODIR}/${PKG_ABI}/latest; \ + ${PKG_CMD} -o ABI=${PKG_ABI} repo -o OSVERSION="${SRCRELDATE}" \ -m ${WSTAGEDIR}/meta \ - -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION} \ - ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION} \ + -o ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ + ${REPODIR}/${PKG_ABI}/${PKG_VERSION} \ ${PKG_REPO_SIGNING_KEY} ; \ - cd ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI); \ + cd ${REPODIR}/${PKG_ABI}; \ ln -s ${PKG_OUTPUT_DIR} latest # From nobody Fri Sep 20 11:40:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RP4nyYz5Wf41; Fri, 20 Sep 2024 11:40: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 4X99RP1KqSz4lkK; Fri, 20 Sep 2024 11:40:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fMYY3zpSC2WEZsEvEjTRjWRlxmVNtxM/Xyn1JhRUYek=; b=Apo9Ybxf19oNeN1iWeVs6nh6JiQR3qURFFQcfjUMJk2CsumQEvtctX6ChNvlrPEMFrLEvD OJW83iqFwfAt8z9mHUyHLbTinUW0611GWLxIbdYbyCyl+wVidGZXpd84m/iFT5XDN7tSBx Oj08nWvXtJ4gRkfcNbbIAmbgVMyi+RsBoMuctMtrjatO2+xRlQJveqDG41SiL4AhF8FCp6 NwNWkVeZf1ds1Bd0CYRgEegDfsnnIQ23EXJTloSsftZEqgxV9p9a54uyuk2pqMwpVceX1R 6n+18kwLePNflwm1TfrR7cjSrlg5lSDqC+ZYqiAwrkUPSjZylWgkWeIdqP34xQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832401; a=rsa-sha256; cv=none; b=C2D1OSJCdweDuLtywV75TIe449KMGq1c7xO8TLzHsiYZ1OygT8NUWBV+uUoqgc+yx+t8hE lnd7pZyKODE9+gJyy3y8cJG3FMTxKCnllgplQpwI7bc9r+SaBAL4wLopbp0HGfD+zN6L78 2rjXmeTHccMYNKPQIp0iA4iLxGvFFhhLtH89pkNb8TK8/6d0LQhTbhzjrPk2ITZiSdkKZC d5agz1YhZQ7/Dapa/wTly09IVF1WbTQbincyjRa1dr3rUzBdZcrZ5iF5Iw2mHIwKApTwUw 8+K1yE78uhXtCXrwzzlznko94o1Z6w9+oTrgXrBy94aHdL/gvqja6y8yNS/O8Q== 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=1726832401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fMYY3zpSC2WEZsEvEjTRjWRlxmVNtxM/Xyn1JhRUYek=; b=HfvFW+OydH4+25lTVbc7+3HrnNXN2Jcvhhf1zgtRIAHYxKFxP2JzQrySLA2RftQs6mvScA qAvjN/BKlxjZwCngDejJXZcEx2+ZYZPGMOy2qadCrTTGxuCAqmMnMuv4KBi7L4uP0Qmnsb 3UOV/paxIpqVsOr2mtsHEEp3XJXMXleZEpQyfTXMW7RZpH4dRjk1M4m3cYKzyMsfyzBqgg OtpocZYPd9OyNdI6+aF0+Zl8S6NPPI4T6haq62zL0bdyTLXOynATXiH9LMEmqzkoHQWgEX nwC8xT57qq9dePDE4YoIUGzz+HWi9n2YioFk25BBRsLJ2zHYijpg2xesTdtWzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RP0w6tznmS; Fri, 20 Sep 2024 11:40: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 48KBe1TO006216; Fri, 20 Sep 2024 11:40:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBe1lN006192; Fri, 20 Sep 2024 11:40:01 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:40:01 GMT Message-Id: <202409201140.48KBe1lN006192@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: c06e1fdc7948 - stable/14 - pkgbase: Let source packages be built in parallel List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c06e1fdc794879cce97b2d2e155e638a49558c58 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c06e1fdc794879cce97b2d2e155e638a49558c58 commit c06e1fdc794879cce97b2d2e155e638a49558c58 Author: Mark Johnston AuthorDate: 2024-08-19 14:08:05 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 pkgbase: Let source packages be built in parallel To build the packages target, we build src and src-sys packages containing the source code from which the repo was built. These packages take significantly longer than the others, presumably because they contain many more files. Because both source packages are built to satisfy the same target, they end up being built serially. Split them into separate subtargets so that they can run in parallel. This saves a couple of minutes on my build machine. Reviewed by: manu, emaste MFC after: 1 month Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D46288 (cherry picked from commit d7d5c9efef031aa11a841d1836f7c937dcbe4ec8) --- Makefile.inc1 | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index fd35c724b965..28d1a9d76056 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2095,17 +2095,13 @@ create-packages-source: _pkgbootstrap _repodir .PHONY create-packages: .PHONY create-packages-world create-packages-kernel create-packages-source -create-source-packages: _pkgbootstrap .PHONY +create-source-src-package: _pkgbootstrap .PHONY rm -f ${SSTAGEDIR}/*.plist 2>/dev/null || : .if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) @cd ${SRCDIR}; \ ( echo "@override_prefix /usr/src" ; \ ${GIT_CMD} ls-files --recurse-submodules ":!:sys/" ) \ > ${SSTAGEDIR}/src.plist - @cd ${SRCDIR}; \ - ( echo "@override_prefix /usr/src" ; \ - ${GIT_CMD} ls-files --recurse-submodules "sys/" ) \ - > ${SSTAGEDIR}/src-sys.plist ${SRCDIR}/release/packages/generate-ucl.lua \ PKGNAME "src" \ PKGGENNAME "src" \ @@ -2117,6 +2113,22 @@ create-source-packages: _pkgbootstrap .PHONY PKG_WWW "${PKG_WWW}" \ ${SRCDIR}/release/packages/template.ucl \ ${SSTAGEDIR}/src.ucl + ${PKG_CMD} -o ABI=${PKG_ABI} \ + -o OSVERSION="${SRCRELDATE}" \ + create -f ${PKG_FORMAT} \ + -M ${SSTAGEDIR}/src.ucl \ + -p ${SSTAGEDIR}/src.plist \ + -r ${SRCDIR} \ + -o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR} +.endif + +create-source-src-sys-package: _pkgbootstrap .PHONY + rm -f ${SSTAGEDIR}/*.plist 2>/dev/null || : +.if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) + @cd ${SRCDIR}; \ + ( echo "@override_prefix /usr/src" ; \ + ${GIT_CMD} ls-files --recurse-submodules "sys/" ) \ + > ${SSTAGEDIR}/src-sys.plist ${SRCDIR}/release/packages/generate-ucl.lua \ PKGNAME "src-sys" \ PKGGENNAME "src" \ @@ -2128,13 +2140,6 @@ create-source-packages: _pkgbootstrap .PHONY PKG_WWW "${PKG_WWW}" \ ${SRCDIR}/release/packages/template.ucl \ ${SSTAGEDIR}/src-sys.ucl - ${PKG_CMD} -o ABI=${PKG_ABI} \ - -o OSVERSION="${SRCRELDATE}" \ - create -f ${PKG_FORMAT} \ - -M ${SSTAGEDIR}/src.ucl \ - -p ${SSTAGEDIR}/src.plist \ - -r ${SRCDIR} \ - -o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR} ${PKG_CMD} -o ABI=${PKG_ABI} \ -o OSVERSION="${SRCRELDATE}" \ create -f ${PKG_FORMAT} \ @@ -2144,6 +2149,8 @@ create-source-packages: _pkgbootstrap .PHONY -o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR} .endif +create-source-packages: .PHONY _pkgbootstrap create-source-src-package create-source-src-sys-package + create-world-packages: _pkgbootstrap .PHONY @rm -f ${WSTAGEDIR}/*.plist 2>/dev/null || : @cd ${WSTAGEDIR} ; \ From nobody Fri Sep 20 11:40:02 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RQ6NfSz5Wf44; Fri, 20 Sep 2024 11:40: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 4X99RQ1xCBz4lYD; Fri, 20 Sep 2024 11:40:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dYTI+NAa3/wRcN/y1tF8+3+vLqQYm1xH/9kbXn2D30Q=; b=Lo9z9/xT2Gz24UNeU4alYA/0luXEJ+W/w0eEfBI//J0ZAeu2L7w3NKR8hENwyzLE2zClGR Fdcg9T9XIZiLEFfm/D/XVfBp+HnIqd23+tK212lE633edxxKC0rUgev+jVq0ijBERwd+f0 aMZTCnPZyzlUe0y5Apa7pz54PLlyn4RICpPANw9KD4wLn0iXJWrbyOqfcrECZKHTwA/9hz h+ddrTuiDfazUO8DloEkLJM3XXtBTedrcyS1PwXAtYgwgdaxPcCOxxVZeJ/Pcz9svrdS6E KcgeLDo8C1jnvE8x7tiqUqP0WTz6KDaow509gMf5Iv87CMHrBrUA4fzYCpfYpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832402; a=rsa-sha256; cv=none; b=StWu8358X2bzDpJDCePFROMJjrlOltVjXduNA1ow0qSWZWgC/sKYf9HBOg1Hp2Z7NeBJ+v 2AsV9q56lkqRs+9O003J0zn9YkvHWVsS/zO9XRK/VOazTZ7YpzQ2E/TFR1mrTSP0VZaN8p QL1h9CBQieCzK+AKMREa/kD6BNJ/HrdGSQN5E41oD3LblRDLFWtFgQvfWBLAEQ5uDfM8ox xdMA3m0QuUE5TEPSo12RjB1ApUsRTrd+WGe5yRhbD0x6Nr+WXXc06MfVqLi3uXH5LkW7WS WwGhxDSeRbysDbSrw9n2+D4NjVLazkwBegDx6qGFIvuYwCC8YUHnEV3UN4IxJA== 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=1726832402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dYTI+NAa3/wRcN/y1tF8+3+vLqQYm1xH/9kbXn2D30Q=; b=QrBKCMt7+mY2MYktZcy1orAu+2y/Lbci9arFryKHUxxpcpBSdqnlxGXhMhrJYCL5TcWit2 U/Z+6RVKHzNIc66UIOFBE/aquDZyiPWm76yV2eeWBY8at2ybUBD+eyKaDsoHEVsT0eZ/Wy s2cSz6CZn1/AZ+dorYkJy841ueWnjSS9ZW7WPk+mAshrnzrBQzcJlLsCE6E/Uxfmk9FxcI q1fiBXw4VzJhapN9f/+wr5LhWD4LWLy5z8IcjO5ObZ9+RUi/eKmElcCMGEcfpyGZBz2Z+V 3ln5v5D5qiTHGFIm/l6Cd1ELW7zO7sWpJLdP9OiWy/GQz2x71VcHBds7pSDSVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RQ1X1cznpr; Fri, 20 Sep 2024 11:40: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 48KBe2oR006626; Fri, 20 Sep 2024 11:40:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBe20C006621; Fri, 20 Sep 2024 11:40:02 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:40:02 GMT Message-Id: <202409201140.48KBe20C006621@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: c8856795d378 - stable/14 - pkgbase: Make src package creation recipes more precise List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c8856795d378ccb839c9f201aeeffb8586c59e96 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c8856795d378ccb839c9f201aeeffb8586c59e96 commit c8856795d378ccb839c9f201aeeffb8586c59e96 Author: Mark Johnston AuthorDate: 2024-08-19 15:22:03 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 pkgbase: Make src package creation recipes more precise Just remove the plist created by the respective rule. Otherwise the two receipes can race with each other. Fixes: d7d5c9efef03 ("pkgbase: Let source packages be built in parallel") Reviewed by: bapt, emaste Reported by: Mark Millard Differential Revision: https://reviews.freebsd.org/D46320 (cherry picked from commit d02dcf21eea3973a714294b011537c2af6c747fa) --- Makefile.inc1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 28d1a9d76056..605b8098b742 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2096,7 +2096,7 @@ create-packages-source: _pkgbootstrap _repodir .PHONY create-packages: .PHONY create-packages-world create-packages-kernel create-packages-source create-source-src-package: _pkgbootstrap .PHONY - rm -f ${SSTAGEDIR}/*.plist 2>/dev/null || : + rm -f ${SSTAGEDIR}/src.plist 2>/dev/null || : .if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) @cd ${SRCDIR}; \ ( echo "@override_prefix /usr/src" ; \ @@ -2123,7 +2123,7 @@ create-source-src-package: _pkgbootstrap .PHONY .endif create-source-src-sys-package: _pkgbootstrap .PHONY - rm -f ${SSTAGEDIR}/*.plist 2>/dev/null || : + rm -f ${SSTAGEDIR}/src-sys.plist 2>/dev/null || : .if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) @cd ${SRCDIR}; \ ( echo "@override_prefix /usr/src" ; \ From nobody Fri Sep 20 11:40:03 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RR3XvVz5Wf6Y; Fri, 20 Sep 2024 11:40: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 4X99RR2WlXz4lhc; Fri, 20 Sep 2024 11:40:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIue6DGsrEAQPorG9MgKLe0WCeiZ97EB0k5BDPWxSt8=; b=G1RaoU5VLaDM4KHMxj3ypNg5ec8A0APKj8lmIJKX/qG1+g1je3mVVsdRpJx86S/jQhj4gC AHdPYLUwUiicJ7qWoDlX+9l233I5+3FmW0qFh+M68/+Ciehod6CEPKeyK6W5ax9TmsdFn6 GJSDl/IyK+6Ixdj4vo2stTgkPYPijqeAQ0yN9B2zBsht63Sy7nFDIRf5o5ITQK2g8KBL0m OQIdjiNzM4n8LcIxK6rRDsitwRrtnQbPYxuCNvbyAqQJN/p2g4hu6wVIC60jprYsVcKQiE ZSduitvZD4VMXWXbJc/U7LGjSvKcb6WLJEf/h3DFOvm6k0RL42vfxd2nY+bijw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832403; a=rsa-sha256; cv=none; b=JOAoU64fkSOu87Bd1z6YaNzGgUB1gILguoEggygkX5FA0Chp8xoKYUJsEDIPWFVzb7PmpX t4yz5eeFtmSCqM9P7VA5FxQjOjHlEzG5uyzy9vpUCZCHue4oEWuOXf+4vlj7A2/RMAGgSw pCH1B2C5amCIgj72Do+fyY07IfqbKx0/Rd6ZFlSSvbpZXMVf74OeETY2NKHLrpFJwl8fuB fXLJ0Vpox5otWrzJs8jOwDvYwTWf6vqpziVAOzX0mKGFSadl7W5hL+IYbVVSnwciepyFJr p5Yc0Jz9PX5sjXOkuJ6miqn3K/Q67N95kAMfDwjPEpHZzzAp53KySOn0SNvCJQ== 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=1726832403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIue6DGsrEAQPorG9MgKLe0WCeiZ97EB0k5BDPWxSt8=; b=uES5lP/FfH5+p7ZuP2vCY7wStYm+yLtJ5C/IGqJroVaNUfsvG21kBlqTDp6/SQFb7GxlNe QBwl5PwNpAFXwyRtXC8C7Tx1Sr9F65U4c++LmA36yOMBWhvScnSlWz+qfYtsl2b/iqJ68H PICgnozJZRzIoj38xrL28unHKnkN1FbaGN068WAPhTxVpzdoEPN+x4GiCxkqBFo/P6OQhM rujramn32qzwcacMb/sW0mTU8NA41Kn5Cehn3QfGoUEydRq+D1PW9StlcQoHH0rc17SfCw 8xj+0FC4mZ22qVUwQDArFBmsFI5Vnan3CxxODFIo/jK8aaZFpz/CZ+wOiVQLfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RR250Pzp2M; Fri, 20 Sep 2024 11:40: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 48KBe3P4006904; Fri, 20 Sep 2024 11:40:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBe34d006900; Fri, 20 Sep 2024 11:40:03 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:40:03 GMT Message-Id: <202409201140.48KBe34d006900@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: 20191b71bae1 - stable/14 - src.conf: Add a MK_ZFS_TESTS knob List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 20191b71bae1f86ecc03e67d60ad801a72ea05d2 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=20191b71bae1f86ecc03e67d60ad801a72ea05d2 commit 20191b71bae1f86ecc03e67d60ad801a72ea05d2 Author: Mark Johnston AuthorDate: 2024-09-07 14:36:28 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 src.conf: Add a MK_ZFS_TESTS knob The in-tree ZFS test suite is somewhat outdated and I see a number of failures there. I tend to think that we want to integrate the OpenZFS test suite somehow, replacing the legacy one, though it's also possible to run that as a separate test suite. In any case, if one wants to run the OpenZFS test suite separately, it's useful to be able to disable installation of the legacy ZFS test suite, so let's provide a src.conf option to do that. Reviewed by: asomers MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D46476 (cherry picked from commit 24affded3d4ec5fafb6b22f773ec1e20d73b9b03) --- share/mk/src.opts.mk | 6 ++++++ tests/sys/cddl/Makefile | 2 +- tools/build/options/WITHOUT_ZFS_TESTS | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index a12a748a6055..600daa9ef61b 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -190,6 +190,7 @@ __DEFAULT_YES_OPTIONS = \ WIRELESS \ WPA_SUPPLICANT_EAPOL \ ZFS \ + ZFS_TESTS \ LOADER_ZFS \ ZONEINFO @@ -444,6 +445,11 @@ MK_OFED_EXTRA:= no .if ${MK_TESTS} == "no" MK_DTRACE_TESTS:= no +MK_ZFS_TESTS:= no +.endif + +.if ${MK_ZFS} == "no" +MK_ZFS_TESTS:= no .endif .if ${MK_TESTS_SUPPORT} == "no" diff --git a/tests/sys/cddl/Makefile b/tests/sys/cddl/Makefile index 80c72ea5ec42..377faae73522 100644 --- a/tests/sys/cddl/Makefile +++ b/tests/sys/cddl/Makefile @@ -5,7 +5,7 @@ TESTSDIR= ${TESTSBASE}/sys/cddl TESTS_SUBDIRS+= ${_zfs} -.if ${MK_ZFS} != "no" +.if ${MK_ZFS_TESTS} != "no" _zfs= zfs .endif diff --git a/tools/build/options/WITHOUT_ZFS_TESTS b/tools/build/options/WITHOUT_ZFS_TESTS new file mode 100644 index 000000000000..ae2ac45ca0f3 --- /dev/null +++ b/tools/build/options/WITHOUT_ZFS_TESTS @@ -0,0 +1 @@ +Do not build and install the legacy ZFS test suite. From nobody Fri Sep 20 11:40:04 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RS5SVYz5Wdwb; Fri, 20 Sep 2024 11:40:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X99RS3JQ4z4lhs; Fri, 20 Sep 2024 11:40:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8q+TOtGjGv8eQnm8wNbnfXBAl5kmAhCbi/SDDZwdw0k=; b=SLyqbIY/0xn5JeagFdn5aTGDroN7WCbv9N69U9025edTeeJAKviIXKtx9FBWKJBJat4Id+ PndT+8G2qZErFGb5cXj/l68luY3f+c/Y2UY8kA03kCjRj5gaBNhaAZCiNsIDHPU3Nm9DqY 0jpgtNbUwFIIuuMv3MfP6eWirGw628TZbultJGTqZNw2+O5c08fOP0URGPOgxnCn407Z96 qhsTPaZrZ8IRq1urLEAuCorLMHl/wjcf5ildhtnJLMJXswmrR3Vlpyd7kn5yRld41XzVTT gKFZxl6IMVXzepywQ5pfi0TGeDJMn/HCYUqNqi5C9ZxAYD67biuAdyJTsUK17w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832404; a=rsa-sha256; cv=none; b=RAXN0isL7dxXCzD2kLGmHpyMztpi6UC735KcTlz+4OllKXfvv/iCJf6jjMQ5rjDBWGxWJY F6iQyPC+zrtcjn+jTkrMhVfVpZfISIvxBuk392TdYn1mLA9Iyw9yeKEHzAQgeoRgGyBe7H BYBuT5R4QHdeh/bphufXpH3bcS0rB8AHdmg/tWhWfDv4JuQ9V5M80oebK70tl/sbk9iQGe hvLaP7KE9GAkGZB7TdDUspHi5jwXgOM40XO8ZsijCguS0VwtZFqnKt/x2gSxSzS9+xZ4OQ NGM1jjDP9z+XuYC4DV/PzIW5VNGg63HaZC9ypuYVR3gq2ZGSfXTbcO/nOpu3DQ== 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=1726832404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8q+TOtGjGv8eQnm8wNbnfXBAl5kmAhCbi/SDDZwdw0k=; b=DnyOIqbhFG85mFjcYMMB6U6W2QJccv7Km3gf07aVA0qSYZBALqRakqffTPsnkTSQyXZ5la ykK4va9MR2g12Yh4Qg2bcObiZAT/28pXhNTmWYL0Pnp7j+n7UbuYbOEJ1I8CsEtwIBJABw E6TXCZkgUtcKn9GHYyH18td4eE6rrpQNGeTbZU8szmjkKm5bYYnQtkNahBWLsViUpa5+TA M6EZrMzlSmQWS+oAn401Px/SHZrZ4ZHrYDEGonAeWXLvZbHqEqJ+N1HkXb1ErYGEXGj4/K /EfUP203IMwZ0AxK26fPJLdCrmVLbKw2ZaIN4ETwtDU93Q4CphdP8/zQLxV6pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RS2drJzp2N; Fri, 20 Sep 2024 11:40: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 48KBe4fZ007193; Fri, 20 Sep 2024 11:40:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBe4nP007188; Fri, 20 Sep 2024 11:40:04 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:40:04 GMT Message-Id: <202409201140.48KBe4nP007188@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: 772e980da4bd - stable/14 - ifnet: Add handling for toggling IFF_ALLMULTI in ifhwioctl() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 772e980da4bd5d47eceee95e91e8573ecb48be1c Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=772e980da4bd5d47eceee95e91e8573ecb48be1c commit 772e980da4bd5d47eceee95e91e8573ecb48be1c Author: Mark Johnston AuthorDate: 2024-09-06 16:55:42 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 ifnet: Add handling for toggling IFF_ALLMULTI in ifhwioctl() IFF_ALLMULTI has an associated activation counter and so needs special treatment, like IFF_PROMISC. Introduce IFF_PALLMULTI, akin to IFF_PPROMISC, which indicates that userspace requested allmulti mode, and handle it specially in ifhwioctl(). Reviewed by: zlei, glebius MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D46524 (cherry picked from commit 58f194223ab8578269772a6874a8444e5e03afaf) --- sys/net/if.c | 16 ++++++++++++++-- sys/net/if.h | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 9beac09d54c9..fe51ba5a0b60 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -2614,7 +2614,12 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) (ifp->if_flags & IFF_UP) == 0) { do_ifup = 1; } - /* See if permanently promiscuous mode bit is about to flip */ + + /* + * See if the promiscuous mode or allmulti bits are about to + * flip. They require special handling because in-kernel + * consumers may indepdently toggle them. + */ if ((ifp->if_flags ^ new_flags) & IFF_PPROMISC) { if (new_flags & IFF_PPROMISC) ifp->if_flags |= IFF_PROMISC; @@ -2625,6 +2630,12 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td) ((new_flags & IFF_PPROMISC) ? "enabled" : "disabled")); } + if ((ifp->if_flags ^ new_flags) & IFF_PALLMULTI) { + if (new_flags & IFF_PALLMULTI) + ifp->if_flags |= IFF_ALLMULTI; + else if (ifp->if_amcount == 0) + ifp->if_flags &= ~IFF_ALLMULTI; + } ifp->if_flags = (ifp->if_flags & IFF_CANTCHANGE) | (new_flags &~ IFF_CANTCHANGE); if (ifp->if_ioctl) { @@ -3386,7 +3397,8 @@ int if_allmulti(struct ifnet *ifp, int onswitch) { - return (if_setflag(ifp, IFF_ALLMULTI, 0, &ifp->if_amcount, onswitch)); + return (if_setflag(ifp, IFF_ALLMULTI, IFF_PALLMULTI, &ifp->if_amcount, + onswitch)); } struct ifmultiaddr * diff --git a/sys/net/if.h b/sys/net/if.h index 4c3cfd06ca03..2403b22c191f 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -162,7 +162,7 @@ struct if_data { #define IFF_STICKYARP 0x100000 /* (n) sticky ARP */ #define IFF_DYING 0x200000 /* (n) interface is winding down */ #define IFF_RENAMING 0x400000 /* (n) interface is being renamed */ -#define IFF_SPARE 0x800000 +#define IFF_PALLMULTI 0x800000 /* (n) user-requested allmulti mode */ #define IFF_NETLINK_1 0x1000000 /* (n) used by netlink */ /* From nobody Fri Sep 20 11:40:05 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X99RV082Sz5Wf22; Fri, 20 Sep 2024 11:40:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X99RT3msZz4lj8; Fri, 20 Sep 2024 11:40:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726832405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=frMqBPnm2spisBdfFhsrcmHLvMtezzPjINndkGLJxGo=; b=g7sr98qpckGK4LW/s48RWW1PS0lyKu81vve202+DxCpT1gYrxqF+7CdQJqLM5t9wJnaRsS zqZ39ufPVVFknPFNlnaNtiCxufFgmwG7/qgiE/XEpLfpQS+OWh3dBzLP+Wt1Te3B0mB1RX Q6DPYNaGKZrD0sZZeIjGkpbXh6JrqH52Eu708e+OEu+bPQIk4jiNX6JXodr7wC7Vb4H9nt Ww42l4pBPhdMu4hUozcpe+D267dB3sJ7ljrC+vbJ00RPmYV6T2oTB0BVwyBEHVUmDu00aF tpz7QFWiZisDtd2alAXaoumxppk1WhZ5UZ1cJJ9/dfjipdktKVCUhohLOMieUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726832405; a=rsa-sha256; cv=none; b=hf7AgYGGOM60dQ9eu26ETz1pyRFbQ+UufeICPjSu/anNo5nSnsgYo1zMHJYypfdKaFozG3 GCLLVAA02dFsntUD9ptrYvyf0ViiqytPIItarO3BbUKIUo/s29JROGEdwcBKVVlS2x/cGb Aj6FECZc8cagMeeqt21NNk16H5zGUakxxU/frIzu+8VnVW+AK5wxIbQ1sUlFLIknMptDuB susTYFP8m0AuSoTWHN75DtsdKPt6qsXTV0gBOhngglFJbNadQ3RUx80xt+AxhVxBn24N7Q XE9NopUa7iu9mrvEFIBVyrX3eYjOfR8uX74WDEJIBTtvS0VfC1JiCa2orEgV4Q== 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=1726832405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=frMqBPnm2spisBdfFhsrcmHLvMtezzPjINndkGLJxGo=; b=Ckr9hsZ0aD2kLHMwsA8jXEX7qXHWqLj/oNS9b7DLgPk71KopYnBliD8hkKix8NLUnbTcIk 5iPcOizVh8HNsMzx5G7FGSojToUluTkHN8VQwu2+/Qr+FsD5LiSjSF/qJdZPvNys2ZARvo tNAQju4CAQuBm7ru4YAUkxtsInp/QZzC30drDgo0PROCKDrSVjfIWKOPNBGHXHpa+o55JJ eT+dycYijG/7jOit72xeJcgOlcuE+7ggwnQ5f7nCAr5AhzTccMxhiFRkTmMqk91O0Y1gao 4vh9Geu/bDXu8sNi4WS2Xd4L3M4OMHL74kkT4woctsUeolm6jzroe1MMTB1Z1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X99RT3KDWznps; Fri, 20 Sep 2024 11:40: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 48KBe5Cr007472; Fri, 20 Sep 2024 11:40:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KBe5Fn007467; Fri, 20 Sep 2024 11:40:05 GMT (envelope-from git) Date: Fri, 20 Sep 2024 11:40:05 GMT Message-Id: <202409201140.48KBe5Fn007467@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: f47e5a92edd6 - stable/14 - ifconfig: Add an allmulti verb List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f47e5a92edd6840fca6267649b1304c39fbbcc8f Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f47e5a92edd6840fca6267649b1304c39fbbcc8f commit f47e5a92edd6840fca6267649b1304c39fbbcc8f Author: Mark Johnston AuthorDate: 2024-09-06 16:56:58 +0000 Commit: Mark Johnston CommitDate: 2024-09-20 11:39:16 +0000 ifconfig: Add an allmulti verb Similar to "promisc", this allows the IFF_ALLMULTI flag to be toggled from userspace if it happens to be useful to disable multicast packet filtering. One use-case is when implementing IPv6 neighbour discovery over netmap. Reviewed by: zlei, glebius MFC after: 2 weeks Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D46525 (cherry picked from commit 00c9a6806c9cf3357b62f6708e5acd1ffd166613) --- sbin/ifconfig/ifconfig.8 | 4 ++++ sbin/ifconfig/ifconfig.c | 2 ++ sbin/ifconfig/ifconfig_netlink.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index 259be41bf94b..2f87ae8b8a5f 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -502,6 +502,10 @@ Enable driver dependent debugging code; usually, this turns on extra console error logging. .It Fl debug Disable driver dependent debugging code. +.It Cm allmulti +Enable promiscuous mode for multicast packets. +.It Fl allmulti +Disable promiscuous mode for multicast packets. .It Cm promisc Put interface into permanently promiscuous mode. .It Fl promisc diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 402967d405fd..5cf1ae6b79b7 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -2019,6 +2019,8 @@ static struct cmd basic_cmds[] = { DEF_CMD_ARG("descr", setifdescr), DEF_CMD("-description", 0, unsetifdescr), DEF_CMD("-descr", 0, unsetifdescr), + DEF_CMD("allmulti", IFF_PALLMULTI, setifflags), + DEF_CMD("-allmulti", IFF_PALLMULTI, clearifflags), DEF_CMD("promisc", IFF_PPROMISC, setifflags), DEF_CMD("-promisc", IFF_PPROMISC, clearifflags), DEF_CMD("add", IFF_UP, notealias), diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c index bb0d242f21f6..03fe1e418082 100644 --- a/sbin/ifconfig/ifconfig_netlink.c +++ b/sbin/ifconfig/ifconfig_netlink.c @@ -77,7 +77,7 @@ static const char *IFFBITS[] = { "STICKYARP", /* 20:0x100000 IFF_STICKYARP*/ "DYING", /* 21:0x200000 IFF_DYING*/ "RENAMING", /* 22:0x400000 IFF_RENAMING*/ - "NOGROUP", /* 23:0x800000 IFF_NOGROUP*/ + "PALLMULTI", /* 23:0x800000 IFF_PALLMULTI*/ "LOWER_UP", /* 24:0x1000000 IFF_NETLINK_1*/ }; From nobody Fri Sep 20 12:19:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9BKF3wKCz5WmGx; Fri, 20 Sep 2024 12:19: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 4X9BKF22TWz4tvx; Fri, 20 Sep 2024 12:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726834785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzdwLIg85SrT89aoT/34WLTfPnAMbL3b7Od65ak3O9A=; b=LCLgrM7gbHj0JyUFUFhyOKVpdXWq++iFlBrDYEQ4YSGbwZW4FokXqs8NzYdYt4Yb3941S/ 6MmvpywlpP3ML7V7yQD4eVDDTtZKFtKrOkvqdE6H+m8GIysTa7+KC49SI7qYoBoOhrLxRk mGrhjz2x7GQ+gPYFvO3EwMyDyGjGpDVkjG+Z+Xtghb77JDUpmoujX0/JCAVnUXQCU0q/to FTaM2EHVvIoOXbMRC6SB6rfH0cjLD7KCzhhhp0AJ+tB/DKsox+fMR4M75bivsjOqnDHlRo pGGoyEmIUfQoxNu85n/Ac56DAFDX3dLNaQVRwfO8hZFbexQ3LHNjeR3bmb/xYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726834785; a=rsa-sha256; cv=none; b=Qbhm99anu1c/yCHrTjcFL9p0tZoH5t+mshrCS3KiIs79hlzQnTwGvf6JN94feWg4kdyW/c zMD5uxpsZwbdOylXWPZtUNeay397jbV/9ClPnd+UKbjhymCvPcpqyaW8dkoUnQ7benVX43 0tB0floL+uHUDHPtOJ6A0ls1kRDjplF/ORmVAe98NecnnhO+znDfBO4pE2SFL1e7pt8JS7 NSOdov9C0QZ60obOavARN0I9jKxYftkTCdDYU23NzqTSCgurd7C8yrGp4hPpXETQ9OyRRU 9E+hmtAP1twAjzWk6C/tHhB+3Dti+UTgeJOsRgfIpJcBvbIQfcZhBwCUUUOzLg== 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=1726834785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bzdwLIg85SrT89aoT/34WLTfPnAMbL3b7Od65ak3O9A=; b=jl+HAxZAJSQ9zDegftQcUfos1GFifUTw/gP0Yrm+Xxqcqzz2VqlqG+ue0t4oWlFJwBbdjH DDyCqJroi/RLzLFcCT/4JUq1+97/QIP+D1cWnJCfWB0MZnhtnQgSVmfAz+VvRx8VCygEHk w5hiMG6tP7bQ7ENzRQjCl4Tk4CH291XeAUVba1rQ1smBfjBc2nWy9oSKhLJLdTvQ1Aa9pP BXhO0yjpz/BSh0iJgr5M+oyp+O56ujXSFRuZDUzj/xwAW41Ij9UsC9IDUV23vMHOp/ovY1 35XBT56K8K0MT3zbz+nZeMggLbr2oYAAR4Tbo71PKCuQNwralSB7ODwfQxcbcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9BKF1XFyzpNx; Fri, 20 Sep 2024 12:19: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 48KCJjQP074031; Fri, 20 Sep 2024 12:19:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KCJjbJ074028; Fri, 20 Sep 2024 12:19:45 GMT (envelope-from git) Date: Fri, 20 Sep 2024 12:19:45 GMT Message-Id: <202409201219.48KCJjbJ074028@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: f7dd97b7e227 - stable/13 - Allow sysctl hw.machine/hw.machine_arch in capability mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f7dd97b7e227016a3fac4616307d871af3011dfe Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f7dd97b7e227016a3fac4616307d871af3011dfe commit f7dd97b7e227016a3fac4616307d871af3011dfe Author: Val Packett AuthorDate: 2023-02-05 20:52:50 +0000 Commit: Ed Maste CommitDate: 2024-09-20 11:19:41 +0000 Allow sysctl hw.machine/hw.machine_arch in capability mode There's no harm in reading strings like 'amd64'. Reviewed by: emaste, manu Sponsored by: https://www.patreon.com/valpackett Differential Revision: https://reviews.freebsd.org/D28703 (cherry picked from commit 4a1c4de232af202aa5fa02c7adaa97174997ae61) --- sys/arm/arm/identcpu-v6.c | 2 +- sys/arm64/arm64/identcpu.c | 3 ++- sys/kern/kern_mib.c | 2 +- sys/powerpc/powerpc/machdep.c | 2 +- sys/riscv/riscv/identcpu.c | 2 +- sys/x86/x86/identcpu.c | 4 ++-- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/arm/arm/identcpu-v6.c b/sys/arm/arm/identcpu-v6.c index baae9ac360ad..6293a5ccaceb 100644 --- a/sys/arm/arm/identcpu-v6.c +++ b/sys/arm/arm/identcpu-v6.c @@ -52,7 +52,7 @@ char machine[] = "arm"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); static char cpu_model[64]; diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index fcbf607b8fef..e913154f9956 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -96,7 +96,8 @@ sysctl_hw_machine(SYSCTL_HANDLER_ARGS) } SYSCTL_PROC(_hw, HW_MACHINE, machine, CTLTYPE_STRING | CTLFLAG_RD | - CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); + CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", + "Machine class"); static char cpu_model[64]; SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index b2e9e06f5793..ee3e36c0b5a8 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -317,7 +317,7 @@ sysctl_hw_machine_arch(SYSCTL_HANDLER_ARGS) return (SYSCTL_OUT(req, machine_arch, strlen(machine_arch) + 1)); } SYSCTL_PROC(_hw, HW_MACHINE_ARCH, machine_arch, CTLTYPE_STRING | CTLFLAG_RD | - CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine_arch, "A", + CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine_arch, "A", "System architecture"); #ifndef MACHINE_ARCHES diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index 96084aea6fcf..85d741d11b1a 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -149,7 +149,7 @@ static char init_kenv[2048]; static struct trapframe frame0; char machine[] = "powerpc"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, ""); +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, ""); static void cpu_startup(void *); SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); diff --git a/sys/riscv/riscv/identcpu.c b/sys/riscv/riscv/identcpu.c index 6a63d39d66aa..39bc0e3b91af 100644 --- a/sys/riscv/riscv/identcpu.c +++ b/sys/riscv/riscv/identcpu.c @@ -62,7 +62,7 @@ char machine[] = "riscv"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); /* Hardware implementation info. These values may be empty. */ diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 8a5d74ca5a2d..450df6807920 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -152,9 +152,9 @@ sysctl_hw_machine(SYSCTL_HANDLER_ARGS) } SYSCTL_PROC(_hw, HW_MACHINE, machine, CTLTYPE_STRING | CTLFLAG_RD | - CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); + CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); #else -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); #endif From nobody Fri Sep 20 15:27:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9GVB6BbWz5XYdL; Fri, 20 Sep 2024 15:27: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 4X9GVB5Pttz4XJ3; Fri, 20 Sep 2024 15:27:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726846066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A6yQzmpgQSjAuW37NK8p8h1TKck+kIhy1NPscvmPI0Q=; b=sICuo1LxUM45IfSLhvWxvyM8f8mCzx8NOKLA1mrY07uRNODOuPjST1wXBEz0DdtysWVQs1 fxSCqn0w7ht1pAV/7DdL5bgPN656EBAB+mX4W+cEMm92sZ08oqWqe4BdgIXGNcOOVRxDgm 7z4GtVSuxwhaQ8a668aaGVBIzHiqI1BxMDvB6p3wJQvDE+XGxufmLwa7SdM3qXlWntc5qA c5a/xcp+SjZwdAdNjc5M74V2YYoPpefMjgV2A88uyiR8OCdHUclfb3dx8k5hDTkUt92y2h 7B8Q+azTHN3KdUDMdWkyONw6lOjuLyfRWgKOywdZQo1qosQarWigcJx388wjtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726846066; a=rsa-sha256; cv=none; b=Ukeycmd7nNrl1LSaRO51lftJ/knCahKxF/CQGF0UJIXQ/dD6etz3qdfVWHjS5v1bbJuJN5 Cfw0EN0vjfDhoTXCbggfACZWZSWijEmC5C1lGZMvpvGQE47FC9orPE80DJ81su3JaMTuGY 5NIT/oFWtKnpLT5bnMMcZG5610RdoQ2lb8vR/W779qYQw7q64UNUN25UoUgJqrvf+qrQKe F+Kn0QIBuy8Z9VDLHesuR2dw+zFfvxo5DMQ7Hu5smsHF3XLBo86K5yXwyCPMaxDkXSeme9 O+A0qkVdGTqQy4qvdhRPu+TmJn4Lvf4l0Wmv5+Qa7HC6MSKinlr+L+UBKd0fmA== 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=1726846066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A6yQzmpgQSjAuW37NK8p8h1TKck+kIhy1NPscvmPI0Q=; b=SxOSssClDGIXqLAUqWUg8VYdnLJNnyDagl9OwY7crR6D9LCYcDei5MkKCG3kjYI9cLzf3g RArMRNSL+BfAqTWK8KJNDehxZQrnkfUUdV/ZFoWot1bClChRF5rUEHx1Rw87bZTdnI7vA1 CFRq/C7rtaH9i5sruMQuSNcbAYMsJSzLu2QvaUlHj+c4pagvnG5Z4IqR+C5ibl3sa07ICa s72ed0RasgmNgBhhHdLXROD7wPZoaBXmzMuBdA4Ct20AIGa3lCX7v8WsCWQtT//osk0IX5 0lUsCbIwU7TaligDXdQiC8vgj/r9D/fVdRemLHhtpy8NwZqX+8Zx1FBWy9itrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9GVB527Czv9p; Fri, 20 Sep 2024 15:27: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 48KFRkAK098024; Fri, 20 Sep 2024 15:27:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48KFRkQ4098021; Fri, 20 Sep 2024 15:27:46 GMT (envelope-from git) Date: Fri, 20 Sep 2024 15:27:46 GMT Message-Id: <202409201527.48KFRkQ4098021@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: 313bd4df8b13 - stable/13 - mips: Allow sysctl hw.machine in capability mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 313bd4df8b1304d9a500f40c6ccb46a2b155fac1 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=313bd4df8b1304d9a500f40c6ccb46a2b155fac1 commit 313bd4df8b1304d9a500f40c6ccb46a2b155fac1 Author: Val Packett AuthorDate: 2024-09-20 15:19:04 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-20 15:24:29 +0000 mips: Allow sysctl hw.machine in capability mode This is a direct commit to stable/13. Reviewed by: emaste, manu Differential Revision: https://reviews.freebsd.org/D28703 --- sys/mips/mips/machdep.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/mips/mips/machdep.c b/sys/mips/mips/machdep.c index af05e6adb7a5..877216c25b05 100644 --- a/sys/mips/mips/machdep.c +++ b/sys/mips/mips/machdep.c @@ -102,7 +102,8 @@ #define BOOTINFO_DEBUG 0 char machine[] = "mips"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, "Machine class"); +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, 0, "Machine class"); char cpu_model[80]; SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, cpu_model, 0, "Machine model"); From nobody Sat Sep 21 04:18:45 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9bbn2vPkz5XBn5; Sat, 21 Sep 2024 04:18: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 4X9bbn24Bjz40Cb; Sat, 21 Sep 2024 04:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726892325; h=from:from:reply-to:subject:subject: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+jffjl8Qb4e2gin+ZXoflu8OefwrD6Fy+yV3UqN1q0=; b=xuV6hiaTIBxdXX/enALFzYZZ+ANwNOeSZcSUJscvzD4v11t2enmtfw3RDTXoZTPGxUXxug wW7SuO80xsMKxErIcbWSTsYvO5xJahd0EujHuFaq5MDD/Go31jYErmbesXVYsK454r7qkG qKoeDuRNjmmH8KF2+CHk5LA556cT9vrLxAtKCdPJvMVNdV5dIH0Pvu7GffRtFRZeTaj21T vY3EUUV37YSR520fE+Y6Rb3rgYz7haNAwXIUmTagu5acCFqclLrNqwRmRmmuOaCogAG7W1 xyAYPbb8fCFq3fpT2fG88oz+wIjzUdogTJENKg6Gk/0SsLK2LuwKP+7ODk4qwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726892325; a=rsa-sha256; cv=none; b=jB7HF4IdMMDm75lfPB1TE4RWCDiymZdrTrO6CS0BSqWJTz/nx6x898xwsJze9B/t/sc5rV slheJntQRH0z21z+CmukZsupOd0x15gvDB5QJlzrnbs8rczkN5FIA1/qdLvYMz82QF0a1W K7PowyMY1/Z799AEW8ellF32++Sx311fPvJ5RzyTjBu52sLr6POEi/++s495LTIbaiidDp W+ukrv27ITmVBEn2dS971ZLr2xHGRKJMGZtEZE5uqzXsFgZYBDxW2erHg68l7wpeB5p3JP mlv8foeKy8WhgLqULBsQP9f4MPW0/dlaaHs5W0bX0yOS1Ey7ZAgoZIb21EFwfQ== 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=1726892325; h=from:from:reply-to:subject:subject: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+jffjl8Qb4e2gin+ZXoflu8OefwrD6Fy+yV3UqN1q0=; b=heQOcY4NvqCBLgn6kXDlHniID2EgAGCU9rREngftyK9IuUYFSr1UqaF7sZcY2TSHqt7jnq EhqVUvqyZDZ2a7riv1+JtX+gkF/iiCP4ED3wxiM8ap0pYPB6rha0XAsiZ0fkVra8aHOAJk NfQ/cwlJDVhF1IBZh+fFbn+3Fslytus9tIc1nVYTVkcmWIw/3dKejjtERhz0gh05oHWFzo bdN3QDnlaiEgRxF3RhnJ0JphX/KAa+qtTqmzskzB6VWGXAy56XROXmbsHBbQHUuexXgUI9 /04SdiZCImFBpI2YfUQmZmzgNBEGcuqEt+qVJbvFzXL1pYhrtS6UH7uxl8PSWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9bbn1bFkzJTD; Sat, 21 Sep 2024 04:18: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 48L4IjbM010072; Sat, 21 Sep 2024 04:18:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48L4IjdA010069; Sat, 21 Sep 2024 04:18:45 GMT (envelope-from git) Date: Sat, 21 Sep 2024 04:18:45 GMT Message-Id: <202409210418.48L4IjdA010069@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: 57f268ccfc66 - stable/13 - zfs: cherry-pick change from openzfs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 57f268ccfc662d274d82cfc4e0e0ecb2db5d616e Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=57f268ccfc662d274d82cfc4e0e0ecb2db5d616e commit 57f268ccfc662d274d82cfc4e0e0ecb2db5d616e Author: Zhenlei Huang AuthorDate: 2024-05-30 16:58:20 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-21 04:16:40 +0000 zfs: cherry-pick change from openzfs Vendor PR: #16210 FreeBSD: Add const qualifier to members of struct opensolaris_utsname Obtained from: OpenZFS OpenZFS commit: e2357561b9499296bff758afe4868dbc39735675 Note: this is required by the following up MFC [1]. No functional change. 1. 356be1348dac kernel: Make some compile time constant variables const --- sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h | 10 +++++----- sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c | 7 +++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h index 3481507d2c33..1c777f5fb91e 100644 --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h @@ -45,11 +45,11 @@ #define F_SEEK_HOLE FIOSEEKHOLE struct opensolaris_utsname { - char *sysname; - char *nodename; - char *release; - char version[32]; - char *machine; + const char *sysname; + const char *nodename; + const char *release; + char version[32]; + const char *machine; }; extern char hw_serial[11]; diff --git a/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c b/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c index 0354b986cd5f..0bd7764082b3 100644 --- a/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c +++ b/sys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c @@ -40,6 +40,9 @@ __FBSDID("$FreeBSD$"); #include static struct opensolaris_utsname hw_utsname = { + .sysname = ostype, + .nodename = prison0.pr_hostname, + .release = osrelease, .machine = MACHINE }; @@ -56,10 +59,6 @@ utsname(void) static void opensolaris_utsname_init(void *arg) { - - hw_utsname.sysname = ostype; - hw_utsname.nodename = prison0.pr_hostname; - hw_utsname.release = osrelease; snprintf(hw_utsname.version, sizeof (hw_utsname.version), "%d", osreldate); } From nobody Sat Sep 21 04:18:46 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9bbp5G62z5XBwR; Sat, 21 Sep 2024 04:18: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 4X9bbp3FB3z40Mj; Sat, 21 Sep 2024 04:18:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726892326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iqwXvF4QZwGwAWPHMPJogBdwqtdY8+dgK0Hhxx1bKwQ=; b=r+/4dZ/k8N4JZL77Fg03S3CMgMqodjrv0utEI8AL6V2y0X/iiziVYsEqGPHAUUHc9QjMxI XSX+Tx9Thx6BgE0X9gEssDuQdzGJ/5RpJYQdQKt+oHP5YpLvlR7VbsmZ2DbqyQV5dZOF3S vAtrQtb8KGrcwvCkktp9vbXHtsRO8UBHYyJCEpt5noY0s/pBmzG9cK97q6ONfufQCD5tST u3CIFVIMj/u2jt4MBiymc7fcR2HZej2A1q0q1VskcxQLI74beL7e9rZy3uJ6/8xETYBaFi H1ZG+H4rdsgDJzJuCK8Eu91SdwkFODWcGCsE3hml7fs5y5SYEQwbp6nqILZY7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726892326; a=rsa-sha256; cv=none; b=F2sa+chg6zLVte1uPshGt0QUCtEWcID7Z8tDMCR3EGt5cYsEgy1mGlF/GwxcFnahq+L2UO 4pO8bDgc85VMcAwGk4jHfOt2joqDj2rqOJLkeQ5QB7SvLonzlvHqqil+SDIin7w6lZ4kDr J3EpYYHPckFcmGqNvSyw6KnWCbt+KNA/SlM75RBrolKxGjCyrXgoKiaBdHzC6FNAsvCYCD B4gL0pDBiNvMioS2ChIaw3XlSVJ3AgjNe26imUvGDKx96KUaqgp2oN9z5CCONJCmFQCodM YoVetWECQEcoZmwuVIcBgEvLpxH0fF3EzsMm4vbQF1MQ5aL8VQDmK85vYlalpw== 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=1726892326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iqwXvF4QZwGwAWPHMPJogBdwqtdY8+dgK0Hhxx1bKwQ=; b=wtP7V2GRGWhrjb6Z/VdO2rcLsCXqe0lIhK8aztz7SmnIvNpOceeBDwRBXlPmoxeYVYzWNk MpoWa7QHKM/jdbHNfeBAc6mUvDZbWshqgKBWYB91Co9E4Hr2WABXA/dEOuHWf7Ijha/z+b yiMrYPmc/Mb8Bmtt/zBAQPsdVMk+AKEq5aUj5V4yCWDUWKB4FbvRM6aZUbKfUtqj53YrYp avytKz8+2PfE02LPLtpkCUPbiEWXezt0PIEcXBkeBzMMT0STMnouRR7slHGuTOv0S8lYoF 4IIVblDP1R0vkcpVmdAnw8q1yDvGG5UTbYfpx9H7OKGEs2qOH/S6yMhLm5zTtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9bbp2h8szHgR; Sat, 21 Sep 2024 04:18: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 48L4IkwM010123; Sat, 21 Sep 2024 04:18:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48L4IkNV010120; Sat, 21 Sep 2024 04:18:46 GMT (envelope-from git) Date: Sat, 21 Sep 2024 04:18:46 GMT Message-Id: <202409210418.48L4IkNV010120@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: e38f24446f09 - stable/13 - kernel: Make some compile time constant variables const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e38f24446f09267647b3d893ae700c4c9e07bc78 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=e38f24446f09267647b3d893ae700c4c9e07bc78 commit e38f24446f09267647b3d893ae700c4c9e07bc78 Author: Zhenlei Huang AuthorDate: 2024-08-30 10:26:30 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-21 04:16:40 +0000 kernel: Make some compile time constant variables const Those variables are not going to be changed at runtime. Make them const to avoid potential overwriting. This will also help spotting accidental global variables shadowing, since the variable's name such as `version` is short and commonly used. This change was inspired by reviewing khng's work D44760. No functional change intended. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D45227 (cherry picked from commit 356be1348dac94ba0d2dc1f479bc1f8a2ebaa03a) (cherry picked from commit 497f577f460ba93dda38910bf49b390fa610480f) --- sys/arm/arm/identcpu-v6.c | 6 +++--- sys/arm64/arm64/identcpu.c | 2 +- sys/conf/newvers.sh | 14 +++++++------- sys/kern/init_main.c | 24 ++++++++++++------------ sys/kern/kern_mib.c | 16 ++++++++-------- sys/powerpc/powerpc/machdep.c | 5 +++-- sys/riscv/riscv/identcpu.c | 6 +++--- sys/sys/copyright.h | 4 ++-- sys/sys/sysctl.h | 8 ++++---- sys/sys/systm.h | 8 ++++---- sys/x86/x86/identcpu.c | 6 +++--- 11 files changed, 50 insertions(+), 49 deletions(-) diff --git a/sys/arm/arm/identcpu-v6.c b/sys/arm/arm/identcpu-v6.c index 6293a5ccaceb..83e3e255d50e 100644 --- a/sys/arm/arm/identcpu-v6.c +++ b/sys/arm/arm/identcpu-v6.c @@ -50,10 +50,10 @@ #include #include -char machine[] = "arm"; +const char machine[] = "arm"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, - machine, 0, "Machine class"); +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); static char cpu_model[64]; SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index e913154f9956..8cce4b8be409 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -52,7 +52,7 @@ static void print_cpu_caches(struct sbuf *sb, u_int); static u_long parse_cpu_features_hwcap32(void); #endif -char machine[] = "arm64"; +const char machine[] = "arm64"; #ifdef SCTL_MASK32 extern int adaptive_machine_arch; diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index b4872c14722a..b9f8da60411e 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -303,13 +303,13 @@ $COPYRIGHT #define VERSTR "${VERSTR}" #define RELSTR "${RELEASE}" -char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; -char version[sizeof(VERSTR) > 256 ? sizeof(VERSTR) : 256] = VERSTR; -char compiler_version[] = "${compiler_v}"; -char ostype[] = "${TYPE}"; -char osrelease[sizeof(RELSTR) > 32 ? sizeof(RELSTR) : 32] = RELSTR; -int osreldate = ${RELDATE}; -char kern_ident[] = "${i}"; +const char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; +const char version[sizeof(VERSTR) > 256 ? sizeof(VERSTR) : 256] = VERSTR; +const char compiler_version[] = "${compiler_v}"; +const char ostype[] = "${TYPE}"; +const char osrelease[sizeof(RELSTR) > 32 ? sizeof(RELSTR) : 32] = RELSTR; +const int osreldate = ${RELDATE}; +const char kern_ident[] = "${i}"; EOF ) vers_content_old=$(cat vers.c 2>/dev/null || true) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index d2c87cf5b777..2c5ba59b92f3 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -362,36 +362,36 @@ print_version(const void *data __unused) printf("%s\n", compiler_version); } -SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t, +C_SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t, copyright); -SYSINIT(trademark, SI_SUB_COPYRIGHT, SI_ORDER_SECOND, print_caddr_t, +C_SYSINIT(trademark, SI_SUB_COPYRIGHT, SI_ORDER_SECOND, print_caddr_t, trademark); -SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_version, NULL); +C_SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, print_version, NULL); #ifdef WITNESS -static char wit_warn[] = +static const char wit_warn[] = "WARNING: WITNESS option enabled, expect reduced performance.\n"; -SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_FOURTH, +C_SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_FOURTH, print_caddr_t, wit_warn); -SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_FOURTH, +C_SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_FOURTH, print_caddr_t, wit_warn); #endif #ifdef DIAGNOSTIC -static char diag_warn[] = +static const char diag_warn[] = "WARNING: DIAGNOSTIC option enabled, expect reduced performance.\n"; -SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, +C_SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, print_caddr_t, diag_warn); -SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_FIFTH, +C_SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_FIFTH, print_caddr_t, diag_warn); #endif #if __SIZEOF_LONG__ == 4 -static char ilp32_warn[] = +static const char ilp32_warn[] = "WARNING: 32-bit kernels are deprecated and may be removed in FreeBSD 15.0.\n"; -SYSINIT(ilp32warn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, +C_SYSINIT(ilp32warn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, print_caddr_t, ilp32_warn); -SYSINIT(ilp32warn2, SI_SUB_LAST, SI_ORDER_FIFTH, +C_SYSINIT(ilp32warn2, SI_SUB_LAST, SI_ORDER_FIFTH, print_caddr_t, ilp32_warn); #endif diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index ee3e36c0b5a8..7238df89d833 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -94,20 +94,20 @@ SYSCTL_ROOT_NODE(OID_AUTO, regression, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Regression test MIB"); #endif -SYSCTL_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD, - kern_ident, 0, "Kernel identifier"); +SYSCTL_CONST_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD, + kern_ident, "Kernel identifier"); SYSCTL_INT(_kern, KERN_OSREV, osrevision, CTLFLAG_RD | CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, BSD, "Operating system revision"); -SYSCTL_STRING(_kern, KERN_VERSION, version, CTLFLAG_RD, - version, 0, "Kernel version"); +SYSCTL_CONST_STRING(_kern, KERN_VERSION, version, CTLFLAG_RD, + version, "Kernel version"); -SYSCTL_STRING(_kern, OID_AUTO, compiler_version, CTLFLAG_RD, - compiler_version, 0, "Version of compiler used to compile kernel"); +SYSCTL_CONST_STRING(_kern, OID_AUTO, compiler_version, CTLFLAG_RD, + compiler_version, "Version of compiler used to compile kernel"); -SYSCTL_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD | CTLFLAG_CAPRD, - ostype, 0, "Operating system type"); +SYSCTL_CONST_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD | CTLFLAG_CAPRD, + ostype, "Operating system type"); SYSCTL_INT(_kern, KERN_MAXPROC, maxproc, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, &maxproc, 0, "Maximum number of processes"); diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index 85d741d11b1a..af57a3c5f641 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -148,8 +148,9 @@ static char init_kenv[2048]; static struct trapframe frame0; -char machine[] = "powerpc"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, ""); +const char machine[] = "powerpc"; +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); static void cpu_startup(void *); SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); diff --git a/sys/riscv/riscv/identcpu.c b/sys/riscv/riscv/identcpu.c index 39bc0e3b91af..88b0b08c9f2c 100644 --- a/sys/riscv/riscv/identcpu.c +++ b/sys/riscv/riscv/identcpu.c @@ -60,10 +60,10 @@ #include #endif -char machine[] = "riscv"; +const char machine[] = "riscv"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, - "Machine class"); +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); /* Hardware implementation info. These values may be empty. */ register_t mvendorid; /* The CPU's JEDEC vendor ID */ diff --git a/sys/sys/copyright.h b/sys/sys/copyright.h index 05e2309edd80..2b4a9f67bdf1 100644 --- a/sys/sys/copyright.h +++ b/sys/sys/copyright.h @@ -43,5 +43,5 @@ #define COPYRIGHT_UCB \ "Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994\n\tThe Regents of the University of California. All rights reserved.\n" -char copyright[] = COPYRIGHT_Vendor COPYRIGHT_FreeBSD COPYRIGHT_UCB; -char trademark[] = TRADEMARK_Foundation; +const char copyright[] = COPYRIGHT_Vendor COPYRIGHT_FreeBSD COPYRIGHT_UCB; +const char trademark[] = TRADEMARK_Foundation; diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index ff87e32df2b7..45ee1a8b1c36 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -1135,10 +1135,10 @@ SYSCTL_DECL(_regression); SYSCTL_DECL(_security); SYSCTL_DECL(_security_bsd); -extern char machine[]; -extern char osrelease[]; -extern char ostype[]; -extern char kern_ident[]; +extern const char machine[]; +extern const char osrelease[]; +extern const char ostype[]; +extern const char kern_ident[]; /* Dynamic oid handling */ struct sysctl_oid *sysctl_add_oid(struct sysctl_ctx_list *clist, diff --git a/sys/sys/systm.h b/sys/sys/systm.h index ee432fb0d864..7dbdec0850eb 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -53,9 +53,9 @@ __NULLABILITY_PRAGMA_PUSH extern int cold; /* nonzero if we are doing a cold boot */ extern int suspend_blocked; /* block suspend due to pending shutdown */ extern int rebooting; /* kern_reboot() has been called. */ -extern char version[]; /* system version */ -extern char compiler_version[]; /* compiler version */ -extern char copyright[]; /* system copyright */ +extern const char version[]; /* system version */ +extern const char compiler_version[]; /* compiler version */ +extern const char copyright[]; /* system copyright */ extern int kstack_pages; /* number of kernel stack pages */ extern u_long pagesizes[]; /* supported page sizes */ @@ -113,7 +113,7 @@ struct ucred; }) #define SCHEDULER_STOPPED() SCHEDULER_STOPPED_TD(curthread) -extern int osreldate; +extern const int osreldate; extern const void *zero_region; /* address space maps to a zeroed page */ diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 450df6807920..248be3730a5a 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -120,7 +120,7 @@ u_int cpu_power_eax; /* 06H: Power management leaf, %eax */ u_int cpu_power_ebx; /* 06H: Power management leaf, %ebx */ u_int cpu_power_ecx; /* 06H: Power management leaf, %ecx */ u_int cpu_power_edx; /* 06H: Power management leaf, %edx */ -char machine[] = MACHINE; +const char machine[] = MACHINE; SYSCTL_UINT(_hw, OID_AUTO, via_feature_rng, CTLFLAG_RD, &via_feature_rng, 0, @@ -154,8 +154,8 @@ sysctl_hw_machine(SYSCTL_HANDLER_ARGS) SYSCTL_PROC(_hw, HW_MACHINE, machine, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); #else -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, - machine, 0, "Machine class"); +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); #endif char cpu_model[128]; From nobody Sat Sep 21 04:18:47 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9bbq5zt5z5XBnG; Sat, 21 Sep 2024 04:18:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X9bbq43Q0z40Mn; Sat, 21 Sep 2024 04:18:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726892327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tbGAg5dcUq5eVmbfgJsDSsFQcYCr3u52v4B3iA2LN4c=; b=LuICnlklcGpP8jkCBtOCGkCU7gDmqt4Nyuqo2ShuEwT6ze53YxaCd5z+fHxgQmvcfkr9K/ u+Y/I5lBfh8loB/Oc91vZP1/BDvW6VB7kJMuF7n9nS8J8KWGPbY7FOjGZ0TBIgaASXxzfR f7aMp16sl34HhsUdDBXjwoTmv5c0hEO4Xzf5Kong5NYV6ydOyvs/w1qsecPkfmXUS95KiZ 78qLZGCqU+zyQt2ufRTQkrvKnWVf6Ul3RnEOmEDz7h9sNhpIu6qCzL92xCv5e7U9rl3x8D Otf7lg24fRCOA8hNGGw9XArrFcvLG2GbuNqKpRlmPexN00oQdS46iB08LXDjlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726892327; a=rsa-sha256; cv=none; b=l7SQ8d79tFxZCQaGXA9vSqV0/Okn5B+793eKDiUdgXBB8w9O5/F0wkLK6KYIyVh5xe3W0c LJoND56ag1vBBXX/kbzbQGmyASsrOf21jS58IhN+ngMuiTs1+X/YFOwZgheV7969mc8vUv vN6oAhO0c43YGMAn54lxoPEAsu7kRfBScpcM19XBZiuWobtSawJBQ1W93MpqRszMsOqpZl s0JFeD/oRZU7CLjM1XlA8iywxGDqlMK6UCFQ9manUC1Vw8vtgc/6QfJL591lPHx+erLYwo t51TEcWxZJBvwCEaeFB3EfMr1kzbLgfmr9rllHVPR5si/uqLqTy0Jz2E9LFUPg== 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=1726892327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tbGAg5dcUq5eVmbfgJsDSsFQcYCr3u52v4B3iA2LN4c=; b=pRwWZJxeXZ+tKOiPuaUAUwAXLfDGWKzX+yQp1ZDAk8U5D6K7ppsDmcjNICSlDhePduRYaH YGmaNnW/U/R3IXURA1KGBUtsULbJfyOQxnpMe4QB2bkoTY2K0YBlaTRIE7sT6P8RpyZeDX YeuN8E8XXTZ1abXwsdX4qNQZ/oXER26sUq4LFiw+UrSQ9ejwTFlmsGoGkM7OXP5uqAtZ8I RaqHkiHY1bjDU6CYbfGIIh2ExHx2z/E/HdrQ3Fhg6WBILqmWaURLKwfJYyAKYGNJJb5mcY jfADdRpW3XrO5Oo844Y8H13f1VWXdSc4BEXVy73o/sdV3bNMGGAzXFoUKRAqbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9bbq3gZ4zJ6X; Sat, 21 Sep 2024 04:18: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 48L4IlUd010175; Sat, 21 Sep 2024 04:18:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48L4IlYl010172; Sat, 21 Sep 2024 04:18:47 GMT (envelope-from git) Date: Sat, 21 Sep 2024 04:18:47 GMT Message-Id: <202409210418.48L4IlYl010172@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: 9c3fc1da7b3c - stable/13 - mips: Make the variable machine const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9c3fc1da7b3c9e34dfa48f4f4c4e41b16e7a72e7 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=9c3fc1da7b3c9e34dfa48f4f4c4e41b16e7a72e7 commit 9c3fc1da7b3c9e34dfa48f4f4c4e41b16e7a72e7 Author: Zhenlei Huang AuthorDate: 2024-09-21 04:17:05 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-21 04:17:05 +0000 mips: Make the variable machine const Unbreaks mips build after MFCing commit [1]. While here prefer macro SYSCTL_CONST_STRING to avoid casting. This is a direct commit to stable/13. 1. 356be1348dac kernel: Make some compile time constant variables const --- sys/mips/mips/machdep.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/mips/mips/machdep.c b/sys/mips/mips/machdep.c index 877216c25b05..a520700a70a7 100644 --- a/sys/mips/mips/machdep.c +++ b/sys/mips/mips/machdep.c @@ -101,9 +101,9 @@ #define BOOTINFO_DEBUG 0 -char machine[] = "mips"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, - machine, 0, "Machine class"); +const char machine[] = "mips"; +SYSCTL_CONST_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, + machine, "Machine class"); char cpu_model[80]; SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, cpu_model, 0, "Machine model"); From nobody Sat Sep 21 11:10:34 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9mkz0zqzz5Vp6L; Sat, 21 Sep 2024 11:10: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 4X9mky6ChBz4kgY; Sat, 21 Sep 2024 11:10:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726917034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ygvJM+i23AwXVNkU3S/d5mOUcplVhSCCw14dsxHSxaA=; b=CqpAc+HRtnwRSsjK+/EyTyTvfUhUuZufCmd2yG2DYG6rqd5hZHibEWT6XGKrRYWobY9ESI YVDIzl7beHBoHSdDiM+qNLoViVeFdVovJUw7Bkoe9L38TFrCvr5cMnoX3r/Zb/Q+6AWBvj bVKjURWBLT5ud3gx5bsPqFBNYvuY3FarUGpvOZBaNf84SGwcjMgCQyjYLqqWpxlGtHP9RI Zf4o/4bEPtyOCBghK+SZa+1a/RAFgIY4AOTTpzuHclUDRlG4m5guOMDXnx2Rzqt2yflPU2 8ioODEtXEosObE0LvIEvjfhYG3Zo8AMiuBPVOMMUQVPV/s5TzL5TLGmjEIWuVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726917034; a=rsa-sha256; cv=none; b=opw2IjDt+XYdpttJbgwnQQXQzBnkhmTSd8Ql+I1oB6iTTTThYr6Kb0C32fskArI852GK5+ THlhrqjHKiWAXiDciuQ6gVd5LbkZ8Jex57PsXDxv+azjJK6+j4akxcVrLZCmSTOOLjdARt urlQdeMhGpu8KRgqtdMRPWEuMWkraPs72uwyzzFLA+h+MxWQK32+jQp4TdrS5oKj2vs6aa 3pfJblo/cp+eL+gs43gLSIEuf5v49Lv5++6jJu41N4KgQZI9FTsTy99Xx3ZX1eXau7LIen 5FB7x/kb3FNhAgeYUu9gW5rKWznK68D60GRTz+Edk/bSR0gwRXW7i2b9Kpr+nA== 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=1726917034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ygvJM+i23AwXVNkU3S/d5mOUcplVhSCCw14dsxHSxaA=; b=mboOt1WTtzWTV66/zt0wpxHDDVbISqKdhLvD61WO+Wcfkv8UEJBMDLrfLLiqGUfszc666X zgP/FetuxjOjDWKUywlsjNmflxpSIQJHqzbw52qdtR8+U5GkLwnAgdKhtrY8vfrKBtH6yW /7Di52Ki2Mx3JyCfxZS3H59TmDvL9EYogAq5cU8RKtZHTX0cb5DBsUWhQyQj5ztsdfOKCP zNeWZtdEzLNn1dbZLwrnHxqbGwgLU1cE7t0OSAZORVXv5XbLp5kSCdCJE6zoEgknbgqhFN lHOaxZOe7GPZLGy4Dk0NTue1uThmCXw0oMuT0mgBiYKy/P6e9CprwEe+iqWtvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9mky5kwmzX5p; Sat, 21 Sep 2024 11:10: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 48LBAYZL015313; Sat, 21 Sep 2024 11:10:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48LBAYx0015310; Sat, 21 Sep 2024 11:10:34 GMT (envelope-from git) Date: Sat, 21 Sep 2024 11:10:34 GMT Message-Id: <202409211110.48LBAYx0015310@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: 06a6d0259fe5 - stable/14 - Revert "tzsetup: symlink /etc/localtime instead of copying" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 06a6d0259fe5721bfb3b745b231ecf7cf3a5e28e Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=06a6d0259fe5721bfb3b745b231ecf7cf3a5e28e commit 06a6d0259fe5721bfb3b745b231ecf7cf3a5e28e Author: Ed Maste AuthorDate: 2024-09-21 11:06:02 +0000 Commit: Ed Maste CommitDate: 2024-09-21 11:06:39 +0000 Revert "tzsetup: symlink /etc/localtime instead of copying" This failed when used with tzsetup's -C option (for example, when using etcupdate -D to update a jail from the host). Revert the stable/14 MFC for now; will be reapplied after being fixed in main.. This reverts commit fc43a1b6842afa806dfd7ba48de5bece63d04456. This reverts commit 87f7f0389f8b7bf30ef12df5c0d337cb2789883e. --- usr.sbin/etcupdate/tests/tzsetup_test.sh | 5 +- usr.sbin/tzsetup/tzsetup.8 | 2 +- usr.sbin/tzsetup/tzsetup.c | 119 ++++++++++++++++++++++++------- 3 files changed, 96 insertions(+), 30 deletions(-) diff --git a/usr.sbin/etcupdate/tests/tzsetup_test.sh b/usr.sbin/etcupdate/tests/tzsetup_test.sh index 155830bddae7..dd76884e13eb 100644 --- a/usr.sbin/etcupdate/tests/tzsetup_test.sh +++ b/usr.sbin/etcupdate/tests/tzsetup_test.sh @@ -232,8 +232,7 @@ echo "Differences for real update:" diff -u -L "correct" $WORKDIR/correct.out -L "test" $WORKDIR/test.out \ || FAILED=yes -# XXX tzsetup installs a symlink as of 5e16809c953f -#file /etc/localtime "foo" -#file /var/db/zoneinfo "foo" +file /etc/localtime "foo" +file /var/db/zoneinfo "foo" [ "${FAILED}" = no ] diff --git a/usr.sbin/tzsetup/tzsetup.8 b/usr.sbin/tzsetup/tzsetup.8 index 499d25765541..bfa625a1af3a 100644 --- a/usr.sbin/tzsetup/tzsetup.8 +++ b/usr.sbin/tzsetup/tzsetup.8 @@ -52,7 +52,7 @@ The following options are available: Open all files and directories relative to .Ar chroot_directory . .It Fl n -Do not create or symlink files. +Do not create or copy files. .It Fl r Reinstall the zoneinfo file installed last time. The name is obtained from diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index 617de4efb765..6cd2e16b607c 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -744,42 +744,109 @@ static void message_zoneinfo_file(const char *title, char *prompt) static int install_zoneinfo_file(const char *zoneinfo_file) { + char buf[1024]; char prompt[SILLY_BUFFER_SIZE]; + struct stat sb; + ssize_t len; + int fd1, fd2, copymode; + + if (lstat(path_localtime, &sb) < 0) { + /* Nothing there yet... */ + copymode = 1; + } else if (S_ISLNK(sb.st_mode)) + copymode = 0; + else + copymode = 1; #ifdef VERBOSE - snprintf(prompt, sizeof(prompt), "Creating symbolic link %s to %s", - path_localtime, zoneinfo_file); + if (copymode) + snprintf(prompt, sizeof(prompt), + "Copying %s to %s", zoneinfo_file, path_localtime); + else + snprintf(prompt, sizeof(prompt), + "Creating symbolic link %s to %s", + path_localtime, zoneinfo_file); message_zoneinfo_file("Info", prompt); #endif if (reallydoit) { - if (access(zoneinfo_file, R_OK) != 0) { - snprintf(prompt, sizeof(prompt), - "Cannot access %s: %s", zoneinfo_file, - strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } - if (unlink(path_localtime) < 0 && errno != ENOENT) { - snprintf(prompt, sizeof(prompt), - "Could not delete %s: %s", - path_localtime, strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } - if (symlink(zoneinfo_file, path_localtime) < 0) { - snprintf(prompt, sizeof(prompt), - "Cannot create symbolic link %s to %s: %s", - path_localtime, zoneinfo_file, - strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); + if (copymode) { + fd1 = open(zoneinfo_file, O_RDONLY, 0); + if (fd1 < 0) { + snprintf(prompt, sizeof(prompt), + "Could not open %s: %s", zoneinfo_file, + strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } + + if (unlink(path_localtime) < 0 && errno != ENOENT) { + snprintf(prompt, sizeof(prompt), + "Could not delete %s: %s", + path_localtime, strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } + + fd2 = open(path_localtime, O_CREAT | O_EXCL | O_WRONLY, + S_IRUSR | S_IRGRP | S_IROTH); + if (fd2 < 0) { + snprintf(prompt, sizeof(prompt), + "Could not open %s: %s", + path_localtime, strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } + + while ((len = read(fd1, buf, sizeof(buf))) > 0) + if ((len = write(fd2, buf, len)) < 0) + break; + + if (len == -1) { + snprintf(prompt, sizeof(prompt), + "Error copying %s to %s %s", zoneinfo_file, + path_localtime, strerror(errno)); + message_zoneinfo_file("Error", prompt); + /* Better to leave none than a corrupt one. */ + unlink(path_localtime); + return (DITEM_FAILURE | DITEM_RECREATE); + } + close(fd1); + close(fd2); + } else { + if (access(zoneinfo_file, R_OK) != 0) { + snprintf(prompt, sizeof(prompt), + "Cannot access %s: %s", zoneinfo_file, + strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } + if (unlink(path_localtime) < 0 && errno != ENOENT) { + snprintf(prompt, sizeof(prompt), + "Could not delete %s: %s", + path_localtime, strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } + if (symlink(zoneinfo_file, path_localtime) < 0) { + snprintf(prompt, sizeof(prompt), + "Cannot create symbolic link %s to %s: %s", + path_localtime, zoneinfo_file, + strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } } #ifdef VERBOSE - snprintf(prompt, sizeof(prompt), - "Created symbolic link from %s to %s", zoneinfo_file, - path_localtime); + if (copymode) + snprintf(prompt, sizeof(prompt), + "Copied timezone file from %s to %s", + zoneinfo_file, path_localtime); + else + snprintf(prompt, sizeof(prompt), + "Created symbolic link from %s to %s", + zoneinfo_file, path_localtime); message_zoneinfo_file("Done", prompt); #endif } /* reallydoit */ From nobody Sat Sep 21 11:18:23 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9mvz4snxz5VpgG; Sat, 21 Sep 2024 11:18: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 4X9mvz4N1fz4mDf; Sat, 21 Sep 2024 11:18:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726917503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I68tFt8TNYoOsgE4HE5QHtfNjWaSuj4tol3gRBr6310=; b=MzJ9nyCSnsuoN5iFSbVAQ6+3Box/FPTSxSpT5OvzqJWneVqE2Q8TR0hF2/A5Up7F28SlWn Fr2hHSDoEnwYGXSj6jpFwJlgh3ts6oxPL2qMWrOaDdixBqZPUqq5iTqk8/0rYH8I3igP5K pJI/BZZ01SPktMKSYiQF/UyowU5czxlG4ybaZlhh3+Pd7R7MbzV1CNdfDbV8/pqKqSvM44 dRDCQS31MmJG1f2GS8DIIGthgSIh0NcLmr0wSpDUPdJ4n4CHQcOPjnV1M7k9bVWm6qOCOV 3+2F5StpvFKyfhdgfpNQBP+8bEUpoNp2ajRUipz9uI7l/yePQrP2qYzIhfpj6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726917503; a=rsa-sha256; cv=none; b=io9dK1/z/GB9E2qMt7u5EwEEwQlcTFkEtgG89KDs1tymmSDzFMG8oicySN6Q9VVzwBxEDC vy0oAcgp5DUulPji49Tos+0lzGkKaYeDzrnEmNwKhY0qqrKhj1iFN61gdz7QuiUkBDFzRf zKmdvUIw/UezEv70zk19mks6iX2lewDSAqOtXE4t3wUR2FZGgEtKC7RhE30E11HrqP2a07 I9OSf9UEbXi6JFdLzZFsaWArUOEa8wNPIPHnzEYC9VgFJPKJoqOspy/K0TlVDbaeyP8dWg P81Dzwfwd+qLVGwkDQCoy1rCue51EcssNPRxlwDko7pCZufmIgs4H5A5lHxf7A== 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=1726917503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I68tFt8TNYoOsgE4HE5QHtfNjWaSuj4tol3gRBr6310=; b=isUEPwCUVo7PyRzwjAYeH4dcaBP1FpkmqWcHQCcd85j1NKBMLXzpRwR45v+HAvKmg85wsz AUIV+zvXM8fGMHk7ifOo2kAqgQjdI+LhKX1rR2RG3BKv/U2SUJS5wAMXAr9Yoh6051Y6KL zYYGkT9ro5RfS6748CjxnJn4P4/u1D+TpVfJ++Ymvu6pGCPffZLt2Eti7Qd/tYC+v9c6pc dHfU13OO4nHGf/cCCfz5u7qE49XkcNt0J0fq6vBBOBI8E3tYVr7DTUGltbicIO4ybM3YoL qkgxhlWx6rJYDtg9xWRbAKloW2BpMVGntbzlg2u+BIUMD8W7n+9demCVcICDeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9mvz3rYXzXNn; Sat, 21 Sep 2024 11:18: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 48LBINI1022965; Sat, 21 Sep 2024 11:18:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48LBINge022962; Sat, 21 Sep 2024 11:18:23 GMT (envelope-from git) Date: Sat, 21 Sep 2024 11:18:23 GMT Message-Id: <202409211118.48LBINge022962@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: 74d66dc43d05 - stable/14 - e1000: Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 74d66dc43d0544d0d4807e6cc19a82421b97a6eb Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=74d66dc43d0544d0d4807e6cc19a82421b97a6eb commit 74d66dc43d0544d0d4807e6cc19a82421b97a6eb Author: Gordon Bergling AuthorDate: 2024-09-18 02:32:41 +0000 Commit: Gordon Bergling CommitDate: 2024-09-21 11:18:12 +0000 e1000: Fix a typo in a source code comment - s/chekcsums/checksums/ (cherry picked from commit 3e614fb600f233097ee5e007cbffdb3001aa110b) --- sys/dev/e1000/e1000_82575.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/e1000/e1000_82575.c b/sys/dev/e1000/e1000_82575.c index fded5dc2b04e..a33aa9eb2903 100644 --- a/sys/dev/e1000/e1000_82575.c +++ b/sys/dev/e1000/e1000_82575.c @@ -2425,7 +2425,7 @@ static s32 e1000_validate_nvm_checksum_82580(struct e1000_hw *hw) } if (nvm_data & NVM_COMPATIBILITY_BIT_MASK) { - /* if chekcsums compatibility bit is set validate checksums + /* if checksums compatibility bit is set validate checksums * for all 4 ports. */ eeprom_regions_count = 4; } From nobody Sat Sep 21 11:18:42 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9mwL5Whxz5Vq06; Sat, 21 Sep 2024 11:18: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 4X9mwL4Yx7z4mLV; Sat, 21 Sep 2024 11:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726917522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RBHmxq9R1A8a9xQIRijudTmRyZDUVOib9Npx0MGG8B4=; b=kaO2eDKwdWx4wLXJRq6S00I6tKnFYiI0axlAByIEZ2haQPeL4DerVr2tpJv+KpDtwj1hiU a955w5YmaCkGvZlG1LemnbjN0Fltz/2AHp+ZNCfx9bSanGuaNGTIXoDAQ+GY6NkTqDHQNo TX3dS6HOL+xue+YGhhSY/nq3Tj6uHPY6vgaDJG0il+os50MZ3HejdeI0h+rg2OaM0UBv5C cgETZ2P/O1YqfApQAnFWp2Wpd3Y34NsvtOXScCFlNtFV1j5GWouSjL9cL2ggvYH0uFz7TD 81TxREBoetNdZlF812vsNKUyAs5IKrSMK38vI8KAPEspyN8Q5WUpso1wtaC2tw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726917522; a=rsa-sha256; cv=none; b=M6+KcXpjk8/q4uRmtyrLizciFzXMDr+8h6AyJmBbL3zOuenRtaQ3mzn1H+CYZHmhBfhJoL /ct+LiO2Xhfz1a6SlsNNlBTyxWdPhrbQr2EaibzvUr1XD6eLfk3FIacPBdBQNNOLgpJY+q 9CNDtmJGY+jqjlRyszQODGIy2yagkaB5VFwh3rICCuxu6DLEm99x5+3EQLDMTS30n50+6L 98sQojdOHs1i83tT1WrkFq+0JPncVYfwBj+3RZR2oaW69TJ/Vyg86+GJ8vtcb8MmndtfpO uKGBNLcJA4atq0lNYFdmJpkIjrquz+QTPU5CzTsleAqgc0SZY8rPSl7Sh6iDIA== 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=1726917522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RBHmxq9R1A8a9xQIRijudTmRyZDUVOib9Npx0MGG8B4=; b=pXHwuUVIn61WdtUSigFxC7rLoQOgQB373+UvAhZHTqGO+/lemgsclXHY3LbHu7F4ZwUXiK AZmMcIN6n5QUqIvEDBpFbnaxHTZ3q28tdIwaRrQjH+zS79MI9Bf7hCdaS0wcBGsvMw9X9g NyRINscRoMz00qYTcDJlsueY3JjPRjGobvQumbbQLqP7w9YodKZz3aE2LKpfuhLNj++HFj TC1I8quqRocQyCuGNjWnI61cP4Z0N53etptoJnj+EHOOqwDrJ9MPilfJ/k7R6A9Dogg82/ iS6MAS+OH40rVd8WO4DH0aCR+TcMI8cUpLVqg36g9pL2Ef+75L3jfWdr5d3MVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X9mwL40DVzX3h; Sat, 21 Sep 2024 11:18: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 48LBIg5k023134; Sat, 21 Sep 2024 11:18:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48LBIg9B023131; Sat, 21 Sep 2024 11:18:42 GMT (envelope-from git) Date: Sat, 21 Sep 2024 11:18:42 GMT Message-Id: <202409211118.48LBIg9B023131@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: 696860052a2c - stable/13 - e1000: Fix a typo in a source code comment List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 696860052a2c897544d1a979a663a1dda5cb7652 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=696860052a2c897544d1a979a663a1dda5cb7652 commit 696860052a2c897544d1a979a663a1dda5cb7652 Author: Gordon Bergling AuthorDate: 2024-09-18 02:32:41 +0000 Commit: Gordon Bergling CommitDate: 2024-09-21 11:18:33 +0000 e1000: Fix a typo in a source code comment - s/chekcsums/checksums/ (cherry picked from commit 3e614fb600f233097ee5e007cbffdb3001aa110b) --- sys/dev/e1000/e1000_82575.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/e1000/e1000_82575.c b/sys/dev/e1000/e1000_82575.c index fded5dc2b04e..a33aa9eb2903 100644 --- a/sys/dev/e1000/e1000_82575.c +++ b/sys/dev/e1000/e1000_82575.c @@ -2425,7 +2425,7 @@ static s32 e1000_validate_nvm_checksum_82580(struct e1000_hw *hw) } if (nvm_data & NVM_COMPATIBILITY_BIT_MASK) { - /* if chekcsums compatibility bit is set validate checksums + /* if checksums compatibility bit is set validate checksums * for all 4 ports. */ eeprom_regions_count = 4; } From nobody Sat Sep 21 15:26:26 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X9tQY0dJfz5Whcx; Sat, 21 Sep 2024 15:26:45 +0000 (UTC) (envelope-from scf@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 4X9tQX4v6lz4XkJ; Sat, 21 Sep 2024 15:26:44 +0000 (UTC) (envelope-from scf@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726932404; 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=h3MZgPaxwALvw2LuktFSWj10f5KAdmN4mUKX3z2L0U8=; b=HkGiMrOvx2CqK4nFU9IGa8XeA/Rw+9Pt+2xwhI3hdRGFiqWOgChmmaQMkYZP9BhgvIgg1Z 6fuNIwlJprU6b+U1PqJc3uXp9EM/0jjWyLjnxjT4qFUStz65/4Bb/ICDKiys9DJRPgtB6J llZvtIYzuNjwLAq8EUrp6W1cyiIFNKKzZ7fMw2rYk7Q4wuBdq9yHmXkOHusV8AR3bJMpgu zjsZ8X8CZydkfNbNpU9+I+WXtkrww6xdKO6mBnoEFLZy515+R7Gw6rEFtPIt6Q5jth9gty CL9kujZiHplF/q879fmNzhzkl8yFVqwgCHvSovFjmH+IbNYJxEdPBhlsZuEjGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726932404; a=rsa-sha256; cv=none; b=eLenwPXUYEwEzefuwjy1Do1KD59gab0VLC0zFZ9TZQo5s0mnL5NLeiJdDj3i7okINSmlvQ OLNR2/U5ilwVZVKMN+7243Uj8tCDMGLxkp8LRkmc6KXZ1qy7Nwc6JJS7jnLKnUlX3kKdPA uoldk4BM4BSENqfpMuTDgKsJ/gL4BZna13jg6CgOLtDmfW4cr0AOfNPRwYruFvGLa3Rig0 Ed8wMicunwCoKWbByslKb5hTgGcu9vjLqxzGQhqLjvRaY2rcPlrf00HCSxiXKz7AIBboMg K7iAS44s1EMH1NV6ZxZyN3PpUdD9W/bwWrIy2ILtmGIsAjkl/d36y7WY9XsdMQ== 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=1726932404; 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=h3MZgPaxwALvw2LuktFSWj10f5KAdmN4mUKX3z2L0U8=; b=exPNPtQEjHdfZl6yGeRCPFSkqqbZe8aQNfVMhdwWiIfMre84Rgbs550xWKjgq4wb9yX3+K MkY1u7aCvLTCP95VApP0hdKyAAKuusfSKb2MxyHimZpAdxJBWsl+DiuIqFeu3VcOX8axRN 1atctBkwjrTdgcydilNQWlO+8EbF2d9Mn2C7mY4uBNKAsx0/K6aGjM5ctwbO+TlfXXbJaH RKjdvApJ3GyjuLOMJ9lPdZp05TCSk5CkIe2HSCzNe3EOm6QvUidIoWn+RqLPxuWru78DWc yBUEiKd/WdpVAcrQLgQjoHdDhCvk02+p09T1gYgU1HmH3EF0+bREMe737zDDUw== Received: from thor.farley.org (1609341-v107.1360-static.crmlinaa.metronetinc.net [104.254.222.35]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: scf/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4X9tQX2Zb6z132F; Sat, 21 Sep 2024 15:26:44 +0000 (UTC) (envelope-from scf@FreeBSD.org) Date: Sat, 21 Sep 2024 11:26:26 -0400 (EDT) From: "Sean C. Farley" To: Ed Maste cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: Re: git: 06a6d0259fe5 - stable/14 - Revert "tzsetup: symlink /etc/localtime instead of copying" In-Reply-To: <202409211110.48LBAYx0015310@gitrepo.freebsd.org> Message-ID: References: <202409211110.48LBAYx0015310@gitrepo.freebsd.org> List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed On Sat, 21 Sep 2024, Ed Maste wrote: > The branch stable/14 has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=06a6d0259fe5721bfb3b745b231ecf7cf3a5e28e > > commit 06a6d0259fe5721bfb3b745b231ecf7cf3a5e28e > Author: Ed Maste > AuthorDate: 2024-09-21 11:06:02 +0000 > Commit: Ed Maste > CommitDate: 2024-09-21 11:06:39 +0000 > > Revert "tzsetup: symlink /etc/localtime instead of copying" > > This failed when used with tzsetup's -C option (for example, when using > etcupdate -D to update a jail from the host). Revert the stable/14 MFC > for now; will be reapplied after being fixed in main.. > > This reverts commit fc43a1b6842afa806dfd7ba48de5bece63d04456. > This reverts commit 87f7f0389f8b7bf30ef12df5c0d337cb2789883e. Thank you! Sean -- scf@FreeBSD.org From nobody Sun Sep 22 09:36:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBLcL00Jjz5Wdyd; Sun, 22 Sep 2024 09:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XBLcK4j0cz4T7p; Sun, 22 Sep 2024 09:36:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726997809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dsfAOK32MEp4dgXfSKbXY0/9RPMUO2thaAbzdKRW3H8=; b=ohUGN8VvwdO0vkQ48Bw85hWQgwYkv/EWW0x0R2vNhf/rwakc4fhRZntSVZUCm86IR86lON uvBdog5UXP6rbyOIvqeB24QaEJjSF9qn6sHr1TT1GImzfbB8jBvW/GrRKcC210OMofaZRu oLuNV1BXKeLSeylA6FpOnR4ZauZmSZQcDwioeQ5d3PNUdixHEQH8PL4fBIyFN64JZkgWAJ STN/KZauDe1DDZKrawqeXcKqJmry8fnXohaCS1FQWaxC7BLNh06QlgpLls6ecKCyf1Fasq ykmfVg2+FjeLxdpbuXKlpq2a2eNmff+lzFep5TNmg+BMuMRQoMhfWPnpSX0RHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726997809; a=rsa-sha256; cv=none; b=AABOISGQJEeQJ2C01COwYCViVJ4V3rkoQmCE9IKnXdyeVLfBWgd5sm5NyIv2oTRFarfN60 SNqx5yjlt2DO2CPAinbsqzH+IQA5eVchIOX63JEj41YCIGK8CP1FB0sxXooyCN27dz9BYa WGLmSyAtTyqOnVXQvR8IHG4+Q9oHBQ8BgR67HHJv/oJK24oozbaX7AUgayUyrpNcVfTo7N 8q6nYu+qlH2DCfYViX2w6ogrRqKmB+rhC9NMh2+2EFG0F7e3+Dz6Qq81BwBILOYgVMZ0Sb OGYd4rYsHRdXHEDCcDlENbgrnHuFDhYT4MvzCZrcswYkPBJLQLqwRj8bF+llSA== 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=1726997809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dsfAOK32MEp4dgXfSKbXY0/9RPMUO2thaAbzdKRW3H8=; b=XQOmTibYdBNJL8bAokjKOA7im5yCC8VhU8CUR918N+ETy7hPv6WC7j90kjPtGntkeBAypl prhTH0LuaWZtIewcZfb6v3Apc+PfsaHRIFbJyV0eUGNXhsCyUOO1iGRe1WoPztO1KaEHSZ /rE+eG5pnsmD2/nWIBKiWkwjzjdh46knddfZc0FSvmX0KW3iKVj6UAvu801BkVktggVR1C JMSKN6negv8fnwQQDt0Y/YkNDBPK+UrJXT4zAfLsZNL2pnPyPcxVbz4mX9+TG4TVmSyRWd JAe7O2z+YMv//ErV2R21vzyCdE4hDJF6gVYIOLlyQYgqh+ZDdnv8ugNdnl+I9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBLcK4J29z1B4J; Sun, 22 Sep 2024 09:36: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 48M9anRN000735; Sun, 22 Sep 2024 09:36:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48M9annM000732; Sun, 22 Sep 2024 09:36:49 GMT (envelope-from git) Date: Sun, 22 Sep 2024 09:36:49 GMT Message-Id: <202409220936.48M9annM000732@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: ba08efe3f2ff - stable/14 - getrlimit(2): document RLIMIT_UMTXP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ba08efe3f2ffd0e1ac6fdd417e04f6495a0560c5 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ba08efe3f2ffd0e1ac6fdd417e04f6495a0560c5 commit ba08efe3f2ffd0e1ac6fdd417e04f6495a0560c5 Author: Konstantin Belousov AuthorDate: 2024-09-10 04:06:32 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-21 21:19:49 +0000 getrlimit(2): document RLIMIT_UMTXP (cherry picked from commit 3a2a5d606082dd782594b393c3920b9478698f07) --- lib/libc/sys/getrlimit.2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/libc/sys/getrlimit.2 b/lib/libc/sys/getrlimit.2 index b28a82ca9534..2e79b3000c69 100644 --- a/lib/libc/sys/getrlimit.2 +++ b/lib/libc/sys/getrlimit.2 @@ -120,6 +120,9 @@ sysctl is set. Please see .Xr tuning 7 for a complete description of this sysctl. +.It Dv RLIMIT_UMTXP +The limit of the number of process-shared posix thread library objects +allocated by user id. .It Dv RLIMIT_VMEM An alias for .Dv RLIMIT_AS . From nobody Sun Sep 22 09:36:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBLcM1C5yz5Wdyl; Sun, 22 Sep 2024 09:36:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XBLcL5yyhz4T7q; Sun, 22 Sep 2024 09:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726997810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0VHOFZyGn5gCjaMgpCCwYk5Df+EZh5PET1TM49voFOQ=; b=VBTBtJ0Ngh6ShgF8Qg/92rT02ITAQ9rRHdpgJG8XjyCtZzKv/fIkVTKdEUWLdzfrEH+cSJ lfUT3Ec6VgAwxViRnwrxnCUA4GfRZs+iSpDU5aEG0Z8UCq9G2GCUuu5KbOKLUdPeNlZ3/U QSAjv37Vu9FdU8f/Q16ylDqECYzCY7KljrvRAlDJCcfOjskz2whFET+qQIFUcsL2b/XBJO yOgvqndcvT25+bU6ojvYOs3ibDUBZ1rY/Y26G8+rO1Jq4dK1h3RSJ+5EPH6EFpu0kwJlNX az0Uaq94h+6LvqvvgFfUbunIN3WuOVLRy+AC9atmsRR1q4xUwGi665mw/XuIqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726997810; a=rsa-sha256; cv=none; b=tHsFr8UlLyRCmU4EPs3Cz57xajSXl+fdGlk+gavfRsWL2vl51CUVwY0bdhrJH0drO9rOQa L5dREj5dVhyGlVBGUNn2xGf/OJzyC1Qz1+S7YsUi65HAA/2+7k5U6nZXqIXHsThhbubkSB /Cuywg98S172GTeKd/WqMeg4uiARRlAWbWLtnSRbFQ2l2ZyozjcicoZneJeAwLbnyS8mSi dN5qvTc8W2TpZ85G1lRorNlnSw7UdZCaLDzX1go5PGQt5FM7IMTXrdE5JE7/DzWsGLHCor 6NsBMMpSkV2VTHkUoCkLdiBABLHJh6vJxXpr8z6rRVd6KOpejNUMLQ41m0Xi6w== 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=1726997810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0VHOFZyGn5gCjaMgpCCwYk5Df+EZh5PET1TM49voFOQ=; b=fkAC8lSsAe2uJcilToQb8s+DoueOJkJBJ3eBIyUDj/FDAEpFMCccpKr0bmDDRZiekKQHEh sDml6Qp6Q7ellKTXfnks5ZdPLEuEiI5Ns23TVrqmPa9E7qpY617Xg5lQIZl1u1WAN7hznx zOHlagkzMnwDxOZtRAXQnhRREjYba84fbwQAGvepP0KgZEsALMzpr6VW2/rcXK//+APCW/ xmiWpx1SaYr97QILJQ4arijeuDTXAGSfSxbc6S9RHSeXaSzO5pcJQHBKqaADCKnjk838Xt XSRA6HvTteX8E3KfXm/+N1UGPOsTaDd3YKNAqUoKrDrUGsmUXcFj2TFZUwBvxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBLcL5ZzJz1BM3; Sun, 22 Sep 2024 09:36: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 48M9aoGc000783; Sun, 22 Sep 2024 09:36:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48M9aoU7000780; Sun, 22 Sep 2024 09:36:50 GMT (envelope-from git) Date: Sun, 22 Sep 2024 09:36:50 GMT Message-Id: <202409220936.48M9aoU7000780@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: 50c03711f28a - stable/14 - procstat(1): make rlimit_param[] size assertion automatic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 50c03711f28a69e6e1811414abd8e4d191d3445d Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=50c03711f28a69e6e1811414abd8e4d191d3445d commit 50c03711f28a69e6e1811414abd8e4d191d3445d Author: Konstantin Belousov AuthorDate: 2024-09-14 13:15:20 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-21 21:19:49 +0000 procstat(1): make rlimit_param[] size assertion automatic (cherry picked from commit e3b777534baeb69a1ee88d0b18c76a68eacdb34e) --- usr.bin/procstat/procstat_rlimit.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/usr.bin/procstat/procstat_rlimit.c b/usr.bin/procstat/procstat_rlimit.c index f2dcfcd47327..f930d5b0aee0 100644 --- a/usr.bin/procstat/procstat_rlimit.c +++ b/usr.bin/procstat/procstat_rlimit.c @@ -48,7 +48,7 @@ static struct { const char *name; const char *suffix; -} rlimit_param[15] = { +} rlimit_param[] = { {"cputime", "sec"}, {"filesize", "B "}, {"datasize", "B "}, @@ -66,9 +66,8 @@ static struct { {"umtxp", " "}, }; -#if RLIM_NLIMITS > 15 -#error "Resource limits have grown. Add new entries to rlimit_param[]." -#endif +_Static_assert(nitems(rlimit_param) == RLIM_NLIMITS, + "Resource limits have grown. Add new entries to rlimit_param[]."); static const char * humanize_rlimit(int indx, rlim_t limit) From nobody Sun Sep 22 09:36:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBLcN2ZHlz5WfCk; Sun, 22 Sep 2024 09:36:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XBLcN04f5z4TKN; Sun, 22 Sep 2024 09:36:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726997812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QdzmO5oS0noY3SaXOjXUQW21eeSF5kvG1k6rzBK9HbY=; b=rRX46DO+MzdyHU0S040s9qe/eu0pbaUoTutn2lBv2A6cQqcunRn1uOJObKgYVTGNcM/CKo sj81/8FUZglrwUM284ciYb+UCPcN6CZV71bSs/YpuOMJTAeZd2DqQQT5AKXEiCMVRDW00w 0R4Urq2zEQUZ7mmiY/NbHOwrHFUnrQxMxsHTz3spWKR4W039it2hdjb87g2nQTj8EZ5eud ft0lzdxB35XWFnY91SGm7wmXjNhb1IPTOyTPWC/b8qgQ878dn8GsXwPOB56vvOZSs1AlG0 xMW8gf9X1/rUUwa6W1TJyYjhLrKEkyBFHPUu+dg1En21PRzJ1QmAoGusvhtdjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726997812; a=rsa-sha256; cv=none; b=R2iA78nihWG7pD7nI9XiyoPserJ88eHaG5qfApZWs1ne8Tw2B4dwkT0MLKmMl5MQ5TRqM1 uF3TeQAIciaXGNb/bVYpInpr8sGNqtXyrmrMrE7v19AI9IPdxqABxU4LfmZnvpfydzAjke sSHHmskhPuy3heV2eoFfp2kbttCKTGwk/p7Bwfl+9Vkzk5sRiC1GDR6SB8C0/7eGZv5IBj 2V2VbGxieo14gumyEFDm9ZEpG1Ts9jIxhjxLS12Fb3fA/PKO2A2XZd5ahrUgth8pXkNUrS 8fVqtVJ0SQ90iEA3OymndjOv+NnhH5Sw7zWu8PBA8Ay7VOZlH9Lrm6134fDfWA== 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=1726997812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QdzmO5oS0noY3SaXOjXUQW21eeSF5kvG1k6rzBK9HbY=; b=aVklRQ/3e9bWSDb3q/HwI6VRM4Q32FwU8DvYJ7duZOow8UN55cflqCMoE1RwRWbJ2Dz6Qs PvYhT658KGo1vQY2lsxc7saWsfRYjpTiL7R3j7P2BMlGR+ZoIl2+pHyoYLsbTgiCK2U54/ UBYqAkCkwOBGldC19q9T6nwNFdk2ijSZ1yLeSh2qz0C3tkJ3sp52QznCubU5giwi8eYvlO U2FSD9p1zla2iIwapOtmIzlAxsFEqIY4lWE4E8XvPGHT0nYeJ2WKgDcN5DjC52i8RIQVIy jDR35p/4kjYkF90exaRJCMt/WMl/hCFLRXuOaa3M4vUwc1zxGCRjUmL20Rf23w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBLcM6c3Tz1B4K; Sun, 22 Sep 2024 09:36: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 48M9apxs000840; Sun, 22 Sep 2024 09:36:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48M9ap8P000837; Sun, 22 Sep 2024 09:36:51 GMT (envelope-from git) Date: Sun, 22 Sep 2024 09:36:51 GMT Message-Id: <202409220936.48M9ap8P000837@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: 8de0b8412310 - stable/14 - softdep_mount: on journal start failure, report the mount point path List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8de0b84123109b8a15488267a0167ab2457de0b9 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8de0b84123109b8a15488267a0167ab2457de0b9 commit 8de0b84123109b8a15488267a0167ab2457de0b9 Author: Konstantin Belousov AuthorDate: 2024-09-15 08:05:42 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-21 21:19:50 +0000 softdep_mount: on journal start failure, report the mount point path (cherry picked from commit 8276c6ea9cf7cc3c7a0bd5a50fd1db298656f514) --- sys/ufs/ffs/ffs_softdep.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 961cb4493621..90f37c2c1ac3 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -2635,7 +2635,8 @@ softdep_mount(struct vnode *devvp, if ((fs->fs_flags & FS_SUJ) && (error = journal_mount(mp, fs, cred)) != 0) { - printf("Failed to start journal: %d\n", error); + printf("%s: failed to start journal: %d\n", + mp->mnt_stat.f_mntonname, error); softdep_unmount(mp); return (error); } From nobody Sun Sep 22 09:36:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBLcP2nwXz5WdwP; Sun, 22 Sep 2024 09:36: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 4XBLcP0fpDz4TKf; Sun, 22 Sep 2024 09:36:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726997813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=31vzbtrRlY06D4u9n+yzIBafFG/2BgiG1Emxb//9esY=; b=Ids3Oly0UtDF0JK49Qk42CpUTxkX0alVk/cwDQPp5/uY2NMpJU4QleCi8GGhl2qUsySfvm h0s9V6TbaXit3Kd6NPu7W25QZI7IT0xyXdjWeirKiQa0LPLo1llLx938pjZzFyEWyRbuNI xSpQHV0fcXf/Z/tIy3ng3JqFpdiWLSzd/1zasl0qatdNFKvLBH1rYWgBD9sboK0rXnIRIs Pa6F+vkMQ4eNBye1Fo4F+dar5Qy3Ow3ZoziB8vzQXK7wlT48vWCMNz0wF60ClbnwLkv/+p JQWCAKTzmKM78qDf5A6lvyknemRyu1h2R7hw1bLK5/f+cSsTaWUxQjIThKIAoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726997813; a=rsa-sha256; cv=none; b=eGZT9Qpngyrvu4xqp9X9Mv5drstbGiQvPJ4ZTRsPTHe8Ghzj1yrHfA8BLO6FE0ZazCOV3G HcLLgf6zEK0aXTS73Hj4MMFHs2ZdN3xnmXEQCsmJCSjArcC1Zw4IRLRvPn7BIGCuLnBS8J DVhdQ4eQI2gsY9mrNCWs2WQ9YaDL2Z9v7WzDoMRZEgMbR8UqxLCfe+7uCuQ5wmTeoexivy gskRaJoGHfP5Az86Bf+KLNspnGg5o0m0ICDopIAkMNmXPnakVp6dXM3G0xPrdtOrIL7esf 99coCOsRA4A9Fd0TkB6q+01PjIiPJEadeLhHdblxlrBrGcPszTWXP6DRnwMmqw== 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=1726997813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=31vzbtrRlY06D4u9n+yzIBafFG/2BgiG1Emxb//9esY=; b=rHU/hyP/Yci1VRe/KwWoD8vV9qxY0JEjbDamx7MjJ9zeHhL5ZX0IiyA5+x+PXjSwSOrPhw MdcyZCAx/W3VUTPGEELl44hqniXHg8NQ0LyrWAFnBZrTZzK9n8R9Z6FBmuRShaurae/IkI 3JGpEGrjpM1Z0NBBrUFci4J8D0Tp96qYg+bdMj48vg+6ihPa9XTr4Y4g29TbO3jQnirMiA rcW0feP2VSRpZftbdbROLOdixCdn4DdR2kDH2/JybLPZSdKH5T0+NHgRQrXjf8VhMEba7D 9EBL+IVALInuNnHQtWAkWoor7xIHk/j+Q9IZXqWuHTg+5HlF7vjM3ptzNHoUQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBLcP0GkKz19xM; Sun, 22 Sep 2024 09:36: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 48M9aqt2000891; Sun, 22 Sep 2024 09:36:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48M9aqCK000888; Sun, 22 Sep 2024 09:36:52 GMT (envelope-from git) Date: Sun, 22 Sep 2024 09:36:52 GMT Message-Id: <202409220936.48M9aqCK000888@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: d9259de0a623 - stable/14 - softdep_mount: report failure of the softdepflush thread creation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d9259de0a6232b1a28787add531cc6627718768d Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d9259de0a6232b1a28787add531cc6627718768d commit d9259de0a6232b1a28787add531cc6627718768d Author: Konstantin Belousov AuthorDate: 2024-09-15 08:06:31 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-21 21:19:50 +0000 softdep_mount: report failure of the softdepflush thread creation PR: 281511 (cherry picked from commit 4b273a7fb9e6d9a006c5ac7cbd27f5d006569edb) --- sys/ufs/ffs/ffs_softdep.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 90f37c2c1ac3..3729d67d1eb2 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -2646,10 +2646,18 @@ softdep_mount(struct vnode *devvp, ACQUIRE_LOCK(ump); ump->softdep_flags |= FLUSH_STARTING; FREE_LOCK(ump); - kproc_kthread_add(&softdep_flush, mp, &bufdaemonproc, + error = kproc_kthread_add(&softdep_flush, mp, &bufdaemonproc, &ump->softdep_flushtd, 0, 0, "softdepflush", "%s worker", mp->mnt_stat.f_mntonname); ACQUIRE_LOCK(ump); + if (error != 0) { + printf("%s: failed to start softdepflush thread: %d\n", + mp->mnt_stat.f_mntonname, error); + ump->softdep_flags &= ~FLUSH_STARTING; + FREE_LOCK(ump); + softdep_unmount(mp); + return (error); + } while ((ump->softdep_flags & FLUSH_STARTING) != 0) { msleep(&ump->softdep_flushtd, LOCK_PTR(ump), PVM, "sdstart", hz / 2); From nobody Sun Sep 22 09:36:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBLcQ2cRMz5Wf9y; Sun, 22 Sep 2024 09:36: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 4XBLcQ1mVwz4TBL; Sun, 22 Sep 2024 09:36:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726997814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mT7EEjtaRcApYjciaGcS1glhWcSBqCq6aAErNRv+rLY=; b=slyupDvR3qxKpoXePRZprqwu1bEaINS/wmkioFqk53qWGapJPv3zDniScVtu2i/MYsGyeb /mk5BgLoDYp/dhkN9BYBPUhDctfeoe8BuJdF18vPMf7PMA6//aUG8rfONkdfxBv1jz+cmb KrvF822U7UEQBccBd36RuDS1sLMB63TmPPgXCzEkDVW9r+Z8vRxlnMSXawcfT2DAd6umqh Wn9rsiLDszYBjILI+TX9tYc9iC0X9XK1Sb5v83zo/iqk8+YbEFHmdg4UTRwsQKGJ7/BP9Z ZhnZwv6CmDX+jNyIjzdJkkev8dEP4eXQMu9bhpe505kaW8rqgSIHaQSDS9LPYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726997814; a=rsa-sha256; cv=none; b=RB6x2zdu0lKsPPtam7bLM05DPejbdm8VCEy+cjox7Mn3iFOn53f9UtylZj5KTYTV9hGYrx 2gMBPMLj5Pgro9V8QL4ysu3thYTQYGVPv58jxklTCi6dzPR8vWPgztNJvYo/mL9ejuFBWY jNUSp5YUJX5I4fSVbLDNvmJO3qq5T3mveU6KJoLLn8WCc4xvvx/z4Sbx/ZV3KwY+QhVaC9 MfuhtiuSVyJQrs+yfJMgMIt93dgqXCARfr7JtzkCmjuwwhGV2z6XpILNCqVVorjH3KTEYb lJ6OtMyABHfUd6kQ66pY1jBW9P4ZxS6dWjNwvZqjXo/hBmQKsJmWrX8YE5EU3w== 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=1726997814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mT7EEjtaRcApYjciaGcS1glhWcSBqCq6aAErNRv+rLY=; b=qtrjya/zHuwYFa8/JZkoa3RmIn1NRG3mt2wsBMJauzIjPgFP0OelwqCPXMZ1mDd+elVJ+x l0iJzjLS/PSGZAyPaJthz1QD/E5rqHXzH0UHcLhYJJGPfkdLICRWYIRhAXGbtlG6UVE9IN udqNlh/kWTK43rAnQ8OCimEaxU/EjsYgcI4keBoD5snzXicZKtKD3OnR6Ttr2oXTYZ26+L qWPDeZh4WIHwrgGeZenfxHZ5zEYsaq0r+qJn+Mb4HhHKvWINYadFfupDywcwsGpx1Qe9X1 VxC0s8DR00nnetq/gLueHJKAfkUdIW1gdjGaA6d9VoQNIadY7ORp6sNBm8ssRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBLcQ1P6Xz19xN; Sun, 22 Sep 2024 09:36: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 48M9ashk000930; Sun, 22 Sep 2024 09:36:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48M9as5D000927; Sun, 22 Sep 2024 09:36:54 GMT (envelope-from git) Date: Sun, 22 Sep 2024 09:36:54 GMT Message-Id: <202409220936.48M9as5D000927@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: 81f829b3010d - stable/14 - amd64 sysarch(2): style List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 81f829b3010d6b294b229eee5148cd942dd78914 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=81f829b3010d6b294b229eee5148cd942dd78914 commit 81f829b3010d6b294b229eee5148cd942dd78914 Author: Konstantin Belousov AuthorDate: 2024-09-16 19:54:03 +0000 Commit: Konstantin Belousov CommitDate: 2024-09-22 09:25:15 +0000 amd64 sysarch(2): style (cherry picked from commit 29a0a720c33fc70601ea85f813d982a99c3e7896) --- sys/amd64/amd64/sys_machdep.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/amd64/amd64/sys_machdep.c b/sys/amd64/amd64/sys_machdep.c index 6c8b038bdb09..aae3743f0e91 100644 --- a/sys/amd64/amd64/sys_machdep.c +++ b/sys/amd64/amd64/sys_machdep.c @@ -286,7 +286,7 @@ sysarch(struct thread *td, struct sysarch_args *uap) break; case I386_SET_FSBASE: error = copyin(uap->parms, &i386base, sizeof(i386base)); - if (!error) { + if (error == 0) { set_pcb_flags(pcb, PCB_FULL_IRET); pcb->pcb_fsbase = i386base; td->td_frame->tf_fs = _ufssel; @@ -300,7 +300,7 @@ sysarch(struct thread *td, struct sysarch_args *uap) break; case I386_SET_GSBASE: error = copyin(uap->parms, &i386base, sizeof(i386base)); - if (!error) { + if (error == 0) { set_pcb_flags(pcb, PCB_FULL_IRET); pcb->pcb_gsbase = i386base; td->td_frame->tf_gs = _ugssel; @@ -315,7 +315,7 @@ sysarch(struct thread *td, struct sysarch_args *uap) case AMD64_SET_FSBASE: error = copyin(uap->parms, &a64base, sizeof(a64base)); - if (!error) { + if (error == 0) { if (a64base < VM_MAXUSER_ADDRESS) { set_pcb_flags(pcb, PCB_FULL_IRET); pcb->pcb_fsbase = a64base; @@ -333,7 +333,7 @@ sysarch(struct thread *td, struct sysarch_args *uap) case AMD64_SET_GSBASE: error = copyin(uap->parms, &a64base, sizeof(a64base)); - if (!error) { + if (error == 0) { if (a64base < VM_MAXUSER_ADDRESS) { set_pcb_flags(pcb, PCB_FULL_IRET); pcb->pcb_gsbase = a64base; From nobody Sun Sep 22 13:53:49 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSJs5lGLz5XQLj; Sun, 22 Sep 2024 13:53: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 4XBSJs3GMKz4R0L; Sun, 22 Sep 2024 13:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OnXfkF0Z9AAUFkmJ8LebsvRsbtD2dimTxIylxAF+ESg=; b=oMb+Vp9KPg7jDJHN01TzNRDMfd0+MfETA2ZP5xU5EGDcdey4o8bi9WA1TzBKRqeyn4gllv pY4ZFq9dsg6K0VSM6VWKK+WhUPkDXyCF7t+4DXVCdVopexR1IMG5uiDeoZtbbv6L4IqhMW J8Z9o2SbvjvZZ9maBPfLRViWSmhjtmsGRm1YvUelmO59go6K1AsADV7egpZlaxqgAW0FUd a/56QsnEYolYd98eMm7cyNr/yDcIgz6tfTVLWj0gpxxH5z/4FS6j7NiyjKSO8slU/eAAqJ zbrMfidezst19orIOSgVM/bnR0qk7n3LJTGp6Sd6WOGuXoZfywCp4DL65FaRUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013229; a=rsa-sha256; cv=none; b=HHva77357Gc4KU0RKbCGZutHjuPIekkTPu08gEEMscnT8sF9h/zCtcWbLhuzlnBKUHzIMp HlKW1JbgsCFJBgDYwptCxKl1hE6O6sBdAuMkt1EXnzxH3jQpbExdJfrIC9Yb38yFJEwbL1 nS/pEupH05YTd4pFClrRFoaubxILA4+AnNpQXH3mfxqeXpzaO0tffU+ddVFWCJA19yfdzf iiwg/hj6MVJCBxNnyBm30NgcKnLpPw8AmvZritKvbdvBZam34OvMZIJ0ZdOoWHIESovqTG Z0AFNPCLWo0EhByILHO0g/GT3iFxZ3JqJAnyP9XXacySZgKHuT7uiZAuktc5Cg== 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=1727013229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OnXfkF0Z9AAUFkmJ8LebsvRsbtD2dimTxIylxAF+ESg=; b=BZ63Rj/OgY542HI/HYOxSFTGji8m1cqkv9WeOYG6HyjQw3Yj90XFl+zxZHSLEaXBm08A9U nYe0NgZJYN0zGmUcgQ+lQ3BvyzI7nW6TtxzcYfZB0ZVHkuX00xueLzu4I8lnV4mrmTx6Gm CBPIAC7xFFDIpNaoQlRHLV8S0JItNp7ldxqazarRWbNYIjLsrB7rEyxMydNKAfszTEpXxb Ym7o/nfRDrp/S09yGZku94RLsOMPmimwG32fkb8/X8InLuX0g3EPZf00lFQIuwZasajU1A J/t/We9t+VR9vgUD7uqZF444cCTw4yfOWvWXTyqQ7G2F3zEiMVciWnWGHfkjmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSJs2t2qz1JNS; Sun, 22 Sep 2024 13:53: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 48MDrnXH044126; Sun, 22 Sep 2024 13:53:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDrnC9044123; Sun, 22 Sep 2024 13:53:49 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:49 GMT Message-Id: <202409221353.48MDrnC9044123@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 75f6087bf6bb - stable/14 - growfs.8: align and alphabetize options List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 75f6087bf6bbbfdb270664c81e942b341a3e543f Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=75f6087bf6bbbfdb270664c81e942b341a3e543f commit 75f6087bf6bbbfdb270664c81e942b341a3e543f Author: Alexander Ziaee AuthorDate: 2024-08-12 09:39:03 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:45:53 +0000 growfs.8: align and alphabetize options MFC after: 3 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1379 (cherry picked from commit 0d8effbd6e45643154c90942f210b7f7a6ecc61d) --- sbin/growfs/growfs.8 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sbin/growfs/growfs.8 b/sbin/growfs/growfs.8 index 9a6076017c74..9b619613f30e 100644 --- a/sbin/growfs/growfs.8 +++ b/sbin/growfs/growfs.8 @@ -61,16 +61,11 @@ The .Nm utility extends the size of the file system on the specified special file. The following options are available: -.Bl -tag -width indent +.Bl -tag -width "-s size" .It Fl N .Dq Test mode . Causes the new file system parameters to be printed out without actually enlarging the file system. -.It Fl y -Causes -.Nm -to assume yes -as the answer to all operator questions. .It Fl s Ar size Determines the .Ar size @@ -87,6 +82,11 @@ This value defaults to the size of the raw partition specified in (in other words, .Nm will enlarge the file system to the size of the entire partition). +.It Fl y +Causes +.Nm +to assume yes +as the answer to all operator questions. .El .Sh EXIT STATUS Exit status is 0 on success, and >= 1 on errors. From nobody Sun Sep 22 13:53:50 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSJv0N8Jz5XQjZ; Sun, 22 Sep 2024 13:53: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 4XBSJt4JJsz4RBm; Sun, 22 Sep 2024 13:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3I/YGATOVwmI3YUpYvY5PT8h8aiBZcpS6kDQ1XXA2A=; b=gumncJIWVES8Qb97BecqS4dLsGSrVzEzzFrYUT2BEcdJ/ohk6s1mRp3W3H6Tf4i3Hq8zQ/ kcIQfUPVSRQKFPwfxAurgc6f+CTJf1BEcu7n2PDWhKQw//OWV9TBrrc77aKYzcSa00F9WZ cQ3Q90m9zHXojk1KwE/f5H2M5AN3TLi7PCoVt+xBhHKE/N/npUFjmVClNNMJ7CcoMlX4Km v18B0uwOaPqGA3SL9wB9pttA0lHc0FLVbFePIdaSsgt+GUQB4DkldgW4MCfpSWIPkL0f2Z juRllZmt2AHGAPH3JmC+m+fWDU0l2yRxNEXNk5sQEYp0ikV09pWpCfHVXYupFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013230; a=rsa-sha256; cv=none; b=xzdIPcrHoUb9YVPl4EQLUnhIr7zVcySzBOzeoiNwLPJlWlyTqvFPU4y0a/cjd+pBFjeria jW94P8EQjqTE/IxQMXe01nrkX0QAYpnwii6yKfFBldh1NFEtXeHWrstDP0L5FV8S8ffumD dt0bMpTkmtTxDa0X9HUBJnyMTDHvJsYIyCIYBmmNygMNAwVHjHYBYqyjkaW/Yl5uysc2g1 cn36k6qbkmR7jr49qtQ0re7w3/LxtQYyb6zBkwEG1daRq24ew5rlRuTmG9vrMeHWmFI4Hl Ip3D/ZTp0AhWuXamx46qSsUSRtsK/m0wL01dxxkHTKd0zWTF8D3ivYOgcm6MqQ== 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=1727013230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3I/YGATOVwmI3YUpYvY5PT8h8aiBZcpS6kDQ1XXA2A=; b=bJdnBhHuMBQZOuvwMlEmEDr8xzo9A0tN8Z0ABdzfbO9q9I5oGw+tlaHHZTUY5fiwKTizLF 6doTSXcFgmExBN2KYLnZJlucy5SO/dvGMF52dwFDOM/mTF7am1djcfM/V7tRvUJhVnQD5x C0e/FFjLtfg2pqLbUJ9tSoAVykofk6bcA0nWDfRNFwTi0pvqdo4kP0/MogO/CyefQnbE40 s9l7ErlXzcR0VLYmbZcshDQ4ddFewkwlDGJ98L/d+RhI3JITtoRiJbmnp0g/lpALbJM8Lj wVKKovxnt8e4s1f99LADZZd//RiDafXgwb8IpUmZsLhQrEWA5ucvgDlvLDeqig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSJt3rTdz1J5l; Sun, 22 Sep 2024 13:53: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 48MDroqG044177; Sun, 22 Sep 2024 13:53:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDroNI044174; Sun, 22 Sep 2024 13:53:50 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:50 GMT Message-Id: <202409221353.48MDroNI044174@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: c3a0e8fe09c5 - stable/14 - diskless.8: show in `apropos pxe` + tag SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c3a0e8fe09c5bbe42577b9567015f5f542b1f9bc Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c3a0e8fe09c5bbe42577b9567015f5f542b1f9bc commit c3a0e8fe09c5bbe42577b9567015f5f542b1f9bc Author: Alexander Ziaee AuthorDate: 2024-08-12 03:07:42 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:45:53 +0000 diskless.8: show in `apropos pxe` + tag SPDX MFC after: 3 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1378 (cherry picked from commit 7e3b6b249f54f5b22eae14dfa48ef7891bc4eac1) --- share/man/man8/diskless.8 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/share/man/man8/diskless.8 b/share/man/man8/diskless.8 index 8839e27e11ba..cc49854ae850 100644 --- a/share/man/man8/diskless.8 +++ b/share/man/man8/diskless.8 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 1994 Gordon W. Ross, Theo de Raadt .\" Updated by Luigi Rizzo, Robert Watson .\" All rights reserved. @@ -24,12 +27,12 @@ .\" (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 May 3, 2020 +.Dd August 11, 2024 .Dt DISKLESS 8 .Os .Sh NAME .Nm diskless -.Nd booting a system over the network +.Nd booting a system over the network with PXE .Sh DESCRIPTION The ability to boot a machine over the network is useful for .Em diskless From nobody Sun Sep 22 13:53:51 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSJv5zD0z5XQgg; Sun, 22 Sep 2024 13:53: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 4XBSJv4YjZz4R0N; Sun, 22 Sep 2024 13:53:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=giidF+HrvOt2Up8yKGj5K4evLuOQaqC0oEp9+9Skas8=; b=TlW40PjfW+mrW5ggRTGXqIj1QOw7e7nbBvlDyDA26pYIWKWCNb1EXKffvRcPO7o2HBELPi 7F0uUKcYKKG8p63lqgM02/GnTxa3s/JZ7uM5k06v67CJoCnK+AXTbh+iUxxJsa+xOX/bKO fPqkiFCi0iJzEaQruCOu7mpZU5neeBPiSZixGYhcpsZOHfAUyMl8H1wvyvT7vik8TyrxAE A8kdvzLVaMqhHKipCPzx7ql6UdbfvqYN6Q0apbCrOWtgtFPHKEci26AC5bZExWbYb3xnZL blGIMNjmecLHVIyukUsPo4KdVlcjAgEX+5OHZ3if89qDtnx0a9cHyGQRyKu7uQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013231; a=rsa-sha256; cv=none; b=Yfn3NzE1m1WINzQsmP/t0naPYWRFDFTt6Pz0sym12slAw1yJivrFAzeyY8G1uFGzwzGgUM AF30WqHqxN6/RhhFVSVeuGJ9XKCFk2v4ty6K7ATXvE4kLwAoKDSpdlaFVfB0408Wi5Z1Pa 9Pl0EBtv3gnbvXin5bG6EXXRRrFF6CvCyamojUmMm7HhuctkKvUpVWQ+Q0Lknhgj5HH5vO ajLybdKUuzCvDyQFD8PR8uWRaXqjXgd7kohx7EFis6GzEdWgeO/EArvZe1CZYZH5uH2nJm dyV5yhAde+Jgluc464EHA5XxL2InXDOBEZSAcn3APOFabUEBt4mB/ALg1v0Ifw== 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=1727013231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=giidF+HrvOt2Up8yKGj5K4evLuOQaqC0oEp9+9Skas8=; b=lAkMAIknKTLR4U1PTQ8+df08cQTxqnjnplVxfKagwpJWqg6OuSyQsUTpLjoxEu0lJmaMK3 UYcNQX67sPeuTimV2A+c0I3oByj00wTeaUQPmQl56/oj4eW4w/ACcLlFePMibMeiwEhpqu eYDmWB+l5FryanpaJ3TJMHrpINWwCWywZjOIiU9tFPesmT/NGTXChO0iBbT91uogh8ugMg Vy7+fB85yIeS7TUbvWP+Kmk07ft8ekw9Y6E0UpVNInqJ68oJMa9nr1fyKKoLNHJhS/vJdM l6qxbu5L00fDVkfQCKYMgQ+LOJdLXVdUHyg8kk2HUyT7aTZxwTVrclYE0xPQmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSJv4BLHz1JQN; Sun, 22 Sep 2024 13:53: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 48MDrpMD044222; Sun, 22 Sep 2024 13:53:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDrprc044219; Sun, 22 Sep 2024 13:53:51 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:51 GMT Message-Id: <202409221353.48MDrprc044219@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 2af7c211b0bb - stable/14 - ure.4: description consistencies + tag spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2af7c211b0bb44fb489ca8394ca3170707214be7 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2af7c211b0bb44fb489ca8394ca3170707214be7 commit 2af7c211b0bb44fb489ca8394ca3170707214be7 Author: Alexander Ziaee AuthorDate: 2024-08-14 06:50:18 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:46:32 +0000 ure.4: description consistencies + tag spdx + consistent document description languague with other USB-BaseT drivers + mention newly added adapters from 6ea4d9 + attempt to mention rgephy(4) phys feed into ure interfaces Fixes: 6ea4d9 (Move RTL8156 from cdce(4) to ure(4)) MFC after: 3 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1384 (cherry picked from commit 4c72525953fdf618a3fc0a45f3ef3f071dcc0c52) --- share/man/man4/ure.4 | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/share/man/man4/ure.4 b/share/man/man4/ure.4 index 18b68ec9bc8a..773fa7a2426b 100644 --- a/share/man/man4/ure.4 +++ b/share/man/man4/ure.4 @@ -1,3 +1,5 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2015-2016 Kevin Lo .\" All rights reserved. @@ -23,12 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 31, 2016 +.Dd September 3, 2024 .Dt URE 4 .Os .Sh NAME .Nm ure -.Nd "RealTek RTL8152/RTL8153 USB to Ethernet controller driver" +.Nd "RealTek RTL8152/RTL8153/RTL8153B/RTL8156/RTL8156B USB to Ethernet controller driver" .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -52,15 +54,20 @@ if_ure_load="YES" The .Nm driver provides support for USB Ethernet adapters based on the RealTek -RealTek RTL8152 and RTL8153 USB Ethernet controllers. +RTL8152, RTL8153/RTL8153B, and RTL8156/RTL8156B USB Ethernet controllers, +as well as USB Ethernet PHYs provided by +.Xr rgephy 4 . .Pp -NICs based on the RTL8152 are capable of 10 and 100Mbps speeds. -NICs based on the RTL8153 are capable of 10, 100 and 1000Mbps operation. +NICs based on the RTL8152 are capable of 10 and 100Mbps. +NICs based on the RTL8153 or provided by +.Xr rgephy 4 +are capable of 10, 100, and 1000Mbps. +NICs based on the RTL8156 are capable of 10, 100, 1000, and 2500Mbps operation. .Pp The .Nm driver supports the following media types: -.Bl -tag -width ".Cm 10baseT/UTP" +.Bl -tag -width "10baseT/UTP" .It Cm autoselect Enable auto selection of the media type and options. The user can manually override @@ -86,7 +93,7 @@ or .Cm half-duplex modes. .It Cm 1000baseTX -Set 1000baseTX operation over twisted pair. +Set 1000baseTX (Gigabit Ethernet) operation over twisted pair. The RealTek gigE chips support 1000Mbps in .Cm full-duplex mode only. @@ -94,12 +101,12 @@ mode only. .Pp The .Nm -driver supports the following media options: -.Bl -tag -width ".Cm full-duplex" +driver supports the following media options for 10/100 operation: +.Bl -tag -width "full-duplex" .It Cm full-duplex -Force full duplex operation. +Force full-duplex operation. .It Cm half-duplex -Force half duplex operation. +Force half-duplex operation. .El .Pp For more information on configuring this device, see From nobody Sun Sep 22 13:53:52 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSJx1hz8z5XQjc; Sun, 22 Sep 2024 13:53: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 4XBSJw68Trz4R5S; Sun, 22 Sep 2024 13:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mGGF+mBO7S2fD8fJ72CcvcPWNxIJUicmykCePcLopBM=; b=hULeuhfLaFcSTg8acQlLHIaTPftwrw31LhYa3Tq+tQ2h7cZcgf2ztYkmqY7YZZaogz6CR0 ZBeQAjV9C0++b2IrKUtR7aFaSa3MmJUERyvL8e3R286cLSolaHIo2RCmwBoP48ZFU6Zctm gB1wPqQxRFb+hYreyV8fKGZjpdkAL/q+Wifysa17moK+uUjW5p78ePDKXaEWYMjXKXCOUN KQ6FbZTrqmFm7Q0Nv8NdWubIJd+puRFu7P24SWnHUMIK2h6/lf+rHXuTp0lCcf0v4BOEe0 FUEig2a1W0/Mhu5Nr+NrnJiW4y8hWIkOzxUCszo8Q3PlJCaPhD0xPZTc54rx6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013232; a=rsa-sha256; cv=none; b=dkhQhwa2boE9SfVdXhXlqQlTi7luxw7PTmZgiPJVYAhlhcNgH/ZI+iIGQz6imJPMv7MTuZ 5OMvXtQFbLZp/cZAC9B/efc0ZI5NbxxPg2+vjLjbCzQtaEsmZ/OEpioCx0OaB1HgOqSFSw aMfJvKYLDQUw4wFyRa1rg/2Np3Zoue08ImEMRO2L4ZO7d60x1c0wLE4cjZYrqF7gypjLD+ fgubnhWIn+J18T6jiojxq2oVZLz2SSjCWSzRz341Hb10Vg4gsajmectWNF+/h1BQ8ES69/ 9zFaAOX9mpIM7R4Gizr6bQ+rBvpJzXst67GYvVD/+zbEwXKxy16BnE1OBCJMFg== 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=1727013232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mGGF+mBO7S2fD8fJ72CcvcPWNxIJUicmykCePcLopBM=; b=oSvlgmiC3lkqRgMrsN+vhNPX80fvFsrHhKey2LTwRJj2/tsN1IALoxszP/uc/EIpxlxW/3 4iknyW9jJBCZjB9L2+C3muEiLAS/lOHZR5yax+/f3n7O3Qw86Am/Smpv9BhHOb4aWqOH4A YH0YK3v45slTioEkzl4NmQLsVHnJH+Lfwp2LXUXtonYLXAt0N4o/Gcw6t62VVCmHTZmCT/ bAUMiXCWnOX6T6TDN5Pf9hMF6Ci54g7buraP4zh+juj7ieTGBHRjxUEBkIMhbDPdZGEoqf UDJ3L6CRtXAByAt8/l0MrzOss0cjiqilDyPgouXn/GfzsLJlUiqqaq2viJ7EGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSJw5Tnnz1JLk; Sun, 22 Sep 2024 13:53: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 48MDrqQX044264; Sun, 22 Sep 2024 13:53:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDrqHG044261; Sun, 22 Sep 2024 13:53:52 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:52 GMT Message-Id: <202409221353.48MDrqHG044261@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: ef4ee388ff6e - stable/14 - UPDATING: increase visibility of footnotes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ef4ee388ff6e6411d33452968b23b44d83aa7e87 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ef4ee388ff6e6411d33452968b23b44d83aa7e87 commit ef4ee388ff6e6411d33452968b23b44d83aa7e87 Author: Alexander Ziaee AuthorDate: 2024-08-14 01:33:07 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:46:36 +0000 UPDATING: increase visibility of footnotes MFC after: 3 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1382 (cherry picked from commit fe830c3bdbb80545711d49b5bd6fd4ec28ed9f8e) --- UPDATING | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/UPDATING b/UPDATING index d9804dce33e1..e8ce65692e6b 100644 --- a/UPDATING +++ b/UPDATING @@ -1935,6 +1935,8 @@ COMMON ITEMS: make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE + If you are running kernel modules from ports, see FOOTNOTE [1]. + To test a kernel once --------------------- If you just want to boot a kernel once (because you are not sure @@ -1951,8 +1953,7 @@ COMMON ITEMS: make buildworld make buildkernel KERNCONF=YOUR_KERNEL_HERE - make installkernel KERNCONF=YOUR_KERNEL_HERE - [1] + make installkernel KERNCONF=YOUR_KERNEL_HERE [1] [3] etcupdate -p [5] make installworld @@ -1970,7 +1971,7 @@ COMMON ITEMS: make buildworld - make buildkernel KERNCONF=YOUR_KERNEL_HERE + make buildkernel KERNCONF=YOUR_KERNEL_HERE [1] make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC @@ -1989,8 +1990,7 @@ COMMON ITEMS: make buildworld [9] make buildkernel KERNCONF=YOUR_KERNEL_HERE [8] - make installkernel KERNCONF=YOUR_KERNEL_HERE - [1] + make installkernel KERNCONF=YOUR_KERNEL_HERE [1] [3] etcupdate -p [5] make installworld @@ -2010,8 +2010,10 @@ COMMON ITEMS: messages there. If in doubt, please track -stable which has much fewer pitfalls. - [1] If you have third party modules, such as vmware, you should disable - them at this point so they don't crash your system on +FOOTNOTES: + + [1] If you have third party modules, such as drm-kmod or vmware, you + should disable them at this point so they don't crash your system on reboot. Alternatively, you should rebuild all the modules you have in your system and install them as well. If you are running -current, you should seriously consider placing all sources to all the modules for From nobody Sun Sep 22 13:53:53 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSJy5PQBz5XQbD; Sun, 22 Sep 2024 13:53: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 4XBSJx6rKXz4RFH; Sun, 22 Sep 2024 13:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HugKmll02wwLRmunAfLQNYDWQzC8qo+ArHQ78R351DE=; b=mpJnYu3L+YR4YNEbD5oC5q9kc523Y5AMMoKxgJHvIe+3x8Pb1jebiUWuUJj3o7iv2Vsdh4 3m+jcr/8ZHXmMagmw9sN/5G8ltm6riyheT0tOTxurcU+MOl8F4eTDDQh1C5WJmt625Tu3+ abDrGp6J1JylF/55GEf7bE6YODr+lFeM8ZEp57l9A40aGoM3Or3NjqySE7XStd9pZJGiPD S3tolNSh6zZY2wVM2zQri2NRcTSJsNj89QZnYME2agb90OteJjIjzd17tQwtD0LwEOO2cC NcKUj+u5QmS5hQByUAusp5xiBF+YTi+P9wQnUn7nMFiXxzS6PQcAQWCPnGUt8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013234; a=rsa-sha256; cv=none; b=An1pvhRmb08BO3CSC/13luAC7+fOaspmuVJwkIhkcJWkQIyHh5+3qdaNANTFdDIrZaTXsu Et37nMXtLDunJOlsxFTpZSFMy/Qiqtmvmh6bMuU3BZ5ZuYPxh+rHcaB/t6QMUY+jW3nKd1 9doINK0+ueyGVA0QxzTpIY30yy0NoV3aD9a9mhJJ9swadCR7+IZPSp4iqgRb6kTYWd4Dva VtyeXorVK2S8G2uKZbb7ZW0rI1NIHcN//tykAi5OohYZQploeb05bmGj+VYcnLTVCmvnpO JXjhSSfoe7nrK98/u7jrgxLHDhP/zcVOYT7tnQ/GJ+HwCCWzfjq9Zw+TlviUWA== 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=1727013234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HugKmll02wwLRmunAfLQNYDWQzC8qo+ArHQ78R351DE=; b=pb3z+HPsq3mMegFcOALyMRSZ1prQdrfm7rVbYMZ/zhhM7H1X3z9lK0XlN643F3CPSgBHi9 GZxO0BIoCQufaip45eUfvsxs8TVHiEl5x/S2nsXmNRApa8qcFaLyc1mdoIgS29wmzS2/Qt jybjak7coQIDOXJKg3v8j6zWtA4PlTY86zNhRr/eN7mJacLIoy1GDWnaKRDvFEgnvFbU11 N6cSMtvhwgsWXwei+d2h5ZanYj5Z8XFxLKFNnWCnPhhA4k7+bgZoln2KCFBKbn+csiNE1N NiAr8HKg0XrohMi/jGD0D954Zlfp+6doqrRojDchuAhsykXT0xi2eyiYBx8e2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSJx6Rthz1JLl; Sun, 22 Sep 2024 13:53: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 48MDrr86044318; Sun, 22 Sep 2024 13:53:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDrrrj044315; Sun, 22 Sep 2024 13:53:53 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:53 GMT Message-Id: <202409221353.48MDrrrj044315@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 0e1363eda10b - stable/14 - ip6addrctl: Update the sample configuration file List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0e1363eda10be305cf29165bfebec0a1b9c3964e Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0e1363eda10be305cf29165bfebec0a1b9c3964e commit 0e1363eda10be305cf29165bfebec0a1b9c3964e Author: Jose Luis Duran AuthorDate: 2024-08-11 03:06:12 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:46:36 +0000 ip6addrctl: Update the sample configuration file Update the sample ip6addrctl.conf.sample file to match the default policy, currently based on RFC 6724. MFC after: 3 days Signed-off-by: Jose Luis Duran Reviewed by: imp, glebius Pull Request: https://github.com/freebsd/freebsd-src/pull/1375 (cherry picked from commit 6bfbfc8f4fdc6ccd200541ef738a90d1be3c1ab7) --- usr.sbin/ip6addrctl/ip6addrctl.conf.sample | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/usr.sbin/ip6addrctl/ip6addrctl.conf.sample b/usr.sbin/ip6addrctl/ip6addrctl.conf.sample index edcf77553f14..59c1f3db47e0 100644 --- a/usr.sbin/ip6addrctl/ip6addrctl.conf.sample +++ b/usr.sbin/ip6addrctl/ip6addrctl.conf.sample @@ -1,11 +1,15 @@ -# default policy table based on RFC 3484. +# default policy table based on RFC 6724. # usage: ip6addrctl install path_to_this_file # # #Format: #Prefix Precedence Label -::1/128 50 0 -::/0 40 1 -2002::/16 30 2 -::/96 20 3 -::ffff:0:0/96 10 4 +::1/128 50 0 +::/0 40 1 +::ffff:0:0/96 35 4 +2002::/16 30 2 +2001::/32 5 5 +fc00::/7 3 13 +::/96 1 3 +fec0::/10 1 11 +3ffe::/16 1 12 From nobody Sun Sep 22 13:53:56 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSK04jFJz5XQY9; Sun, 22 Sep 2024 13:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XBSK02WYtz4RFT; Sun, 22 Sep 2024 13:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AeIjSCxoEOlrQ+g1jYbhM4GT1V/umfT+H6gQsgzdPMY=; b=AS6QlO/QF+3ZsqMHz8JZ7QqW7+iUblJDOOGWGjVVeKdIjN3UkxV5W1TuCO436mJ33G4HOr Gg7rJ8tKOHXAKih1nMYEDvD1L2+3Z9Vi1eImrLID0GRHRmymjt1SaUToiP6KSC72orGXGl gromSJ2EGcos5mukKZlwwMwBpeLzjMJhjBtf10nGn8SPAy6hC1FL+PN27MQUzyb3KJai60 Z6v3fWKfZyR2kQiew9Hj2A/z9zjfP4SP9+9CAGEXbAJZa1nKs67IkahijR4ebYemTpF1HR E6JyrIJiv5HJO3pF/w/GO+PFI+SDKy40AVcZCOJgRE87ca967Unct6TL7w5bGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013236; a=rsa-sha256; cv=none; b=eHv8ZQbxv3/NunYY8M4jYVcSLEpNMcWAj3YkWxgCAZh/SJesgt+sPu8Rf6iwELd+qs7zcV rElHn4xZehLEmuceLMbZUDAaQ7Z1CZXmrPNZBJmMEiS2jGp3wX5D1RYYOCEh4DVIbRiQc8 Xn85GxcqDzLtIJdSfOcgiKOIZw0B+bKOrpT+VQn5bJpwVz5iN1W7bLrDP6gyVB7ZvuT6Ag mTiflKbxFJeeRXplghmY0ufoVxoqfi+CleKWWyOMAszacP4xxyWaQByalmBAkzfhlDybMM aio2/5e/Bw1zFaZB5DDEzgpXAzL5KlA0d3elqktRPkzLmLZ5y+e28DiLQxygtQ== 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=1727013236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AeIjSCxoEOlrQ+g1jYbhM4GT1V/umfT+H6gQsgzdPMY=; b=EIP+1JN7kncDSBAOlNssdhqgkTyZxFNzXm2RVyvphnJ+WASIoYFJRY4J+bSwQ1YFS1BOUp oOhAxk0GLLdIVDVWpMRns7lLV1kLdJBLf+mpyCDcCpA6LAJaurhQXGGR3vkwSGOwFcuVW9 rQKERhueDij9LgfucnJlpbIffX5THZKPK1O2s+QBxrEHUpI0MRB/xWDXGhqD0e9nmQHAUM 29kZhL4jaCmM1zIoXDf8xYrg+Hs3x6Q5/c+BEOg/ORq3TuT7gnZZQYejlJNMaOx7awDjAp 7RLodJxQGqgxtlElmL3jdmZXUxE8xEIYL+Jiz1FVR2eNdWeYm+YNMF85Wp3rHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSK01Kpnz1JBl; Sun, 22 Sep 2024 13:53: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 48MDruXi044416; Sun, 22 Sep 2024 13:53:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDru26044409; Sun, 22 Sep 2024 13:53:56 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:56 GMT Message-Id: <202409221353.48MDru26044409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: b6356ec88d03 - stable/14 - adduser.8: update log location + spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b6356ec88d03d28eb33ef155f73ff1ae29319a78 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b6356ec88d03d28eb33ef155f73ff1ae29319a78 commit b6356ec88d03d28eb33ef155f73ff1ae29319a78 Author: Alexander Ziaee AuthorDate: 2024-08-01 12:33:22 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:46:36 +0000 adduser.8: update log location + spdx Closes: 280538 Fixes: cf8a18 (back out logging to /var/log/adduser) MFC after: 3 days Reported by: Herbert Baerschneider Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1354 (cherry picked from commit 1f882a5834836b43d4689efeefbc3109fc169363) --- usr.sbin/adduser/adduser.8 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usr.sbin/adduser/adduser.8 b/usr.sbin/adduser/adduser.8 index ed67e21f9430..8ba623fedd9d 100644 --- a/usr.sbin/adduser/adduser.8 +++ b/usr.sbin/adduser/adduser.8 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1995-1996 Wolfram Schneider . Berlin. .\" All rights reserved. .\" Copyright (c) 2002-2004 Michael Telahun Makonnen @@ -427,7 +430,7 @@ message file for .Nm .It Pa /usr/share/skel skeletal login directory -.It Pa /var/log/adduser +.It Pa /var/log/userlog logfile for .Nm .El From nobody Sun Sep 22 13:53:54 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSJz4gCwz5XQLt; Sun, 22 Sep 2024 13:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XBSJz0hQ3z4R5X; Sun, 22 Sep 2024 13:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lWnB3G7KTqcML/5s4XdnUwxyrF8rfXt3kZO1lsF3kEY=; b=hTcDN2RZd0JfjvgwLgq0+DGtmU7DDHX/hQu54Rxg9zPbKm2B3mrgLVoTfPYRZl0DD2RRvx yjZBFQkwOLJOVKidsKBG2rQmRxN071biQw1bgsdIkuhYLkgQh541Uw9vAjYfSVzl0TRg73 TwjjT4UXKE/L9LJFADaYQesOYPIUCmk9Se2QY9RNG0bLCtVK1nPZiZ6EjR6MmIqvGZRJz2 VLrym8xZkzs8No5kuV8MKaTnRuKI7gZxefqaMD2uCBAjubquEfVZSIpdc4Mzpn8omdxTdv mF+qSgl+zT5AM+pyjoXjE38+VJhUoLj3BSE+nHHk3jePqLne9jOlJIHRlfQk2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013235; a=rsa-sha256; cv=none; b=LVAKmDPFjP8qJ+vRsPnxWn+mf5GZPmdYoE89hNL6a9P+o8Aj/z7RtDluuBUcdiZWXmJfcp 0WMUcJRYKms+hc38TWaCqpD+Lrkiv+sWHKEeKBhMA+0oeImiGUHJTN8mePEoLY7EHq0lY9 VyhVgAITpooWJp9K0vrTo5BSpZ3pSi2XyihTt3zP+vfgc3jFsu9UJtr3rTbtKbAYZHRGMJ iqGxiCsCJMFkh0TzG+wrELunu1dWvtul6Rign+xo1ZbuX8JwsvOxkp7DlakcjoBZzbNqfY bPI70ar5/ox+5yDiY2t3YLisbIsWqxlDtDc6mERYJawDxsKQDnbNhP/Co52CfQ== 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=1727013235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lWnB3G7KTqcML/5s4XdnUwxyrF8rfXt3kZO1lsF3kEY=; b=E6LbP+tSY8LRk8q3dG+JcSW/vemQQVRbXPdfTo4b+Z257nphw7mVQy+pV45RKxwqJMAkAz wiLWNgqmTa62HWnh9ilO1XV7oMUrh9nDjcWqmn5jIPa5cqrO1KEPJ7fnhwPRMFKpOYWLoC RrguX1n+PFBlyu7sFQ16FOJ3l1eTfSoNF+qV2MfbhU8Yti0dop8QP7Vt9l6kGhNe3ESY3N NT6fJzmDu0dKv6XeHGWvtDKyAx5n3PtBAXNhxe0PO+2SPBlzHaRgP2aUNyO76JurrTp0bF mniArMucBx10+c8fCBgeOui2RWFqbeJC9Ty10RNN7qpOrC7obeTfot4eztG8dA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSJz0JdHz1JNT; Sun, 22 Sep 2024 13:53: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 48MDrskI044367; Sun, 22 Sep 2024 13:53:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDrsvj044364; Sun, 22 Sep 2024 13:53:54 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:54 GMT Message-Id: <202409221353.48MDrsvj044364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 88dc78cae971 - stable/14 - geom.8: minor cleanup (markup, spdx, gsched) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 88dc78cae9714c2352675bf72dade178b883f9ad Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=88dc78cae9714c2352675bf72dade178b883f9ad commit 88dc78cae9714c2352675bf72dade178b883f9ad Author: Alexander Ziaee AuthorDate: 2024-08-12 09:59:21 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:46:36 +0000 geom.8: minor cleanup (markup, spdx, gsched) Fixes: 86c06f (Remove GEOM_SCHED class and gsched) MFC after: 3 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1380 (cherry picked from commit a5770eb54f7d13717098b5c34cc2dd51d2772021) --- sbin/geom/core/geom.8 | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sbin/geom/core/geom.8 b/sbin/geom/core/geom.8 index 124ea0f2be11..7f0f0b2911b3 100644 --- a/sbin/geom/core/geom.8 +++ b/sbin/geom/core/geom.8 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2004-2005 Pawel Jakub Dawidek .\" All rights reserved. .\" @@ -27,7 +30,7 @@ .Os .Sh NAME .Nm geom -.Nd "universal control utility for GEOM classes" +.Nd universal control utility for GEOM classes .Sh SYNOPSIS .Nm .Ar class @@ -66,7 +69,7 @@ which can be used for existing .Nm unaware classes. Here is the list of standard commands: -.Bl -tag -width ".Cm status" +.Bl -tag -width indent .It Cm help List all available commands for the given class. .It Cm list @@ -74,7 +77,7 @@ Print detailed information (within the given class) about all geoms (if no additional arguments were specified) or the given geoms. This command is only available if the given class exists in the kernel. Additional options include: -.Bl -tag -width ".Fl a" +.Bl -tag -width "-a" .It Fl a Print information for geoms without providers. .El @@ -84,9 +87,11 @@ Print general information (within the given class) about all geoms This command is only available if the given class exists in the kernel. .Pp Additional options include: -.Bl -tag -width ".Fl s" +.Bl -tag -width "-s" .It Fl a -When used with -g, print status for geoms without providers. +When used with +.Fl g , +print status for geoms without providers. .It Fl g Report statuses for geoms instead of providers. .It Fl s @@ -107,7 +112,7 @@ kernel module. .El .Pp Additional options include: -.Bl -tag -width ".Cm status" +.Bl -tag -width indent .It Fl p Ar provider-name Print detailed information about the geom which provides .Ar provider-name . @@ -170,7 +175,7 @@ VIRSTOR .Sh ENVIRONMENT The following environment variables affect the execution of .Nm : -.Bl -tag -width ".Ev GEOM_LIBRARY_PATH" +.Bl -tag -width "GEOM_LIBRARY_PATH" .It Ev GEOM_LIBRARY_PATH Specifies the path where shared libraries are stored instead of .Pa /lib/geom/ . @@ -213,7 +218,6 @@ geom md unload .Xr gnop 8 , .Xr gpart 8 , .Xr graid3 8 , -.Xr gsched 8 , .Xr gshsec 8 , .Xr gstripe 8 , .Xr gunion 8 , From nobody Sun Sep 22 13:53:58 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSK24sPwz5XQYK; Sun, 22 Sep 2024 13:53: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 4XBSK23FFmz4RP5; Sun, 22 Sep 2024 13:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5KgpjuzmMpm+3wZDkQ6R3HuCsTwswYnDbqBNqabNXAE=; b=O5ug8g6Tnt/EGbIyvu13YdArRff8Zq9kOIUcV2dOY/7W5C49P7HoM9h89SakdN5CwaxnfH 2SEcsKNUNM5fwtaEHXs5q3CjxngvTQ1XaQ7Y77RxW/mDBSn2P5/48RYJAiGx9recVtuIr5 knTcKyHXNcgzja3QCZ1fWFHJHtcz1AVYhA0zIhFfi/gWsHIy6uBhkOhwyXdolXtUk67Wz1 9vX29riZdfMIVX+LDBrRe4I0LI81Aj/to5AOLcuDb0yhREYIaOWV7A4QAxGVeoxIZLO+m6 7drrGVOaPDIYAdBWnPnZvOb9myRIDruzSfWJLcz8pFqIx2K3250uenpD2fmIyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013238; a=rsa-sha256; cv=none; b=At5yC/WDcA1Q+MeidwpG2Rs0w3zVz1M3d7hhdzdll7+o0sQzGKuMvSBzxzPsxuklnagmE1 OpPi4XOglA970C97IB/xOUvwcML5ZbHW3N3J5hBuWlRNLkk84W27ggJ/FkUbbR4XJfmP7w bUgkkVRMmfNaRtp9D8F0qD4Cp5R/Vo7+4GjMG3TaibVgmPRBJxSCTo3y+c0UTWUnOFUvfy CBluuSJCNvnyPtadkCBL6YSkiP6AuXj2ZbZ1bQtfzRsr30vQBISlBFsI/iODHLoUBnbY2R NUPew7bisIRSq7qBmVrfu/z8DPhzH1gqvvxLKI1Pi0HCPh/I7+OYgaOkrP5vIw== 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=1727013238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5KgpjuzmMpm+3wZDkQ6R3HuCsTwswYnDbqBNqabNXAE=; b=JRU69DZ8nU38q3E0OD7x3Rnc142ijPalmUopV7kZXulU0PRDgZgPtL7Sxeh6CnMY+wkTUp syStpYSJyHyCqAcVOLhlVlBz5otdRF2h9DvkmvPk2rcVldH2POsuDGzEPXdbjlMOw63mFt Q8TSQNHdMFHo4zZesNnN0b3WxDjFrqkSgSjNqJhMPBT5+sFk09h14he48swU+bDTrQ2+sU JE2GLwVd5yK2HrOWzV/aBC5j4avefiw+Cayj7QAkDuOOInJv3RpbpSHCRIIfqArrR11Uz6 HnK6vHEarpgTo5RNnpb04jlYA9LsFLH0n0XzQk1ZF1GwvsrJGV7FOzEKXY4qbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSK22sNWz1JBm; Sun, 22 Sep 2024 13:53: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 48MDrw4F044502; Sun, 22 Sep 2024 13:53:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDrwlJ044499; Sun, 22 Sep 2024 13:53:58 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:58 GMT Message-Id: <202409221353.48MDrwlJ044499@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 08a7825f05a8 - stable/14 - dummynet: fix pie List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 08a7825f05a82b2c7b1e68557e288d360e59b813 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=08a7825f05a82b2c7b1e68557e288d360e59b813 commit 08a7825f05a82b2c7b1e68557e288d360e59b813 Author: Franco Fichtner AuthorDate: 2024-07-29 14:38:00 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:46:37 +0000 dummynet: fix pie Since 26b9e1f07fa codel was fixed but traffic was not flowing for pie too. Apply the same fix. MFC after: 1 week Sponsored by: OPNsense Differential Revision: https://reviews.freebsd.org/D46182 Also see: https://redmine.pfsense.org/issues/13996 Also see: https://forum.opnsense.org/index.php?topic=41827.0 Reviewed by: imp, markj Pull Request: https://github.com/freebsd/freebsd-src/pull/1390 (cherry picked from commit 2b7f2890a812eb09dccaa8069483566a3b292338) --- sys/netpfil/ipfw/dn_sched_fq_pie.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netpfil/ipfw/dn_sched_fq_pie.c b/sys/netpfil/ipfw/dn_sched_fq_pie.c index 632bfd4b7152..06700b0f93af 100644 --- a/sys/netpfil/ipfw/dn_sched_fq_pie.c +++ b/sys/netpfil/ipfw/dn_sched_fq_pie.c @@ -744,6 +744,9 @@ pie_enqueue(struct fq_pie_flow *q, struct mbuf* m, struct fq_pie_si *si) } if (t != DROP) { + if (m->m_pkthdr.rcvif != NULL) + m_rcvif_serialize(m); + mq_append(&q->mq, m); fq_update_stats(q, si, len, 0); return 0; From nobody Sun Sep 22 13:53:57 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBSK22R6Wz5XQYD; Sun, 22 Sep 2024 13:53: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 4XBSK12c7Yz4R2t; Sun, 22 Sep 2024 13:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727013237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uOwWH++afVu3sz3+oeT9A13ZOSoKnpEFH3Jw4saA08s=; b=giCVFi8S4xpVJlRfdvAj/pdqmtFyCUAz97bxJ1hBBSTUxNMefCZe0QT0dAVoEX2Ky2esRY 69FvSO3sd1IBfJzK2dYhrcuosljQ0dYu0xVe/7mHWxga9HjRyEGwO/lFOPVS1kJZpzudwQ 74Bw59Ag9VwZPT7lVC78OGexNNVKl98eDs/w36St1lWVUwNHSUcQl17xoUaOk/m4DAVfWQ ybxyUBzUibETgfuX7bf308LbUNvQfH2aLJrvy/Bz4mjbED++PHDKZyXm5U4py94WdfvGdt MzQTlsGqr+J3s1SeyfkzghWOvm+zJ1GC6C/DDtfeqWwlPX0poDXt3uKHC3UaFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727013237; a=rsa-sha256; cv=none; b=JIiQO8Q8kbWxDaJgVQm479YI88hLvaMmv32tK6MV8icb1kFgUWLAUXs3igrkh4kg16JRzR 3YbUdzs9qyEWR/ad1OaY6R1W3fePSLe7CphU4AFR0yPNMIJwiiN8RyekrIeqhTJzSP+7cc KQelXOmQPwaaQ5dTtCtMT3azEHKUSN9z6Jvan4eCtVd4E8LJpugyQnM6xeYYdbYAION3ER A/DGAE78863r05KAb132LwtJs4mGHsXwgFi2NN4348aOdW8c+aAiZUyl3rs0HcPYjUwhw1 EJnjEkvHwT3bYrqF8uOzBXaMeaUNdUy7P55bN/e77nLdZLYBSqKwb029/tlbWw== 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=1727013237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uOwWH++afVu3sz3+oeT9A13ZOSoKnpEFH3Jw4saA08s=; b=FoiS3UmI8V5DvEukDTBCZExJNQPKAnJHjBHZltsyXpHRRs84lT9VAQ1vZWDybPkkge8CeO B0GQQMf5T9AdEXJ8ntaYbf/mvZ490kS5jkyxe/9ZyuEXkFSJwCNSOtn9/DYtxVGqEVn4tp dBnkrJt8Uv8//29NBi9gRGdHk+31s/8ZgaUvhbd/JVW8DBpRbNuZi13h8QUl4bR8Y/tdTS /N91jLbHsK9u1EZTeeX6bAclROsaOwazal5vCJr6Gk6NWA5B6r0NMLFUmKsNRYz2G2QoBY KQ/zGaHvfPOec+39OsDlCOLT9K364ydypTQs1iXAypQF3NdvTkLkH0bTR/wUNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBSK12DCbz1Hv6; Sun, 22 Sep 2024 13:53: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 48MDrvQI044466; Sun, 22 Sep 2024 13:53:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MDrvi9044463; Sun, 22 Sep 2024 13:53:57 GMT (envelope-from git) Date: Sun, 22 Sep 2024 13:53:57 GMT Message-Id: <202409221353.48MDrvi9044463@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 691398348632 - stable/14 - ip6addrctl.8: Reference RFC 6724 instead List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 691398348632d1bbad1b35e40e5319075115ea6c Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=691398348632d1bbad1b35e40e5319075115ea6c commit 691398348632d1bbad1b35e40e5319075115ea6c Author: Jose Luis Duran AuthorDate: 2024-08-10 17:46:23 +0000 Commit: Warner Losh CommitDate: 2024-09-22 13:46:37 +0000 ip6addrctl.8: Reference RFC 6724 instead Commit e695500d3cb945e62b4591cb68792601ed5c4b46 updated the policy table to match RFC 6724, which obsoletes RFC 3484. Add a reference to RFC 6724, and mark it up as a technical report (%R). MFC after: 3 days Signed-off-by: Jose Luis Duran Reviewed by: imp, glebius Pull Request: https://github.com/freebsd/freebsd-src/pull/1375 (cherry picked from commit 3272054073720172ebae9c2c5c75e656f72a6df1) --- usr.sbin/ip6addrctl/ip6addrctl.8 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.sbin/ip6addrctl/ip6addrctl.8 b/usr.sbin/ip6addrctl/ip6addrctl.8 index f50da59aa2bb..cf8f1db4a8bd 100644 --- a/usr.sbin/ip6addrctl/ip6addrctl.8 +++ b/usr.sbin/ip6addrctl/ip6addrctl.8 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 25, 2001 +.Dd August 10, 2024 .Dt IP6ADDRCTL 8 .Os .\" @@ -107,9 +107,12 @@ comments and are ignored. .\" .Sh SEE ALSO .Rs +.%A "Dave Thaler" .%A "Richard Draves" -.%T "Default Address Selection for IPv6" -.%N RFC 3484 +.%A "Arifumi Matsumoto" +.%A "Tim Chown" +.%T "Default Address Selection for Internet Protocol Version 6 (IPv6)" +.%R RFC 6724 .Re .\" .Sh HISTORY From nobody Sun Sep 22 14:49:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBTXg3kwGz5XpGb; Sun, 22 Sep 2024 14:49: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 4XBTXg1s33z4gcj; Sun, 22 Sep 2024 14:49:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727016547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJZrO48LAUMZ4l3OiVkj9RBHlb8GIqI9Q17Sq1H7Txc=; b=Y+kNk8kMwyvjKb1CWyOFPrZ5PwgbG2HYWyORe+z/Lw2ar8sRW9r+ic7ntql1xn9XZE0lyt P4SJKbr3ebEvMeEcpjiSwLrsKpOgwLLTb4hNUTNwEIVQc+TYU+4bTU+jdho0mGkgwT44pO qY/bvIcZ+DwjDFZEzHyCFO1A3lW9WAVm+U+MC/epGUWVWybN/bALlxM24gZmEK3wPzeNBp mKyveTrLSvzPsslnKlOyS69rlexK7ZnG6FAv60+MqqKnxq8mk0CE6vn9OjpYROQnLDqxcn sl2azwhDBZJf7DzxKZ6xVWI1Ux4YOyea1GZvZzokmk5sQkIH9BXUu8XKVYHXbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727016547; a=rsa-sha256; cv=none; b=OJra46r/0qS1Purdos/VAjvQWmbQijzCzNse4FxHjyQZmfSHML5KJFhGKHX/rwJ9jelUuZ r8Gd9uCdMTjJxfkzGo3y3H/VDfXE3Bs4eGOt04gMiECxNKs54Fj4MKk4dMHBELnA+tBztF r9bqk6RXii3T4Wg88RXGI0P5wKUn34JS8EavUqftTeIx67+RePmuY8QRDXq1nZ/MaK3wqq CYZYbta/EBDrXPNMjD5Uj8FgYjN7kDrx2eZdQzo3Z6QcbC2SsqUT3FK7nE0TZxJttbzUOp JLZFveA6LLS3A5hEK8bavBIGlSKFcqXSKYh/xX/qjFhtvv44baGG1rWQEokbAA== 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=1727016547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJZrO48LAUMZ4l3OiVkj9RBHlb8GIqI9Q17Sq1H7Txc=; b=Ip54iutWDQTQa5Y5VvF+Qof5VdGubi6kjRsrDm4FVm01cL60Jojs6c+YtngFxrMdFHxU/b RVJtchhJkMTkAoJP9+ZkYGCAq/ns+ZrK5DeA9/oIABiq3ZY/i9H2jxwy5r+m41VsAtFIBk HYojagPxBtvSxUNHpitEj2cxOipiJeRllMnueJkV6mC0xGYnEYDlMJ8XGngOIw1l0e1krQ MUPBpO4bSHXrXthXRsZnHGQ+3jlbuEGrmT3OptbRSFC5gUxec4w6evCx8EVkwimWSblwrt AVop/xk+TBWXfShINeXiNIu0ir2jc2gUOtErcoRFtLT4+k2rG0sAvJW/drIZ2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBTXg1Shbz1L2K; Sun, 22 Sep 2024 14:49: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 48MEn7Qp029824; Sun, 22 Sep 2024 14:49:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MEn7Us029821; Sun, 22 Sep 2024 14:49:07 GMT (envelope-from git) Date: Sun, 22 Sep 2024 14:49:07 GMT Message-Id: <202409221449.48MEn7Us029821@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: 1d94490aee5c - stable/14 - kernel: Fix defining of .init_array and .fini_array sections List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1d94490aee5c8353ed08909bbd00af7cfb48a8dc Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1d94490aee5c8353ed08909bbd00af7cfb48a8dc commit 1d94490aee5c8353ed08909bbd00af7cfb48a8dc Author: Zhenlei Huang AuthorDate: 2024-09-02 04:26:47 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-22 14:45:36 +0000 kernel: Fix defining of .init_array and .fini_array sections These input sections can have decimal numbers as the priority suffix. Clang emits the '%u' form, while SORT is an alias for SORT_BY_NAME, hence will result in wrong order of constructors / destructors in output sections. Fix by using the correct sorting command SORT_BY_INIT_PRIORITY instead [1]. The functions referenced by section .fini_array is in the normal order, but been executed in the reverse order. The order is same with .init_array section. Currently these sections are not used, there should be no functional change. Note: As for the .ctors and .dtors sections, both Clang and GCC emit the priority suffix in the form of '%05u', so there is no semantic difference between SORT_BY_NAME and SORT_BY_INIT_PRIORITY for those sections [2]. This fix is extracted from a bigger patch [3] of hselasky, with additional fix for .fini_array section. 1. https://sourceware.org/binutils/docs/ld/Input-Section-Wildcards.html 2. https://reviews.llvm.org/D91187 3. https://reviews.freebsd.org/D40467 Reviewed by: imp (previous version) Obtained from: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D45194 (cherry picked from commit e15b5ba77d693609c9a452d1b0a1cdd5eb29350d) --- sys/conf/ldscript.amd64 | 4 ++-- sys/conf/ldscript.i386 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/conf/ldscript.amd64 b/sys/conf/ldscript.amd64 index 9c6e603a5753..72dc573f113e 100644 --- a/sys/conf/ldscript.amd64 +++ b/sys/conf/ldscript.amd64 @@ -93,15 +93,15 @@ SECTIONS .init_array : { PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } _start_ctors = .; diff --git a/sys/conf/ldscript.i386 b/sys/conf/ldscript.i386 index 6563ed2cd623..c46a9910eb3b 100644 --- a/sys/conf/ldscript.i386 +++ b/sys/conf/ldscript.i386 @@ -87,15 +87,15 @@ SECTIONS .init_array : { PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } _start_ctors = .; From nobody Sun Sep 22 14:49:08 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBTXh6Czbz5Xp3g; Sun, 22 Sep 2024 14:49: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 4XBTXh31Qdz4gck; Sun, 22 Sep 2024 14:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727016548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MuyhF6uT8uXQx7wj9OPD+o8hVsbLopJejxRWKrW01fw=; b=h9GOhEpW8AQzDjkRoUqqw6HYg0rVDPDAyIDQqYX6onoh++1hfwa6twZGg5nPh7pkLDnF/i HErDtd7Z/K2En84NRIe4q+y3dG82J0LjVt+5j0Ha9BDUkYsbqTPyjFQyHzA6JmRyZat6sN Pnvkc4g1w4f8kUfgoImwjn+HBOL8mGskA0lC2e7lFdqiV+loMG6gCAIWD0KM+5cEmmSjew lkKsakiVf5unlLeKhGAIsZEuGdtWzG2hiEqf0V4xpKqXD2hEG01QwBDRRFoaLIyQ+pBIlG kafhPEtpXL/c6OcopL73IQUJtlpYzw6n1QaKeMPt7Pes4+TeaC2Ot7vnrctRhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727016548; a=rsa-sha256; cv=none; b=wJ9ex4KWaTt8EetQFlMNSjDa6zlbiGI+oCqYhIlHyWy3IBmwb1WQRmzTMw2Tf1e2RyAiYW vUz4m9cLUjGivJX3GB92+aO70FCzxpgQjKj5Z0GHeX2wdCxfXLchoyiIXZ8xitRFMnrAxy 1Z0IgfaYgUD4XKU7CW7vk6YCKo7UiRmi4ClS/bFxRFy/OKr5zVtxB4IQhnVs0Iqo9k+ug4 FfdaR8TpATIHAPMWDn46TlWbZj7VeOiyiuxRdIkdEs2uGmKPKsv5tHW5ExYXd4XBEYYTsR Hs395p/hvAj1UriFsTG0iOiPAJYp28jH7OqLyT7MKOG4BEySPlG3tAKoYM0dhA== 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=1727016548; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MuyhF6uT8uXQx7wj9OPD+o8hVsbLopJejxRWKrW01fw=; b=ZS0GKERzmVy+ATMuPsty30yTF2EmCxl+sY6P+9R0cUbLN/RglEgEILEgCdorCOJAidoL3s AX2yKRw6VyH/ra/ZZIRIkImKyaPTUEB5I3n2OZtqDT2r3xzZRYXSnEQ0YhVXJXIz/KWVg0 hTtdcdTfveCcybZnB6IY2mo6UBvWHmwEgqwWIwfa5zAgfaVhc4LREF79YHvayNSM3hnVhp rvgjJLig7cHKxRdOTgPc45oAN7AF8EfEXgXzo4phcYWJY+xUW9AzSXY2t7Xb2D5k3gpzGv Slbvxj6tQ+z0zZIwwCbMb6PUkLKJgQZX1DOgKJIOzcwcjpJ3vuoVPinAF083Kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBTXh2XCZz1L2L; Sun, 22 Sep 2024 14:49: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 48MEn87J029885; Sun, 22 Sep 2024 14:49:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MEn88v029882; Sun, 22 Sep 2024 14:49:08 GMT (envelope-from git) Date: Sun, 22 Sep 2024 14:49:08 GMT Message-Id: <202409221449.48MEn88v029882@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: bb5f70161454 - stable/14 - kernel: Add defination of .init_array and .fini_array for all other platforms List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bb5f701614546c2e2cc682e23f49f7606cea3138 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=bb5f701614546c2e2cc682e23f49f7606cea3138 commit bb5f701614546c2e2cc682e23f49f7606cea3138 Author: Zhenlei Huang AuthorDate: 2024-09-02 04:26:48 +0000 Commit: Zhenlei Huang CommitDate: 2024-09-22 14:45:36 +0000 kernel: Add defination of .init_array and .fini_array for all other platforms Currently these sections are not used but defined only for amd64 and i386. Added them for all other platforms to keep all platforms in sync. There should be no functional change. This change is extracted from a bigger patch [1] of hselasky, with additional fix for the order of .fini_array section. 1. https://reviews.freebsd.org/D40467 Obtained from: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D45214 (cherry picked from commit 3e76d05231b0aa77d922bdbc9abf62d9747a91ab) --- sys/conf/ldscript.arm | 14 ++++++++++++++ sys/conf/ldscript.arm64 | 14 ++++++++++++++ sys/conf/ldscript.powerpc | 16 ++++++++++++++-- sys/conf/ldscript.powerpc64 | 15 ++++++++++++++- sys/conf/ldscript.powerpc64le | 15 ++++++++++++++- sys/conf/ldscript.powerpcspe | 16 ++++++++++++++-- sys/conf/ldscript.riscv | 14 ++++++++++++++ 7 files changed, 98 insertions(+), 6 deletions(-) diff --git a/sys/conf/ldscript.arm b/sys/conf/ldscript.arm index a9c39977a6fc..f42af5bc4a4c 100644 --- a/sys/conf/ldscript.arm +++ b/sys/conf/ldscript.arm @@ -83,6 +83,20 @@ SECTIONS } .data1 : { *(.data1) } . = ALIGN(32 / 8); + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } _start_ctors = .; PROVIDE (start_ctors = .); .ctors : diff --git a/sys/conf/ldscript.arm64 b/sys/conf/ldscript.arm64 index 21c7dc35d9b7..8a4aeebb6622 100644 --- a/sys/conf/ldscript.arm64 +++ b/sys/conf/ldscript.arm64 @@ -98,6 +98,20 @@ SECTIONS . = ALIGN(128); .data1 : { *(.data1) } . = ALIGN(32 / 8); + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } _start_ctors = .; PROVIDE (start_ctors = .); .ctors : diff --git a/sys/conf/ldscript.powerpc b/sys/conf/ldscript.powerpc index 2bfc02768a22..bb72d25e6af7 100644 --- a/sys/conf/ldscript.powerpc +++ b/sys/conf/ldscript.powerpc @@ -79,8 +79,20 @@ SECTIONS . = ALIGN(4096); .got : { *(.got) } .got.plt : { *(.got.plt) } - - + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } .dynamic : { *(.dynamic) } :kernel :dynamic /* Put .ctors and .dtors next to the .got2 section, so that the pointers get relocated with -mrelocatable. Also put in the .fixup pointers. diff --git a/sys/conf/ldscript.powerpc64 b/sys/conf/ldscript.powerpc64 index f436a3bc0f64..d4daa4d07c14 100644 --- a/sys/conf/ldscript.powerpc64 +++ b/sys/conf/ldscript.powerpc64 @@ -105,7 +105,20 @@ SECTIONS . = ALIGN(4096); .got : ALIGN(8) { __tocbase = .; *(.got) } .toc : ALIGN(8) { *(.toc) } - + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } .dynamic : { *(.dynamic) } :kernel :dynamic /* Put .ctors and .dtors next to the .got2 section, so that the pointers get relocated with -mrelocatable. Also put in the .fixup pointers. diff --git a/sys/conf/ldscript.powerpc64le b/sys/conf/ldscript.powerpc64le index bd883853711a..a87ae9f139fd 100644 --- a/sys/conf/ldscript.powerpc64le +++ b/sys/conf/ldscript.powerpc64le @@ -104,7 +104,20 @@ SECTIONS . = ALIGN(4096); .got : ALIGN(8) { __tocbase = .; *(.got) } .toc : ALIGN(8) { *(.toc) } - + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } .dynamic : { *(.dynamic) } :text :dynamic /* Put .ctors and .dtors next to the .got2 section, so that the pointers get relocated with -mrelocatable. Also put in the .fixup pointers. diff --git a/sys/conf/ldscript.powerpcspe b/sys/conf/ldscript.powerpcspe index 38209f6516c8..82ac2ad1b811 100644 --- a/sys/conf/ldscript.powerpcspe +++ b/sys/conf/ldscript.powerpcspe @@ -80,8 +80,20 @@ SECTIONS . = ALIGN(4096); .got : { *(.got) } .got.plt : { *(.got.plt) } - - + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } .dynamic : { *(.dynamic) } :kernel :dynamic /* Put .ctors and .dtors next to the .got2 section, so that the pointers get relocated with -mrelocatable. Also put in the .fixup pointers. diff --git a/sys/conf/ldscript.riscv b/sys/conf/ldscript.riscv index 9a2764a23789..ad6f2676c504 100644 --- a/sys/conf/ldscript.riscv +++ b/sys/conf/ldscript.riscv @@ -71,6 +71,20 @@ SECTIONS } .data1 : { *(.data1) } . = ALIGN(32 / 8); + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } _start_ctors = .; PROVIDE (start_ctors = .); .ctors : From nobody Sun Sep 22 16:25:09 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBWgV4JKqz5XGwB; Sun, 22 Sep 2024 16:25: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 4XBWgV13Tkz44lP; Sun, 22 Sep 2024 16:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727022310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mA2KbHV/cecEfsXWEQj0zNGcvS6ME9TBTzmHXdJWWRQ=; b=wgi7100hEO0wOX7uUmrijoJoNovgXwhgWOb/5BJyRJm+fDv0VUJ06itwYOZZu6Jn8SpV7m u8DL0NtLWtaEyDrZm7iUBxat8/J1zgUwwILppDBVsFYbNusBFD06zFvykYrAmNFM9w486R oHqf1NAFeMhAtdnkva6QcyVXNI3SiFEsvWPlj3mxl9OG66V4zuiNfaoZfmEC/KFpnjzdE0 gtdP515FmrsOjGLMNHffTImlr12PiqtPXUYjR46PihU5cAIDx56dwm9RTQM0v9orr7SKo6 6w7kARoT9UfTv19RTmTtpmTHbXGsZwrBXfwn0Oc8bx3Lo7etLR8/ASll91ysmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727022310; a=rsa-sha256; cv=none; b=QDgjTFaYsfeDiV3iXAZKQcmAhlOxzDpvqY0wBxm+C9p4z7BmltsY+7jQL+i/0qwV2vyFiD K9cjjtss2sPMRTQax2xXQa0VbGsLYnC1xPQpgVMbI3C1Dyxdpjts/XQHd5ucVzC8P+Pvd8 XGx2qahjAq2yOsOZJpqtbOJMgTK+POzb9wNgtcGhQDV/KSYXGApgPwgyS/MXJdIThTJtSq +/GQPVqIDwLLg+NK5Hd45B2k6LM1aQ97OImrwDpqcZ+aDM7rx9DtPHhdaNx2volpksNX9N WiBUC4Q2pnzBu3boCdeOufZCZ6cM+LzCw5crofPXBnzoK5mfuWRmTwL/fa0JeA== 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=1727022310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mA2KbHV/cecEfsXWEQj0zNGcvS6ME9TBTzmHXdJWWRQ=; b=KyQ7EKyXpG+J1EDpQ9JctzMNtDAZA1XL57SI9OReGNKjMdzMoZV+daLyT3/WPSULMvO8mF g4P6uRYSgW/YSl004VNCDoE1rMqf1jTakezHzVEffHNmL6JKwXj7Nh3hTizIdHKXgEvrD6 9B2GPe5s5ycUa2gGgM2Vxqvpd0EAJfkPlDzNKvlJdaNfLHXP5aT9MEu9tHEapSAfcL5WS7 MHPVKhpZ+R4iKKoqDo/r1SWf+z8e42s/yIjoYwhr7KjQOJo8gNkHQ64h42EQuA0cNySB24 bf5DBNvnLUuW9aEia2VPzuxmHfb8qwlaNSB9/gkOgsXlOTEsEf3Q5Tc1OhgWlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBWgV0Ywvz1NPM; Sun, 22 Sep 2024 16:25: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 48MGP9Xg000264; Sun, 22 Sep 2024 16:25:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MGP9eY000261; Sun, 22 Sep 2024 16:25:09 GMT (envelope-from git) Date: Sun, 22 Sep 2024 16:25:09 GMT Message-Id: <202409221625.48MGP9eY000261@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Richard Scheffenegger Subject: git: 8fee873d78eb - stable/14 - tcp: keep syncache flags when updating ECN info List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8fee873d78eb8d04ffbc079d0ee01549f5c0d556 Auto-Submitted: auto-generated The branch stable/14 has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=8fee873d78eb8d04ffbc079d0ee01549f5c0d556 commit 8fee873d78eb8d04ffbc079d0ee01549f5c0d556 Author: Richard Scheffenegger AuthorDate: 2024-09-18 09:18:00 +0000 Commit: Richard Scheffenegger CommitDate: 2024-09-22 16:24:36 +0000 tcp: keep syncache flags when updating ECN info While processing the ECN flags of an incoming packet, incorrectly cleared all other syncache flags. Reported by: tuexen Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46694 (cherry picked from commit 0a05ea1f56e65ec0477d56daf5ed623087464082) --- sys/netinet/tcp_syncache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index e24249048fd6..6e71d14196f5 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1536,7 +1536,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, */ if (sc->sc_flags & SCF_ECN_MASK) { sc->sc_flags &= ~SCF_ECN_MASK; - sc->sc_flags = tcp_ecn_syncache_add(tcp_get_flags(th), iptos); + sc->sc_flags |= tcp_ecn_syncache_add(tcp_get_flags(th), iptos); } #ifdef MAC /* From nobody Sun Sep 22 16:36:15 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBWwH3vVvz5XMBN; Sun, 22 Sep 2024 16:36: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 4XBWwH3FfBz47dq; Sun, 22 Sep 2024 16:36:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727022975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UACxf8rAcYhLb0AD703YCMwPUhIDIqb1SdG2inMgDAM=; b=SPya/rpUNXD3Rka6HASrYMNN+AWz7IAwMTGTCe1YxJlAd/AFAbh+C0NnMV0d/6RRzGK5bF oWs31yriLAlX9cLJSlOE8UoOqZCuEIYP6uG5mt6UPDuOhzZklGJpH/2R67dOSiDFeJORRv TALvdlGDUygby+663WXBpDsVfc+jcsoq0UZRPj+TScr14xKm+LfpvakO1XtCUluCZct8Ju KuIcx1aUHC+p14to+/HKpjJ7EKqeBmdLh5Kc2KgkUy0YkZqsbPsmrQxEk+ruik+HSY71UE 84xVX1rnx1xnek6ZMDwsQuuEW92heowzK0DgldOdQLZIs7gWZDrDRopr/iZsNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727022975; a=rsa-sha256; cv=none; b=NeCu6NtH56xyRSYBlLI9oEUO4v2011xtqjgNkdZ2enGxvvaoc3fK6ga3UUUZHEOjEtPgML Y+rgd0gw/rsONYHoaeIJrDDpNBoAisO5UyDKQet2eOCQXBmO5mPobT+33Y1mC33pg1NUOO m5dK4Y9Oz8OKrNvZwnimb5mrMxBeDGTHbhJfH7pTBJk1nIC73/LTCcKwSW2B1mnGG4N0I7 Tu4ewDdx1YI6k2K3o73L3bRk6h0Z5wfCNQa7eJo5u0vGI4pnArIrDtyuGBD8/HBtzylXYU JLbOUf1NC6jZbiyw1cFprfVzbS2JV84vdDRKkXBU6bzrsuWZ9zZpqPHqFBsy4A== 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=1727022975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UACxf8rAcYhLb0AD703YCMwPUhIDIqb1SdG2inMgDAM=; b=IF8LD5eW6PXknNk+TreFeRgf5UV2NwR/eUJ/uBjCRYYbGNO7RBrGig7GVfpNBzwC2KmvMR STK6Czm10aNrj34EIH1pDf1SqlPJtUg8IggGexbLDW5QlVXgAtOEwB/yniD9Vc0qHlA/kM kk+3hncglaOKvdZqWMsuLtrgYIN6nX+44ZL/OZN4W/y6y5CMeYBlCzvt1im4XBeCwfDh+b mJk2WToNVER9WZHpyMAy9ONBaeMWRjrZR5N8XxfB57zVtHH2u5Pl0F0PM1NiQeJkVTzagt qhyqYFkctPL/lEaVfmm89SAFQxHQyzHtNOa08h4Pg69AM+2fF8SjVMHzdx/0fA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBWwH2lY1z1NgT; Sun, 22 Sep 2024 16:36: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 48MGaFwa016899; Sun, 22 Sep 2024 16:36:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48MGaFDf016896; Sun, 22 Sep 2024 16:36:15 GMT (envelope-from git) Date: Sun, 22 Sep 2024 16:36:15 GMT Message-Id: <202409221636.48MGaFDf016896@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 9503fb867a43 - stable/14 - ncal: add -M to start week on Monday in cal mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9503fb867a4395378efcf132cbb838f8372e8e70 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9503fb867a4395378efcf132cbb838f8372e8e70 commit 9503fb867a4395378efcf132cbb838f8372e8e70 Author: Valentine Astakhov AuthorDate: 2024-06-17 17:58:02 +0000 Commit: Warner Losh CommitDate: 2024-09-22 16:35:10 +0000 ncal: add -M to start week on Monday in cal mode MFC after: 2 weeks Reviewed by: imp, Alexander Ziaee, Pull Request: https://github.com/freebsd/freebsd-src/pull/1294 (cherry picked from commit 8c108b341cd82d0ed9fcd573764bc94682e84125) --- usr.bin/ncal/ncal.1 | 16 ++++++++++------ usr.bin/ncal/ncal.c | 34 +++++++++++++++++++++++----------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/usr.bin/ncal/ncal.1 b/usr.bin/ncal/ncal.1 index a0b6889dca31..8ece31b79cc1 100644 --- a/usr.bin/ncal/ncal.1 +++ b/usr.bin/ncal/ncal.1 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1997 Wolfgang Helbig .\" All rights reserved. .\" @@ -31,7 +34,7 @@ .Nd displays a calendar and the date of Easter .Sh SYNOPSIS .Nm -.Op Fl 3hjy +.Op Fl 3hjMy .Op Fl A Ar number .Op Fl B Ar number .Oo @@ -39,7 +42,7 @@ .Ar year .Oc .Nm -.Op Fl 3hj +.Op Fl 3hjM .Op Fl A Ar number .Op Fl B Ar number .Fl m Ar month @@ -85,6 +88,10 @@ option, display date of Easter according to the Julian Calendar. Display date of Easter (for western churches). .It Fl j Display Julian days (days one-based, numbered from January 1). +.It Fl M +Display Monday as the first day of the week in +.Nm cal +mode. .It Fl m Ar month Display the specified .Ar month . @@ -186,7 +193,7 @@ X/Open System Interfaces option of the specification. .Pp The flags -.Op Fl 3hyJeopw , +.Op Fl 3ehJMopwy , as well as the ability to specify a month name as a single argument, are extensions to that specification. .Pp @@ -215,6 +222,3 @@ codes is historically naive for many countries. .Pp Not all options are compatible and using them in different orders will give varying results. -.Pp -It is not possible to display Monday as the first day of the week with -.Nm cal . diff --git a/usr.bin/ncal/ncal.c b/usr.bin/ncal/ncal.c index 20d14b3a4bde..cda7580162c1 100644 --- a/usr.bin/ncal/ncal.c +++ b/usr.bin/ncal/ncal.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -162,6 +163,7 @@ static int flag_weeks; /* user wants number of week */ static int nswitch; /* user defined switch date */ static int nswitchb; /* switch date for backward compatibility */ static int highlightdate; +static bool flag_monday; /* user wants week starts on Monday */ static char *center(char *s, char *t, int w); static wchar_t *wcenter(wchar_t *s, wchar_t *t, int w); @@ -216,6 +218,7 @@ main(int argc, char *argv[]) flag_nohighlight = 0; flag_weeks = 0; + flag_monday = false; /* * Use locale to determine the country code, @@ -256,7 +259,7 @@ main(int argc, char *argv[]) before = after = -1; - while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wy")) != -1) + while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wyM")) != -1) switch (ch) { case '3': flag_3months = 1; @@ -306,6 +309,9 @@ main(int argc, char *argv[]) case 'j': flag_julian_day = 1; break; + case 'M': + flag_monday = true; + break; case 'm': if (flag_specifiedmonth) errx(EX_USAGE, "Double -m specified"); @@ -509,7 +515,7 @@ usage(void) " cal [general options] [-hj] [-m month] [year]\n" " ncal [general options] [-hJjpwy] [-s country_code] [[month] year]\n" " ncal [general options] [-hJeo] [year]\n" -"General options: [-NC3] [-A months] [-B months]\n" +"General options: [-NCM3] [-A months] [-B months]\n" "For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]\n", stderr); exit(EX_USAGE); @@ -652,10 +658,13 @@ monthrangeb(int y, int m, int jd_flag, int before, int after) /* Day of the week names. */ for (i = 0; i < count; i++) { wprintf(L"%s%ls%s%ls%s%ls%s%ls%s%ls%s%ls%s%ls ", - wdss, wds.names[6], wdss, wds.names[0], - wdss, wds.names[1], wdss, wds.names[2], - wdss, wds.names[3], wdss, wds.names[4], - wdss, wds.names[5]); + wdss, wds.names[flag_monday ? 0 : 6], + wdss, wds.names[flag_monday ? 1 : 0], + wdss, wds.names[flag_monday ? 2 : 1], + wdss, wds.names[flag_monday ? 3 : 2], + wdss, wds.names[flag_monday ? 4 : 3], + wdss, wds.names[flag_monday ? 5 : 4], + wdss, wds.names[flag_monday ? 6 : 5]); } printf("\n"); @@ -860,7 +869,7 @@ mkmonthb(int y, int m, int jd_flag, struct monthlines *mlines) date dt; /* handy date */ int dw; /* width of numbers */ int first; /* first day of month */ - int firsts; /* sunday of first week of month */ + int firstsm; /* sunday or monday of first week of month */ int i, j, k, l; /* just indices */ int jan1 = 0; /* the first day of this year */ int last; /* the first day of next month */ @@ -911,10 +920,13 @@ mkmonthb(int y, int m, int jd_flag, struct monthlines *mlines) } /* - * Set firsts to the day number of sunday of the first week of - * this month. (This might be in the last month) + * Set firstsm to the day number of sunday or monday of the first week + * of this month. (This might be in the last month) */ - firsts = first - (weekday(first)+1) % 7; + if (flag_monday) + firstsm = first - weekday(first); + else + firstsm = first - (weekday(first) + 1) % 7; /* * Fill the lines with day of month or day of year (Julian day) @@ -923,7 +935,7 @@ mkmonthb(int y, int m, int jd_flag, struct monthlines *mlines) */ for (i = 0; i != 6; i++) { l = 0; - for (j = firsts + 7 * i, k = 0; j < last && k != dw * 7; + for (j = firstsm + 7 * i, k = 0; j < last && k != dw * 7; j++, k += dw) { if (j >= first) { if (jd_flag)