From nobody Mon May 12 00:40:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZwgkN0gGvz5wf1Y; Mon, 12 May 2025 00:40: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 4ZwgkM6RVHz3wvq; Mon, 12 May 2025 00:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747010427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7l3fwI4J4bL6+74gX9zJk7j3B5HRpC7VSrz3A6zlouk=; b=BhMwceAz6xN2WkhvlxZoNi+WQuOy5UL4asoKzIQasn1OpMqH1YqKCxFLAMjtN7+i+H9i7s T9rThQq4OiF2pG7MscWLGE8x2o1WGWHzxiHumr1hTHm1d8uOe+GD8jh61Oe08gNR9HfANF HMHUw8Q7ShCRvhJbOX2gh3MFLXUtFyXa6IOiW4VtUmGt50sv+VKlhQR1bTxo+w/d1LsGSx BvZOWjLZyK4peCGv4clQkuMSaR9Bl91GGV7bGPuwPhEG0iRipwv/C4L/s52dGfS7gDLScT eakBLIorxlmrw/0zBGwiq+bxHoI579cRkcAXo9Ub5/Nhi32jkKGJ+svN0gAa+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747010427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7l3fwI4J4bL6+74gX9zJk7j3B5HRpC7VSrz3A6zlouk=; b=k9P+OaLH5yazX5TGBksjo3HyjVlVMQkspcM2RybgEYh1OgI/gCYfB2eF4HwrVtjUQMij7Q GghWbJ6Mz0OlmjEwQPGXFNR5PX+/dn6dSQOQJUjO70MypceALedj56YujdlcYRWT/KYhzj RWHP7FyX6bmWTkBCppKgM+4zjN5TFrB1OhzSdKcddTGLuwKiER6vuDkiPqhsTKLuE5tFXR caSNYG/mvYzd9QvVHesrgpGuN5e2WDNCblYcE5O0xoZCu88z+UXm3KNrK4QcswvQA0hDa3 PlJVjs7Vgu48wknElT0iVaUf06RFd6j54cSrSPs/1xNkvrSI8D/+dysce1rUmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747010427; a=rsa-sha256; cv=none; b=mVRP+8cj9T8RXnCe9nUWkZAFF1Ca7jCv++2pJVD6g4jL0B+KOADk/wWC80GVwAdBmKmlH2 RWgIFF/6s9+cbA40sTwv3FpkCTVQSmdGthu5KvcscUqSvi2mTM5BB1C/mcabwHNgTtvdy2 tUKx8faZm9z3qpFqQRKbraNS8gCsUyIURPvwLDRGVYwSmjm/MeeglkRmMxJrnAhGgVHj4s ADMqYiKjWcy4954ssZHyFC0zlXYme3NmgSenw4VInzp8AMaRSDWe8j2aOVrp8jMZGWiR2U A5yCXDiwlB9/egnJ2XKShOpT1VPqKKV4I0bk6gCM5drUo/uGZnLfeTNV5wahgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZwgkM5WVRzvKV; Mon, 12 May 2025 00:40: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 54C0eREH017586; Mon, 12 May 2025 00:40:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54C0eR0r017583; Mon, 12 May 2025 00:40:27 GMT (envelope-from git) Date: Mon, 12 May 2025 00:40:27 GMT Message-Id: <202505120040.54C0eR0r017583@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 79e70e12f5c9 - main - release: Pass -N to pkg-stage if NO_ROOT set List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 79e70e12f5c9679139427b3c366e592b585b0ee2 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=79e70e12f5c9679139427b3c366e592b585b0ee2 commit 79e70e12f5c9679139427b3c366e592b585b0ee2 Author: Ed Maste AuthorDate: 2025-05-06 17:59:06 +0000 Commit: Ed Maste CommitDate: 2025-05-12 00:40:08 +0000 release: Pass -N to pkg-stage if NO_ROOT set PR: 283387 Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50268 --- release/Makefile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/release/Makefile b/release/Makefile index 1489ec8dc881..913fc8f2b876 100644 --- a/release/Makefile +++ b/release/Makefile @@ -321,13 +321,9 @@ packagesystem: ${DISTRIBUTIONS} touch ${.TARGET} pkg-stage: dvd -# TODO: Support for -DNO_ROOT .if !defined(NOPKG) || empty(NOPKG) -.if defined(NO_ROOT) -.warning pkg-stage does not yet support NO_ROOT. -.endif env PORTSDIR=${PORTSDIR} REPOS_DIR=${.CURDIR}/pkg_repos/ \ - sh ${.CURDIR}/scripts/pkg-stage.sh + sh ${.CURDIR}/scripts/pkg-stage.sh ${NO_ROOT:D-N} mkdir -p ${.OBJDIR}/dvd/packages/repos/ cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \ ${.OBJDIR}/dvd/packages/repos/ From nobody Mon May 12 08:59:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwtpk63J6z5vkpM; Mon, 12 May 2025 08:59:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zwtpk4n4Nz3XSj; Mon, 12 May 2025 08:59:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747040398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mMqUYLfOy6fJzorsQo1Aa7sU24axxivttMQzMEOOZas=; b=Oq2P+bTplUbeqOpGn2ZwZqdo2zOVSBixHF/nbg5P9fmkwN8nwjAky7v6AiE6UTsK+o/49p yVpRlbKMXNWpUn+cfKNtM3Yzq+LpWQ2QXpG0PlTrNJwUc4OPS+6MRRg71XmGu05IO5VwU7 jOJBeJk2G++5F75rCuPJRoJBORP9IWIQzy984qNLfK3d4byVwAq9oJ5RG2+MJsyGhWvMyZ nTrflFetK9v7hHRjP29KHJ8thhpFXQiPt0RMKNjvozCvDDfVYftp47JN4L6XIa6fLPh0cq ddZTzE7YqId48KLI34oRh/CuVNbkL28VxUl5YBF8pZ18cR+nsG6+C3/k7j2PhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747040398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mMqUYLfOy6fJzorsQo1Aa7sU24axxivttMQzMEOOZas=; b=ypP09aIavxnjJszOUFP0qQ8XA0V01KBSgOzcEBFkyfQUL1epFljscUJgSgDcsPPPwTDOxV ojSV1Ywi8bFrE9TWEtdWZCBZwSbzQ/BvBlmA+3Puic5nQu/FPIq2Q9Db9RJVn/YbcLsArN 4LiEsm1yd2LwFCabszO3Bzo33wXtUood02Ety+pI+kkPwCJIgz0CtvzI7Oi0sIQ+msNuww faZe4MPctvx5n/ZF+Fo51fGQMOB54zTQjJ7yLo35xnH3KzFAOc7Q06MoYaNhSZpAmpBqGf jGO9qWsw6uTU2oRd2sNgVZHeWOzEgxFYWonds3PLn/V9CDdpw9qpfv8JQFyaVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747040398; a=rsa-sha256; cv=none; b=szL8sDXigYrQWQMvF1dhro9fvssT0/VU0Hal3oVcgNxSIJIqd0H5IoAWjytAS98xzyS7Hj bHQOfuQg8YPXuzlQDQQvJg4c8pi3OqAaRC6wxbqpuakmv7hWqmbdYeITqb/VVrxUtafuke sj11Y5WfoACSfiMSvXrYnsF8c8IHaukuwmK/wpQDjuOM/4apNO1wC3tusZtwVZcKMZOmIs o+DBiQ0F9snAXNIFnaU1Bfkfjd4/LvuILybXikgB+2Asm5l5+ZW48hHlZvtUChq/tBnvaX ZAKOia8i3OH0X/JVAjSAgNBIWoIBN9U8Vau6RS5T0+69WJ0NNtimFKMT8KDy/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwtpk4K3Gz182R; Mon, 12 May 2025 08:59: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 54C8xw40042553; Mon, 12 May 2025 08:59:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54C8xwRv042550; Mon, 12 May 2025 08:59:58 GMT (envelope-from git) Date: Mon, 12 May 2025 08:59:58 GMT Message-Id: <202505120859.54C8xwRv042550@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: f6e826891760 - main - stress2: exlock2.sh: Fix impact of previous '-U' removal List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6e826891760a34ef69e1122da0ee378f7caf454 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f6e826891760a34ef69e1122da0ee378f7caf454 commit f6e826891760a34ef69e1122da0ee378f7caf454 Author: Olivier Certner AuthorDate: 2025-05-12 08:34:05 +0000 Commit: Olivier Certner CommitDate: 2025-05-12 08:59:07 +0000 stress2: exlock2.sh: Fix impact of previous '-U' removal In commit "stress2: exlock2.sh: Preserve behavior after ps(1)'s '-U' change" (1265d3b07eaa), I forgot that '-U' also has the side-effect of implying '-x' by default. Now that '-U' has been removed, make '-x' explicit. Fixes: 1265d3b07eaa ("stress2: exlock2.sh: Preserve behavior after ps(1)'s '-U' change") MFC after: 1 hour Sponsored by: The FreeBSD Foundation --- tools/test/stress2/misc/exlock2.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/test/stress2/misc/exlock2.sh b/tools/test/stress2/misc/exlock2.sh index 85f606aec2b3..811fd96f502c 100755 --- a/tools/test/stress2/misc/exlock2.sh +++ b/tools/test/stress2/misc/exlock2.sh @@ -150,7 +150,7 @@ out: usleep(100); } if (debug != 0 && e != 0) - system("ps | grep -v grep | grep /tmp/exlock2 | "\ + system("ps -x | grep -v grep | grep /tmp/exlock2 | "\ "awk '{print $1}' | xargs procstat -f"); share[SYNC] = 0; From nobody Mon May 12 08:59:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwtpm0R9Mz5vkgL; Mon, 12 May 2025 09:00:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zwtpl5fFkz3Xbt; Mon, 12 May 2025 08:59:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747040399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QrJ7S4TOnh1Ggh2uXVACwWQc9F6za/LdRG9a2n4m7fw=; b=MfPtT+8qw5PwGfg1bBPCZK+hYb7k0Wa8q7kj/X6L5PgpTuEEilPb/hvwrwMz3E2cmJPAit eSFDa2ZFUlG21kNDuPI9Qr47HBUJi9DEXW8HhVrBCgTeDPw1lu5mItkdhAo3enPHEWLAzH dSJ6ATk79il7sj7Yw2Ognt28qw/7iD7+HpEnPmRqAfxHS18D1Ai9obMWdteyyDC7lnL4JX 0hyw6svC4CuHj4eDrqEMmklZZyLh9Ad/3zNnMksY55REW3PoAp5tJOXyskVvytyiMb/M2i cQCsDeAn3Tywv/z/ZABLZnnBUapYK1HoA4BaOoVxeKi6PSJOWmPxQdyPav9X8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747040399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QrJ7S4TOnh1Ggh2uXVACwWQc9F6za/LdRG9a2n4m7fw=; b=QEnQb6hYl6SO+eM6EIvYv+kJ2bF7DLxrLVy6bwyX2IHvd/91x7VbkaP4fokQDhqrGUOIf9 gtC4diucJlCW0ooMxcl9OzD1w8jL1FnUgfRJ3XqnYrN4Kcone5lSQjBUXHSQioZfbG9YA6 iu/tzTkEMBQHlt5xrZUfShRVyV3T5uVAZWw3crJGZTk77QAdcmf0R0KzELsMim4N7cO5xl kFaRgKcSevlB0k+bAnLH2B3PVd7aTynpcCWplKR9XJXIGeSHJTgByShk2ESEsSttoPfIpy /fDCULfsyBEZ/SjyiuwgVSLNCfotyxYZBbb2uHZDfk2/fE9P0T9luNp4kee2TQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747040399; a=rsa-sha256; cv=none; b=sDA+2t7XXJ/BHSFcbYgH6mSp/voRM7gC+LlctoUkPmBxZypbxHPkFn5VWnAMCM5J29rFRA iSVGZd/vXubFZrA5cAEpO87xJ0YBV6u5NlAPIQHXSeggShYFyhV2PqjYDZSNoEVAaAe03i FFiXU9a2Fy5/Tq9XO4gvPYyi5qfwUacsS7+iUTGNrREqOM/Wj6FbpaqHxSa+b1TRpAnxh/ zdMYz+VY9awza3zG5szPc91HcwjYhyrOp+8Cl+KSGeia+XpZMUnBtzMDegu8Yx+C9vM2p3 9/JQctA+lieDczFyOZvW4KGr9vONqeAYHtdBZtTjlpD6Mi0q8TOrC7dn1MqCEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwtpl5F68z18hj; Mon, 12 May 2025 08:59:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54C8xxgh042588; Mon, 12 May 2025 08:59:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54C8xxlX042585; Mon, 12 May 2025 08:59:59 GMT (envelope-from git) Date: Mon, 12 May 2025 08:59:59 GMT Message-Id: <202505120859.54C8xxlX042585@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 129a6cf886e1 - main - sysctl.9: Constant integer example: Do not promote 'debug.sizeof' List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 129a6cf886e108b67f637a271f003519c99b9abd Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=129a6cf886e108b67f637a271f003519c99b9abd commit 129a6cf886e108b67f637a271f003519c99b9abd Author: Olivier Certner AuthorDate: 2025-05-09 14:38:32 +0000 Commit: Olivier Certner CommitDate: 2025-05-12 08:59:33 +0000 sysctl.9: Constant integer example: Do not promote 'debug.sizeof' Replace it with another one, selected from current in-tree uses. MFC after: 1 day Sponsored by: The FreeBSD Foundation --- share/man/man9/sysctl.9 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man9/sysctl.9 b/share/man/man9/sysctl.9 index 8c4ee71c96c6..92c8532c8ed2 100644 --- a/share/man/man9/sysctl.9 +++ b/share/man/man9/sysctl.9 @@ -931,8 +931,8 @@ Examples of integer, opaque, string, and procedure sysctls follow: * flags are CTLFLAG_RD, the variable pointer is SYSCTL_NULL_INT_PTR, * and the value is declared. */ -SYSCTL_INT(_debug_sizeof, OID_AUTO, bio, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, - sizeof(struct bio), "sizeof(struct bio)"); +SYSCTL_INT(_kern, OID_AUTO, hz_max, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, HZ_MAXIMUM, + "Maximum hz value supported"); /* * Example of a variable integer value. Notice that the control From nobody Mon May 12 10:07:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZwwJT04Gsz5vpB8; Mon, 12 May 2025 10:07: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 4ZwwJS6wglz3fVH; Mon, 12 May 2025 10:07:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747044440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H957jApk5BMbEHWq8jkj+ldekEgeleOaDd+zqXqbuQ0=; b=TOMfHBujbEbjzuhmdGCY7Dqc1gA2sQzI0+bTOWux/GVVCM7GOmVCMeX5mL3RyLq/JTbeLc MMgogKSUu7xxEFZelGfPqTGCayW1it6gWrVADmYCQA0OGeDZVpX7mPnTStKn55tL00OZuh isGdQxZWrvvoqjcjfKcEVIhfWkiY8kuHI4RQ7TYaTaElZMhJ7DjU2jSq8r+DRNBp+SpwL8 z614f8Y536W0+0Vlhq9Hw6/tCRjtTZYcFrp9IZxEM07dn5OHmxh6B67da7dil99dI1biuI FCv2EG45stS2wIpXwvu7F3j+5YIJzzSJGIWFAoUEywQy3Xe85er0vT78vVkHzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747044440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H957jApk5BMbEHWq8jkj+ldekEgeleOaDd+zqXqbuQ0=; b=F+sAsaRuRn9MkGUiYcdqIYsNEMx//snzRixgllay2y/OdT1CStnnwNlBT+3wfxtDOzuWLa uu/SYMOkIgCrEwdcErxfRfZmLI7VYjsVSX37QiJ92NEnafotFH7RxJ5Xc3czqWrg16bUrC M3itSQ4H99De8fuZn63TCqiMQYVS0KG9MQfnkqqtaci0Ah+HjkKWqlIFG3REm/65qgX09A X2QH6JR5I+RXY2cdQH0JWdvb8I70JzHFFx9ZU7og5hkLzP9zHqJx4a/k9mYIz6f4iiWW7+ V8eIQU8qcDFLY2j4RGkwj9xUWYO4qtfk297dqO63gYMH3oY6z2r6rpppipfDGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747044440; a=rsa-sha256; cv=none; b=nFwGuPRBsRMHceCQxYaZ3PlRPTphBdfFoctiLyWcIDHJw+qq0Q2FuhX0H2d8UQ3SjjU4wW AKVswqNB4Iio2dZcnIHCtvlNL3LSXV+0A3isoEXAwbSUlpFv8MQbt7eysDCckwkKQlaFtu vfgAnezpAkw8ZQcyPZq4yfCb+Ms1YzMK5/3mzqoOp+iqKeTl+6o/kyQj3/AUMjBV82S+Pg igiePQOTH9ACuitLu+9omLCuPX52Ti+Xip8LRzJhMdiHM1V2qJIWofnF4kcaQUi0xH9ap6 bhAywF3LxrjdWTkUzUKFlSgvgRAO9Q7KyJzXefcJcL5kb7+4prdAG9+jhEuKAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZwwJS6WlCz1BRH; Mon, 12 May 2025 10:07: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 54CA7KjQ073298; Mon, 12 May 2025 10:07:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CA7Kkg073295; Mon, 12 May 2025 10:07:20 GMT (envelope-from git) Date: Mon, 12 May 2025 10:07:20 GMT Message-Id: <202505121007.54CA7Kkg073295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: abe84e611076 - main - stress2: Added syzkaller reproducers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: abe84e61107639cdb5b7854ff74f9a5a91984e3d Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=abe84e61107639cdb5b7854ff74f9a5a91984e3d commit abe84e61107639cdb5b7854ff74f9a5a91984e3d Author: Peter Holm AuthorDate: 2025-05-12 10:06:37 +0000 Commit: Peter Holm CommitDate: 2025-05-12 10:06:37 +0000 stress2: Added syzkaller reproducers --- tools/test/stress2/misc/syzkaller76.sh | 235 ++++++++++++++++++++++++++ tools/test/stress2/misc/syzkaller77.sh | 290 +++++++++++++++++++++++++++++++++ tools/test/stress2/misc/syzkaller78.sh | 282 ++++++++++++++++++++++++++++++++ tools/test/stress2/misc/syzkaller79.sh | 82 ++++++++++ 4 files changed, 889 insertions(+) diff --git a/tools/test/stress2/misc/syzkaller76.sh b/tools/test/stress2/misc/syzkaller76.sh new file mode 100755 index 000000000000..67a566cbfa00 --- /dev/null +++ b/tools/test/stress2/misc/syzkaller76.sh @@ -0,0 +1,235 @@ +#!/bin/sh + +# panic: aio_process_rw: opcode 70 +# cpuid = 7 +# time = 1746175480 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe010844ccb0 +# vpanic() at vpanic+0x136/frame 0xfffffe010844cde0 +# panic() at panic+0x43/frame 0xfffffe010844ce40 +# aio_process_rw() at aio_process_rw+0x28e/frame 0xfffffe010844cea0 +# aio_daemon() at aio_daemon+0x286/frame 0xfffffe010844cef0 +# fork_exit() at fork_exit+0x82/frame 0xfffffe010844cf30 +# fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe010844cf30 +# --- trap 0xc, rip = 0x2020f02a472a, rsp = 0x2020ec9bb8d8, rbp = 0x2020ec9bb9d0 --- +# KDB: enter: panic +# [ thread pid 71553 tid 100216 ] +# Stopped at kdb_enter+0x33: movq $0,0x122f9c2(%rip) +# db> x/s version +# version: FreeBSD 15.0-CURRENT #0 main-n276945-2735c20d114f-dirty: Fri May 2 07:17:00 CEST 2025 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t r[1] = {0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + intptr_t res = 0; + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + res = syscall(SYS_freebsd10_pipe, /*pipefd=*/0x2000000005c0ul); + if (res != -1) + r[0] = *(uint32_t*)0x2000000005c4; + syscall(SYS_close, /*fd=*/r[0]); + memcpy((void*)0x200000000080, ".\000", 2); + syscall(SYS_open, /*file=*/0x200000000080ul, /*flags=*/0ul, /*mode=*/0ul); + *(uint32_t*)0x200000000080 = 0; + *(uint32_t*)0x200000000084 = 0; + *(uint32_t*)0x200000000088 = 4; + *(uint64_t*)0x200000000090 = 0; + *(uint64_t*)0x200000000098 = 0; + *(uint32_t*)0x2000000000a0 = 0; + *(uint32_t*)0x2000000000a4 = 8; + *(uint64_t*)0x2000000000a8 = 0x7fffffffffffffff; + *(uint32_t*)0x2000000000b0 = 0; + *(uint32_t*)0x2000000000b4 = 0x100; + *(uint64_t*)0x2000000000b8 = 0; + *(uint32_t*)0x2000000000c0 = 0; + *(uint32_t*)0x2000000000c4 = 0; + *(uint32_t*)0x2000000000c8 = 0; + *(uint32_t*)0x2000000000cc = 3; + *(uint32_t*)0x2000000000d0 = 0; + *(uint32_t*)0x2000000000d4 = 0; + *(uint32_t*)0x2000000000d8 = 0x400008; + *(uint32_t*)0x2000000000dc = 0x8e; + *(uint32_t*)0x2000000000e0 = 0xfffffffd; + *(uint32_t*)0x2000000000e4 = 0xf; + *(uint32_t*)0x2000000000e8 = 0xfffffffc; + *(uint32_t*)0x2000000000ec = 0; + *(uint32_t*)0x2000000000f0 = 0; + *(uint32_t*)0x2000000000f4 = 0; + *(uint32_t*)0x2000000000f8 = 0xff; + *(uint32_t*)0x2000000000fc = 0; + *(uint32_t*)0x200000000100 = 0; + *(uint32_t*)0x200000000104 = 2; + *(uint32_t*)0x200000000108 = 0; + *(uint32_t*)0x20000000010c = 2; + *(uint32_t*)0x200000000110 = 2; + *(uint32_t*)0x200000000114 = 0x5bee; + *(uint32_t*)0x200000000118 = 0; + *(uint32_t*)0x20000000011c = 0xc; + *(uint32_t*)0x200000000120 = 3; + *(uint32_t*)0x200000000124 = 2; + *(uint32_t*)0x200000000128 = 0; + *(uint32_t*)0x20000000012c = 0x10000000; + *(uint32_t*)0x200000000130 = 0; + *(uint32_t*)0x200000000134 = 1; + *(uint32_t*)0x200000000138 = 0; + *(uint32_t*)0x20000000013c = 0x83; + *(uint32_t*)0x200000000140 = 0; + *(uint32_t*)0x200000000144 = 0; + *(uint32_t*)0x200000000148 = 0; + *(uint32_t*)0x20000000014c = 0; + *(uint32_t*)0x200000000150 = 0; + *(uint32_t*)0x200000000154 = 0xfff; + *(uint32_t*)0x200000000158 = 1; + *(uint32_t*)0x20000000015c = 0x4c; + *(uint32_t*)0x200000000160 = 0x1fffffc; + *(uint32_t*)0x200000000164 = 4; + *(uint32_t*)0x200000000168 = 0x40000001; + *(uint32_t*)0x20000000016c = 0; + *(uint32_t*)0x200000000170 = 8; + *(uint32_t*)0x200000000174 = 0; + *(uint32_t*)0x200000000178 = 0; + *(uint32_t*)0x20000000017c = 0x100001; + *(uint32_t*)0x200000000180 = 0; + *(uint32_t*)0x200000000184 = 0x1ff; + *(uint32_t*)0x200000000188 = 0xe; + *(uint32_t*)0x20000000018c = 8; + *(uint32_t*)0x200000000190 = 0; + *(uint32_t*)0x200000000194 = 0; + *(uint32_t*)0x200000000198 = 0; + *(uint32_t*)0x20000000019c = 0xc; + *(uint32_t*)0x2000000001a0 = 9; + *(uint32_t*)0x2000000001a4 = 2; + *(uint32_t*)0x2000000001a8 = 0x10000002; + *(uint32_t*)0x2000000001ac = 0x100000; + *(uint32_t*)0x2000000001b0 = 0x46; + *(uint32_t*)0x2000000001b4 = 6; + *(uint32_t*)0x2000000001b8 = 0x3ff; + *(uint32_t*)0x2000000001bc = 2; + *(uint32_t*)0x2000000001c0 = 0; + *(uint32_t*)0x2000000001c4 = 0xfffffffa; + *(uint32_t*)0x2000000001c8 = 0x200; + *(uint32_t*)0x2000000001cc = 0; + *(uint32_t*)0x2000000001d0 = 1; + *(uint32_t*)0x2000000001d4 = 3; + *(uint32_t*)0x2000000001d8 = 0; + *(uint32_t*)0x2000000001dc = 0x100; + *(uint32_t*)0x2000000001e0 = 0; + *(uint32_t*)0x2000000001e4 = 8; + *(uint32_t*)0x2000000001e8 = 0x108c6b2; + *(uint32_t*)0x2000000001ec = 0xfffffffa; + *(uint32_t*)0x2000000001f0 = 0; + *(uint32_t*)0x2000000001f4 = 5; + *(uint32_t*)0x2000000001f8 = 0; + *(uint32_t*)0x2000000001fc = 0; + *(uint32_t*)0x200000000200 = 0; + *(uint32_t*)0x200000000204 = 0; + *(uint32_t*)0x200000000208 = 0; + *(uint32_t*)0x20000000020c = 0x80; + *(uint32_t*)0x200000000210 = 0; + *(uint32_t*)0x200000000214 = 1; + *(uint32_t*)0x200000000218 = 0; + *(uint32_t*)0x20000000021c = 6; + *(uint32_t*)0x200000000220 = 0; + *(uint32_t*)0x200000000224 = 0; + *(uint32_t*)0x200000000228 = 0; + *(uint32_t*)0x20000000022c = 6; + *(uint32_t*)0x200000000230 = 0; + *(uint32_t*)0x200000000234 = 0; + *(uint32_t*)0x200000000238 = 0; + *(uint32_t*)0x20000000023c = 0xa9f; + syscall(SYS_ioctl, /*fd=*/(intptr_t)-1, /*cmd=*/0xc1c06d02ul, + /*arg=*/0x200000000080ul); + *(uint32_t*)0x200000000580 = -1; + *(uint64_t*)0x200000000588 = 0; + *(uint64_t*)0x200000000590 = 0x200000000180; + *(uint64_t*)0x200000000598 = 0; + *(uint32_t*)0x2000000005a0 = 0xfffff000; + *(uint32_t*)0x2000000005a4 = 3; + *(uint64_t*)0x2000000005a8 = 0; + *(uint32_t*)0x2000000005b0 = 0; + *(uint32_t*)0x2000000005b4 = 0; + *(uint64_t*)0x2000000005b8 = 0; + *(uint64_t*)0x2000000005c0 = 0; + *(uint64_t*)0x2000000005c8 = 0; + *(uint32_t*)0x2000000005d0 = 0; + *(uint32_t*)0x2000000005d4 = 0; + *(uint64_t*)0x2000000005d8 = 0; + *(uint16_t*)0x2000000005e0 = 0x4043; + *(uint32_t*)0x200000000620 = -1; + *(uint64_t*)0x200000000628 = 0; + *(uint64_t*)0x200000000630 = 0; + *(uint64_t*)0x200000000638 = 0; + *(uint32_t*)0x200000000640 = 0x10; + *(uint32_t*)0x200000000644 = 0; + *(uint64_t*)0x200000000648 = 0; + *(uint32_t*)0x200000000650 = 0; + *(uint32_t*)0x200000000654 = 0; + *(uint64_t*)0x200000000658 = 8; + *(uint64_t*)0x200000000660 = 0x3ff; + *(uint64_t*)0x200000000668 = 0; + *(uint32_t*)0x200000000670 = 1; + *(uint32_t*)0x200000000674 = 0; + *(uint32_t*)0x200000000678 = 3; + *(uint16_t*)0x200000000680 = 0; + *(uint32_t*)0x2000000006c0 = -1; + *(uint64_t*)0x2000000006c8 = 0; + *(uint64_t*)0x2000000006d0 = 0; + *(uint64_t*)0x2000000006d8 = 0; + *(uint32_t*)0x2000000006e0 = 0; + *(uint32_t*)0x2000000006e4 = 0; + *(uint64_t*)0x2000000006e8 = 2; + *(uint32_t*)0x2000000006f0 = 0; + *(uint32_t*)0x2000000006f4 = 0; + *(uint64_t*)0x2000000006f8 = 0x101; + *(uint64_t*)0x200000000700 = 0xb3; + *(uint64_t*)0x200000000708 = 0; + *(uint32_t*)0x200000000710 = 0; + *(uint32_t*)0x200000000714 = 0xa; + *(uint64_t*)0x200000000718 = 3; + *(uint32_t*)0x200000000720 = 0; + syscall(SYS_lio_listio, /*mode=*/0ul, /*list=*/0x200000000580ul, /*nent=*/3ul, + /*sig=*/0ul); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 +work=/tmp/$prog.dir +rm -rf $work +mkdir $work +cd /tmp/$prog.dir +timeout 3m /tmp/$prog > /dev/null 2>&1 + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core /tmp/$prog.?????? $work +exit 0 diff --git a/tools/test/stress2/misc/syzkaller77.sh b/tools/test/stress2/misc/syzkaller77.sh new file mode 100755 index 000000000000..c77a3fd2dd22 --- /dev/null +++ b/tools/test/stress2/misc/syzkaller77.sh @@ -0,0 +1,290 @@ +#!/bin/sh + +# panic: sofree:1883 curvnet is NULL, so=0xfffff8017ca59000 +# cpuid = 8 +# time = 1746559098 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0182b5c8d0 +# vpanic() at vpanic+0x136/frame 0xfffffe0182b5ca00 +# panic() at panic+0x43/frame 0xfffffe0182b5ca60 +# sorele_locked() at sorele_locked+0x25f/frame 0xfffffe0182b5ca90 +# uipc_sendfile_wait() at uipc_sendfile_wait+0x1df/frame 0xfffffe0182b5caf0 +# vn_sendfile() at vn_sendfile+0x59b/frame 0xfffffe0182b5cd70 +# sendfile() at sendfile+0x129/frame 0xfffffe0182b5ce00 +# amd64_syscall() at amd64_syscall+0x15a/frame 0xfffffe0182b5cf30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe0182b5cf30 +# --- syscall (0, FreeBSD ELF64, syscall), rip = 0x8223fb72a, rsp = 0x824baaf58, rbp = 0x824baaf90 --- +# KDB: enter: panic +# [ thread pid 6382 tid 103296 ] +# Stopped at kdb_enter+0x33: movq $0,0x122f202(%rip) +# db> x/s version +# version: FreeBSD 15.0-CURRENT #0 main-n277057-794e792121ba-dirty: Tue May 6 18:34:20 CEST 2025 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static void sleep_ms(uint64_t ms) +{ + usleep(ms * 1000); +} + +static uint64_t current_time_ms(void) +{ + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts)) + exit(1); + return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; +} + +static void thread_start(void* (*fn)(void*), void* arg) +{ + pthread_t th; + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, 128 << 10); + int i = 0; + for (; i < 100; i++) { + if (pthread_create(&th, &attr, fn, arg) == 0) { + pthread_attr_destroy(&attr); + return; + } + if (errno == EAGAIN) { + usleep(50); + continue; + } + break; + } + exit(1); +} + +typedef struct { + pthread_mutex_t mu; + pthread_cond_t cv; + int state; +} event_t; + +static void event_init(event_t* ev) +{ + if (pthread_mutex_init(&ev->mu, 0)) + exit(1); + if (pthread_cond_init(&ev->cv, 0)) + exit(1); + ev->state = 0; +} + +static void event_reset(event_t* ev) +{ + ev->state = 0; +} + +static void event_set(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + if (ev->state) + exit(1); + ev->state = 1; + pthread_mutex_unlock(&ev->mu); + pthread_cond_broadcast(&ev->cv); +} + +static void event_wait(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + while (!ev->state) + pthread_cond_wait(&ev->cv, &ev->mu); + pthread_mutex_unlock(&ev->mu); +} + +static int event_isset(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +static int event_timedwait(event_t* ev, uint64_t timeout) +{ + uint64_t start = current_time_ms(); + uint64_t now = start; + pthread_mutex_lock(&ev->mu); + for (;;) { + if (ev->state) + break; + uint64_t remain = timeout - (now - start); + struct timespec ts; + ts.tv_sec = remain / 1000; + ts.tv_nsec = (remain % 1000) * 1000 * 1000; + pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); + now = current_time_ms(); + if (now - start > timeout) + break; + } + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +struct thread_t { + int created, call; + event_t ready, done; +}; + +static struct thread_t threads[16]; +static void execute_call(int call); +static int running; + +static void* thr(void* arg) +{ + struct thread_t* th = (struct thread_t*)arg; + for (;;) { + event_wait(&th->ready); + event_reset(&th->ready); + execute_call(th->call); + __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); + event_set(&th->done); + } + return 0; +} + +static void loop(void) +{ + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + int i, call, thread; + for (call = 0; call < 8; call++) { + for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); + thread++) { + struct thread_t* th = &threads[thread]; + if (!th->created) { + th->created = 1; + event_init(&th->ready); + event_init(&th->done); + event_set(&th->done); + thread_start(thr, th); + } + if (!event_isset(&th->done)) + continue; + event_reset(&th->done); + th->call = call; + __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); + event_set(&th->ready); + event_timedwait(&th->done, 50); + break; + } + } + for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) + sleep_ms(1); +} + +uint64_t r[5] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, + 0xffffffffffffffff, 0xffffffffffffffff}; + +void execute_call(int call) +{ + intptr_t res = 0; + switch (call) { + case 0: + memcpy((void*)0x200000000480, "./file0\000", 8); + res = syscall( + SYS_open, /*file=*/0x200000000480ul, + /*flags=O_NONBLOCK|O_CREAT|O_RDWR|0x80000000000000*/ 0x80000000000206ul, + /*mode=*/0ul); + if (res != -1) + r[0] = res; + break; + case 1: + syscall(SYS_ftruncate, /*fd=*/r[0], /*len=*/0x3862ul); + break; + case 2: + res = syscall(SYS_socket, /*domain=*/2ul, /*type=*/2ul, /*proto=*/0x88); + if (res != -1) + r[1] = res; + break; + case 3: + res = syscall(SYS_socketpair, /*domain=*/1ul, /*type=SOCK_STREAM*/ 1ul, + /*proto=*/0, /*fds=*/0x200000000180ul); + if (res != -1) { + r[2] = *(uint32_t*)0x200000000180; + r[3] = *(uint32_t*)0x200000000184; + } + break; + case 4: + syscall(SYS_dup2, /*oldfd=*/r[2], /*newfd=*/r[1]); + break; + case 5: + memcpy((void*)0x200000000140, "./file0\000", 8); + res = syscall(SYS_open, /*file=*/0x200000000140ul, /*flags=*/0ul, + /*mode=*/0ul); + if (res != -1) + r[4] = res; + break; + case 6: + syscall(SYS_sendfile, /*fd=*/r[4], /*s=*/r[1], /*offset=*/0ul, + /*nbytes=*/0ul, /*hdtr=*/0ul, /*sbytes=*/0ul, + /*flags=SF_SYNC|SF_NOCACHE*/ 0x14ul); + break; + case 7: + syscall(SYS_dup2, /*oldfd=*/r[4], /*newfd=*/r[3]); + break; + } +} +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + loop(); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +(cd ../testcases/swap; ./swap -t 3m -i 30 -l 100 > /dev/null 2>&1) & +sleep 5 + +work=/tmp/$prog.dir +rm -rf $work +mkdir $work +cd /tmp/$prog.dir +for i in `jot 30`; do + ( + mkdir d$i + cd d$i + timeout 3m /tmp/$prog > /dev/null 2>&1 & + ) +done +while pgrep -q $prog; do sleep 2; done +while pkill swap; do :; done +wait + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core /tmp/$prog.?????? $work +exit 0 diff --git a/tools/test/stress2/misc/syzkaller78.sh b/tools/test/stress2/misc/syzkaller78.sh new file mode 100755 index 000000000000..1858129d4c81 --- /dev/null +++ b/tools/test/stress2/misc/syzkaller78.sh @@ -0,0 +1,282 @@ +#!/bin/sh + +# Fatal trap 12: page fault while in kernel mode +# cpuid = 10; apic id = 07 +# fault virtual address = 0x0 +# fault code = supervisor read data, page not present +# instruction pointer = 0x20:0xffffffff80c3c276 +# stack pointer = 0x28:0xfffffe017273eb00 +# frame pointer = 0x28:0xfffffe017273eb30 +# code segment = base 0x0, limit 0xfffff, type 0x1b +# = DPL 0, pres 1, long 1, def32 0, gran 1 +# processor eflags = interrupt enabled, resume, IOPL = 0 +# current process = 43905 (syzkaller78) +# rdi: fffff8005b5d55e0 rsi: 0000000000000008 rdx: ffffffff81249e88 +# rcx: fffff8001b9aed00 r8: 0000000000000000 r9: fffff80003396000 +# rax: 0000000000000000 rbx: fffff8005b5d5400 rbp: fffffe017273eb30 +# r10: 0000000000000000 r11: fffff804d84e9c60 r12: fffff8005b5d55f8 +# r13: 0000000000000000 r14: fffff80497171700 r15: fffff8005b5d55c0 +# trap number = 12 +# panic: page fault +# cpuid = 7 +# time = 1746555157 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe017273e830 +# vpanic() at vpanic+0x136/frame 0xfffffe017273e960 +# panic() at panic+0x43/frame 0xfffffe017273e9c0 +# trap_pfault() at trap_pfault+0x48d/frame 0xfffffe017273ea30 +# calltrap() at calltrap+0x8/frame 0xfffffe017273ea30 +# --- trap 0xc, rip = 0xffffffff80c3c276, rsp = 0xfffffe017273eb00, rbp = 0xfffffe017273eb30 --- +# unp_dispose() at unp_dispose+0x3b6/frame 0xfffffe017273eb30 +# uipc_detach() at uipc_detach+0x35/frame 0xfffffe017273eb80 +# sorele_locked() at sorele_locked+0x107/frame 0xfffffe017273ebb0 +# soclose() at soclose+0x17d/frame 0xfffffe017273ec10 +# _fdrop() at _fdrop+0x1b/frame 0xfffffe017273ec30 +# closef() at closef+0x1e3/frame 0xfffffe017273ecc0 +# fdescfree() at fdescfree+0x41e/frame 0xfffffe017273ed80 +# exit1() at exit1+0x4a4/frame 0xfffffe017273edf0 +# sys_exit() at sys_exit+0xd/frameamd64_syscall() at amd64_syscall+0x15a/frame 0xfffffe017273ef30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe017273ef30 +# --- syscall (1, FreeBSD ELF64, exit), rip = 0x823ab472a, rsp = 0x8208e3ea8, rbp = 0x8208e3ec0 --- +# KDB: enter: panic +# [ thread pid 43905 tid 103344 ] +# Stopped at kdb_enter+0x33: movq $0,0x122f202(%rip) +# db> + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static unsigned long long procid; + +static void kill_and_wait(int pid, int* status) +{ + kill(pid, SIGKILL); + while (waitpid(-1, status, 0) != pid) { + } +} + +static void sleep_ms(uint64_t ms) +{ + usleep(ms * 1000); +} + +static uint64_t current_time_ms(void) +{ + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts)) + exit(1); + return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; +} + +static void use_temporary_dir(void) +{ + char tmpdir_template[] = "./syzkaller.XXXXXX"; + char* tmpdir = mkdtemp(tmpdir_template); + if (!tmpdir) + exit(1); + if (chmod(tmpdir, 0777)) + exit(1); + if (chdir(tmpdir)) + exit(1); +} + +static void reset_flags(const char* filename) +{ + struct stat st; + if (lstat(filename, &st)) + exit(1); + st.st_flags &= ~(SF_NOUNLINK | UF_NOUNLINK | SF_IMMUTABLE | UF_IMMUTABLE | + SF_APPEND | UF_APPEND); + if (lchflags(filename, st.st_flags)) + exit(1); +} +static void __attribute__((noinline)) remove_dir(const char* dir) +{ + DIR* dp = opendir(dir); + if (dp == NULL) { + if (errno == EACCES) { + if (rmdir(dir)) + exit(1); + return; + } + exit(1); + } + struct dirent* ep = 0; + while ((ep = readdir(dp))) { + if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) + continue; + char filename[FILENAME_MAX]; + snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); + struct stat st; + if (lstat(filename, &st)) + exit(1); + if (S_ISDIR(st.st_mode)) { + remove_dir(filename); + continue; + } + if (unlink(filename)) { + if (errno == EPERM) { + reset_flags(filename); + reset_flags(dir); + if (unlink(filename) == 0) + continue; + } + exit(1); + } + } + closedir(dp); + while (rmdir(dir)) { + if (errno == EPERM) { + reset_flags(dir); + if (rmdir(dir) == 0) + break; + } + exit(1); + } +} + +static void execute_one(void); + +#define WAIT_FLAGS 0 + +static void loop(void) +{ + int iter = 0; + for (;; iter++) { + char cwdbuf[32]; + sprintf(cwdbuf, "./%d", iter); + if (mkdir(cwdbuf, 0777)) + exit(1); + int pid = fork(); + if (pid < 0) + exit(1); + if (pid == 0) { + if (chdir(cwdbuf)) + exit(1); + execute_one(); + exit(0); + } + int status = 0; + uint64_t start = current_time_ms(); + for (;;) { + sleep_ms(10); + if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) + break; + if (current_time_ms() - start < 5000) + continue; + kill_and_wait(pid, &status); + break; + } + remove_dir(cwdbuf); + } +} + +uint64_t r[5] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, + 0xffffffffffffffff, 0xffffffffffffffff}; + +void execute_one(void) +{ + intptr_t res = 0; + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + memcpy((void*)0x200000000480, "./file0\000", 8); + res = syscall( + SYS_open, /*file=*/0x200000000480ul, + /*flags=O_NONBLOCK|O_CREAT|O_RDWR|0x80000000000000*/ 0x80000000000206ul, + /*mode=*/0ul); + if (res != -1) + r[0] = res; + syscall(SYS_ftruncate, /*fd=*/r[0], /*len=*/0x3862ul); + memcpy((void*)0x200000000100, "./file0\000", 8); + res = syscall(SYS_open, /*file=*/0x200000000100ul, + /*flags=O_DIRECT*/ 0x10000ul, /*mode=*/0ul); + if (res != -1) + r[1] = res; + *(uint64_t*)0x2000000000c0 = 0x200000000340; + *(uint64_t*)0x2000000000c8 = 0x41; + syscall(SYS_readv, /*fd=*/r[1], /*vec=*/0x2000000000c0ul, /*vlen=*/1ul); + res = syscall(SYS_socket, /*domain=*/2ul, /*type=*/2ul, /*proto=*/0x88); + if (res != -1) + r[2] = res; + res = syscall(SYS_socketpair, /*domain=*/1ul, /*type=SOCK_STREAM*/ 1ul, + /*proto=*/0, /*fds=*/0x200000000180ul); + if (res != -1) + r[3] = *(uint32_t*)0x200000000180; + syscall(SYS_dup2, /*oldfd=*/r[3], /*newfd=*/r[2]); + memcpy((void*)0x200000000140, "./file0\000", 8); + res = + syscall(SYS_open, /*file=*/0x200000000140ul, /*flags=*/0ul, /*mode=*/0ul); + if (res != -1) + r[4] = res; + syscall(SYS_sendfile, /*fd=*/r[4], /*s=*/r[2], /*offset=*/0xcbul, + /*nbytes=*/0x2000ul, /*hdtr=*/0ul, /*sbytes=*/0ul, + /*flags=SF_USER_READAHEAD|SF_NODISKIO|0x2*/ 0xbul); +} +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + for (procid = 0; procid < 4; procid++) { + if (fork() == 0) { + use_temporary_dir(); + loop(); + } + } + sleep(1000000); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +(cd ../testcases/swap; ./swap -t 3m -i 30 -l 100 > /dev/null 2>&1) & +sleep 5 + +work=/tmp/$prog.dir +rm -rf $work +mkdir $work +cd /tmp/$prog.dir +for i in `jot 30`; do + ( + mkdir d$i + cd d$i + timeout 3m /tmp/$prog > /dev/null 2>&1 & + ) +done +while pgrep -q $prog; do sleep 2; done +while pkill swap; do :; done +wait + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core /tmp/$prog.?????? $work +exit 0 diff --git a/tools/test/stress2/misc/syzkaller79.sh b/tools/test/stress2/misc/syzkaller79.sh new file mode 100755 index 000000000000..7413a2034a3d --- /dev/null +++ b/tools/test/stress2/misc/syzkaller79.sh @@ -0,0 +1,82 @@ +#!/bin/sh + +# panic: mutex so_rcv not owned at ../../../kern/uipc_usrreq.c:1750 +# cpuid = 5 +# time = 1746938647 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01e75c5b40 +# vpanic() at vpanic+0x136/frame 0xfffffe01e75c5c70 +# panic() at panic+0x43/frame 0xfffffe01e75c5cd0 +# __mtx_assert() at __mtx_assert+0xa9/frame 0xfffffe01e75c5ce0 +# knote() at knote+0x45/frame 0xfffffe01e75c5d30 +# sowwakeup_locked() at sowwakeup_locked+0xc8/frame 0xfffffe01e75c5d50 +# socantsendmore() at socantsendmore+0x4f/frame 0xfffffe01e75c5d70 +# uipc_shutdown() at uipc_shutdown+0x113/frame 0xfffffe01e75c5db0 +# soshutdown() at soshutdown+0x3e/frame 0xfffffe01e75c5dd0 +# kern_shutdown() at kern_shutdown+0x5e/frame 0xfffffe01e75c5e00 +# amd64_syscall() at amd64_syscall+0x15a/frame 0xfffffe01e75c5f30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe01e75c5f30 +# --- syscall (0, FreeBSD ELF64, syscall), rip = 0x82281772a, rsp = 0x82092efd8, rbp = 0x82092f000 --- +# KDB: enter: panic +# [ thread pid 54792 tid 1014483 ] +# Stopped at kdb_enter+0x33: movq $0,0x122f192(%rip) +# db> x/s version +# version: FreeBSD 15.0-CURRENT #0 main-n277201-48578dcb6b7e-dirty: Sat May 10 13:10:42 CEST 2025 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t r[1] = {0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + intptr_t res = 0; + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + res = syscall(SYS_socketpair, /*domain=*/1ul, /*type=SOCK_SEQPACKET*/ 5ul, + /*proto=*/0, /*fds=*/0x200000000040ul); + if (res != -1) + r[0] = *(uint32_t*)0x200000000044; + syscall(SYS_fcntl, /*fd=*/r[0], /*cmd=*/4ul, /*flags=FASYNC*/ 0x40ul); + syscall(SYS_shutdown, /*fd=*/r[0], /*how=*/2ul); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +work=/tmp/$prog.dir +rm -rf $work +mkdir $work +cd /tmp/$prog.dir +timeout 3m /tmp/$prog > /dev/null 2>&1 + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core /tmp/$prog.?????? $work +exit 0 From nobody Mon May 12 12:50:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZwzwW0Lz9z5w0Sj; Mon, 12 May 2025 12:50:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZwzwV6vSFz3rNL; Mon, 12 May 2025 12:50:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g0ZjNwuwDG0EC5Jyo1Z12h8r50SJSXpNvKYXzPV9UKI=; b=DiPp3QxuEsGhPyEgsRhpqCy9rbYDueCIZjCqvVCbLTVV/qSfQO7y2lDyNp/Fo07oN/hpgL on3C1wI8GH2mQ5/wgvoYgTCK6wIPQM88amFwjoGdtoBuIj5D+d49sY24KMshfAGwXaandh AFsJIJ6dMBHpJP5thtMANUtl5ZE9Ds7VTFRpDiGYFOSWBljnPeF5AOGd0KUdPix299qb+t yMfBgJGtD2UlwanIQWsPnj4Yvke8e7ymt24CfhHVBs8vAlDiyGHKapPhPE+yBvndukbL5L UzeSU+jagycN07CXRlFqqPzP7YwqfrqSeaVm/y90GHARFWk0BjmVyp49cUmLUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g0ZjNwuwDG0EC5Jyo1Z12h8r50SJSXpNvKYXzPV9UKI=; b=DrLy1vBrLhWB5TmhcvaIGN3eMKtLBudNxecm/fhaLYTaH4bcXVPu0SWfQYrUWjm7WYBQiL u6JXlYji62/AiwCJLlvq0KB7hks3V+z9HsElJhgQyTwjHGWdmw7uP0rl0TLu3FBOugIFXU ssWPRkhEogRbRI5oc6IIlXYklrOcTaYlpRR15RW0SH8GIZ02qDoNIlht8HOFb7sTpirQdo VfGMnuvq0xEZIV6jpFqTNFA4cflgqXKZr/V7U6Dp6drlfcv62Kp4p43UTnMUlE+VyP8H63 PmLzwBOYFD4tMXkYJkVqkVUlKdnoQPe9XDZ2A2p4eO3Uu3fKGVqaEOenaK0rNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054219; a=rsa-sha256; cv=none; b=LOw9Sj495RXhziLYpTmqQLu/mH0KQ6XpgBqc29lnj/WZrqHNYN5+yXafMhtRxjaMPekd5f pRt4eqN1IvSCwZvh1IOBHJcSboq18NdXnmn2FN/Q+cUfG6pG6DMhLaxvPImBxdz+nwYVgl JW3teXj7slKauLX2t1e89+wGgWzrOpuxfyO0W74Ot0rmAgYgF33qIa0WGkdst8AaK2jD7D M5ZLxXZUnLSsERqzA9rrhA0h+h4b8J1kzDW1o6qH+ucyAjNjKmoNxRG6vGSZz/T1aRWTmw HGxrA9WJfoRzkPoNZb6G5dL5kXsiJDkbarLZlFmEkqcV9K+U9ib3wDNNKAdy5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZwzwV6VvYz1G4H; Mon, 12 May 2025 12:50: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 54CCoIHo082790; Mon, 12 May 2025 12:50:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoIhW082787; Mon, 12 May 2025 12:50:18 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:18 GMT Message-Id: <202505121250.54CCoIhW082787@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 8bfb456eafd3 - main - arm64: Raise a SIGILL if we fail reading an insn List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bfb456eafd34e2de89d2fb77af7a1d34474ca0d Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8bfb456eafd34e2de89d2fb77af7a1d34474ca0d commit 8bfb456eafd34e2de89d2fb77af7a1d34474ca0d Author: Andrew Turner AuthorDate: 2025-05-12 11:04:05 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:04:05 +0000 arm64: Raise a SIGILL if we fail reading an insn When reading an instruction we may fail if another thread is unmapping a page while the current thread is executing from it. In this case raise a SIGILL rather than panicing the kernel. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50203 --- sys/arm64/arm64/undefined.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index c307281ea523..cdd2a083ec17 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -322,8 +322,9 @@ undef_insn(u_int el, struct trapframe *frame) if (el == 0) { ret = fueword32((uint32_t *)frame->tf_elr, &insn); + /* Raise a SIGILL if we are unable to read the instruction */ if (ret != 0) - panic("Unable to read userspace faulting instruction"); + return (0); } else { insn = *(uint32_t *)frame->tf_elr; } From nobody Mon May 12 12:50:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZwzwX1sflz5w0hG; Mon, 12 May 2025 12:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZwzwX0n6Pz3rFF; Mon, 12 May 2025 12:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9zBQB2tRKadF2Epyz4o/z5soY5O1H5clVKR4J9ac3no=; b=coAJhyvdMFJBAHJLBcYZ4rSX4hFMUDIFzfyueC6I6mxCYp/kqZmJ4j3xclQto6aEhQbDnO Wk/osPByAQAIYRlX/RsrvTrNM4cTAbdJRe9Pjn2J0ZPC7ufLXpwfzwAftDtsQ4l9ttk7UT rH+Ujo9+RY7PH0iVkZOQ7uP8Gvj3Mteil4WcDqPqwV9Ru3yfpFHDnDGCfw1b2cvo6bpdnK UYUwbEJPApJMBOSZt+6FJ/77U5DrwF61IIDSW+U1Hnyv4FVO2fR7c/2PTZ+saPhpmsMw72 DntD7Oaro3If8U7cuiXyl3oEWyzUd0mPLRzkP05jSA7qqvM5Pjl7UBCnUIEmmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9zBQB2tRKadF2Epyz4o/z5soY5O1H5clVKR4J9ac3no=; b=IZKrubJk0eJyRjpX8mmvRvDdjRhKJ1VnRp/dJqT0Nc13TBDPaTrGwWMwdOjN2bh0r4bDR3 /a8+lpSu+PGSwAkvj4iN0LEh8nxKZgDdHENPm/lzmA6dfD+WCRJiBwd4LSmngrrrVNCign 38lE0FMfazXvvXywu3TR++iZ7qX1N/hFJWTTLJPJ2GaB5pBmCPsIv0hqHOKO93Wlx8hQVx Rs+2grSDgcXS/cPsjfps6syJ061FQ81/+e+WLh9blqlN3sETXJdAlCm6awWEmavsnpyJ46 +HGPA2dZNQXhOp+RQu77cvEdPb8wUdY2deom1M6LIMh8Sdz1fBvkB2k/D4ePCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054220; a=rsa-sha256; cv=none; b=EVCDmXyfzpdEXwITHwcu4mtygL1v2Nput9qTMrqLXwbUxEiGAcqJKWY1yrFcfEr3SGxWxX qGc6Lf3s6pNaVX8G4tIRA/oZZl8W1TcERLhk6E2n+IwTDQYrLsZmP6AiqSXoaHg9ZwX6Sq YJ7arhcf+uPplOVO4RP0Q4z4qEecYHWw+mNmO3jTbbDy7QvitFMci8fonTzviWHXNLKRPt +G4CuzsOtGtp09ORS9CYL3L9utDipoiOSsxJtEg7O7r6d0jwLgWdtWeAAHIUKFRLVW87to /YB78A6nMkZEHPqcRqh3WogxtnIbNEmP+L+MXV3ecZSXB4FccWcXgYRNHUtr7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZwzwX0JvCz1Gdb; Mon, 12 May 2025 12:50:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoJrI082823; Mon, 12 May 2025 12:50:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoJxU082820; Mon, 12 May 2025 12:50:19 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:19 GMT Message-Id: <202505121250.54CCoJxU082820@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 10a93c92c40a - main - arm64: Remove an old workaround List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 10a93c92c40aab0fd3f24bf17005318b165b9ef4 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=10a93c92c40aab0fd3f24bf17005318b165b9ef4 commit 10a93c92c40aab0fd3f24bf17005318b165b9ef4 Author: Andrew Turner AuthorDate: 2025-05-12 11:05:58 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:05:58 +0000 arm64: Remove an old workaround This is an old workaround for an instruction that wasn't emulated correctly in some places. As we now read more ID registers that should also hit this bug trapping this register, and not the others we can assume nobody hits this anymore. Reviewed by: harry.moulton_arm.com, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50204 --- sys/arm64/arm64/undefined.c | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index cdd2a083ec17..1f44114af544 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -88,36 +88,6 @@ struct undef_handler { */ LIST_HEAD(, undef_handler) undef_handlers[2]; -/* - * Work around a bug in QEMU prior to 2.5.1 where reading unknown ID - * registers would raise an exception when they should return 0. - */ -static int -id_aa64mmfr2_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, - uint32_t esr) -{ - int reg; - -#define MRS_ID_AA64MMFR2_EL0_MASK (MRS_MASK | 0x000fffe0) -#define MRS_ID_AA64MMFR2_EL0_VALUE (MRS_VALUE | 0x00080740) - - /* mrs xn, id_aa64mfr2_el1 */ - if ((insn & MRS_ID_AA64MMFR2_EL0_MASK) == MRS_ID_AA64MMFR2_EL0_VALUE) { - reg = MRS_REGISTER(insn); - - frame->tf_elr += INSN_SIZE; - if (reg < nitems(frame->tf_x)) { - frame->tf_x[reg] = 0; - } else if (reg == 30) { - frame->tf_lr = 0; - } - /* If reg is 32 then write to xzr, i.e. do nothing */ - - return (1); - } - return (0); -} - static bool arm_cond_match(uint32_t insn, struct trapframe *frame) { @@ -282,7 +252,6 @@ undef_init(void) LIST_INIT(&undef_handlers[0]); LIST_INIT(&undef_handlers[1]); - install_undef_handler(false, id_aa64mmfr2_handler); #ifdef COMPAT_FREEBSD32 install_undef_handler(true, gdb_trapper); install_undef_handler(true, swp_emulate); From nobody Mon May 12 12:50:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZwzwY49h3z5w0bS; Mon, 12 May 2025 12:50: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 4ZwzwY26bFz3r4j; Mon, 12 May 2025 12:50:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pG0Gq74V2VyTIEAUVIwU6l/0atRp62NTISoeUNaLPFo=; b=PE9oTvApuPMlg/xXKmuKkbl2gRwVgt9ErBMJFPXaswX+4GK0t7KCs0CaY5+c89LfW6jomd /EwT/7U8SU3AIgb9OAznc4i9bCR8iO93p6bE/dZMK1ZAitrHFk61CEOunN/Ot5kMajqynl CrwPQQ2gWka0/Lldt8NWRheW7J76QHmvv0hJ8XW2TZmGgKh7EH48XiyouLmE9Y70zTlu/k c41aIrJURuXjO0f06y+7caSK8g7bLNqdHszk3mWTpEiHOhHnSyEvKqjJwCxfhyWgQTVrk2 PV6udp9Y8wBB3L2Bwy8WIW48cbuuuNRMs38zP3pcuwbb95cdQ8TsjqsyLG21KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pG0Gq74V2VyTIEAUVIwU6l/0atRp62NTISoeUNaLPFo=; b=shiOJsQA9ZiaW50h0wZPkN/bYwu6BLjzuYkdQVnV0o0sS5sCU2W2Idpo0AIAEhs5UiYLDN 1yazKf520LYhqsUJ5A+Ai2LoP+ljD2u9t1rYZzybQA2QypzX0RnV0dFQyNiTLAXoZeX02D ZojJ6U+9qNVQjEAvdCVA78rn0u5B4xFnUq/B74ckQbZAswM2IiM478xbxIGkwta5FFd0G8 Rtv8k6ea6Wr1fx1tQqHPQDDrlSEknt93I8P8htdteegmTuecj4ww1JlerG0VnPfJT8dCc4 KNddZlJ0+wTCTfPwmLHXB9+Bs5xbEXNRc885OysaUA2pEYZg7uiKAINBL6F/hA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054221; a=rsa-sha256; cv=none; b=paXCJ9K8k+8EvQULxk4Y0FuZDcMDTgCh/3IlfqPfjmgIU0tNryf6oq/Gt2NbwXQtYc5Aq5 2u72jE1DThreDwWtk5SpTuUxiMol+CLpwMdiKgUDf6+JPvy/daiWH/zLzwNBqFgCDcBiIz hxw5R3ZreyfSvydSV95fsCCi2sqZPtZMjvudT60QnkK/MK1UuhY6uWAV/kOv8Q0R4QmKDs x9PyNHCJzPgMWInTnKTmA9izMH7MXgss4UrfuGucwitsNEY09rsW6UXWAiL0p/2zOvXS8V ooGK7Wc01Dp5BB2KPnf5mer/fHZ24ZiUfwW7dRdOPtnu44nsmjzUM2Y93pqjCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZwzwY1HTgz1Fyt; Mon, 12 May 2025 12:50:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoLon082856; Mon, 12 May 2025 12:50:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoLqi082853; Mon, 12 May 2025 12:50:21 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:21 GMT Message-Id: <202505121250.54CCoLqi082853@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: f68ca1421a1d - main - arm64: Remove kernel undef instruction support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f68ca1421a1d54b29b2d2059b77459e00e86bba0 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f68ca1421a1d54b29b2d2059b77459e00e86bba0 commit f68ca1421a1d54b29b2d2059b77459e00e86bba0 Author: Andrew Turner AuthorDate: 2025-05-12 11:06:08 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:06:08 +0000 arm64: Remove kernel undef instruction support Now we don't handle any undefined instructions in the kernel remove the support to handle them. The kernel should only ever execute valid instructions. The only case it needed to handle was an old emulator that is now well out of support, and the handler for this has been removed. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50205 --- sys/arm/arm/generic_timer.c | 2 +- sys/arm64/arm64/identcpu.c | 4 ++-- sys/arm64/arm64/trap.c | 6 ++---- sys/arm64/arm64/undefined.c | 37 ++++++++++++++----------------------- sys/arm64/include/undefined.h | 4 ++-- 5 files changed, 21 insertions(+), 32 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 685398117396..a82f8756b806 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -332,7 +332,7 @@ tmr_setup_user_access(void *arg __unused) #ifdef __aarch64__ if (TUNABLE_INT_FETCH("hw.emulate_phys_counter", &emulate) && emulate != 0) { - install_undef_handler(true, cntpct_handler); + install_undef_handler(cntpct_handler); } #endif } diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 654a1b63d165..663c1a335114 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2792,8 +2792,8 @@ identify_cpu_sysinit(void *dummy __unused) panic("CPU does not support LSE atomic instructions"); #endif - install_undef_handler(true, user_ctr_handler); - install_undef_handler(true, user_mrs_handler); + install_undef_handler(user_ctr_handler); + install_undef_handler(user_mrs_handler); } SYSINIT(identify_cpu, SI_SUB_CPU, SI_ORDER_MIDDLE, identify_cpu_sysinit, NULL); diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index fdcc38cd9a31..bed58095201a 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -578,8 +578,6 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) panic("FPAC kernel exception"); break; case EXCP_UNKNOWN: - if (undef_insn(1, frame)) - break; print_registers(frame); print_gp_register("far", far); panic("Undefined instruction: %08x", @@ -676,7 +674,7 @@ do_el0_sync(struct thread *td, struct trapframe *frame) } break; case EXCP_UNKNOWN: - if (!undef_insn(0, frame)) + if (!undef_insn(frame)) call_trapsignal(td, SIGILL, ILL_ILLTRP, (void *)far, exception); userret(td, frame); @@ -716,7 +714,7 @@ do_el0_sync(struct thread *td, struct trapframe *frame) * instruction to access a special register userspace doesn't * have access to. */ - if (!undef_insn(0, frame)) + if (!undef_insn(frame)) call_trapsignal(td, SIGILL, ILL_PRVOPC, (void *)frame->tf_elr, exception); userret(td, frame); diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index 1f44114af544..71c9b689aa78 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -83,10 +83,11 @@ struct undef_handler { }; /* - * Create two undefined instruction handler lists, one for userspace, one for - * the kernel. This allows us to handle instructions that will trap + * Create the undefined instruction handler lists. + * This allows us to handle instructions that will trap. */ -LIST_HEAD(, undef_handler) undef_handlers[2]; +LIST_HEAD(, undef_handler) undef_handlers = + LIST_HEAD_INITIALIZER(undef_handlers); static bool arm_cond_match(uint32_t insn, struct trapframe *frame) @@ -248,24 +249,20 @@ fault: void undef_init(void) { - - LIST_INIT(&undef_handlers[0]); - LIST_INIT(&undef_handlers[1]); - #ifdef COMPAT_FREEBSD32 - install_undef_handler(true, gdb_trapper); - install_undef_handler(true, swp_emulate); + install_undef_handler(gdb_trapper); + install_undef_handler(swp_emulate); #endif } void * -install_undef_handler(bool user, undef_handler_t func) +install_undef_handler(undef_handler_t func) { struct undef_handler *uh; uh = malloc(sizeof(*uh), M_UNDEF, M_WAITOK); uh->uh_handler = func; - LIST_INSERT_HEAD(&undef_handlers[user ? 0 : 1], uh, uh_link); + LIST_INSERT_HEAD(&undef_handlers, uh, uh_link); return (uh); } @@ -281,24 +278,18 @@ remove_undef_handler(void *handle) } int -undef_insn(u_int el, struct trapframe *frame) +undef_insn(struct trapframe *frame) { struct undef_handler *uh; uint32_t insn; int ret; - KASSERT(el < 2, ("Invalid exception level %u", el)); - - if (el == 0) { - ret = fueword32((uint32_t *)frame->tf_elr, &insn); - /* Raise a SIGILL if we are unable to read the instruction */ - if (ret != 0) - return (0); - } else { - insn = *(uint32_t *)frame->tf_elr; - } + ret = fueword32((uint32_t *)frame->tf_elr, &insn); + /* Raise a SIGILL if we are unable to read the instruction */ + if (ret != 0) + return (0); - LIST_FOREACH(uh, &undef_handlers[el], uh_link) { + LIST_FOREACH(uh, &undef_handlers, uh_link) { ret = uh->uh_handler(frame->tf_elr, insn, frame, frame->tf_esr); if (ret) return (1); diff --git a/sys/arm64/include/undefined.h b/sys/arm64/include/undefined.h index db5d0523e711..1370a648b17c 100644 --- a/sys/arm64/include/undefined.h +++ b/sys/arm64/include/undefined.h @@ -57,9 +57,9 @@ MRS_GET(CRm) MRS_GET(Op2) void undef_init(void); -void *install_undef_handler(bool, undef_handler_t); +void *install_undef_handler(undef_handler_t); void remove_undef_handler(void *); -int undef_insn(u_int, struct trapframe *); +int undef_insn(struct trapframe *); #endif /* _KERNEL */ From nobody Mon May 12 12:50:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZwzwZ6BBFz5w0hP; Mon, 12 May 2025 12:50:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZwzwZ2qh9z3rR4; Mon, 12 May 2025 12:50:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Erom3bSmmHqsm1u0vWMknQtBGO66NhaHX0iMXOltf8Y=; b=g9DffO59VhZ+KJHTaYnWSLFkdyQkRFO2rkOd62Vjon1lbty+ggiC9A49a0DHzkJBf5M6i4 9f9tc3RfuujwntwEG49eQXdoy8U6GyI3ghofrn9JHKwE4yE4ukVyghntR8TNaKGTNJ8EXp +Z8vXCsZf+qkGy7soI7gMSPI/wDhOzUGnS1Rithgn9HSwbPppg77fUKTpOhfrasirMJgDT WomG/DibV4Q0EbwEKmZJ0DYRNPHgtRVZyb3TxWPO5JkCA5E5p3caOrfoMiDFSX+jvphYaD Xs1OGpHtHUtixmJ0+nk0QeJskX6GAC5JNNhvmsJgMELUa3o6YKDdbs4EKRFxsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Erom3bSmmHqsm1u0vWMknQtBGO66NhaHX0iMXOltf8Y=; b=ctab8KevaMYQadKeqry3t1wNKUBrhOp+9JTmILW+GMa4n+l26KHNqmDi+vebGjWyRfXs9E VnUN39155pQBfbWPNfZTE80lXeqOA8jE53NY+GS7CoF16UIqbYpZfWfuuvc6rD66DzgAB9 hHRbzUCFBR3UJ4Pj3VmblDtDMMqkJ4gnKuJ5b+MNoo7D2yqnv/Jn5yeRoamqTs4n4igXK4 MuoPRwc6SW6lq4PzvQh6uCXqBA+CdnoQt0Y2gt0ATV0b/XTZUBeSaJUsk41YFtvZ643dNS 9L/kuhd55NOI312ExlDH68dAOnqDI5qqCvP7OQxy+xPyLgN/2ffDdJCty004Mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054222; a=rsa-sha256; cv=none; b=F0fNsX1d68MkV1umLVZobM67H9Q2iKBEwR92QTgF0JjOWQH9F92mWQJU1kQQ6Xt8w4hL17 UF3vWwCBya3D6LQ2OblBjvvjx/qGzi1FZXHJgs21fvdjQMS9HAAU8IpTuguxZoxys5EsLq T1GYuLtgrHhlGAnpwzRXt7CqNpmIpo47GKV91NjbFHXMrkJqEvhDjNVsmUJR5WYRsKeWPw FUm85PWxPJU9QqnAb9Nmj9tom7d+JYoE6hoYetTztGifz7ZcJ0c3ptfxYs73jkLzykNheF upJ3T0LI23Bah37N8ILN42uIHPKqKrTMAU0fDxhxHzQOOTiaAGj+xNo+KECJLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZwzwZ2JNRz1GNQ; Mon, 12 May 2025 12:50:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoMdU082893; Mon, 12 May 2025 12:50:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoMSc082890; Mon, 12 May 2025 12:50:22 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:22 GMT Message-Id: <202505121250.54CCoMSc082890@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 4b6308416e3e - main - arm64: Allow building the MSR ISS from raw values List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b6308416e3e710448a636a9702c27e3a3f70c6e Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4b6308416e3e710448a636a9702c27e3a3f70c6e commit 4b6308416e3e710448a636a9702c27e3a3f70c6e Author: Andrew Turner AuthorDate: 2025-05-12 11:06:17 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:06:17 +0000 arm64: Allow building the MSR ISS from raw values This will be used in improved MSR/MRS instruction handling from userspace. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50206 --- sys/arm64/include/armreg.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index a72e1ea99793..0e89ad57440f 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -604,12 +604,14 @@ #define ISS_MSR_REG_MASK \ (ISS_MSR_OP0_MASK | ISS_MSR_OP2_MASK | ISS_MSR_OP1_MASK | \ ISS_MSR_CRn_MASK | ISS_MSR_CRm_MASK) +#define __ISS_MSR_REG(op0, op1, crn, crm, op2) \ + (((op0) << ISS_MSR_OP0_SHIFT) | \ + ((op1) << ISS_MSR_OP1_SHIFT) | \ + ((crn) << ISS_MSR_CRn_SHIFT) | \ + ((crm) << ISS_MSR_CRm_SHIFT) | \ + ((op2) << ISS_MSR_OP2_SHIFT)) #define ISS_MSR_REG(reg) \ - (((reg ## _op0) << ISS_MSR_OP0_SHIFT) | \ - ((reg ## _op1) << ISS_MSR_OP1_SHIFT) | \ - ((reg ## _CRn) << ISS_MSR_CRn_SHIFT) | \ - ((reg ## _CRm) << ISS_MSR_CRm_SHIFT) | \ - ((reg ## _op2) << ISS_MSR_OP2_SHIFT)) + __ISS_MSR_REG(reg##_op0, reg##_op1, reg##_CRn, reg##_CRm, reg##_op2) #define ISS_DATA_ISV_SHIFT 24 #define ISS_DATA_ISV (0x01 << ISS_DATA_ISV_SHIFT) From nobody Mon May 12 12:50:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwzwb66sYz5w0ks; Mon, 12 May 2025 12:50: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 4Zwzwb3n22z3rFp; Mon, 12 May 2025 12:50:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmKZD624l8jCdxxK0+0wE6k1vlwot6CNVDbgldemuY4=; b=H7W7nLxvxUFX2CBVO2GLkeK8OT5CrG4kf2QWfpgFdK6cDTQGPH6ShZJqIAa47XC/bL7WA4 gFkKVz7tccec6LTtpuIUT4QJcHUpUovt7cla3IXkbCWaG1LLNaQwcDddfonRdonPqT8GmB L05IrFZgWt5qibypRqc2eeU2z2r1SJFh78vzV3n3LDHAr+aHH/sam534PS4uRquSDhKjkh X2ePIwjab6JutX3AwL+fP3hI8MlrfsW+2NA/NHCSvMXw8vuNr9KwN0rYT8aoYIQpnnJpPW 9SKmixmlzO7iqEmk4YjhWIqZDeUSJ1e0g4ELS+DHDdv1gy4RVoXn8pb9onKwRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmKZD624l8jCdxxK0+0wE6k1vlwot6CNVDbgldemuY4=; b=dw+H3jZIj6NM2rHZ5Wcx65m6gmqAeFrG1kconchG5oakFz+dK+6wl6CI/uDnCWQ99MiDk3 UVlPHPopShYFKB5ni6pbUF8atO3yzOIP8UcyTbhCqLKZ78vk+VBUL7ReiIvC165p0R3Coi ygDcC0UurFCMbudLx/vh/PjDVnnalIG0N5pguNy+rq0kKq0kAu4BD9ELE8BGqFyJp+9TEU r8pqdan0Hj/gtOZrEMuVtFqO8T7DsoLIO+BUeNlUYr9qaZR7eDauyE3AcxuxWys1azsOsh L9P1U2Sc22H7CQu269tIx5Ny1yqVseL2NaCoJB47NwUmu70CgoWPbp2gvqsjeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054223; a=rsa-sha256; cv=none; b=bjbl6ierYFIaCdB8IsCzNxkofwVe+LEOnL6KUVAQihbAoIYrtanTSBo1mKbu0W8SAjGSBx iRa4zLvkKw3PdoTQeLOCzzn4QjZ59hVg/yo9ybwxv2Z7zgk0BCe+JaBrba4md73wNk6ruc u15ijBHO82NChd9d1wV0wkiUpiQpSPew1S+mmHjvMFJRMQV4ber5C5pGqfyIw7nU1PzpPR S+oWxpj20LrWTYstYtXCijl70H7obvIzx1JUhhIAv89RU721ySNUPZCaQXYb8cTyR3fzNK 4TLwRXJh7TTEAtHj7Gy1qEY8jFmlAtSJnFe1kztn3aRehJ10ZmEoQvCpR4Pc5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwzwb3C6Cz1Fyv; Mon, 12 May 2025 12:50: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 54CCoN0D082932; Mon, 12 May 2025 12:50:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoNYU082928; Mon, 12 May 2025 12:50:23 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:23 GMT Message-Id: <202505121250.54CCoNYU082928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 71ca0252dc6d - main - arm64: Split out the 32-bit undef handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71ca0252dc6d75b1f945b32a53ae5cbdb405ce24 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=71ca0252dc6d75b1f945b32a53ae5cbdb405ce24 commit 71ca0252dc6d75b1f945b32a53ae5cbdb405ce24 Author: Andrew Turner AuthorDate: 2025-05-12 11:06:37 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:06:37 +0000 arm64: Split out the 32-bit undef handling Rather than checking in the handler if we are in a 32 or 64 bit process have two lists to iterate over. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50207 --- sys/arm64/arm64/undefined.c | 40 ++++++++++++++++++++++++++++++++++------ sys/arm64/include/undefined.h | 3 +++ 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index 71c9b689aa78..74b9de49a7ef 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -88,6 +88,10 @@ struct undef_handler { */ LIST_HEAD(, undef_handler) undef_handlers = LIST_HEAD_INITIALIZER(undef_handlers); +#ifdef COMPAT_FREEBSD32 +LIST_HEAD(, undef_handler) undef32_handlers = + LIST_HEAD_INITIALIZER(undef32_handlers); +#endif static bool arm_cond_match(uint32_t insn, struct trapframe *frame) @@ -150,8 +154,7 @@ gdb_trapper(vm_offset_t va, uint32_t insn, struct trapframe *frame, struct thread *td = curthread; if (insn == GDB_BREAKPOINT || insn == GDB5_BREAKPOINT) { - if (SV_PROC_FLAG(td->td_proc, SV_ILP32) && - va < VM_MAXUSER_ADDRESS) { + if (va < VM_MAXUSER_ADDRESS) { ksiginfo_t ksi; ksiginfo_init_trap(&ksi); @@ -183,8 +186,7 @@ swp_emulate(vm_offset_t va, uint32_t insn, struct trapframe *frame, * swp, swpb only; there are no Thumb swp/swpb instructions so we can * safely bail out if we're in Thumb mode. */ - if (!compat32_emul_swp || !SV_PROC_FLAG(td->td_proc, SV_ILP32) || - (frame->tf_spsr & PSR_T) != 0) + if (!compat32_emul_swp || (frame->tf_spsr & PSR_T) != 0) return (0); else if ((insn & 0x0fb00ff0) != 0x01000090) return (0); @@ -250,8 +252,8 @@ void undef_init(void) { #ifdef COMPAT_FREEBSD32 - install_undef_handler(gdb_trapper); - install_undef_handler(swp_emulate); + install_undef32_handler(gdb_trapper); + install_undef32_handler(swp_emulate); #endif } @@ -267,6 +269,20 @@ install_undef_handler(undef_handler_t func) return (uh); } +#ifdef COMPAT_FREEBSD32 +void * +install_undef32_handler(undef_handler_t func) +{ + struct undef_handler *uh; + + uh = malloc(sizeof(*uh), M_UNDEF, M_WAITOK); + uh->uh_handler = func; + LIST_INSERT_HEAD(&undef32_handlers, uh, uh_link); + + return (uh); +} +#endif + void remove_undef_handler(void *handle) { @@ -289,6 +305,18 @@ undef_insn(struct trapframe *frame) if (ret != 0) return (0); +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(curthread->td_proc, SV_ILP32)) { + LIST_FOREACH(uh, &undef32_handlers, uh_link) { + ret = uh->uh_handler(frame->tf_elr, insn, frame, + frame->tf_esr); + if (ret) + return (1); + } + return (0); + } +#endif + LIST_FOREACH(uh, &undef_handlers, uh_link) { ret = uh->uh_handler(frame->tf_elr, insn, frame, frame->tf_esr); if (ret) diff --git a/sys/arm64/include/undefined.h b/sys/arm64/include/undefined.h index 1370a648b17c..104d6e9a8e67 100644 --- a/sys/arm64/include/undefined.h +++ b/sys/arm64/include/undefined.h @@ -58,6 +58,9 @@ MRS_GET(Op2) void undef_init(void); void *install_undef_handler(undef_handler_t); +#ifdef COMPAT_FREEBSD32 +void *install_undef32_handler(undef_handler_t); +#endif void remove_undef_handler(void *); int undef_insn(struct trapframe *); From nobody Mon May 12 12:50:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwzwd0CmRz5w0mt; Mon, 12 May 2025 12:50:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zwzwc47g9z3rWq; Mon, 12 May 2025 12:50:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NW5FkqV/4OPSM/7mUgF1h90npO3UdYH5G+0JrDqhgs=; b=t8sxOW7KlQWxtmVn61JvKnXDu7QgETCsxA+rh5hgCgc8wIdEErpvSkdXa9AXfeIsRvwFwS 2Iay81YoywtiA+LWVeNskx+Ju7M7s+ARcY909on4q2R7JtD86fpua7pw3rb4AiJOP2AHwH GIjD75Hhq2IEWLjjeKcy/6YN4z+jc9pxOoX0McD7G+i6jdqgUFWxfQpoIm8yo3+Wi+Cfzy KAmm9qy0Ql14AFAb04qP49i1UDW7/b1FLOo+7X4AhN3iThC3V+lcg2wBvgZiSJWv2JmD1h GHolgKIJZR8OSTs2CRsCnZY6dTUi910wyRd0knj9Hr/SYmXxJ1j34K2O3JgNIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NW5FkqV/4OPSM/7mUgF1h90npO3UdYH5G+0JrDqhgs=; b=B2TZGn4xh2NpLVTImBcRvfzBe6ZfhjeWueMKH8YhquzEGpPf1L3ugUIYcfAUlGLSvGqcGZ 94M4iUGBIPdJWFWtdh9eTGGKdRs5EKytVCXod5q3thfZ8jI4/epVp6ipxgsx8dJ5Ho1SKO /AOpCH9O7woL6q7tHRolD0jtHG3qQCkWt8UGBw4NJisd7bygpsqCXI0VonWibkQq5mCwS7 rdEE1YWSQVc2yFUEcbrK7at+adWCLl2b7dIpxgGKo36vTtjfYDdWAazu66VNY5+aWPiY7j jxfnZALR0WlAGv6OH8JwE40LLDsp49+Q7eNAMv61+w44E4AHl/DhCVKBFn5AUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054224; a=rsa-sha256; cv=none; b=C6QN9ReSZjJcbxkO1f5bBCGe8v6Fjwzb+o1ErDSkUIprAdnopx/SJu69OOyAO9gfgAQugW d8lnkAh8WlZFj9OkB5/jI4y9ygENU8IR6zPybQmVpZSpBro+Ni8Rf2m202K+PqjcSLHyDH d7BScosN0PS2jthtjEYErVQtAKmzUp97TH6gjwphcfVmtyhW3frnR7F4ieT8MUg14vMYsh CpVd2GrglC7ZsT2EWQdhWcwub5Ay7IoZlXoBkexSD1IvyUTD81ISPqosvoZ2It8lTtgAQb NEj+KPTbYcJOC5uBfsdWgHYpQSs/hv48ZQyVm9NdjSx+nRS2an2qMzavEZ40qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwzwc3lPsz1Gdc; Mon, 12 May 2025 12:50:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoO9B082967; Mon, 12 May 2025 12:50:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoOn2082964; Mon, 12 May 2025 12:50:24 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:24 GMT Message-Id: <202505121250.54CCoOn2082964@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 5673ea5ca9ec - main - arm64: Start splitting out undef sys insn handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5673ea5ca9ec54bc53035d07fbe2ebb1be63a313 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5673ea5ca9ec54bc53035d07fbe2ebb1be63a313 commit 5673ea5ca9ec54bc53035d07fbe2ebb1be63a313 Author: Andrew Turner AuthorDate: 2025-05-12 11:06:45 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:06:45 +0000 arm64: Start splitting out undef sys insn handling We shouldn't need to decode the instruction when handling an unknown SYS, MSR, or MRS instruction that raises an EXCP_MSR exception. The exception syndrome (esr) contains all the information we need and is safer to use than reading the instruction. Add a new set of callbacks for these instructions that we can pass in either the esr from hardware, or a generated version when we have to fall back to instruction decoding. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50208 --- sys/arm64/arm64/undefined.c | 76 +++++++++++++++++++++++++++++++++++++++++++ sys/arm64/include/armreg.h | 2 ++ sys/arm64/include/undefined.h | 3 ++ 3 files changed, 81 insertions(+) diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index 74b9de49a7ef..a88d47c182cf 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -82,10 +82,17 @@ struct undef_handler { undef_handler_t uh_handler; }; +/* System instruction handlers, e.g. msr, mrs, sys */ +struct sys_handler { + LIST_ENTRY(sys_handler) sys_link; + undef_sys_handler_t sys_handler; +}; + /* * Create the undefined instruction handler lists. * This allows us to handle instructions that will trap. */ +LIST_HEAD(, sys_handler) sys_handlers = LIST_HEAD_INITIALIZER(sys_handler); LIST_HEAD(, undef_handler) undef_handlers = LIST_HEAD_INITIALIZER(undef_handlers); #ifdef COMPAT_FREEBSD32 @@ -293,6 +300,72 @@ remove_undef_handler(void *handle) free(handle, M_UNDEF); } +void +install_sys_handler(undef_sys_handler_t func) +{ + struct sys_handler *sysh; + + sysh = malloc(sizeof(*sysh), M_UNDEF, M_WAITOK); + sysh->sys_handler = func; + LIST_INSERT_HEAD(&sys_handlers, sysh, sys_link); +} + +bool +undef_sys(uint64_t esr, struct trapframe *frame) +{ + struct sys_handler *sysh; + + LIST_FOREACH(sysh, &sys_handlers, sys_link) { + if (sysh->sys_handler(esr, frame)) + return (true); + } + + return (false); +} + +static bool +undef_sys_insn(struct trapframe *frame, uint32_t insn) +{ + uint64_t esr; + int op0; + bool read; + + read = false; + switch (insn & MRS_MASK) { + case MRS_VALUE: + read = true; + /* FALLTHROUGH */ + case MSR_REG_VALUE: + op0 = mrs_Op0(insn); + break; + case MSR_IMM_VALUE: + /* + * MSR (immediate) needs special handling. The + * source register is always 31 (xzr), CRn is 4, + * and op0 is hard coded as 0. + */ + if (MRS_REGISTER(insn) != 31) + return (false); + if (mrs_CRn(insn) != 4) + return (false); + op0 = 0; + break; + default: + return (false); + } + + /* Create a fake EXCP_MSR esr value */ + esr = EXCP_MSR << ESR_ELx_EC_SHIFT; + esr |= ESR_ELx_IL; + esr |= __ISS_MSR_REG(op0, mrs_Op1(insn), mrs_CRn(insn), mrs_CRm(insn), + mrs_Op2(insn)); + esr |= MRS_REGISTER(insn) << ISS_MSR_Rt_SHIFT; + if (read) + esr |= ISS_MSR_DIR; + + return (undef_sys(esr, frame)); +} + int undef_insn(struct trapframe *frame) { @@ -317,6 +390,9 @@ undef_insn(struct trapframe *frame) } #endif + if (undef_sys_insn(frame, insn)) + return (1); + LIST_FOREACH(uh, &undef_handlers, uh_link) { ret = uh->uh_handler(frame->tf_elr, insn, frame, frame->tf_esr); if (ret) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 0e89ad57440f..aff33055a51d 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -38,6 +38,8 @@ #define MRS_MASK 0xfff00000 #define MRS_VALUE 0xd5300000 +#define MSR_REG_VALUE 0xd5100000 +#define MSR_IMM_VALUE 0xd5000000 #define MRS_SPECIAL(insn) ((insn) & 0x000fffe0) #define MRS_REGISTER(insn) ((insn) & 0x0000001f) #define MRS_Op0_SHIFT 19 diff --git a/sys/arm64/include/undefined.h b/sys/arm64/include/undefined.h index 104d6e9a8e67..c23b020e960f 100644 --- a/sys/arm64/include/undefined.h +++ b/sys/arm64/include/undefined.h @@ -35,6 +35,7 @@ typedef int (*undef_handler_t)(vm_offset_t, uint32_t, struct trapframe *, uint32_t); +typedef bool (*undef_sys_handler_t)(uint64_t, struct trapframe *); static inline int mrs_Op0(uint32_t insn) @@ -57,11 +58,13 @@ MRS_GET(CRm) MRS_GET(Op2) void undef_init(void); +void install_sys_handler(undef_sys_handler_t); void *install_undef_handler(undef_handler_t); #ifdef COMPAT_FREEBSD32 void *install_undef32_handler(undef_handler_t); #endif void remove_undef_handler(void *); +bool undef_sys(uint64_t, struct trapframe *); int undef_insn(struct trapframe *); #endif /* _KERNEL */ From nobody Mon May 12 12:50:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwzwf0jTHz5w0f2; Mon, 12 May 2025 12:50:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zwzwd57MFz3rLy; Mon, 12 May 2025 12:50:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KDNF1l/x1seQzfZ9Jrct/00E8zc0aA/ECIOzC+PBGf4=; b=xKgpgqALi/FDJK/cXRohnIq43MDfFdNp5VSQsQ7sblNWG6R2i5NX/e4GMQb/8V4M5dVEke sGYZ2xalI1wY4Du1T7woMoVnTo+pZC530W0ksbwnl6Jfvy6pdVnUC8DsuV7ra40WFQlPnq C6LwJVk+ntJAFPA+jFAAE2d22VuywfjcRESiS1d12dwmufSY6botV2rOWuw5wae6ylzP1w qeEfEyGhwPo/pq+L//FYVn69jxaogagDRmHWPfKk+4obaLtvintBKBMJcdvH/IWXVlwYPL nHC01R4KtH/BaKqbsVe4h2bt/0KlvRTjUdMoQUmmOTOnMs8tvz3GjzxlEigijw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KDNF1l/x1seQzfZ9Jrct/00E8zc0aA/ECIOzC+PBGf4=; b=DoVCerM/nlWALQkrpu0n4D1+B29Os9VqMhCT9epEUD5Rcrc2JzMM8IxIMyiNW0giUHyKyW x3852qeNumUt/bIl0/LJMyEuZTywBtmOy5Ek+KRXvfNw4qG8lDERv+g7mTOtiwkxSuAge/ mbs1s+F1OV4FWItLwo/P6eAeLGQIYzSI7LX5i2CFlKVq4i+oKaJ54MboEEHxgTiMZf7hQ3 buI3CpnxoDXL6G1+s9kj30cEikyWjlxpAxLK/Ghf0Wii4S5x+vJ+VURVsWGPb2RVFCeLDm FmwiDVtaDLlOSNhJ/pJdsjAbSIYtnsbiBw4441WWC9FQfW/4ODXDRur+sXJrPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054225; a=rsa-sha256; cv=none; b=lHFPUPePFu+19PpZFDBeKbVQRiGyE0gb53vRdSUu+NwO15PCw0Jybf623yxUzNvYsTlh9L bc0zJN6EuwiY+MVT+MUxmZobC8NE3xIShOj7nyk7BM4MtayGqxlA+jJ9eU8Eg+iGd6dOBv jaF4SSmEPX2l9Wa6KT9TtYIqx2F5pgP8FczwQc7mlo3NkxWQ9xt1yQ3COE8DvddEwKAKod 3aEleKuDw04y78RFCvU68cGcib0Ja6aUTsTU1KilY0Ft2zZ/SvsvoSezOEk2cqI/iMIFAa PaIh4vyFHtsWgsntSnBJrwPPksduIj9vpzQ0KsCpFe30+2ZNVgWGy5LxHML1hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwzwd4l2xz1Gdd; Mon, 12 May 2025 12:50:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoP4q083000; Mon, 12 May 2025 12:50:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoPJ0082997; Mon, 12 May 2025 12:50:25 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:25 GMT Message-Id: <202505121250.54CCoPJ0082997@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 0b521e322c32 - main - arm: Switch the timer to the new sys handler List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b521e322c32a16e1ae91d88d9e5ea32775af110 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0b521e322c32a16e1ae91d88d9e5ea32775af110 commit 0b521e322c32a16e1ae91d88d9e5ea32775af110 Author: Andrew Turner AuthorDate: 2025-05-12 11:06:53 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:06:53 +0000 arm: Switch the timer to the new sys handler Use the new sys handling to implement the trapped cntpct_el0 support. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50209 --- sys/arm/arm/generic_timer.c | 22 ++++++++++++---------- sys/arm64/include/armreg.h | 1 + 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index a82f8756b806..a8c779dcba6d 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -289,20 +289,22 @@ setup_user_access(void *arg __unused) } #ifdef __aarch64__ -static int -cntpct_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, - uint32_t esr) +static bool +cntpct_handler(uint64_t esr, struct trapframe *frame) { uint64_t val; int reg; - if ((insn & MRS_MASK) != MRS_VALUE) - return (0); + if (ESR_ELx_EXCEPTION(esr) != EXCP_MSR) + return (false); - if (MRS_SPECIAL(insn) != MRS_SPECIAL(CNTPCT_EL0)) - return (0); + if ((esr & ISS_MSR_DIR) == 0) + return (false); + + if ((esr & ISS_MSR_REG_MASK) != CNTPCT_EL0_ISS) + return (false); - reg = MRS_REGISTER(insn); + reg = ISS_MSR_Rt(esr); val = READ_SPECIALREG(cntvct_el0); if (reg < nitems(frame->tf_x)) { frame->tf_x[reg] = val; @@ -316,7 +318,7 @@ cntpct_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, */ frame->tf_elr += INSN_SIZE; - return (1); + return (true); } #endif @@ -332,7 +334,7 @@ tmr_setup_user_access(void *arg __unused) #ifdef __aarch64__ if (TUNABLE_INT_FETCH("hw.emulate_phys_counter", &emulate) && emulate != 0) { - install_undef_handler(cntpct_handler); + install_sys_handler(cntpct_handler); } #endif } diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index aff33055a51d..8691e4b89649 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -278,6 +278,7 @@ /* CNTPCT_EL0 - Counter-timer Physical Count register */ #define CNTPCT_EL0 MRS_REG(CNTPCT_EL0) +#define CNTPCT_EL0_ISS ISS_MSR_REG(CNTPCT_EL0) #define CNTPCT_EL0_op0 3 #define CNTPCT_EL0_op1 3 #define CNTPCT_EL0_CRn 14 From nobody Mon May 12 12:50:26 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwzwg37qVz5w0Sw; Mon, 12 May 2025 12:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zwzwf61pmz3rGL; Mon, 12 May 2025 12:50:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FrSajnEU5PcaZK67XCcx3bv1w/rUEg0wnSYvpFtyW7E=; b=aS7HibxSw4V0asPlU96eJ71FaZCORtW+Mt29frf8TUyKNsTpIHV0rzXOeZmMroDqWT1lhH +y8oc/olSdjPfiO4DwL9conPZD6rjdpox0HwdRQOSMPWX4zdKdjn1J4a4JzmWQnuDKmk2V yB2+Pfp4c2vZe8FnkiDzC9N7ms9Cmw07s+dILvVpGi6CIsXxYMrQ888xaiaUtydaPFwwfr HoTo1OYjqLsUB0vQkqctqNswCy1F+pMg4K8lAzJafV4wqBlRM5V28/dCWxi8vDDGJLlZzk GHol/Pau6j3717y67/aa0z04BVOIZxPunGSOeP34U9vgKvD1oleq7tMJtg8hEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FrSajnEU5PcaZK67XCcx3bv1w/rUEg0wnSYvpFtyW7E=; b=IvB29nsZZOCPu2QFFDNFZoukPYvhIv/pSYFTX5r3H3owyh+s9ZNd1C4nF42hCWYot2bB42 D3+Mbn9e52Jhuoc1+XM/6tdFcysAHCCBaZ8JSoKlEEn0zy0l16BJLNsGAu1Fmx9Mln+uTI P2/aPrYc7XcqVw/EbrXezzsYgwyALSb0NQ/5m+8vJVMgLXQXHzD1aNdgyrGXkWXISaGzDg PDhuVHy9Vzbv8NYCNFAOF7KjfH9JSMAdqwgjOUbn3czSnBSKoMDQLlmaGDMrqm3lC2Us7Q yMuYUgKL4LAHT65TSWj50Hgvcz7rJXCdtB3ZeJQvwVLWVIu71iBEMLSgwuPPTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054226; a=rsa-sha256; cv=none; b=W/c6Uk5t/reZoATa9km4V19jZ5lY3pp4Vk9yIVQDufK5DJL+wnvx0WoT7GICmTFhWkwaFV YAHyM51EZyETysTftdht3jZxkITMkLnXeXpXzL4ALlI+7V/BkPj3r1s1fdHSUpmePaqtsx qlL06jafuoIAokOzlm7XgFKlrxM2kiAL4gh1tpi5gvI64wM0+l6wCRkYO/aRlyK4XwwuHV 6DLA8W4mblxkXncbjq/LILAv0aZNLMP8VDldHKL1lKNN3BTSO7KxfV1ObTAYwy90SPipRR idzZPRiGn0pTu7dOLPFsDUFWlrFmZFoRkcdcIuiO9x/UCiL4sg8Ee1PLlYdJtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwzwf5Tj7z1G4J; Mon, 12 May 2025 12:50:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoQeU083035; Mon, 12 May 2025 12:50:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoQtV083032; Mon, 12 May 2025 12:50:26 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:26 GMT Message-Id: <202505121250.54CCoQtV083032@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: e4619b088dd0 - main - arm64: Add the ESR ISS value to struct mrs_user_reg List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e4619b088dd0853a3cf0841235d9576179b94d5b Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e4619b088dd0853a3cf0841235d9576179b94d5b commit e4619b088dd0853a3cf0841235d9576179b94d5b Author: Andrew Turner AuthorDate: 2025-05-12 11:07:03 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:07:03 +0000 arm64: Add the ESR ISS value to struct mrs_user_reg This will be used to compare against the ISS value from MSR/MRS exceptions. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50210 --- sys/arm64/arm64/identcpu.c | 2 ++ sys/arm64/include/armreg.h | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 663c1a335114..c4eaaaafc279 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2193,6 +2193,7 @@ static const struct mrs_field mvfr1_fields[] = { struct mrs_user_reg { u_int reg; + u_int iss; u_int CRm; u_int Op2; bool is64bit; @@ -2203,6 +2204,7 @@ struct mrs_user_reg { #define USER_REG(name, field_name, _is64bit) \ { \ .reg = name, \ + .iss = name##_ISS, \ .CRm = name##_CRm, \ .Op2 = name##_op2, \ .offset = __offsetof(struct cpu_desc, field_name), \ diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 8691e4b89649..a7950092048d 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -368,6 +368,7 @@ /* CTR_EL0 - Cache Type Register */ #define CTR_EL0 MRS_REG(CTR_EL0) #define CTR_EL0_REG MRS_REG_ALT_NAME(CTR_EL0) +#define CTR_EL0_ISS ISS_MSR_REG(CTR_EL0) #define CTR_EL0_op0 3 #define CTR_EL0_op1 3 #define CTR_EL0_CRn 0 @@ -768,6 +769,7 @@ /* ID_AA64AFR0_EL1 */ #define ID_AA64AFR0_EL1 MRS_REG(ID_AA64AFR0_EL1) #define ID_AA64AFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64AFR0_EL1) +#define ID_AA64AFR0_EL1_ISS ISS_MSR_REG(ID_AA64AFR0_EL1) #define ID_AA64AFR0_EL1_op0 3 #define ID_AA64AFR0_EL1_op1 0 #define ID_AA64AFR0_EL1_CRn 0 @@ -777,6 +779,7 @@ /* ID_AA64AFR1_EL1 */ #define ID_AA64AFR1_EL1 MRS_REG(ID_AA64AFR1_EL1) #define ID_AA64AFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64AFR1_EL1) +#define ID_AA64AFR1_EL1_ISS ISS_MSR_REG(ID_AA64AFR1_EL1) #define ID_AA64AFR1_EL1_op0 3 #define ID_AA64AFR1_EL1_op1 0 #define ID_AA64AFR1_EL1_CRn 0 @@ -786,6 +789,7 @@ /* ID_AA64DFR0_EL1 */ #define ID_AA64DFR0_EL1 MRS_REG(ID_AA64DFR0_EL1) #define ID_AA64DFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64DFR0_EL1) +#define ID_AA64DFR0_EL1_ISS ISS_MSR_REG(ID_AA64DFR0_EL1) #define ID_AA64DFR0_EL1_op0 3 #define ID_AA64DFR0_EL1_op1 0 #define ID_AA64DFR0_EL1_CRn 0 @@ -893,6 +897,7 @@ /* ID_AA64DFR1_EL1 */ #define ID_AA64DFR1_EL1 MRS_REG(ID_AA64DFR1_EL1) #define ID_AA64DFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64DFR1_EL1) +#define ID_AA64DFR1_EL1_ISS ISS_MSR_REG(ID_AA64DFR1_EL1) #define ID_AA64DFR1_EL1_op0 3 #define ID_AA64DFR1_EL1_op1 0 #define ID_AA64DFR1_EL1_CRn 0 @@ -920,6 +925,7 @@ /* ID_AA64ISAR0_EL1 */ #define ID_AA64ISAR0_EL1 MRS_REG(ID_AA64ISAR0_EL1) #define ID_AA64ISAR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64ISAR0_EL1) +#define ID_AA64ISAR0_EL1_ISS ISS_MSR_REG(ID_AA64ISAR0_EL1) #define ID_AA64ISAR0_EL1_op0 3 #define ID_AA64ISAR0_EL1_op1 0 #define ID_AA64ISAR0_EL1_CRn 0 @@ -1022,6 +1028,7 @@ /* ID_AA64ISAR1_EL1 */ #define ID_AA64ISAR1_EL1 MRS_REG(ID_AA64ISAR1_EL1) #define ID_AA64ISAR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64ISAR1_EL1) +#define ID_AA64ISAR1_EL1_ISS ISS_MSR_REG(ID_AA64ISAR1_EL1) #define ID_AA64ISAR1_EL1_op0 3 #define ID_AA64ISAR1_EL1_op1 0 #define ID_AA64ISAR1_EL1_CRn 0 @@ -1141,6 +1148,7 @@ /* ID_AA64ISAR2_EL1 */ #define ID_AA64ISAR2_EL1 MRS_REG(ID_AA64ISAR2_EL1) #define ID_AA64ISAR2_EL1_REG MRS_REG_ALT_NAME(ID_AA64ISAR2_EL1) +#define ID_AA64ISAR2_EL1_ISS ISS_MSR_REG(ID_AA64ISAR2_EL1) #define ID_AA64ISAR2_EL1_op0 3 #define ID_AA64ISAR2_EL1_op1 0 #define ID_AA64ISAR2_EL1_CRn 0 @@ -1226,6 +1234,7 @@ /* ID_AA64MMFR0_EL1 */ #define ID_AA64MMFR0_EL1 MRS_REG(ID_AA64MMFR0_EL1) #define ID_AA64MMFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR0_EL1) +#define ID_AA64MMFR0_EL1_ISS ISS_MSR_REG(ID_AA64MMFR0_EL1) #define ID_AA64MMFR0_EL1_op0 3 #define ID_AA64MMFR0_EL1_op1 0 #define ID_AA64MMFR0_EL1_CRn 0 @@ -1333,6 +1342,7 @@ /* ID_AA64MMFR1_EL1 */ #define ID_AA64MMFR1_EL1 MRS_REG(ID_AA64MMFR1_EL1) #define ID_AA64MMFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR1_EL1) +#define ID_AA64MMFR1_EL1_ISS ISS_MSR_REG(ID_AA64MMFR1_EL1) #define ID_AA64MMFR1_EL1_op0 3 #define ID_AA64MMFR1_EL1_op1 0 #define ID_AA64MMFR1_EL1_CRn 0 @@ -1443,6 +1453,7 @@ /* ID_AA64MMFR2_EL1 */ #define ID_AA64MMFR2_EL1 MRS_REG(ID_AA64MMFR2_EL1) #define ID_AA64MMFR2_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR2_EL1) +#define ID_AA64MMFR2_EL1_ISS ISS_MSR_REG(ID_AA64MMFR2_EL1) #define ID_AA64MMFR2_EL1_op0 3 #define ID_AA64MMFR2_EL1_op1 0 #define ID_AA64MMFR2_EL1_CRn 0 @@ -1545,6 +1556,7 @@ /* ID_AA64MMFR3_EL1 */ #define ID_AA64MMFR3_EL1 MRS_REG(ID_AA64MMFR3_EL1) #define ID_AA64MMFR3_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR3_EL1) +#define ID_AA64MMFR3_EL1_ISS ISS_MSR_REG(ID_AA64MMFR3_EL1) #define ID_AA64MMFR3_EL1_op0 3 #define ID_AA64MMFR3_EL1_op1 0 #define ID_AA64MMFR3_EL1_CRn 0 @@ -1632,6 +1644,7 @@ /* ID_AA64MMFR4_EL1 */ #define ID_AA64MMFR4_EL1 MRS_REG(ID_AA64MMFR4_EL1) #define ID_AA64MMFR4_EL1_REG MRS_REG_ALT_NAME(ID_AA64MMFR4_EL1) +#define ID_AA64MMFR4_EL1_ISS ISS_MSR_REG(ID_AA64MMFR4_EL1) #define ID_AA64MMFR4_EL1_op0 3 #define ID_AA64MMFR4_EL1_op1 0 #define ID_AA64MMFR4_EL1_CRn 0 @@ -1641,6 +1654,7 @@ /* ID_AA64PFR0_EL1 */ #define ID_AA64PFR0_EL1 MRS_REG(ID_AA64PFR0_EL1) #define ID_AA64PFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64PFR0_EL1) +#define ID_AA64PFR0_EL1_ISS ISS_MSR_REG(ID_AA64PFR0_EL1) #define ID_AA64PFR0_EL1_op0 3 #define ID_AA64PFR0_EL1_op1 0 #define ID_AA64PFR0_EL1_CRn 0 @@ -1757,6 +1771,7 @@ /* ID_AA64PFR1_EL1 */ #define ID_AA64PFR1_EL1 MRS_REG(ID_AA64PFR1_EL1) #define ID_AA64PFR1_EL1_REG MRS_REG_ALT_NAME(ID_AA64PFR1_EL1) +#define ID_AA64PFR1_EL1_ISS ISS_MSR_REG(ID_AA64PFR1_EL1) #define ID_AA64PFR1_EL1_op0 3 #define ID_AA64PFR1_EL1_op1 0 #define ID_AA64PFR1_EL1_CRn 0 @@ -1855,6 +1870,7 @@ /* ID_AA64PFR2_EL1 */ #define ID_AA64PFR2_EL1 MRS_REG(ID_AA64PFR2_EL1) #define ID_AA64PFR2_EL1_REG MRS_REG_ALT_NAME(ID_AA64PFR2_EL1) +#define ID_AA64PFR2_EL1_ISS ISS_MSR_REG(ID_AA64PFR2_EL1) #define ID_AA64PFR2_EL1_op0 3 #define ID_AA64PFR2_EL1_op1 0 #define ID_AA64PFR2_EL1_CRn 0 @@ -1864,6 +1880,7 @@ /* ID_AA64ZFR0_EL1 */ #define ID_AA64ZFR0_EL1 MRS_REG(ID_AA64ZFR0_EL1) #define ID_AA64ZFR0_EL1_REG MRS_REG_ALT_NAME(ID_AA64ZFR0_EL1) +#define ID_AA64ZFR0_EL1_ISS ISS_MSR_REG(ID_AA64ZFR0_EL1) #define ID_AA64ZFR0_EL1_op0 3 #define ID_AA64ZFR0_EL1_op1 0 #define ID_AA64ZFR0_EL1_CRn 0 @@ -1929,6 +1946,7 @@ /* ID_ISAR5_EL1 */ #define ID_ISAR5_EL1 MRS_REG(ID_ISAR5_EL1) +#define ID_ISAR5_EL1_ISS ISS_MSR_REG(ID_ISAR5_EL1) #define ID_ISAR5_EL1_op0 0x3 #define ID_ISAR5_EL1_op1 0x0 #define ID_ISAR5_EL1_CRn 0x0 @@ -2065,6 +2083,7 @@ /* MVFR0_EL1 */ #define MVFR0_EL1 MRS_REG(MVFR0_EL1) +#define MVFR0_EL1_ISS ISS_MSR_REG(MVFR0_EL1) #define MVFR0_EL1_op0 0x3 #define MVFR0_EL1_op1 0x0 #define MVFR0_EL1_CRn 0x0 @@ -2124,6 +2143,7 @@ /* MVFR1_EL1 */ #define MVFR1_EL1 MRS_REG(MVFR1_EL1) +#define MVFR1_EL1_ISS ISS_MSR_REG(MVFR1_EL1) #define MVFR1_EL1_op0 0x3 #define MVFR1_EL1_op1 0x0 #define MVFR1_EL1_CRn 0x0 From nobody Mon May 12 12:50:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwzwh5cZvz5w0n1; Mon, 12 May 2025 12:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zwzwh1zfWz3rKB; Mon, 12 May 2025 12:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0+gNM2OHZMIM3PWitbBNjAgNQjud2jXv/D18keJiQY=; b=tQMd2sG7T9JcgXE1aJqOFm1jA1ACitUen2aWTRtjjGLMzPQjopooJF4KROvZOr1dXwPwHH I6iZxwZ4DNSkhRChBmUXe6IqfbGrCo7PT37FnWd1F5wFIsRAo07njK94R5YkDpXYbViJEf vDnjwsSbqMSpdKV+6UiZu9xZU9zFOZbD+8CBrSVM2XwilCNBCDIuqZkyy6B5x8UeFU8JgX j1Piu2JxMowOkdNtCGtuDINqo1GnrmBehzvE/E6D0p/WBlTjcb0AVVj3WUk8HiBzpf8AMW emh/uEEhKT3kqjrSPOSanw9+VtNFMLd5Et29C88Nza44XZU53m3qZL8JfJIpUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M0+gNM2OHZMIM3PWitbBNjAgNQjud2jXv/D18keJiQY=; b=wsndGD41aJdot0dEMg36ezCL0KEPYVUp/E0yEwiEWsV2jgTojVsO0G5j/QX4Our8nAdM7U /oL8PqhMY/FF9K0Q6rxw8pyKaeeDgv4azBDMzTat9Y29+Yd2kolFpx0KEoi7iY1Gi0PZ2R CGrPC1bH9Q0uWk6ZlREINiKGY1x+OBUG2rGkLbtz2s2gwHFKtAZ/z5bcUwhTJrdY4S4Zve fp8z88rPZMqamKh/Cafg51cBXtjSAN29Xs2ugF2sBLHdJWCCBjBaWmyBPcyJ/w6VBHvvbI iNw4vMTiSQNkrIMrwylESr78qo4mMKMqtW7CeO2DmG6z3eMJzLH9ca+Yev4oxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054228; a=rsa-sha256; cv=none; b=wlZIb1hIMwYgsN+11+JWl00UZp7hAlSTF36vnJSQ5QT49SaE4UOh9SgubetDgxzsPoaFwd 9lgzkhIEZsduDXmGXP/NE+1x4GVX6ZTwIkeq9y+0Vh09cCgn4ct1XZ3eNwwBv1Q6quYk31 Pbh4KFMKb4brekWqzkuaNSrPyFHm5b84MWHbI2XpTrGFvgfJXk92bAsWvgycIYTVYslXfN GnFowFZsDukfaXVc5/nvuJHKFND0ylCdTSARYLr/XkRk6g0F59FO9i0y1kr846zMKekweI tLK1XRo3/VmXXt5F4kcLsuSvgY4WyKt1oX/Z6NMttP80ZSTuF8+fHuj/LnhGwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwzwg6Wg4z1Fyw; Mon, 12 May 2025 12:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoRRo083068; Mon, 12 May 2025 12:50:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoR3r083065; Mon, 12 May 2025 12:50:27 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:27 GMT Message-Id: <202505121250.54CCoR3r083065@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 5bcd16cced3b - main - arm64: Use the new sys handler for ID regs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5bcd16cced3b57d16e5c0973641c31acba4e1f64 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5bcd16cced3b57d16e5c0973641c31acba4e1f64 commit 5bcd16cced3b57d16e5c0973641c31acba4e1f64 Author: Andrew Turner AuthorDate: 2025-05-12 11:07:09 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:07:09 +0000 arm64: Use the new sys handler for ID regs Switch to the new sys instruction handling for the ID registers. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50211 --- sys/arm64/arm64/identcpu.c | 75 ++++++++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index c4eaaaafc279..508ea0d472d3 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2384,48 +2384,49 @@ user_ctr_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, return (1); } -static int -user_mrs_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, - uint32_t esr) +static bool +user_idreg_handler(uint64_t esr, struct trapframe *frame) { uint64_t value; - int CRm, Op2, i, reg; + int reg; - if ((insn & MRS_MASK) != MRS_VALUE) - return (0); + if (ESR_ELx_EXCEPTION(esr) != EXCP_MSR) + return (false); + + /* Only support reading from ID registers */ + if ((esr & ISS_MSR_DIR) == 0) + return (false); /* - * We only emulate Op0 == 3, Op1 == 0, CRn == 0, CRm == {0, 4-7}. - * These are in the EL1 CPU identification space. - * CRm == 0 holds MIDR_EL1, MPIDR_EL1, and REVID_EL1. - * CRm == {4-7} holds the ID_AA64 registers. + * This only handles the ID register space and a few registers that + * are safe to pass through to userspace. * - * For full details see the ARMv8 ARM (ARM DDI 0487C.a) - * Table D9-2 System instruction encodings for non-Debug System - * register accesses. + * These registers are all in the space op0 == 3, op1 == 0, + * CRn == 0. We support the following CRm: + * - CRm == 0: midr_el1, mpidr_el1, and revidr_el1. + * - CRm in {4-7}: sanitized ID registers. + * + * Registers in the ID register space (CRm in {4-7}) are all + * read-only and have either defined fields, or are read as + * zero (RAZ). For these we return 0 for any unknown register. */ - if (mrs_Op0(insn) != 3 || mrs_Op1(insn) != 0 || mrs_CRn(insn) != 0) - return (0); - - CRm = mrs_CRm(insn); - if (CRm > 7 || (CRm < 4 && CRm != 0)) - return (0); + if (ISS_MSR_OP0(esr) != 3 || ISS_MSR_OP1(esr) != 0 || + ISS_MSR_CRn(esr) != 0) + return (false); - Op2 = mrs_Op2(insn); value = 0; - - for (i = 0; i < nitems(user_regs); i++) { - if (user_regs[i].CRm == CRm && user_regs[i].Op2 == Op2) { - if (SV_CURPROC_ABI() == SV_ABI_FREEBSD) - value = CPU_DESC_FIELD(user_cpu_desc, i); - else - value = CPU_DESC_FIELD(l_user_cpu_desc, i); - break; + if (ISS_MSR_CRm(esr) >= 4 && ISS_MSR_CRm(esr) <= 7) { + for (int i = 0; i < nitems(user_regs); i++) { + if (user_regs[i].iss == (esr & ISS_MSR_REG_MASK)) { + if (SV_CURPROC_ABI() == SV_ABI_FREEBSD) + value = CPU_DESC_FIELD(user_cpu_desc, i); + else + value = CPU_DESC_FIELD(l_user_cpu_desc, i); + break; + } } - } - - if (CRm == 0) { - switch (Op2) { + } else if (ISS_MSR_CRm(esr) == 0) { + switch (ISS_MSR_OP2(esr)) { case 0: value = READ_SPECIALREG(midr_el1); break; @@ -2436,8 +2437,10 @@ user_mrs_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, value = READ_SPECIALREG(revidr_el1); break; default: - return (0); + return (false); } + } else { + return (false); } /* @@ -2446,7 +2449,7 @@ user_mrs_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, */ frame->tf_elr += INSN_SIZE; - reg = MRS_REGISTER(insn); + reg = ISS_MSR_Rt(esr); /* If reg is 31 then write to xzr, i.e. do nothing */ if (reg == 31) return (1); @@ -2456,7 +2459,7 @@ user_mrs_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, else if (reg == 30) frame->tf_lr = value; - return (1); + return (true); } /* @@ -2795,7 +2798,7 @@ identify_cpu_sysinit(void *dummy __unused) #endif install_undef_handler(user_ctr_handler); - install_undef_handler(user_mrs_handler); + install_sys_handler(user_idreg_handler); } SYSINIT(identify_cpu, SI_SUB_CPU, SI_ORDER_MIDDLE, identify_cpu_sysinit, NULL); From nobody Mon May 12 12:50:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwzwj3gWdz5w0f5; Mon, 12 May 2025 12:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zwzwj0wCGz3rZn; Mon, 12 May 2025 12:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFtz0dgRj6qJe0GBuBYuTByrGouAjoyk94nC1bLVVo4=; b=xKlo8jCYQi8kqX3WEbgS9khoHwOAKAW/V8TGuot1TpS9fcyAotfPMduj5h7BDUyN3CrkKS Pxf4JcuWVeWRSX73/O+kH/SsaLTh3ZX9gSbfDPlgJS/EHMXnS3HnOn8rsk1pVblNfqgJqw HQl1wxZ9JLYNc5XI3X29QLmIV+UCdFGJaEmfdcgkkTEFCQ3bPhiPVO6KzPmsORDGfJoJVM Lp9KWc7uZiRX2pKbpVj4iceaqDB5GTE6U+2T8xalypQ1t3M3pESaHumtFZaEPOV6BtBFUk SqsBGOMj4CwsmfdW72U8NxFETqwLTifKuH7+49B6gsBJ9NzH6vcaqULOTHmzSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFtz0dgRj6qJe0GBuBYuTByrGouAjoyk94nC1bLVVo4=; b=pPaKzJnepV3eczIkGuGgEGYNs84gjO3SD/dV39+CgU+9Zb/EzwW73fBgiAHAYkZpWt4z71 3wd/bEs4fAvIG8mWArJr1NbKyyCNy2odohZcTEKSMFfVgCjXgmGBl9XGdf9DPXmRfY0XfN n6QopXbmqeLbp3efhM8/joyfWcCgjKLg7gfq2MDt0H3/zntstN5yLBolQfzu0jwmkjGRCf 4DuxN+a5IvrDzO0F5ObDnlLp2IJjv/gRUIXhnvqKCWl0JjDgMPz6/YMkn1WyPprYVgLp6+ jwXZOBhIqVYlb1CTnKmE0+euoU4gsBeYb+GYLX5P/T+L2481UZTsDLXntx1pOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054229; a=rsa-sha256; cv=none; b=hr/xJn7vv/RB1gKnBr6LW0G+iVeD1YTnS6P9u1xjNAd4UtnJnfiqjkY4b/lt/JD57xGmRi N2mBx0F6VB7uhgWb5L+Z8i92TnA3FbyBrtFQ72ESF/Qf/yptbHu2LXoJGcATT87f2AuVNN HV06B1LGNp9ZWPhBKKF8T6eMU6T0E1s7flHqXZMaf+O9+TSbDVukLdkiZgS5r1ZIn1wLxK Ddq/gADAcX+jNkfdVEagtGjfkoOagO+XZzOce8DbJ6V6CLqZq/rczG+OHfPPxKLucRCCoP b18BSFcldM2LoqwA+KiZU/zxMESbzkLnkDpRjwyjpRTFrieSnhiMRedTVzGa1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwzwj0KHgz1Gdf; Mon, 12 May 2025 12:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoSeP083107; Mon, 12 May 2025 12:50:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoSNP083104; Mon, 12 May 2025 12:50:28 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:28 GMT Message-Id: <202505121250.54CCoSNP083104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 00832dc0cecf - main - arm64: Remove unneeded fields from mrs_user_reg List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 00832dc0cecf4fa571909696e424d982adf1b22e Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=00832dc0cecf4fa571909696e424d982adf1b22e commit 00832dc0cecf4fa571909696e424d982adf1b22e Author: Andrew Turner AuthorDate: 2025-05-12 11:07:22 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:07:22 +0000 arm64: Remove unneeded fields from mrs_user_reg These are no longer needed, we can remove them. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50212 --- sys/arm64/arm64/identcpu.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 508ea0d472d3..ee40a33c1da2 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2194,8 +2194,6 @@ static const struct mrs_field mvfr1_fields[] = { struct mrs_user_reg { u_int reg; u_int iss; - u_int CRm; - u_int Op2; bool is64bit; size_t offset; const struct mrs_field *fields; @@ -2205,8 +2203,6 @@ struct mrs_user_reg { { \ .reg = name, \ .iss = name##_ISS, \ - .CRm = name##_CRm, \ - .Op2 = name##_op2, \ .offset = __offsetof(struct cpu_desc, field_name), \ .fields = field_name##_fields, \ .is64bit = _is64bit, \ From nobody Mon May 12 12:50:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zwzwk3v4Sz5w0fB; Mon, 12 May 2025 12:50: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 4Zwzwk1fn7z3rjg; Mon, 12 May 2025 12:50:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CkPdxYQRAFTfd833l+kq38ZOM56Qu0QCY5mivDpdo2A=; b=oWmwTLhjsSnDamxQJVXYn7sLi60+OjOcQs0lawvs57DRXxq6uT405jzkQ6jWdWp5A8dtIR nSCIEqw/lUnHLnVNMAGsZ5D072OtwAobDm5sIWoEq7O0CcjBYQ7zWgBP8nEpv3WBYltzNW apZeCdSjIIJ4vzq1Gf+tlQ39TlnoIABOptp23pmnT8VUDeKO7Z/a9C7IL2mTu3tSaX8sQs glJ0Mhfj0ENj6ddhKMiW/UYczljrWvfbkwrXUOtG+pOhpuGAFCdPw0Zta779uS8/I9+9DT /dNy61fk+kGEEdj4McCToE0Gw8XfyXMY9gvXmMds3e/eh6CQIlE6YZNhdEaEKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747054230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CkPdxYQRAFTfd833l+kq38ZOM56Qu0QCY5mivDpdo2A=; b=Fw2+FnYHLYAbXaI54tqrgx25RLBBj/P1eyBohCEZUOiGZYrLf/sIwYL4OXt/VbpjraIjgC rBjZjljVYlCwyLhUGg214l1LGymKZTpI4M+QryVbIgCvCQy7j1dx4TuCixEH8iNy5vynRO +z67QVYS7rF9HTbR6aD2qb/XdAhMzC060GvX1N7Y+R88wgi8c4mWw/p4dyxsfM3MEuis2q +op53MmspfMLbdg87pXQRrs/whgIQoQHH6rzqv8D2mqIvuMd0UDwXjqSI5dERfClg/ZAVF e/oVwJHA0Z/OjwjgDv2ICFHQlS8D6yizWJGj+Kqg99akoalplw9cYd4Rg3tGlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747054230; a=rsa-sha256; cv=none; b=Thn+0ZZcA3rePjkQvN2RtgSTrgnEhLUQ5cEO4OUtKes+3AWSgMbmrk22kiekCJHfmlrVuX SU9PZMhqMBubbkoJZ4Df/4E8yWdhkhol7E1FPYgzJxlsZZBl4NCMCApuysfP+bPnPMK2pz 5Sn0gN9/PskmZ8a/CfIz0KQ02kw3Xr2FtcbhETJLRW1iZvwZ/ETmW3e2K5StvXI/QniDpM v2mXrj7oJTikAOj0Hk8Uf0rIfXRH5yvefp5R4sP8oXu/8k/JV5wYRzu8/twD8psc5CoCxj bZCB93zRM9a9TXCfToBkACrubrUBJ6pZdW1hVFmEOmZ4yvg+JinzNJvjW7qEIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zwzwk18fZz1Fyx; Mon, 12 May 2025 12:50:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CCoU4a083140; Mon, 12 May 2025 12:50:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CCoUWI083137; Mon, 12 May 2025 12:50:30 GMT (envelope-from git) Date: Mon, 12 May 2025 12:50:30 GMT Message-Id: <202505121250.54CCoUWI083137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 4bc53dc71c57 - main - arm64: Use a sys handler for CTR_EL0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4bc53dc71c57c1e0dfb9ae48d7f63ab218aa50f3 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4bc53dc71c57c1e0dfb9ae48d7f63ab218aa50f3 commit 4bc53dc71c57c1e0dfb9ae48d7f63ab218aa50f3 Author: Andrew Turner AuthorDate: 2025-05-12 11:08:06 +0000 Commit: Andrew Turner CommitDate: 2025-05-12 11:08:06 +0000 arm64: Use a sys handler for CTR_EL0 When we trap CTR_EL0 we use the undefined instruction handler. As this is accessed with a mrs instruction use the new infrastructure to use that to handle it. Reviewed by: harry.moulton_arm.com Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50213 --- sys/arm64/arm64/identcpu.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index ee40a33c1da2..16af88dd3c97 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2341,21 +2341,22 @@ static struct cpu_feat user_ctr = { }; DATA_SET(cpu_feat_set, user_ctr); -static int -user_ctr_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, - uint32_t esr) +static bool +user_ctr_handler(uint64_t esr, struct trapframe *frame) { uint64_t value; int reg; - if ((insn & MRS_MASK) != MRS_VALUE) - return (0); + if (ESR_ELx_EXCEPTION(esr) != EXCP_MSR) + return (false); + + /* Only support reading from ctr_el0 */ + if ((esr & ISS_MSR_DIR) == 0) + return (false); /* Check if this is the ctr_el0 register */ - /* TODO: Add macros to armreg.h */ - if (mrs_Op0(insn) != 3 || mrs_Op1(insn) != 3 || mrs_CRn(insn) != 0 || - mrs_CRm(insn) != 0 || mrs_Op2(insn) != 1) - return (0); + if ((esr & ISS_MSR_REG_MASK) != CTR_EL0_ISS) + return (false); if (SV_CURPROC_ABI() == SV_ABI_FREEBSD) value = user_cpu_desc.ctr; @@ -2367,17 +2368,17 @@ user_ctr_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, */ frame->tf_elr += INSN_SIZE; - reg = MRS_REGISTER(insn); + reg = ISS_MSR_Rt(esr); /* If reg is 31 then write to xzr, i.e. do nothing */ if (reg == 31) - return (1); + return (true); if (reg < nitems(frame->tf_x)) frame->tf_x[reg] = value; else if (reg == 30) frame->tf_lr = value; - return (1); + return (true); } static bool @@ -2793,7 +2794,7 @@ identify_cpu_sysinit(void *dummy __unused) panic("CPU does not support LSE atomic instructions"); #endif - install_undef_handler(user_ctr_handler); + install_sys_handler(user_ctr_handler); install_sys_handler(user_idreg_handler); } SYSINIT(identify_cpu, SI_SUB_CPU, SI_ORDER_MIDDLE, identify_cpu_sysinit, NULL); From nobody Mon May 12 13:40:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx12c5GZ2z5w3Hc; Mon, 12 May 2025 13:40: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 4Zx12c4jpWz41Cy; Mon, 12 May 2025 13:40:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747057240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fixcEbJd9v4DOREtb+sa0xg2ZxQj50Y5T3nz5ABLk7s=; b=lpJBUZ7Pl+wrceOy5UxDKe64j7CAR+SlloBAraK9nk1DdfOXPVpeGl+lKhXHQxliLFnf+K 8LiNZckzG14yzvOJJKKlV4hWnn0AvIy0xUgeMuAstHENmQLxCvKie0VYE5p497Q/fFAeh3 1UW606UQ40RcwzBGwpA5Bd1KkOLu6ThKg0VxkKqhWdhBdfGDjSee2lBHHd3ct5CG4jndmZ tIsTR8U9WXKkrlWkGvV5uUxfAM95ixN/6ManWY5NF9+QW5XYVPju3SM7Wj+Plha8pEmsXO G8dZPICr55seQkf1ma+cNIg01TR9G6DiIM2+pK24td2QdcHb7TkTEsclwbAIqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747057240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fixcEbJd9v4DOREtb+sa0xg2ZxQj50Y5T3nz5ABLk7s=; b=Qq64XXszSdGtkdItwIVbnNThCCvG5k1PO/aGDjJ1Vt14Bg3Oytdmnlw3DTERB92Xy2kGSh 02F8dzVQRuy8tiwgKWm6P4jpiVzvhTVwvDxNCxHOQnRsyw+0QFvOCI4gmd73jMU530iGpc P2hYL/9B0Sv+fIziHEMlgFlvzsZV6K37gVHU7jpJQkfBX+V87g5JhbS+Uor22IqdSS/QP7 Bm1puTpY+D1eWGWPu9Ls5+FhZ28ZKv0eLrOlYCG1yh+rbsOMYbZh1rZRNA084zj/f5+EtD 5Tkzp87Cd+0Anj8g1lXh/iawLIc98bT9h0xFc/mXII69QSsZM2m1UTmqPYj41w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747057240; a=rsa-sha256; cv=none; b=jKUQvyn9NDRXP82c2X8LVb7AqaZ4FoPw0pv12eNX0umblndaHHjW8hmcPNPsy94sgCZFu8 qiYk2lqKRvTReHAxQRngmDRlBbsoFWcCkFzsz7mq0TQCiuQIAyDfHF/JMon9rrHSzJxs+d 535YN+xhX78X0pAYzsc6+qVqwWFr+p7KM0u2rTOFVZ8J1ZOqzUJOLG00hySUDUVXxAeUR9 Y+h+urMEj2n/0BwaI4saH2D99XxrGrmR3K/V+7DBuUtaWimknIUhdqk5iEFGUGiST/C1D6 ik9vz+LupodUPOm+NY1clRx2MC/frjwTZheubUHeoeGyoWVrNUBKe+RkL8XPLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx12c46dSz1HwB; Mon, 12 May 2025 13:40:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CDeevF076879; Mon, 12 May 2025 13:40:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CDeeUg076876; Mon, 12 May 2025 13:40:40 GMT (envelope-from git) Date: Mon, 12 May 2025 13:40:40 GMT Message-Id: <202505121340.54CDeeUg076876@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 909aa6781340 - main - flua: add posix.unistd.dup2() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 909aa6781340f8c0b4ae01c6366bf1556ee2d1be Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=909aa6781340f8c0b4ae01c6366bf1556ee2d1be commit 909aa6781340f8c0b4ae01c6366bf1556ee2d1be Author: Isaac Freund AuthorDate: 2025-05-05 09:03:37 +0000 Commit: Ed Maste CommitDate: 2025-05-12 13:40:09 +0000 flua: add posix.unistd.dup2() Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50176 --- libexec/flua/modules/lposix.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index d69f1aa546c1..a706adf2c353 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -165,6 +165,39 @@ err: } +static int +lua_dup2(lua_State *L) +{ + int error, oldd, newd; + + enforce_max_args(L, 2); + + oldd = luaL_checkinteger(L, 1); + if (oldd < 0) { + error = EBADF; + goto err; + } + + newd = luaL_checkinteger(L, 2); + if (newd < 0) { + error = EBADF; + goto err; + } + + error = dup2(oldd, newd); + if (error >= 0) { + lua_pushinteger(L, error); + return (1); + } + + error = errno; +err: + lua_pushnil(L); + lua_pushstring(L, strerror(error)); + lua_pushinteger(L, error); + return (3); +} + static int lua_fnmatch(lua_State *L) { @@ -479,6 +512,7 @@ static const struct luaL_Reg unistdlib[] = { REG_SIMPLE(_exit), REG_SIMPLE(chown), REG_DEF(close, lua_pclose), + REG_SIMPLE(dup2), REG_SIMPLE(fork), REG_SIMPLE(getpid), REG_SIMPLE(pipe), From nobody Mon May 12 14:08:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx1g41Qcyz5w5SY; Mon, 12 May 2025 14:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zx1g40vLqz43Mf; Mon, 12 May 2025 14:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747058928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x4ZhrqmeZaKV48u/WQf4Z79P792WYy4qMrIXmdNqLVY=; b=OSFL1OBg84RjnBH8NqSXM1oCgSRV9AOeh78V15cQjn6s6fB18ja2ikSqF2ByxGiGySj216 aijFvwXYaVGUQxqkD8+bN3uJF9SUXGQeWp2Nk6qsYh+phjrMJ4xxOkIlsXTCW0xknzBNSU soyFD8RxL5rMTOi21ST/tmBhLF9GKi38tta/YuFx2QqJBHDxNYYDnx29f7nUFlz/bKnK9J veFJsKnT3RrM/D9qyofW23F/amo9p5tOuKVQNqsj2mAXQtwYXHYV39g9sOXIlXu5EdSYF5 PYQQ/B/EqHmlraJhk2Sr+t/UVUDwF0t4gtlGkZh2Oc0jmGKtvqEoYx/DXBss0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747058928; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x4ZhrqmeZaKV48u/WQf4Z79P792WYy4qMrIXmdNqLVY=; b=NaObbeo3jW8z6pNLUfcwO8SUijN6mSvRYUtyCVXkI3MjTmPvDJvqcYOdC9Cc+i70ro4/z2 Bt9yTbe9yqJ4UCJmMWYbgIauG1Gqs3igkfD0GdTaez+HSbhs5k2L/AQPXUJ4JUXKv+MpeO HgWv2IGjW+SdSJLgUiFq1sMKFxjeSige2D1kk0xj4F1XVobpPyugQSCTvvm1tFoOGJvUDX 6y/IICh4Q6vVToHHKVkynOzXgViTmFwEKlF8VIea6RIFry7lYrTKR9+6oMK9TlrdEP186x Ra4KH2jvnyHvsnNT2JyUH1gez0Jx0Asz9hIIfe7SGTlLQNkVQ9/aBhOt2NLh5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747058928; a=rsa-sha256; cv=none; b=D368AOr+/uv3imUzDCrgEinh+8pkywDxt1alDT4OweUUlb347M2po2epsaKt4DCi8q826/ OaEo+OJOyqQjAy76Ukl2B1ZAE1mPr2OTvIMDP1qjw/IIgZkToSQoq9mkr4gQ/XcrTJ+XG2 T/QqxKP+Kh7CISXl7ULVcXsVvC9FHFJgFEZzzz3IWdNlZYOY6lVeOZT2mPeZxQVEzpOj// /LnwlYP9FUEZ1RZfXF9l9BAuXJgWU4ySCRyQ7DTXM+ozFHr42CUC9DOJkiSXUXiYU8qZn0 6DJepdftmdZRDiMH+Xwx2F+I+LdlrcaRcACoOkkB1pewgYaNlXqHkBl9k7Tt1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx1g40BW3z1Jf8; Mon, 12 May 2025 14:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CE8lu9024495; Mon, 12 May 2025 14:08:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CE8l8o024492; Mon, 12 May 2025 14:08:47 GMT (envelope-from git) Date: Mon, 12 May 2025 14:08:47 GMT Message-Id: <202505121408.54CE8l8o024492@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: eed3be47967f - main - linuxkpi: Fix up jiffies handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eed3be47967f0ac8268d1655f57bc302c123e991 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=eed3be47967f0ac8268d1655f57bc302c123e991 commit eed3be47967f0ac8268d1655f57bc302c123e991 Author: Mark Johnston AuthorDate: 2025-05-12 13:39:27 +0000 Commit: Mark Johnston CommitDate: 2025-05-12 14:08:39 +0000 linuxkpi: Fix up jiffies handling A few issues found by code inspection while hunting for bugzilla PR 286512: - The "expires" field in struct delayed_work should be unsigned. - In linux_timer_jiffies_until(), clamp the return value to INT_MAX: this return value is used as a ticks count, not a jiffies count, so we should avoid returning too large a value, lest it get truncated. It's unlikely we are dealing with values that large, but we should be careful anyway. - In linux_add_to_sleepqueue(), truncate the timeout to INT_MAX, as this value is passed to sleepq_set_timeout() as a ticks value. Typically it's multiplied by ticks_sbt to get an sbintime, and we should make sure the multiplication doesn't overflow. In drm-kmod, there is at least one call mod_delayed_work(... MAX_SCHEDULE_TIMEOUT). Fixes: 325aa4dbd10d ("linuxkpi: Introduce a properly typed jiffies") Reviewed by: olce, bz, dumbbell, kib Tested by: dumbbell, bz Differential Revision: https://reviews.freebsd.org/D50192 --- sys/compat/linuxkpi/common/include/linux/jiffies.h | 11 ----- .../linuxkpi/common/include/linux/workqueue.h | 2 +- sys/compat/linuxkpi/common/src/linux_compat.c | 16 +++++++ sys/compat/linuxkpi/common/src/linux_schedule.c | 51 +++++++++++----------- sys/compat/linuxkpi/common/src/linux_work.c | 7 +++ 5 files changed, 49 insertions(+), 38 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/jiffies.h b/sys/compat/linuxkpi/common/include/linux/jiffies.h index df6ca129b37c..c2409726e874 100644 --- a/sys/compat/linuxkpi/common/include/linux/jiffies.h +++ b/sys/compat/linuxkpi/common/include/linux/jiffies.h @@ -140,15 +140,4 @@ get_jiffies_64(void) return ((uint64_t)jiffies); } -static inline unsigned long -linux_timer_jiffies_until(unsigned long expires) -{ - unsigned long delta = expires - jiffies; - - /* guard against already expired values */ - if ((long)delta < 1) - delta = 1; - return (delta); -} - #endif /* _LINUXKPI_LINUX_JIFFIES_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/workqueue.h b/sys/compat/linuxkpi/common/include/linux/workqueue.h index 25ee861d3015..66d3981d4229 100644 --- a/sys/compat/linuxkpi/common/include/linux/workqueue.h +++ b/sys/compat/linuxkpi/common/include/linux/workqueue.h @@ -90,7 +90,7 @@ struct delayed_work { struct { struct callout callout; struct mtx mtx; - long expires; + unsigned long expires; } timer; }; diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 019e08f59d44..ae15fc553ecd 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -2071,6 +2071,22 @@ linux_timer_callback_wrapper(void *context) timer->function(timer->data); } +static int +linux_timer_jiffies_until(unsigned long expires) +{ + unsigned long delta = expires - jiffies; + + /* + * Guard against already expired values and make sure that the value can + * be used as a tick count, rather than a jiffies count. + */ + if ((long)delta < 1) + delta = 1; + else if (delta > INT_MAX) + delta = INT_MAX; + return ((int)delta); +} + int mod_timer(struct timer_list *timer, unsigned long expires) { diff --git a/sys/compat/linuxkpi/common/src/linux_schedule.c b/sys/compat/linuxkpi/common/src/linux_schedule.c index 507d6fc417d0..3f3605096d62 100644 --- a/sys/compat/linuxkpi/common/src/linux_schedule.c +++ b/sys/compat/linuxkpi/common/src/linux_schedule.c @@ -38,29 +38,47 @@ #include #include +/* + * Convert a relative time in jiffies to a tick count, suitable for use with + * native FreeBSD interfaces (callouts, sleepqueues, etc.). + */ +static int +linux_jiffies_timeout_to_ticks(long timeout) +{ + if (timeout < 1) + return (1); + else if (timeout == MAX_SCHEDULE_TIMEOUT) + return (0); + else if (timeout > INT_MAX) + return (INT_MAX); + else + return (timeout); +} + static int linux_add_to_sleepqueue(void *wchan, struct task_struct *task, const char *wmesg, long timeout, int state) { - int flags, ret; + int flags, ret, stimeout; MPASS((state & ~(TASK_PARKED | TASK_NORMAL)) == 0); flags = SLEEPQ_SLEEP | ((state & TASK_INTERRUPTIBLE) != 0 ? SLEEPQ_INTERRUPTIBLE : 0); + stimeout = linux_jiffies_timeout_to_ticks(timeout); sleepq_add(wchan, NULL, wmesg, flags, 0); - if (timeout != 0) - sleepq_set_timeout(wchan, timeout); + if (stimeout != 0) + sleepq_set_timeout(wchan, stimeout); DROP_GIANT(); if ((state & TASK_INTERRUPTIBLE) != 0) { - if (timeout == 0) + if (stimeout == 0) ret = -sleepq_wait_sig(wchan, 0); else ret = -sleepq_timedwait_sig(wchan, 0); } else { - if (timeout == 0) { + if (stimeout == 0) { sleepq_wait(wchan, 0); ret = 0; } else @@ -258,12 +276,6 @@ linux_wait_event_common(wait_queue_head_t *wqh, wait_queue_t *wq, long timeout, if (lock != NULL) spin_unlock_irq(lock); - /* range check timeout */ - if (timeout < 1) - timeout = 1; - else if (timeout == MAX_SCHEDULE_TIMEOUT) - timeout = 0; - task = current; sleepq_lock(task); @@ -285,17 +297,10 @@ linux_schedule_timeout(long timeout) { struct task_struct *task; long remainder; - int ret; - int state; + int ret, state; task = current; - /* range check timeout */ - if (timeout < 1) - timeout = 1; - else if (timeout == MAX_SCHEDULE_TIMEOUT) - timeout = 0; - remainder = jiffies + timeout; sleepq_lock(task); @@ -309,7 +314,7 @@ linux_schedule_timeout(long timeout) } set_task_state(task, TASK_RUNNING); - if (timeout == 0) + if (timeout == MAX_SCHEDULE_TIMEOUT) return (MAX_SCHEDULE_TIMEOUT); /* range check return value */ @@ -350,12 +355,6 @@ linux_wait_on_bit_timeout(unsigned long *word, int bit, unsigned int state, void *wchan; int ret; - /* range check timeout */ - if (timeout < 1) - timeout = 1; - else if (timeout == MAX_SCHEDULE_TIMEOUT) - timeout = 0; - task = current; wchan = bit_to_wchan(word, bit); for (;;) { diff --git a/sys/compat/linuxkpi/common/src/linux_work.c b/sys/compat/linuxkpi/common/src/linux_work.c index cf15d1a9c41b..b1975d16025e 100644 --- a/sys/compat/linuxkpi/common/src/linux_work.c +++ b/sys/compat/linuxkpi/common/src/linux_work.c @@ -226,6 +226,13 @@ linux_queue_delayed_work_on(int cpu, struct workqueue_struct *wq, if (atomic_read(&wq->draining) != 0) return (!work_pending(&dwork->work)); + /* + * Clamp the delay to a valid ticks value, some consumers pass + * MAX_SCHEDULE_TIMEOUT. + */ + if (delay > INT_MAX) + delay = INT_MAX; + mtx_lock(&dwork->timer.mtx); switch (linux_update_state(&dwork->work.state, states)) { case WORK_ST_EXEC: From nobody Mon May 12 16:14:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx4SV45bcz5wDPF; Mon, 12 May 2025 16:14: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 4Zx4SV3KNzz4J62; Mon, 12 May 2025 16:14:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747066490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FdMFwI5YVJO4Wnsnhb/YTTKnSmzBs2FPCvM9G/jB4fw=; b=Rnjdu9ZyIpcLiF8wcN8xhIbLKesU21+miz/ybG2587NNuTzzhNKSHHFY4CdcWet3M2wH0Y N7vwbm+rJFuTyyP51eOYmwQCVz2awe5aIN9hB+OXq4oQzOXie2J6U749ykPLCfV/gILL4z 0vUzxAHScnViHWjewsTqUJgQPhaZHPH6XnXP373iNvsDUt/1OPKSxc5PFFiBP1xF57ml0U SoA/XvWFDGBaCCNkzVAXCk9DPtUsdS8X4PcCXvBGAFFklbupv/UtI8BpB8SKxqlkMzSPXV iozP2zNmczue8F0weNlwqTwc4Aisx7jp6HmTsx/rgBB1ix3aQV/PBfOPDb5ETA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747066490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FdMFwI5YVJO4Wnsnhb/YTTKnSmzBs2FPCvM9G/jB4fw=; b=PlJNL569G9O+OpZUf7rAMxxyY+lS2S23r0p/8cqCW45VCstuz3uMHhqISEclBpj9o5cuB0 4hVuKHt4EhoKCO2SQMijPpvsv1VsGLE4+UgFsjyA9NLR1fK0Rin41tnxu9WmV17wshc9Bu kwkwgfBw2byIrXDU2ERM1FWsFhvkzMw2KANFrWc23EjEml3qHwnbOsqUvP6I6cSt/dn/3i lbJN42cAeJyo5bwjcIGXs9ICE1v2cbtp8XykPyNDJWF0EzX0bq7Xd5PlzHkeSUddTF+/zb NSyuJdaqrktXjGnxc1LxLHFlUtyswFKrEQHS15dxKa0b0cpaRTjpgLfvBMLdtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747066490; a=rsa-sha256; cv=none; b=KS5+Ln51I4k88B7EUIuXdtnOzagNOeZyvZEvH1ajitThpbkycoB4Tmj/oocbEb407mx3R8 CAAF0qrmMkC4r5rRmBJZn18Y1OemZ9gDBi0LdZ+14L9CqGFyLr0o4Pzv8HPv8Emn5ruj/z vfdsIWjilUto8UlEZ1FaSxBQD93pDTq1Q4yJezcoPayqX/nbh3BG1xp60RxW9pS7VwgzuN I3ylBcjeA1IFBbVVC6iNyi0Ea3VM5mNSG7azMxb0dhf0ciLxCNqiVT8ZRwPEOzgcK0Suup WwmyubSRg7yhUpS4jGhCvmdwYZQ7ukVT3kAhAMVw/al8F3AvwhSmWsjYR2WUoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx4SV2qRYz1Md3; Mon, 12 May 2025 16:14: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 54CGEoQH065886; Mon, 12 May 2025 16:14:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CGEoxb065883; Mon, 12 May 2025 16:14:50 GMT (envelope-from git) Date: Mon, 12 May 2025 16:14:50 GMT Message-Id: <202505121614.54CGEoxb065883@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 6da793a8caa1 - main - e6000sw.4: Initial manual page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6da793a8caa15ee2cbb984ea39ac87c6cd2fdf63 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=6da793a8caa15ee2cbb984ea39ac87c6cd2fdf63 commit 6da793a8caa15ee2cbb984ea39ac87c6cd2fdf63 Author: Alexander Ziaee AuthorDate: 2025-05-12 00:52:19 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-12 16:12:53 +0000 e6000sw.4: Initial manual page For inclusion in the HW relnotes. MFC after: 3 days, but remove entries which didn't mfc Reviewed by: adrian, ivy, mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50293 --- share/man/man4/Makefile | 1 + share/man/man4/e6000sw.4 | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 71d32dd12f05..2b042455a357 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -151,6 +151,7 @@ MAN= aac.4 \ eventtimers.4 \ exca.4 \ ext2fs.4 \ + e6000sw.4 \ e6060sw.4 \ fd.4 \ fdc.4 \ diff --git a/share/man/man4/e6000sw.4 b/share/man/man4/e6000sw.4 new file mode 100644 index 000000000000..cbec33e459f8 --- /dev/null +++ b/share/man/man4/e6000sw.4 @@ -0,0 +1,41 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 10, 2025 +.Dt E6000SW 4 +.Sh NAME +.Nm e6000sw +.Nd Marvell 88E6000 series Gigabit Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd etherswitch +.Cd e6000sw +.Sh DESCRIPTION +The +.Nm +driver supports Marvell Gigabit Ethernet switch controllers. +.Sh HARDWARE +The +.Nm +driver supports the following Gigabit Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Marvell 88E6190X +.It +Marvell 88E6190 +.It +Marvell 88E6176 +.It +Marvell 88E6172 +.It +Marvell 88E6341 +.It +Marvell 88E6141 +.El +.Sh SEE ALSO +.Xr e6060sw 4 , +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 From nobody Mon May 12 16:23:46 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx4fp6lVgz5wDm7; Mon, 12 May 2025 16:23: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 4Zx4fp6BWdz4KJM; Mon, 12 May 2025 16:23:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747067026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ks1Ko8t4PdaqUneOwCf1NYrNDueiVkJeLF7uRLAeeBU=; b=SaBGYpUUHy9yULT+Y3nrQkPeMUkmmmp7Wh3fnqGENRwqwxCZEay+Od0nhas6cYQ1rSg/yA aacmqMP5LGOUkaZVOkVzxsfoDSCHy7kvA9MIxd1RvnhaQ/I6sb3Vhm2YseBIcellQv1TDZ ozu96awNWaNXWP5tPLxdZAnfWQiSOfGfZm7yOVZGAPMcwImhq7x3atWM/rDmltktBhXh9z /hKBWX5jA4ZWba2IVIVMx1R5DST3ummYAca/v4IZAHwF4Yi4xSXcs3zu9gNu/XrJKUcSZW N0S8i81rZB2TD9GIR3/NL4hUV2vmu0fH2DIbjfu8snHKSWEWho+mz2PrT9jRQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747067026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ks1Ko8t4PdaqUneOwCf1NYrNDueiVkJeLF7uRLAeeBU=; b=Wld2sQox1k7fmLmxurDsHpe/+h1KXs24yY55VXR9Rgj162cdN887tvfwKh6MIhtyaSwg3z Y4zMMvfmErim6nBAOE+N1AFfLzn3RlBMjTlrtAFF7L13ePILXSdhf9RZsHdk7itMr7InQ8 2XKp3OeyUywXpeOw9fqILiP3AadlG9MTdOBvh+tpenEmuBuDqJ8zo2DeNIUl5LR1XU5WNQ mrqqxUe3n7YGM+KUKnCVOMAr+iELuMFnCcJn/vSYquOJ9a5SGaaVsrmPw92HV1ZeOHTGIB WiHoFFf4RA6BRpFMY4W/y4USkTq4qiJS21Rq7w+7UGk9eyl5XdF/mtsBQQQF+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747067026; a=rsa-sha256; cv=none; b=cJbqqwg4nPpohD4g762ONjjbGnVdyJ+NAhyHi+r4aBTTh+URZBrfIu+bq8Y54FEQIhUuX1 7rthG1P5qJ/j1OFP7hHzkYUkw1CvQtB7Mm7ewRxc1WzbMxWkGKbopM2T7uoIdF9Z84hzMN LaqlwlW1LuLPxYptkrojUzL8E0oLpf6TGCCmsQJHIk3qUFAQvqiQU2Nc8TCJzvn8ZwBGmI rY/ZAOpIDNc5NuCseoiQdEsvgIjSaY5gzHlIWrZJeq9DPrbpIOLznGwK9v/k7HPXOMLVUR ojVGE8b8jpofpALIQXaQVdTb8QXtfOntPelEQKMDx3RWjmUyAo2cTxM77iORKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx4fp5jWWz1MVB; Mon, 12 May 2025 16:23: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 54CGNkvl084789; Mon, 12 May 2025 16:23:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CGNkjE084786; Mon, 12 May 2025 16:23:46 GMT (envelope-from git) Date: Mon, 12 May 2025 16:23:46 GMT Message-Id: <202505121623.54CGNkjE084786@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: ecdb0b79bf93 - main - cdboot.8: Initial manual page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ecdb0b79bf93a2b8392694bd266c5930ca42bab5 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=ecdb0b79bf93a2b8392694bd266c5930ca42bab5 commit ecdb0b79bf93a2b8392694bd266c5930ca42bab5 Author: Alexander Ziaee AuthorDate: 2025-05-09 17:38:25 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-12 16:23:04 +0000 cdboot.8: Initial manual page Add cdboot to the reference manual, fixing an undocumented bug where it is undocumented. There's almost nothing here, but that's better than "only imp and jhb know what this is". MFC after: 3 days Reported by: jhb, imp Reviewed by: mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50274 --- stand/i386/cdboot/Makefile | 1 + stand/i386/cdboot/cdboot.8 | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/stand/i386/cdboot/Makefile b/stand/i386/cdboot/Makefile index c66ff68105c1..15b73856c086 100644 --- a/stand/i386/cdboot/Makefile +++ b/stand/i386/cdboot/Makefile @@ -3,6 +3,7 @@ PROG= cdboot STRIP= BINMODE=${NOBINMODE} +MAN= cdboot.8 SRCS= ${PROG}.S CFLAGS+=-I${BOOTSRC}/i386/common diff --git a/stand/i386/cdboot/cdboot.8 b/stand/i386/cdboot/cdboot.8 new file mode 100644 index 000000000000..6163bd7b4a7a --- /dev/null +++ b/stand/i386/cdboot/cdboot.8 @@ -0,0 +1,21 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 9 2025 +.Dt CDBOOT 8 i386 +.Os +.Sh NAME +.Nm cdboot +.Nd find a bootloader on ISO-9660 +.Sh DESCRIPTION +.Nm +is a small boot block which finds +.Xr loader 8 +on a +.Xr cd9660 4 +file system. +.Sh SEE ALSO +.Xr cd9660 4 , +.Xr loader 8 From nobody Mon May 12 16:27:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx4kv6s6Gz5wDvH; Mon, 12 May 2025 16:27: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 4Zx4kv622Jz4Lcw; Mon, 12 May 2025 16:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747067239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LMJ5hCqQGxiaisXzTnu7HdNGuaLhHMpcfe2l7T1vouY=; b=VJKG5EgY1RR7CBjeL+gydAw47KGmsWc83FSXSerNAPWqUI8lRfCuhggy6dFfQXIg8wx2Dr 9qdlq3/7Kazk68hcHBJ+qM5/Kg/u/kmQr5w+yJVkEvFEDilJhp9KPCtQNfVcinuM4HcXxn a4dYNXRxShbBsXrKs3gaEN+XkUW5XWLKSTjV8dl9D0H+4SdiDwXhv/1QyfSKF7z//72TzX xTl16Co7XOG0Gbri5cIxKpDY6m/Sm5kpxzjcFr0f4I/mFJThUi9XBX0BTSBvNiGUh8FI25 PkKj6YhD0RXxDO0Ykmf4tyBG7IqWOslqFRdDTuMsAmrlE40oWzuVwLcmas0Q2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747067239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LMJ5hCqQGxiaisXzTnu7HdNGuaLhHMpcfe2l7T1vouY=; b=HXmPmHZc3h3QEDYvGVjN+YCXeOLQpTqTRe2iskIeGM3KxwOvevDa3bVrOgsXGj01QoaDiL uIDii6k1FLsIfXH3q8VnRCHJfEOuDJwoiJKUJzwhRonBELtK7GMTmXCF15wLKLl2Wx09V6 1RqNFPMajIPm4kxcSU7RyjuVICDW0xfcKMQcqnhQpWLtkUny4pBbC9gL27jTv8RlnJH6Yt nYpApHzjEwiGtIiQLfpSRZWbTWa6SpRqNEmI3N6t+fcmN1ttD2ocJiJ2iOYv/u5IMw+JtR 0tR8TcnOHrOkOKnyxwme57ElOkT/IOh+Q5zEplyAAh1IuAD4DbK1FyZC+B4jpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747067239; a=rsa-sha256; cv=none; b=h/9ZMpJFesfstn6k/5/E588HTX75P3wEvTozcI1NJJVXBxII3YLvJRn5K5YjeCttRQkk+m R/ksCG2vG8ZA+Pn8jeaOe6kvPrDVHn2mfJz58jkbhlqVeT1EFEWNUDGeDvwNyKrWgcpHcx 61V9rJvS2msGHfIOpDYHE8yHw/MxymFABu9NIdZRg8VeEYP8iloLLurCQuzeKqsfKZZ7eC 8qfNIgLMctQSG5xaMF8B3w55KUTpHoDkKpH8CDFC1r8v/GOLtDMgVbdtsQC12hUU8HwxdO GyWDAo8WoOF35HMbKwoUOnNqInG29gYeytI0YeY73B/z3OUF6tcZhJ4aBGPOfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx4kv5NX9z1N2p; Mon, 12 May 2025 16:27: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 54CGRJP0085909; Mon, 12 May 2025 16:27:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CGRJ8i085906; Mon, 12 May 2025 16:27:19 GMT (envelope-from git) Date: Mon, 12 May 2025 16:27:19 GMT Message-Id: <202505121627.54CGRJ8i085906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: ac747d47f748 - main - umb.4: add "cellular modem driver" to title List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac747d47f748b8a59f02da518d1ed7d524061896 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=ac747d47f748b8a59f02da518d1ed7d524061896 commit ac747d47f748b8a59f02da518d1ed7d524061896 Author: Alexander Ziaee AuthorDate: 2025-05-12 16:25:46 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-12 16:25:54 +0000 umb.4: add "cellular modem driver" to title For discoverability and consistency with other drivers. MFC after: umb does not mfc Reviewed by: adrian, khorben, mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50301 --- share/man/man4/umb.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/umb.4 b/share/man/man4/umb.4 index b0d517095933..7ecc9a39c1ca 100644 --- a/share/man/man4/umb.4 +++ b/share/man/man4/umb.4 @@ -17,12 +17,12 @@ .\" .\" $NetBSD: umb.4,v 1.4 2019/08/30 09:22:17 wiz Exp $ .\" -.Dd August 24, 2019 +.Dd May 11, 2025 .Dt UMB 4 .Os .Sh NAME .Nm umb -.Nd USB Mobile Broadband Interface Model (MBIM) +.Nd USB Mobile Broadband Interface Model (MBIM) cellular modem driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your From nobody Mon May 12 17:46:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx6Vb4dM6z5wKPl; Mon, 12 May 2025 17:46: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 4Zx6Vb43wWz3gRx; Mon, 12 May 2025 17:46:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ic4f4tFFo5a8RWKkX2q+Bs7ywKFb9oXNCV3LWS1bPaM=; b=DAi/AZkvIyAp4kgVgjiM5vpuCfXB27l+CO1ceVcZaNRgVcWeC91nyjOgH89WoSmwOEYxbM W9Ys0I6kbaHe/vPC7jOxzaNaSC+GOB6YTYkxYyfjDYQ0PpgSbsQCBqTgHUSqPws7JzH+br gkNoIzgdjwwpn8LhrjUzO7c4fukBY97r3tPiG/zB0QC/6IJLo6vVHSTFixEKBEhnumiadC 9nWz+WJ4YlnRI6dDWu4E9kALlUjnDjaA4PPgONF78058rS5tjk7Gl/jVRScci52wqz7Br+ 4QIU7FyrxK4YeaaHvNhzHvX48EdkcplzP1ovuRW1NpTcJN6QQDI+ripeR9H5JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ic4f4tFFo5a8RWKkX2q+Bs7ywKFb9oXNCV3LWS1bPaM=; b=AiXmND/kniVjoJoDvOmo9yBwcsFJ/fNPYgKogeGb8NGLQsIrjvxzlAzW2vuoER8lb8BgZ0 960WVDAjmilqkMn9owZ2l/QLJmzkaHrqmYVrE5ZrO41l+MMCACiXmTAmcUzyQZzGAElx+A CUoogVAwToQEwxTgC91zWVywsIrNMlko0Lvs1lVyGKaWhMWkPrTxGwGlUFBGc7k8yDn32F DooN7BdSNMpad5+hYHTJu9/tCNDWsXApjloEZhH9d8cnDXhyfedsk3jUXZ82ed3K2xfOPs 8q5wcTHPUxS5o41Myc6CPyyIO/P5KxBKJrVkbaeDIwrK0pFDPdHOVP/KamBhVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747072007; a=rsa-sha256; cv=none; b=NPOwW7CB9NRkrsxAC/KBm5RXg18CVSiFt6hlSP5D972YEb3KXb7ieUGnGfTQkb8xGJfvfJ G5H+V5eWSgtCLjZnTcl1L3HL79AEB6Sdz65CX1ZlNX8G1+74lwe+6lSt2bKomHOBhhPSLE yh/OhpMgrubZtcD3kuIRwd0NdOpz+wlbHdSCk+2C5KCVGiqYH8oD4btcAEw/qod8ek10OQ lipqAlHl0qU0K7XIPOIY4ZV084UHJF+4+yexj73hf4+2Jc/1lQXY4wVkqy4QRH9TfFTovm qwjALwQ+WleSOYhXF+pVjxfrd1/xyiRCKyDHtzg8GHtJqYtymWceBR2yERlMew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx6Vb3K8cz1QCj; Mon, 12 May 2025 17:46: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 54CHklfT035202; Mon, 12 May 2025 17:46:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CHklNh035199; Mon, 12 May 2025 17:46:47 GMT (envelope-from git) Date: Mon, 12 May 2025 17:46:47 GMT Message-Id: <202505121746.54CHklNh035199@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: 6d720cdfe735 - main - linuxkpi: Add `woken_wake_function()` and `wait_woken()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d720cdfe7350d1eed620f1456bbe76ead708c30 Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=6d720cdfe7350d1eed620f1456bbe76ead708c30 commit 6d720cdfe7350d1eed620f1456bbe76ead708c30 Author: Jean-Sébastien Pédron AuthorDate: 2024-12-27 21:43:59 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2025-05-12 17:08:02 +0000 linuxkpi: Add `woken_wake_function()` and `wait_woken()` They are used by the i915 DRM driver starting with Linux 6.7. `(struct wait_queue)->flags` is no longer always zero. I wonder if some code relied on this... Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48755 --- sys/compat/linuxkpi/common/include/linux/wait.h | 14 ++++-- sys/compat/linuxkpi/common/src/linux_schedule.c | 59 +++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/wait.h b/sys/compat/linuxkpi/common/include/linux/wait.h index bd496793e27e..03ddce2c06f5 100644 --- a/sys/compat/linuxkpi/common/include/linux/wait.h +++ b/sys/compat/linuxkpi/common/include/linux/wait.h @@ -61,12 +61,14 @@ typedef struct wait_queue_head wait_queue_head_t; typedef int wait_queue_func_t(wait_queue_t *, unsigned int, int, void *); +#define WQ_FLAG_WOKEN 0x02 + /* * Many API consumers directly reference these fields and those of * wait_queue_head. */ struct wait_queue { - unsigned int flags; /* always 0 */ + unsigned int flags; void *private; wait_queue_func_t *func; union { @@ -87,8 +89,14 @@ struct wait_queue_head { * This function is referenced by at least one DRM driver, so it may not be * renamed and furthermore must be the default wait queue callback. */ -extern wait_queue_func_t autoremove_wake_function; -extern wait_queue_func_t default_wake_function; +wait_queue_func_t autoremove_wake_function; +wait_queue_func_t default_wake_function; +wait_queue_func_t woken_wake_function; + +long linux_wait_woken(wait_queue_t *wq, unsigned state, long timeout); + +#define wait_woken(wq, state, timeout) \ + linux_wait_woken((wq), (state), (timeout)) #define DEFINE_WAIT_FUNC(name, function) \ wait_queue_t name = { \ diff --git a/sys/compat/linuxkpi/common/src/linux_schedule.c b/sys/compat/linuxkpi/common/src/linux_schedule.c index 3f3605096d62..c6b7a2ebbd66 100644 --- a/sys/compat/linuxkpi/common/src/linux_schedule.c +++ b/sys/compat/linuxkpi/common/src/linux_schedule.c @@ -200,6 +200,65 @@ default_wake_function(wait_queue_t *wq, unsigned int state, int flags, return (wake_up_task(wq->private, state)); } +long +linux_wait_woken(wait_queue_t *wq, unsigned state, long timeout) +{ + void *wchan; + struct task_struct *task; + int ret; + int remainder; + + task = current; + wchan = wq->private; + + remainder = jiffies + timeout; + + set_task_state(task, state); + + sleepq_lock(wchan); + if (!(wq->flags & WQ_FLAG_WOKEN)) { + ret = linux_add_to_sleepqueue(wchan, task, "woken", + timeout, state); + } else { + sleepq_release(wchan); + ret = 0; + } + + set_task_state(task, TASK_RUNNING); + wq->flags &= ~WQ_FLAG_WOKEN; + + if (timeout == MAX_SCHEDULE_TIMEOUT) + return (MAX_SCHEDULE_TIMEOUT); + + /* range check return value */ + remainder -= jiffies; + + /* range check return value */ + if (ret == -ERESTARTSYS && remainder < 1) + remainder = 1; + else if (remainder < 0) + remainder = 0; + else if (remainder > timeout) + remainder = timeout; + return (remainder); +} + +int +woken_wake_function(wait_queue_t *wq, unsigned int state, + int flags __unused, void *key __unused) +{ + void *wchan; + + wchan = wq->private; + + sleepq_lock(wchan); + wq->flags |= WQ_FLAG_WOKEN; + sleepq_signal(wchan, SLEEPQ_SLEEP, 0, 0); + sleepq_release(wchan); + + return (1); +} + void linux_init_wait_entry(wait_queue_t *wq, int flags) { From nobody Mon May 12 17:46:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx6Vc5Ppkz5wKR5; Mon, 12 May 2025 17:46:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zx6Vc43Lcz3gPJ; Mon, 12 May 2025 17:46:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C8A/roErcMAVU6Qgp+EvxVVnd3x5CB3cpLdvOH6jP+k=; b=xFgSZCHU6f5eucu9U4A8wGxltHW1qWe2Ni+eAsz0vPGn5oROop+3w2dCoRjaTfLUJOtDp9 GmH6D1O1yiiBXeFbHUFHXEerwDR5qTA1RNAxI9Hm2HacAyXlwWTrCDqBWh9tli0HWUPyNj VBipuw0gr7C/XEYym6koc6gX0kSwnSAPAf9IebRzaFpTaW/sCynVS72hwVE+VwnSnG7We7 2sPE7/4f3e/6cH5HbiMGGnuYMcEU2CBZgqTZlZ6SAplkkN9b16eBkuRUENxQ/BJspcSX4N nA4zlcrjukgepEMAKTgyRZ2jN1cPurI5kEqmt90vBP+lF2pS7tiX3RqULUHD9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C8A/roErcMAVU6Qgp+EvxVVnd3x5CB3cpLdvOH6jP+k=; b=q9S7100wd5hFUTg5d3kiQUCLqv53stejGN9K+J4566fisHHxJq4MnTs4kdg04r+hWdctQM kWtzbgUTEYet8lK8he9xN7fDYVRv7ZegHOGulivBVQQ9Cc1RPD4L3WDpUltKfGiWjmQ11a aWGhKflenbIzU0HvQzPQFcvr5L3ITcKuYzQLKZnceRfZQp0tZTCExgVuYxmla1bMkxNgbl iTYul1KPgWPV7HqQCwDBOXQbwQMsJ5M3ZXSpDQqycdPCxIpLLEBaFYdAusGylvoISV9ExW MmE/z+ZjLvBTQVOJaGoWbkAkfw/F6HeuSgrNwu5FxXVQOEsTu6di+Lo6f2n4MQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747072008; a=rsa-sha256; cv=none; b=XKB0Gy2gCymtMpBK5qDXBOxVnQqeUGb9EQ3NqgHMIVvR7Y6X8cgt9mY0ZSJo18M280j8rE qVFm5VaaxmTAmxBQppvGpjjY3A4LRyHcWZtN16v60yLRKimJRBNh6iEeBnu9JHrU9Q0k5f y3If/VCTeJDW2PzqOG9A5SD93GM7RxmXzMHp/LK8Hd0+c3ITWoB2+O6F7Ofwr4yM1rnKK3 sN07htEmJBoxraa+A7hr4KQWvSGmiNw83tEDvU34VqdH0sVz0E1GHOB5F+9x0wCECo6+Q0 gimiI21Qr07ZDGHw0AhVaR4NLCA3Vgd4zsqRfT36E1Q06ikzdvSC71NlPw0BLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx6Vc3Wl8z1QBG; Mon, 12 May 2025 17:46:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CHkmN9035248; Mon, 12 May 2025 17:46:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CHkmTm035245; Mon, 12 May 2025 17:46:48 GMT (envelope-from git) Date: Mon, 12 May 2025 17:46:48 GMT Message-Id: <202505121746.54CHkmTm035245@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: e51729f608da - main - linuxkpi: Move `release_pages()` to linux_page.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e51729f608dae341b82543d33a11d4ba1f36d46a Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=e51729f608dae341b82543d33a11d4ba1f36d46a commit e51729f608dae341b82543d33a11d4ba1f36d46a Author: Jean-Sébastien Pédron AuthorDate: 2025-04-13 10:58:27 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2025-05-12 17:08:02 +0000 linuxkpi: Move `release_pages()` to linux_page.c We want to avoid putting code managing memory in inline functions in the future. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49810 --- sys/compat/linuxkpi/common/include/linux/mm.h | 3 +++ sys/compat/linuxkpi/common/include/linux/pagemap.h | 9 --------- sys/compat/linuxkpi/common/src/linux_page.c | 9 +++++++++ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index b4c8bf3c1c30..17b7a4137b7a 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -275,6 +275,9 @@ get_page(struct page *page) vm_page_wire(page); } +void linux_release_pages(struct page **pages, int nr); +#define release_pages(pages, nr) linux_release_pages((pages), (nr)) + extern long lkpi_get_user_pages(unsigned long start, unsigned long nr_pages, unsigned int gup_flags, struct page **); diff --git a/sys/compat/linuxkpi/common/include/linux/pagemap.h b/sys/compat/linuxkpi/common/include/linux/pagemap.h index 7244b61257dc..92159f7a2eb8 100644 --- a/sys/compat/linuxkpi/common/include/linux/pagemap.h +++ b/sys/compat/linuxkpi/common/include/linux/pagemap.h @@ -39,15 +39,6 @@ unsigned long linux_invalidate_mapping_pages(vm_object_t obj, pgoff_t start, pgoff_t end); -static inline void -release_pages(struct page **pages, int nr) -{ - int i; - - for (i = 0; i < nr; i++) - put_page(pages[i]); -} - static inline void mapping_clear_unevictable(vm_object_t mapping) { diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index 93aaea01f0df..5114dc708a9e 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -177,6 +177,15 @@ linux_free_pages(struct page *page, unsigned int order) } } +void +linux_release_pages(struct page **pages, int nr) +{ + int i; + + for (i = 0; i < nr; i++) + put_page(pages[i]); +} + vm_offset_t linux_alloc_kmem(gfp_t flags, unsigned int order) { From nobody Mon May 12 17:46:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx6Vf0Zzkz5wKWQ; Mon, 12 May 2025 17:46: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 4Zx6Vd52n5z3gS4; Mon, 12 May 2025 17:46:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49H3u7IY78qI9KVf9aU3qVmP/K5GYOQwtpwdjtdX3lk=; b=AOMs1KUHxuStYlFFm/HX+0WPMD8fGQeIPN1Ys+lu06BXG1c2O8LokoJ95YGjB+Vb3WwXIK bxWP7VqH+QgpD8frJPlLkMC8dIf2C06uXxXEqewGKa5sNIjayErqN4qHt7zV3BZeaPUW/L yzfsd0kN7yLbu9nLR/ABTqmmCz6adnSm0ACQuPcf5LCfm1bik3DVkSzWkuYMfiqSKsfCaR jeQR8vZm1SWkRbdhD7vdjx81AzyHwLW7sAVvt2j0yDq2eL9mMN6HJ88PQ9HOan8ioZaFsk XkFt+oGq1pk9jy15S73346GtbZBZm53MZjAXwf3BFjm2I6/y4UuEi+x2OdtMTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49H3u7IY78qI9KVf9aU3qVmP/K5GYOQwtpwdjtdX3lk=; b=l/6Gn0n453qigH0jp0X2JfKWzqLRnqlFQuQWwuULH1hKT912aBobt51TkSQhzr0syvqGZN Wnyk8XccesOawSBTMTSGbCNqUN6TeZTiK6syuXfXMqOA7TMNR0G/uG/zsRILRbO46902qL SktVq6I4IO9IXgQccg8gK3lo6moieiMpw9dexHd4VLlyDfchcgcEmuKIdJHIjnz3oVcPXz 3Axgd1jKECMlzhTBinHJ8WLgj9LokXC7Eq9aVEU6Tk2X0QIwU7FjhI/rwUe7PyC/UuYzES NTT/uWWYrlUWd7aOdV8jxhg1AbfqEda8IjM81hSBZcYpVOiamdR70O01HEllfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747072009; a=rsa-sha256; cv=none; b=w1orDWscYsZD2j84gOzvskLX0E4ZEG9NgUJleeVZ811VVCGwkfken4r5WL9lAKVXFvKtMk CjEOUp2DYB+844ssPmG0bj/j8W0nqHFhNGWKq+SEzvBvuDnkHfKa2DpsqTdi0NMmescVhE gGUSTnECXQX/7daKkAs8rQlm3AHXzg3dvuDR9VuGdbMRdIXBUbkr4kgJu5QY4Hl7RMWyOr RWrs177/SwQQMA/hZZj39AzJBPeUd3k3TFscW9paDqeLSRyRCXZjr1ck1MJoXjW9xLmYNw ObGA4yUletP9gDtKs4HiI9JjWbElz5LQNSeIPHzlDwmvnIxd37wisdjocb50PQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx6Vd4SqNz1Pyn; Mon, 12 May 2025 17:46: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 54CHknrg035291; Mon, 12 May 2025 17:46:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CHknxQ035288; Mon, 12 May 2025 17:46:49 GMT (envelope-from git) Date: Mon, 12 May 2025 17:46:49 GMT Message-Id: <202505121746.54CHknxQ035288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: fe5ce9eb024b - main - linuxkpi: Move `put_page()` closer to `get_page()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe5ce9eb024b46702d2c75df16699b7f35f616ae Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=fe5ce9eb024b46702d2c75df16699b7f35f616ae commit fe5ce9eb024b46702d2c75df16699b7f35f616ae Author: Jean-Sébastien Pédron AuthorDate: 2025-04-13 11:04:05 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2025-05-12 17:08:02 +0000 linuxkpi: Move `put_page()` closer to `get_page()` This is to prepare a future change to the implementation and make it easier to review. Reviewed by: emaste, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49811 --- sys/compat/linuxkpi/common/include/linux/mm.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 17b7a4137b7a..194baae1d2a4 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -275,6 +275,12 @@ get_page(struct page *page) vm_page_wire(page); } +static inline void +put_page(struct page *page) +{ + vm_page_unwire(page, PQ_ACTIVE); +} + void linux_release_pages(struct page **pages, int nr); #define release_pages(pages, nr) linux_release_pages((pages), (nr)) @@ -334,12 +340,6 @@ pin_user_pages_remote(struct task_struct *task, struct mm_struct *mm, task, mm, start, nr_pages, gup_flags, pages, vmas); } -static inline void -put_page(struct page *page) -{ - vm_page_unwire(page, PQ_ACTIVE); -} - #define unpin_user_page(page) put_page(page) #define unpin_user_pages(pages, npages) release_pages(pages, npages) From nobody Mon May 12 17:46:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx6Vg0Gr5z5wKR8; Mon, 12 May 2025 17:46: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 4Zx6Vf5W0hz3gk2; Mon, 12 May 2025 17:46:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=epbCLajdM7txF85LkzQmFpKLWikeC83EfyW3+RJIVFY=; b=eca67ALmjHHbMlkSuC/Ys18a6+LOtfoEMxq88rasHf2eCvjtlakd1DXIJZmtxdlXOldx68 wyovmAyQma46iQqGAFnsojqHrR3YWKBy3e+UOZdkdawHV6h+b2YSYba3xjp9dsd7q2gfye 6ZEbUYvqc5/8WdvavClGshwaceFkdnVkhh6aW7OI+j3xfYqdojnhjFu8k81MTLLPzD4eb0 wX6WCKbeAXGQYPELp4/QWe4T3K1rrWLwH2Bd5EcR9kW9SlTJJElTVLIDAEhWqJZ2Ae0kUn fODH42fM+AqMkGFXznFvlPWHPhlz5PrfUNCAzCRm2UFBmB199JLZO6GMxB5i4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=epbCLajdM7txF85LkzQmFpKLWikeC83EfyW3+RJIVFY=; b=pobMZU98PfT3pMFDwn8swaMBYw9tTre0+68SId8wqZQi7530utt2c4JPTLe+vXSC+UF4lR 45gpMK4ABzaFoPSf3ukxXlRp9n6oaodtSj71P/PcNG62FmMtpT7zjSoytnda7ibJxgQan9 AKaq2RDR9/ke568UtWmO7x0apQV+vCHsLENT9vMIeBMwJ6hw62ZyEV5bgoXht5nukXVHae 9eArabm5X3BhWpD3XxYKZICk43WOJkHR0ujvCaGVlFl7bPAojRgDNFKVq/9bwWX77mTzsn WPgP1mc0ehxNXtNk1kDkCUoyxmMCXSNeAsci4aGgCMYwcCRzMIgFIURsM7kRMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747072010; a=rsa-sha256; cv=none; b=mmhQDaI/ft2ZNZtr4EirBUALfHj8nxz9jXy3qckOXPy0M7zry2GyDyNma5bzQJQ/TN9jwz loMF2SLVJh9WdNgfux2PtQOErXcVOXL34N2T0W+6PkEnsiKuMH4haeCB7J0lRg4m2P0rMd rq/5Zw+VYHlhni1gb7hWc7BbsNtJM1Jo8ve89V+O5+aFEAYba8vh8CYs/zsABcZpsQLwrP BT8baxf/pnzU9QplBAT9zaP5dUdK6AE/ACkekSHcPZX7e7qr4NuZKqowDfyfaiIlYAkFGJ 3x4eyzNuIH+5WrMhPIAhf/i+6rYBmF2V1+uDHZfFC58/2mQdi2/ctmoxbBe9cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx6Vf540Yz1Pyp; Mon, 12 May 2025 17:46: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 54CHkowA035334; Mon, 12 May 2025 17:46:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CHko4C035331; Mon, 12 May 2025 17:46:50 GMT (envelope-from git) Date: Mon, 12 May 2025 17:46:50 GMT Message-Id: <202505121746.54CHko4C035331@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: 5a263e8458ad - main - linuxkpi: Constify `struct page` arg to `linux_page_address()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a263e8458ade85005fdf71eb44b3fda06e41fef Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=5a263e8458ade85005fdf71eb44b3fda06e41fef commit 5a263e8458ade85005fdf71eb44b3fda06e41fef Author: Jean-Sébastien Pédron AuthorDate: 2025-04-13 11:07:27 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2025-05-12 17:08:02 +0000 linuxkpi: Constify `struct page` arg to `linux_page_address()` Reviewed by: emaste, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49812 --- sys/compat/linuxkpi/common/include/linux/mm.h | 2 +- sys/compat/linuxkpi/common/src/linux_page.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 194baae1d2a4..f523395cc71c 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -184,7 +184,7 @@ get_order(unsigned long size) * * NOTE: This function only works for pages allocated by the kernel. */ -void *linux_page_address(struct page *); +void *linux_page_address(const struct page *); #define page_address(page) linux_page_address(page) static inline void * diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index 5114dc708a9e..c299457f042a 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -83,7 +83,7 @@ si_meminfo(struct sysinfo *si) } void * -linux_page_address(struct page *page) +linux_page_address(const struct page *page) { if (page->object != kernel_object) { From nobody Mon May 12 17:46:51 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx6Vh1PPhz5wKTG; Mon, 12 May 2025 17:46:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zx6Vg6kxQz3gly; Mon, 12 May 2025 17:46:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eqlUmrwnAvQyFD3FXT0bTG+52khm/VZ5dk8gUTgGmZM=; b=YIB0cnNMtcFUdu4XMjp6oQbsVzLCT9D1j/tdWTc67FSY05f1UEgtm3YsYtWCHG8NpSg8ma y8zEYj+cXepQMRJPeIPg99uU/z7bjLysz5+X9+8h5QzPsEC1qjAp+4vpsUoeUFQ4XjKyNS acVwzNo9k/faEMYGp6e1qn/j4AJgGUtDEFbzsJfz/qhzWYpZqxdlH7COaP31RH3M8hG63+ epyLXtPj1NVspYdltyfcaREdFib0P2RDe0C1IvBbh0tPdWzTwLf+g+tIKv2+XFfoAOslVp +y4f/IaHJAIgBrXXIoUOT61x56+U4QYNanJcgR6GmxaVR5f7mV0ua2f7YGm6cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eqlUmrwnAvQyFD3FXT0bTG+52khm/VZ5dk8gUTgGmZM=; b=huUZvuoEVvF/XHsxm+f0gwmiHMT9OGS6sfp/qBWfshJ0d6X/SQGpOi1f2cCdHx7ruC73MZ gE4mYE5vPuibpxC0gBEyy6krVTkP2vmzB/OewEcP7lrEcfCXZpvhfc93hcV9OuM049yjAj YEZIzU4lYVoSx8mZJTb/+pRN2QCs2OTNt1rGs2W0h5BFhc0TIbinWMdcrn1+RF8QTBgnUf d5XWUsWQINxLmcRd75n18TeiR0ro7Tql0EDjPWbHOxlIZTPZxiw10oDFrUPRN518B1I8eT MI237wf5FYDqDpdm4An9uBBVPoWB2ZV+MOnAaLBVEHv3hEXSOXhvyJ0HwLt/5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747072011; a=rsa-sha256; cv=none; b=bQb9/OrUMH3T1FfdhW1JaAxpk4x4RqCOgn1oFvFClPRcY8jDbkNuRlrUBfQqrv/c/5CWWF OuJR03R+ZEYxXIl18nwtjwuNBJHhJtTri0tbUHkKFPWq6U0LvmdsPb/qwEbTxKcubRRuxR QJNL6IsRr6Ex+o3rQGp/b1hNGCNo+hfoN3yF3stJcMASphfY11Q9jLgBvn1war9c2zCRFH DEUW0iqAZ7vKpeJjiqPEV9p5SNKpCAMljPSl+Bx26TCq7nyqpvGaP2ouWBHTy3h2EDXuj9 gtIujuuMROV8N+mwl5Hwu2x6kf52+MI5rcHi4plgIeG6qkHRWbYdkRMi1ccV8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx6Vg5l6sz1QCk; Mon, 12 May 2025 17:46: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 54CHkpmu035375; Mon, 12 May 2025 17:46:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CHkpwR035372; Mon, 12 May 2025 17:46:51 GMT (envelope-from git) Date: Mon, 12 May 2025 17:46:51 GMT Message-Id: <202505121746.54CHkpwR035372@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: c8089810a940 - main - linuxkpi: Make "free page" code paths closer to Linux List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8089810a94027b7f937b9e63d2d8d31a02aaac5 Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=c8089810a94027b7f937b9e63d2d8d31a02aaac5 commit c8089810a94027b7f937b9e63d2d8d31a02aaac5 Author: Jean-Sébastien Pédron AuthorDate: 2025-04-13 11:13:17 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2025-05-12 17:08:02 +0000 linuxkpi: Make "free page" code paths closer to Linux There is basically one code path to free pages on Linux. In particular, `free_pages()` is used for other pages than those returned by `alloc_pages()`. Also on Linux, `release_pages()` takes either `struct page` or `struct folio`. `struct folio` support will be added in a followup commit. Regardless, because pages come from several sources, `linux_free_pages()` need to accept managed and unmanaged pages. Reviewed by: bz, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49813 --- sys/compat/linuxkpi/common/include/linux/mm.h | 3 ++- sys/compat/linuxkpi/common/src/linux_page.c | 22 +++++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index f523395cc71c..569e2a8b70f1 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -278,7 +278,8 @@ get_page(struct page *page) static inline void put_page(struct page *page) { - vm_page_unwire(page, PQ_ACTIVE); + /* `__free_page()` takes care of the refcounting (unwire). */ + __free_page(page); } void linux_release_pages(struct page **pages, int nr); diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index c299457f042a..7ce52cbf95eb 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -165,8 +165,24 @@ linux_free_pages(struct page *page, unsigned int order) for (x = 0; x != npages; x++) { vm_page_t pgo = page + x; - if (vm_page_unwire_noq(pgo)) - vm_page_free(pgo); + /* + * The "free page" function is used in several + * contexts. + * + * Some pages are allocated by `linux_alloc_pages()` + * above, but not all of them are. For instance in the + * DRM drivers, some pages come from + * `shmem_read_mapping_page_gfp()`. + * + * That's why we need to check if the page is managed + * or not here. + */ + if ((pgo->oflags & VPO_UNMANAGED) == 0) { + vm_page_unwire(pgo, PQ_ACTIVE); + } else { + if (vm_page_unwire_noq(pgo)) + vm_page_free(pgo); + } } } else { vm_offset_t vaddr; @@ -183,7 +199,7 @@ linux_release_pages(struct page **pages, int nr) int i; for (i = 0; i < nr; i++) - put_page(pages[i]); + __free_page(pages[i]); } vm_offset_t From nobody Mon May 12 17:46:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx6Vj29Qtz5wKR9; Mon, 12 May 2025 17:46: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 4Zx6Vj06h4z3gkM; Mon, 12 May 2025 17:46:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SrO5RB1g4JZDiZA649ucwQEFbwqfONz1EvP35FLqzWo=; b=aWB97aNm/4DcsN1zt4TvbcmX/PXr2UocZvGJKzFGwL2DGsQNxphBNzNUTlYssxs6SpwFls aKzQXt/l5Z+LzOSQktKIZFXyDTmf5dJhuLT5JL3Ht0Xli5J97WSsV/27OPVwsWgBOgiNmA FpHUFnE+uBYOmprmwsHBkeYPOUGXWrnJOhDbpgE/Bj9btSonuQKhwzLyWdDgkWQG/1dcgc h+fvtCJiwacrg/sKulGYYsKWpHMPI/UMJe6dBhVrosBS79hAwU7pseomFZI3k7On5PtqVe L9VH/c+b7+/lphYV1tmU2ycyd6d4WqkPSYWUsAd45GjsCSRldBz1xZOFynZgIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747072013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SrO5RB1g4JZDiZA649ucwQEFbwqfONz1EvP35FLqzWo=; b=UsasspmPx94IBqhSv/JowHaParsJGGT0KYlJv8y6kCjjPLRPT0Q/Z0kUAtBTXAJ0xDaF+k CP/nOAWJYgfO+ns59ox1Fobc5YER3hl8+58Scr5ZuJNsGXn1bfezMzIR/eBGSLFGhkIXXY d9rbMoYWK6XZg4SON1hGxTabpcH+66ZDd83akX8wTcSUfOKvhcA4/Xg1JOQADc4NMqh1v9 FTnek3hyyscSux3Wvenc6PCoFa8AVi2jwL0YCpEBJ5NDL//zjVh1vVQf5/FNE3SgaBPsRi ea0Mrk1R4BefHcHWyRZkLmWCOruVPX3NpoYFT4fpQMktP5qAtu66biFVrDXtbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747072013; a=rsa-sha256; cv=none; b=xUMxmvC7VNGDWY+0L/uK2+vTsmro0abEC7wdPacUNbeq8tfZcdqZuuEUBYfebyxTMKJUrM aOSMgRMMhjwqP8HWxCsz7rQ+tD9J1N6kdwb37t5UUOc2Ua9Aa+K2619S3Nd9yIHfyG29Dt N4bpfn+6gAIJHnm4uI6bofoA46iTDadsYyJO0FlOT5nLRYAK7/ogECRrbneBHm9ZiQaJTr YTGqORH83XOG9N/hnTnEi1/9ea79/cETHWcI7ZXsSmxRrSgb4YCfWUm3TgwM7DFuX1wtJC a/5VrdgLKmjc6qJ9keNLDCxk9gPICgyva69lAgvOn4lD4R7MqFVGKS7ZYuup5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx6Vh6jftz1Q25; Mon, 12 May 2025 17:46:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CHkqaw035416; Mon, 12 May 2025 17:46:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CHkqK7035413; Mon, 12 May 2025 17:46:52 GMT (envelope-from git) Date: Mon, 12 May 2025 17:46:52 GMT Message-Id: <202505121746.54CHkqK7035413@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: e3b16f53a645 - main - linuxkpi: Add `folio` and `folio_batch` APIs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3b16f53a6455903a7e814045584fe203d4fff64 Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=e3b16f53a6455903a7e814045584fe203d4fff64 commit e3b16f53a6455903a7e814045584fe203d4fff64 Author: Jean-Sébastien Pédron AuthorDate: 2025-04-13 11:23:01 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2025-05-12 17:08:03 +0000 linuxkpi: Add `folio` and `folio_batch` APIs They are used by the i915 DRM driver in Linux 6.6 (although this change was only backported with Linux 6.7 DRM drivers). `struct folio` simply wraps `struct page` for now. `struct folio_batch` is the same as `struct pagevec` but it works with `struct folio` instead of `struct page` directly. Reviewed by: bz, kib, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48743 --- sys/compat/linuxkpi/common/include/linux/gfp.h | 2 + sys/compat/linuxkpi/common/include/linux/mm.h | 64 +++++++++++++++++++- .../linuxkpi/common/include/linux/mm_types.h | 11 ++++ .../linuxkpi/common/include/linux/page-flags.h | 7 +++ sys/compat/linuxkpi/common/include/linux/pagemap.h | 2 + sys/compat/linuxkpi/common/include/linux/pagevec.h | 68 ++++++++++++++++++++++ .../linuxkpi/common/include/linux/scatterlist.h | 7 +++ .../linuxkpi/common/include/linux/shmem_fs.h | 10 ++++ sys/compat/linuxkpi/common/include/linux/swap.h | 14 +++++ sys/compat/linuxkpi/common/src/linux_folio.c | 58 ++++++++++++++++++ sys/compat/linuxkpi/common/src/linux_page.c | 6 +- sys/conf/files | 2 + sys/modules/linuxkpi/Makefile | 1 + 13 files changed, 248 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/gfp.h b/sys/compat/linuxkpi/common/include/linux/gfp.h index 35dbe3e2a436..4c4caa621789 100644 --- a/sys/compat/linuxkpi/common/include/linux/gfp.h +++ b/sys/compat/linuxkpi/common/include/linux/gfp.h @@ -134,6 +134,8 @@ dev_alloc_pages(unsigned int order) return (linux_alloc_pages(GFP_ATOMIC, order)); } +struct folio *folio_alloc(gfp_t gfp, unsigned int order); + /* * Page management for mapped pages: */ diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 569e2a8b70f1..068dbb627c82 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -161,6 +161,14 @@ virt_to_head_page(const void *p) return (virt_to_page(p)); } +static inline struct folio * +virt_to_folio(const void *p) +{ + struct page *page = virt_to_page(p); + + return (page_folio(page)); +} + /* * Compute log2 of the power of two rounded up count of pages * needed for size bytes. @@ -282,8 +290,30 @@ put_page(struct page *page) __free_page(page); } -void linux_release_pages(struct page **pages, int nr); -#define release_pages(pages, nr) linux_release_pages((pages), (nr)) +static inline void +folio_get(struct folio *folio) +{ + get_page(&folio->page); +} + +static inline void +folio_put(struct folio *folio) +{ + put_page(&folio->page); +} + +/* + * Linux uses the following "transparent" union so that `release_pages()` + * accepts both a list of `struct page` or a list of `struct folio`. This + * relies on the fact that a `struct folio` can be cast to a `struct page`. + */ +typedef union { + struct page **pages; + struct folio **folios; +} release_pages_arg __attribute__ ((__transparent_union__)); + +void linux_release_pages(release_pages_arg arg, int nr); +#define release_pages(arg, nr) linux_release_pages((arg), (nr)) extern long lkpi_get_user_pages(unsigned long start, unsigned long nr_pages, @@ -416,4 +446,34 @@ want_init_on_free(void) return (false); } +static inline unsigned long +folio_pfn(struct folio *folio) +{ + return (page_to_pfn(&folio->page)); +} + +static inline long +folio_nr_pages(struct folio *folio) +{ + return (1); +} + +static inline size_t +folio_size(struct folio *folio) +{ + return (PAGE_SIZE); +} + +static inline void +folio_mark_dirty(struct folio *folio) +{ + set_page_dirty(&folio->page); +} + +static inline void * +folio_address(const struct folio *folio) +{ + return (page_address(&folio->page)); +} + #endif /* _LINUXKPI_LINUX_MM_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/mm_types.h b/sys/compat/linuxkpi/common/include/linux/mm_types.h index c08e2511725b..3ea68e97004c 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm_types.h +++ b/sys/compat/linuxkpi/common/include/linux/mm_types.h @@ -79,4 +79,15 @@ mmgrab(struct mm_struct *mm) extern struct mm_struct *linux_get_task_mm(struct task_struct *); #define get_task_mm(task) linux_get_task_mm(task) +struct folio { + /* + * The page member must be at the beginning because `page_folio(p)` + * casts from a `struct page` to a `struct folio`. + * + * `release_pages()` also relies on this to be able to accept either a + * list of `struct page` or a list of `struct folio`. + */ + struct page page; +}; + #endif /* _LINUXKPI_LINUX_MM_TYPES_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/page-flags.h b/sys/compat/linuxkpi/common/include/linux/page-flags.h index 9dd49c8492a5..a22b3a24c330 100644 --- a/sys/compat/linuxkpi/common/include/linux/page-flags.h +++ b/sys/compat/linuxkpi/common/include/linux/page-flags.h @@ -29,6 +29,13 @@ #ifndef _LINUXKPI_LINUX_PAGEFLAGS_H_ #define _LINUXKPI_LINUX_PAGEFLAGS_H_ +#include + #define PageHighMem(p) (0) +#define page_folio(p) \ + (_Generic((p), \ + const struct page *: (const struct folio *)(p), \ + struct page *: (struct folio *)(p))) + #endif /* _LINUXKPI_LINUX_PAGEFLAGS_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/pagemap.h b/sys/compat/linuxkpi/common/include/linux/pagemap.h index 92159f7a2eb8..cb6a1820ea8b 100644 --- a/sys/compat/linuxkpi/common/include/linux/pagemap.h +++ b/sys/compat/linuxkpi/common/include/linux/pagemap.h @@ -33,6 +33,8 @@ #include #include +struct folio_batch; + #define invalidate_mapping_pages(...) \ linux_invalidate_mapping_pages(__VA_ARGS__) diff --git a/sys/compat/linuxkpi/common/include/linux/pagevec.h b/sys/compat/linuxkpi/common/include/linux/pagevec.h index 9ba8ff8effa0..0a952e965b5a 100644 --- a/sys/compat/linuxkpi/common/include/linux/pagevec.h +++ b/sys/compat/linuxkpi/common/include/linux/pagevec.h @@ -66,4 +66,72 @@ check_move_unevictable_pages(struct pagevec *pvec) { } +/* + * struct folio + * + * On Linux, `struct folio` replaces `struct page`. To manage a list of folios, + * there is `struct folio_batch` on top of this, which replaces `struct + * pagevec` above. + * + * Here is the original description when `struct folio` was added to the Linux + * kernel: + * "A struct folio is a new abstraction to replace the venerable struct page. + * A function which takes a struct folio argument declares that it will + * operate on the entire (possibly compound) page, not just PAGE_SIZE bytes. + * In return, the caller guarantees that the pointer it is passing does not + * point to a tail page. No change to generated code." + */ + +struct folio; + +struct folio_batch { + uint8_t nr; + struct folio *folios[PAGEVEC_SIZE]; +}; + +static inline void +folio_batch_init(struct folio_batch *fbatch) +{ + fbatch->nr = 0; +} + +static inline void +folio_batch_reinit(struct folio_batch *fbatch) +{ + fbatch->nr = 0; +} + +static inline unsigned int +folio_batch_count(struct folio_batch *fbatch) +{ + return (fbatch->nr); +} + +static inline unsigned int +folio_batch_space(struct folio_batch *fbatch) +{ + return (PAGEVEC_SIZE - fbatch->nr); +} + +static inline unsigned int +folio_batch_add(struct folio_batch *fbatch, struct folio *folio) +{ + KASSERT( + fbatch->nr < PAGEVEC_SIZE, + ("struct folio_batch %p is full", fbatch)); + + fbatch->folios[fbatch->nr++] = folio; + + return (folio_batch_space(fbatch)); +} + +void __folio_batch_release(struct folio_batch *fbatch); + +static inline void +folio_batch_release(struct folio_batch *fbatch) +{ + if (folio_batch_count(fbatch)) + __folio_batch_release(fbatch); +} + #endif /* _LINUXKPI_LINUX_PAGEVEC_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/scatterlist.h b/sys/compat/linuxkpi/common/include/linux/scatterlist.h index 51ced19e6b5b..537f5bebc5aa 100644 --- a/sys/compat/linuxkpi/common/include/linux/scatterlist.h +++ b/sys/compat/linuxkpi/common/include/linux/scatterlist.h @@ -674,4 +674,11 @@ sg_pcopy_to_buffer(struct scatterlist *sgl, unsigned int nents, return (total); } +static inline void +sg_set_folio(struct scatterlist *sg, struct folio *folio, size_t len, + size_t offset) +{ + sg_set_page(sg, &folio->page, len, offset); +} + #endif /* _LINUXKPI_LINUX_SCATTERLIST_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/shmem_fs.h b/sys/compat/linuxkpi/common/include/linux/shmem_fs.h index efa2c855fe7d..5e91725d4a1c 100644 --- a/sys/compat/linuxkpi/common/include/linux/shmem_fs.h +++ b/sys/compat/linuxkpi/common/include/linux/shmem_fs.h @@ -54,4 +54,14 @@ void linux_shmem_truncate_range(vm_object_t obj, loff_t lstart, #define shmem_truncate_range(...) \ linux_shmem_truncate_range(__VA_ARGS__) +static inline struct folio * +shmem_read_folio_gfp(vm_object_t obj, int pindex, gfp_t gfp) +{ + struct page *page; + + page = shmem_read_mapping_page_gfp(obj, pindex, gfp); + + return (page_folio(page)); +} + #endif /* _LINUXKPI_LINUX_SHMEM_FS_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/swap.h b/sys/compat/linuxkpi/common/include/linux/swap.h index a353d353cd33..5828db7ae392 100644 --- a/sys/compat/linuxkpi/common/include/linux/swap.h +++ b/sys/compat/linuxkpi/common/include/linux/swap.h @@ -37,6 +37,9 @@ #include #include +#include +#include + static inline long get_nr_swap_pages(void) { @@ -54,4 +57,15 @@ current_is_kswapd(void) return (curproc == pageproc); } +static inline void +folio_mark_accessed(struct folio *folio) +{ + mark_page_accessed(&folio->page); +} + +static inline void +check_move_unevictable_folios(struct folio_batch *fbatch) +{ +} + #endif diff --git a/sys/compat/linuxkpi/common/src/linux_folio.c b/sys/compat/linuxkpi/common/src/linux_folio.c new file mode 100644 index 000000000000..c2af7792be04 --- /dev/null +++ b/sys/compat/linuxkpi/common/src/linux_folio.c @@ -0,0 +1,58 @@ +/*- + * Copyright (c) 2024-2025 The FreeBSD Foundation + * Copyright (c) 2024-2025 Jean-Sébastien Pédron + * + * This software was developed by Jean-Sébastien Pédron under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +struct folio * +folio_alloc(gfp_t gfp, unsigned int order) +{ + struct page *page; + struct folio *folio; + + /* + * Allocated pages are wired already. There is no need to increase a + * refcount here. + */ + page = alloc_pages(gfp | __GFP_COMP, order); + folio = (struct folio *)page; + + return (folio); +} + +void +__folio_batch_release(struct folio_batch *fbatch) +{ + release_pages(fbatch->folios, folio_batch_count(fbatch)); + + folio_batch_reinit(fbatch); +} diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index 7ce52cbf95eb..ebb92eacbf9a 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -194,12 +194,14 @@ linux_free_pages(struct page *page, unsigned int order) } void -linux_release_pages(struct page **pages, int nr) +linux_release_pages(release_pages_arg arg, int nr) { int i; + CTASSERT(offsetof(struct folio, page) == 0); + for (i = 0; i < nr; i++) - __free_page(pages[i]); + __free_page(arg.pages[i]); } vm_offset_t diff --git a/sys/conf/files b/sys/conf/files index 66d96acedfc6..6ad3ea21b14e 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4595,6 +4595,8 @@ compat/linuxkpi/common/src/linux_domain.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_firmware.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" +compat/linuxkpi/common/src/linux_folio.c optional compat_linuxkpi \ + compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_fpu.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_hrtimer.c optional compat_linuxkpi \ diff --git a/sys/modules/linuxkpi/Makefile b/sys/modules/linuxkpi/Makefile index 692f69c1f4e1..a662f5dffbb6 100644 --- a/sys/modules/linuxkpi/Makefile +++ b/sys/modules/linuxkpi/Makefile @@ -7,6 +7,7 @@ SRCS= linux_compat.c \ linux_dmi.c \ linux_domain.c \ linux_firmware.c \ + linux_folio.c \ linux_fpu.c \ linux_hrtimer.c \ linux_idr.c \ From nobody Mon May 12 18:28:13 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx7QP3hj9z5vdQb; Mon, 12 May 2025 18:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zx7QP2vdxz4725; Mon, 12 May 2025 18:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747074493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zD/rGkS6pKVtrmdUY1UU9WV2SCEWDc4IB6kB95jQLqM=; b=q/HjwbDMyAalW4Suhdg9tBZFjHYFMzOcJhVhVZOMUFXGR441vkQao0D4IGgBGjkQxdLDxt uJmLRBplRhPMwMCWOKG8oPwg8hnadu+at+cjtHdfFM/8Mcndlr9nzPhvIeEDzWJ4drl1mL KGkGbS6oPsVnFg6uDgkbdmv6htcMReibvLVf5jcYsGpr9YM/bptsAu+V4nAaZagIzH+kIi 64Ntsq7m/0EFFVSvaTtb4O7CLXGMOC6XjwoDtcWt+pE6bO+/rUEudfu+qzlAMjqWnaYJh6 imMxQ4uuOX610fJHnHOQib3K2V8egzSEXSCI0Nv82KTHt6lAbJJL57+jlxlbww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747074493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zD/rGkS6pKVtrmdUY1UU9WV2SCEWDc4IB6kB95jQLqM=; b=E3Zz99GGlm/FESs0YDBaWMV3HykA+Oe9QH/xOzktTYmdckk240P/xidq4tLLYET1wksUV0 DtVZzdVqD65+eroVA3oifZ1zR4k9XzdIV8welS5YCUyPvswAIv5w2U0kSVHiKWyJsb62Tf d3lK3ozBYMvDW57AAF0xG9uzdCwGrNhE4UbulzcI2TRC/k09bBtTC073MRWrw85kFAknZS 0LZH5RaZPdgMKsORrTtJ99GTCviwP+WQaiQSU4QUHD6wWxtNx2yiKckFxrfbgJC+F7Lpve a7GScLjTlW14wfKaPWvgY++qaZD0SnY/fKmuh0wn9NawXbUtMKYe0p8TBHJVew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747074493; a=rsa-sha256; cv=none; b=vuK82TKVeCEDqrwzJ1r+0KW/jas0Z5Wo+rSzGW5IZB0AWSoGz1zW3pJp9ujaY7LbUWteRv PgZUBNswecLhJghJO0cDovtZyu+ncLIFDOuX8vdcOX1cQcH1epVpTOOCpC7DEn/LkYXz3/ dR4DMRejdBwnldjDeBlJuJYisuIjVzul+WaACPXYFZpaFTsx8ij9EN6L5J0q34BxV1As9/ ac4PK0x/jBfujnUEGa0gcYn4AiZNUFdUo1Cu19Pn8Ik+xw1JCoyHiRONBMSyGYEdtPofpz roUf2GYfPPg56sOGyB+EbLWYlJACE9C6K2Nt7NEGtAVm2S3NRWKGd6lwyleOJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx7QP2SPwz1R1B; Mon, 12 May 2025 18:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54CISDHe011097; Mon, 12 May 2025 18:28:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CISD4u011094; Mon, 12 May 2025 18:28:13 GMT (envelope-from git) Date: Mon, 12 May 2025 18:28:13 GMT Message-Id: <202505121828.54CISD4u011094@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 7080a0c170da - main - flua: add posix.unistd.execp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7080a0c170daf8e4b3f331ec33003b2f8893dc23 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7080a0c170daf8e4b3f331ec33003b2f8893dc23 commit 7080a0c170daf8e4b3f331ec33003b2f8893dc23 Author: Isaac Freund AuthorDate: 2025-05-05 09:57:13 +0000 Commit: Ed Maste CommitDate: 2025-05-12 18:27:57 +0000 flua: add posix.unistd.execp This matches the interface of lposix, although I do wonder why they went with execp rather than execvp for the function name here. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50177 --- libexec/flua/modules/lposix.c | 57 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/modules/lposix.c index a706adf2c353..816d4bc688d2 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/modules/lposix.c @@ -198,6 +198,62 @@ err: return (3); } +static int +lua_execp(lua_State *L) +{ + int argc, error; + const char *file; + const char **argv; + + enforce_max_args(L, 2); + + file = luaL_checkstring(L, 1); + luaL_checktype(L, 2, LUA_TTABLE); + + lua_len(L, 2); + argc = lua_tointeger(L, -1); + + /* + * Use lua_newuserdatauv() to allocate a scratch buffer that is tracked + * and freed by lua's GC. This avoid any chance of a leak if a lua error + * is raised later in this function (e.g. by luaL_argerror()). + * The (argc + 2) size gives enough space in the buffer for argv[0] and + * the terminating NULL. + */ + argv = lua_newuserdatauv(L, (argc + 2) * sizeof(char *), 0); + + /* + * Sequential tables in lua start at index 1 by convention. + * If there happens to be a string at index 0, use that to + * override the default argv[0]. This matches the lposix API. + */ + lua_pushinteger(L, 0); + lua_gettable(L, 2); + argv[0] = lua_tostring(L, -1); + if (argv[0] == NULL) { + argv[0] = file; + } + + for (int i = 1; i <= argc; i++) { + lua_pushinteger(L, i); + lua_gettable(L, 2); + argv[i] = lua_tostring(L, -1); + if (argv[i] == NULL) { + luaL_argerror(L, 2, + "argv table must contain only strings"); + } + } + argv[argc + 1] = NULL; + + execvp(file, (char **)argv); + error = errno; + + lua_pushnil(L); + lua_pushstring(L, strerror(error)); + lua_pushinteger(L, error); + return (3); +} + static int lua_fnmatch(lua_State *L) { @@ -513,6 +569,7 @@ static const struct luaL_Reg unistdlib[] = { REG_SIMPLE(chown), REG_DEF(close, lua_pclose), REG_SIMPLE(dup2), + REG_SIMPLE(execp), REG_SIMPLE(fork), REG_SIMPLE(getpid), REG_SIMPLE(pipe), From nobody Mon May 12 19:16:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx8Tm0prQz5vj7Y; Mon, 12 May 2025 19:16:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zx8Tl6mhYz3cdB; Mon, 12 May 2025 19:16:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747077372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z9eXLpCxU//tbw0R3qFvQZyGrUn9UBFq0a9FjpqXMos=; b=FR82/9e6Q/vj+JpeN6HJ4ksJZ7bhxKv14JHqIrI7IeAJERDBM4Rr8/f58cdVOkl1GO6EEC smRRps4pGnCyzaTqsXEsOydxqe/XdnbUl4vcpv0Fo+NemyugqZJvL1bbGWblbrsMgZIDio 9HiBBBLs++xRg+pAwuIoFu0ffTMU7qMG7B0TjSRhv3fpfeBGXX5/TckhA+sdDVUKAvxg/7 AvN1SbFoeiOpbOvqvEsisjTC0qgaYUXGTr5vEn5VsS6pVgfoA4iTjtAvLu87IkwjhHSNVe qPsvT4tDExX/BmTAH937Z/GfF7e/laC97QuF66a7L1vXr2p9aMm2i8zx5nuHyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747077372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z9eXLpCxU//tbw0R3qFvQZyGrUn9UBFq0a9FjpqXMos=; b=GkAhOTl6n+kcxdzvsQkB02XKeSVdWRQdQ0VyQLvy7dRNOWPJ5iCl3VG7gEKlx/5/QaH0H9 /iuVQg5D6m4FlNQdp/aQ6/Xl3pHzDYWl1FNqNnSig3fXPVvUN3rMVU/UGW7bg0exzj5Oyk eS2SoVyYO7q2a/EocsoPXPGHQas4KUjimPnPD064/XDZXtAq3SYfoycA6cC3MhusxYRJMU TN43JTzgUFNYHODROibgctKzEczEfkkhncnFOktEl0amA0IUV+DJtobW1xNmq0U3drOhui Wa3ojJDyRFoNyM4dMRYZ7w0crTZuu7ccfS1oew5rGnoVC198CHBGBSWQWM8v1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747077372; a=rsa-sha256; cv=none; b=xxLpGx2Ntaen8sSf8AsFBY1vS4EfaRgjj/l6SRur6gVD2X5lCGgP4DI94oRTGQBmfSLdA2 ZUpAMybhyWIw8jnGwDrzWZHm/uIL5SlQwuoHCd3tEKVQiKBSqcbUHzVWExu2rm7t9yN3lW zWV0YzKZqephrZZNUgbE/uGmNYnRDJToq7QJYy7315XmYcSUmE4JDREBzgxLAz7fUrbHn+ OHZkjZFzDrqosj4Bn5feWl9t5uUzZotVlKIt5bzXgapNJm1/VFhwd14QSkpmXrdT0U5DOE z4x9mTj9ufNw1+KudGDebKVsCPK7kbMWhMjYHk76OmBjcjsomT88yThoxwN5Tg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx8Tl61XGz1SMr; Mon, 12 May 2025 19:16: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 54CJGBdf004292; Mon, 12 May 2025 19:16:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CJGBGN004289; Mon, 12 May 2025 19:16:11 GMT (envelope-from git) Date: Mon, 12 May 2025 19:16:11 GMT Message-Id: <202505121916.54CJGBGN004289@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 16d987fe7817 - main - LinuxKPI: 802.11: make sure AUTH frames are not being sent if BSS changed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16d987fe781780100a31df30b9edd79ebb54f957 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=16d987fe781780100a31df30b9edd79ebb54f957 commit 16d987fe781780100a31df30b9edd79ebb54f957 Author: Bjoern A. Zeeb AuthorDate: 2025-05-12 15:12:39 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-05-12 19:15:13 +0000 LinuxKPI: 802.11: make sure AUTH frames are not being sent if BSS changed iwlwifi keeps logging 'Invalid TXQ id' even after previous changes to catch the BSS changed. The reason for this is that we do not error in the SCAN -> AUTH path as otherwise we would not have the state machine get us back to SCAN to clear up firmware state before auth/assoc to the new BSS. If we are not in synch as net80211 just swapped the iv_bss from under us, disable the TX queue for the (old) lsta to prevent the AUTH frame sent from sta_newstate() reaching the driver. After all we are not trying to authenticate to that node (sta) anymore. Sponsored by: The FreeBSD Foundation PR: 274382 MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 357f451a3f1a..4540c1aaf1c1 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2021,6 +2021,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int struct ieee80211_prep_tx_info prep_tx_info; uint32_t changed; int error; + bool synched; /* * In here we use vap->iv_bss until lvif->lvif_bss is set. @@ -2211,14 +2212,6 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int __func__, ni, ni->ni_drv_data)); lsta = ni->ni_drv_data; - /* - * Make sure in case the sta did not change and we re-add it, - * that we can tx again. - */ - LKPI_80211_LSTA_TXQ_LOCK(lsta); - lsta->txq_ready = true; - LKPI_80211_LSTA_TXQ_UNLOCK(lsta); - /* Insert the [l]sta into the list of known stations. */ list_add_tail(&lsta->lsta_list, &lvif->lsta_list); @@ -2292,10 +2285,10 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int ieee80211_ref_node(lsta->ni); lvif->lvif_bss = lsta; if (lsta->ni == vap->iv_bss) { - lvif->lvif_bss_synched = true; + lvif->lvif_bss_synched = synched = true; } else { /* Set to un-synched no matter what. */ - lvif->lvif_bss_synched = false; + lvif->lvif_bss_synched = synched = false; /* * We do not error as someone has to take us down. * If we are followed by a 2nd, new net80211::join1() going to @@ -2305,9 +2298,20 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int * to net80211 as we never used the node beyond alloc()/free() * and we do not hold an extra reference for that anymore given * ni : lsta == 1:1. + * Problem is if we do not error a MGMT/AUTH frame will be + * sent from net80211::sta_newstate(); disable lsta queue below. */ } LKPI_80211_LVIF_UNLOCK(lvif); + /* + * Make sure in case the sta did not change and we re-added it, + * that we can tx again but only if the vif/iv_bss are in sync. + * Otherwise this should prevent the MGMT/AUTH frame from being + * sent triggering a warning in iwlwifi. + */ + LKPI_80211_LSTA_TXQ_LOCK(lsta); + lsta->txq_ready = synched; + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); goto out_relocked; out: From nobody Mon May 12 20:02:00 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zx9Vc2YJCz5vmD3; Mon, 12 May 2025 20:02: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 4Zx9Vc1Tkdz49mp; Mon, 12 May 2025 20:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747080120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Q2C3tpk3ck122gToOFCcngHfmxWHbOiFgLqHGLWjx0=; b=fG5hfTNOq3sbJEgb8ldRtPHqjqNSwf97Pj+Xui0Gb5LMTTrJRHcs/s+c8yUzv2sH0/KSMy Y9ZCm4CcAEiSxM3EJfi7alIweLMl8AILhBHL/QVhIypX2JDBzW7H3o1Cp8MyslWNp+8trH 4lmG2YXW430W4JPC8ZdfQr7z6nAGNSZNZdXN+mKg6qLpe57wXoHJyNgWy74q4KSfI8kI0i Ido86FMy0vCP5XdQultKOzdJKHIVp8D029UoReh4RBdX+3kgsuH1K6r1gHFVsMZiiM7PlE SI6tRgHVDcET9wz1m1fDawC4Yrn4bTUtR/bP4R8/BsWFCvJPze5RX2Rlu0DCHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747080120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Q2C3tpk3ck122gToOFCcngHfmxWHbOiFgLqHGLWjx0=; b=vGQLUVLTHo+DJKjXhsaHoh3hAkARZRk4m526rEOTWXg8vDTlkep1Im3bPj9g/tzxLcpD3c HYDnoJ0k9H9GdtlDYDVn3Xwem2fe6INSFfKko17gOtJgHRsojSkiS1MEPdJeRoLGuQ1yFo B2qhOJ8h+X3cDA3KRS6gm4U6HLFhPC6BbvQhcNlsme4poZQYPm0uYWvg/zhRPotXgLPuqL zljypiKaGMx4KPDB18n1Q9c9W+/BRg46wDwScDgBpyod0Nv4QcgcQO2zQ1WE5Cwly92DQi KIDVYqDIJza07yKFAIxUXee8d3SA/6Fcy7DqoDzWPKSQ9ZN7+b+UPwJLDtlSew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747080120; a=rsa-sha256; cv=none; b=AGb0aRFDMqta9l5PORrcf+pCKjbsBDodtdkj6meLMwyVI2ZsVeqD/UlBXI6ekk4Uu8bTbW U4WpxeBJqwfKzDL7uvWoOjfDjhZpXTJfFZI7ytq9i41wHQDB8MgFoyTRrkRNZsnNDwOX8T qYsqXSb/o4/PiNac+hu1e6T8GbDVIvPLbQhwvNq7UmjpRD4+3RXHqlp8xQxO6jN0L3I0qo k1y+snx5DGzn+ERdPRSk7HMg215Ezk6pgcMgK27Mv3nDwKkI3bdDoFzwPFx6KoEUxtZGQH pm/uNYYeXywtb8gnE4hoBU2w2Mh71T9gOSQ9qw9DjdWIaqCPhW5hXN3VPFA/yQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zx9Vc148RzwL; Mon, 12 May 2025 20:02: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 54CK20WK095281; Mon, 12 May 2025 20:02:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CK2006095278; Mon, 12 May 2025 20:02:00 GMT (envelope-from git) Date: Mon, 12 May 2025 20:02:00 GMT Message-Id: <202505122002.54CK2006095278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: d23b3bbdd44f - main - vm_page: alphabetize declarations List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d23b3bbdd44fc9d30f7dc5140178958055b178c9 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=d23b3bbdd44fc9d30f7dc5140178958055b178c9 commit d23b3bbdd44fc9d30f7dc5140178958055b178c9 Author: Doug Moore AuthorDate: 2025-05-12 19:59:41 +0000 Commit: Doug Moore CommitDate: 2025-05-12 19:59:41 +0000 vm_page: alphabetize declarations Alphabetize a section of the header file that includes only function declarations. Add names to the previously-unnamed parameters in some of those declarations. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D50249 --- sys/vm/vm_page.h | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 6c1826bc68e6..4bcd8d9f8236 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -591,22 +591,9 @@ malloc2vm_flags(int malloc_flags) #define PS_ALL_VALID 0x2 #define PS_NONE_BUSY 0x4 -bool vm_page_busy_acquire(vm_page_t m, int allocflags); -void vm_page_busy_downgrade(vm_page_t m); -int vm_page_busy_tryupgrade(vm_page_t m); -bool vm_page_busy_sleep(vm_page_t m, const char *msg, int allocflags); -void vm_page_busy_sleep_unlocked(vm_object_t obj, vm_page_t m, - vm_pindex_t pindex, const char *wmesg, int allocflags); -void vm_page_free(vm_page_t m); -void vm_page_free_zero(vm_page_t m); - void vm_page_activate (vm_page_t); void vm_page_advise(vm_page_t m, int advice); vm_page_t vm_page_alloc(vm_object_t, vm_pindex_t, int); -vm_page_t vm_page_alloc_iter(vm_object_t, vm_pindex_t, int, - struct pctrie_iter *); -vm_page_t vm_page_alloc_domain_iter(vm_object_t, vm_pindex_t, int, int, - struct pctrie_iter *); vm_page_t vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req, u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary, vm_memattr_t memattr); @@ -614,6 +601,10 @@ vm_page_t vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain, int req, u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary, vm_memattr_t memattr); +vm_page_t vm_page_alloc_domain_iter(vm_object_t object, vm_pindex_t pindex, + int domain, int req, struct pctrie_iter *pages); +vm_page_t vm_page_alloc_iter(vm_object_t object, vm_pindex_t pindex, int req, + struct pctrie_iter *pages); vm_page_t vm_page_alloc_noobj(int); vm_page_t vm_page_alloc_noobj_domain(int, int); vm_page_t vm_page_alloc_noobj_contig(int req, u_long npages, vm_paddr_t low, @@ -624,6 +615,21 @@ vm_page_t vm_page_alloc_noobj_contig_domain(int domain, int req, u_long npages, vm_memattr_t memattr); void vm_page_bits_set(vm_page_t m, vm_page_bits_t *bits, vm_page_bits_t set); bool vm_page_blacklist_add(vm_paddr_t pa, bool verbose); +bool vm_page_busy_acquire(vm_page_t m, int allocflags); +void vm_page_busy_downgrade(vm_page_t m); +int vm_page_busy_tryupgrade(vm_page_t m); +bool vm_page_busy_sleep(vm_page_t m, const char *msg, int allocflags); +void vm_page_busy_sleep_unlocked(vm_object_t obj, vm_page_t m, + vm_pindex_t pindex, const char *wmesg, int allocflags); +void vm_page_deactivate(vm_page_t m); +void vm_page_deactivate_noreuse(vm_page_t m); +void vm_page_dequeue(vm_page_t m); +void vm_page_dequeue_deferred(vm_page_t m); +void vm_page_free(vm_page_t m); +void vm_page_free_invalid(vm_page_t m); +int vm_page_free_pages_toq(struct spglist *free, bool update_wire_count); +void vm_page_free_zero(vm_page_t m); +vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr); int vm_page_grab_zero_partial(vm_object_t object, vm_pindex_t pindex, int base, int end); vm_page_t vm_page_grab(vm_object_t, vm_pindex_t, int); @@ -640,12 +646,6 @@ int vm_page_grab_valid_iter(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags, struct pctrie_iter *pages); int vm_page_grab_valid_unlocked(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags); -void vm_page_deactivate(vm_page_t); -void vm_page_deactivate_noreuse(vm_page_t); -void vm_page_dequeue(vm_page_t m); -void vm_page_dequeue_deferred(vm_page_t m); -void vm_page_free_invalid(vm_page_t); -vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr); void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr); void vm_page_init_marker(vm_page_t marker, int queue, uint16_t aflags); void vm_page_init_page(vm_page_t m, vm_paddr_t pa, int segind, int pool); @@ -712,7 +712,6 @@ int vm_page_is_valid(vm_page_t, int, int); void vm_page_test_dirty(vm_page_t); vm_page_bits_t vm_page_bits(int base, int size); void vm_page_zero_invalid(vm_page_t m, boolean_t setvalid); -int vm_page_free_pages_toq(struct spglist *free, bool update_wire_count); void vm_page_dirty_KBI(vm_page_t m); void vm_page_lock_KBI(vm_page_t m, const char *file, int line); From nobody Mon May 12 21:01:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxBqn3nK7z5vqLr; Mon, 12 May 2025 21:01: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 4ZxBqn3DcBz42b5; Mon, 12 May 2025 21:01:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747083717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LTaeJdQmiXDVjWWR2AEGvQrp4IBGxBrwUncWlx7elto=; b=bPfkOpI458dYltkJgcUgDYnbEDI8A0jTdotTKv3f4DHl6OVBpAWEwT4dbWulbpRgnnYeJe KU+Qq/UtVphexnkaIHZpcpYGUpeazhqa59Wg1RP/nVxJj9NonfKNg6BoMckUz96P+VaOlJ CfUjMNPNiViUXt7afnqpfsRjm/HxUa8borjig+IaU/L4dH63AXFsdaY+qZhvJHRNBRNh2m 0JWhkp6SfpcrJrClv2QBekftu5YEm1gJUFM33pgdFTvPsEHtRXlTnhafS6OsAqhr+vxSD3 MI19jLZ7gulGdMnevb2gWWpWoPqLZwf3cvAwOm9JY2Vxg1YMZ4U3eZBFx8g93Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747083717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LTaeJdQmiXDVjWWR2AEGvQrp4IBGxBrwUncWlx7elto=; b=Mr7XTYTICvHuAhdLvJLtza5tVrfyM7v6zB9//NGasUMMv1tV2iVo3koOUH81XAu7+JDad6 vQmxFdEIxMysQpZ920sX/VaooRX/5ehbV8o8fuIlsEM7Lkj80H8gkPAZvNdcbgluwpM5T1 94VKcs4l8yCuo96QzxxABEJcKmidzkKEbD6WFLI88vGmk9P4UTAuzgDgDSnim+OhSdQvoU 75yK/NhktYdEEVzWyvjZj7FDNm2vdIOnObyP0CYsmpg/qBtwvWLWYwZ0OvFWW8VY9UdtJ3 o+P+turoXAHwDe83mxFzqrVx9OGOIAeKd+lqNNvOFJOBrY2borADtY2aBY+EUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747083717; a=rsa-sha256; cv=none; b=kn9Mg+LVmK8CWlHeiBY6pXgn8RFtEixjk7T6euEMZeipQ1RhOgn4AR/b/Ao7ohe9teGrna UL64gN/wLNsAezo3aMeeODMxhCTPtYFnNHtyCsueN9ys1ePDumToFYtX/e8eDO8UrjucyI XZIsT+MSBMYromTjL9k82qZWDPTB2FLum3cL1x+oFeW8L4saUNAogukF9MVlf7fRJievqL Prat+ixOi05kBfSJow3cyaEaM9T11XiJVY/dsy8X9YXsh8EmoXYLuiSngfGFsJsHUiqsLj sRO1MrvPdlCaa5GxnXtd16w875ysD7JdyX6Y0vnR+sjJymR7MXSvI/Av4XybaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxBqn2Z1Pz2Vx; Mon, 12 May 2025 21:01: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 54CL1vIk009325; Mon, 12 May 2025 21:01:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CL1v0d009322; Mon, 12 May 2025 21:01:57 GMT (envelope-from git) Date: Mon, 12 May 2025 21:01:57 GMT Message-Id: <202505122101.54CL1v0d009322@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 5d59c1b4f14e - main - stand/lua manuals: Describe better List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d59c1b4f14e2fa6388b1d75ee3243085f1c69f2 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=5d59c1b4f14e2fa6388b1d75ee3243085f1c69f2 commit 5d59c1b4f14e2fa6388b1d75ee3243085f1c69f2 Author: Alexander Ziaee AuthorDate: 2025-03-29 05:14:19 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-12 20:58:40 +0000 stand/lua manuals: Describe better The lua boot loader module manuals were getting pulled into search results for FreeBSD, but not for "boot" or "loader". Reword them to increase clarity for boot or loader searches, as well as the FreeBSD search term which we've been scoping to system topic overview manuals. MFC after: 3 days Reviewed by: imp, mhorne Approved by: mhorne (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pulls/1628 --- stand/lua/cli.lua.8 | 4 ++-- stand/lua/color.lua.8 | 4 ++-- stand/lua/config.lua.8 | 4 ++-- stand/lua/core.lua.8 | 4 ++-- stand/lua/drawer.lua.8 | 4 ++-- stand/lua/gfx.lua.8 | 4 ++-- stand/lua/hook.lua.8 | 4 ++-- stand/lua/loader.conf.lua.5 | 2 +- stand/lua/loader.lua.8 | 4 ++-- stand/lua/menu.lua.8 | 4 ++-- stand/lua/password.lua.8 | 4 ++-- stand/lua/screen.lua.8 | 4 ++-- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/stand/lua/cli.lua.8 b/stand/lua/cli.lua.8 index 4077ca6b0b56..aee1d3d53579 100644 --- a/stand/lua/cli.lua.8 +++ b/stand/lua/cli.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 24, 2021 +.Dd March 29, 2025 .Dt CLI.LUA 8 .Os .Sh NAME .Nm cli.lua -.Nd FreeBSD Lua CLI module +.Nd bootloader command line interpreter module .Sh DESCRIPTION .Nm contains the main functionality required to add new CLI commands, which can be diff --git a/stand/lua/color.lua.8 b/stand/lua/color.lua.8 index 8a31d2034a48..9a3b9b1b9385 100644 --- a/stand/lua/color.lua.8 +++ b/stand/lua/color.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt COLOR.LUA 8 .Os .Sh NAME .Nm color.lua -.Nd FreeBSD color module +.Nd bootloader color module .Sh DESCRIPTION .Nm contains functionality for working with colors. diff --git a/stand/lua/config.lua.8 b/stand/lua/config.lua.8 index b2b1122285eb..7e8863203446 100644 --- a/stand/lua/config.lua.8 +++ b/stand/lua/config.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 17, 2020 +.Dd March 29, 2025 .Dt CONFIG.LUA 8 .Os .Sh NAME .Nm config.lua -.Nd FreeBSD config module +.Nd bootloader configuration module .Sh DESCRIPTION .Nm contains configuration and module loading functionality. diff --git a/stand/lua/core.lua.8 b/stand/lua/core.lua.8 index 0bdf88c1a364..de43d3e2b220 100644 --- a/stand/lua/core.lua.8 +++ b/stand/lua/core.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 8, 2023 +.Dd March 29, 2025 .Dt CORE.LUA 8 .Os .Sh NAME .Nm core.lua -.Nd FreeBSD core module +.Nd bootloader core module .Sh DESCRIPTION .Nm contains core functionality that does not have a more fitting module. diff --git a/stand/lua/drawer.lua.8 b/stand/lua/drawer.lua.8 index a3a4865d3efe..91738f4b2434 100644 --- a/stand/lua/drawer.lua.8 +++ b/stand/lua/drawer.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt DRAWER.LUA 8 .Os .Sh NAME .Nm drawer.lua -.Nd FreeBSD menu/screen drawer module +.Nd bootloader menu/screen drawer module .Sh DESCRIPTION .Nm contains functionality for drawing and manipulating the menu, logo, and brand diff --git a/stand/lua/gfx.lua.8 b/stand/lua/gfx.lua.8 index 82d3f90f4af7..75f258026804 100644 --- a/stand/lua/gfx.lua.8 +++ b/stand/lua/gfx.lua.8 @@ -3,12 +3,12 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.Dd February 6, 2024 +.Dd March 29, 2025 .Dt GFX.LUA 8 .Os .Sh NAME .Nm gfx.lua -.Nd Fx Lua gfx module +.Nd bootloader graphics module .Sh DESCRIPTION The built-in graphics related Lua bindings for the .Fx diff --git a/stand/lua/hook.lua.8 b/stand/lua/hook.lua.8 index f0e20153a924..91d5f76b6e1c 100644 --- a/stand/lua/hook.lua.8 +++ b/stand/lua/hook.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 28, 2020 +.Dd March 29, 2025 .Dt HOOK.LUA 8 .Os .Sh NAME .Nm hook.lua -.Nd FreeBSD hook module +.Nd bootloader hook module .Sh DESCRIPTION .Nm contains functionality for defining hook types and attaching hooks. diff --git a/stand/lua/loader.conf.lua.5 b/stand/lua/loader.conf.lua.5 index 7fad7d2f78dd..509944ab6598 100644 --- a/stand/lua/loader.conf.lua.5 +++ b/stand/lua/loader.conf.lua.5 @@ -29,7 +29,7 @@ .Os .Sh NAME .Nm loader.conf.lua -.Nd Lua-based system bootstrap configuration file +.Nd system bootstrap Lua configuration information .Sh DESCRIPTION When the lua-based .Xr loader 8 diff --git a/stand/lua/loader.lua.8 b/stand/lua/loader.lua.8 index e5aee7e8602d..ffee46526c9f 100644 --- a/stand/lua/loader.lua.8 +++ b/stand/lua/loader.lua.8 @@ -3,12 +3,12 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.Dd February 6, 2024 +.Dd March 29, 2025 .Dt LOADER.LUA 8 .Os .Sh NAME .Nm loader.lua -.Nd Fx Lua loader module +.Nd bootloader Lua binding module .Sh DESCRIPTION The built-in Lua bindings for the .Fx diff --git a/stand/lua/menu.lua.8 b/stand/lua/menu.lua.8 index e2a0ff09ffd9..e2e32efdf3b4 100644 --- a/stand/lua/menu.lua.8 +++ b/stand/lua/menu.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 31, 2021 +.Dd March 29, 2025 .Dt MENU.LUA 8 .Os .Sh NAME .Nm menu.lua -.Nd FreeBSD dynamic menu boot module +.Nd bootloader dynamic menu module .Sh DESCRIPTION .Nm contains the main functionality required to build a dynamic menu system. diff --git a/stand/lua/password.lua.8 b/stand/lua/password.lua.8 index 1fbe395ab0db..34623c001206 100644 --- a/stand/lua/password.lua.8 +++ b/stand/lua/password.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt PASSWORD.LUA 8 .Os .Sh NAME .Nm password.lua -.Nd FreeBSD password module +.Nd bootloader password module .Sh DESCRIPTION .Nm contains functionality for prompting for and checking passwords. diff --git a/stand/lua/screen.lua.8 b/stand/lua/screen.lua.8 index 691af5bf0758..a41ce6faf08b 100644 --- a/stand/lua/screen.lua.8 +++ b/stand/lua/screen.lua.8 @@ -24,12 +24,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2018 +.Dd March 29, 2025 .Dt SCREEN.LUA 8 .Os .Sh NAME .Nm screen.lua -.Nd FreeBSD screen manipulation module +.Nd bootloader screen manipulation module .Sh DESCRIPTION .Nm contains functionality for manipulating the screen. From nobody Mon May 12 22:27:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxDkJ1kqyz5vwZg; Mon, 12 May 2025 22:27: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 4ZxDkJ0F3Cz4GD3; Mon, 12 May 2025 22:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747088840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NxQLZxXlfALtfDHbMOQ+ajTZg1Y3krXJj1l9z3wCMsg=; b=PxANhAR/eCnPCDYaQ/4SlbwYD+7yseobi67y/zqFazBuOc2iHLv40toL3hFy8Kv02QeSwk s9LeD4GHABmC2Jrrm5ELRZQoN4OfuCSV3MGRkjL3/RuymMbMLTFL8UPJVU7llNft74NIza MEQJjyP1DrJESmXYLGW2b5rYiXH0ywr3uNXg661G3xaOd+0Q13Wb/+9JJ0R7GwjCScbedP nDyAL3JtKEQDZ1a701B0Ub0bEKHCRVIpu9rsRizzNesyCeUIqn3m8hKuQGSQxo9yUnhGpd axwwTZC5Nz0xjitGNOS1AOM9GeKc3t9P1CrkFLo6hwTVaSsqD87i2meuqK5Jcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747088840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NxQLZxXlfALtfDHbMOQ+ajTZg1Y3krXJj1l9z3wCMsg=; b=uLguKHdFLOB7PnArHM6k/vJvapE7OVrZHqpY6nY9VcIx/aX4BaZoDA3r8+l5vYbX7eemxt yr4UM5wGJshj8byXWKasV7OFk3wOX+sB8mh0HF4hPsFwn+DBMmS/knhRdia4fTItBpWEkk 53pLUfS8159hp5T1k7DTKI39PHhCWXCBfU7OvyIO6RZN3JDHmzTroh1YPh8UME6utcNqht hNRYXBuEZiw8T/wPsY7ke6cFedHXoFKbngc5Lxb3yJeUB//BDjJtUOn9fKZaigXzKe+hn+ gklthK5CnbDD/LOCyRC493s98YyQsQQNz/bb8Hra5rccopuzRVCiiKissC8aWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747088840; a=rsa-sha256; cv=none; b=D5MD953fat5po331i2Fhj3q30q5EQmil7o2Z+6ldMcAZ5z8D382Mu74uJTctPZWsylIAxM 9bT+8pP/SomTmS5yV3TAJ+WieYBS5JEPhg6v5iNPoCQxmS6d8cv3yM8oh7A2CU9+wMTNPn pOKaf9tFTS+88dQMSIJDBRAMozsM9TfOgv6YTFi/V8ilQXbArtXj2ZBqyvvLxnrEXJMpCX qBhoOumF18O5H7APQ2WDck5KEMWhAORj9DTPzflbFgUBEL+kIpQyhg0GeK37N3m0bkoamK 9533eWSGRc/jmQg9dv5xKsVfv+mvIU1EiR480JVwVdOvXc2lJ46cZk9qkUR0Lw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxDkH6tKYz4ry; Mon, 12 May 2025 22:27: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 54CMRJbO061022; Mon, 12 May 2025 22:27:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54CMRJIr061019; Mon, 12 May 2025 22:27:19 GMT (envelope-from git) Date: Mon, 12 May 2025 22:27:19 GMT Message-Id: <202505122227.54CMRJIr061019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 0268d03ba195 - main - svcj: add "routing" option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0268d03ba1955c5cc3cbef9a86691718e516a77c Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=0268d03ba1955c5cc3cbef9a86691718e516a77c commit 0268d03ba1955c5cc3cbef9a86691718e516a77c Author: Lexi Winter AuthorDate: 2025-05-11 02:01:10 +0000 Commit: Lexi Winter CommitDate: 2025-05-12 22:25:45 +0000 svcj: add "routing" option "routing" enables the jail allow.routing permission, which allows the jail to modify the system routing table. this can be used to run routing daemons (e.g., BIRD) in a service jail. Reviewed by: jamie, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49844 --- libexec/rc/rc.subr | 3 +++ share/man/man5/rc.conf.5 | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index c74cbcef9d62..2261ab0461e1 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -1259,6 +1259,9 @@ run_rc_command() nfsd) _svcj_cmd_options="allow.nfsd enforce_statfs=1 ${_svcj_cmd_options}" ;; + routing) + _svcj_cmd_options="allow.routing ${_svcj_cmd_options}" + ;; settime) _svcj_cmd_options="allow.settime ${_svcj_cmd_options}" ;; diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 7dbea16d51f9..4b15db07a129 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 6, 2025 +.Dd May 11, 2025 .Dt RC.CONF 5 .Os .Sh NAME @@ -5019,6 +5019,8 @@ allows to open raw sockets, and allows to open sockets of protocol stacks that have not had jail functionality added to them. .It nfsd Allows to run nfsd and affiliated daemons. +.It routing +Allows to modify the system routing table. .It settime Allows to set and slew the system time. .It sysvipc From nobody Tue May 13 00:05:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxGvw2MyTz5w2p0; Tue, 13 May 2025 00:05:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxGvv5XTTz3Dxf; Tue, 13 May 2025 00:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747094747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QFvjVYM1I4yFAo6aFd5TnTBF0kKsygP01abPqA9XFRc=; b=lSrqwQWIQak8f4Z9eQYoozDsjYvN4qlUj2YuVGXolGiAwNLDL7w9Ws4SZaUniaVlVJKhBU eA5rnYrWWAmQH+O2Rm0mJJfIHQl2taNGznNWH1xZYf9gH0/w092JYpd+tvOxGu7CuE8UCP gIUTW4Je+BtgATCXfwZFRfoUbv/xoV1fmm2GfR639uVs/mD8F2IzTFmdmSf6dU4609ks8b LPMKcskBRyCLY5zHVfcapADQVhCUO7PwgChuFWUDuaVCRClm4fhT6JgW6jyUpdI+RP8xd3 7p04Prb6tvtPbpoXbKDzOZKeUGHj+gILnAGDUjB+b4ns/YSbRv2wkowZNKt82w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747094747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QFvjVYM1I4yFAo6aFd5TnTBF0kKsygP01abPqA9XFRc=; b=AVjq2l8n/3E6BfMw6JvzLYxKZKifHmYQ0yZVz7wrOhxVdi91MvvJF5zG+gq7gbkuPrn2hH +pOR4BX180ejII6ybBIlUQTcQqxbTFaFE8quMk7re+Qgd9wWyd8JPbgqyvFm2yY9LANoBS ZRRLiuD9yMDJ6VpaQebWfBDfJabOjxWoPB4g+E4fbp9k2pjOdthdrp99OnT1ZjCQ04pTC8 qzXitOYx3YhIoAQbj3s85dFMmPM0lb7XtTU6JpmOXi7nIEF3e7mrvGsyE03pFhMyGzIIZV RR/i/GOoMUtGTwoQ3tkn00tPjCYf1v2QGkAXRLYo7fdnp4N73HgueMuK7mtv9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747094747; a=rsa-sha256; cv=none; b=h3kmB9JVkMNQJeW7Si+aarwfg3bch2e9Z+MmCKUu0gRMAMjzjn+40FdE3SjjU6C3kqwrUl yujm35Rua5AUWqdylY8tEBY7zhkEqFNI3a6ha8V5e7zMV4iB/UO498DVmhAxkrH7qdXxrd uptuBS2+v3Uc+kP/9mIFFW4n9z0VWsoHKnWy/lqWHWfWY1ZJq0jJuCPwWwntKvHmcVoXrf yJ+Kl1wutk1QOWuUSX4eT3Fw5cZ0y8Ortyq8zxxWHtHEtY1PCWZcEVtIDPTxLW9suQxRx7 JGJtPruBXIjVvaf9JapYwA2l18ARS9wGniD10j78tswgNDyXTNzfKIw1W+s7iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxGvv4Vrjz7Kx; Tue, 13 May 2025 00:05: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 54D05lvk048650; Tue, 13 May 2025 00:05:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54D05lqj048647; Tue, 13 May 2025 00:05:47 GMT (envelope-from git) Date: Tue, 13 May 2025 00:05:47 GMT Message-Id: <202505130005.54D05lqj048647@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: fc40f4ca62ba - main - iwlwifi: update script to extract firmware/chipset generations/flavors/.. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fc40f4ca62ba91bef40f4a8712443617052b2cec Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fc40f4ca62ba91bef40f4a8712443617052b2cec commit fc40f4ca62ba91bef40f4a8712443617052b2cec Author: Bjoern A. Zeeb AuthorDate: 2025-05-13 00:02:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-05-13 00:04:46 +0000 iwlwifi: update script to extract firmware/chipset generations/flavors/.. Adjust the logic for using the sysctl vs. providing an input file (previously generated from the sysctl). Adjust template generation for iwlwififw.4 to also list the flavour for each chipset (if known) to help people manually building packages to figure out which port flavor they need. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh b/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh index 6b6798aae49e..afbd52b9fa40 100644 --- a/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh +++ b/sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh @@ -2,7 +2,7 @@ #- # SPDX-License-Identifier: BSD-2-Clause # -# Copyright (c) 2024 The FreeBSD Foundation +# Copyright (c) 2024-2025 The FreeBSD Foundation # # This software was developed by Björn Zeeb # under sponsorship from the FreeBSD Foundation. @@ -48,18 +48,19 @@ if test ! -d ${LFWDIR} -o ! -e ${LFWDIR}/WHENCE; then exit 1 fi -kldstat -n if_iwlwifi.ko > /dev/null 2>&1 -rc=$? -case ${rc} in -0) ;; -*) printf "ERROR: please pre-load if_iwlwifi.ko (you do not need a device)\n" >&2 - exit 1 - ;; -esac - if test -r ${D_PCI_IDS_FILE}; then printf "NOTICE: using proovided ${D_PCI_IDS_FILE}\n" >&2 else + + kldstat -n if_iwlwifi.ko > /dev/null 2>&1 + rc=$? + case ${rc} in + 0) ;; + *) printf "ERROR: please pre-load if_iwlwifi.ko (you do not need a device)\n" >&2 + exit 1 + ;; + esac + sysctl -N compat.linuxkpi.iwlwifi_pci_ids_name > /dev/null 2>&1 rc=$? case ${rc} in @@ -327,11 +328,11 @@ awk ' # Sourt out duplicate lines. if (dup[$0]++) { next; } - # my ($ids, $name, $fw) = split /\t/; split($0, a, "\t"); ids=a[1]; name=a[2]; fw=a[3]; + flavor=a[5]; #my ($v, $d, $sv, $sd) = split("/", $ids); split(ids, i, "/"); @@ -342,9 +343,11 @@ awk ' if (name == "") { name="(unknown)"; } if (fw == "") { fw="(unknown)"; } + if (flavor == "") { flavor="iwlwifi"; } + if (flavor == "undefined") { flavor="iwlwifi"; } # iwlwififw.4 - printf ".It \"\"\n.It %s\n.It %s Ta %s Ta %s Ta %s Ta %s\n", name, i[1], i[2], i[3], i[4], fw; + printf ".It \"\"\n.It %s\n.It %s Ta %s Ta %s Ta %s Ta %s Ta %s\n", name, i[1], i[2], i[3], i[4], flavor, fw; # wiki # XXX TODO possibly quote some in `` to avoid automatic linking? From nobody Tue May 13 02:28:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxL580pTHz5wBRq; Tue, 13 May 2025 02:29: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 4ZxL576ZQDz4FRT; Tue, 13 May 2025 02:28:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747103339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fziKr5E6zt/F1fjqdIpuWzzEf05KZQzlQfrykulk+tg=; b=HrrrGes+P71hQb1PWTmDaZUHBOtbGtaKi//RWuHYgXsubRppdkeQbKOjR8swnxxgw3zGom 3GuWfddigm1S5G/stxSo/4lQ9UPIuhRTo+5gqSs+kHBs4IjdstffMR9ZxbHApoO5jvQzRY rtI3GDornp8OZcOZfVGnhuOkW1YrFqYMsO2KFQIeFt0yHta7AZK5wpPxB1K+w6bc3fi44s VVDxN7bftdrOtaMgQPn0ycSg5yc2d3+3l4a48niksbrVdtAGdU7Hy9CTInThEC/Xnwcit4 lGfvHmUWsp+DUUrC2iMxJFRK0wNeOCrpn119TT3X0987HjCnTYge1xDM5jDk8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747103339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fziKr5E6zt/F1fjqdIpuWzzEf05KZQzlQfrykulk+tg=; b=U1klrzHivmnMtrfmv7bOvuC2MgIJ0evtRn+jvSWoj6T0X4l1CpdLlr9QYt3u0zPeNenMOg ihCh/JPA6sF9VnIk3mv7hCeoVqPUSYQabISQSG+JLgAHTwjqlDXcgy8MKDYsJPbrZaFRMW W+fUL8I2hcVVa7WqM0iSkZkZVQUuhzEVQQMx/lDStIkrvX4T9yJ0YklxoppD9mUvHols7D VA8uZnF9aRfdQcY2s2DnaIy3SGW4bm5DCKdZ1DcgnClVyPD1GFlLpQtSPS4MhlB/PYoj8y vo2uak/fiOvHX0PkFVRvKvG5G1hfmAT5Z5ztkAe7LToAUR6cjOkIl0H2m3TvNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747103339; a=rsa-sha256; cv=none; b=WDHTQM7SiPnMph6j9Dv/ZiNR0Xbznud26Z13oeuJSRmgWpi+cTm8I/bjEeeaeb0l3L1WYS 53t+7/vHC1qySZN4rq4xXlROk0S/l55BPzXaoKIX+x/LmU9G7b4hiWMLSxmnVpJJ2A9hVs RYwQnyp6tnu+Up4HzkbTcYP4zEuw2pxV7Z+pu6AyhBeSQ5ieaZ3yykYBQmEIwUx6NLsFZ9 W/9v+qO6+0LNlVTa/qFfLZl4dSegpBS1sXamJoFufaFk8raFzG6YyzAZOMansfcvptJYXM 9YCqfzoMj68Qv8SBQcrG/elmzH3KUTmxMc8X+0xreVodTU7gYl01J1LFolmorg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxL5767rHzBj1; Tue, 13 May 2025 02:28: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 54D2Sx3U009538; Tue, 13 May 2025 02:28:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54D2Sxfb009535; Tue, 13 May 2025 02:28:59 GMT (envelope-from git) Date: Tue, 13 May 2025 02:28:59 GMT Message-Id: <202505130228.54D2Sxfb009535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: c4921a0faaf1 - main - powerpc: Always use BE tag in nexus_map_resource List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c4921a0faaf1683f39347dd066000d929c39c8b9 Auto-Submitted: auto-generated The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=c4921a0faaf1683f39347dd066000d929c39c8b9 commit c4921a0faaf1683f39347dd066000d929c39c8b9 Author: Justin Hibbits AuthorDate: 2025-05-13 01:35:14 +0000 Commit: Justin Hibbits CommitDate: 2025-05-13 01:35:14 +0000 powerpc: Always use BE tag in nexus_map_resource 7b5a5e4e replaced nexus_activate_resource() with the bus generic equivalent, which uses bus_map_resource(). However, though not intended to have a functional change, nexus_map_resource() uses the bus tag of the build (BE vs LE), while nexus_activate_resource() always explicitly set a big-endian tag, leading to failures on powerpc64le now. Using BE unless otherwise explicitly specified with the RF_LITTLEENDIAN fixes LE on bare metal, and doesn't hurt in a VM, which nexus_map_resource() was added for. Reported by: pkubaj Tested by: pkubaj Fixes: 7b5a5e4e("powerpc nexus: Use bus_generic_rman_*") MFC after: 1 day --- sys/powerpc/powerpc/nexus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/powerpc/powerpc/nexus.c b/sys/powerpc/powerpc/nexus.c index 18b8fc57114f..029b6ef8a479 100644 --- a/sys/powerpc/powerpc/nexus.c +++ b/sys/powerpc/powerpc/nexus.c @@ -288,7 +288,7 @@ nexus_map_resource(device_t bus, device_t child, struct resource *r, if ((rman_get_flags(r) & RF_LITTLEENDIAN) != 0) map->r_bustag = &bs_le_tag; else - map->r_bustag = nexus_get_bus_tag(NULL, NULL); + map->r_bustag = &bs_be_tag; map->r_size = length; map->r_bushandle = (bus_space_handle_t)map->r_vaddr; break; From nobody Tue May 13 02:40:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxLLK5rjFz5wC4T; Tue, 13 May 2025 02:40:25 +0000 (UTC) (envelope-from chmeee@has.gonegalt.net) Received: from mail.gonegalt.net (mail.gonegalt.net [208.167.253.104]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxLLK23tGz4Mvy; Tue, 13 May 2025 02:40:25 +0000 (UTC) (envelope-from chmeee@has.gonegalt.net) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gonegalt.net; s=dkim; t=1747104016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=U2hVJpsSEymSnHWaR/5yAJCFkiYSEawooOf3vjLJO7g=; b=PGpwHf18M1J2PgA8XyUeusSh3PHe7gmug0+qiYUIT0t/w1exL16U+6lyjLQc9OwuSvVGYD teVP54EJGHqr/WGSKgat5/HOb54wEf6dHiV0GBg9kvMsNQFBsWQ/CweHFSNA29zw1qf5gi T2H1EToHcVWJ7nu5JGsiJm7iSZLhMd4= Received: by localhost (OpenSMTPD) with ESMTP id 37d20230; Mon, 12 May 2025 22:40:15 -0400 (EDT) Received: from smtpclient.apple ([192.168.1.18]) by mail.gonegalt.net with ESMTPSA id fl95NA+xImhAdwAA0J78UA (envelope-from ); Mon, 12 May 2025 22:40:15 -0400 Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: git: c4921a0faaf1 - main - powerpc: Always use BE tag in nexus_map_resource From: Justin Hibbits In-Reply-To: <202505130228.54D2Sxfb009535@gitrepo.freebsd.org> Date: Mon, 12 May 2025 22:40:05 -0400 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <6408B2A6-43EA-4F43-B33D-537631D081A0@has.gonegalt.net> References: <202505130228.54D2Sxfb009535@gitrepo.freebsd.org> To: Justin Hibbits X-Mailer: Apple Mail (2.3826.500.181.1.5) X-Rspamd-Queue-Id: 4ZxLLK23tGz4Mvy X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:20473, ipnet:208.167.224.0/19, country:US] X-Spamd-Bar: ---- > On May 12, 2025, at 22:28, Justin Hibbits = wrote: >=20 > The branch main has been updated by jhibbits: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dc4921a0faaf1683f39347dd066000d92= 9c39c8b9 >=20 > commit c4921a0faaf1683f39347dd066000d929c39c8b9 > Author: Justin Hibbits > AuthorDate: 2025-05-13 01:35:14 +0000 > Commit: Justin Hibbits > CommitDate: 2025-05-13 01:35:14 +0000 >=20 > powerpc: Always use BE tag in nexus_map_resource >=20 > 7b5a5e4e replaced nexus_activate_resource() with the bus generic > equivalent, which uses bus_map_resource(). However, though not = intended > to have a functional change, nexus_map_resource() uses the bus tag = of > the build (BE vs LE), while nexus_activate_resource() always = explicitly > set a big-endian tag, leading to failures on powerpc64le now. = Using BE > unless otherwise explicitly specified with the RF_LITTLEENDIAN = fixes LE > on bare metal, and doesn't hurt in a VM, which nexus_map_resource() = was > added for. >=20 > Reported by: pkubaj > Tested by: pkubaj > Fixes: 7b5a5e4e("powerpc nexus: Use bus_generic_rman_*") > MFC after: 1 day Short MFC window so it can get into 14.3. - Justin= From nobody Tue May 13 03:34:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxMXz2jN0z5wG8B; Tue, 13 May 2025 03:34:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxMXz0tNlz3mlL; Tue, 13 May 2025 03:34:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747107283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+eGYuYkfhMrh29mPv3O6bAuutB28egnVstDq9dM1frg=; b=da8bNpkedIY1KDoEVlmvsf/AAbKfcZeAbqyFj0mWbZhVigcWOMAgJmAhT2GJio2nSWUwJe k8hsIAd2Of7gTy0oGpc4TXkMX0/jRMmCddt7FBGq7t7vKuEFOHsFxU5ODSS37JcjBf5AxM 7r6dXLlweRaf3UvACHnkGu2zOptRD/kZcwxWxFjQXeWL8A8ydv3U1KyRFsG8tXrHmgQ8zI /ExgPiX2bNNvwN5PaYF72cbdJKte8SmsJeMsnQUb0T7tiPnkNaYWSu1v8H0hxI2msYRKd7 AciB596kPCoRuLCAV/3bTQEEK1hzYnFXDKh10vutWmdFZhh7SOZAvuLVQ2t5Tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747107283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+eGYuYkfhMrh29mPv3O6bAuutB28egnVstDq9dM1frg=; b=UgpO/1adMI1hs/qvNje54iO67137Q8AsVO1cySX9UghFQs+pYUyB2uvHFa5ndMBsmQX2U0 C2Z0Iw3lFjRuurOWQRUrbPoQNMGZqfMAHZ4JoGj0APRYk2ju5LGEacZ8bcL/3g84n6nhFo sNY1xDAkKRB3etNvEpod2sB9NqSUS/Oq67mro4r3RUmjXuUIjvbyGJsDMFtfZZkL9kNGxD 00lYUzOn21Avuo5tIoQICbjKAx8B/Y/K+5VWQLR/90MJk2x8TP6yBiFEg4jjr7U3iRrt3D Neg4XbQ/UMndrGSLNDSN+TMfT0rlrIY+067OkRyqmxm8vKNt7FuMUW5O8yRDpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747107283; a=rsa-sha256; cv=none; b=pvddusPX3GK2m9b4J/8fQLbvQeiJtgB/Ubm2yGN+Mfjkl9uyzix4TB8krp3UnaHvBZCIB3 OhP4LH4EDjdWOy3RcijgHFrcAHcTjbocXAyNPQcicAPLbeGq87JEV39Ptqz9fsWKraYgfc Y1yM7Wv/eKx4x5FlGqh11ktpLgrLfhgyjK9XzLsE5yiXcteKKL3G/eLfFruiFOBtfYww1m Aak01EHwq1KR8m+NeACK1Krc2yvoa6gJ7oME+COUkhwUrx2OHR9+cGkeKSV8FEc6h6nqTC OW+/3tye98zIPIu79wcAepWb1ooOMTg04jY6Qksbs+8xMDt1wipZsiQToaWixw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxMXz0JtNzTtq; Tue, 13 May 2025 03:34:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54D3YgIo041106; Tue, 13 May 2025 03:34:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54D3YgU4041103; Tue, 13 May 2025 03:34:42 GMT (envelope-from git) Date: Tue, 13 May 2025 03:34:42 GMT Message-Id: <202505130334.54D3YgU4041103@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: afb0eadf97b2 - main - net80211: clean up the documentation for ieee80211_fragment() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: afb0eadf97b22844dda6d9761782cb1526f83091 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=afb0eadf97b22844dda6d9761782cb1526f83091 commit afb0eadf97b22844dda6d9761782cb1526f83091 Author: Adrian Chadd AuthorDate: 2025-05-13 03:34:05 +0000 Commit: Adrian Chadd CommitDate: 2025-05-13 03:34:05 +0000 net80211: clean up the documentation for ieee80211_fragment() In particular, frame it with @brief and move the summary description where it belongs. Reviewed by: bz --- sys/net80211/ieee80211_output.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 506c90991800..1ebf7fa8723f 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -1969,7 +1969,12 @@ ieee80211_free_mbuf(struct mbuf *m) } while ((m = next) != NULL); } -/* +/** + * @brief Fragment the frame according to the specified mtu. + * + * This implements the fragmentation part of 802.11-2016 10.2.7 + * (Fragmentation/defragmentation overview.) + * * Fragment the frame according to the specified mtu. * The size of the 802.11 header (w/o padding) is provided * so we don't need to recalculate it. We create a new @@ -1995,10 +2000,6 @@ ieee80211_free_mbuf(struct mbuf *m) * @param hdrsize header size to reserver * @param ciphdrsize crypto cipher header size to reserve * @param mtu maximum fragment size - * - * This implements the fragmentation part of 802.11-2016 10.2.7 - * (Fragmentation/defragmentation overview.) - * * @retval 1 if successful, with the mbuf pointed at by m0 * turned into an mbuf list of fragments (with the original * mbuf being truncated.) From nobody Tue May 13 03:34:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxMXy1bN3z5wG89; Tue, 13 May 2025 03:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxMXy10Svz3mnr; Tue, 13 May 2025 03:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747107282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6gupBRlmnFQVyPt1bpdLEcYk64gAdUuoXL5iKq79fs=; b=cIHa88TO0JynAbHlBSTwnfhkgNb+8llYRCiuk7KI3fOMNfbAlnexZN7ba+aMH1etONk+lY 5+EHdNjTkV/ed0Tzhk/8NQrjbYGMkYzNB8QdNvztmvnaye2AsTyO0B1dMHMjfpBA1ckSBm j33Jm33oBM3Ps5h9a3k+UJ2AjXyaG9NOdECG3CDUzAAjgOo4ZdKN9RnVwk0pe9f1f5DrLc sShbLRhT2f4BpbusN60cKhzDPJHZP/gLEhIKt8aclv6ZeGg/fUvzsW+LUC6Spii/EjnGv0 OQOJ08Vij1gkLE/pqRb6x/9MAOhK6I9ueNAy7GlPn0pexYzYucwJ1BmlTHuuag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747107282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6gupBRlmnFQVyPt1bpdLEcYk64gAdUuoXL5iKq79fs=; b=EjyvtSgCBTWgL28hEyX4tch45HSLsfEPWnigzKlBMQK849ZIM4T/zFjTDb+DA5iJo3cPXV H49SlNdQQeJQNHCWV2XX4bMqw7oH93eqC04L5NBTuUP5DHXIdi3jMZbNtVB7GMvT9Bmcvn Fo7Hw4yQKvNAAZIn+/bN1cikwiTxrPFzymmXKmaZYCBTMo6SVq8jco1E84hrQCQwCUXqGo JHsdkid6Ce7EqwwNsZnhJa2qtKV/hg0CgOtS6Rq1ormwSsOqx2sirYTkgR7HXk/17qQDvg leXludUWcHdvMZn3lrvWGYtsIAsRa6SQv30oxaFIdz/sDx+TUx6GG/GDsvR1LQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747107282; a=rsa-sha256; cv=none; b=yI0QrDqXt1qIqJRXkpxheqJ9CMPJkaKipZmT5k9ikIzTZpLxz7zVtPLxaqUQ0AFfKWS/QD gvi/Ylw4/XFDNUNfdA3fri6lSXOCrhhTsRrc35dfZbHQ071OMaEIFxZMNRZfi770MOZ24G SFX47X76stWvqbtZwevZ2eqvcQsu49g9WLSvXrHjmPxiuUyqF77rRODrKCMB+OIt3584/Y I+xeIn1vNotPj+vTrvwUu+gDP6kQS0LGVhdauE4Ogvz0zw0nELPj6oxMM8QkMKDPQAJU58 M7OcOV0tg7t+4QVmm9CYWCvnTcFWcg5ErLgjFl6Cb/r76NFDJKNbmVSEthHznw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxMXy0GyXzTVc; Tue, 13 May 2025 03:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54D3YfnS041073; Tue, 13 May 2025 03:34:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54D3YfMP041070; Tue, 13 May 2025 03:34:41 GMT (envelope-from git) Date: Tue, 13 May 2025 03:34:41 GMT Message-Id: <202505130334.54D3YfMP041070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: a3fcd76e8076 - main - net80211: document ieee80211_free_mbuf() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a3fcd76e807648e4069e73e0a607687c26fadc3d Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=a3fcd76e807648e4069e73e0a607687c26fadc3d commit a3fcd76e807648e4069e73e0a607687c26fadc3d Author: Adrian Chadd AuthorDate: 2025-05-13 03:32:17 +0000 Commit: Adrian Chadd CommitDate: 2025-05-13 03:32:17 +0000 net80211: document ieee80211_free_mbuf() Document what ieee80211_free_mbuf() does. In particular, it handles freeing a list of mbufs, as an 802.11 "frame" passed to drivers may be a chain of 802.11 encapsulated fragmented frames. Reviewed by: bz --- sys/net80211/ieee80211_output.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index da7719b16dba..506c90991800 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -1945,6 +1945,15 @@ bad: #undef MC01 } +/** + * @brief Free an 802.11 frame mbuf. + * + * Note that since a "frame" may consist of an mbuf packet + * list containing the 802.11 fragments that make up said + * frame, it will free everything in the mbuf packet list. + * + * @param m mbuf packet list to free + */ void ieee80211_free_mbuf(struct mbuf *m) { From nobody Tue May 13 07:46:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxT7m1CGRz5wVrY; Tue, 13 May 2025 07:46: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 4ZxT7l6vyCz40nR; Tue, 13 May 2025 07:46:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747122404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FivBQmJfUEvX1FJkaQ0rW5pUcfz2/Tl3ODH16n0rVT8=; b=Fd+XUwxOKWORv8fddVOWMmIzwDUMpGa+zv6nyM270Tr+GnlnqHQbnzzpSh6Lzd4IApVMkb EQtiQh0cfXoami1BGbcJsPpfAKWaJ7acw7imwkTOj58Z2HrGyfsMYhMPyvyqeZDdavS/nC UBKbOtylCcZrbQmPla8y8cXBUQ5BacbypYQFjOoGltnlrmAOzxHjkVoFmWgzBCj1li/Zc9 Tqn7SACmAnAfuJQfoXxrjfaHa+CTFc7fkqbhoKt3UzmUjeIQscAfssVC2n4Un3dhsRIuDS 09Xj9YND3l7XGtbs7c71iUtN2goU9z4aDjxwcQzD3XyOI0hvH0U+D5nCH4u4nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747122404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FivBQmJfUEvX1FJkaQ0rW5pUcfz2/Tl3ODH16n0rVT8=; b=EyzOnErAbveXnKzvN0Nno2d9BQTTuncWQqvjkV2mq6qYMJeEElw6vWcCw9B3EWUrP1k7gn 68NXClGJpyt04JZFtIUCWRNGrmhTQ1nWxEDGzFlBojPLTWPimL9kLYGSMSIvjIjl6p0wbp GaIdtFwXH2LmjFTByeThQtmoX/LF/gWdZlZQcGjZEpN1mEWjAcpiWzsNgtTLtCiBflHhJJ ScPZpqanhi4jDmuS2zMwGCBfAApYMEOVoKjrXqzaVbkcpEPTezrxJhynpBXxeQ0NuLwV0L w+EzlMFNEpf+Nf0XzPPjbgBQe0I6WE4b3qtCTUDATS5LXzLgscurjQCcgBdy9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747122404; a=rsa-sha256; cv=none; b=kbwdXWmGsB16fTJNVu39Ur4PQBxGySjLYT0fFPW6wbhWhPg+iNj6Z5lxnjgzZMZg3T+Don 3n+obvddcRCtXUGZbs+w/irj5p6nBVY96Lgz10Gei9s9ng7WrYr2Li1EWC4Mqa9EahaY6z 7seGysLEozDbXlykh0ee1gB/Mswa98kruTuOlcUeTA7X4ecFdOOFMjZXnnxgqPffcbjSON 8qCE8QSwW4fNxthfZeNRUt326huzPF6Uqrxs7Tyzlko+R9z5N1lLHnVK8yp+28Z+v+P621 otDQUz5hWYM7YtBgR/k3owWYLVHhP9O+Y8ZYOTKN878anhygzKEGGClNbz5isA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxT7l6C3czd5l; Tue, 13 May 2025 07:46:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54D7khCU010141; Tue, 13 May 2025 07:46:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54D7khTN010139; Tue, 13 May 2025 07:46:43 GMT (envelope-from git) Date: Tue, 13 May 2025 07:46:43 GMT Message-Id: <202505130746.54D7khTN010139@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: 3bcf8e6db8e9 - main - loader: loader can pick too large font (check if one side is larger) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3bcf8e6db8e9b30af0a1d445e6e413a332066434 Auto-Submitted: auto-generated The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=3bcf8e6db8e9b30af0a1d445e6e413a332066434 commit 3bcf8e6db8e9b30af0a1d445e6e413a332066434 Author: Toomas Soome AuthorDate: 2025-05-13 07:40:39 +0000 Commit: Toomas Soome CommitDate: 2025-05-13 07:44:35 +0000 loader: loader can pick too large font (check if one side is larger) The 5e25f7b09977 still allows one side to be too large, fix it. --- stand/common/gfx_fb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index ad38a657e233..af72ab1a4c99 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -2082,7 +2082,7 @@ gfx_get_font(teken_unit_t rows, teken_unit_t cols, teken_unit_t height, * Skip too large fonts. */ font = fl->font_data; - if (height / font->vfbd_height < rows && + if (height / font->vfbd_height < rows || width / font->vfbd_width < cols) continue; From nobody Tue May 13 10:41:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxY1x2MNcz5wg9X; Tue, 13 May 2025 10:41: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 4ZxY1x1P1Bz3Z6X; Tue, 13 May 2025 10:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747132917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GEj/nC5DTcebvqWYtQqD6fjI2M48JgbP6yVfgAaRaLo=; b=b8aoFjjLEwACs0/Kz86HKlFAlnhi+miX8QVvDoTl6WW86Qwox+hewdgl6vsTNgWPSMEvvK vG+zrIu9H6saECrnsECGiOvlDPbePRev1yHmVy1GEh0UxuNyK3IBjtN2Be3/6Mhx9+bjGw Qxxi91wmxf1BNEoLCOyDIDpNMG+CBcBxcJhpf5KkCDIfTj7vrbPm8meuhbmx6I07Sc6uEO uFOWl2yDmoOH5UEN7BRfKhtCfuKNP5uNsbBylOgzUdNVT0bSF7AOng/X0wgxz3dyW91gJU lQxiwzFnxlERYQoNc0eme9ojVu8gOB6iTpZJboLJOqoT4VEa6z073aknCnrYGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747132917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GEj/nC5DTcebvqWYtQqD6fjI2M48JgbP6yVfgAaRaLo=; b=CsIlNKh7WlUxSBWyit12VHF9840wI2tTBVoZOqAiYwMicW1NxwEIPiGsZY0kSO5V9Fk6Kq Guc9/MAEPdN7bDtYWLUv+YHpnp6Ej6Eo7RN/bfCb04lIoMU89moKp8TpN8I8JQgfzyPriB eiGzpSlXBUTrM2LX6oiIbXjtYRtYNcZtXrJizaj9Ha94Rl/F/NKk9CLXY0ofAE6KRuHCny hgqapMd2uEdOnXcHXbVI6TihXv9w6mKb15Mq3AHc3fWQOi0Z8eKosoQzvK/+ZU328iR8v9 oKuNE7f1MHBec8A1bT8R48P5JBVB0o8utTz3XY1fUwqerg3scoUMmEQveTqu5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747132917; a=rsa-sha256; cv=none; b=uAjYCYse+cSC9qxiftsFOMGa3ML2vlBYPc8lsKo1Dc/8s+blegSMTUTP2Zrm/5IIrhwXbn bpZ+iIBLJOizOy71W1pQ9otjZazTq3D2QP/KhIYwblxKCfXFi55ip1YxqK7lGGmxdnLXip M/ArkUmG+vZSMIsoYpgL/23BK5ilo9MOpLZEZ7Bx4M1d6iysO3py0Um+EGL9TELnJbp4Ng b5dzbHA8/U3sh+jVhyCund7+RHzPW+TjMPGlPknHuB1SjRtYwF9S21VsukFUS8IbSl5NE5 /D9lWoHvxCD1JaM5loSVPNPUIR17CbRYi5G4y2KOMMrR0EVBTs1iwtHAQBA2pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxY1x0yGbzk4R; Tue, 13 May 2025 10:41: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 54DAfv4h044148; Tue, 13 May 2025 10:41:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DAfv0Y044145; Tue, 13 May 2025 10:41:57 GMT (envelope-from git) Date: Tue, 13 May 2025 10:41:57 GMT Message-Id: <202505131041.54DAfv0Y044145@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 313713b24c6d - main - column(1): add -l flag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 313713b24c6d2a3061972c4f431515c4f1b01c77 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=313713b24c6d2a3061972c4f431515c4f1b01c77 commit 313713b24c6d2a3061972c4f431515c4f1b01c77 Author: Lexi Winter AuthorDate: 2025-05-13 10:28:59 +0000 Commit: Lexi Winter CommitDate: 2025-05-13 10:33:08 +0000 column(1): add -l flag the '-l ' flag limits the number of columns that column(1) will produce in -t mode. this is syntax-compatible with the same option in util-linux's column(1), but due to existing differences between the two implementations, it's not semantically compatible. as a side-effect, fix a pre-existing bug where empty fields could cause incorrect output: % echo ':' | column -ts: (null) while here, also fix a couple of minor existing issues. Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50290 --- usr.bin/column/column.1 | 11 ++++++++++- usr.bin/column/column.c | 45 ++++++++++++++++++++++++++++++++---------- usr.bin/column/tests/column.sh | 30 ++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 11 deletions(-) diff --git a/usr.bin/column/column.1 b/usr.bin/column/column.1 index 4481fccf2c3d..1baf8a916e55 100644 --- a/usr.bin/column/column.1 +++ b/usr.bin/column/column.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 29, 2004 +.Dd May 13, 2025 .Dt COLUMN 1 .Os .Sh NAME @@ -35,6 +35,7 @@ .Nm .Op Fl tx .Op Fl c Ar columns +.Op Fl l Ar tblcols .Op Fl s Ar sep .Op Ar .Sh DESCRIPTION @@ -53,6 +54,14 @@ The options are as follows: Output is formatted for a display .Ar columns wide. +.It Fl l +When used with +.Fl t , +limit the table to +.Ar tblcols +columns in width. +The last column will contain the rest of the line, +including any delimiters. .It Fl s Specify a set of characters to be used to delimit columns for the .Fl t diff --git a/usr.bin/column/column.c b/usr.bin/column/column.c index d1322312f8fa..aa9e38d560e4 100644 --- a/usr.bin/column/column.c +++ b/usr.bin/column/column.c @@ -54,6 +54,7 @@ static void usage(void); static int width(const wchar_t *); static int termwidth = 80; /* default terminal width */ +static int tblcols; /* number of table columns for -t */ static int entries; /* number of records */ static int eval; /* exit value */ @@ -68,7 +69,7 @@ main(int argc, char **argv) FILE *fp; int ch, tflag, xflag; char *p; - const char *src; + const char *errstr, *src; wchar_t *newsep; size_t seplen; @@ -81,17 +82,26 @@ main(int argc, char **argv) termwidth = win.ws_col; tflag = xflag = 0; - while ((ch = getopt(argc, argv, "c:s:tx")) != -1) + while ((ch = getopt(argc, argv, "c:l:s:tx")) != -1) switch(ch) { case 'c': - termwidth = atoi(optarg); + termwidth = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr != NULL) + errx(1, "invalid terminal width \"%s\": %s", + optarg, errstr); + break; + case 'l': + tblcols = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr != NULL) + errx(1, "invalid max width \"%s\": %s", + optarg, errstr); break; case 's': src = optarg; seplen = mbsrtowcs(NULL, &src, 0, NULL); if (seplen == (size_t)-1) err(1, "bad separator"); - newsep = malloc((seplen + 1) * sizeof(wchar_t)); + newsep = calloc(seplen + 1, sizeof(wchar_t)); if (newsep == NULL) err(1, NULL); mbsrtowcs(newsep, &src, seplen + 1, NULL); @@ -110,6 +120,9 @@ main(int argc, char **argv) argc -= optind; argv += optind; + if (tblcols && !tflag) + errx(1, "the -l flag cannot be used without the -t flag"); + if (!*argv) input(stdin); else for (; *argv; ++argv) @@ -217,7 +230,7 @@ maketbl(void) int *lens, maxcols; TBL *tbl; wchar_t **cols; - wchar_t *last; + wchar_t *s; if ((t = tbl = calloc(entries, sizeof(TBL))) == NULL) err(1, NULL); @@ -226,9 +239,11 @@ maketbl(void) if ((lens = calloc(maxcols, sizeof(int))) == NULL) err(1, NULL); for (cnt = 0, lp = list; cnt < entries; ++cnt, ++lp, ++t) { - for (coloff = 0, p = *lp; - (cols[coloff] = wcstok(p, separator, &last)); - p = NULL) + for (p = *lp; wcschr(separator, *p); ++p) + /* nothing */ ; + for (coloff = 0; *p;) { + cols[coloff] = p; + if (++coloff == maxcols) { if (!(cols = realloc(cols, ((u_int)maxcols + DEFCOLS) * sizeof(wchar_t *))) || @@ -239,6 +254,16 @@ maketbl(void) 0, DEFCOLS * sizeof(int)); maxcols += DEFCOLS; } + + if ((!tblcols || coloff < tblcols) && + (s = wcspbrk(p, separator))) { + *s++ = L'\0'; + while (*s && wcschr(separator, *s)) + ++s; + p = s; + } else + break; + } if ((t->list = calloc(coloff, sizeof(*t->list))) == NULL) err(1, NULL); if ((t->len = calloc(coloff, sizeof(int))) == NULL) @@ -319,8 +344,8 @@ width(const wchar_t *wcs) static void usage(void) { - (void)fprintf(stderr, - "usage: column [-tx] [-c columns] [-s sep] [file ...]\n"); + "usage: column [-tx] [-c columns] [-l tblcols]" + " [-s sep] [file ...]\n"); exit(1); } diff --git a/usr.bin/column/tests/column.sh b/usr.bin/column/tests/column.sh index c7c6502098d4..283dc88bff1a 100644 --- a/usr.bin/column/tests/column.sh +++ b/usr.bin/column/tests/column.sh @@ -144,6 +144,7 @@ seven.:eight.:nine ::zwei drei.. vier: +: END @@ -161,10 +162,39 @@ END atf_check diff expected output } +atf_test_case "ncols" +ncols_head() +{ + atf_set descr "column(1) with -t (table) and -s and -l options" +} + +ncols_body() +{ + cat >input <expected < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 2befd0658832 - main - cxgbe nic TLS: Fix requests with 8 bytes of immediate data padding List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2befd06588325c541d400fcc4915a1adfd1c7d17 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2befd06588325c541d400fcc4915a1adfd1c7d17 commit 2befd06588325c541d400fcc4915a1adfd1c7d17 Author: John Baldwin AuthorDate: 2025-05-13 13:57:18 +0000 Commit: John Baldwin CommitDate: 2025-05-13 14:05:09 +0000 cxgbe nic TLS: Fix requests with 8 bytes of immediate data padding Requests whose immediate data do not end on a 16-byte boundary are padded with zeroes before the next WR command. Since ULP commands are 8 byte aligned, if there are more than 8 bytes of padding, the immediate data is padded with zeroes up to an 8 byte boundary and the last 8 bytes contain a ULP NOOP command. In the case of exactly 8 bytes of padding, the result should be that no zeroes are inserted, only the ULP NOOP. However, the code was actually inserting 8 bytes of zero padding followed by the ULP NOOP causing the following real command to be misaligned. Fix this by skipping the zero padding if there exactly 8 padding bytes. Reported by: Sony Arpita Das @ Chelsio Sponsored by: Chelsio Communications --- sys/dev/cxgbe/crypto/t6_kern_tls.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/dev/cxgbe/crypto/t6_kern_tls.c b/sys/dev/cxgbe/crypto/t6_kern_tls.c index 167eb77da942..897773d2d867 100644 --- a/sys/dev/cxgbe/crypto/t6_kern_tls.c +++ b/sys/dev/cxgbe/crypto/t6_kern_tls.c @@ -1793,9 +1793,11 @@ ktls_write_tls_wr(struct tlspcb *tlsp, struct sge_txq *txq, void *dst, } if (imm_len % 16 != 0) { - /* Zero pad to an 8-byte boundary. */ - memset(out, 0, 8 - (imm_len % 8)); - out += 8 - (imm_len % 8); + if (imm_len % 8 != 0) { + /* Zero pad to an 8-byte boundary. */ + memset(out, 0, 8 - (imm_len % 8)); + out += 8 - (imm_len % 8); + } /* * Insert a ULP_TX_SC_NOOP if needed so the SGL is From nobody Tue May 13 17:01:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxjS22pFjz5vdGC; Tue, 13 May 2025 17:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxjS21ByMz3pyx; Tue, 13 May 2025 17:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747155698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CiRt8QCaXjaFox+2fmjr5zJLDyX/qnL3N3T32Y2ouaI=; b=oQ42SleGn2X3TTcgdeaB0Hgmc+T9QwcDt3LFoRs5EQSGIoDqXGszhx4sTIeJd0/pJ0T0y7 zDhjbWyESYbBkPGkJiYWM3KxQtlP3YzIElIu/aNPN1AIsnSme1q2a0aUQEywR+TOXqYw0C wsrZ5qzhbyZ5DW9OTp3OH4IiiDhyvFYSNSNjkcgyguWCXlsXLyBQuLbuxFcBWsL6NUEzBP pRWt158JIUUc0gDlYRJSc3ex4/qofNs6U8GZdAMCW4CZ28leqgWSS3BpFi5MhJSB8c37TO jwtXA0sIC9VrY4U4/l/nGIGw0eC41Rrll52oCfdB60c1Qrk6bEun49YGeXoMNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747155698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CiRt8QCaXjaFox+2fmjr5zJLDyX/qnL3N3T32Y2ouaI=; b=M/0zy0JLpqmqpQckcwAIGs7JyVdtDi/wpuDTuW33wkJWy4Wqr/uau4iFf5tZlgcGj9p/on 4th4hWerdiJR/s4/ECQVfrhCWrWVJFzJ42ynAXXZTq5Tj3npf5DQWSVzxYJb6YVuk4nY0X e/1uw5JsnSFhKVLBbxrwteoRdEBV45ZnKhyuqzB5mKJWC/7H/HRTbRqTqDQa55nqiqwWFT AbOmylyepPe2LKW/spC7QauivkPaocZSB8MtdNGFvFN4z3ojeUyHGQ6spA9t2FKmofQFau Vm+KgZtk/SsB2dmpicIO/MMS8lAHyEsW8WYym4/MOf1DDFeJdkyTvux2ZgYVAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747155698; a=rsa-sha256; cv=none; b=iPqy6D5Ea/fx3axHwfYyX67XaiXxtcWri3xuVzjKRs1cKp9fR3Es+L7gN77Ee3yWsMjoCd xJnN8VrZhkqVc5Ib0MzC1ymNmUJdeMoiyxzYANtJC4L0NeerluJp6vIFBD4E956Bwbbkej dtmi50VfSErLiVtiw8m7lFvR7Ejy1auoNsAuLikIxRBWOUZEeznz1eMd1d+6d3i6fSV5++ yy8mWdjUGRRs/AwiqmE9oHljtGjproFdGboZiI7K0MCGersahtyN5yhp4fXWvmByZysZv+ sbMdBKRSvR/v6Z1vQUBxfvQndINn58U45On7ePcrk3VBDMjJUpxIBQ9ckjKifw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxjS20nQlzvPy; Tue, 13 May 2025 17:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54DH1cFF059177; Tue, 13 May 2025 17:01:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DH1cre059174; Tue, 13 May 2025 17:01:38 GMT (envelope-from git) Date: Tue, 13 May 2025 17:01:38 GMT Message-Id: <202505131701.54DH1cre059174@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 21040b3cfa02 - main - release: Exclude release/obj from the src tarball List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21040b3cfa02bf09ae2307a11ddc6b18e6a83c49 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=21040b3cfa02bf09ae2307a11ddc6b18e6a83c49 commit 21040b3cfa02bf09ae2307a11ddc6b18e6a83c49 Author: Ed Maste AuthorDate: 2025-05-09 00:46:53 +0000 Commit: Ed Maste CommitDate: 2025-05-13 16:39:12 +0000 release: Exclude release/obj from the src tarball A user may run `make objlink` in release/ in order to have easy access to built release artifacts. We don't want this to appear in src.txz. Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50262 --- release/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 913fc8f2b876..8ca006e75f6a 100644 --- a/release/Makefile +++ b/release/Makefile @@ -157,7 +157,8 @@ src.txz: mkdir -p ${DISTDIR}/usr ln -fs ${WORLDDIR} ${DISTDIR}/usr/src ( cd ${DISTDIR} && ${TAR_CMD} cLvf - --exclude .svn --exclude .zfs \ - --exclude .git --exclude @ --exclude usr/src/release/dist usr/src | \ + --exclude .git --exclude @ --exclude usr/src/release/dist \ + --exclude usr/src/release/obj usr/src | \ ${XZ_CMD} > ${.OBJDIR}/src.txz ) ports.txz: From nobody Tue May 13 17:01:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxjS34PK1z5vd7F; Tue, 13 May 2025 17:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxjS32HHXz3pwR; Tue, 13 May 2025 17:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747155699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MUEac+2POf4Ol5rRJDxww0HAQSEUxLR2gMXefmYqMpg=; b=hKxzu2vURUu/NIXVSxJ1000JPUXPJS58JaFTvkc0AhuL3uA5aCVEYfUtiPHvhiB+xP0nge 97jUXmGX1hL6wmJmQ7QBdeB4E1pzDPtjLotVrYIxdWv8hwWSptwz0M5ZbtuQaDP8SNidqk voqk1Klrg3GSP4o2eatiWEB4a4+4v3dT0fWqfvR7TXBg2hQPofgx/pNOpwXqVvXuzNf3H0 BIgRUA292WEMl9T0StYoIfDzoQzmW0jcqHAd9gn094xUR23RKZPth6X0pbPazEcA++hwZZ m4I3yxxWq/B2LpiV/3hWN2NAwAx7i2dHviij66ddI8cFeiLPaU5nCGt4v1D+qA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747155699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MUEac+2POf4Ol5rRJDxww0HAQSEUxLR2gMXefmYqMpg=; b=u/c3gGET3KdixYiuiWTC6EVO2/wIzN8Ldn3gNAODdnNjX99giNrWgdw9qi6i2KsryNl1Af JGsPRswfiuoOfQHZw/H+CfFWZPsFzuaVAdu0h84OvXArlvyZ4wlL3J8WQiRqm3QH6BLXqS dCJflPjfHhp9fgvNG6lvTn99/ej/QRBXlvdLUBq7bZNzlYIKjOCgsjUyKpPzbrQF2gQlyY l+WIpCz3Mwegvg2ZdXoDRqQdrLtRX1uXdTST+aJpBv8/TaVoD3zlz3dbyTz5LXBWeZsOOY 99R7KRcaVRFhRrr2YGccyROIIbBb/UXOEfCNEF6Y1eLo3Lbi4dwDwhruP6evEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747155699; a=rsa-sha256; cv=none; b=LhZ1+yA3fBCV3648ycIZrvHSabZTSOJko6LGo3OnysHhm3heFVz9Ne79wI7MLCBatmVV8w /CWedU8sxKsXd3E1x3YkLupNC9M9oTRiB4UzWp0uCOsbDipAj09j4LqwHazdqOxYNfVsEE Afj7kRasZy+nZfFm02yzyuuwWjO7iXXwSIP/5lPd1XAyTZX4+hvAbAEpkuaDDDSWrIRZkb VX1at5ru3FsiSqzXPWDmsgC/2mtTANgPBvXbN3J/mj+x4eiCFPl6GBfcF1nmp8/AuB9Y04 FyYFdSJC0BmnLB5SOqOqamk+0mCgeqsrzWqPXJ+Nkwx6LpsWRTm1+TOQBD9HLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxjS31k5Rzvhk; Tue, 13 May 2025 17:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54DH1daq059213; Tue, 13 May 2025 17:01:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DH1dll059210; Tue, 13 May 2025 17:01:39 GMT (envelope-from git) Date: Tue, 13 May 2025 17:01:39 GMT Message-Id: <202505131701.54DH1dll059210@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 9a354a41be9a - main - release: Use "debug info" in dist set descriptions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a354a41be9a40c3c0a16cc20f4009d3b31679cc Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9a354a41be9a40c3c0a16cc20f4009d3b31679cc commit 9a354a41be9a40c3c0a16cc20f4009d3b31679cc Author: Ed Maste AuthorDate: 2025-05-08 17:39:41 +0000 Commit: Ed Maste CommitDate: 2025-05-13 16:59:21 +0000 release: Use "debug info" in dist set descriptions "Kernel (Debugging)" could suggest that this is a debugging kernel -- an alternative to a "Kernel (Standard)". These dist sets contain the standalone debug info files for the kernel, base system, and other components. Change the MANIFEST descriptions (used by bsdinstall's dist selection menu) to use "debug info". Reviewed by: brooks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50254 --- release/scripts/make-manifest.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release/scripts/make-manifest.sh b/release/scripts/make-manifest.sh index 8105d0023d40..738aa215f409 100755 --- a/release/scripts/make-manifest.sh +++ b/release/scripts/make-manifest.sh @@ -16,11 +16,11 @@ lib32="32-bit compatibility libraries" tests="Test suite" desc_base="${base} (MANDATORY)" -desc_base_dbg="${base} (Debugging)" +desc_base_dbg="${base} debug info" desc_kernel="${kernel} (MANDATORY)" -desc_kernel_dbg="${kernel} (Debugging)" +desc_kernel_dbg="${kernel} debug info" desc_kernel_alt="Alternate ${kernel}" -desc_kernel_alt_dbg="Alternate ${kernel} (Debugging)" +desc_kernel_alt_dbg="Alternate ${kernel} debug info" desc_lib32="${lib32}" desc_lib32_dbg="${lib32} (Debugging)" desc_ports="${ports}" From nobody Tue May 13 17:16:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxjmt3Rtlz5vfpY; Tue, 13 May 2025 17:16:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zxjmt2kXVz3vlf; Tue, 13 May 2025 17:16:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747156574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZO+AHgcp23jWsmSFHUTV7//yzUfxXsfkqi/S1yxNQNs=; b=a+XenligANXM1zC84yHg4mi9rlYOcHmkTZD03ivABaSAXLbDnJ4fNNvXEHc1QO6flRVJ3a vnveYnVy5LLHei01tbdLwF7uo4upTp4OSq/OFec+DpL6Uwk7LFsIq3f9J18djtNFDMhw67 GKqu+CwVeaM/itE/kzvAvYNLrOUjTdF0262XK7AquGzFVDcKyhqx7sPT/XFS3d87sK64rn GJhTQqnausLXODWykB8hiWj8Lpi045lvvGnbnky0OpCNq2KWEoNnVXY5J7JpuZ6CYf0bnr U5eE8YZQr3S02VJAbYCrhdOFudGbV+/ijCEoe0BFy0bBOBbuBpmCbuzKPhWBuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747156574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZO+AHgcp23jWsmSFHUTV7//yzUfxXsfkqi/S1yxNQNs=; b=ZjFW5hfePrzYaEZgi/pV1TrpUbHiaveKKPunUc2RfnG5f3pc1Wna8gYtjV5TF2hhsjdki7 Prw2pFPeUXLMfd+4y4asWGU2tptG/uBl4F48vF0Y4jUAAfM4jd82dKVRxSAqwPMxIixpAB fQai1Eup7Ooatgn4ECQI4E9Bkq1lY+L5oaocyWUWanC6/aDwo/lfO+U5qzRrVbBjLtNJQh Dwhce+wt1sWBwB34cDgIwfpiC4sZHaNTjhO2ANr4e9ZTEGmfZ3Wr08TMA5wm4aMiby83I1 Aw+GVC17RXbh+X6++lMgE+K3yslps0ciAKMau+VF18HVHcNZdgB2vyoUmiK/EQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747156574; a=rsa-sha256; cv=none; b=Lz/g5oM4PbAJYuLJCn79qOh6m5XYE2k2Np4d9dJKkUmkF9N9jGu+M6ENXIRZWFcPpBuq8n 4vNa72WNCDN9stzB7+o6B9LHp2Gun2WAKOXwsk6nWY31twqhFfQOucmUN4Eno2niH6nCty cwXCjTvzEKA56lRy2iW+TJ3xxjA94d1SIxqtiJEvlCsqK7vh5POe6FthAtShJwiV2N2FIt cIM3vRcTiauFcNttOIgsiHt2R9POQ/m9iSKYmNWAFqWvwaZDsE4ZLku7N+gyuX7DqHkdGp fpMulEvWQDylOEHdHQD671kTjKLJ6B+5nwWNn/awtB60H7wff6KzbKJtfKas0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxjmt2KSvzwQC; Tue, 13 May 2025 17:16:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54DHGE5k081600; Tue, 13 May 2025 17:16:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DHGE3C081597; Tue, 13 May 2025 17:16:14 GMT (envelope-from git) Date: Tue, 13 May 2025 17:16:14 GMT Message-Id: <202505131716.54DHGE3C081597@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 89cf4b85db40 - main - release: Use NO_ROOT mode for dvd1.iso List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89cf4b85db4000ba23bbff73be5dfdc0abb9cf28 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=89cf4b85db4000ba23bbff73be5dfdc0abb9cf28 commit 89cf4b85db4000ba23bbff73be5dfdc0abb9cf28 Author: Ed Maste AuthorDate: 2024-12-31 14:47:33 +0000 Commit: Ed Maste CommitDate: 2025-05-13 17:01:53 +0000 release: Use NO_ROOT mode for dvd1.iso All ISO/memstick images are now built without requiring root. Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50269 --- release/Makefile | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/release/Makefile b/release/Makefile index 8ca006e75f6a..4f4d0f483444 100644 --- a/release/Makefile +++ b/release/Makefile @@ -72,9 +72,7 @@ VOLUME_LABEL= ${REVISION:C/[.-]/_/g}_${BRANCH:C/[.-]/_/g}_${TARGET_ARCH} .if ${.MAKE.OS} == "FreeBSD" # For installing packages into the release media. -.if defined(NO_ROOT) PKG_ENV+= INSTALL_AS_USER=yes -.endif PKG_ENV+= ASSUME_ALWAYS_YES=yes PKG_ARGS+= -o METALOG=METALOG PKG_ARGS+= -r ${.TARGET} -o REPOS_DIR=${.CURDIR}/pkg_repos @@ -261,12 +259,10 @@ dvd: packagesystem for dist in MANIFEST $$(ls *.txz | grep -v container); \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ done -.if defined(NO_ROOT) echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG for dist in MANIFEST $$(ls *.txz | grep -v container); \ do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ done -.endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) # Install packages onto release media. ${PKG_INSTALL} pkg || true @@ -282,13 +278,11 @@ dvd: packagesystem echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf echo loader_menu_multi_user_prompt=\"Installer\" >> ${.TARGET}/boot/loader.conf cp ${.CURDIR}/rc.local ${.TARGET}/etc -.if defined(NO_ROOT) echo "./etc/resolv.conf type=link uname=root gname=wheel mode=0644 link=/tmp/bsdinstall_etc/resolv.conf" >> ${.TARGET}/METALOG echo "./etc/rc.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./etc/sysctl.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./boot/loader.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./etc/rc.local type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -.endif touch ${.TARGET} disc1-disc1 disc1-memstick: disc1 @@ -304,7 +298,7 @@ disc1.iso: disc1-disc1 cd disc1-disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_CD ../${.TARGET} ./METALOG ${XTRADIR} dvd1.iso: dvd pkg-stage - cd dvd && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_DVD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} + cd dvd && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_DVD ../${.TARGET} ./METALOG ${XTRADIR} bootonly.iso: bootonly-bootonly cd bootonly-bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET} ./METALOG ${XTRADIR} @@ -324,7 +318,7 @@ packagesystem: ${DISTRIBUTIONS} pkg-stage: dvd .if !defined(NOPKG) || empty(NOPKG) env PORTSDIR=${PORTSDIR} REPOS_DIR=${.CURDIR}/pkg_repos/ \ - sh ${.CURDIR}/scripts/pkg-stage.sh ${NO_ROOT:D-N} + sh ${.CURDIR}/scripts/pkg-stage.sh -N mkdir -p ${.OBJDIR}/dvd/packages/repos/ cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \ ${.OBJDIR}/dvd/packages/repos/ From nobody Tue May 13 17:21:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxjtg2H4Bz5vgLm; Tue, 13 May 2025 17:21: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 4Zxjtg0VKQz40Qc; Tue, 13 May 2025 17:21:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747156875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lM9z+6pEXqLxsi/d5MHkTxdqOAeyD+KFCda2oYTCkAg=; b=jYAZ52fQORK9g7SpFAjVMdlHqwNCEBrxEaiz8BL1id5iILWdrw7AghvpZeHWJXAMxogbNd Ax1bmA6KM9zUq+8g8+p0c2fJyJ94XLX15oVQ84Cmy5jNq82mWgcoXaLPmW++sIIOvNxN+s pWKZM5IUfAMnCUrNNsnMI5kOf/ZHzxEuFvdEj6AArNcYITtM9ef/pYOQFlhzSViYWNYLaA BZwXplvFdhqCx9hqKbfIjNMInzxLuFOQUrJbCebmC4lWi6EPuUkYgfw9Wga35O4nOrNTfQ yu0M2braIq5NkbvqEMpo5FfQRdNDRV9hIpfsgf8qIH+MaiRNZXe4lbZcaudC+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747156875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lM9z+6pEXqLxsi/d5MHkTxdqOAeyD+KFCda2oYTCkAg=; b=GraCd/M+mKQ2NM17tTslmWz9RhQhAr4JELVp7F+KJOvWmaKF8tDpuPLNu3edT/1L/tOxKu XwSPlexZYoSuEG1VuuyfOpWkCVFW5OxvDPp9mrhqnQoOSic+wyvssRqPEyJh4yxFOEDvyf yZzek8OD6ngaktkiYjNMIyGfxSs7IS29rJcz8fB5HS2VHNYyeWKS1TrV9dCiH0Tb6QEeOV XMJhkWH3KNFyn/wLMmpqTG0BtuEIyQ+TuAhb4qw2ek6cuq62nFveIF1bslll2F0MIfXWDK tFYrDOgQM3mrx4dOTXZh2uYRbu+BNrELKIP0JDBjMl1dMrYLlr/fuNZk5/WDsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747156875; a=rsa-sha256; cv=none; b=bdhEO0KhKhREoETGMo5+FHC/uQf8mCEhez99QMQPWFqXGaFHMh+JUF9L9PFL89W5gTEXk/ nUP0/j7L/k4fnecU6FvzhdyRDJUef6oPqTPx48xLoixo85HukR2nMv1P0L+soCarFzjNkJ bxqq+4xxxpg2FFbn7VHjm+L8F/HjXPNrV6Uhe+cJo0udPXm2+e4c89P7PAQe++sPwyWB9p f+t4FE5AyBsm83tXsPVM+fLcvUNIGQ/ZjECkhHu1D+z7wWdVNAlKRdW626oCEpRPIq5wLs ULKP/p8qd+dv5YYJcHoy2oEJVAmrhN5oSrsI5FRd06jdvR/ppR2o4ZxX/8J6yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxjtg03rKzwQM; Tue, 13 May 2025 17:21: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 54DHLEtr091982; Tue, 13 May 2025 17:21:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DHLEj6091979; Tue, 13 May 2025 17:21:14 GMT (envelope-from git) Date: Tue, 13 May 2025 17:21:14 GMT Message-Id: <202505131721.54DHLEj6091979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 9692d5e15e9b - main - arswitch.4: Improve title and add HARDWARE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9692d5e15e9bd7e628b06d655522477ce8c5b6fe Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=9692d5e15e9bd7e628b06d655522477ce8c5b6fe commit 9692d5e15e9bd7e628b06d655522477ce8c5b6fe Author: Alexander Ziaee AuthorDate: 2025-05-12 01:37:17 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-13 17:20:37 +0000 arswitch.4: Improve title and add HARDWARE For visibility in apropos and inclusion in the hardware release notes. MFC after: 3 days Reviewed by: adrian (previous), mhorne Approved by: mhorne --- share/man/man4/arswitch.4 | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/share/man/man4/arswitch.4 b/share/man/man4/arswitch.4 index 3ec7316ae6e7..5bcd6c6810ee 100644 --- a/share/man/man4/arswitch.4 +++ b/share/man/man4/arswitch.4 @@ -22,12 +22,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 8, 2023 +.Dd May 11, 2025 .Dt ARSWITCH 4 .Os .Sh NAME .Nm arswitch -.Nd driver for Atheros Fast Ethernet switch +.Nd Atheros AR8000 series Ethernet switch driver .Sh SYNOPSIS .Cd "device mdio" .Cd "device etherswitch" @@ -35,18 +35,8 @@ .Sh DESCRIPTION The .Nm -device driver provides a management interface to multiple Atheros -fast ethernet switch chips: -.Bl -tag -compact -width "AR8216" -.It AR8216 -Fast Ethernet Switch -.It AR8226 -.It AR8316 -Six-port Gigabit Ethernet Switch -.It AR8327 -Seven-port Gigabit Ethernet Switch -.El -.Pp +driver provides a management interface to Atheros AR8000 series Ethernet +switch controllers. The driver uses an .Xr mdio 4 or @@ -70,6 +60,23 @@ and are mutually exclusive. .Pp Setting the switch MAC address is not supported. +.Sh HARDWARE +The +.Nm +driver supports the following Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Atheros AR8327 Seven-port Gigabit Ethernet Switch +.It +Atheros AR8316 Six-port Gigabit Ethernet Switch +.It +Atheros AR8236 Six-port Fast Ethernet Switch +.It +Atheros AR8226 Six-port Fast Ethernet Switch +.It +Atheros AR8216 Six-port Fast Ethernet Switch +.El .Sh SEE ALSO .Xr etherswitch 4 , .Xr etherswitchcfg 8 From nobody Tue May 13 17:26:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxk144M6Tz5vgNb; Tue, 13 May 2025 17:26:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zxk135HZjz42rJ; Tue, 13 May 2025 17:26:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747157207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQV72XxbcdjPwG9fmQ3TzT7K61SoIGEEQH33OhXq9QI=; b=d55bVmF1W/2mK3g28vI+sI4HksGeoU5eP+h+e0eBsdAPStSiHf9yTA/ochJ8/Z3siE8IXg dsC6G8C7Pj3nsRtjnTimYEkQhybF2SkooBdQAfMDL/LVUKsGcTO2k1nn3CZFfwu2ez7yMZ VNl7MNV7ynd0x2QZwQjmDbK3AhKj9g31PeP8NwYzuMs4L1dR/hQFtESFJtSaa4KO8ir3db aWLS7jhloj8YkvCU2A+6VpJqugjY0r8CF/zULuRFt3vdvNwzrGYsagbIWXitN1aVzpRDMd jP/sMq8StWqFyPI3naz3g/dhPDHb3f38q7aB5661ONYbr5R3qC2hGO08Joz1Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747157207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQV72XxbcdjPwG9fmQ3TzT7K61SoIGEEQH33OhXq9QI=; b=ErWgOt+33RWm4ne2VyxqPZfl+9mheDzyMd7WdFb4ofkgQFww3Abym8R4sKCA6lMmAdFmpm /v5UHiSFQYja3A9fH6uWGRN3lRIuljydyxF490EEKjf06WtzzK9Tnfw/34wVBbyK5vqHno ZJL/4BVu8HzFFZVLiAcRQbF1yuJi9NBXtoSVMONBtyqjj250fJl4OK6c9S6/u0jbIfB+uh e/bjcaUOptE+NtT/nvIFblqwMO/XPcKjltm8g5j2cxfLojZjn8lfCtHFAwQsteDKyV9wuZ ep5prLh03WyVSBY0a4H1r24p89eEzU18gMVA2cBrN0ysO9GP/xfC8SJSZSdNIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747157207; a=rsa-sha256; cv=none; b=mYE2amfJ4s4VaD7rC3nBzy7qwdMk6sM8qpc21L45bLWagq/ageMjMBqF8mDG5+p+rlAgYp ipYhPgivXiqT/3c4ziGsq/CnzrBA61g44cSXQ2cbrNNAUy/NhHiuoceZ6OmjD6FvU/5o7u NmAbbXeBSMkLutCC5upDTcFYYuXSHNuxm7HHmU1XuQUSTW6sia2nGMDSoYukv48I7YkE3j hYU8+KcGYmNDMpsLGJjUK6Z7XcXyyBP1NzJ6O7QnlA9tcmaz1FLcs5Wn9LyHfJQIRtC9Q1 /z7hbthn4zrORRNLLv+LIlYOVHo6pxKVDKW4/8Qq0Jd6DKnqMczbjr8jz7Jvtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxk134rYQzwSw; Tue, 13 May 2025 17:26: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 54DHQlg8000188; Tue, 13 May 2025 17:26:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DHQlCC000185; Tue, 13 May 2025 17:26:47 GMT (envelope-from git) Date: Tue, 13 May 2025 17:26:47 GMT Message-Id: <202505131726.54DHQlCC000185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: d3f15bc2a51d - main - release: Pass -DNO_ROOT to dvd1 installworld/installkernel List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d3f15bc2a51d1822795135d9ad4627dc1c7f2b18 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d3f15bc2a51d1822795135d9ad4627dc1c7f2b18 commit d3f15bc2a51d1822795135d9ad4627dc1c7f2b18 Author: Ed Maste AuthorDate: 2025-05-13 17:24:55 +0000 Commit: Ed Maste CommitDate: 2025-05-13 17:26:35 +0000 release: Pass -DNO_ROOT to dvd1 installworld/installkernel Accidentally lost during a rebase. Fixes: 89cf4b85db40 ("release: Use NO_ROOT mode for dvd1.iso") Sponsored by: The FreeBSD Foundation --- release/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 4f4d0f483444..72df23bfa52b 100644 --- a/release/Makefile +++ b/release/Makefile @@ -253,7 +253,7 @@ dvd: packagesystem ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_RESCUE=no MK_KERNEL_SYMBOLS=no \ MK_TESTS=no MK_DEBUG_FILES=no \ - -DDB_FROM_SRC ) + -DDB_FROM_SRC -DNO_ROOT) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist for dist in MANIFEST $$(ls *.txz | grep -v container); \ From nobody Tue May 13 18:49:26 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxlrQ6PwWz5vnWZ; Tue, 13 May 2025 18:49: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 4ZxlrQ5mgnz3qC4; Tue, 13 May 2025 18:49:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747162166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yJ8XaPu7f8Q2wcYbekIb5SPVKRBFP3RXzALOiMMnh88=; b=cOffqwxE5B1fjxklDNLuHFupEGMCoeScK9b6xXq4QTxRNn7+ZFpRXxvVCKwmfB4tC82Ebf VDdh0cMZb9xIXosz02/EUISflEJYU4D/shcwTktoZ/Vy2El8xQw5eoKsLZRO+LmCVebVvF CFp5miFTUuqlbbkFA3D/cJDFya3hS/Ke9vIFtwvLBliguR9h35i9Tuki0OtuLIL8RL28hE guyKhLuW5IuNXC+TqaoZwe3LNIfgcraAKFay/eoWEBjl/4SWUhuECQYApu/Bn+0ifSgrBo 3B1VCtZRfs9cBuWzG8JTrkv7OeEVlh8WQfp7sUpsj6rUtqpmoNIONZ+869mwtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747162166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yJ8XaPu7f8Q2wcYbekIb5SPVKRBFP3RXzALOiMMnh88=; b=EnRUJie/k9M5r3ndKC9SiA934eeakY+Hd1Vn2C7pda9zn4HwjHyKeUVLV/CrtYvnwuAcgU 2g9STZXnz68abHKvzKZjEPMDNPEe/A0jqYswOCp3Zo/nEiUrWsJSS4yKjKoJ0TjKiYQ6Wx 17B+D5zgqAOvpKqWDMJfLDHkaqCYV2QD3PGv2Y4Cmh4jGiujqXPB3hPVZEduXpJaCKZTy9 eidTpOzNezCsf2Dx5mt8KFkc1AfkiL/a+RfGOKDNEecDGhEbEK2UDzkHBRm0L3qQnbyNBl 38DuIy1NpDY67Ibz8RShM7eKJ+TjSpk9PFL1J4T1k/v1BRUVOC05Rmk2ORyGSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747162166; a=rsa-sha256; cv=none; b=RkXXDLpSm3Thp4cG/1pRA3tZM29NN1BW0IsdTFVtab0RyLfCk91GbAkBbC56gk53y5/DTe 9pSDT8u9y0DXVXWWbCUQtpAQlfr37i2OfY7A3SUkpAPHTOij4/CKzs1eMp+ZYkAG2kP/Ie cHiUON5NAD7rjQnl6Ec9FJ6NbGKyIFlSkjkj4wgeTpAXE7nmALCMnqx6heLNRh3DYJ2UxO xFpaN00zer10pisv+GScX2svAmVe5zgT7W9q4r9RVUnZkOYJUDkYa24Bd/GpLRoxHXS9mI 1MQ6T4VbjffISaxJVEfoz1ir72BbAMB4MSr3V6KcNaRZvnWKHi6WZgR01DsA/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxlrQ5KT9zyGY; Tue, 13 May 2025 18:49:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54DInQpc052433; Tue, 13 May 2025 18:49:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DInQ4q052430; Tue, 13 May 2025 18:49:26 GMT (envelope-from git) Date: Tue, 13 May 2025 18:49:26 GMT Message-Id: <202505131849.54DInQ4q052430@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 91c9751c3913 - main - ar40xx.4: Initial manual page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91c9751c3913497db2fbad1fcf7491557bbd2a75 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=91c9751c3913497db2fbad1fcf7491557bbd2a75 commit 91c9751c3913497db2fbad1fcf7491557bbd2a75 Author: Alexander Ziaee AuthorDate: 2025-05-12 02:22:59 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-13 18:48:19 +0000 ar40xx.4: Initial manual page For inclusion in apropos and the hardware release notes. While here, add xrefs to this page and the previous e6000sw in etherswitch.4. MFC after: 3 days Reported by: adrian Reviewed by: adrian, mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50324 --- share/man/man4/etherswitch.4 | 2 ++ share/man/man4/man4.arm/Makefile | 1 + share/man/man4/man4.arm/ar40xx.4 | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/share/man/man4/etherswitch.4 b/share/man/man4/etherswitch.4 index 4813d7cce1e5..ba8e32c00750 100644 --- a/share/man/man4/etherswitch.4 +++ b/share/man/man4/etherswitch.4 @@ -49,7 +49,9 @@ device nodes .El .Sh SEE ALSO .Xr adm6996fc 4 , +.Xr ar40xx 4 , .Xr arswitch 4 , +.Xr e6000sw 4 , .Xr e6060sw 4 , .Xr iicbus 4 , .Xr ksz8995ma 4 , diff --git a/share/man/man4/man4.arm/Makefile b/share/man/man4/man4.arm/Makefile index b5d49d0dffb9..6b046a1002a2 100644 --- a/share/man/man4/man4.arm/Makefile +++ b/share/man/man4/man4.arm/Makefile @@ -1,4 +1,5 @@ MAN= \ + ar40xx.4 \ aw_gpio.4 \ aw_mmc.4 \ aw_rtc.4 \ diff --git a/share/man/man4/man4.arm/ar40xx.4 b/share/man/man4/man4.arm/ar40xx.4 new file mode 100644 index 000000000000..e314d30dd4c6 --- /dev/null +++ b/share/man/man4/man4.arm/ar40xx.4 @@ -0,0 +1,35 @@ +.\" +.\" Copyright (c) 2025 Alexander Ziaee +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd May 10, 2025 +.Dt AR40XX 4 arm +.Sh NAME +.Nm ar40xx_switch +.Nd Qualcomm IPQ4018/IPQ4019 Gigabit Ethernet switch driver +.Sh SYNOPSIS +.Cd device mdio +.Cd etherswitch +.Cd ar40xx_switch +.Sh DESCRIPTION +The +.Nm +driver supports the Gigabit Ethernet switch inside the +Qualcomm IPQ4018/IPQ4019 SoC. +.Sh HARDWARE +The +.Nm +driver supports the following Gigabit Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Qualcomm IPQ 4019 Five-port Gigabit Ethernet Switch +.It +Qualcomm IPQ 4018 Five-port Gigabit Ethernet Switch +.El +.Sh SEE ALSO +.Xr etherswitch 4 , +.Xr etherswitchcfg 8 +.Sh CAVEATS +This driver currently only supports L2 port/VLAN mapping modes. From nobody Tue May 13 19:37:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxmvd5g7yz5vrTt; Tue, 13 May 2025 19:37: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 4Zxmvd3H7Lz3Gpd; Tue, 13 May 2025 19:37:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747165037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FTB+IKGTzm6OiyJhjkoVOPTkSS/ZLqtPyjua2qILviY=; b=sG7B+ZtKnJJ9SQoR0kg5rwDctjbs/qmwReEhNmZfgvwbsS99vZjTKfKWEEQPtfkFZbk5Be XZw3T7h0daHdbYj0BhaTEGfeE2TgwmxG3ivz18abmVvbmqRJeP8er3TQqpFYZ91HF8i9Xv 2Bpf5euZpKNB8/YZTCRCPDQvRTKnKlE+PQX/n5Gu3C5paBF41jJLal2jGQ/CpFVvhQM1E2 LfDy/DJimOdXM7a+/x2PJV64wTGG+lv2GiilE/w75AfV3MUBRq5k2WGAn0kuQ1by/5DjdS VZliyWg/gjCHyP6RUD96gKW0p8qL2bY8YB63seYvxA5BEK6iTgmKfFysu1LNWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747165037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FTB+IKGTzm6OiyJhjkoVOPTkSS/ZLqtPyjua2qILviY=; b=CmCp/tMxOaUEBxDw81ax2n0zj0GRjCIiXu/m63u8E9l1zsTKH0MRyM2/qAPsMFF9eBule/ vJgUypO34cW28uaWOe5rrVNhlCMP9NiDlXU1Vkyhuw7VrcVSqs+/0BASxbywtWvtf1P2M7 CxSEyViIuerjNjP93d2i/2DCbNQisdneNFTROsB7SNfaD32gWWMfVc34PO+mHxoRoCypbS DB97xnvvEQtfIYP8iw6Prtemb9tRLoVUxlXPfkfCiwY1echjU+f3unW8PFgsXeUTGGHdeo A8g2k1FQ5LC69TkxEGGKKlnQeszDN/dujcepbTqr21ad8wgxydefkgcWRokWnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747165037; a=rsa-sha256; cv=none; b=kUXGc2+uj8Km7up3d3O5o8RK9hIv+mWgPyeRpT1bRnAoF7qoJl81MUAmHZtMeoqjbWI2sB lxJb6p15XFQ/zzaRmumY5CEbBSFMf3NxlI9rrd0kDy69MsYXb0TNIxUfrh7hFZrn62iD53 hlMKAGYZ6c3fudBJCNQxlyNpENHbUzHhL5fDRjGkhEhLvCXpNguyZCzmZgoPLTPfY29Zz/ ESnOHLRgv0TsyrYCBL8fH3dsgD7tOJN4IfwlEgKZAJxx06o5MpUuhbmdNCx7eER3SXxqZ0 pJO4dtZiTDjtY67wugfHtJjchMU5iTDD5Ob7dz1UTxe/uqx08qlviJ/01t4enw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxmvd2hcVz118Z; Tue, 13 May 2025 19:37: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 54DJbHve045992; Tue, 13 May 2025 19:37:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DJbHWK045989; Tue, 13 May 2025 19:37:17 GMT (envelope-from git) Date: Tue, 13 May 2025 19:37:17 GMT Message-Id: <202505131937.54DJbHWK045989@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 15143ba61a3b - main - sdt: Fix a typo in arm's sdt_tracepoint_valid() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 15143ba61a3b154023095afa333b25592af4b904 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=15143ba61a3b154023095afa333b25592af4b904 commit 15143ba61a3b154023095afa333b25592af4b904 Author: Mark Johnston AuthorDate: 2025-05-13 19:36:24 +0000 Commit: Mark Johnston CommitDate: 2025-05-13 19:36:24 +0000 sdt: Fix a typo in arm's sdt_tracepoint_valid() Reported by: Mark Millard Fixes: ddf0ed09bd8f ("sdt: Implement SDT probes using hot-patching") --- sys/arm/arm/sdt_machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/arm/sdt_machdep.c b/sys/arm/arm/sdt_machdep.c index 02361497ee8d..12119ae6db37 100644 --- a/sys/arm/arm/sdt_machdep.c +++ b/sys/arm/arm/sdt_machdep.c @@ -24,7 +24,7 @@ sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target) patchpoint + 2 * INSN_SIZE < patchpoint) return (false); offset = target - (patchpoint + 2 * INSN_SIZE); - if (offset < -(1 << 24) || offset > (1 >> 24)) + if (offset < -(1 << 24) || offset > (1 << 24)) return (false); return (true); } From nobody Tue May 13 21:21:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxqD72w10z5w030; Tue, 13 May 2025 21:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxqD66kxdz3NrJ; Tue, 13 May 2025 21:21:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747171303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HiRSnFZQvyMFNql6I/AtzzdegbIUVvOhs4aVvjaSblw=; b=M7wYWL0fVGlJzOuRkspPj0Vnxn35JSU08Owky7d5xQe3timKPCC5B9ko3ptWyvrRfUjAdR +RxBEMY6jYOoffTgcm0DHJD2c89ClJg+RwwZzTQtHiEB/wKncmOInxawOxp+L6/GT9RjU7 b0f4WVJWgIAhSke65keo+rF49KtZ4LlJY9C5NBhpGjlRt44572DQQfRI+s5y7qmRtgbY4h MgX/TCtsf1g4Vz2jvnzI4NOQuTeo62jbosCXSEGbyZvb79LzIB9UWtn+WxUntSUB/CdoBH fHJ0HRI9XpUcqOr3hE4tKumFWMdkqx80Ylt5GpanJHsxsAf1e6R5/zbcc1gt0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747171303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HiRSnFZQvyMFNql6I/AtzzdegbIUVvOhs4aVvjaSblw=; b=iJzg3eO5C8fiqybZswqR/DdhpIcf0WDQNZFY3KF00a/t0VidOuHK9CWAJ8/8MVtwNfys2q zX6S9A4wJCcEep++tW4vok/SszHH+Tq2VzikTDfVo/QYZ23CuL9HAia+ThBjWMCE3n5ABM JEOfX1p5zDgnFN/RcfTXQi+doYVfAxAFt6ySR8N7dXHYapLwyT48XZqYt2BmzPrZikZSCP ulyx41sD3EkkDAck8rNCVUWBli+SCupYR9AUSCdcfghNjHWoPlvZ0Svx+W5/kTRDUxiyXi qBW730MxM6C+T/BaRPfZ0BrAhAcgLu8Yf9rH+uBEAGGNsjUI9Et/qyXZN0/aXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747171303; a=rsa-sha256; cv=none; b=pUAfPO+7txysoysfINh6QZ5V66R2TImkw3gtpq8dSUP1tY4h/VyXdX3NQ4AHLZOsKscacl c5zBCrTM5JJk8ze/px2HVDyq/o1qUS2E74f543pjHutj7eYZGX9vq5QPVQiImTRK+idT6y AfeuRhUdCilIUYq7Ag1aYuDlEIr4ME0xfkUhnWZQjtipQPhF2/e4K1mKmbPjgIS+LxgoQc x5iTgwXnyYNObCB9oLC1g1bByZgTow2xUQX3zCrT+9uHQZdZZvrpCsYlfEv5FhyjxuUD4b Kbz8UaRk1gZNB0L4JCNr0VqNkelYdl7XMgUIAjiOsgcrKbYoNSVfnt6qaAzglA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxqD66HGrz13p6; Tue, 13 May 2025 21:21: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 54DLLgTE048165; Tue, 13 May 2025 21:21:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DLLgb2048162; Tue, 13 May 2025 21:21:42 GMT (envelope-from git) Date: Tue, 13 May 2025 21:21:42 GMT Message-Id: <202505132121.54DLLgb2048162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: bef89c155e77 - main - e6060sw.4: Improve title and add HARDWARE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bef89c155e77dd471af596a43f3914b754cc5155 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=bef89c155e77dd471af596a43f3914b754cc5155 commit bef89c155e77dd471af596a43f3914b754cc5155 Author: Alexander Ziaee AuthorDate: 2025-05-12 01:08:10 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-13 21:16:16 +0000 e6060sw.4: Improve title and add HARDWARE For visibility in apropos and inclusion in the hardware release notes. MFC after: 3 days Reviewed by: adrian, mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50321 --- share/man/man4/e6060sw.4 | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/share/man/man4/e6060sw.4 b/share/man/man4/e6060sw.4 index 407138abe378..74736f65fe80 100644 --- a/share/man/man4/e6060sw.4 +++ b/share/man/man4/e6060sw.4 @@ -23,12 +23,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 5, 2017 +.Dd May 10, 2025 .Dt E6060SW 4 .Os .Sh NAME .Nm e6060sw -.Nd driver for Marvell 88E6060 and 88E6065 fast ethernet switch chip +.Nd Marvell 88E6060/88E6063/88E6065 Fast Ethernet switch driver .Sh SYNOPSIS .Cd "device mdio" .Cd "device etherswitch" @@ -44,6 +44,19 @@ This driver use smi interface by ethernet interface. 88E6060 support is only port vlan. 88E6065 support is port and dot1q vlan. dot1q support group base tag/untag. +.Sh HARDWARE +The +.Nm +driver supports the following Fast Ethernet switch controllers: +.Pp +.Bl -bullet -compact +.It +Marvell 88E6060 +.It +Marvell 88E6063 +.It +Marvell 88E6065 +.El .Sh EXAMPLES Configure dot1q vlan on 88E6065 by etherswitchcfg command. .Pp From nobody Tue May 13 22:02:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxr7d23bjz5w3Xc; Tue, 13 May 2025 22: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 4Zxr7d19B7z3vps; Tue, 13 May 2025 22: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=1747173773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JxibNK1gD7os1mlwaHdYOaKbvow4iPynBwEIm5Rdwk=; b=eWe8cLd1y5kvAT/90TlV0TVDV+19h9jkkSvOmSo/QtuGgo42WYC/RZglqkA03IJYMR7mtp +0tGXhSh24l8GCxpS94PI1YRG6B3Wk0dLYpJeKhiZZV4WwX5KO/Ww1jqJNEkz/ZnIcoTNo LrhreVU4vppd/f/vxLohwNLwjOlg6sWp4yWVT4Rb1qf+QolR66pfZaYNW529JOj8MDbNR6 +Jl4WbhMLdCxwZSSjfePCPsVrz/4VJYMuYDQqqZ6+atCemL5Ojl4R1uqw8QW/YdVaYLTgA 0EYVAmlI/v88ce0qVTtGeGYAJZHzMy9Pzh64zdq0LXqepxQv57kSxJbfLwbqcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747173773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JxibNK1gD7os1mlwaHdYOaKbvow4iPynBwEIm5Rdwk=; b=F5KueuQD23Z36FmZETgXVJ09a9n5HYqUI2b75pVmt+tFa1/S7BH8Q4du2CBxJ6fDlvk+RG J4yjUR7aA3VTe2sCTJnwTtKGie42KqA0yVbWvMDazRhYx5D+ndItsTZwJ8P1WZ/4BSbxLC XppisstImlXHDeSfGS7RA86Q+AoIP+b3bF7UVt/Rfpzo3dfDxvsCOYB+mkFdDLJre22wMG 1BKjJY+0dcMzSUqyqBIL8u4yZcAciheIINoHNHNl69PMHIBkZ8g91oP+uxNXQht9x6EuKg yaWr3n/tuIqd3IL8lfIrZ0BYRFdEMPDzMo4bJg42bNYjseUHvarzHkbTISBXDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747173773; a=rsa-sha256; cv=none; b=pLo6tMHN1xbILBzsFSAC1m9pZdEwlC57Y8XiSKw/PL+9Ye3+oPvX4FOWEcSdSaCI6xf0Hl IBptJ62rjcrinO8IO9bjeV4SILyUKBWzPmA3N4AnjL6SQYIwZK/GbpOYo95UDX2MvsJHPg TOtOztLpZmOsIdC1Y/9SUL1krh01PvGgzSxrUSTQdznpJXKxfkQ2BgXBFW4uyaENxAz/72 HazmuCsBK7W0ZI9jzghJStUvAWNdG+LEScPXL1Z+/+rtm5bDE6BQWXZQIppu3lf2mIewdI KBmwLFMeLjv2hTY2IgtxlW6alFO1Bw52RIyI3T1K4lpR8BsHkfzMpcxGt+EA/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxr7d0mJwz14BK; Tue, 13 May 2025 22: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 54DM2reX026115; Tue, 13 May 2025 22: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 54DM2rdV026112; Tue, 13 May 2025 22:02:53 GMT (envelope-from git) Date: Tue, 13 May 2025 22:02:53 GMT Message-Id: <202505132202.54DM2rdV026112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: dbfe79bbe5d5 - main - sound: Call PCM_RELEASE() if pcm_addchan() fails List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dbfe79bbe5d5ebe296fbff2d101e0994d7881d0d Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=dbfe79bbe5d5ebe296fbff2d101e0994d7881d0d commit dbfe79bbe5d5ebe296fbff2d101e0994d7881d0d Author: Christos Margiolis AuthorDate: 2025-05-13 22:02:41 +0000 Commit: Christos Margiolis CommitDate: 2025-05-13 22:02:41 +0000 sound: Call PCM_RELEASE() if pcm_addchan() fails Fixes: fd906e47b18f ("sound: Simplify locking during device creation") Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50337 --- sys/dev/sound/pcm/sound.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index f6c35769e7f3..e690b53c411d 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -139,6 +139,7 @@ pcm_addchan(device_t dev, int dir, kobj_class_t cls, void *devinfo) { struct snddev_info *d = device_get_softc(dev); struct pcm_channel *ch; + int err = 0; PCM_LOCK(d); PCM_WAIT(d); @@ -147,13 +148,12 @@ pcm_addchan(device_t dev, int dir, kobj_class_t cls, void *devinfo) if (!ch) { device_printf(d->dev, "chn_init(%s, %d, %p) failed\n", cls->name, dir, devinfo); - PCM_UNLOCK(d); - return (ENODEV); + err = ENODEV; } PCM_RELEASE(d); PCM_UNLOCK(d); - return (0); + return (err); } static void From nobody Tue May 13 22:46:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxs5x1NWnz5w6Ph; Tue, 13 May 2025 22:46: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 4Zxs5x0gQ0z3cL5; Tue, 13 May 2025 22:46:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747176389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lfhp97mDg1xYcUuMK5LAn9A4H1AB1jg2/8Z5t/V2hBY=; b=l6TY3oGWrBKQ5AJXw0c1VG2LQeaO/H9vP4aelLyv/K8DDfr0s35BZsiiDQfR6nKTmHpPxm TGqXNFfMnq2biYIDE/T8XV5tfgY2O+GwL3BgGsQv3lxknBkcb8rq0HynGF+99eI22eG6cl t4Q0Bt46f6/v/lyvuFh9m3NFxT3pfbkcvk1z/IqLljEXaOlQeT2EHRDHieRvveXA8o/2bJ Twd0KQQeN1EieyaL9Pb2/2z5uzY3OK9OycvUpa5Cdz2XIBQbaUfce8egoHmKHXA4TLqOwh jv+ffWFfwKgHWLNKmJ7Gei5Bx+vgr0+05R3TSgKB4T9MBi1Sis43NLq7DGtywA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747176389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lfhp97mDg1xYcUuMK5LAn9A4H1AB1jg2/8Z5t/V2hBY=; b=HNhMdWaSHuu9TjVp0x52ZJIvir7Dep6Oz4uqdoG3QGkmWp9qvAqlFUWOaD0ogEVYH3L7NA +RW0gvlEwU5dfIwr/DYRsceRlb4yurUiqc0Y65Yvx5T/HTw+foK9djRRY/RF0TZCBv2VPj BSx3NxwEbAsYsEDJcgUrMD5PJNJ5puC+pQRaD4nuIeNjdmmEXyu90QJT8cM7+p8uH2kwHO aqTxMel1NtHXDdoMuJXae7y0qJgwTXtNJMAEHYrwBdXgUhwHUA5vOCubSQhqW+iUGElkbB odQASKsj3YTvdlrjfmRb2EdEvvqJzDzuPJJ6Ic7ZA3Xr8S9qRn9RdGH9GtSf8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747176389; a=rsa-sha256; cv=none; b=xWu6OSC4J6g8vmhahpbchnyA70mE6XsnKoH0AV6egvYfzi7CihtlHm4q3UsbdsHUVvfLFG IkerV2ANIcn7dAWpxsej42tnTV1TfkgyCxMnUdWzVNnfJB2Aj8k7+3kI58uPqMQOoVKQU4 mcGjNZwLsSe9jLPhwDXUctRPU2tqxBQRLIkw9PunbKnJNVMt1jXqDwpocemGHM3ph76NoA 1URvkrashWMNpjidFXCbPgKFxVcxn9xrz/qRObh6pOyX3EozcMF7fw6T9T4Z7pXREqTzJ3 DsMhRDomg5i4YREagfiSnApA3UMm4WeCyCF6zW8tJPqpxig0uJWm53eNmWUbPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxs5w6yN3z15K9; Tue, 13 May 2025 22:46: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 54DMkSDn001605; Tue, 13 May 2025 22:46:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DMkSkM001602; Tue, 13 May 2025 22:46:28 GMT (envelope-from git) Date: Tue, 13 May 2025 22:46:28 GMT Message-Id: <202505132246.54DMkSkM001602@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 86d20eaadfd1 - main - powernv: Add RF_BIGENDIAN resource flag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 86d20eaadfd1a03e19d8bc8333c689b820299d52 Auto-Submitted: auto-generated The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=86d20eaadfd1a03e19d8bc8333c689b820299d52 commit 86d20eaadfd1a03e19d8bc8333c689b820299d52 Author: Justin Hibbits AuthorDate: 2025-05-13 22:39:37 +0000 Commit: Justin Hibbits CommitDate: 2025-05-13 22:44:09 +0000 powernv: Add RF_BIGENDIAN resource flag The big-endian analogue to the RF_LITTLEENDIAN flag, if this flag is set on a memory resource it's always mapped big endian. This is needed by the PowerNV OPAL resources (XIVE and PCI), as these top-level peripherals are always big-endian. Tested by: pkubaj Fixes: c4921a0f("powerpc: Always use BE tag in nexus_map_resource") MFC after: 1 day X-MFC-with: c4921a0f --- sys/powerpc/include/resource.h | 1 + sys/powerpc/powernv/opal_pci.c | 2 +- sys/powerpc/powernv/xive.c | 2 +- sys/powerpc/powerpc/nexus.c | 4 +++- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/powerpc/include/resource.h b/sys/powerpc/include/resource.h index e7e9493569cc..6726104403d0 100644 --- a/sys/powerpc/include/resource.h +++ b/sys/powerpc/include/resource.h @@ -47,5 +47,6 @@ */ #define RF_LITTLEENDIAN RF_SPARE1 +#define RF_BIGENDIAN RF_SPARE2 #endif /* !_MACHINE_RESOURCE_H_ */ diff --git a/sys/powerpc/powernv/opal_pci.c b/sys/powerpc/powernv/opal_pci.c index 8dee2c45c089..622c8c2cc09b 100644 --- a/sys/powerpc/powernv/opal_pci.c +++ b/sys/powerpc/powernv/opal_pci.c @@ -270,7 +270,7 @@ opalpci_attach(device_t dev) rid = 0; sc->r_reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &rid, RF_ACTIVE | RF_SHAREABLE); + &rid, RF_ACTIVE | RF_SHAREABLE | RF_BIGENDIAN); if (sc->r_reg == NULL) { device_printf(dev, "Failed to allocate PHB[%jd] registers\n", (uintmax_t)sc->phb_id); diff --git a/sys/powerpc/powernv/xive.c b/sys/powerpc/powernv/xive.c index 384ff4ef20d2..aaf4953ba8a5 100644 --- a/sys/powerpc/powernv/xive.c +++ b/sys/powerpc/powernv/xive.c @@ -327,7 +327,7 @@ xive_attach(device_t dev) rid = 1; /* Get the Hypervisor-level register set. */ sc->sc_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &rid, RF_ACTIVE); + &rid, RF_ACTIVE | RF_BIGENDIAN); sc->sc_offset = XIVE_TM_QW3_HV; mtx_init(&sc->sc_mtx, "XIVE", NULL, MTX_DEF); diff --git a/sys/powerpc/powerpc/nexus.c b/sys/powerpc/powerpc/nexus.c index 029b6ef8a479..1dac56a84cf9 100644 --- a/sys/powerpc/powerpc/nexus.c +++ b/sys/powerpc/powerpc/nexus.c @@ -287,8 +287,10 @@ nexus_map_resource(device_t bus, device_t child, struct resource *r, map->r_vaddr = pmap_mapdev_attr(start, length, args.memattr); if ((rman_get_flags(r) & RF_LITTLEENDIAN) != 0) map->r_bustag = &bs_le_tag; - else + else if ((rman_get_flags(r) & RF_BIGENDIAN) != 0) map->r_bustag = &bs_be_tag; + else + map->r_bustag = nexus_get_bus_tag(NULL, NULL); map->r_size = length; map->r_bushandle = (bus_space_handle_t)map->r_vaddr; break; From nobody Tue May 13 23:33:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxt8P4rXNz5w99n; Tue, 13 May 2025 23:33:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zxt8P3fNSz3JFb; Tue, 13 May 2025 23:33:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747179221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ANMSHrvzJxkcbhrHsQ1bROMJ2dLecbDXzv2kVDyFmlQ=; b=KRMA6/tzbGhVLvLmjuAmfg7j6kUoIegpFdFBAmYVWdcggMnjUxAf595wPHJuawUoOfENU+ HcgxFV9YW1s8oDOhhsJt/CBKYsNsrNoh8ZJy48Kp3EmdKFMC0l5GevThkVA973pX7XHngj Qaj9ryplJNKFfFgmxojjDR2TdZwv+vAzrBjYRsF+Myh8wa5tDEfPxLfas3URI9z2XwTHGH lPhnPFpYsAbDkfwcygYJvNI5XB45bhlZKVKxrwxGuFcXA9tGk4SadoASqJcxOrsmW/Vc4E 4U+9hkakrq7QWAMtU0kisEDBgP9AIQYfOMbj6PFRedet/NXna5NDmehOc/Kpug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747179221; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ANMSHrvzJxkcbhrHsQ1bROMJ2dLecbDXzv2kVDyFmlQ=; b=j4/pyTBWEc7zyid+YfocIN5uZE8YzeGw1yDia7MsvDnlunDWjW1taSz0Vx/naJgQD3fyHm G3/1IzmGxK66ScHE0m0kaA1Ovl4X8O7m6jGDjKwPUPjYp44Uur3mbR6GxmTMCh/c0w+/Ur mYaJj1hSv8/87L8WmLZcb+etafqCtf3yc9sg/QcLOVWt0EfKRURBFzuDSH4gta1tvOeadu KhcC9ZKiYxmHnZuqzrYgCagEbk7bd1dD6X3sSRlfblUglT1B7sLm+nvawnGRDhqktM2hn/ tMCeqBOmBhkEdTgzkLpjigLTqBXqz9UA1lngDTZyQKlv6rJ6L/g6quUKPcW6fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747179221; a=rsa-sha256; cv=none; b=O3CsKlV1Bb0v2vapVCi5JDFcPlVcy+iVmXOmaiTV8GbuYzvkFJyoZEE5oe2n09qS8x2wF8 jQKVdBYIpvIXUrhdz/gyLZ/LhLDLkPkyXdLlX2kUq07MAx0xEg/cCX/0i/swm/S3vlugSv h45FfZhWO65wSKNCOies6klA/ETHgQtcP0U4lAxbD8/lmRetFhjCoIl6afYy77iLQyQ9xP QfC19nurqG82ZpArNJjHfq0eSL64PzMlLU2HptXppR+ICaMBh81/pMFjlrht+rYfSDulG+ ppyr8LwP+crzsFozUAJ7u6FuYGL1ETgPW0BWoCm0o8E2uQfT16AvUjtG53V3lw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxt8P3648z170Z; Tue, 13 May 2025 23:33:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54DNXfLO095076; Tue, 13 May 2025 23:33:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DNXfJZ095073; Tue, 13 May 2025 23:33:41 GMT (envelope-from git) Date: Tue, 13 May 2025 23:33:41 GMT Message-Id: <202505132333.54DNXfJZ095073@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: aee6c83e06a8 - main - vfs: Sort includes in vfs_vnops.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aee6c83e06a807caf1ebb48d3ddb8df68a5f2bfe Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=aee6c83e06a807caf1ebb48d3ddb8df68a5f2bfe commit aee6c83e06a807caf1ebb48d3ddb8df68a5f2bfe Author: Mark Johnston AuthorDate: 2025-05-13 23:26:14 +0000 Commit: Mark Johnston CommitDate: 2025-05-13 23:27:13 +0000 vfs: Sort includes in vfs_vnops.c Remove some that are not needed. No functional change intended. Reviewed by: olce, kib MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50316 --- sys/kern/vfs_vnops.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index eaa1d298bdc6..78888ec22e9a 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -40,43 +40,34 @@ * SUCH DAMAGE. */ -#include #include "opt_hwpmc_hooks.h" #include #include +#include #include +#include #include #include #include -#include +#include #include -#include -#include -#include +#include #include #include #include #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include #include -#include +#include #include +#include #include -#include -#include -#include #include #include -#include +#include #include #include From nobody Tue May 13 23:33:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxt8Q6TWRz5w99p; Tue, 13 May 2025 23:33: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 4Zxt8Q4WRkz3JH1; Tue, 13 May 2025 23:33:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747179222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7bTzN2P61j9EcqrIASh1tmwqz9NRjIbKo4Tfo1FfiFQ=; b=QVrRvpDcypAR5YCsaRr90UwnpuX3K1VT13ARV2ke/YV3O1BLIuJRBt7de7VpOMm5yxPol6 O3QULm/u8XInFfn9Zpr2xCV+3KjWb02lQ06fVBAb3lgLevl/SuWYcQsyB42Gh9mi1UcZgI BlgYlwlWp3K9oxY5iKERxPEA+GHc2xCgGHIeZJdZFahU4A+6tasfqX72GtW/SuTrEKEoYT /+tPJHvql93p0IIeO2uAB8kqjYcM3BTKNE74qPb5NyyMqqpVLU2IUud9oqaZzEcgwAMnix ERf7BMr8Lz2lgjFb9JH518Vi8Bwg3Vp4XbnMK+HN2NRqB1OT/oCPMFdKZvIPXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747179222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7bTzN2P61j9EcqrIASh1tmwqz9NRjIbKo4Tfo1FfiFQ=; b=Yn6J6TbB06dozj6o8s+NmH0TAGY9Q8Qfaqv2wskDScCAtBnrWNPG54qCDaooJSlQUBBSyt loQZbsObBo75/lKxDyHF89IPfQTv852zRzZrDr2QMvPwPdXYw2Pymk849YficGo/KlbLKS HoQwVUh9iRJpwyiX/mDcsiUaxSODNhfUgnJn1oRgvs55tkA5KqAJqVIoOStjOQ8+BMDof/ CwjfWF01qay0SHxeU88Uz9ZuVK3ui7VETfhfttWc+nwl/pNEZ66cCCbyBqGpWgA7AX4Bxo KLKbXtAsb3kVG7Mddsm0g88z9wDtPriMKOM7KYOXaFGzORebaFKSbCxn5k1ncA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747179222; a=rsa-sha256; cv=none; b=OQ2+O0dwO2xkTp6oqyGkOlnFWFAd+HC3W//VoNmOFQbn46P02j5VglrVug1Jz+mgbsjK/o 5dRR/3K4ktQBzRD9oW1ExLlD1UwXjF3rT0wuqnAeH/SkXSlVhky+yYH99g6y83y2bcdomg pY/0xuj9nKP/LBv7QgNs9hp3S5/sM8eHmjOG4qzkoVShwNI4wYdTpj9vqBHF4OE6Sj2Pct 1uJZj/EqVHtfiSfyAG/QMvl2WhWjdQcpzAK+jmvn5ggMZWKsG8rFEtqB92AxYXgaSo+vjw lVfW4jsgENTX585juV1tGtgMTw3/Bj/ejJP5Gd6QLJpTWhkCky50pb1WoBPV5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxt8Q40Q0z16nD; Tue, 13 May 2025 23:33: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 54DNXgPC095116; Tue, 13 May 2025 23:33:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DNXgUo095113; Tue, 13 May 2025 23:33:42 GMT (envelope-from git) Date: Tue, 13 May 2025 23:33:42 GMT Message-Id: <202505132333.54DNXgUo095113@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c5a769781c1f - main - vfs: Sort includes in vfs_syscalls.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5a769781c1f6846e1e2cb4cd6aba199a2717105 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c5a769781c1f6846e1e2cb4cd6aba199a2717105 commit c5a769781c1f6846e1e2cb4cd6aba199a2717105 Author: Mark Johnston AuthorDate: 2025-05-13 23:26:28 +0000 Commit: Mark Johnston CommitDate: 2025-05-13 23:27:17 +0000 vfs: Sort includes in vfs_syscalls.c Remove some that are not needed. No functional change intended. Reviewed by: olce, kib MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50317 --- sys/kern/vfs_syscalls.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 3f1462d354fd..f992eccf567f 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -34,11 +34,9 @@ * SUCH DAMAGE. */ -#include #include "opt_capsicum.h" #include "opt_ktrace.h" -#include #include #ifdef COMPAT_FREEBSD11 #include @@ -47,33 +45,33 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include #include #include +#include #include +#include +#include +#ifdef KTRACE +#include +#endif #include #include +#include +#include +#include +#include +#include +#include #include #include #include #include -#include -#include -#include -#include -#include -#include #include #include -#ifdef KTRACE -#include -#endif +#include +#include +#include #include From nobody Tue May 13 23:33:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zxt8S1K4Nz5w99q; Tue, 13 May 2025 23:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zxt8R6KrGz3JKc; Tue, 13 May 2025 23:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747179223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqyTEj/K/VIJhqwjS3C+6Si/uAoWB0cEub9ryRDsKVo=; b=CgjfT6vaBIV0qBHMZDSntKk57bNtfwDan1DHJeWZxLtrSjjaIThnr7qkpa3JV49wT3Onma qMAQ6nfWm5j7w0hEKEPX98UZytYXK0/oa0MB7VDpAZfAmPd4OrfKuZn7QQgjs5o30LthdH 68/PmZpn+FYkaD3TNtiHb/phy3SFVh2pvszm3PVkiLdTBmSH8x2kWiFwU+Z2KY6NkIFvP3 fdlN/D56LK4YR8JYOeyJFEQHpgM97locDOMdCMtWO2yckiU9Lp+BRWEkNK00H7WB5r8L9J pSDoSoSDXRohGWDjZWkIerhopn2CBIFnYKA8nVsf0CJEgHVMyKDvdYYBTZivkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747179223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqyTEj/K/VIJhqwjS3C+6Si/uAoWB0cEub9ryRDsKVo=; b=wrXvPobSM+cZT3jXktWiodcvBwKpHiAqv4ERcR6Ic5SZ11tOBzPKioTLyo3T7cSs/K7HsV +JKZzwn3vz7pjg+TZO88xAl+lOXRN79/hUl+8pi/00I+ygF5hKDYz7dSsufMLJmbQLa0Bs YFnNXOtBgmfq0JnEYaTBrfuKPQ0QmsPhbK75vB9tFb1hSd+I2fzIXZNouakFP3dOlyc5uq cHS6aBmAJuvz7YAbBfusFVAWgSWdxkNMn9JSh8aCYhT4a9+Z1tIlfeBPtTBwCQUzeD03AK 5ORbiSXHEQNVJDaQOo88cNowK2un/svq6cAoKJxTOFmJWsmh54dSDqPqsfQfKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747179223; a=rsa-sha256; cv=none; b=NPI38IXuIvdI85Ib6+jSvKBAi7bssoGqnIUPWBydvd/y70nkqW8YbYcR05BbY7Yt0gFpuE nhu/sURtuDYUJqz17P7HOYBtFLEMsJL64FKqPusYaVV/mJU4zmrwV1pB4Nv7SqGBb+RJfB 3Z7ZZdkRSikX23AmjjDE73z6+3h4PDJkNR2iiJJVWJ3Jczmk8gADdJBUkQw7QYUjmXOmBO 2GQ+eFPbMj1XhNEKra64vL6i5sOyplaXmiad6lie0Xgqu5zUwPSka5GUqS9rj/KxB+vyY+ ichfc07gkj0FIbhbKPTsXqVFLPbnXVtlccGpyuXNdsFSmXCu8rb3XzljUA7C+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zxt8R4tzYz17B4; Tue, 13 May 2025 23:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54DNXhM6095153; Tue, 13 May 2025 23:33:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54DNXhDL095150; Tue, 13 May 2025 23:33:43 GMT (envelope-from git) Date: Tue, 13 May 2025 23:33:43 GMT Message-Id: <202505132333.54DNXhDL095150@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: a2e22ed3420d - main - file: Simplify an INVARIANTS check in _fdrop() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2e22ed3420d92d9d98a1e9681b5c9b1fbe40fca Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a2e22ed3420d92d9d98a1e9681b5c9b1fbe40fca commit a2e22ed3420d92d9d98a1e9681b5c9b1fbe40fca Author: Mark Johnston AuthorDate: 2025-05-13 23:26:49 +0000 Commit: Mark Johnston CommitDate: 2025-05-13 23:27:19 +0000 file: Simplify an INVARIANTS check in _fdrop() No functional change intended. MFC after: 1 week Sponsored by: Klara, Inc. --- sys/kern/kern_descrip.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index f007b22f90ec..cbffe592554d 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -3699,13 +3699,10 @@ int __noinline _fdrop(struct file *fp, struct thread *td) { int error; -#ifdef INVARIANTS - int count; - count = refcount_load(&fp->f_count); - if (count != 0) - panic("fdrop: fp %p count %d", fp, count); -#endif + KASSERT(refcount_load(&fp->f_count) == 0, + ("fdrop: fp %p count %d", fp, refcount_load(&fp->f_count))); + error = fo_close(fp, td); atomic_subtract_int(&openfiles, 1); crfree(fp->f_cred); From nobody Wed May 14 00:51:45 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxvtT487bz5wGJ7; Wed, 14 May 2025 00:51: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 4ZxvtT3XwNz4PMp; Wed, 14 May 2025 00:51:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747183905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JeL4STdQoPmndALagXpKHjp/VfRG1meGsPZhc09+Fc=; b=HEUoM0dkLLQujgFr1aP+GlkULVjJhb15aaZ+IgSD9TH2T7rSIcUZLfBrBnlZiJS90mg/Ag +BRJNqXCQCFZ/KGdvAdJKv9fHNKsRPaER6FDZj0BpOYt/OQ2XZB3vhiq5Ru1637KuPK59x hlL1b6czPifYOFVohiPvfQNNu7w7W+878RFrueBBvtStvz6g0i/k+Cn+GFXSqV474aBY+D 0gyIm+fYb9PeGokhp2bhrFRwUXAHeW2SySNui9jNQMRKPZuRuO7/0G16ZzjYj5prcH+/zl XcOATVd2bvaYu/APhM9yRQkk1ondtRSx9s1/xPZ+fWKLKpKnKMZo+JljcZrTaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747183905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JeL4STdQoPmndALagXpKHjp/VfRG1meGsPZhc09+Fc=; b=iv7ePrpXyYHiK+dwtxXtyhYVvffj0PSKkY+7nQCRFDwn7QFn7z87ndzUdvMTPQICRvq5aP QJH0qE8Mp0/RLIfgjg22EybIrIjsi+zFX9He8wRwOnDQ+rTS0MrkxEUM0ujufhahs4PhEq hLxXb696po68k5ZsMwdINFPi8WA/OGPGz6AbzvstsamdNN3QCh7T+Hs8UqVShKIenASSCT tdJZUIAZFvdduWIVtx/Jgd/0fjCRzZC6FYpp9yOhLmxezj7KI6bGm8rYX/5LIjwVr0EZrk sTz4pPYLIyJ/uP8kdiVuxLYqmUcwJeCLmIsV9ib+8hTxbquH+ETy0qTNr16oTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747183905; a=rsa-sha256; cv=none; b=wZ5Pg39C93Y2/IS9GH6vR45v304F+Nxb4MlpjBjRwtsezBhuTq4SP0DrNubOC4rzLl5ocG PBW1LCLb/7XH/kQnfrsgkSMCNJsuvz+r6smCV4FS8WcFaJI2tJ38/oB8lPffsRuTJEIiD4 gdldkCoR42OxozdhP6tTw8p6Vj8V5mV6IhsEftcSuHB/fV3HbJXV74ixe3oK6KquhFMFwe Cj9JbgNeUxuLbsf0N9uOBDlYg3la6k0Xbhxr7zoCJxU7+Abddfh3P3dHdz5aWdOQHf6tM2 Y1GDiA3p05LkmQbb9HBoPR2kviG2aAo6OoulHIXyXT91s+gTXTQYrlRGQZWEcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxvtT2NLpz199m; Wed, 14 May 2025 00:51: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 54E0pj6X041412; Wed, 14 May 2025 00:51:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54E0pjvA041409; Wed, 14 May 2025 00:51:45 GMT (envelope-from git) Date: Wed, 14 May 2025 00:51:45 GMT Message-Id: <202505140051.54E0pjvA041409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 735138131408 - main - vfs: Restore a require include List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73513813140871969fff1af3525aec6f314652aa Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=73513813140871969fff1af3525aec6f314652aa commit 73513813140871969fff1af3525aec6f314652aa Author: Mark Johnston AuthorDate: 2025-05-14 00:43:42 +0000 Commit: Mark Johnston CommitDate: 2025-05-14 00:49:09 +0000 vfs: Restore a require include BO_LOCK etc. require rwlock.h. For some reason this only manifested as a build failure for 32-bit powerpc. Reported by: Jenkins Fixes: aee6c83e06a8 ("vfs: Sort includes in vfs_vnops.c") --- sys/kern/vfs_vnops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 78888ec22e9a..696f5c11c8fc 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include #include From nobody Wed May 14 01:11:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxwKK3y1fz5wHtK; Wed, 14 May 2025 01:11:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZxwKK3QlVz3P4S; Wed, 14 May 2025 01:11:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747185093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gi8bd72ywWjbC5h7Ws8lbFAe7GYVmSZS5IR7egJafaI=; b=xzjXhMKABbEFw57ByqjShLyjZqbh8MI8oEq38uL6Qcs+vAUsu1axbBaD20cb+KtmBco2k1 gl2ysEoXuqkQHxZ9Knax1Zgc84OvW3/eu2hzGJKWFySkBJJVg6IcTr0tNPCW3qx2TqlrvR JNAPPxDcBUIs2c8AGaOXfO9XB+Bum9TkVfu7KBxctkBdwdeIm5Wc5w0XD2xuHF/Iw9OI5u s5hCzHN0vtbFruHI3uqgFpanToT74DWx6936NJ3JVGVmitIGlBNTrg7ovZOoP3MmeKujcr xhxrMZUM67TaRjbeAn6ceCxpHbh5yfbhGoQpxoIbxQJBM5k33pBdv8AWsy5BoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747185093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gi8bd72ywWjbC5h7Ws8lbFAe7GYVmSZS5IR7egJafaI=; b=Eu/7LIxVr5VxGWJzqNWlrroPcnvWTXYdXb2j1Yv2ah5MnprXcVhSAiHbJbNlPObLguRWW9 WhnNlYKj5/Iu67IX0+t4NXeaaRIXejcgyUOMBisqTjIwOw0m8oDq8wj9b1QyYjLVIoFpWT kBq1NvAOOaeheMfqcK3VM/CCQa/JsPoBE7EwWy/sn+wPJlHUde+N8uIv1+zcl4TvKOF/ul L3/NOzvrJHWRT80npHFctwJnegsbFU4OBijo95RLtJi5AF0YgZcfH3quhFEVvqu1vo8ztu 2P1iQCspDhgm1Za6kZSohhT6TSiCzoFcLbE9Rg6fRvxoy+lLecX5nUbFTjBVJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747185093; a=rsa-sha256; cv=none; b=DHT+1suo9hgZPEdbE411RFP/xyz4u2rOWvrp2Bd5axwbCb59uc9xyzSk9iMdsNgCPsaoPj Ylf0pSW5x/VIWPtu0e0cIVa8dBYLq1klZAAcmEG95TylBvzmstqlPwD3Rai2N2iLlEG0lr Eo6/BNSwZsLGCdKxDiFzebbvJ8HTkoFTXLBLJ164sahaOAXks7e3jkfrwwn/EqKZ2fuW5E wdPSkcBwkpV3RwYJCQ4pJh/+Tsy4hWFmiq56gPNW24cqVbXaZDVDQB5pN+Oid83WkOBuge EPH2TFO9ljTOGhmGTphHwdP36LqSlJPjWX82XDAei2t9mkF1JHfkFYWjQz3rYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxwKK2zPMz19C9; Wed, 14 May 2025 01:11:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54E1BX5H076605; Wed, 14 May 2025 01:11:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54E1BXp6076602; Wed, 14 May 2025 01:11:33 GMT (envelope-from git) Date: Wed, 14 May 2025 01:11:33 GMT Message-Id: <202505140111.54E1BXp6076602@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: b87a926098b2 - main - rtlbtfw(8): Add support for firmware file format V2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b87a926098b291e2baf45ffc13c076ba0b0f0d74 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=b87a926098b291e2baf45ffc13c076ba0b0f0d74 commit b87a926098b291e2baf45ffc13c076ba0b0f0d74 Author: Vladimir Kondratyev AuthorDate: 2025-05-14 01:09:40 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-05-14 01:09:40 +0000 rtlbtfw(8): Add support for firmware file format V2 As Realtek changed format of the firmware files for recent adaptors. Sponsored by: Future Crew, LLC MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D50082 --- usr.sbin/bluetooth/rtlbtfw/main.c | 19 +++- usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c | 195 ++++++++++++++++++++++++++++++++-- usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h | 53 ++++++++- usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.c | 35 ++++++ usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.h | 13 +++ 5 files changed, 302 insertions(+), 13 deletions(-) diff --git a/usr.sbin/bluetooth/rtlbtfw/main.c b/usr.sbin/bluetooth/rtlbtfw/main.c index e0445726c3a2..700b9b43bafa 100644 --- a/usr.sbin/bluetooth/rtlbtfw/main.c +++ b/usr.sbin/bluetooth/rtlbtfw/main.c @@ -76,7 +76,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x04ca, .product_id = 0x4006 }, { .vendor_id = 0x0cb8, .product_id = 0xc549 }, -#ifdef RTLBTFW_SUPPORTS_FW_V2 /* Realtek 8852CE Bluetooth devices */ { .vendor_id = 0x04ca, .product_id = 0x4007 }, { .vendor_id = 0x04c5, .product_id = 0x1675 }, @@ -84,7 +83,6 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x13d3, .product_id = 0x3587 }, { .vendor_id = 0x13d3, .product_id = 0x3586 }, { .vendor_id = 0x13d3, .product_id = 0x3592 }, -#endif /* Realtek 8852BE Bluetooth devices */ { .vendor_id = 0x0cb8, .product_id = 0xc559 }, @@ -312,6 +310,7 @@ main(int argc, char *argv[]) char *firmware_dir = NULL; char *firmware_path = NULL; char *config_path = NULL; + const char *fw_suffix; int retcode = 1; const struct rtlbt_id_table *ic; uint8_t rom_version; @@ -410,7 +409,8 @@ main(int argc, char *argv[]) if (firmware_dir == NULL) firmware_dir = strdup(_DEFAULT_RTLBT_FIRMWARE_PATH); - firmware_path = rtlbt_get_fwname(ic->fw_name, firmware_dir, "_fw.bin"); + fw_suffix = ic->fw_suffix == NULL ? "_fw.bin" : ic->fw_suffix; + firmware_path = rtlbt_get_fwname(ic->fw_name, firmware_dir, fw_suffix); if (firmware_path == NULL) goto shutdown; @@ -449,7 +449,18 @@ main(int argc, char *argv[]) rtlbt_debug("rom_version = %d", rom_version); /* Load in the firmware */ - r = rtlbt_parse_fwfile_v1(&fw, rom_version); + if (fw_type == RTLBT_FW_TYPE_V2) { + uint8_t key_id, reg_val[2]; + r = rtlbt_read_reg16(hdl, RTLBT_SEC_PROJ, reg_val); + if (r < 0) { + rtlbt_err("rtlbt_read_reg16() failed code %d", r); + goto shutdown; + } + key_id = reg_val[0]; + rtlbt_debug("key_id = %d", key_id); + r = rtlbt_parse_fwfile_v2(&fw, rom_version, key_id); + } else + r = rtlbt_parse_fwfile_v1(&fw, rom_version); if (r < 0) { rtlbt_err("Parseing firmware file failed"); goto shutdown; diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c index bb3d20d79527..c58a8feb41a4 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c @@ -105,20 +105,19 @@ static const struct rtlbt_id_table rtlbt_ic_id_table[] = { .hci_version = 0xb, .flags = RTLBT_IC_FLAG_MSFT, .fw_name = "rtl8852bu", -#ifdef RTLBTFW_SUPPORTS_FW_V2 }, { /* 8852C */ .lmp_subversion = RTLBT_ROM_LMP_8852A, .hci_revision = 0xc, .hci_version = 0xc, .flags = RTLBT_IC_FLAG_MSFT, .fw_name = "rtl8852cu", + .fw_suffix = "_fw_v2.bin", }, { /* 8851B */ .lmp_subversion = RTLBT_ROM_LMP_8851B, .hci_revision = 0xb, .hci_version = 0xc, .flags = RTLBT_IC_FLAG_MSFT, .fw_name = "rtl8851bu", -#endif }, }; @@ -144,10 +143,8 @@ static const uint16_t project_ids[] = { /* Signatures */ static const uint8_t fw_header_sig_v1[8] = {0x52, 0x65, 0x61, 0x6C, 0x74, 0x65, 0x63, 0x68}; /* Realtech */ -#ifdef RTLBTFW_SUPPORTS_FW_V2 static const uint8_t fw_header_sig_v2[8] = {0x52, 0x54, 0x42, 0x54, 0x43, 0x6F, 0x72, 0x65}; /* RTBTCore */ -#endif static const uint8_t fw_ext_sig[4] = {0x51, 0x04, 0xFD, 0x77}; int @@ -260,12 +257,10 @@ rtlbt_get_fw_type(struct rtlbt_firmware *fw, uint16_t *fw_lmp_subversion) fw_type = RTLBT_FW_TYPE_V1; fw_header_len = sizeof(struct rtlbt_fw_header_v1); } else -#ifdef RTLBTFW_SUPPORTS_FW_V2 if (memcmp(fw->buf, fw_header_sig_v2, sizeof(fw_header_sig_v2)) == 0) { fw_type = RTLBT_FW_TYPE_V2; fw_header_len = sizeof(struct rtlbt_fw_header_v2); } else -#endif return (RTLBT_FW_TYPE_UNKNOWN); if (fw->len < fw_header_len + sizeof(fw_ext_sig) + 4) { @@ -367,6 +362,194 @@ rtlbt_parse_fwfile_v1(struct rtlbt_firmware *fw, uint8_t rom_version) return (0); } +static void * +rtlbt_iov_fetch(struct rtlbt_iov *iov, uint32_t len) +{ + void *data = NULL; + + if (iov->len >= len) { + data = iov->data; + iov->data += len; + iov->len -= len; + } + + return (data); +} + +static int +rtlbt_patch_entry_cmp(struct rtlbt_patch_entry *a, struct rtlbt_patch_entry *b, + void *thunk __unused) +{ + return ((a->prio > b->prio) - (a->prio < b->prio)); +} + +static int +rtlbt_parse_section(struct rtlbt_patch_list *patch_list, uint32_t opcode, + uint8_t *data, uint32_t len, uint8_t rom_version, uint8_t key_id) +{ + struct rtlbt_sec_hdr *hdr; + struct rtlbt_patch_entry *entry; + struct rtlbt_subsec_hdr *subsec_hdr; + struct rtlbt_subsec_security_hdr *subsec_security_hdr; + uint16_t num_subsecs; + uint8_t *subsec_data; + uint32_t subsec_len; + int i, sec_len = 0; + struct rtlbt_iov iov = { + .data = data, + .len = len, + }; + + hdr = rtlbt_iov_fetch(&iov, sizeof(*hdr)); + if (hdr == NULL) { + errno = EINVAL; + return (-1); + } + num_subsecs = le16toh(hdr->num); + + for (i = 0; i < num_subsecs; i++) { + subsec_hdr = rtlbt_iov_fetch(&iov, sizeof(*subsec_hdr)); + if (subsec_hdr == NULL) + break; + subsec_len = le32toh(subsec_hdr->len); + + rtlbt_debug("subsection, eco 0x%02x, prio 0x%02x, len 0x%x", + subsec_hdr->eco, subsec_hdr->prio, subsec_len); + + subsec_data = rtlbt_iov_fetch(&iov, subsec_len); + if (subsec_data == NULL) + break; + + if (subsec_hdr->eco == rom_version + 1) { + if (opcode == RTLBT_PATCH_SECURITY_HEADER) { + subsec_security_hdr = (void *)subsec_hdr; + if (subsec_security_hdr->key_id == key_id) + break; + continue; + } + + entry = calloc(1, sizeof(*entry)); + if (entry == NULL) { + errno = ENOMEM; + return (-1); + } + *entry = (struct rtlbt_patch_entry) { + .opcode = opcode, + .len = subsec_len, + .prio = subsec_hdr->prio, + .data = subsec_data, + }; + SLIST_INSERT_HEAD(patch_list, entry, next); + sec_len += subsec_len; + } + } + + return (sec_len); +} + +int +rtlbt_parse_fwfile_v2(struct rtlbt_firmware *fw, uint8_t rom_version, + uint8_t key_id) +{ + struct rtlbt_fw_header_v2 *hdr; + struct rtlbt_section *section; + struct rtlbt_patch_entry *entry; + uint32_t num_sections; + uint32_t section_len; + uint32_t opcode; + int seclen, len = 0, patch_len = 0; + uint32_t i; + uint8_t *section_data, *patch_buf; + struct rtlbt_patch_list patch_list = + SLIST_HEAD_INITIALIZER(patch_list); + struct rtlbt_iov iov = { + .data = fw->buf, + .len = fw->len - 7, + }; + + hdr = rtlbt_iov_fetch(&iov, sizeof(*hdr)); + if (hdr == NULL) { + errno = EINVAL; + return (-1); + } + num_sections = le32toh(hdr->num_sections); + + rtlbt_debug("FW version %02x%02x%02x%02x-%02x%02x%02x%02x", + hdr->fw_version[0], hdr->fw_version[1], + hdr->fw_version[2], hdr->fw_version[3], + hdr->fw_version[4], hdr->fw_version[5], + hdr->fw_version[6], hdr->fw_version[7]); + + for (i = 0; i < num_sections; i++) { + section = rtlbt_iov_fetch(&iov, sizeof(*section)); + if (section == NULL) + break; + section_len = le32toh(section->len); + opcode = le32toh(section->opcode); + + rtlbt_debug("section, opcode 0x%08x", section->opcode); + + section_data = rtlbt_iov_fetch(&iov, section_len); + if (section_data == NULL) + break; + + seclen = 0; + switch (opcode) { + case RTLBT_PATCH_SECURITY_HEADER: + if (key_id == 0) + break; + /* FALLTHROUGH */ + case RTLBT_PATCH_SNIPPETS: + case RTLBT_PATCH_DUMMY_HEADER: + seclen = rtlbt_parse_section(&patch_list, opcode, + section_data, section_len, rom_version, key_id); + break; + default: + break; + } + if (seclen < 0) { + rtlbt_err("Section parse (0x%08x) failed. err %d", + opcode, errno); + return (-1); + } + len += seclen; + } + + if (len == 0) { + errno = ENOMSG; + return (-1); + } + + patch_buf = calloc(1, len); + if (patch_buf == NULL) { + errno = ENOMEM; + return (-1); + } + + SLIST_MERGESORT(&patch_list, NULL, + rtlbt_patch_entry_cmp, rtlbt_patch_entry, next); + while (!SLIST_EMPTY(&patch_list)) { + entry = SLIST_FIRST(&patch_list); + rtlbt_debug("opcode 0x%08x, addr 0x%p, len 0x%x", + entry->opcode, entry->data, entry->len); + memcpy(patch_buf + patch_len, entry->data, entry->len); + patch_len += entry->len; + SLIST_REMOVE_HEAD(&patch_list, next); + free(entry); + } + + if (patch_len == 0) { + errno = EPERM; + return (-1); + } + + free(fw->buf); + fw->buf = patch_buf; + fw->len = patch_len; + + return (0); +} + int rtlbt_append_fwfile(struct rtlbt_firmware *fw, struct rtlbt_firmware *opt) { diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h index 340abacba759..48b30cb2289b 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h @@ -30,7 +30,8 @@ #ifndef __RTLBT_FW_H__ #define __RTLBT_FW_H__ -#include +#include +#include #define RTLBT_ROM_LMP_8703B 0x8703 #define RTLBT_ROM_LMP_8723A 0x1200 @@ -41,12 +42,14 @@ #define RTLBT_ROM_LMP_8852A 0x8852 #define RTLBT_ROM_LMP_8851B 0x8851 +#define RTLBT_PATCH_SNIPPETS 0x01 +#define RTLBT_PATCH_DUMMY_HEADER 0x02 +#define RTLBT_PATCH_SECURITY_HEADER 0x03 + enum rtlbt_fw_type { RTLBT_FW_TYPE_UNKNOWN, RTLBT_FW_TYPE_V1, -#ifdef RTLBTFW_SUPPORTS_FW_V2 RTLBT_FW_TYPE_V2, -#endif }; struct rtlbt_id_table { @@ -58,6 +61,7 @@ struct rtlbt_id_table { #define RTLBT_IC_FLAG_CONFIG (1 << 1) #define RTLBT_IC_FLAG_MSFT (2 << 1) const char *fw_name; + const char *fw_suffix; }; struct rtlbt_firmware { @@ -66,6 +70,21 @@ struct rtlbt_firmware { unsigned char *buf; }; +SLIST_HEAD(rtlbt_patch_list, rtlbt_patch_entry); + +struct rtlbt_patch_entry { + SLIST_ENTRY(rtlbt_patch_entry) next; + uint32_t opcode; + uint32_t len; + uint8_t prio; + uint8_t *data; +}; + +struct rtlbt_iov { + uint8_t *data; + uint32_t len; +}; + struct rtlbt_fw_header_v1 { uint8_t signature[8]; uint32_t fw_version; @@ -78,6 +97,32 @@ struct rtlbt_fw_header_v2 { uint32_t num_sections; } __attribute__ ((packed)); +struct rtlbt_section { + uint32_t opcode; + uint32_t len; + uint8_t data[]; +} __attribute__ ((packed)); + +struct rtlbt_sec_hdr { + uint16_t num; + uint16_t reserved; +} __attribute__ ((packed)); + +struct rtlbt_subsec_hdr { + uint8_t eco; + uint8_t prio; + uint8_t cb[2]; + uint32_t len; +} __attribute__ ((packed)); + +struct rtlbt_subsec_security_hdr { + uint8_t eco; + uint8_t prio; + uint8_t key_id; + uint8_t reserved; + uint32_t len; +} __attribute__ ((packed)); + int rtlbt_fw_read(struct rtlbt_firmware *fw, const char *fwname); void rtlbt_fw_free(struct rtlbt_firmware *fw); char *rtlbt_get_fwname(const char *fw_name, const char *prefix, @@ -87,6 +132,8 @@ const struct rtlbt_id_table *rtlbt_get_ic(uint16_t lmp_subversion, enum rtlbt_fw_type rtlbt_get_fw_type(struct rtlbt_firmware *fw, uint16_t *fw_lmp_subversion); int rtlbt_parse_fwfile_v1(struct rtlbt_firmware *fw, uint8_t rom_version); +int rtlbt_parse_fwfile_v2(struct rtlbt_firmware *fw, uint8_t rom_version, + uint8_t reg_id); int rtlbt_append_fwfile(struct rtlbt_firmware *fw, struct rtlbt_firmware *opt); #endif diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.c b/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.c index 21f2c3e2804f..82e22d406ea9 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.c +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.c @@ -178,6 +178,41 @@ rtlbt_read_rom_ver(struct libusb_device_handle *hdl, uint8_t *ver) return (0); } +int +rtlbt_read_reg16(struct libusb_device_handle *hdl, + struct rtlbt_vendor_cmd *vcmd, uint8_t *resp) +{ + int ret, transferred; + struct rtlbt_hci_event_cmd_compl *event; + uint8_t cmd_buf[offsetof(struct rtlbt_hci_cmd, data) + sizeof(*vcmd)]; + struct rtlbt_hci_cmd *cmd = (struct rtlbt_hci_cmd *)cmd_buf; + cmd->opcode = htole16(0xfc61); + cmd->length = sizeof(struct rtlbt_vendor_cmd); + memcpy(cmd->data, vcmd, sizeof(struct rtlbt_vendor_cmd)); + uint8_t buf[RTLBT_HCI_EVT_COMPL_SIZE(struct rtlbt_vendor_rp)]; + + memset(buf, 0, sizeof(buf)); + + ret = rtlbt_hci_command(hdl, + cmd, + buf, + sizeof(buf), + &transferred, + RTLBT_HCI_CMD_TIMEOUT); + + if (ret < 0 || transferred != sizeof(buf)) { + rtlbt_debug("Can't read reg16: code=%d, size=%d", + ret, + transferred); + return (-1); + } + + event = (struct rtlbt_hci_event_cmd_compl *)buf; + memcpy(resp, &(((struct rtlbt_vendor_rp *)event->data)->data), 2); + + return (0); +} + int rtlbt_load_fwfile(struct libusb_device_handle *hdl, const struct rtlbt_firmware *fw) diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.h b/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.h index bc7c9fee3f57..a7200a440272 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.h +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_hw.h @@ -95,9 +95,22 @@ struct rtlbt_hci_dl_rp { uint8_t index; } __attribute__ ((packed)); +/* Vendor USB request payload */ +struct rtlbt_vendor_cmd { + uint8_t data[5]; +} __attribute__ ((packed)); +#define RTLBT_SEC_PROJ (&(struct rtlbt_vendor_cmd) {{0x10, 0xA4, 0x0D, 0x00, 0xb0}}) + +struct rtlbt_vendor_rp { + uint8_t status; + uint8_t data[2]; +}; + int rtlbt_read_local_ver(struct libusb_device_handle *hdl, ng_hci_read_local_ver_rp *ver); int rtlbt_read_rom_ver(struct libusb_device_handle *hdl, uint8_t *ver); +int rtlbt_read_reg16(struct libusb_device_handle *hdl, + struct rtlbt_vendor_cmd *cmd, uint8_t *resp); int rtlbt_load_fwfile(struct libusb_device_handle *hdl, const struct rtlbt_firmware *fw); From nobody Wed May 14 01:11:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZxwKM0cdYz5wHtL; Wed, 14 May 2025 01:11: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 4ZxwKL3wBPz3PBq; Wed, 14 May 2025 01:11:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747185094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kNNUUdP05HJvHfH6/Yn2/OcB+hY2UU85wQl+5zryceo=; b=ipFM0R2PLG2fLI7t5M9PMpoSfUvDhPX+F9XLrnl6UMr/FF26a00I0BsGZMkVCGTaSrC3RM 5Y39gQacAhNNhRpf1HwPbsUKej/b6Iwa+pVs3wh49Qo8eUcywIuxjmD+Rw7T88wALjR+eY ioaazMLIV8VB2EwvVOkxiEK7etupS9BCI6zsVUie6t5KCXjXr8zofZG2oCfDvFQG1TKn9I VHp6Toc3d7yehz0xASeREu8K/fLQ+jHZMwwQF4X6ZJanqJiaA369yd3u7gNwZuI9mi6v6E S9HkNmh66T7hB0zUUrGtKqHZUP75sMijmk03C8z0i6z548ban+x+1sUrPv3QRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747185094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kNNUUdP05HJvHfH6/Yn2/OcB+hY2UU85wQl+5zryceo=; b=vk4SimW3MWzoV5/EhgVTzzNqLfp5OAMQNB+y3YAyCilguHLAQhR1y4pNK7V1bIyr9KwwbO 75vh2/F3HpQzD88tjOO94FxzEYL+tKqxIhrUwB/t9GMGtGZQrb+T+uhPQeZt6ZlOnnuhBJ QB2i2+XH+3bV8dBS1FuNO54HDrug+cLBT84y0DzUZppi05VreyhHtK4eNpaDEwQjgncoQX dp6m89tlzw4SytGGyrw62YeQ6tSFt7AIzqNh8jIr+ClfaLH4QMqT+NgcgkANJOiHTcWtxW F6noeJuqFdaVMyY5ShBmpb1QUB4Jk549Foh75ZVRJsc42gSvuw+Idoq01lPjQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747185094; a=rsa-sha256; cv=none; b=UTkgKbuz965WBd2pg23DwvdgfQu8CpBwCJ3BL/CsNpO6/dB5cYjAUOTiTy1t5j/pY1K4cS MCsPTWsOvrF6UvkPY0jEiTY9gJ9mskVMvxLFpyVzTHnwRuKfeH6E1yr8NwOnbXeOeEeOUz mgrF5wQhjJzM2k/MqhDCCVMhmz4wNOql3N2IY+vwRRq1eFvECjFUcQnmHeoDF2zzei7jyQ 1K8QZdLMxQmp/pMaibz+Qj2W1JNmFAAQ1Do2ED00NC5y4JW0BZIGMZ8upavy/HBabrGzMj SwFYkG9hfXNmrEfposo5ykAIoJTsyh2SebSyj0W9nj/AFhHdcoXfhEjX79iJHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZxwKL3R0hz19CC; Wed, 14 May 2025 01:11: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 54E1BYgf076641; Wed, 14 May 2025 01:11:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54E1BYCj076638; Wed, 14 May 2025 01:11:34 GMT (envelope-from git) Date: Wed, 14 May 2025 01:11:34 GMT Message-Id: <202505140111.54E1BYCj076638@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: d4147ad1a2b9 - main - Added identifiers for additional PS4 DualShock controller variants List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d4147ad1a2b9d6e7a862a63894da604c61721786 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=d4147ad1a2b9d6e7a862a63894da604c61721786 commit d4147ad1a2b9d6e7a862a63894da604c61721786 Author: Kevin Reinholz AuthorDate: 2025-05-14 01:09:41 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-05-14 01:09:41 +0000 Added identifiers for additional PS4 DualShock controller variants PR: 285215 MFC after: 1 week --- sys/dev/hid/ps4dshock.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/dev/hid/ps4dshock.c b/sys/dev/hid/ps4dshock.c index 537f70cadec0..d3c6b3eeadf9 100644 --- a/sys/dev/hid/ps4dshock.c +++ b/sys/dev/hid/ps4dshock.c @@ -771,18 +771,34 @@ static const struct hidmap_item ps4dsmtp_map[] = { static const struct hid_device_id ps4dshock_devs[] = { { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x9cc), HID_TLC(HUP_GENERIC_DESKTOP, HUG_GAME_PAD) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x5c4), + HID_TLC(HUP_GENERIC_DESKTOP, HUG_GAME_PAD) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0xba0), + HID_TLC(HUP_GENERIC_DESKTOP, HUG_GAME_PAD) }, }; static const struct hid_device_id ps4dsacc_devs[] = { { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x9cc), HID_TLC(HUP_GENERIC_DESKTOP, HUG_MULTIAXIS_CNTROLLER) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x5c4), + HID_TLC(HUP_GENERIC_DESKTOP, HUG_MULTIAXIS_CNTROLLER) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0xba0), + HID_TLC(HUP_GENERIC_DESKTOP, HUG_MULTIAXIS_CNTROLLER) }, }; static const struct hid_device_id ps4dshead_devs[] = { { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x9cc), HID_TLC(HUP_CONSUMER, HUC_HEADPHONE) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x5c4), + HID_TLC(HUP_CONSUMER, HUC_HEADPHONE) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0xba0), + HID_TLC(HUP_CONSUMER, HUC_HEADPHONE) }, }; static const struct hid_device_id ps4dsmtp_devs[] = { { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x9cc), HID_TLC(HUP_DIGITIZERS, HUD_TOUCHPAD) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0x5c4), + HID_TLC(HUP_DIGITIZERS, HUD_TOUCHPAD) }, + { HID_BVP(BUS_USB, USB_VENDOR_SONY, 0xba0), + HID_TLC(HUP_DIGITIZERS, HUD_TOUCHPAD) }, }; static int From nobody Wed May 14 12:54:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyCwY3RKrz5wfl4; Wed, 14 May 2025 12:54: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 4ZyCwY2Dwsz3n3w; Wed, 14 May 2025 12:54:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747227277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xrWzMoSBazMOmkTZuLFOrxeCWR7WC2npHWBj29EG8Pk=; b=Fp6BRLVHIFit1Zmbv+4YHyVd0kOsShz3BgbePQJoI/Z9Mmu6uiwIubEaunlkPaMkWrTrqv aqXcTz0UN+SORvkpadCstwz4Jeh26DkMApCnI4hA618w7RPTPPUEHGl0BPRGGUMZODZF+q wLV57dL7ODOlq0yuLeXzElOs+BYSWYUdzPhazGtGYSOmnPYsHm8oMvgLUwwGARHczKBxVi n4YIGRXaO/HXYpFGiYjAyxFpY3MhL5K3AecmB4pBBOGJvLgPmXLhl1aa7V6zqwWj764u+V sMTRjENf1HQUfe8rqCcGXSMCy4+0XwxS+as7OYiqy10DkvD6NFytvK/r0HJQGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747227277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xrWzMoSBazMOmkTZuLFOrxeCWR7WC2npHWBj29EG8Pk=; b=wv7zbjrYLO7BFiSED5hQPMKw3WH5h+bo2fL9vf7zoqMFrvCVVHmC4WnX4baYeLYRt17t88 abv9fLdNOQGQLtlFhiGgFoBTy7CUrNkl0Zs7QQz900BdVz18eTuvfd55ywbRNJMXHJ3Qjh sP+aH/X4j+YG1ZAkuoNA1NAPCJ6w4Cd5LKysSLoafzLUKtIWQs9kVjeMGyRLZxy2q3VdvM iPAslG2zVDOpQWzzLjH1p0qyJMRWnbVCFTcnsAuE4e7/HeblTlws4hE4Z7eN6B+svKkdNd o+lNBPRkX65ezeYjM46iO/CklgdazATXrx/wuVakkRbt/hpjnigcQAz51lFJVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747227277; a=rsa-sha256; cv=none; b=uWudlCDwD9X1qxTgYR1LVbwJX1bUefRlM3juZt0ZFv1pVHe+l5NSaKAtehC6XyB+W48n5u 1nLaTWV+ftRQUWkn7EMG/tZI0d41PSZFV3kcDj8VYfGfCthUXkkliCZkMPNZKxuUd8i1ea OhRixbdBZabCI1VL0HeQWFTGt+IDJJKmEgpLqp238SrKV9BgCb4T5T1htGAumY4We2asCZ teOGGgbPJIJ76GrNmyR/+VhmNReDtY1ngdpTwstnuS64SU96PxJjRqYmp5YhKWG0pNyPOo AzhDzrqlaTTWxKJmwK+35Ik358L908z1AA33kFES4CsfF0A/EZPrfZcF4WZTQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyCwY1hlqzZS9; Wed, 14 May 2025 12:54: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 54ECsbdc091082; Wed, 14 May 2025 12:54:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ECsb0N091079; Wed, 14 May 2025 12:54:37 GMT (envelope-from git) Date: Wed, 14 May 2025 12:54:37 GMT Message-Id: <202505141254.54ECsb0N091079@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 1203e7b1f05b - main - release: Use pkg install -f List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1203e7b1f05b49d95bf44801ddc1ab7e6a9eeb97 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1203e7b1f05b49d95bf44801ddc1ab7e6a9eeb97 commit 1203e7b1f05b49d95bf44801ddc1ab7e6a9eeb97 Author: Isaac Freund AuthorDate: 2025-05-11 02:48:46 +0000 Commit: Ed Maste CommitDate: 2025-05-14 12:24:45 +0000 release: Use pkg install -f Without -f, pkg will not write to the METALOG file if the packages are already installed from a previous build, causing the packages to not be included in the final install media. Official builds start with a clean target directory and won't encounter an issue, but this change supports iteration in development of the release targets. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50344 --- release/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 72df23bfa52b..1a64c51d3400 100644 --- a/release/Makefile +++ b/release/Makefile @@ -76,7 +76,9 @@ PKG_ENV+= INSTALL_AS_USER=yes PKG_ENV+= ASSUME_ALWAYS_YES=yes PKG_ARGS+= -o METALOG=METALOG PKG_ARGS+= -r ${.TARGET} -o REPOS_DIR=${.CURDIR}/pkg_repos -PKG_INSTALL= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} install +# Pass -f to make sure pkg writes to the METALOG even if the package +# is already installed from a previous build +PKG_INSTALL= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} install -f PKG_CLEAN= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} clean -a .endif From nobody Wed May 14 13:50:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyF8h5CDTz5wk8H; Wed, 14 May 2025 13:50:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyF8h4HFMz3s01; Wed, 14 May 2025 13:50:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747230612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5DQRIUEUL74z5GKYzNGi1OGy3G01Hzzbla43rjZGG1g=; b=ZGZ7FeNZo9wTBvAVcl2CY9B37StQcJvhMp2uhKx6cNRixjnKUNuJHTNEQL573y4sOcj1Tf wMnC9WUGq2FS4z4acqxrv3yNo9pthWDq9nU1OtHtohZxNe7sI6h0QU1j2gdlTOgW60lfg0 AMiTX1MN2qe1i0dayL79nKBrl/Z/xWj47niyevR/jZR8MA4aNy/kSPDM2ASjNYqgGRS/45 tWv0Z/QhTKAQk7bP5FPGvncXzzZoaDNOpZm9R2GsKrhIi2VB4pMt7mbv35bJtzIgP+qzwV bpsUKSCVd6tA/cWAhuQm+A7d6ErLGJ9RypNLQbnCJVD1f5XmhXAoYLnNa2gS/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747230612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5DQRIUEUL74z5GKYzNGi1OGy3G01Hzzbla43rjZGG1g=; b=Q2hcMwkHR/Px0Kk26ERnjPMdwEKPC7UWrUyQpdSv+l5iaLjJPA3/29z2z8tAG0xXU7ZGx1 eNvJecfcXnhUQMV4VWP8fNPhvI+EACgxhlciV9oYE4WfzenEhCHg7SGw+cLcPe2XW3n/tI 22KgIU8YpVfvarGF9L6fwtZ8t2F0Zebs3XWO/6o/PYwcrMTXBLCJ3HqQTN2v/qlamWYr+q fmdFDx/sr+6da4PuiFPHdF7IRFo9qQ3bxNqmyDynGI6UwFuGTRUE647pg0KnO7jVlb5NUe aooT3kSIygRpj12F1utHMmIyqhx1T5MiJiO/cr/h3UTnG85Uend/mU13VDasrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747230612; a=rsa-sha256; cv=none; b=cP1B6jq1a0jC81015ZfQZQEe9csRQGCc6xyfFuog5YoFaTms5IYceSg3aAwzS9lN/0tAeT /6ukowHF7Vd5OXl3q8ZVJjWVwYKKfdxuYxGXW6SckGZGZmedTEOdgHxtH/I7bRKVjrwWkz FueiQjmdAf5ZPfxpv67XqxNCa0WqhDvlTsXIIeCTWUDYyJL7NpGtYGwzpT7XpB1CzSWjsY G6RwT3izE5JCdfvlpn/lkSTtz0kuMGgH6GDbi1p7S6WOynBPRDmSHYhSdsrwT+uVkquO5E n8YRAmybArY6y2oStQ1Z6vCK/6hbrGk2Weh40zRxz6A7jGtBWaXFTpaUXkDypw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyF8h3ppkzbCs; Wed, 14 May 2025 13:50:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54EDoCIw092203; Wed, 14 May 2025 13:50:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54EDoCfX092192; Wed, 14 May 2025 13:50:12 GMT (envelope-from git) Date: Wed, 14 May 2025 13:50:12 GMT Message-Id: <202505141350.54EDoCfX092192@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: bf2166bd72ad - main - Revert "powernv: Add RF_BIGENDIAN resource flag" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf2166bd72ad691765ff5e081f00cbba6b12da61 Auto-Submitted: auto-generated The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=bf2166bd72ad691765ff5e081f00cbba6b12da61 commit bf2166bd72ad691765ff5e081f00cbba6b12da61 Author: Justin Hibbits AuthorDate: 2025-05-14 13:48:07 +0000 Commit: Justin Hibbits CommitDate: 2025-05-14 13:50:12 +0000 Revert "powernv: Add RF_BIGENDIAN resource flag" After further thinking, the nexus bus mappings are for the immediate peripherals, not downstream. Given this, and that historically PowerPC platforms have been big-endian by default, it makes sense to default mappings to BE always. If this changes in the future, the platform devices can explicitly mark their mappings with the RF_LITTLEENDIAN flag instead. This reverts commit 86d20eaadfd1a03e19d8bc8333c689b820299d52. --- sys/powerpc/include/resource.h | 1 - sys/powerpc/powernv/opal_pci.c | 2 +- sys/powerpc/powernv/xive.c | 2 +- sys/powerpc/powerpc/nexus.c | 4 +--- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/powerpc/include/resource.h b/sys/powerpc/include/resource.h index 6726104403d0..e7e9493569cc 100644 --- a/sys/powerpc/include/resource.h +++ b/sys/powerpc/include/resource.h @@ -47,6 +47,5 @@ */ #define RF_LITTLEENDIAN RF_SPARE1 -#define RF_BIGENDIAN RF_SPARE2 #endif /* !_MACHINE_RESOURCE_H_ */ diff --git a/sys/powerpc/powernv/opal_pci.c b/sys/powerpc/powernv/opal_pci.c index 622c8c2cc09b..8dee2c45c089 100644 --- a/sys/powerpc/powernv/opal_pci.c +++ b/sys/powerpc/powernv/opal_pci.c @@ -270,7 +270,7 @@ opalpci_attach(device_t dev) rid = 0; sc->r_reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &rid, RF_ACTIVE | RF_SHAREABLE | RF_BIGENDIAN); + &rid, RF_ACTIVE | RF_SHAREABLE); if (sc->r_reg == NULL) { device_printf(dev, "Failed to allocate PHB[%jd] registers\n", (uintmax_t)sc->phb_id); diff --git a/sys/powerpc/powernv/xive.c b/sys/powerpc/powernv/xive.c index aaf4953ba8a5..384ff4ef20d2 100644 --- a/sys/powerpc/powernv/xive.c +++ b/sys/powerpc/powernv/xive.c @@ -327,7 +327,7 @@ xive_attach(device_t dev) rid = 1; /* Get the Hypervisor-level register set. */ sc->sc_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &rid, RF_ACTIVE | RF_BIGENDIAN); + &rid, RF_ACTIVE); sc->sc_offset = XIVE_TM_QW3_HV; mtx_init(&sc->sc_mtx, "XIVE", NULL, MTX_DEF); diff --git a/sys/powerpc/powerpc/nexus.c b/sys/powerpc/powerpc/nexus.c index 1dac56a84cf9..029b6ef8a479 100644 --- a/sys/powerpc/powerpc/nexus.c +++ b/sys/powerpc/powerpc/nexus.c @@ -287,10 +287,8 @@ nexus_map_resource(device_t bus, device_t child, struct resource *r, map->r_vaddr = pmap_mapdev_attr(start, length, args.memattr); if ((rman_get_flags(r) & RF_LITTLEENDIAN) != 0) map->r_bustag = &bs_le_tag; - else if ((rman_get_flags(r) & RF_BIGENDIAN) != 0) - map->r_bustag = &bs_be_tag; else - map->r_bustag = nexus_get_bus_tag(NULL, NULL); + map->r_bustag = &bs_be_tag; map->r_size = length; map->r_bushandle = (bus_space_handle_t)map->r_vaddr; break; From nobody Wed May 14 14:38:54 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyGDv2Gkxz5wmrW; Wed, 14 May 2025 14:38:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyGDv0tYYz3yfY; Wed, 14 May 2025 14:38:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747233535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DI+8HiTc7H7+o99T5czyGkO5kKEmpUvYfBdkjric3lI=; b=DZg3jkswP9VJY5qL9kSfaHilGzjXjYR/ce/IPJowoNTgE/zsWYXYNxpqfJoN0ojuExzBwn tvFbLXj3lSaUUhdU6L+w7TYaN1blaE9k5IZAuggmF2q16qvkPa0DL7EWS6ZmZoScq3fcUF C//4weZSh7XNLnEaupEWCIKCLEAazR6aJESthGssxRXYPi0de9BeLFDPh+pW5fByhfK3bc Ueo1+cYQJ2LEg51R0yZ7ctnZabDnS440L+ft8Cwnql68W8224duo6yceiiV/FS4/M+VsQH clcCQY5YofRq9pfmrJLH296wnyRG5aDnRELq9gcWEI/rlyayxuPEhPj54LQ1+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747233535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DI+8HiTc7H7+o99T5czyGkO5kKEmpUvYfBdkjric3lI=; b=Ys47mvuaFOhzYop8NeHQfv8Gaa0a/q376NkcqB+x869wEOwDiHFLoyxpXBWhQfiTWYMUKZ ycVgDIctzhqpekY/eeNeiCma6NyicpzDOx/h+hkl/3dbrrFxenP/RDymMy6B7S1mOn7Z5x zDsADiWUjIOR4bz1Gmw2RefbtSJ6XcKlDEssSEGToRrENlVxh+S4llkAGJPEKxewik2Joe bLf9FUjIklCEfS8mjqAacR7Rd9hSo1SPEn1wX/VgbR9ulWKFf2YRuip91BBbMTExu5DtLD OScFpsyAh0gw/IKUnNRjA2MfH2CvvXHruQW1OuNjpQsfo0pCDbym94WEbXHWfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747233535; a=rsa-sha256; cv=none; b=JEWOampOsDHud8Yti8+QNx+kMl9SsCIh+P5vPFFR501oDaHFUiZpxM6lXjjv/OA++Gv6rd SqO/VuyW+JEql0KGqYZ4SLDaPuZ0YNQTs6SHcm8bVajRWQUgfDA1GcXMpfOQmBJG4gsJ/0 sF0Q0GwyNTemwOHogkj0pgACM/wh5LRv2JREPy/8GYy/hTiW7XPJ625cN3Og+Vc9HAJSCN 6Thag/enC4tm8bvx5X7cMdblrXyovgi0lgq0s4pBGy0vtnZNVF01PDQeBSwOcGXTUoHA4U hvfZ7EkzHqj7SDHl2ZVZkBexypQU73e8N6ERwNjkCf3Px0M8JBc06AwLl+Oi4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyGDv0DKMzcvq; Wed, 14 May 2025 14:38: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 54EEcsEx080562; Wed, 14 May 2025 14:38:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54EEcsJt080559; Wed, 14 May 2025 14:38:54 GMT (envelope-from git) Date: Wed, 14 May 2025 14:38:54 GMT Message-Id: <202505141438.54EEcsJt080559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 3e72d0b40040 - main - rtlbtfw(8): Sync device VID/PID list with Linux 6.15-rc4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3e72d0b40040f94c4b99ab9dfa0a0e1b62dff397 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=3e72d0b40040f94c4b99ab9dfa0a0e1b62dff397 commit 3e72d0b40040f94c4b99ab9dfa0a0e1b62dff397 Author: Vladimir Kondratyev AuthorDate: 2025-05-14 14:38:10 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-05-14 14:38:10 +0000 rtlbtfw(8): Sync device VID/PID list with Linux 6.15-rc4 Sponsored by: Future Crew, LLC MFC after: 1 month --- sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c | 20 ++++++++ usr.sbin/bluetooth/rtlbtfw/main.c | 20 ++++++++ usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c | 14 ++++++ usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h | 1 + usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf | 66 ++++++++++++++++++++++++- 5 files changed, 119 insertions(+), 2 deletions(-) diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c index c3fb98b46e6a..0181a67ac604 100644 --- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c +++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c @@ -84,6 +84,9 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = /* Realtek 8822CU Bluetooth devices */ { USB_VPI(0x13d3, 0x3549, 0) }, + /* Realtek 8851BE Bluetooth devices */ + { USB_VPI(0x13d3, 0x3600, 0) }, + /* Realtek 8852AE Bluetooth devices */ { USB_VPI(0x0bda, 0x2852, 0) }, { USB_VPI(0x0bda, 0xc852, 0) }, @@ -100,11 +103,28 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] = { USB_VPI(0x13d3, 0x3587, 0) }, { USB_VPI(0x13d3, 0x3586, 0) }, { USB_VPI(0x13d3, 0x3592, 0) }, + { USB_VPI(0x0489, 0xe122, 0) }, /* Realtek 8852BE Bluetooth devices */ { USB_VPI(0x0cb8, 0xc559, 0) }, + { USB_VPI(0x0bda, 0x4853, 0) }, { USB_VPI(0x0bda, 0x887b, 0) }, + { USB_VPI(0x0bda, 0xb85b, 0) }, + { USB_VPI(0x13d3, 0x3570, 0) }, { USB_VPI(0x13d3, 0x3571, 0) }, + { USB_VPI(0x13d3, 0x3572, 0) }, + { USB_VPI(0x13d3, 0x3591, 0) }, + { USB_VPI(0x0489, 0xe123, 0) }, + { USB_VPI(0x0489, 0xe125, 0) }, + + /* Realtek 8852BT/8852BE-VT Bluetooth devices */ + { USB_VPI(0x0bda, 0x8520, 0) }, + + /* Realtek 8922AE Bluetooth devices */ + { USB_VPI(0x0bda, 0x8922, 0) }, + { USB_VPI(0x13d3, 0x3617, 0) }, + { USB_VPI(0x13d3, 0x3616, 0) }, + { USB_VPI(0x0489, 0xe130, 0) }, /* Realtek 8723AE Bluetooth devices */ { USB_VPI(0x0930, 0x021d, 0) }, diff --git a/usr.sbin/bluetooth/rtlbtfw/main.c b/usr.sbin/bluetooth/rtlbtfw/main.c index 700b9b43bafa..e87a98036265 100644 --- a/usr.sbin/bluetooth/rtlbtfw/main.c +++ b/usr.sbin/bluetooth/rtlbtfw/main.c @@ -67,6 +67,9 @@ static struct rtlbt_devid rtlbt_list[] = { /* Realtek 8822CU Bluetooth devices */ { .vendor_id = 0x13d3, .product_id = 0x3549 }, + /* Realtek 8851BE Bluetooth devices */ + { .vendor_id = 0x13d3, .product_id = 0x3600 }, + /* Realtek 8852AE Bluetooth devices */ { .vendor_id = 0x0bda, .product_id = 0x2852 }, { .vendor_id = 0x0bda, .product_id = 0xc852 }, @@ -83,11 +86,28 @@ static struct rtlbt_devid rtlbt_list[] = { { .vendor_id = 0x13d3, .product_id = 0x3587 }, { .vendor_id = 0x13d3, .product_id = 0x3586 }, { .vendor_id = 0x13d3, .product_id = 0x3592 }, + { .vendor_id = 0x0489, .product_id = 0xe122 }, /* Realtek 8852BE Bluetooth devices */ { .vendor_id = 0x0cb8, .product_id = 0xc559 }, + { .vendor_id = 0x0bda, .product_id = 0x4853 }, { .vendor_id = 0x0bda, .product_id = 0x887b }, + { .vendor_id = 0x0bda, .product_id = 0xb85b }, + { .vendor_id = 0x13d3, .product_id = 0x3570 }, { .vendor_id = 0x13d3, .product_id = 0x3571 }, + { .vendor_id = 0x13d3, .product_id = 0x3572 }, + { .vendor_id = 0x13d3, .product_id = 0x3591 }, + { .vendor_id = 0x0489, .product_id = 0xe123 }, + { .vendor_id = 0x0489, .product_id = 0xe125 }, + + /* Realtek 8852BT/8852BE-VT Bluetooth devices */ + { .vendor_id = 0x0bda, .product_id = 0x8520 }, + + /* Realtek 8922AE Bluetooth devices */ + { .vendor_id = 0x0bda, .product_id = 0x8922 }, + { .vendor_id = 0x13d3, .product_id = 0x3617 }, + { .vendor_id = 0x13d3, .product_id = 0x3616 }, + { .vendor_id = 0x0489, .product_id = 0xe130 }, /* Realtek 8723AE Bluetooth devices */ { .vendor_id = 0x0930, .product_id = 0x021d }, diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c index c58a8feb41a4..d7e9f2f939c6 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.c @@ -118,6 +118,18 @@ static const struct rtlbt_id_table rtlbt_ic_id_table[] = { .hci_version = 0xc, .flags = RTLBT_IC_FLAG_MSFT, .fw_name = "rtl8851bu", + }, { /* 8922A */ + .lmp_subversion = RTLBT_ROM_LMP_8922A, + .hci_revision = 0xa, + .hci_version = 0xc, + .flags = RTLBT_IC_FLAG_MSFT, + .fw_name = "rtl8922au", + }, { /* 8852BT/8852BE-VT */ + .lmp_subversion = RTLBT_ROM_LMP_8852A, + .hci_revision = 0x87, + .hci_version = 0xc, + .flags = RTLBT_IC_FLAG_MSFT, + .fw_name = "rtl8852btu", }, }; @@ -138,6 +150,8 @@ static const uint16_t project_ids[] = { [ 25 ] = RTLBT_ROM_LMP_8852A, /* 8852CU */ [ 33 ] = RTLBT_ROM_LMP_8822B, /* 8822EU */ [ 36 ] = RTLBT_ROM_LMP_8851B, /* 8851BU */ + [ 44 ] = RTLBT_ROM_LMP_8922A, /* 8922A */ + [ 47 ] = RTLBT_ROM_LMP_8852A, /* 8852BT */ }; /* Signatures */ diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h index 48b30cb2289b..e9af6c93950e 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbt_fw.h @@ -41,6 +41,7 @@ #define RTLBT_ROM_LMP_8822B 0x8822 #define RTLBT_ROM_LMP_8852A 0x8852 #define RTLBT_ROM_LMP_8851B 0x8851 +#define RTLBT_ROM_LMP_8922A 0x8922 #define RTLBT_PATCH_SNIPPETS 0x01 #define RTLBT_PATCH_DUMMY_HEADER 0x02 diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf index d45ba0bd92c4..61ae53db8f39 100644 --- a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf +++ b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf @@ -46,6 +46,16 @@ notify 100 { action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; +# Realtek 8851BE Bluetooth devices +notify 100 { + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x13d3"; + match "product" "0x3600"; + action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; +}; + # Realtek 8852AE Bluetooth devices notify 100 { match "system" "USB"; @@ -113,6 +123,14 @@ notify 100 { match "product" "(0x3587|0x3586|0x3592)"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; +notify 100 { + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x0489"; + match "product" "0xe122"; + action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; +}; # Realtek 8852BE Bluetooth devices notify 100 { @@ -128,7 +146,43 @@ notify 100 { match "subsystem" "DEVICE"; match "type" "ATTACH"; match "vendor" "0x0bda"; - match "product" "0x887b"; + match "product" "(0x4853|0x887b|0xb85b)"; + action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; +}; +notify 100 { + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x13d3"; + match "product" "(0x3570|0x3571|0x3572|0x3591)"; + action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; +}; +notify 100 { + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x0489"; + match "product" "(0xe123|0xe125)"; + action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; +}; + +# Realtek 8852BT/8852BE-VT Bluetooth devices +notify 100 { + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x0bda"; + match "product" "0x8520"; + action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; +}; + +# Realtek 8922AE Bluetooth devices +notify 100 { + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x0bda"; + match "product" "0x8922"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; notify 100 { @@ -136,7 +190,15 @@ notify 100 { match "subsystem" "DEVICE"; match "type" "ATTACH"; match "vendor" "0x13d3"; - match "product" "0x3571"; + match "product" "(0x3617|0x3616)"; + action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; +}; +notify 100 { + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x0489"; + match "product" "0xe130"; action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware"; }; From nobody Wed May 14 15:50:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyHqj6MfWz5wrxM; Wed, 14 May 2025 15:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyHqj5kmlz45ZV; Wed, 14 May 2025 15:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747237841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q53FNF/o/KvoLCBPeZO2oGlmPrUyVjqH8r2WiULqTKs=; b=BPrRn4T4ZLNQQGa9Hu83V9JrhJpsmFQCBkrioWS8FvW9Ua9IWiwy18vRJ+teQtTcC2YWLn zr8+I/duz5JY/bc3mc1bJJmwveSM3ew5BPZsz2T7JI35DNBFMSUNQ7M+CHIcbBjdWTJX+z 4H5oEU6vl2FlG3P9jYlq5ZLM3fpeXN2cDu10X2v11EfoNjJ3K3pVC9p/pHwSlapKw2q3Gx T0WCcEXfXLE7ljQuIlkfamr11VKPfIVE796UXnoib7zjdh/LcY7qO/F1WvThC2B4d1kN7l 8cCrk7ddKQLjHbc9ubvQQWC2fZX97U5YDqTbDKGlmNMQHO7aUYPFRceFbk8RaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747237841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q53FNF/o/KvoLCBPeZO2oGlmPrUyVjqH8r2WiULqTKs=; b=Rbu3KogCub0kMvVYB4gWaC78oJ+E2Rzo4J3cKmcjhtpBOG/tc7RxVKQ/z8I4LvewlwPUsh XpdPgPuxOjA+dke3FVyd//3/25d5xqXvQQnSkNJmAbDy13fAkmEmk9cKkO6tsT1uHKDjnv PF1v0HnnrzdhhTXtrxbgop1lAtKoMP1j/uQPhWwxg3ql7MqEz6hT2ImfyBi+HDDSPTmJ5h FBLgfDVDTayPp9Sfj7I3MjVvRh+G9/lOM0SLVb6K0zSUL4TXqjB+JdoHJyc1f2khbQqfcB PHjgAUbHvasVV27/Q33cAFsEZkCACoz0eOYJRiuQiK5+cagLi143Jvzw7UaWRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747237841; a=rsa-sha256; cv=none; b=cJ95q3xrPXAyJ9JrU+WIWZxzdKSy1/NeX4LtnVOK4Uvhbn5Uzu9Eocom5G9DvdhcQHjMgF FsvkDuPkU/uLmdZkhPGrDpf7rqOlHrHD93AF7yoE5vz1XbeS/9lnPmzN3MIdOSMzHlOHfA zryjYzlCztvmcZCKHEyivEqxlmJ4GXLxfGmm13w291EihnXxiAotZS9HYwj9Rx/ONAmdxa QDd4Ge9prDC08cB373iLJ2xRNPWGN0Qi/Y3SKi7hkcvh8sEJVuyHIuu2k1AAzgEEn1Z0/B 76aYe4zcaYRabKPPI9qRNfHncmlFUQT/HngBxxku9JN4dE4j0kJyRveUHFTIzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyHqj5L4RzfVK; Wed, 14 May 2025 15:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54EFofIO021421; Wed, 14 May 2025 15:50:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54EFofaJ021404; Wed, 14 May 2025 15:50:41 GMT (envelope-from git) Date: Wed, 14 May 2025 15:50:41 GMT Message-Id: <202505141550.54EFofaJ021404@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: dd3d1a769458 - main - build.7: Document pkgbase PKG_FORMAT variable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd3d1a7694583362f5915ff5f1d9cdee64e2fe3e Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=dd3d1a7694583362f5915ff5f1d9cdee64e2fe3e commit dd3d1a7694583362f5915ff5f1d9cdee64e2fe3e Author: Alexander Ziaee AuthorDate: 2025-05-12 20:54:14 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-14 15:49:35 +0000 build.7: Document pkgbase PKG_FORMAT variable MFC after: 3 days Reported by: emaste Reviewed by: emaste, mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50318 --- share/man/man7/build.7 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 2195d1147820..d66df90365e7 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -642,6 +642,20 @@ If set, this variable supplies a list of additional directories relative to the root of the source tree to build as part of the .Cm cross-tools target. +.It Va PKG_FORMAT +Specify a package compression format when building +.Pa src +into +.Cm packages . +Default: +.Ql tzst . +Consider using +.Ql tar +to disable compression. +Accepted options are documented in the +.Fl f +description of +.Xr pkg-create 8 . .It Va PORTS_MODULES A list of ports with kernel modules that should be built and installed as part of the From nobody Wed May 14 19:20:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyNV81xY8z5vcmf; Wed, 14 May 2025 19:20:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyNV76Fqfz3N8Z; Wed, 14 May 2025 19:20:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747250447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tn6Jz+GyE8JR+XvsypX+Wwv0wWOP712LhTS+JMPOqts=; b=BevE1Y0K8pl/vzBT3udsjZWB77YfVo3CUPjDV4zmkjkvpGwAkh0X1a9bVxzQstrblz3yde QM28aIR0yRGls76++Ct/C/ie0mjgf0ytbSpMOYzNrAJ4cHrCJ1BFdM/kRRw6KcME9K/lJz qTingHyLSATJ+xQoVq8QMTpg418SPLKU64n8ZGcVfn3aLiSXuhrbyIUVHbr6ZsTEdvMhmv lIW1GXn68aiRjdbhwwfacXrizpHdyPZyEnDHrhWcpzocNw2DOQ5xWNWDNHCpU9QG4h6nWI C9sS+44pV7qryogbu14ssACunhIlZwJGfKg8nfczZ1Q3B9l5dFCU5mkUFnU0xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747250447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tn6Jz+GyE8JR+XvsypX+Wwv0wWOP712LhTS+JMPOqts=; b=o0nEaaMOw7QFZkxVNTk2Kxda2O7ar+6zvTtDtQZkwYkGWYer3TMTphM5/fAQbuzEf7tzPU 9y2AsmPbhDVphKsxzUNn69uA9fHo6SAD4fK8fzES40eAHm+hj5kuDecdW5B596QpNbQZ39 ilj52/s1rZTxSAzNWxjsgg65YQr8xFL8GZZEBlCgaRt9lUwyFFq6WHRW4TDAjb+42Xe9kM FjKwtH9VE7ndqA2Z+gba8KPJHoVFA+QKYvH+fyt/WLCHd3260p91v2/7CjvSflpDYcz/1i MMNGPmPXntWGpz+YfRc9hzwCySeAJv18QBRxzLVu2ahMGv115iChtvJ+lV2XCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747250447; a=rsa-sha256; cv=none; b=dI87GrDGPEoIWJ5iAdS+4PsU7TRd2dj0ADQREGEwhm0JpbolUFwq7BqXzI1omJ7Yi+Lr0K k943Mukf662vSiYNGhRmMvPhOut7uRH0UJeaRv8nEhpNsjQ34WP/sdfbDiELs1LupLZZJC B8KWK3/whGqXAGf4zMu54Tfzu8cPpU85/8GkUBMEtTzcxCLdGGhTmYLNkG8RVdkpAgcBRn gerEIEsl3CM0ps6UqSn/wW/Ak51AhNW0VgqPKJaIstLPoe9iGlUyD8VQKR4YMUY80WSdqJ anbwbX+wq7DATh9bXbLLBFXO8yi3PavZZlq7FpLabsa9eWhQuKAB3ZyGf7ORGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyNV75kNQzlHT; Wed, 14 May 2025 19:20: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 54EJKlYi015156; Wed, 14 May 2025 19:20:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54EJKlRD015153; Wed, 14 May 2025 19:20:47 GMT (envelope-from git) Date: Wed, 14 May 2025 19:20:47 GMT Message-Id: <202505141920.54EJKlRD015153@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: df16cbdcf192 - main - mail: remove the SIGHUP handler from lex.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df16cbdcf1927200eb910c1874faee6f3d8b9a97 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=df16cbdcf1927200eb910c1874faee6f3d8b9a97 commit df16cbdcf1927200eb910c1874faee6f3d8b9a97 Author: Kyle Evans AuthorDate: 2025-05-14 19:20:16 +0000 Commit: Kyle Evans CommitDate: 2025-05-14 19:20:34 +0000 mail: remove the SIGHUP handler from lex.c If the command is simply going to exit without doing any cleanup, then an immediate exit(3) does not add any value and in-fact obscures that the program was terminated by a signal. This is motivated by POSIX conformance requirements, but it's also a little bit of a tidy-up. Some investigation into the history of mail(1) shows that, at one point, hangup() would attempt to save messages into mbox before exiting. It was later transformed into a simple exit() and likely could have been GC'd at that point. Reviewed by: des, emaste, ivy Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50247 --- usr.bin/mail/extern.h | 1 - usr.bin/mail/lex.c | 13 ------------- 2 files changed, 14 deletions(-) diff --git a/usr.bin/mail/extern.h b/usr.bin/mail/extern.h index efcba2141512..6eea9c1f1f88 100644 --- a/usr.bin/mail/extern.h +++ b/usr.bin/mail/extern.h @@ -131,7 +131,6 @@ int getrawlist(char *, char **, int); uid_t getuserid(char *); int grabh(struct header *, int); int group(void *); -void hangup(int); int hash(const char *); void hdrstop(int); int headers(void *); diff --git a/usr.bin/mail/lex.c b/usr.bin/mail/lex.c index 1043dd2d4706..2d86a17c13e9 100644 --- a/usr.bin/mail/lex.c +++ b/usr.bin/mail/lex.c @@ -199,8 +199,6 @@ commands(void) if (!sourcing) { if (signal(SIGINT, SIG_IGN) != SIG_IGN) (void)signal(SIGINT, intr); - if (signal(SIGHUP, SIG_IGN) != SIG_IGN) - (void)signal(SIGHUP, hangup); (void)signal(SIGTSTP, stop); (void)signal(SIGTTOU, stop); (void)signal(SIGTTIN, stop); @@ -567,17 +565,6 @@ stop(int s) } } -/* - * Branch here on hangup signal and simulate "exit". - */ -void -hangup(int s __unused) -{ - - /* nothing to do? */ - exit(1); -} - /* * Announce the presence of the current Mail version, * give the message count, and print a header listing. From nobody Wed May 14 19:20:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyNV91QYfz5vd7s; Wed, 14 May 2025 19:20: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 4ZyNV90Hq5z3N8k; Wed, 14 May 2025 19:20:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747250449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gqJUcMBPayffIe+l6G77QTJXzBVBfp7Af1UNJAGF7CE=; b=tL27EAGyqJqUVn10DZTAda23A75gdT+11tdb93NbLxGIuQGWRE18NFhaNylw1qItgjaQog srBgBmi4TDas4NcnnSbyjTwaTwlSTb5N1mW+DTTdlWrf88oQ0Yi6Knkyof0d/cvRUkjtVc onaHBmLyhgcI30ubUjZSNMh56ibYIrC4VO7pf7Ei/7VRmo1wZ/2WJ4Ul/HzJr/J6G3+n+T A1ZvTYf+aiN2xrgZtt6Bgk//M8lVKiI52F0U4hwNQ26g3KGmr4xdQyOa2gbQ0i3Vf0MW73 J0Ruxel+07EQ/nrAK+H2oN05qrr/dhCxAkKTuTwMZMglcMlJmr2C6c0i3EMV7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747250449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gqJUcMBPayffIe+l6G77QTJXzBVBfp7Af1UNJAGF7CE=; b=eM7VFB3nj11jUbEmkG36Z6xOsUOR45HtQ7dZPK2T9ctMtMce1XU7sGbneLMEqC3dGeAHJc jdF1Sz8PJy0wKYfm80sQrYpCTAOCMrDjziD0y0JCu6iWYDGx5EQFSVTw4Jj7SeZSUhQRxx wMroD2UoVrjrMCRAsCDonF8waNYqqR48C6dhEiNDAICycmtZeg4gfXHq0CoFp7kzgRTzRv alMm/ESQaQxjstfSn59k+68BS2VPBL6ehYGVI5JCL6RXQfrbz228U6baY/KgjDycKUrGRx cWuPr4Fzot/NbOTzv9WshUC57MwO/cLlNAKt+JSP8im8lWtcnzJ/6czDSUZhQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747250449; a=rsa-sha256; cv=none; b=VolT/Qx9OztNhDx9yiyu5Di5Wh97+blvCGYrZUA0NCaioahgJpTmSb/3I1ejKBMUHAG351 uKnNBILr7BHkQlgyVLop3r7N5QPdzffXMrAyWX5B5tMypDRF+owdkh+gWOuhhRfsja8Yps uZhddyUlkviAjgek8r3DatXG+ImzfzL9HT7kztxar0sIr3b222eiXiEnr3+w6j42fQbrru GskExy/IdpZXfSCksSz1pflxGaNCFwjSfDke9B/rrsBzjC2Nti9M3YUgLEQaaG0CqV2vY9 Os6UCdYVJuJgkNMVYnoDqywM9Wr/cxCM72HUm2opmj3kHBUzwcTlb+oh2i2LDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyNV86xFfzlTR; Wed, 14 May 2025 19:20:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54EJKmBF015189; Wed, 14 May 2025 19:20:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54EJKmnl015186; Wed, 14 May 2025 19:20:48 GMT (envelope-from git) Date: Wed, 14 May 2025 19:20:48 GMT Message-Id: <202505141920.54EJKmnl015186@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 964557fe9807 - main - mail: exit with the correct exit status on SIGHUP in send mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 964557fe9807d473ad11182a332b0d1da4f54ef0 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=964557fe9807d473ad11182a332b0d1da4f54ef0 commit 964557fe9807d473ad11182a332b0d1da4f54ef0 Author: Kyle Evans AuthorDate: 2025-05-14 19:20:16 +0000 Commit: Kyle Evans CommitDate: 2025-05-14 19:20:35 +0000 mail: exit with the correct exit status on SIGHUP in send mode Motivated by POSIX conformance requirements: mailx(1) is expected to take the default action for every signal except SIGINT in interactive mode. We still handle other signals that we shouldn't based on the spec (e.g., SIGTSTP), but conforming there is not as straightforward as we do more than just cleanup in response. Note that when the spec says that we must take the default action, it does not mean so strictly. Namely, we *can* do some sensible cleanup if we'd like, but we enter into nonconformant territory if we don't reflect the termination via signal in our exit status. That is why this change doesn't actually remove the handler; we're still conformant as long as the end result is the same as if we took the default action. Reviewed by: des Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50251 --- usr.bin/mail/collect.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.bin/mail/collect.c b/usr.bin/mail/collect.c index 2423bcf7b262..97c4d499ea3a 100644 --- a/usr.bin/mail/collect.c +++ b/usr.bin/mail/collect.c @@ -698,7 +698,7 @@ collint(int s __unused) /*ARGSUSED*/ void -collhup(int s __unused) +collhup(int signo) { rewind(collf); savedeadletter(collf); @@ -706,7 +706,8 @@ collhup(int s __unused) * Let's pretend nobody else wants to clean up, * a true statement at this time. */ - exit(1); + signal(signo, SIG_DFL); + raise(signo); } void From nobody Wed May 14 19:32:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyNlJ1sy1z5vdkk; Wed, 14 May 2025 19:32:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyNlH6CH7z3VP7; Wed, 14 May 2025 19:32:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747251131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cFVNoL2l+YXVj6gszJaIm+wKjn2w3UUBD7B2UIfl7kg=; b=llCNd10eUrGl5masXH/KQtVXOnbcewmFQdPwt9ifRUILjJLO6mLddsOxjFsscoI+DGm3km N4olPCxe+bEnwPIv9QQX4tyx0x/JAFJN8s+sNavvnY7L2B7CibYNC645OvAOlgWZMqR1G9 fqArKm0IpErW+Sj9PG4ain57BTHG8owSypIRqDXBLyD16H3KLITQdvqA/oSbpNOYz8dL8c rh21P/l/ytljIYBBsrIGFLLTBEfI9MnJNjR+0tJdyL04aiI3DQ0YYAg+N5yua+Zb5oO69+ TBWCjgfNDY3Ixfy6D88eXxCpJ2ihApXtEE8ZmUcI+ypfi3Su2kLWimawPPIQew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747251131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cFVNoL2l+YXVj6gszJaIm+wKjn2w3UUBD7B2UIfl7kg=; b=ZMGQtVLup58LIAHH8bSpvYyuRXFdYfOZ1uN+/GCqoOM79OqsZZDFXe4qnk3UsVA8rDUAr7 DDv4Ey5KvY29QiSs0ilWQEaRht/33KqhJi+w4FiulWJavUbo8teqYZD3AtaL7uPusR4dKG rfFJpg8vcYJqBTFE+r2fHuVWf08FgH8OXYSdvYHkn7zPEJqr0wSp1klweYVmMw/JK7CN6t T5/jVkXmRbMtibcZAT2s6mCbTJSUCmqCBh6YHzxAuZTHzx8SPX7mvajDcXgim063keCf3g wY0dTMd+q8Fgb1gI6uurnrmj0uOqdw1GRLe8fzxTQlefmpdbNa9wAGcwWacSbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747251131; a=rsa-sha256; cv=none; b=fGCfhq6K8woNzYLTCvCoFJY8f5uj+Y6THdAplXEF4GbUiMTiQQzzDPzi5xTlBWgXti7Umc O98qpOsBUfDNWiRIoiCJ1NopbHzW3hWhS6FZPvEG4xK1tNBbfcmmP6HNeD/Yc2a8d8uMGk YIcIdn4KihZo1kvvLlVlNhpmOJTXIHIKt3Q8SQBzcThchf8RRUG/Mra6X8GxHLxvvxhz7V FUdIr0iX+uhiGefY9kdqnt6tv0n+U7XniGJ+j94gnD93Z6mDNWmv0Q+vCJuPGbGw05Kwkr 3HJMpQIs5CB4muMbe+h+ONogLkBFetDZIyma6eBnp7F3AWxyN2ptFPfMzeaF2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyNlH5bGmzmR6; Wed, 14 May 2025 19:32: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 54EJWBsj038884; Wed, 14 May 2025 19:32:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54EJWBfc038881; Wed, 14 May 2025 19:32:11 GMT (envelope-from git) Date: Wed, 14 May 2025 19:32:11 GMT Message-Id: <202505141932.54EJWBfc038881@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: a6bac0a9efa1 - main - mail: Add test cases for SIGHUP. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a6bac0a9efa15275ada0f0b0ef784837929fb5c6 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a6bac0a9efa15275ada0f0b0ef784837929fb5c6 commit a6bac0a9efa15275ada0f0b0ef784837929fb5c6 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-14 19:31:47 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-14 19:31:47 +0000 mail: Add test cases for SIGHUP. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50296 --- ObsoleteFiles.inc | 3 ++ usr.bin/mail/tests/Makefile | 2 +- .../{mail_sigint_test.c => mailx_signal_test.c} | 58 ++++++++++++++++------ 3 files changed, 47 insertions(+), 16 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 1793eb4ba582..589c9ce41ab7 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250511: mailx test renamed +OLD_FILES+=usr/tests/usr.bin/mail/mail_sigint_test + # 20250505: Remove audio(8) files after rename to sndctl(8) OLD_FILES+=usr/sbin/audio OLD_FILES+=usr/share/man/man8/audio.8.gz diff --git a/usr.bin/mail/tests/Makefile b/usr.bin/mail/tests/Makefile index cb194b3da1f1..d7c1776f87fc 100644 --- a/usr.bin/mail/tests/Makefile +++ b/usr.bin/mail/tests/Makefile @@ -1,4 +1,4 @@ PACKAGE= tests -ATF_TESTS_C+= mail_sigint_test +ATF_TESTS_C+= mailx_signal_test .include diff --git a/usr.bin/mail/tests/mail_sigint_test.c b/usr.bin/mail/tests/mailx_signal_test.c similarity index 69% rename from usr.bin/mail/tests/mail_sigint_test.c rename to usr.bin/mail/tests/mailx_signal_test.c index ace5f714c459..d4ce1e536935 100644 --- a/usr.bin/mail/tests/mail_sigint_test.c +++ b/usr.bin/mail/tests/mailx_signal_test.c @@ -25,9 +25,11 @@ * then exit cleanly on receipt of a second. * * When not interactive, mailx(1) should terminate on receipt of SIGINT. + * + * In either case, mailx(1) should terminate on receipt of SIGHUP. */ static void -mailx_sigint(bool interactive) +mailx_signal_test(int signo, bool interactive) { char obuf[1024] = ""; char ebuf[1024] = ""; @@ -80,8 +82,8 @@ mailx_sigint(bool interactive) ATF_REQUIRE_INTEQ(BODYLEN, write(ipd[1], BODY, BODYLEN)); /* give it a chance to process */ poll(NULL, 0, 2000); - /* send first SIGINT */ - ATF_CHECK_INTEQ(0, kill(pid, SIGINT)); + /* send first signal */ + ATF_CHECK_INTEQ(0, kill(pid, signo)); kc = 1; /* receive output until child terminates */ fds[0].fd = opd[0]; @@ -103,7 +105,7 @@ mailx_sigint(bool interactive) } time(&now); if (now - start > 1 && elen > 0 && kc == 1) { - ATF_CHECK_INTEQ(0, kill(pid, SIGINT)); + ATF_CHECK_INTEQ(0, kill(pid, signo)); kc++; } if (now - start > 15 && kc > 0) { @@ -117,41 +119,67 @@ mailx_sigint(bool interactive) close(opd[0]); close(epd[0]); close(spd[0]); - if (interactive) { + /* + * In interactive mode, SIGINT results in a prompt, and a second + * SIGINT results in exit(1). In all other cases, we should see + * the signal terminate the process. + */ + if (interactive && signo == SIGINT) { ATF_CHECK(WIFEXITED(status)); if (WIFEXITED(status)) ATF_CHECK_INTEQ(1, WEXITSTATUS(status)); ATF_CHECK_INTEQ(2, kc); ATF_CHECK_STREQ("", obuf); ATF_CHECK_MATCH("Interrupt -- one more to kill letter", ebuf); - atf_utils_compare_file("dead.letter", BODY); } else { ATF_CHECK(WIFSIGNALED(status)); if (WIFSIGNALED(status)) - ATF_CHECK_INTEQ(SIGINT, WTERMSIG(status)); + ATF_CHECK_INTEQ(signo, WTERMSIG(status)); ATF_CHECK_INTEQ(1, kc); ATF_CHECK_STREQ("", obuf); ATF_CHECK_STREQ("", ebuf); + } + /* + * In interactive mode, and only in interactive mode, mailx should + * save whatever was typed before termination in ~/dead.letter. + * This is why we set HOME to "." in the child. + */ + if (interactive) { + atf_utils_compare_file("dead.letter", BODY); + } else { ATF_CHECK_INTEQ(-1, access("dead.letter", F_OK)); } } +ATF_TC_WITHOUT_HEAD(mailx_sighup_interactive); +ATF_TC_BODY(mailx_sighup_interactive, tc) +{ + mailx_signal_test(SIGHUP, true); +} + +ATF_TC_WITHOUT_HEAD(mailx_sighup_noninteractive); +ATF_TC_BODY(mailx_sighup_noninteractive, tc) +{ + mailx_signal_test(SIGHUP, false); +} -ATF_TC_WITHOUT_HEAD(mail_sigint_interactive); -ATF_TC_BODY(mail_sigint_interactive, tc) +ATF_TC_WITHOUT_HEAD(mailx_sigint_interactive); +ATF_TC_BODY(mailx_sigint_interactive, tc) { - mailx_sigint(true); + mailx_signal_test(SIGINT, true); } -ATF_TC_WITHOUT_HEAD(mail_sigint_noninteractive); -ATF_TC_BODY(mail_sigint_noninteractive, tc) +ATF_TC_WITHOUT_HEAD(mailx_sigint_noninteractive); +ATF_TC_BODY(mailx_sigint_noninteractive, tc) { - mailx_sigint(false); + mailx_signal_test(SIGINT, false); } ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, mail_sigint_interactive); - ATF_TP_ADD_TC(tp, mail_sigint_noninteractive); + ATF_TP_ADD_TC(tp, mailx_sighup_interactive); + ATF_TP_ADD_TC(tp, mailx_sighup_noninteractive); + ATF_TP_ADD_TC(tp, mailx_sigint_interactive); + ATF_TP_ADD_TC(tp, mailx_sigint_noninteractive); return (atf_no_error()); } From nobody Wed May 14 23:40:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVFx5yL2z5w0RV; Wed, 14 May 2025 23:40: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 4ZyVFx3zGTz3XwP; Wed, 14 May 2025 23:40:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wWlp+lnuYsgJYkodxlxoxKSUdnG54NwIuAKeFN+3GWY=; b=Np66vNn46cDuqHhh9WwELSmCybwtjdsEt+Bp6pr4lBwnsc9B3Yv484xwzl5RT1F6jfKFLg p86lXLXNEcS1PwhUXTClYM9TRgn4Ku/UI2Af+QTUQ0z6CHLzspCwjH+b86QohoqzmrKlmi 3h0VAoFgnBgtzlNDx/PyOJhdv0V18ChgdG9LjpSqXLXubTUrGKc3sPFF6vs+EarO5w5EuC iCOywHXapyqnRlZOc+WWFhmP97GsMWUooYpB7VkXyY02nJg4IkFGgQ7cx20x5aK3vwfwaZ mTIDfD86Fsa2jXxxuX5DiaYNJxA6uaSrxLEVtPRrfW3siFax2oGeKg9PV7CZXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wWlp+lnuYsgJYkodxlxoxKSUdnG54NwIuAKeFN+3GWY=; b=kfkI/eUqQL97yXhnSMJHZAvpSp1SPQbdhTAGwzmBkcq/abBj+8vboxOj6WzF/kzq3UZLim FWckHEwluvURkK8A5qyDFB8jjuu2AuLW13LkBKxG/PWv3Z9z8+2GuMfZYweC4p4RwcbPFP 1F/KVs7mZWGLfo6UjHrA8WzXskP1bnjew6j5giRen8BfCJodFtiC6aDGwz2L3nRfwPvi42 rH8nWhEOq2GUMDcORIOnJwR5j+J5twtWUmmo4ATc4YfcpiwPfJ9/8blqFynvgNhWKlONMF TLD91LZLunnakVbvMuvF1J7E3qFp9O5ny3OH/6QQYjhFGvOqYKUA4vgLT8PMOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747266037; a=rsa-sha256; cv=none; b=xjFY+grmHoQoagKXlvBrMYPKGWt1k4laP2dA38ooMjfxIhwkq6nRGDSGV1IVI5Th+5KoMi wQqeJGu6zZwOQ3/B2gQHVTXgZ9VbPjh+9axhY502/f5fQuPE//EuQEGCK29YHH4oaFSqow jrwOLiNaxkmFBth9FZMEeYQiiXtCS/zcgB7DVhiaaVnzhKGhf5HhBd4qHYGx+aaOvxvsUm PA8jbRTAhmzNugJnhwNAtivKtUxMksxpnSktWJm62MIjqybzABzCYMdE0ou3KKjrxqxu8f lITt+bX4tFAH3iqWN/fwnfW3OH7kMPmy8tvKqwmIPLwdGbcymc32tie2VjgMYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVFx3Vg6ztMt; Wed, 14 May 2025 23:40: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 54ENebRE000131; Wed, 14 May 2025 23:40:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ENebDb000127; Wed, 14 May 2025 23:40:37 GMT (envelope-from git) Date: Wed, 14 May 2025 23:40:37 GMT Message-Id: <202505142340.54ENebDb000127@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 181a04415a8b - main - lib/libmd: replace SHA-1 implementation with Go's implementation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 181a04415a8b3a3fe8be4b986dce550f09cbb415 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=181a04415a8b3a3fe8be4b986dce550f09cbb415 commit 181a04415a8b3a3fe8be4b986dce550f09cbb415 Author: Robert Clausecker AuthorDate: 2024-05-28 14:17:42 +0000 Commit: Robert Clausecker CommitDate: 2025-05-14 23:39:58 +0000 lib/libmd: replace SHA-1 implementation with Go's implementation This lays the foundation for importing Go's excellent assembly implementations of the SHA-1 block function. No performance changes observed on amd64. Reviewed by: getz Differential Revision: https://reviews.freebsd.org/D45444 --- lib/libmd/Makefile | 6 +- lib/libmd/i386/sha.S | 1951 -------------------------------------------------- lib/libmd/sha1c.c | 654 ++++++----------- 3 files changed, 214 insertions(+), 2397 deletions(-) diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index d8c32063d6ce..427da5b9d68f 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -117,8 +117,8 @@ USE_ASM_SOURCES:=0 .endif .if ${USE_ASM_SOURCES} != 0 -.if exists(${MACHINE_ARCH}/sha.S) -SRCS+= sha.S +.if exists(${MACHINE_ARCH}/sha1block.S) +SRCS+= sha1block.S CFLAGS+= -DSHA1_ASM .endif .if exists(${MACHINE_ARCH}/rmd160.S) @@ -135,7 +135,7 @@ CFLAGS+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace w # the assembly vs C versions, and skein_block needs to be rebuilt if it changes. skein_block.o skein_block.pico: Makefile .endif -.if exists(${MACHINE_ARCH}/sha.S) || exists(${MACHINE_ARCH}/rmd160.S) || exists(${MACHINE_ARCH}/skein_block_asm.S) +.if exists(${MACHINE_ARCH}/rmd160.S) || exists(${MACHINE_ARCH}/skein_block_asm.S) ACFLAGS+= -DELF -Wa,--noexecstack .endif .if ${MACHINE_CPUARCH} == "aarch64" diff --git a/lib/libmd/i386/sha.S b/lib/libmd/i386/sha.S deleted file mode 100644 index 3bb54aa9b251..000000000000 --- a/lib/libmd/i386/sha.S +++ /dev/null @@ -1,1951 +0,0 @@ -/* -*- Fundamental -*- Emacs' assembler mode hoses this file */ -#ifndef PIC -/* Run the C pre-processor over this file with one of the following defined - * ELF - elf object files, - * OUT - a.out object files, - * BSDI - BSDI style a.out object files - * SOL - Solaris style elf - */ - -#define TYPE(a,b) .type a,b -#define SIZE(a,b) .size a,b - -#if defined(OUT) || defined(BSDI) -#define sha1_block_x86 _sha1_block_x86 - -#endif - -#ifdef OUT -#define OK 1 -#define ALIGN 4 -#endif - -#ifdef BSDI -#define OK 1 -#define ALIGN 4 -#undef SIZE -#undef TYPE -#define SIZE(a,b) -#define TYPE(a,b) -#endif - -#if defined(ELF) || defined(SOL) -#define OK 1 -#define ALIGN 4 -#endif - -#ifndef OK -You need to define one of -ELF - elf systems - linux-elf, NetBSD and DG-UX -OUT - a.out systems - linux-a.out and FreeBSD -SOL - solaris systems, which are elf with strange comment lines -BSDI - a.out with a very primative version of as. -#endif - -/* Let the Assembler begin :-) */ - /* Don't even think of reading this code */ - /* It was automatically generated by sha1-586.pl */ - /* Which is a perl program used to generate the x86 assember for */ - /* any of elf, a.out, BSDI,Win32, or Solaris */ - /* eric */ - - .file "sha1-586.s" - .version "01.01" -gcc2_compiled.: -.text - .p2align ALIGN -.globl sha1_block_x86 - TYPE(sha1_block_x86,@function) -sha1_block_x86: - pushl %esi - pushl %ebp - movl 20(%esp), %eax - movl 16(%esp), %esi - addl %esi, %eax - movl 12(%esp), %ebp - pushl %ebx - subl $64, %eax - pushl %edi - movl 4(%ebp), %ebx - subl $72, %esp - movl 12(%ebp), %edx - movl 16(%ebp), %edi - movl 8(%ebp), %ecx - movl %eax, 68(%esp) - /* First we need to setup the X array */ - movl (%esi), %eax -.L000start: - /* First, load the words onto the stack in network byte order */ -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, (%esp) - movl 4(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 4(%esp) - movl 8(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 8(%esp) - movl 12(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 12(%esp) - movl 16(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 16(%esp) - movl 20(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 20(%esp) - movl 24(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 24(%esp) - movl 28(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 28(%esp) - movl 32(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 32(%esp) - movl 36(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 36(%esp) - movl 40(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 40(%esp) - movl 44(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 44(%esp) - movl 48(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 48(%esp) - movl 52(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 52(%esp) - movl 56(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 56(%esp) - movl 60(%esi), %eax -.byte 15 -.byte 200 /* bswapl %eax */ - movl %eax, 60(%esp) - /* We now have the X array on the stack */ - /* starting at sp-4 */ - movl %esi, 64(%esp) - - /* Start processing */ - movl (%ebp), %eax - /* 00_15 0 */ - movl %ecx, %esi - movl %eax, %ebp - xorl %edx, %esi - roll $5, %ebp - andl %ebx, %esi - addl %edi, %ebp -.byte 209 -.byte 203 /* rorl $1 %ebx */ - movl (%esp), %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - xorl %edx, %esi - leal 1518500249(%ebp,%edi,1),%ebp - movl %ebx, %edi - addl %ebp, %esi - xorl %ecx, %edi - movl %esi, %ebp - andl %eax, %edi - roll $5, %ebp - addl %edx, %ebp - movl 4(%esp), %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - xorl %ecx, %edi -.byte 209 -.byte 200 /* rorl $1 %eax */ - leal 1518500249(%ebp,%edx,1),%ebp - addl %ebp, %edi - /* 00_15 2 */ - movl %eax, %edx - movl %edi, %ebp - xorl %ebx, %edx - roll $5, %ebp - andl %esi, %edx - addl %ecx, %ebp -.byte 209 -.byte 206 /* rorl $1 %esi */ - movl 8(%esp), %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - xorl %ebx, %edx - leal 1518500249(%ebp,%ecx,1),%ebp - movl %esi, %ecx - addl %ebp, %edx - xorl %eax, %ecx - movl %edx, %ebp - andl %edi, %ecx - roll $5, %ebp - addl %ebx, %ebp - movl 12(%esp), %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - xorl %eax, %ecx -.byte 209 -.byte 207 /* rorl $1 %edi */ - leal 1518500249(%ebp,%ebx,1),%ebp - addl %ebp, %ecx - /* 00_15 4 */ - movl %edi, %ebx - movl %ecx, %ebp - xorl %esi, %ebx - roll $5, %ebp - andl %edx, %ebx - addl %eax, %ebp -.byte 209 -.byte 202 /* rorl $1 %edx */ - movl 16(%esp), %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - xorl %esi, %ebx - leal 1518500249(%ebp,%eax,1),%ebp - movl %edx, %eax - addl %ebp, %ebx - xorl %edi, %eax - movl %ebx, %ebp - andl %ecx, %eax - roll $5, %ebp - addl %esi, %ebp - movl 20(%esp), %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - xorl %edi, %eax -.byte 209 -.byte 201 /* rorl $1 %ecx */ - leal 1518500249(%ebp,%esi,1),%ebp - addl %ebp, %eax - /* 00_15 6 */ - movl %ecx, %esi - movl %eax, %ebp - xorl %edx, %esi - roll $5, %ebp - andl %ebx, %esi - addl %edi, %ebp -.byte 209 -.byte 203 /* rorl $1 %ebx */ - movl 24(%esp), %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - xorl %edx, %esi - leal 1518500249(%ebp,%edi,1),%ebp - movl %ebx, %edi - addl %ebp, %esi - xorl %ecx, %edi - movl %esi, %ebp - andl %eax, %edi - roll $5, %ebp - addl %edx, %ebp - movl 28(%esp), %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - xorl %ecx, %edi -.byte 209 -.byte 200 /* rorl $1 %eax */ - leal 1518500249(%ebp,%edx,1),%ebp - addl %ebp, %edi - /* 00_15 8 */ - movl %eax, %edx - movl %edi, %ebp - xorl %ebx, %edx - roll $5, %ebp - andl %esi, %edx - addl %ecx, %ebp -.byte 209 -.byte 206 /* rorl $1 %esi */ - movl 32(%esp), %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - xorl %ebx, %edx - leal 1518500249(%ebp,%ecx,1),%ebp - movl %esi, %ecx - addl %ebp, %edx - xorl %eax, %ecx - movl %edx, %ebp - andl %edi, %ecx - roll $5, %ebp - addl %ebx, %ebp - movl 36(%esp), %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - xorl %eax, %ecx -.byte 209 -.byte 207 /* rorl $1 %edi */ - leal 1518500249(%ebp,%ebx,1),%ebp - addl %ebp, %ecx - /* 00_15 10 */ - movl %edi, %ebx - movl %ecx, %ebp - xorl %esi, %ebx - roll $5, %ebp - andl %edx, %ebx - addl %eax, %ebp -.byte 209 -.byte 202 /* rorl $1 %edx */ - movl 40(%esp), %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - xorl %esi, %ebx - leal 1518500249(%ebp,%eax,1),%ebp - movl %edx, %eax - addl %ebp, %ebx - xorl %edi, %eax - movl %ebx, %ebp - andl %ecx, %eax - roll $5, %ebp - addl %esi, %ebp - movl 44(%esp), %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - xorl %edi, %eax -.byte 209 -.byte 201 /* rorl $1 %ecx */ - leal 1518500249(%ebp,%esi,1),%ebp - addl %ebp, %eax - /* 00_15 12 */ - movl %ecx, %esi - movl %eax, %ebp - xorl %edx, %esi - roll $5, %ebp - andl %ebx, %esi - addl %edi, %ebp -.byte 209 -.byte 203 /* rorl $1 %ebx */ - movl 48(%esp), %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - xorl %edx, %esi - leal 1518500249(%ebp,%edi,1),%ebp - movl %ebx, %edi - addl %ebp, %esi - xorl %ecx, %edi - movl %esi, %ebp - andl %eax, %edi - roll $5, %ebp - addl %edx, %ebp - movl 52(%esp), %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - xorl %ecx, %edi -.byte 209 -.byte 200 /* rorl $1 %eax */ - leal 1518500249(%ebp,%edx,1),%ebp - addl %ebp, %edi - /* 00_15 14 */ - movl %eax, %edx - movl %edi, %ebp - xorl %ebx, %edx - roll $5, %ebp - andl %esi, %edx - addl %ecx, %ebp -.byte 209 -.byte 206 /* rorl $1 %esi */ - movl 56(%esp), %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - xorl %ebx, %edx - leal 1518500249(%ebp,%ecx,1),%ebp - movl %esi, %ecx - addl %ebp, %edx - xorl %eax, %ecx - movl %edx, %ebp - andl %edi, %ecx - roll $5, %ebp - addl %ebx, %ebp - movl 60(%esp), %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - xorl %eax, %ecx -.byte 209 -.byte 207 /* rorl $1 %edi */ - leal 1518500249(%ebp,%ebx,1),%ebp - addl %ebp, %ecx - /* 16_19 16 */ - nop - movl (%esp), %ebp - movl 8(%esp), %ebx - xorl %ebp, %ebx - movl 32(%esp), %ebp - xorl %ebp, %ebx - movl 52(%esp), %ebp - xorl %ebp, %ebx - movl %edi, %ebp -.byte 209 -.byte 195 /* roll $1 %ebx */ - xorl %esi, %ebp - movl %ebx, (%esp) - andl %edx, %ebp - leal 1518500249(%ebx,%eax,1),%ebx - xorl %esi, %ebp - movl %ecx, %eax - addl %ebp, %ebx - roll $5, %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - addl %eax, %ebx - movl 4(%esp), %eax - movl 12(%esp), %ebp - xorl %ebp, %eax - movl 36(%esp), %ebp - xorl %ebp, %eax - movl 56(%esp), %ebp -.byte 209 -.byte 202 /* rorl $1 %edx */ - xorl %ebp, %eax -.byte 209 -.byte 192 /* roll $1 %eax */ - movl %edx, %ebp - xorl %edi, %ebp - movl %eax, 4(%esp) - andl %ecx, %ebp - leal 1518500249(%eax,%esi,1),%eax - xorl %edi, %ebp - movl %ebx, %esi - roll $5, %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %esi, %eax -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %ebp, %eax - /* 16_19 18 */ - movl 8(%esp), %ebp - movl 16(%esp), %esi - xorl %ebp, %esi - movl 40(%esp), %ebp - xorl %ebp, %esi - movl 60(%esp), %ebp - xorl %ebp, %esi - movl %ecx, %ebp -.byte 209 -.byte 198 /* roll $1 %esi */ - xorl %edx, %ebp - movl %esi, 8(%esp) - andl %ebx, %ebp - leal 1518500249(%esi,%edi,1),%esi - xorl %edx, %ebp - movl %eax, %edi - addl %ebp, %esi - roll $5, %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - addl %edi, %esi - movl 12(%esp), %edi - movl 20(%esp), %ebp - xorl %ebp, %edi - movl 44(%esp), %ebp - xorl %ebp, %edi - movl (%esp), %ebp -.byte 209 -.byte 203 /* rorl $1 %ebx */ - xorl %ebp, %edi -.byte 209 -.byte 199 /* roll $1 %edi */ - movl %ebx, %ebp - xorl %ecx, %ebp - movl %edi, 12(%esp) - andl %eax, %ebp - leal 1518500249(%edi,%edx,1),%edi - xorl %ecx, %ebp - movl %esi, %edx - roll $5, %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %edx, %edi -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %ebp, %edi - /* 20_39 20 */ - movl 16(%esp), %edx - movl 24(%esp), %ebp - xorl %ebp, %edx - movl 48(%esp), %ebp - xorl %ebp, %edx - movl 4(%esp), %ebp - xorl %ebp, %edx - movl %esi, %ebp -.byte 209 -.byte 194 /* roll $1 %edx */ - xorl %eax, %ebp - movl %edx, 16(%esp) - xorl %ebx, %ebp - leal 1859775393(%edx,%ecx,1),%edx - movl %edi, %ecx - roll $5, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ebp, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ecx, %edx - /* 20_39 21 */ - movl 20(%esp), %ecx - movl 28(%esp), %ebp - xorl %ebp, %ecx - movl 52(%esp), %ebp - xorl %ebp, %ecx - movl 8(%esp), %ebp - xorl %ebp, %ecx - movl %edi, %ebp -.byte 209 -.byte 193 /* roll $1 %ecx */ - xorl %esi, %ebp - movl %ecx, 20(%esp) - xorl %eax, %ebp - leal 1859775393(%ecx,%ebx,1),%ecx - movl %edx, %ebx - roll $5, %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - addl %ebp, %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - addl %ebx, %ecx - /* 20_39 22 */ - movl 24(%esp), %ebx - movl 32(%esp), %ebp - xorl %ebp, %ebx - movl 56(%esp), %ebp - xorl %ebp, %ebx - movl 12(%esp), %ebp - xorl %ebp, %ebx - movl %edx, %ebp -.byte 209 -.byte 195 /* roll $1 %ebx */ - xorl %edi, %ebp - movl %ebx, 24(%esp) - xorl %esi, %ebp - leal 1859775393(%ebx,%eax,1),%ebx - movl %ecx, %eax - roll $5, %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - addl %ebp, %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - addl %eax, %ebx - /* 20_39 23 */ - movl 28(%esp), %eax - movl 36(%esp), %ebp - xorl %ebp, %eax - movl 60(%esp), %ebp - xorl %ebp, %eax - movl 16(%esp), %ebp - xorl %ebp, %eax - movl %ecx, %ebp -.byte 209 -.byte 192 /* roll $1 %eax */ - xorl %edx, %ebp - movl %eax, 28(%esp) - xorl %edi, %ebp - leal 1859775393(%eax,%esi,1),%eax - movl %ebx, %esi - roll $5, %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %ebp, %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %esi, %eax - /* 20_39 24 */ - movl 32(%esp), %esi - movl 40(%esp), %ebp - xorl %ebp, %esi - movl (%esp), %ebp - xorl %ebp, %esi - movl 20(%esp), %ebp - xorl %ebp, %esi - movl %ebx, %ebp -.byte 209 -.byte 198 /* roll $1 %esi */ - xorl %ecx, %ebp - movl %esi, 32(%esp) - xorl %edx, %ebp - leal 1859775393(%esi,%edi,1),%esi - movl %eax, %edi - roll $5, %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - addl %ebp, %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - addl %edi, %esi - /* 20_39 25 */ - movl 36(%esp), %edi - movl 44(%esp), %ebp - xorl %ebp, %edi - movl 4(%esp), %ebp - xorl %ebp, %edi - movl 24(%esp), %ebp - xorl %ebp, %edi - movl %eax, %ebp -.byte 209 -.byte 199 /* roll $1 %edi */ - xorl %ebx, %ebp - movl %edi, 36(%esp) - xorl %ecx, %ebp - leal 1859775393(%edi,%edx,1),%edi - movl %esi, %edx - roll $5, %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %ebp, %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %edx, %edi - /* 20_39 26 */ - movl 40(%esp), %edx - movl 48(%esp), %ebp - xorl %ebp, %edx - movl 8(%esp), %ebp - xorl %ebp, %edx - movl 28(%esp), %ebp - xorl %ebp, %edx - movl %esi, %ebp -.byte 209 -.byte 194 /* roll $1 %edx */ - xorl %eax, %ebp - movl %edx, 40(%esp) - xorl %ebx, %ebp - leal 1859775393(%edx,%ecx,1),%edx - movl %edi, %ecx - roll $5, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ebp, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ecx, %edx - /* 20_39 27 */ - movl 44(%esp), %ecx - movl 52(%esp), %ebp - xorl %ebp, %ecx - movl 12(%esp), %ebp - xorl %ebp, %ecx - movl 32(%esp), %ebp - xorl %ebp, %ecx - movl %edi, %ebp -.byte 209 -.byte 193 /* roll $1 %ecx */ - xorl %esi, %ebp - movl %ecx, 44(%esp) - xorl %eax, %ebp - leal 1859775393(%ecx,%ebx,1),%ecx - movl %edx, %ebx - roll $5, %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - addl %ebp, %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - addl %ebx, %ecx - /* 20_39 28 */ - movl 48(%esp), %ebx - movl 56(%esp), %ebp - xorl %ebp, %ebx - movl 16(%esp), %ebp - xorl %ebp, %ebx - movl 36(%esp), %ebp - xorl %ebp, %ebx - movl %edx, %ebp -.byte 209 -.byte 195 /* roll $1 %ebx */ - xorl %edi, %ebp - movl %ebx, 48(%esp) - xorl %esi, %ebp - leal 1859775393(%ebx,%eax,1),%ebx - movl %ecx, %eax - roll $5, %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - addl %ebp, %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - addl %eax, %ebx - /* 20_39 29 */ - movl 52(%esp), %eax - movl 60(%esp), %ebp - xorl %ebp, %eax - movl 20(%esp), %ebp - xorl %ebp, %eax - movl 40(%esp), %ebp - xorl %ebp, %eax - movl %ecx, %ebp -.byte 209 -.byte 192 /* roll $1 %eax */ - xorl %edx, %ebp - movl %eax, 52(%esp) - xorl %edi, %ebp - leal 1859775393(%eax,%esi,1),%eax - movl %ebx, %esi - roll $5, %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %ebp, %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %esi, %eax - /* 20_39 30 */ - movl 56(%esp), %esi - movl (%esp), %ebp - xorl %ebp, %esi - movl 24(%esp), %ebp - xorl %ebp, %esi - movl 44(%esp), %ebp - xorl %ebp, %esi - movl %ebx, %ebp -.byte 209 -.byte 198 /* roll $1 %esi */ - xorl %ecx, %ebp - movl %esi, 56(%esp) - xorl %edx, %ebp - leal 1859775393(%esi,%edi,1),%esi - movl %eax, %edi - roll $5, %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - addl %ebp, %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - addl %edi, %esi - /* 20_39 31 */ - movl 60(%esp), %edi - movl 4(%esp), %ebp - xorl %ebp, %edi - movl 28(%esp), %ebp - xorl %ebp, %edi - movl 48(%esp), %ebp - xorl %ebp, %edi - movl %eax, %ebp -.byte 209 -.byte 199 /* roll $1 %edi */ - xorl %ebx, %ebp - movl %edi, 60(%esp) - xorl %ecx, %ebp - leal 1859775393(%edi,%edx,1),%edi - movl %esi, %edx - roll $5, %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %ebp, %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %edx, %edi - /* 20_39 32 */ - movl (%esp), %edx - movl 8(%esp), %ebp - xorl %ebp, %edx - movl 32(%esp), %ebp - xorl %ebp, %edx - movl 52(%esp), %ebp - xorl %ebp, %edx - movl %esi, %ebp -.byte 209 -.byte 194 /* roll $1 %edx */ - xorl %eax, %ebp - movl %edx, (%esp) - xorl %ebx, %ebp - leal 1859775393(%edx,%ecx,1),%edx - movl %edi, %ecx - roll $5, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ebp, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ecx, %edx - /* 20_39 33 */ - movl 4(%esp), %ecx - movl 12(%esp), %ebp - xorl %ebp, %ecx - movl 36(%esp), %ebp - xorl %ebp, %ecx - movl 56(%esp), %ebp - xorl %ebp, %ecx - movl %edi, %ebp -.byte 209 -.byte 193 /* roll $1 %ecx */ - xorl %esi, %ebp - movl %ecx, 4(%esp) - xorl %eax, %ebp - leal 1859775393(%ecx,%ebx,1),%ecx - movl %edx, %ebx - roll $5, %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - addl %ebp, %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - addl %ebx, %ecx - /* 20_39 34 */ - movl 8(%esp), %ebx - movl 16(%esp), %ebp - xorl %ebp, %ebx - movl 40(%esp), %ebp - xorl %ebp, %ebx - movl 60(%esp), %ebp - xorl %ebp, %ebx - movl %edx, %ebp -.byte 209 -.byte 195 /* roll $1 %ebx */ - xorl %edi, %ebp - movl %ebx, 8(%esp) - xorl %esi, %ebp - leal 1859775393(%ebx,%eax,1),%ebx - movl %ecx, %eax - roll $5, %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - addl %ebp, %eax -.byte 209 -.byte 202 /* rorl $1 %edx */ - addl %eax, %ebx - /* 20_39 35 */ - movl 12(%esp), %eax - movl 20(%esp), %ebp - xorl %ebp, %eax - movl 44(%esp), %ebp - xorl %ebp, %eax - movl (%esp), %ebp - xorl %ebp, %eax - movl %ecx, %ebp -.byte 209 -.byte 192 /* roll $1 %eax */ - xorl %edx, %ebp - movl %eax, 12(%esp) - xorl %edi, %ebp - leal 1859775393(%eax,%esi,1),%eax - movl %ebx, %esi - roll $5, %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %ebp, %esi -.byte 209 -.byte 201 /* rorl $1 %ecx */ - addl %esi, %eax - /* 20_39 36 */ - movl 16(%esp), %esi - movl 24(%esp), %ebp - xorl %ebp, %esi - movl 48(%esp), %ebp - xorl %ebp, %esi - movl 4(%esp), %ebp - xorl %ebp, %esi - movl %ebx, %ebp -.byte 209 -.byte 198 /* roll $1 %esi */ - xorl %ecx, %ebp - movl %esi, 16(%esp) - xorl %edx, %ebp - leal 1859775393(%esi,%edi,1),%esi - movl %eax, %edi - roll $5, %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - addl %ebp, %edi -.byte 209 -.byte 203 /* rorl $1 %ebx */ - addl %edi, %esi - /* 20_39 37 */ - movl 20(%esp), %edi - movl 28(%esp), %ebp - xorl %ebp, %edi - movl 52(%esp), %ebp - xorl %ebp, %edi - movl 8(%esp), %ebp - xorl %ebp, %edi - movl %eax, %ebp -.byte 209 -.byte 199 /* roll $1 %edi */ - xorl %ebx, %ebp - movl %edi, 20(%esp) - xorl %ecx, %ebp - leal 1859775393(%edi,%edx,1),%edi - movl %esi, %edx - roll $5, %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %ebp, %edx -.byte 209 -.byte 200 /* rorl $1 %eax */ - addl %edx, %edi - /* 20_39 38 */ - movl 24(%esp), %edx - movl 32(%esp), %ebp - xorl %ebp, %edx - movl 56(%esp), %ebp - xorl %ebp, %edx - movl 12(%esp), %ebp - xorl %ebp, %edx - movl %esi, %ebp -.byte 209 -.byte 194 /* roll $1 %edx */ - xorl %eax, %ebp - movl %edx, 24(%esp) - xorl %ebx, %ebp - leal 1859775393(%edx,%ecx,1),%edx - movl %edi, %ecx - roll $5, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ebp, %ecx -.byte 209 -.byte 206 /* rorl $1 %esi */ - addl %ecx, %edx - /* 20_39 39 */ - movl 28(%esp), %ecx - movl 36(%esp), %ebp - xorl %ebp, %ecx - movl 60(%esp), %ebp - xorl %ebp, %ecx - movl 16(%esp), %ebp - xorl %ebp, %ecx - movl %edi, %ebp -.byte 209 -.byte 193 /* roll $1 %ecx */ - xorl %esi, %ebp - movl %ecx, 28(%esp) - xorl %eax, %ebp - leal 1859775393(%ecx,%ebx,1),%ecx - movl %edx, %ebx - roll $5, %ebx -.byte 209 -.byte 207 /* rorl $1 %edi */ - addl %ebp, %ebx *** 1712 LINES SKIPPED *** From nobody Wed May 14 23:40:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVFy56J6z5w0Xh; Wed, 14 May 2025 23:40: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 4ZyVFy4JbHz3Xr3; Wed, 14 May 2025 23:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eCgYAYZLodsbJLx7j9w1PGED63KksHwHUn3tegjxjcs=; b=hh1DXMUYOHJ5L+KZnUIs/fnUM6OuuPY2nmW17TY3KkxY46FB9YtS0x2xzgiKuOT1sl8abH JIfhxTfNHxfh9uw3xhOKpL/3RXnmTPSu6t5Wh8N+fYBl0Xc3EQTgdQ6Tampg5nI3HeWKzq 05mURMpQmusOF736/Lw7eEPif4Joc4tP3rqBvUBbZXeMC4txpIHUx2cSW8XF1I2eJ06DTf q0mSNfxLmWBQdiuuK/ma1dOOQng09GyYZ/LS50mpGxSVjyEfpEDZd9lG4OXwGNfcRrf1ZZ LB2zY0pBqFpxzqABGs+hd02LGJU/xv3hpU9wn9/6/IFId4+Dxwd/tXb0N9oiWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eCgYAYZLodsbJLx7j9w1PGED63KksHwHUn3tegjxjcs=; b=fFf73cTjuAnFAyVPC+Y0bhX/TKAWqsGdSBNtHiYsZMdiVUHqqsAzH8kZTylfYepcpQdOKE tMSmhweDaQBpLFF3TgPGlQOur9nrBTyyt3BTPtn8AWg1mI1JkJqYxdvH/o2lNS2Y3mivfE Uh3bmkdFpMO/X8wIoT4CnYInwz2dce2z5CimUAu2BXwB46qe9XFFqzoHSe5MArvwjsBYP5 vDyN67NfuuG9l+OJdvFdOClSG34ed5xYsxwFleOX3tCRFeEaA5tFZZAez4ia3Gt+qGIMTB gbfJncUQ+jlfAkGfaVcPhxja4tlzCiXiWfvbX6us72JCqleTeU1Q/fTUNhw1bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747266038; a=rsa-sha256; cv=none; b=uYFtw3DYuf2y7dDrACDUOz0r8Bg2lxWSbR0ScaNKj04UAdTdgs6vodYkfSpSZ3mhjfX+Ob ELDqsLEGB5caNjbwWwFvic9S4JkNXlzWOugo/EU1trk6ml7vmNBYgV5kfaSOavwxoaE1+V 7qr71aMjvEG5PaAKNcq4Xb5t+8blToY7cwKU2f/YRFDMvq1+KqiewIzEFKXoVTUSxgjY4N o6SckFydTY4rlEcGlPtB0xnZcTn/cphvB+XKERL2v6iXbDhEerv1jRY4eHBVdox6a1xV5t I54NBNq2W8knGKLziN9UuCDat7dXlBw2AdW6QEo3Gm1OqfUV/utw4dKC9ej8rA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVFy3sl2ztD9; Wed, 14 May 2025 23:40: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 54ENec9e000169; Wed, 14 May 2025 23:40:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ENecbI000166; Wed, 14 May 2025 23:40:38 GMT (envelope-from git) Date: Wed, 14 May 2025 23:40:38 GMT Message-Id: <202505142340.54ENecbI000166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 8b4684afcde3 - main - lib/libmd: add optimised SHA1 implementations for amd64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b4684afcde3930eb49490f0b8431c4cb2ad9a46 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=8b4684afcde3930eb49490f0b8431c4cb2ad9a46 commit 8b4684afcde3930eb49490f0b8431c4cb2ad9a46 Author: Robert Clausecker AuthorDate: 2024-05-28 15:20:41 +0000 Commit: Robert Clausecker CommitDate: 2025-05-14 23:39:58 +0000 lib/libmd: add optimised SHA1 implementations for amd64 Three implementations are provided: one using just scalar instructions, one using AVX2, and one using the SHA instructions (SHANI). The AVX2 version uses a complicated multi-block carry scheme described in an Intel whitepaper; the code was carefully transcribed from the implementatio shipped with the Go runtime. The performance is quite good. From my Tiger Lake based NUC: old: 16.7s ( 613 MB/s) scalar: 14.5s ( 706 MB/s) avx2: 10.5s ( 975 MB/s) shani: 5.6s (1829 MB/s) Reviewed by: getz Obtained from: https://github.com/golang/go/blob/b0dfcb74651b82123746273bbf6bb9988cd96e18/src/crypto/sha1/sha1block_amd64.s Differential Revision: https://reviews.freebsd.org/D45444 --- lib/libmd/Makefile | 3 + lib/libmd/amd64/sha1block.S | 1851 ++++++++++++++++++++++++++++++++++++++++ lib/libmd/amd64/sha1dispatch.c | 77 ++ 3 files changed, 1931 insertions(+) diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index 427da5b9d68f..547a134fc440 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -120,6 +120,9 @@ USE_ASM_SOURCES:=0 .if exists(${MACHINE_ARCH}/sha1block.S) SRCS+= sha1block.S CFLAGS+= -DSHA1_ASM +.if exists(${MACHINE_ARCH}/sha1dispatch.c) +SRCS+= sha1dispatch.c +.endif .endif .if exists(${MACHINE_ARCH}/rmd160.S) SRCS+= rmd160.S diff --git a/lib/libmd/amd64/sha1block.S b/lib/libmd/amd64/sha1block.S new file mode 100644 index 000000000000..0307dcdece32 --- /dev/null +++ b/lib/libmd/amd64/sha1block.S @@ -0,0 +1,1851 @@ +/*- + * Copyright (c) 2013 The Go Authors. All rights reserved. + * Copyright (c) 2024 Robert Clausecker + * + * Adapted from Go's crypto/sha1/sha1block_amd64.s. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +/* + * SHA-1 block routine. See sha1c.c for C equivalent. + * + * There are 80 rounds of 4 types: + * - rounds 0-15 are type 1 and load data (round1 macro). + * - rounds 16-19 are type 1 and do not load data (round1x macro). + * - rounds 20-39 are type 2 and do not load data (round2 macro). + * - rounds 40-59 are type 3 and do not load data (round3 macro). + * - rounds 60-79 are type 4 and do not load data (round4 macro). + * + * Each round loads or shuffles the data, then computes a per-round + * function of b, c, d, and then mixes the result into and rotates the + * five registers a, b, c, d, e holding the intermediate results. + * + * The register rotation is implemented by rotating the arguments to + * the round macros instead of by explicit move instructions. + */ +.macro load index + mov (\index)*4(%rsi), %r10d + bswap %r10d + mov %r10d, (\index)*4(%rsp) +.endm + +.macro shuffle index + mov ((\index )&0xf)*4(%rsp), %r10d + xor ((\index- 3)&0xf)*4(%rsp), %r10d + xor ((\index- 8)&0xf)*4(%rsp), %r10d + xor ((\index-14)&0xf)*4(%rsp), %r10d + rol $1, %r10d + mov %r10d, ((\index)&0xf)*4(%rsp) +.endm + +.macro func1 a, b, c, d, e + mov \d, %r9d + xor \c, %r9d + and \b, %r9d + xor \d, %r9d +.endm + +.macro func2 a, b, c, d, e + mov \b, %r9d + xor \c, %r9d + xor \d, %r9d +.endm + +.macro func3 a, b, c, d, e + mov \b, %r8d + or \c, %r8d + and \d, %r8d + mov \b, %r9d + and \c, %r9d + or %r8d, %r9d +.endm + +.macro func4 a, b, c, d, e + func2 \a, \b, \c, \d, \e +.endm + +.macro mix a, b, c, d, e, const + rol $30, \b + add %r9d, \e + mov \a, %r8d + rol $5, %r8d + lea \const(\e, %r10d, 1), \e + add %r8d, \e +.endm + +.macro round1 a, b, c, d, e, index + load \index + func1 \a, \b, \c, \d, \e + mix \a, \b, \c, \d, \e, 0x5a827999 +.endm + +.macro round1x a, b, c, d, e, index + shuffle \index + func1 \a, \b, \c, \d, \e + mix \a, \b, \c, \d, \e, 0x5a827999 +.endm + +.macro round2 a, b, c, d, e, index + shuffle \index + func2 \a, \b, \c, \d, \e + mix \a, \b, \c, \d, \e, 0x6ed9eba1 +.endm + +.macro round3 a, b, c, d, e, index + shuffle \index + func3 \a, \b, \c, \d, \e + mix \a, \b, \c, \d, \e, 0x8f1bbcdc +.endm + +.macro round4 a, b, c, d, e, index + shuffle \index + func4 \a, \b, \c, \d, \e + mix \a, \b, \c, \d, \e, 0xca62c1d6 +.endm + + // sha1block(SHA1_CTX, buf, len) +ENTRY(_libmd_sha1block_scalar) + push %rbp + push %rbx + push %r12 + push %r13 + push %r14 + push %r15 + push %rdi // rdi: SHA1_CTX + sub $64+8, %rsp // 64 bytes for round keys + // plus alignment + + mov %rdi, %rbp + // rsi: buf + and $~63, %rdx // rdx: length in blocks + lea (%rsi, %rdx, 1), %rdi // rdi: end pointer + mov (%rbp), %eax // c->h0 + mov 4(%rbp), %ebx // c->h1 + mov 8(%rbp), %ecx // c->h2 + mov 12(%rbp), %edx // c->h3 + mov 16(%rbp), %ebp // c->h4 + + cmp %rsi, %rdi // any data to process? + je .Lend + +.Lloop: mov %eax, %r11d + mov %ebx, %r12d + mov %ecx, %r13d + mov %edx, %r14d + mov %ebp, %r15d + + round1 %eax, %ebx, %ecx, %edx, %ebp, 0 + round1 %ebp, %eax, %ebx, %ecx, %edx, 1 + round1 %edx, %ebp, %eax, %ebx, %ecx, 2 + round1 %ecx, %edx, %ebp, %eax, %ebx, 3 + round1 %ebx, %ecx, %edx, %ebp, %eax, 4 + + round1 %eax, %ebx, %ecx, %edx, %ebp, 5 + round1 %ebp, %eax, %ebx, %ecx, %edx, 6 + round1 %edx, %ebp, %eax, %ebx, %ecx, 7 + round1 %ecx, %edx, %ebp, %eax, %ebx, 8 + round1 %ebx, %ecx, %edx, %ebp, %eax, 9 + + round1 %eax, %ebx, %ecx, %edx, %ebp, 10 + round1 %ebp, %eax, %ebx, %ecx, %edx, 11 + round1 %edx, %ebp, %eax, %ebx, %ecx, 12 + round1 %ecx, %edx, %ebp, %eax, %ebx, 13 + round1 %ebx, %ecx, %edx, %ebp, %eax, 14 + + round1 %eax, %ebx, %ecx, %edx, %ebp, 15 + round1x %ebp, %eax, %ebx, %ecx, %edx, 16 + round1x %edx, %ebp, %eax, %ebx, %ecx, 17 + round1x %ecx, %edx, %ebp, %eax, %ebx, 18 + round1x %ebx, %ecx, %edx, %ebp, %eax, 19 + + round2 %eax, %ebx, %ecx, %edx, %ebp, 20 + round2 %ebp, %eax, %ebx, %ecx, %edx, 21 + round2 %edx, %ebp, %eax, %ebx, %ecx, 22 + round2 %ecx, %edx, %ebp, %eax, %ebx, 23 + round2 %ebx, %ecx, %edx, %ebp, %eax, 24 + + round2 %eax, %ebx, %ecx, %edx, %ebp, 25 + round2 %ebp, %eax, %ebx, %ecx, %edx, 26 + round2 %edx, %ebp, %eax, %ebx, %ecx, 27 + round2 %ecx, %edx, %ebp, %eax, %ebx, 28 + round2 %ebx, %ecx, %edx, %ebp, %eax, 29 + + round2 %eax, %ebx, %ecx, %edx, %ebp, 30 + round2 %ebp, %eax, %ebx, %ecx, %edx, 31 + round2 %edx, %ebp, %eax, %ebx, %ecx, 32 + round2 %ecx, %edx, %ebp, %eax, %ebx, 33 + round2 %ebx, %ecx, %edx, %ebp, %eax, 34 + + round2 %eax, %ebx, %ecx, %edx, %ebp, 35 + round2 %ebp, %eax, %ebx, %ecx, %edx, 36 + round2 %edx, %ebp, %eax, %ebx, %ecx, 37 + round2 %ecx, %edx, %ebp, %eax, %ebx, 38 + round2 %ebx, %ecx, %edx, %ebp, %eax, 39 + + round3 %eax, %ebx, %ecx, %edx, %ebp, 40 + round3 %ebp, %eax, %ebx, %ecx, %edx, 41 + round3 %edx, %ebp, %eax, %ebx, %ecx, 42 + round3 %ecx, %edx, %ebp, %eax, %ebx, 43 + round3 %ebx, %ecx, %edx, %ebp, %eax, 44 + + round3 %eax, %ebx, %ecx, %edx, %ebp, 45 + round3 %ebp, %eax, %ebx, %ecx, %edx, 46 + round3 %edx, %ebp, %eax, %ebx, %ecx, 47 + round3 %ecx, %edx, %ebp, %eax, %ebx, 48 + round3 %ebx, %ecx, %edx, %ebp, %eax, 49 + + round3 %eax, %ebx, %ecx, %edx, %ebp, 50 + round3 %ebp, %eax, %ebx, %ecx, %edx, 51 + round3 %edx, %ebp, %eax, %ebx, %ecx, 52 + round3 %ecx, %edx, %ebp, %eax, %ebx, 53 + round3 %ebx, %ecx, %edx, %ebp, %eax, 54 + + round3 %eax, %ebx, %ecx, %edx, %ebp, 55 + round3 %ebp, %eax, %ebx, %ecx, %edx, 56 + round3 %edx, %ebp, %eax, %ebx, %ecx, 57 + round3 %ecx, %edx, %ebp, %eax, %ebx, 58 + round3 %ebx, %ecx, %edx, %ebp, %eax, 59 + + round4 %eax, %ebx, %ecx, %edx, %ebp, 60 + round4 %ebp, %eax, %ebx, %ecx, %edx, 61 + round4 %edx, %ebp, %eax, %ebx, %ecx, 62 + round4 %ecx, %edx, %ebp, %eax, %ebx, 63 + round4 %ebx, %ecx, %edx, %ebp, %eax, 64 + + round4 %eax, %ebx, %ecx, %edx, %ebp, 65 + round4 %ebp, %eax, %ebx, %ecx, %edx, 66 + round4 %edx, %ebp, %eax, %ebx, %ecx, 67 + round4 %ecx, %edx, %ebp, %eax, %ebx, 68 + round4 %ebx, %ecx, %edx, %ebp, %eax, 69 + + round4 %eax, %ebx, %ecx, %edx, %ebp, 70 + round4 %ebp, %eax, %ebx, %ecx, %edx, 71 + round4 %edx, %ebp, %eax, %ebx, %ecx, 72 + round4 %ecx, %edx, %ebp, %eax, %ebx, 73 + round4 %ebx, %ecx, %edx, %ebp, %eax, 74 + + round4 %eax, %ebx, %ecx, %edx, %ebp, 75 + round4 %ebp, %eax, %ebx, %ecx, %edx, 76 + round4 %edx, %ebp, %eax, %ebx, %ecx, 77 + round4 %ecx, %edx, %ebp, %eax, %ebx, 78 + round4 %ebx, %ecx, %edx, %ebp, %eax, 79 + + add %r11d, %eax + add %r12d, %ebx + add %r13d, %ecx + add %r14d, %edx + add %r15d, %ebp + + add $64, %rsi + cmp %rdi, %rsi + jb .Lloop + +.Lend: add $64+8, %rsp + pop %rdi // SHA1_CTX + mov %eax, (%rdi) + mov %ebx, 4(%rdi) + mov %ecx, 8(%rdi) + mov %edx, 12(%rdi) + mov %ebp, 16(%rdi) + + pop %r15 + pop %r14 + pop %r13 + pop %r12 + pop %rbx + pop %rbp + ret +END(_libmd_sha1block_scalar) + +/* + * This is the implementation using AVX2, BMI1 and BMI2. It is based on: + * "SHA-1 implementation with Intel(R) AVX2 instruction set extensions" + * From http://software.intel.com/en-us/articles + * (look for improving-the-performance-of-the-secure-hash-algorithm-1) + * This implementation is 2x unrolled, and interleaves vector instructions, + * used to precompute W, with scalar computation of current round + * for optimal scheduling. + */ + + /* trivial helper macros */ +.macro update_hash a, tb, c, d, e + add (%r9), \a + mov \a, (%r9) + add 4(%r9), \tb + mov \tb, 4(%r9) + add 8(%r9), \c + mov \c, 8(%r9) + add 12(%r9), \d + mov \d, 12(%r9) + add 16(%r9), \e + mov \e, 16(%r9) +.endm + + /* help macros for recalc, which does precomputations */ +.macro precalc0 offset + vmovdqu \offset(%r10), %xmm0 +.endm + +.macro precalc1 offset + vinserti128 $1, \offset(%r13), %ymm0, %ymm0 +.endm + +.macro precalc2 yreg + vpshufb %ymm10, %ymm0, \yreg +.endm + +.macro precalc4 yreg, k_offset + vpaddd \k_offset(%r8), \yreg, %ymm0 +.endm + +.macro precalc7 offset + vmovdqu %ymm0, (\offset)*2(%r14) +.endm + +/* + * Message scheduling pre-compute for rounds 0-15 + * r13 is a pointer to the even 64-byte block + * r10 is a pointer to the odd 64-byte block + * r14 is a pointer to the temp buffer + * xmm0 is used as a temp register + * yreg is clobbered as part of the computation + * offset chooses a 16 byte chunk within a block + * r8 is a pointer to the constants block + * k_offset chooses K constants relevant to this round + * xmm10 holds the swap mask + */ +.macro precalc00_15 offset, yreg + precalc0 \offset + precalc1 \offset + precalc2 \yreg + precalc4 \yreg, 0 + precalc7 \offset +.endm + + /* helper macros for precalc16_31 */ +.macro precalc16 reg_sub16, reg_sub12, reg_sub4, reg + vpalignr $8, \reg_sub16, \reg_sub12, \reg // w[i - 14] + vpsrldq $4, \reg_sub4, %ymm0 // w[i - 3] +.endm + +.macro precalc17 reg_sub16, reg_sub8, reg + vpxor \reg_sub8, \reg, \reg + vpxor \reg_sub16, %ymm0, %ymm0 +.endm + +.macro precalc18 reg + vpxor %ymm0, \reg, \reg + vpslldq $12, \reg, %ymm9 +.endm + +.macro precalc19 reg + vpslld $1, \reg, %ymm0 + vpsrld $31, \reg, \reg + .endm + +.macro precalc20 reg + vpor \reg, %ymm0, %ymm0 + vpslld $2, %ymm9, \reg +.endm + +.macro precalc21 reg + vpsrld $30, %ymm9, %ymm9 + vpxor \reg, %ymm0, %ymm0 +.endm + +.macro precalc23 reg, k_offset, offset + vpxor %ymm9, %ymm0, \reg + vpaddd \k_offset(%r8), \reg, %ymm0 + vmovdqu %ymm0, (\offset)(%r14) +.endm + +/* + * Message scheduling pre-compute for rounds 16-31 + * calculating last 32 w[i] values in 8 XMM registers + * pre-calculate K+w[i] values and store to mem + * for later load by ALU add instruction. + * "brute force" vectorization for rounds 16-31 only + * due to w[i]->w[i-3] dependency. + + clobbers 5 input ymm registers REG_SUB* + * uses xmm0 and xmm9 as temp registers + * As always, r8 is a pointer to constants block + * and r14 is a pointer to temp buffer + */ +.macro precalc16_31 reg, reg_sub4, reg_sub8, reg_sub12, reg_sub16, k_offset, offset + precalc16 \reg_sub16, \reg_sub12, \reg_sub4, \reg + precalc17 \reg_sub16, \reg_sub8, \reg + precalc18 \reg + precalc19 \reg + precalc20 \reg + precalc21 \reg + precalc23 \reg, \k_offset, \offset +.endm + + /* helper macros for precalc_32_79 */ +.macro precalc32 reg_sub8, reg_sub4 + vpalignr $8, \reg_sub8, \reg_sub4, %ymm0 +.endm + +.macro precalc33 reg_sub28, reg + vpxor \reg_sub28, \reg, \reg +.endm + +.macro precalc34 reg_sub16 + vpxor \reg_sub16, %ymm0, %ymm0 +.endm + +.macro precalc35 reg + vpxor %ymm0, \reg, \reg +.endm + +.macro precalc36 reg + vpslld $2, \reg, %ymm0 +.endm + +.macro precalc37 reg + vpsrld $30, \reg, \reg + vpor \reg, %ymm0, \reg +.endm + +.macro precalc39 reg, k_offset, offset + vpaddd \k_offset(%r8), \reg, %ymm0 + vmovdqu %ymm0, \offset(%r14) +.endm + +.macro precalc32_79 reg, reg_sub4, reg_sub8, reg_sub16, reg_sub28, k_offset, offset + precalc32 \reg_sub8, \reg_sub4 + precalc33 \reg_sub28, \reg + precalc34 \reg_sub16 + precalc35 \reg + precalc36 \reg + precalc37 \reg + precalc39 \reg, \k_offset, \offset +.endm + +.macro precalc + precalc00_15 0x00, %ymm15 + precalc00_15 0x10, %ymm14 + precalc00_15 0x20, %ymm13 + precalc00_15 0x30, %ymm12 + precalc16_31 %ymm8, %ymm12, %ymm13, %ymm14, %ymm15, 0x00, 0x080 + precalc16_31 %ymm7, %ymm8, %ymm12, %ymm13, %ymm14, 0x20, 0x0a0 + precalc16_31 %ymm5, %ymm7, %ymm8, %ymm12, %ymm13, 0x20, 0x0c0 + precalc16_31 %ymm3, %ymm5, %ymm7, %ymm8, %ymm12, 0x20, 0x0e0 + precalc32_79 %ymm15, %ymm3, %ymm5, %ymm8, %ymm14, 0x20, 0x100 + precalc32_79 %ymm14, %ymm15, %ymm3, %ymm7, %ymm13, 0x20, 0x120 + precalc32_79 %ymm13, %ymm14, %ymm15, %ymm5, %ymm12, 0x40, 0x140 + precalc32_79 %ymm12, %ymm13, %ymm14, %ymm3, %ymm8, 0x40, 0x160 + precalc32_79 %ymm8, %ymm12, %ymm13, %ymm15, %ymm7, 0x40, 0x180 + precalc32_79 %ymm7, %ymm8, %ymm12, %ymm14, %ymm5, 0x40, 0x1a0 + precalc32_79 %ymm5, %ymm7, %ymm8, %ymm13, %ymm3, 0x40, 0x1c0 + precalc32_79 %ymm3, %ymm5, %ymm7, %ymm12, %ymm15, 0x60, 0x1e0 + precalc32_79 %ymm15, %ymm3, %ymm5, %ymm8, %ymm14, 0x60, 0x200 + precalc32_79 %ymm14, %ymm15, %ymm3, %ymm7, %ymm13, 0x60, 0x220 + precalc32_79 %ymm13, %ymm14, %ymm15, %ymm5, %ymm12, 0x60, 0x240 + precalc32_79 %ymm12, %ymm13, %ymm14, %ymm3, %ymm8, 0x60, 0x260 +.endm + +/* + * Macros calculating individual rounds have general form + * calc_round_pre + precalc_round + calc_round_post + * calc_round_{pre,post} macros follow + */ +.macro calc_f1_pre offset, reg_a, reg_b, reg_c, reg_e + add \offset(%r15), \reg_e + andn \reg_c, \reg_a, %ebp + add \reg_b, \reg_e // add F from the previous round + rorx $0x1b, \reg_a, %r12d + rorx $2, \reg_a, \reg_b // for the next round +.endm + +/* + * Calculate F for the next round + */ +.macro calc_f1_post reg_a, reg_b, reg_e + and \reg_b, \reg_a // b & c + xor %ebp, \reg_a // F1 = (b&c) ^ (~b&d) + add %r12d, \reg_e +.endm + +/* + * Registers are cyclically rotated: + * edx -> eax -> edi -> esi -> ebx -> ecx + */ +.macro calc0 + mov %esi, %ebx // precalculate first round + rorx $2, %esi, %esi + andn %eax, %ebx, %ebp + and %edi, %ebx + xor %ebp, %ebx + calc_f1_pre 0x0, %ecx, %ebx, %edi, %edx + precalc0 0x80 + calc_f1_post %ecx, %esi, %edx +.endm + +.macro calc1 + calc_f1_pre 0x4, %edx, %ecx, %esi, %eax + precalc1 0x80 + calc_f1_post %edx, %ebx, %eax +.endm + +.macro calc2 + calc_f1_pre 0x8, %eax, %edx, %ebx, %edi + precalc2 %ymm15 + calc_f1_post %eax, %ecx, %edi +.endm + +.macro calc3 + calc_f1_pre 0xc, %edi, %eax, %ecx, %esi + calc_f1_post %edi, %edx, %esi +.endm + +.macro calc4 + calc_f1_pre 0x20, %esi, %edi, %edx, %ebx + precalc4 %ymm15, 0x0 + calc_f1_post %esi, %eax, %ebx +.endm + +.macro calc5 + calc_f1_pre 0x24, %ebx, %esi, %eax, %ecx + calc_f1_post %ebx, %edi, %ecx +.endm + +.macro calc6 + calc_f1_pre 0x28, %ecx, %ebx, %edi, %edx + calc_f1_post %ecx, %esi, %edx +.endm + +.macro calc7 + calc_f1_pre 0x2c, %edx, %ecx, %esi, %eax + precalc7 0x0 + calc_f1_post %edx, %ebx, %eax +.endm + +.macro calc8 + calc_f1_pre 0x40, %eax, %edx, %ebx, %edi + precalc0 0x90 + calc_f1_post %eax, %ecx, %edi +.endm + +.macro calc9 + calc_f1_pre 0x44, %edi, %eax, %ecx, %esi + precalc1 0x90 + calc_f1_post %edi, %edx, %esi +.endm + +.macro calc10 + calc_f1_pre 0x48, %esi, %edi, %edx, %ebx + precalc2 %ymm14 + calc_f1_post %esi, %eax, %ebx +.endm + +.macro calc11 + calc_f1_pre 0x4c, %ebx, %esi, %eax, %ecx + calc_f1_post %ebx, %edi, %ecx +.endm + +.macro calc12 + calc_f1_pre 0x60, %ecx, %ebx, %edi, %edx + precalc4 %ymm14, 0 + calc_f1_post %ecx, %esi, %edx +.endm + +.macro calc13 + calc_f1_pre 0x64, %edx, %ecx, %esi, %eax + calc_f1_post %edx, %ebx, %eax +.endm + +.macro calc14 + calc_f1_pre 0x68, %eax, %edx, %ebx, %edi + calc_f1_post %eax, %ecx, %edi +.endm + +.macro calc15 + calc_f1_pre 0x6c, %edi, %eax, %ecx, %esi + precalc7 0x10 + calc_f1_post %edi, %edx, %esi +.endm + +.macro calc16 + calc_f1_pre 0x80, %esi, %edi, %edx, %ebx + precalc0 0xa0 + calc_f1_post %esi, %eax, %ebx +.endm + +.macro calc17 + calc_f1_pre 0x84, %ebx, %esi, %eax, %ecx + precalc1 0xa0 + calc_f1_post %ebx, %edi, %ecx +.endm + +.macro calc18 + calc_f1_pre 0x88, %ecx, %ebx, %edi, %edx + precalc2 %ymm13 + calc_f1_post %ecx, %esi, %edx +.endm + +.macro calc_f2_pre offset, reg_a, reg_b, reg_e + add \offset(%r15), \reg_e + add \reg_b, \reg_e // add F from the previous round + rorx $0x1b, \reg_a, %r12d + rorx $2, \reg_a, \reg_b // for next round +.endm + +.macro calc_f2_post reg_a, reg_b, reg_c, reg_e + xor \reg_b, \reg_a + add %r12d, \reg_e + xor \reg_c, \reg_a +.endm + +.macro calc19 + calc_f2_pre 0x8c, %edx, %ecx, %eax + calc_f2_post %edx, %ebx, %esi, %eax +.endm + +.macro calc20 + calc_f2_pre 0xa0, %eax, %edx, %edi + precalc4 %ymm13, 0x0 + calc_f2_post %eax, %ecx, %ebx, %edi +.endm + +.macro calc21 + calc_f2_pre 0xa4, %edi, %eax, %esi + calc_f2_post %edi, %edx, %ecx, %esi +.endm + +.macro calc22 + calc_f2_pre 0xa8, %esi, %edi, %ebx + calc_f2_post %esi, %eax, %edx, %ebx +.endm + +.macro calc23 + calc_f2_pre 0xac, %ebx, %esi, %ecx + precalc7 0x20 + calc_f2_post %ebx, %edi, %eax, %ecx +.endm + +.macro calc24 + calc_f2_pre 0xc0, %ecx, %ebx, %edx + precalc0 0xb0 + calc_f2_post %ecx, %esi, %edi, %edx +.endm + +.macro calc25 + calc_f2_pre 0xc4, %edx, %ecx, %eax + precalc1 0xb0 + calc_f2_post %edx, %ebx, %esi, %eax +.endm + +.macro calc26 + calc_f2_pre 0xc8, %eax, %edx, %edi + precalc2 %ymm12 + calc_f2_post %eax, %ecx, %ebx, %edi +.endm + +.macro calc27 + calc_f2_pre 0xcc, %edi, %eax, %esi + calc_f2_post %edi, %edx, %ecx, %esi +.endm + +.macro calc28 + calc_f2_pre 0xe0, %esi, %edi, %ebx + precalc4 %ymm12, 0x0 + calc_f2_post %esi, %eax, %edx, %ebx +.endm + +.macro calc29 + calc_f2_pre 0xe4, %ebx, %esi, %ecx + calc_f2_post %ebx, %edi, %eax, %ecx +.endm + +.macro calc30 + calc_f2_pre 0xe8, %ecx, %ebx, %edx + calc_f2_post %ecx, %esi, %edi, %edx +.endm + +.macro calc31 + calc_f2_pre 0xec, %edx, %ecx, %eax + precalc7 0x30 + calc_f2_post %edx, %ebx, %esi, %eax +.endm + +.macro calc32 + calc_f2_pre 0x100, %eax, %edx, %edi + precalc16 %ymm15, %ymm14, %ymm12, %ymm8 + calc_f2_post %eax, %ecx, %ebx, %edi +.endm + +.macro calc33 + calc_f2_pre 0x104, %edi, %eax, %esi + precalc17 %ymm15, %ymm13, %ymm8 + calc_f2_post %edi, %edx, %ecx, %esi +.endm + +.macro calc34 + calc_f2_pre 0x108, %esi, %edi, %ebx + precalc18 %ymm8 + calc_f2_post %esi, %eax, %edx, %ebx +.endm + +.macro calc35 + calc_f2_pre 0x10c, %ebx, %esi, %ecx + precalc19 %ymm8 + calc_f2_post %ebx, %edi, %eax, %ecx +.endm + +.macro calc36 + calc_f2_pre 0x120, %ecx, %ebx, %edx + precalc20 %ymm8 + calc_f2_post %ecx, %esi, %edi, %edx +.endm + +.macro calc37 + calc_f2_pre 0x124, %edx, %ecx, %eax + precalc21 %ymm8 + calc_f2_post %edx, %ebx, %esi, %eax +.endm + +.macro calc38 + calc_f2_pre 0x128, %eax, %edx, %edi + calc_f2_post %eax, %ecx, %ebx, %edi +.endm + +.macro calc_f3_pre offset, reg_e + add \offset(%r15), \reg_e +.endm + +.macro calc_f3_post reg_a, reg_b, reg_c, reg_e, reg_tb + add \reg_tb, \reg_e // add F from the previous round + mov \reg_b, %ebp + or \reg_a, %ebp + rorx $0x1b, \reg_a, %r12d + rorx $2, \reg_a, \reg_tb + and \reg_c, %ebp // calculate F for the next round + and \reg_b, \reg_a + or %ebp, \reg_a + add %r12d, \reg_e +.endm + +.macro calc39 + calc_f3_pre 0x12c, %esi + precalc23 %ymm8, 0x0, 0x80 + calc_f3_post %edi, %edx, %ecx, %esi, %eax +.endm + +.macro calc40 + calc_f3_pre 0x140, %ebx + precalc16 %ymm14, %ymm13, %ymm8, %ymm7 + calc_f3_post %esi, %eax, %edx, %ebx, %edi +.endm + +.macro calc41 + calc_f3_pre 0x144, %ecx + precalc17 %ymm14, %ymm12, %ymm7 + calc_f3_post %ebx, %edi, %eax, %ecx, %esi +.endm + +.macro calc42 + calc_f3_pre 0x148, %edx + precalc18 %ymm7 + calc_f3_post %ecx, %esi, %edi, %edx, %ebx +.endm + +.macro calc43 + calc_f3_pre 0x14c, %eax + precalc19 %ymm7 + calc_f3_post %edx, %ebx, %esi, %eax, %ecx +.endm + +.macro calc44 + calc_f3_pre 0x160, %edi + precalc20 %ymm7 + calc_f3_post %eax, %ecx, %ebx, %edi, %edx +.endm + +.macro calc45 + calc_f3_pre 0x164, %esi + precalc21 %ymm7 + calc_f3_post %edi, %edx, %ecx, %esi, %eax +.endm + +.macro calc46 + calc_f3_pre 0x168, %ebx + calc_f3_post %esi, %eax, %edx, %ebx, %edi +.endm + +.macro calc47 + calc_f3_pre 0x16c, %ecx + vpxor %ymm9, %ymm0, %ymm7 + vpaddd 0x20(%r8), %ymm7, %ymm0 + vmovdqu %ymm0, 0xa0(%r14) + calc_f3_post %ebx, %edi, %eax, %ecx, %esi +.endm + +.macro calc48 + calc_f3_pre 0x180, %edx + precalc16 %ymm13, %ymm12, %ymm7, %ymm5 + calc_f3_post %ecx, %esi, %edi, %edx, %ebx +.endm + +.macro calc49 + calc_f3_pre 0x184, %eax + precalc17 %ymm13, %ymm8, %ymm5 + calc_f3_post %edx, %ebx, %esi, %eax, %ecx +.endm + +.macro calc50 + calc_f3_pre 0x188, %edi + precalc18 %ymm5 + calc_f3_post %eax, %ecx, %ebx, %edi, %edx +.endm + +.macro calc51 + calc_f3_pre 0x18c, %esi + precalc19 %ymm5 + calc_f3_post %edi, %edx, %ecx, %esi, %eax +.endm + +.macro calc52 + calc_f3_pre 0x1a0, %ebx + precalc20 %ymm5 + calc_f3_post %esi, %eax, %edx, %ebx, %edi +.endm + +.macro calc53 + calc_f3_pre 0x1a4, %ecx + precalc21 %ymm5 + calc_f3_post %ebx, %edi, %eax, %ecx, %esi +.endm + +.macro calc54 + calc_f3_pre 0x1a8, %edx + calc_f3_post %ecx, %esi, %edi, %edx, %ebx +.endm + +.macro calc55 + calc_f3_pre 0x1ac, %eax + precalc23 %ymm5, 0x20, 0xc0 + calc_f3_post %edx, %ebx, %esi, %eax, %ecx +.endm + +.macro calc56 + calc_f3_pre 0x1c0, %edi + precalc16 %ymm12, %ymm8, %ymm5, %ymm3 + calc_f3_post %eax, %ecx, %ebx, %edi, %edx +.endm + +.macro calc57 + calc_f3_pre 0x1c4, %esi + precalc17 %ymm12, %ymm7, %ymm3 + calc_f3_post %edi, %edx, %ecx, %esi, %eax +.endm + +.macro calc58 + calc_f3_pre 0x1c8, %ebx + precalc18 %ymm3 + calc_f3_post %esi, %eax, %edx, %ebx, %edi +.endm + +.macro calc59 + calc_f2_pre 0x1cc, %ebx, %esi, %ecx + precalc19 %ymm3 + calc_f2_post %ebx, %edi, %eax, %ecx +.endm + +.macro calc60 + calc_f2_pre 0x1e0, %ecx, %ebx, %edx + precalc20 %ymm3 + calc_f2_post %ecx, %esi, %edi, %edx +.endm + +.macro calc61 + calc_f2_pre 0x1e4, %edx, %ecx, %eax + precalc21 %ymm3 + calc_f2_post %edx, %ebx, %esi, %eax +.endm + +.macro calc62 + calc_f2_pre 0x1e8, %eax, %edx, %edi + calc_f2_post %eax, %ecx, %ebx, %edi +.endm + +.macro calc63 + calc_f2_pre 0x1ec, %edi, %eax, %esi + precalc23 %ymm3, 0x20, 0xe0 + calc_f2_post %edi, %edx, %ecx, %esi +.endm + +.macro calc64 + calc_f2_pre 0x200, %esi, %edi, %ebx + precalc32 %ymm5, %ymm3 + calc_f2_post %esi, %eax, %edx, %ebx +.endm + +.macro calc65 + calc_f2_pre 0x204, %ebx, %esi, %ecx + precalc33 %ymm14, %ymm15 + calc_f2_post %ebx, %edi, %eax, %ecx +.endm + +.macro calc66 + calc_f2_pre 0x208, %ecx, %ebx, %edx + precalc34 %ymm8 + calc_f2_post %ecx, %esi, %edi, %edx +.endm + +.macro calc67 + calc_f2_pre 0x20c, %edx, %ecx, %eax + precalc35 %ymm15 + calc_f2_post %edx, %ebx, %esi, %eax +.endm + +.macro calc68 + calc_f2_pre 0x220, %eax, %edx, %edi + precalc36 %ymm15 + calc_f2_post %eax, %ecx, %ebx, %edi *** 1002 LINES SKIPPED *** From nobody Wed May 14 23:40:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVFz65b0z5w0NR; Wed, 14 May 2025 23:40: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 4ZyVFz4pb7z3XlQ; Wed, 14 May 2025 23:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7TrtBzvsaamWu0HLcVgzNYYy+1Pj7qpc7MK7bgnbFU=; b=r5pYYR7v5KADtKe7eXQVVRL+2l13MpE7ZEk+bQgaPDG/SwZ79IFfjKgw3jv2ePZW9uqQV+ WhbZ3SDZ21T3oO5oLjInQpuzbcaCa1r/1N/Cv3psuEDVx3sFR/k2PmIQonbMqMBc/aoxTN oIixGhLqqorBuvDJj5TacjkcSslNJBrLzLBiN/KLNarbHVjuqdrnIQONX2eNqCUEV5lPrF GbkBEQDkYXcbv6LOyn4B8B0wMkkxFGNkM1JVZ4xwfEimK8xZqj7Ls+1i2w4iNkS9z027SF cEW90PCG8jYSqW0RLWXTJGnKF2FegLMP+tzP/Lgq7nlmOiCgbhg1LsHPou7dlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7TrtBzvsaamWu0HLcVgzNYYy+1Pj7qpc7MK7bgnbFU=; b=XlM2vNCUQSgV58N/OgOqAhkad4GtXbc5fC2l6AxyOSNMSvyL1nxbc/STdwXSH1uxcT3Cll +o6NiYK9gfj1YN6+wu/pUZPAIuS+9hE8CNGY6P6SLphUcqTVABJz7bSXSScZ/4h/uNNHJ/ 1SYLjbl7h08iNWoLfc2McwLaEW6RScxiKHtAiy2ad+w7UfgBq7zecpiTcjN7eiXF0WwQcJ w59E/wkJXQ5zVlGP31QKtpInSLNiSDCtztH6JBQOoFt0z/Nw2jDX1iyVDDjJl7Gip1RDqC 8KwsiVYYNF/vT+VXgy6BL4B1hyFiQWuoLdNrJz6aecZT/yir41Y2oU9nTZ6KJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747266039; a=rsa-sha256; cv=none; b=LKii6kSLbMQHi0pSF/Pp460YTdL5vbwh9iZFUi/DtbTsoBbWDyjJKh9hZMm1bz2HqmXsab OoeQV5xNivYpDWheSEfUJsz6MIU86E+UK1CmRjbGxpgXmg/Tqj6yCMaif+vA9q9lKxE/oD 0ouzExfGjtpxmqACi6YGfW4cBrQTnb4wf9HKZV71pvpO628NAzudVsPQjFCXK0+x+0kOsn Um2qcdPakToN3gyAZ6gHXeLNjMpu3RSKb4gP+vvKSEvrXZB2SDFxutImPWorSQKJtMCrCc kXjo3tV3BQLbD6Sh4Ddbzjyj/V+Cd3IfWOkS7udb3jeSFgDm4dtowsADD7kn6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVFz4K7YztDC; Wed, 14 May 2025 23:40: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 54ENedQR000203; Wed, 14 May 2025 23:40:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ENedfA000200; Wed, 14 May 2025 23:40:39 GMT (envelope-from git) Date: Wed, 14 May 2025 23:40:39 GMT Message-Id: <202505142340.54ENedfA000200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: f6210541f9e3 - main - lib/libmd: add optimised SHA1 implementations for aarch64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6210541f9e3c6cfda321e0ad98f277fb98a625b Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=f6210541f9e3c6cfda321e0ad98f277fb98a625b commit f6210541f9e3c6cfda321e0ad98f277fb98a625b Author: Robert Clausecker AuthorDate: 2025-05-14 19:18:12 +0000 Commit: Robert Clausecker CommitDate: 2025-05-14 23:39:58 +0000 lib/libmd: add optimised SHA1 implementations for aarch64 This provides a scalar implementation and one using the SHA1 instruction set extensions. For the scalar implementation, the w array is kept in registers, speeding up the whole operations. For a 10 GiB file on my Windows 2023 Dev Kit (ARM Cortex A78C / ARM Cortex X1C): Performance core: pre 43.1s (238 MB/s) generic 41.3s (247 MB/s) scalar 35.0s (293 MB/s) sha1 12.8s (800 MB/s) Efficiency core: pre 54.2s (189 MB/s) generic 55.9s (183 MB/s) scalar 43.0s (238 MB/s) sha1 16.2s (632 MB/s) Reviewed by: getz Differential Revision: https://reviews.freebsd.org/D45444 --- lib/libmd/aarch64/sha1block.S | 490 +++++++++++++++++++++++++++++++++++++++ lib/libmd/aarch64/sha1dispatch.c | 24 ++ 2 files changed, 514 insertions(+) diff --git a/lib/libmd/aarch64/sha1block.S b/lib/libmd/aarch64/sha1block.S new file mode 100644 index 000000000000..56a0297efadd --- /dev/null +++ b/lib/libmd/aarch64/sha1block.S @@ -0,0 +1,490 @@ +/*- + * Copyright (c) 2024 Robert Clausecker + * + * SPDX-License-Identifier: BSD-2-Clause + * + * sha1block_sha1 implementation based on sha1-arm.c, + * written and placed in public domain by Jeffrey Walton + * based on code from ARM, and by Johannes Schneiders, Skip + * Hovsmith and Barry O'Rourke for the mbedTLS project. + */ + +#include + +/* + * Scalar SHA1 implementation. + * + * Due to the ample register file available on AArch64, the w array is + * kept entirely in registers. The saved a-e variables are instead kept + * in memory as we don't have that much memory. + */ + + // sha1block(SHA1_CTX, buf, len) +ENTRY(_libmd_sha1block_scalar) +ctx .req x0 +buf .req x1 +len .req x2 +w .req sp +a .req w3 +b .req w4 +c .req w5 +d .req w6 +e .req w7 +k .req w8 +f .req w9 +tmp .req w10 +w_0 .req w11 +w_1 .req w12 +w_2 .req w13 +w_3 .req w14 +w_4 .req w15 +w_5 .req w16 +w_6 .req w17 +// w18 is the platform register +w_7 .req w19 +w_8 .req w20 +w_9 .req w21 +w_10 .req w22 +w_11 .req w23 +w_12 .req w24 +w_13 .req w25 +w_14 .req w26 +w_15 .req w27 + +.macro shuffle w_i, w_i3, w_i8, w_i14 + eor \w_i, \w_i, \w_i3 + eor tmp, \w_i8, \w_i14 + eor \w_i, \w_i, tmp // w[i-16] ^ w[i-14] ^ w[i-8] ^ w[i-3] + ror \w_i, \w_i, #31 // w[i] = ... ror #31 +.endm + +.macro func1 a, b, c, d, e + and f, \c, \b + bic tmp, \d, \b + orr f, f, tmp +.endm + +.macro func2 a, b, c, d, e + eor f, \b, \c + eor f, f, \d +.endm + +.macro func3 a, b, c, d, e + eor tmp, \b, \c + and f, \b, \c + and tmp, tmp, \d + orr f, f, tmp +.endm + +.macro func4 a, b, c, d, e + func2 \a, \b, \c, \d, \e +.endm + +.macro mix a, b, c, d, e, w_i + ror \b, \b, #2 + ror tmp, \a, #27 + add \e, \e, \w_i + add tmp, tmp, k + add \e, \e, f + add \e, \e, tmp // (a ror 27) + e + f + k + w[i] +.endm + +.macro round1 a, b, c, d, e, w_i + func1 \a, \b, \c, \d, \e + rev \w_i, \w_i + mix \a, \b, \c, \d, \e, \w_i +.endm + +.macro round func, a, b, c, d, e, w_i, w_i3, w_i8, w_i14 + shuffle \w_i, \w_i3, \w_i8, \w_i14 + \func \a, \b, \c, \d, \e + mix \a, \b, \c, \d, \e, \w_i +.endm + +.macro round1x a, b, c, d, e, w_i, w_i3, w_i8, w_i14 + round func1, \a, \b, \c, \d, \e, \w_i, \w_i3, \w_i8, \w_i14 +.endm + +.macro round2 a, b, c, d, e, w_i, w_i3, w_i8, w_i14 + round func2, \a, \b, \c, \d, \e, \w_i, \w_i3, \w_i8, \w_i14 +.endm + +.macro round3 a, b, c, d, e, w_i, w_i3, w_i8, w_i14 + round func3, \a, \b, \c, \d, \e, \w_i, \w_i3, \w_i8, \w_i14 +.endm + +.macro round4 a, b, c, d, e, w_i, w_i3, w_i8, w_i14 + round func4, \a, \b, \c, \d, \e, \w_i, \w_i3, \w_i8, \w_i14 +.endm + + ands len, len, #~63 // take length in multiples of block length + beq 1f // bail out if input empty + + sub sp, sp, #24+9*8 // allocate stack space + str x19, [sp, #24+0*8] + stp x20, x21, [sp, #24+1*8] + stp x22, x23, [sp, #24+3*8] + stp x24, x25, [sp, #24+5*8] + stp x26, x27, [sp, #24+7*8] + + ldp a, b, [ctx, #0] // load SHA1 state from context + ldp c, d, [ctx, #8] + ldr e, [ctx, #16] + +0: stp a, b, [sp, #0] // save old SHA1 state + stp c, d, [sp, #8] + str e, [sp, #16] + + movz k, #0x7999 // round constant 1 + movk k, #0x5a82, lsl #16 + + ldp w_0, w_1, [buf, #0*4] + round1 a, b, c, d, e, w_0 + round1 e, a, b, c, d, w_1 + + ldp w_2, w_3, [buf, #2*4] + round1 d, e, a, b, c, w_2 + round1 c, d, e, a, b, w_3 + + ldp w_4, w_5, [buf, #4*4] + round1 b, c, d, e, a, w_4 + round1 a, b, c, d, e, w_5 + + ldp w_6, w_7, [buf, #6*4] + round1 e, a, b, c, d, w_6 + round1 d, e, a, b, c, w_7 + + ldp w_8, w_9, [buf, #8*4] + round1 c, d, e, a, b, w_8 + round1 b, c, d, e, a, w_9 + + ldp w_10, w_11, [buf, #10*4] + round1 a, b, c, d, e, w_10 + round1 e, a, b, c, d, w_11 + + ldp w_12, w_13, [buf, #12*4] + round1 d, e, a, b, c, w_12 + round1 c, d, e, a, b, w_13 + + ldp w_14, w_15, [buf, #14*4] + round1 b, c, d, e, a, w_14 + round1 a, b, c, d, e, w_15 + + round1x e, a, b, c, d, w_0, w_13, w_8, w_2 + round1x d, e, a, b, c, w_1, w_14, w_9, w_3 + round1x c, d, e, a, b, w_2, w_15, w_10, w_4 + round1x b, c, d, e, a, w_3, w_0, w_11, w_5 + + movz k, #0xeba1 // round constant 2 + movk k, #0x6ed9, lsl #16 + + round2 a, b, c, d, e, w_4, w_1, w_12, w_6 + round2 e, a, b, c, d, w_5, w_2, w_13, w_7 + round2 d, e, a, b, c, w_6, w_3, w_14, w_8 + round2 c, d, e, a, b, w_7, w_4, w_15, w_9 + round2 b, c, d, e, a, w_8, w_5, w_0, w_10 + + round2 a, b, c, d, e, w_9, w_6, w_1, w_11 + round2 e, a, b, c, d, w_10, w_7, w_2, w_12 + round2 d, e, a, b, c, w_11, w_8, w_3, w_13 + round2 c, d, e, a, b, w_12, w_9, w_4, w_14 + round2 b, c, d, e, a, w_13, w_10, w_5, w_15 + + round2 a, b, c, d, e, w_14, w_11, w_6, w_0 + round2 e, a, b, c, d, w_15, w_12, w_7, w_1 + round2 d, e, a, b, c, w_0, w_13, w_8, w_2 + round2 c, d, e, a, b, w_1, w_14, w_9, w_3 + round2 b, c, d, e, a, w_2, w_15, w_10, w_4 + + round2 a, b, c, d, e, w_3, w_0, w_11, w_5 + round2 e, a, b, c, d, w_4, w_1, w_12, w_6 + round2 d, e, a, b, c, w_5, w_2, w_13, w_7 + round2 c, d, e, a, b, w_6, w_3, w_14, w_8 + round2 b, c, d, e, a, w_7, w_4, w_15, w_9 + + movz k, #0xbcdc // round constant 3 + movk k, #0x8f1b, lsl #16 + + round3 a, b, c, d, e, w_8, w_5, w_0, w_10 + round3 e, a, b, c, d, w_9, w_6, w_1, w_11 + round3 d, e, a, b, c, w_10, w_7, w_2, w_12 + round3 c, d, e, a, b, w_11, w_8, w_3, w_13 + round3 b, c, d, e, a, w_12, w_9, w_4, w_14 + + round3 a, b, c, d, e, w_13, w_10, w_5, w_15 + round3 e, a, b, c, d, w_14, w_11, w_6, w_0 + round3 d, e, a, b, c, w_15, w_12, w_7, w_1 + round3 c, d, e, a, b, w_0, w_13, w_8, w_2 + round3 b, c, d, e, a, w_1, w_14, w_9, w_3 + + round3 a, b, c, d, e, w_2, w_15, w_10, w_4 + round3 e, a, b, c, d, w_3, w_0, w_11, w_5 + round3 d, e, a, b, c, w_4, w_1, w_12, w_6 + round3 c, d, e, a, b, w_5, w_2, w_13, w_7 + round3 b, c, d, e, a, w_6, w_3, w_14, w_8 + + round3 a, b, c, d, e, w_7, w_4, w_15, w_9 + round3 e, a, b, c, d, w_8, w_5, w_0, w_10 + round3 d, e, a, b, c, w_9, w_6, w_1, w_11 + round3 c, d, e, a, b, w_10, w_7, w_2, w_12 + round3 b, c, d, e, a, w_11, w_8, w_3, w_13 + + movz k, #0xc1d6 // round constant 4 + movk k, #0xca62, lsl #16 + + round4 a, b, c, d, e, w_12, w_9, w_4, w_14 + round4 e, a, b, c, d, w_13, w_10, w_5, w_15 + round4 d, e, a, b, c, w_14, w_11, w_6, w_0 + round4 c, d, e, a, b, w_15, w_12, w_7, w_1 + round4 b, c, d, e, a, w_0, w_13, w_8, w_2 + + round4 a, b, c, d, e, w_1, w_14, w_9, w_3 + round4 e, a, b, c, d, w_2, w_15, w_10, w_4 + round4 d, e, a, b, c, w_3, w_0, w_11, w_5 + round4 c, d, e, a, b, w_4, w_1, w_12, w_6 + round4 b, c, d, e, a, w_5, w_2, w_13, w_7 + + round4 a, b, c, d, e, w_6, w_3, w_14, w_8 + round4 e, a, b, c, d, w_7, w_4, w_15, w_9 + round4 d, e, a, b, c, w_8, w_5, w_0, w_10 + round4 c, d, e, a, b, w_9, w_6, w_1, w_11 + round4 b, c, d, e, a, w_10, w_7, w_2, w_12 + + round4 a, b, c, d, e, w_11, w_8, w_3, w_13 + round4 e, a, b, c, d, w_12, w_9, w_4, w_14 + round4 d, e, a, b, c, w_13, w_10, w_5, w_15 + round4 c, d, e, a, b, w_14, w_11, w_6, w_0 + round4 b, c, d, e, a, w_15, w_12, w_7, w_1 + + ldp w_0, w_1, [sp, #0] // reload saved SHA1 state + ldp w_2, w_3, [sp, #8] + ldr w_4, [sp, #16] + + add a, a, w_0 + add b, b, w_1 + add c, c, w_2 + add d, d, w_3 + add e, e, w_4 + + add buf, buf, #64 + subs len, len, #64 + bhi 0b + + stp a, b, [ctx, #0] // write updated SHA1 state + stp c, d, [ctx, #8] + str e, [ctx, #16] + + ldr x19, [sp, #24+0*8] + ldp x20, x21, [sp, #24+1*8] + ldp x22, x23, [sp, #24+3*8] + ldp x24, x25, [sp, #24+5*8] + ldp x26, x27, [sp, #24+7*8] + add sp, sp, #24+9*8 + +1: ret +END(_libmd_sha1block_scalar) + +/* + * SHA1 implementation using the SHA1 instruction set extension. + */ + + .arch_extension sha2 + + // sha1block(SHA1_CTX, buf, len) +ENTRY(_libmd_sha1block_sha1) + /* ctx, buf, len: same as for sha1block_scalar */ +kaddr .req x3 +abcd .req v0 +abcd_q .req q0 // alias for use with scalar instructions +abcd_s .req s0 +e0 .req s1 +e0_v .req v1 +e1 .req s2 +abcd_saved .req v3 +e0_saved .req v4 +tmp0 .req v5 +tmp1 .req v6 +msg0 .req v16 +msg1 .req v17 +msg2 .req v18 +msg3 .req v19 +k0 .req v20 +k1 .req v21 +k2 .req v22 +k3 .req v23 + + ands len, len, #~63 // take length in multiples of block length + beq 1f // bail out if input empty + + ldr abcd_q, [ctx, #0] + ldr e0, [ctx, #16] + + adrp kaddr, k1234 + add kaddr, kaddr, #:lo12:k1234 + ld4r {k0.4s, k1.4s, k2.4s, k3.4s}, [kaddr] + +0: mov abcd_saved.16b, abcd.16b + mov e0_saved.16b, e0_v.16b + + ld1 {msg0.4s, msg1.4s, msg2.4s, msg3.4s}, [buf], #64 + rev32 msg0.16b, msg0.16b + rev32 msg1.16b, msg1.16b + rev32 msg2.16b, msg2.16b + rev32 msg3.16b, msg3.16b + + add tmp0.4s, msg0.4s, k0.4s + add tmp1.4s, msg1.4s, k0.4s + + /* rounds 0--3 */ + sha1h e1, abcd_s + sha1c abcd_q, e0, tmp0.4s + add tmp0.4s, msg2.4s, k0.4s + sha1su0 msg0.4s, msg1.4s, msg2.4s + + /* rounds 4--7 */ + sha1h e0, abcd_s + sha1c abcd_q, e1, tmp1.4s + add tmp1.4s, msg3.4s, k0.4s + sha1su1 msg0.4s, msg3.4s + sha1su0 msg1.4s, msg2.4s, msg3.4s + + /* rounds 8--11 */ + sha1h e1, abcd_s + sha1c abcd_q, e0, tmp0.4s + add tmp0.4s, msg0.4s, k0.4s + sha1su1 msg1.4s, msg0.4s + sha1su0 msg2.4s, msg3.4s, msg0.4s + + /* rounds 12--15 */ + sha1h e0, abcd_s + sha1c abcd_q, e1, tmp1.4s + add tmp1.4s, msg1.4s, k1.4s + sha1su1 msg2.4s, msg1.4s + sha1su0 msg3.4s, msg0.4s, msg1.4s + + /* rounds 16--19 */ + sha1h e1, abcd_s + sha1c abcd_q, e0, tmp0.4s + add tmp0.4s, msg2.4s, k1.4s + sha1su1 msg3.4s, msg2.4s + sha1su0 msg0.4s, msg1.4s, msg2.4s + + /* rounds 20--23 */ + sha1h e0, abcd_s + sha1p abcd_q, e1, tmp1.4s + add tmp1.4s, msg3.4s, k1.4s + sha1su1 msg0.4s, msg3.4s + sha1su0 msg1.4s, msg2.4s, msg3.4s + + /* rounds 24--27 */ + sha1h e1, abcd_s + sha1p abcd_q, e0, tmp0.4s + add tmp0.4s, msg0.4s, k1.4s + sha1su1 msg1.4s, msg0.4s + sha1su0 msg2.4s, msg3.4s, msg0.4s + + /* rounds 28--31 */ + sha1h e0, abcd_s + sha1p abcd_q, e1, tmp1.4s + add tmp1.4s, msg1.4s, k1.4s + sha1su1 msg2.4s, msg1.4s + sha1su0 msg3.4s, msg0.4s, msg1.4s + + /* rounds 32--35 */ + sha1h e1, abcd_s + sha1p abcd_q, e0, tmp0.4s + add tmp0.4s, msg2.4s, k2.4s + sha1su1 msg3.4s, msg2.4s + sha1su0 msg0.4s, msg1.4s, msg2.4s + + /* rounds 36--39 */ + sha1h e0, abcd_s + sha1p abcd_q, e1, tmp1.4s + add tmp1.4s, msg3.4s, k2.4s + sha1su1 msg0.4s, msg3.4s + sha1su0 msg1.4s, msg2.4s, msg3.4s + + /* rounds 40--43 */ + sha1h e1, abcd_s + sha1m abcd_q, e0, tmp0.4s + add tmp0.4s, msg0.4s, k2.4s + sha1su1 msg1.4s, msg0.4s + sha1su0 msg2.4s, msg3.4s, msg0.4s + + /* rounds 44--47 */ + sha1h e0, abcd_s + sha1m abcd_q, e1, tmp1.4s + add tmp1.4s, msg1.4s, k2.4s + sha1su1 msg2.4s, msg1.4s + sha1su0 msg3.4s, msg0.4s, msg1.4s + + /* rounds 48--51 */ + sha1h e1, abcd_s + sha1m abcd_q, e0, tmp0.4s + add tmp0.4s, msg2.4s, k2.4s + sha1su1 msg3.4s, msg2.4s + sha1su0 msg0.4s, msg1.4s, msg2.4s + + /* rounds 52--55 */ + sha1h e0, abcd_s + sha1m abcd_q, e1, tmp1.4s + add tmp1.4s, msg3.4s, k3.4s + sha1su1 msg0.4s, msg3.4s + sha1su0 msg1.4s, msg2.4s, msg3.4s + + /* rounds 56--59 */ + sha1h e1, abcd_s + sha1m abcd_q, e0, tmp0.4s + add tmp0.4s, msg0.4s, k3.4s + sha1su1 msg1.4s, msg0.4s + sha1su0 msg2.4s, msg3.4s, msg0.4s + + /* rounds 60--63 */ + sha1h e0, abcd_s + sha1p abcd_q, e1, tmp1.4s + add tmp1.4s, msg1.4s, k3.4s + sha1su1 msg2.4s, msg1.4s + sha1su0 msg3.4s, msg0.4s, msg1.4s + + /* rounds 64--67 */ + sha1h e1, abcd_s + sha1p abcd_q, e0, tmp0.4s + add tmp0.4s, msg2.4s, k3.4s + sha1su1 msg3.4s, msg2.4s + sha1su0 msg0.4s, msg1.4s, msg2.4s + + /* rounds 68--71 */ + sha1h e0, abcd_s + sha1p abcd_q, e1, tmp1.4s + add tmp1.4s, msg3.4s, k3.4s + sha1su1 msg0.4s, msg3.4s + + /* rounds 72--75 */ + sha1h e1, abcd_s + sha1p abcd_q, e0, tmp0.4s + + /* rounds 76--79 */ + sha1h e0, abcd_s + sha1p abcd_q, e1, tmp1.4s + + add e0_v.4s, e0_v.4s, e0_saved.4s + add abcd.4s, abcd.4s, abcd_saved.4s + + subs len, len, #64 + bhi 0b + + str abcd_q, [ctx, #0] + str e0, [ctx, #16] + +1: ret +END(_libmd_sha1block_sha1) + + .section .rodata + .balign 16 +k1234: .4byte 0x5a827999 + .4byte 0x6ed9eba1 + .4byte 0x8f1bbcdc + .4byte 0xca62c1d6 + .size k1234, .-k1234 + + .section .note.GNU-stack,"",%progbits diff --git a/lib/libmd/aarch64/sha1dispatch.c b/lib/libmd/aarch64/sha1dispatch.c new file mode 100644 index 000000000000..e34bf0a1a344 --- /dev/null +++ b/lib/libmd/aarch64/sha1dispatch.c @@ -0,0 +1,24 @@ +/*- + * Copyright (c) 2024 Robert Clausecker + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include + +extern void _libmd_sha1block_scalar(SHA1_CTX *, const void *, size_t); +extern void _libmd_sha1block_sha1(SHA1_CTX *, const void *, size_t); + +DEFINE_IFUNC(, void, sha1_block, (SHA1_CTX *, const void *, size_t)) +{ + unsigned long hwcap = 0; + + elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap)); + + if (hwcap & HWCAP_SHA1) + return (_libmd_sha1block_sha1); + else + return (_libmd_sha1block_scalar); +} From nobody Wed May 14 23:54:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVYf4FFbz5w1WK; Wed, 14 May 2025 23:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyVYf3Cxqz3kNc; Wed, 14 May 2025 23:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8zm+JIW9/5txA8xUcMNTYXohusc/pC0TkJvG7pdS5ak=; b=NbVQi04aBJQYM09HtxpJowF6gicBBMDIPgR03nxlwNG1gMP8+/PNzOwPq/BA+60Iy/1v+F Jm3GZzdxqzTJVuhU4kOlmqXgVpRgYQi+1evCrJ8tBni5ypv6Z8j7zy8u2TSOw4qQlw3uBN kSq41yHilx6p6pWvNFjWKt6kyosu9gtWhaWXbxZkcNziTAcjirSYfVqKjLXOimODdqKNKi /QrOb5OfeuO7Clw4aRAS/zGIWHQxA/BuUFNbwjQh+oGtDvnGQ1s6FGAwVXMrM3TCjdsHyI A5H5fCR+D/f1t5nqul+N8zkE2ASWxGeDy6vYHuI38GalZGJ6cj9Yc8oHewq7Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8zm+JIW9/5txA8xUcMNTYXohusc/pC0TkJvG7pdS5ak=; b=dbHbt+hrbXrDqNFUVK7yrmi6CTwk2o9cYUYAvRzMqFl12o+Qeqwl5WLue8zZsjrEoBNE2i yv5JQw4Wj15LYFi0kaDdAX1xhu0UxWuqOFR0zf6ofsp0W4mf3VvV+gQ71yNSY7QhtbQI9z CX++5Ot7yyIUEyXOqUxhB0XoXjgYIbqzfswg9XtrQV3+NFW5zeIaRINzjp6Awpp/+7lOwn 5yBOkXJEAVHseyc07BCyjxWim0kZ2G/OrMKQtWmFkPM+VshppRp5UAdvQKEY2Cfiz1ZL1x EUj+PwIskqWuPVJp9/h29S3Lv6vCukSxtcQTEEEYvz9M3aMdxOe6HxlwB0dcAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747266854; a=rsa-sha256; cv=none; b=egd/cdr27nkKO5y9ByIoc3MquBatMHETPPSwrz9jZhzhyZFGlfQlu9jxUxzIIjYbRbMUUG qRrWSUpkSh/r20Nhb2XI61bhfHRTV9u1hSQ+F091tfwmHHQMCD6XC2GMP8DM4Jqxsj/lHQ vFWYGgTrrZgcAvwjj43MUQbs1H/IuBjnI5EYMI0ST6741OrsrTvusGo9H4UKVI2dB3DVJo 7nO+C39MKgGUhMe4re2PfZMqkDXsRdW577aYzNlVDDzzvGEMPRajiTivuvA2wTOMCpHkCR PfdJYfxyczhzWnd6IfHiI/hHV/UQlzmcEd8F9UIUaWofsDlDlibFoX6H/ZasLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVYf2mWPztnf; Wed, 14 May 2025 23:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54ENsEOQ026557; Wed, 14 May 2025 23:54:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ENsE7U026554; Wed, 14 May 2025 23:54:14 GMT (envelope-from git) Date: Wed, 14 May 2025 23:54:14 GMT Message-Id: <202505142354.54ENsE7U026554@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 9a685c09f06a - main - EC2: Remove old broken_txfifo workaround List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a685c09f06a55b18589d75f9307563d84a17fa9 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9a685c09f06a55b18589d75f9307563d84a17fa9 commit 9a685c09f06a55b18589d75f9307563d84a17fa9 Author: Colin Percival AuthorDate: 2025-05-14 23:36:26 +0000 Commit: Colin Percival CommitDate: 2025-05-14 23:54:04 +0000 EC2: Remove old broken_txfifo workaround Early versions of Xen, including those used in the early days of EC2, had a bug in their UART emulation whereby the TX FIFO wouldn't send the expected interrupt when emptying; as a result, FreeBSD would write 16 characters to the serial console and then stop because we thought the FIFO was forever full. In 2013 (1c60b24baa50) I added a loader tunable "hw.broken_txfifo" which spinwaits for the FIFO TX rather than relying on the interrupt, and enabled this in loader.conf in EC2 images. A decade later, this workaround is almost certainly no longer needed in EC2 -- most instances don't run Xen, and the bug was long since fixed in Xen anyway -- but we've been holding on to the workaround "just in case". Unfortunately, the spinwait behaviour is causing latency spikes and triggering warnings from the ena(4) driver. This commit removes the hw.broken_txfifo setting from loader.conf in EC2 images, but leaves the loader tunable and associated code, since it has been necessary in some other environments. (It seems that the TX FIFO missing-interrupts bug has been independently written at least three times!) MFC after: 1 minute Sponsored by: Amazon --- release/tools/ec2.conf | 5 ----- 1 file changed, 5 deletions(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index d6cb85959183..ef7a603efea9 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -65,11 +65,6 @@ ec2_common() { # screenshot") which was introduced in 2016. echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf - # Some older EC2 hardware used a version of Xen with a bug in its - # emulated serial port. It is not clear if EC2 still has any such - # nodes, but apply the workaround just in case. - echo 'hw.broken_txfifo="1"' >> ${DESTDIR}/boot/loader.conf - # Graviton 1 through Graviton 4 have a bug in their ACPI where they # mark the PL061's pins as needing to be configured in PullUp mode # (in fact the PL061 has no pullup/pulldown resistors). Graviton 1 From nobody Wed May 14 23:57:45 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVdj61brz5w1VF; Wed, 14 May 2025 23:57: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 4ZyVdj5V8Tz3mdh; Wed, 14 May 2025 23:57:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ijAbNV0rr2gf43UuyHVzwXJzvFF5G2//VF53/arhTA8=; b=Pee8vuHijGGNyatWTfQV9HOJyYU2tyw+TFaQGsS7JoslN6yzQTMnkRNtAE2DhtPU5Lqn7z Sh9ZI4OdMZXYKRK7u9ml/1iQY3Hferhy79WN1gJLCrH2keKf6fkDS2NP9+XH/VDG0l7AqR IL2KCzEsKDgiQUnjIEuS7XPQaM7tifZvj3qdwjanBBKI+eRauPqX9TaVyJSO6qkoYZ04i5 L/9mjeLpspZDes+Or1QZbe7IkzumJHU1Na/6JchfUtO81CD6DltXnxlLwoWR7GmoLv5brK YEJoqzy2AsNzIq+bdugwLNKgViVVYMu9MaXHJB8rnuRzjmk6Xc1XnK2Bveooig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ijAbNV0rr2gf43UuyHVzwXJzvFF5G2//VF53/arhTA8=; b=q4OeqPeukGPM4ei5Ebr/3Oy5upZ1KbJYaDshFLWYu3D0k9C630gV9q6p2GYr7N8fi3ZeSY YZRZMBAq2BNZNX0OPC1kY+abW7JnmdIhFJ5a8kB6qGqSBZPWN73N6dhj5qh43LYqTdv20H +5V990tNMIEWhaKnItdeOeLNgN2fhocTuolEYCB+MljFjMcAnoDQ21RsJ0NSlsbest+eRl SqfnePr771DGXoZtqWrQpR6pVoWi81gJXSZVoBX3UgTnGLAFYAEZxfMbNXR1DRmvCnm7an 2NG/ZcUv7HA4V4wTxXMsZeKA1/T5U22uM3mVAUN+oeOIJvcou9SqWwRpL7u0GQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267065; a=rsa-sha256; cv=none; b=TZw9vFvrJ7g/0ZUh1VpX0Z36BUq8qEvIbjkN1tkRgUlAbr40n3lUevZxVYLyyeSb3S+zQf 3obhSpYN6wZY804VBMyQcdoAYHq8Va4tpZu8Rp3n9q2HAFfMtWZcLAmatdDxbDSAiMWmmk 7Ov8uvnxbArrmCgG9TgzuqIF39wIwEMSAu5tUi1bOwnS14HAEtvvNgRJsoL3AZSv9EgA3X Xi9Jp2fRcA7BpLKtCToVjz66dZBFfnFF+JeXZV8rRUGsxWGzytabKs1zYyOTcBxBaoAmow dXahe0Xe5GKt/gbsOGfH0hVhyfnzkJcqG08lCl7z95DarvHPHSG8pHh3K6rteg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVdj4YD1ztng; Wed, 14 May 2025 23:57: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 54ENvj1o027813; Wed, 14 May 2025 23:57:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ENvjcB027810; Wed, 14 May 2025 23:57:45 GMT (envelope-from git) Date: Wed, 14 May 2025 23:57:45 GMT Message-Id: <202505142357.54ENvjcB027810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: cb205f5ed808 - main - pctrie_lookup_range: don't write the null List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb205f5ed80867be747335e98cffad75873ba60b Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=cb205f5ed80867be747335e98cffad75873ba60b commit cb205f5ed80867be747335e98cffad75873ba60b Author: Doug Moore AuthorDate: 2025-05-14 23:56:34 +0000 Commit: Doug Moore CommitDate: 2025-05-14 23:56:34 +0000 pctrie_lookup_range: don't write the null There's no reason to write the NULL pointer value into the array when pctrie_lookup_range finds an item missing. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D50353 --- sys/kern/subr_pctrie.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index e91966652f80..67566a2d1bfe 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -617,16 +617,16 @@ _pctrie_lookup_range(struct pctrie *ptree, struct pctrie_node *node, struct pctrie_node **parent_out, smr_t smr, enum pctrie_access access) { struct pctrie_node *parent; + uint64_t *val; int base, end, i; parent = node; for (i = 0; i < count;) { node = _pctrie_lookup_node(ptree, parent, index + i, &parent, smr, access); - value[i] = pctrie_match_value(node, index + i); - if (value[i] == NULL) + if ((val = pctrie_match_value(node, index + i)) == NULL) break; - ++i; + value[i++] = val; base = (index + i) % PCTRIE_COUNT; if (base == 0 || parent == NULL || parent->pn_clev != 0) continue; @@ -634,10 +634,9 @@ _pctrie_lookup_range(struct pctrie *ptree, struct pctrie_node *node, while (i < end) { node = pctrie_node_load(&parent->pn_child[base++], smr, access); - value[i] = pctrie_toval(node); - if (value[i] == NULL) + if ((val = pctrie_toval(node)) == NULL) break; - ++i; + value[i++] = val; } if (i < end) break; From nobody Thu May 15 00:04:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVn9238Tz5w1mj; Thu, 15 May 2025 00:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyVn916d4z3qQw; Thu, 15 May 2025 00:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Ag1ApSJsMj3tbYKtR1n/4Cffn4CXtjDQ3b8xvh8gVg=; b=jeq7G+rLWtzK/dHUz2KqJ94TWza12adUblrELh/2sid4JO4VbWpua4tZxz44xhlqzZf0SR X9RHITkZwiTYC1Y2KanZz1q3K4VqgCPkgaQhF94CCRE4bH/PhF1sl62gM0vZF1NBjOWdSa qpCC/u4VDlE78/C8Vb8kxfgsj/Dr8w6jITGj2oRRahZxM4AdGKkGCfWm1h+Cz1cW5n5iOR T7RspVilMkfXasOuH5zpjrbQL+JJxjBLZ69A7+OWcWlSiEyd8hRB5pQDKqaNh+aJdj5AOA rPPBzmoxUpB2GwjPnnSSzBJ6unIwwQkBVm7o2Bj4ly/vxXlVJ6YzIJE+ZLtgsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Ag1ApSJsMj3tbYKtR1n/4Cffn4CXtjDQ3b8xvh8gVg=; b=vSxlK06wl3szaIps6YwAjzWQTbzFDQGIg+gfLNtud8m7znZennEn0sxTqBArrkZpU7RODT JsM29qFiAhEw0MjqqZsN7f7kUK2Z6H2GcM7J5ciocRjvMWNhaEGBaJarjYv53rAqB+un5n sjM69Zpn8K/ePlfYzxjwvYLi4JXjz70Y0sN570xCoJBKrkahIE+2SGq/XkmawZ23koUuBj 6gJWVLkJqEecEtK0rtaP0n3bcHNOHarnAyWY57AV0hQ/2ok+neRuJfmXPjSHKX3N93NL8G g+o0yPEZUPYwNvleZLujDqZzqGYI4d8oZ4acYBQHyq8csPjhtMNkMLxDVkG4Lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267453; a=rsa-sha256; cv=none; b=mmHG8hHxRtQ6mv+N8ZrVM2PXz2Yp4NZ7RdCgxFw4TWPU0s4cTT8eRLkZ9t7qdF9TrbyZED WiVY5SX5o0CAi8XZwPsv9y5/70obuiHwkbjxBm8DiC4UXpwzMw5Jtl7tfrILgIrLeMQbW4 fLnm7TKjp3ClvvW5KD5jrnE/73Nr+ZThBWlvcwDe2hYDpJPUJ0aI5nZlb7XQmsgtg6wQ4K n4Kw5XZw8s7nepnQdpdF3bEphNExWyF2uZf/5/yhMOYrIzs+mmTg54VDiZpiGfmIUthnCm RllbGHsebXnHflZJ2HCphFj1uB6/jyuOUHaqYztEP4WNIn8Z0MR+AT45qxhxBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVn90d69zv1T; Thu, 15 May 2025 00:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54F04CRk046829; Thu, 15 May 2025 00:04:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04C7V046826; Thu, 15 May 2025 00:04:12 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:12 GMT Message-Id: <202505150004.54F04C7V046826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 2b05168eb864 - main - periodic: move some periodic scripts to their packages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2b05168eb8647262da7ce3506a3599b8be966845 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=2b05168eb8647262da7ce3506a3599b8be966845 commit 2b05168eb8647262da7ce3506a3599b8be966845 Author: Lexi Winter AuthorDate: 2025-05-14 12:14:58 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 periodic: move some periodic scripts to their packages Periodic scripts for rwho, geom, zfs and tcpwrappers are only relevant if those packages are installed, so move them to the appropriate package. Reviewed by: manu, des, emaste Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50341 --- usr.sbin/periodic/etc/daily/Makefile | 32 ++++++++++++++++++++------------ usr.sbin/periodic/etc/security/Makefile | 4 +++- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/usr.sbin/periodic/etc/daily/Makefile b/usr.sbin/periodic/etc/daily/Makefile index d1b000df01e4..c92b4ed8a6ee 100644 --- a/usr.sbin/periodic/etc/daily/Makefile +++ b/usr.sbin/periodic/etc/daily/Makefile @@ -7,17 +7,9 @@ CONFGROUPS= CONFS CONFS= 100.clean-disks \ 110.clean-tmps \ 120.clean-preserve \ - 140.clean-rwho \ 200.backup-passwd \ 210.backup-aliases \ - 221.backup-gpart \ - 222.backup-gmirror \ 400.status-disks \ - 401.status-graid \ - 406.status-gmirror \ - 407.status-graid3 \ - 408.status-gstripe \ - 409.status-gconcat \ 410.status-mfi \ 420.status-network \ 430.status-uptime \ @@ -25,6 +17,20 @@ CONFS= 100.clean-disks \ 510.status-world-kernel \ 999.local +CONFGROUPS+= GEOM +GEOM+= 221.backup-gpart \ + 222.backup-gmirror \ + 401.status-graid \ + 406.status-gmirror \ + 407.status-graid3 \ + 408.status-gstripe \ + 409.status-gconcat +GEOMPACKAGE= geom + +CONFGROUPS+= RCMDS +RCMDS+= 140.clean-rwho +RCMDSPACKAGE= rcmds + # NB: keep these sorted by MK_* knobs .if ${MK_ACCT} != "no" @@ -60,10 +66,12 @@ SENDMAILPACKAGE= sendmail .endif .if ${MK_ZFS} != "no" -CONFS+= 223.backup-zfs \ - 404.status-zfs \ - 800.scrub-zfs \ - 801.trim-zfs +CONFGROUPS+= ZFS +ZFS+= 223.backup-zfs \ + 404.status-zfs \ + 800.scrub-zfs \ + 801.trim-zfs +ZFSPACKAGE= zfs .endif .include diff --git a/usr.sbin/periodic/etc/security/Makefile b/usr.sbin/periodic/etc/security/Makefile index 4c6b39d9062d..c153523d7c39 100644 --- a/usr.sbin/periodic/etc/security/Makefile +++ b/usr.sbin/periodic/etc/security/Makefile @@ -40,7 +40,9 @@ PFPACKAGE= pf .endif .if ${MK_INETD} != "no" && ${MK_TCP_WRAPPERS} != "no" -CONFS+= 900.tcpwrap +CONFGROUPS+= TCPWRAP +TCPWRAP+= 900.tcpwrap +TCPWRAPPACKAGE= tcpd .endif .include From nobody Thu May 15 00:04:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnB6r3Jz5w1jK; Thu, 15 May 2025 00:04:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyVnB2BKtz3qWT; Thu, 15 May 2025 00:04:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YNVYhb+a7++9OK9xmFQ1J2XZ8uZ+xFgeosLvWWf41FY=; b=XGwhl6eC1a7ZRKOEWG+NCaGUNRQ5cRE+O5SzFxZGKL3dZ+mb5PFDUKxLD1E/Kpro9tx0bB hHM+riA28665ENG7tnbOuJFRudRPwSj2zpJO2RKVtkh1qjRRDrn54o/f6BGbrhYgudc/rf qTDNdAP0yJb+gPdUckfveWMRftdb5JmfVnNNTxQvDgAhXiZyG6cBmQV+IymfeTz40rvlxv +zCKneV7IR7BKUCETW+Qi2pjfeJ2FSPURQU4x7cXswj3kcrQAum0bZEvDtmvz9s4l6IlPp a7LcAb1bTkn+sfLVMkqpGIJAYw84kSX2pLGbY2kDQFO9ih3Rz69vbdEttCFRXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YNVYhb+a7++9OK9xmFQ1J2XZ8uZ+xFgeosLvWWf41FY=; b=fo7KkJkTHiIPD8LqQ0LmPFow/+BtZbN2G8B1i2u9xOxlg4ksN5ktYRObNEBSsNveq1xhHT Ln2S2yK2xsl1JDNUOAld6jMYm61DX4lAIHcushmOpLBCIxlwxfUI3uU0Jn4R3sgODGD+gO iiOAAo2XWMmgvCPGRejubCJIkg3XH0j+C0YU1uMWCn6yphtUcwM58JV258A141ZUrWSP4o a4I46u7qEZ5v5tWLaI2BCPm4TzQ9DfcIvglRfKleSUDMku0T/DxQalat06WSa08CoQhDQm W/jqFS743LuFD6fq5c9K93sQM3WuMmogVwh15M7dqJ5VU0YtkqCiAG56gjYmiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267454; a=rsa-sha256; cv=none; b=EAjvragleYWoTjyJaU40oTavUbtgr2GuZL++CvT8/4NUi+9XZdgRjMbIoZDpihmoqO0Gj7 B7f0hhA3Ey19ZBd8Q86gDdMZrZFt0M+Qipx/XUiQTTE445gUZsyF1+1JvUgfD39BJLSKNH 8CQqls2sPr6n8t1NCgwq9DEPg6UX5PAZUaGkIzUGnxKvYFzdXVUhITMqPNhTaq7Dl5dLR0 jQCZdC0bEc0SBb/5+5vYoNkNsKei9yZsDWHAN8sQAWU9XayDfP/Y+bulU135f7Bpa5gWDr 3khsrYqo65FOg0TRZaSzrz4dB1NRGKvYw6V6YYDz3Hy3KHWXw3iAmW6GZvMHPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnB1l4BzvDm; Thu, 15 May 2025 00:04:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54F04E9N046863; Thu, 15 May 2025 00:04:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04ETi046860; Thu, 15 May 2025 00:04:14 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:14 GMT Message-Id: <202505150004.54F04ETi046860@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 7a8747f53498 - main - libpam: provide a real /etc/pam.d/ftp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7a8747f53498fe2e3ff0f87ce2a184316b115ae5 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=7a8747f53498fe2e3ff0f87ce2a184316b115ae5 commit 7a8747f53498fe2e3ff0f87ce2a184316b115ae5 Author: Lexi Winter AuthorDate: 2025-05-14 14:15:46 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 libpam: provide a real /etc/pam.d/ftp We provide both /etc/pam.d/ftp and /etc/pam.d/ftpd because FTP servers are inconsistent about which service name they use. Previously ftp was a hard link to ftpd; to avoid hard linking config files, replace ftp with a normal config file that includes the ftpd service. Previously /etc/pam.d/ftpd was in the -ftp package, while /etc/pam.d/ftp was in the -runtime package (by accident, not design). Move both of them to the -runtime package, where the rest of the pam.d services live, since FTP servers from ports use it and people using a ports FTP server might not want to to install the -ftp package as well. This also fixes /etc/pam.d/ftp missing the @config tag. Reviewed by: des, bapt Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50339 --- lib/libpam/pam.d/Makefile | 11 ++++------- lib/libpam/pam.d/ftp | 13 +++++++++++++ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/lib/libpam/pam.d/Makefile b/lib/libpam/pam.d/Makefile index 5dccf590ee4e..a58c37b6c223 100644 --- a/lib/libpam/pam.d/Makefile +++ b/lib/libpam/pam.d/Makefile @@ -22,18 +22,15 @@ CRONPACKAGE= cron .if ${MK_AT} != "no" CONFGROUPS+= AT -AT+= atrun +AT+= atrun ATPACKAGE+= at .endif .if ${MK_FTP} != "no" CONFGROUPS+= FTP -FTP+= ftpd -FTPPACKAGE= ftp - -LINKMODE= ${CONFMODE} -afterinstallconfig: - ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}${CONFDIR}/ftpd ${DESTDIR}${CONFDIR}/ftp +FTP+= ftp ftpd +# Do not put these in the ftp package, since ports also use them. +FTPPACKAGE= runtime .endif .include diff --git a/lib/libpam/pam.d/ftp b/lib/libpam/pam.d/ftp new file mode 100644 index 000000000000..1c255441dca6 --- /dev/null +++ b/lib/libpam/pam.d/ftp @@ -0,0 +1,13 @@ +# +# PAM configuration for the "ftp" service. This is not used by the FreeBSD +# ftpd(8), but is provided for compatibility with FTP servers from ports. +# + +# auth +auth include ftpd + +# account +account include ftpd + +# session +session include ftpd From nobody Thu May 15 00:04:15 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnD16QJz5w26X; Thu, 15 May 2025 00:04:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyVnC30Yhz3qft; Thu, 15 May 2025 00:04:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lS6BqHFh/gqWhr+FT/ZbU1yPUlYJzFKCkLfdG3sqZBc=; b=AaDowGf0qynXg7m/ryAFhIhugvMu/+5UhpfTVIxrLmMpAu/tVpxL3mY5fsxS7AofU/pEYw stSB+LMMjMAF0+Zh6b5G8RVCOjv6DCcieEULKUfoKkUwkIQLtuxVRRBBBah5pvaRbel7tW /g+TyIkIOS5qGJwA/hXtW+/AJ3Vc4Au5rDoru6fnzGsBR5fnDQubh92WwA5wpwf7y6trsW aU0UGJRKmA9ywsYpZSQdqVbq2MuZ2aMIMUTOkxYzWBKK4O2awJjEHtrghXazR/IhdzYJiX ViQ7zH7FOOJT5K5CMuPytD35zRsY4lhRVAtKCrjIOj5uYvXanGlqitbVUpCxrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lS6BqHFh/gqWhr+FT/ZbU1yPUlYJzFKCkLfdG3sqZBc=; b=a8WVUg3HsN4CA02vhV7G7/thKaL2dv0q1lhJuaXJszKc5KAleaPL+6MFirh35sXvgJef38 dAwgKbqtlh0NsOs1gQAF64WDxWI9f0S9dUZH294V5+nvAT5Kyhv4zRYAd9V05A8V5tIXLt IAQshepxcFfKoG8AF7wGvcMfIr/Pm6i5/IheVaMo9emablEM+43uoC6e+uQseXcOu0QsuB GP7XTwMndnHobIFUfbQcDxkER3rVGHTakfLvFXYsf3tiFRwLaWcSpIcX5WZPi3EHHU6CmH XFzfPvD1qt02s3wZCvzKqFUbvYcVpilOCXIPqZP+nVYC222h3ONC7uJWDzMY2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267455; a=rsa-sha256; cv=none; b=SbnnlKI129rsVUJ9OfYddUX4a0RWjPeHzobwo2dN2AtExRWtxA3VpK71tUaR7rP6X20IY4 P9WaA4ReSTbqdP/WZ0/t6IFtyZ88OR5Sb5GlRNFsjykdbzBmx8Zcr43IQOHcaa2qZ6veCz Dv6G1H6m4+TlxD/iFUmIPq1BVUx/MVszdFLCQZ6VykMty89jZZBRhK8ngGEzVg9Evt4hLn zXaxLAezOcU0P1wUFd9NTVLvf/YLjpsTb+W5KUxNmteOQGXT4nXd1inf50cAG66/F4Jd93 btT2ZX8HKyV1NKTdQ+UE6gyfWupsb1IbhUtIacZInIXh9KkZjvWe/bZHeAC9yA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnC2Y6vzvB6; Thu, 15 May 2025 00:04:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54F04FI7046900; Thu, 15 May 2025 00:04:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04FhR046897; Thu, 15 May 2025 00:04:15 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:15 GMT Message-Id: <202505150004.54F04FhR046897@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b61850c4e6f6b0f21b36da7238db969d9090309e Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d9090309e commit b61850c4e6f6b0f21b36da7238db969d9090309e Author: Lexi Winter AuthorDate: 2025-05-14 14:26:24 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 bridge(4): default net.link.bridge.member_ifaddrs to false As discussed on arch@, this behaviour is broken and confuses users, so disable it by default. For 15.0-RELEASE, allow it to be re-enabled using a sysctl, but the sysctl will be removed in 16.0R. Relnotes: yes Reviewed by: kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50328 --- UPDATING | 5 +++++ share/man/man4/bridge.4 | 18 ++++++++++++------ sys/net/if_bridge.c | 4 ++-- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/UPDATING b/UPDATING index d46db9e13794..ce2b60ea9353 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250513: + The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to 0, + meaning that interfaces added to a bridge may not have IP addresses + assigned. Refer to bridge(4) for more information. + 20250507: UMASS quirks and auto-quirk probing has been overhauled. CAM now won't send SYNCHRONIZE CACHE unless MODE PAGE 8 is present and valid. This diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 index 2c3bfd6aedfa..45dea82325bc 100644 --- a/share/man/man4/bridge.4 +++ b/share/man/man4/bridge.4 @@ -36,7 +36,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 5, 2025 +.Dd May 13, 2025 .Dt IF_BRIDGE 4 .Os .Sh NAME @@ -163,14 +163,20 @@ To allow the host to communicate with bridge members, IP addresses should be assigned to the .Nm interface itself, not to the bridge's member interfaces. -Assigning IP addresses to bridge member interfaces is unsupported, but -for backward compatibility, it is permitted if the +Attempting to assign an IP address to a bridge member interface, or add +a member interface with an assigned IP address to a bridge, will return +an +.Dv EINVAL +.Dq ( "Invalid argument" ) +error. +For compatibility with older releases where this was permitted, setting +the .Xr sysctl 8 variable .Va net.link.bridge.member_ifaddrs -is set to 1, which is the default. -In a future release, this sysctl may be set to 0 by default, or may be -removed entirely. +to 1 will permit this configuration. +This sysctl variable will be removed in +.Fx 16.0. .Sh IPV6 SUPPORT .Nm supports the diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 199418c4aa99..475977adf68a 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -504,10 +504,10 @@ SYSCTL_BOOL(_net_link_bridge, OID_AUTO, log_mac_flap, "Log MAC address port flapping"); /* allow IP addresses on bridge members */ -VNET_DEFINE_STATIC(bool, member_ifaddrs) = true; +VNET_DEFINE_STATIC(bool, member_ifaddrs) = false; #define V_member_ifaddrs VNET(member_ifaddrs) SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs, - CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), true, + CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), false, "Allow layer 3 addresses on bridge members"); static bool From nobody Thu May 15 00:04:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnF5SL3z5w1sm; Thu, 15 May 2025 00:04: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 4ZyVnD3tQnz3qgD; Thu, 15 May 2025 00:04:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H5P/W9+X7boMHtKeZy28NpM3Z2ZqOd/PDjMFTzyJxpQ=; b=RVRhKplDRe7Mxvzre/lgAr1NPHk8vHhIaF6U0u6uPWu/mNNukJX+mPFgADwf48oVuiC4lH ZcT2s0XkvdEXA6m8w9181X4tlErtAulr05XKCNXAIKLj2vBwepg7TPr40MBK5N4zc/6tvU htrT5+Eu4o90tZKwYj2JDolaI/L/VmqXtNoRRVC63FWFpbsWG4BU0fbhqDgsSw5tVjVseF yx7ITBKGK1Lc+wVsHwsWBenOw2cd62ubVF3XxWq2jNuOdqP4No3kao2X9Wp0DT0EgGqzdW OvF/KzsOuqldrBQiyjHB2SwXPuje2XnWulr9EaPm+fu7WDzg6hw1tXs+eylP/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H5P/W9+X7boMHtKeZy28NpM3Z2ZqOd/PDjMFTzyJxpQ=; b=GiDTqyEDd5VnVAbffZx465i4kOyWY0oV5L+SDff59cMI2rwI4+GVo0l3nY9a6o3xRifezw oCzPe/vcKFpJBC384BJe1gg185ijQLmaZThU8skGFkuuAkwPHrZgS/2nD/zJujL2M/59M0 DVrvvqDhHmzBBCpFqQco4o1aCcLsBdEQ/ai3wwUhazeNkj88dUUTypO+jOICvm39brKzwI fnCeea5dUceumCvoHDz27vcIKFWwEHEYsgQB5HN13Z/qnXsEXBkwYCOO1niZ1eJ57pnBsx UFrLkPsLLTVK0LNRGsidcERSlHQ/JIti4a1RmvIt5z8i9lw6/81ACpcgBc7Tgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267456; a=rsa-sha256; cv=none; b=Km9DrylzX5stI5bTt5MAdIBN04uDw5t9NYmzNQMBlVK9tRb1vbURuKTO1PJy+ZA4RaGPKH ZShuf6K9asNt9kiaZHFh+/dkJYEGz9hRpD+OYxGyFON4qNgvIvGI0GAq/wcLiXAep7exK7 6ZHJzSGtN4JKC+QMTYUE4HUJKyVXXXtY6ZT0g1sOWMqcZELfX3mqjx9VmICPk5LEhQNLKh XW8Hwet2Y5zANnO9qFhLWkozS7EILhVgbOBW7FsiKegWDUfIWfea62g2FkkOsP+yaUeHFt Y+CKzRjeKvkajInb4UWojzbnvQM/iaWAqPdDQ7qjijsIlQv3xW2W3a98hw5ILg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnD39mFzv8V; Thu, 15 May 2025 00:04: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 54F04G7l046932; Thu, 15 May 2025 00:04:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04Gc4046929; Thu, 15 May 2025 00:04:16 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:16 GMT Message-Id: <202505150004.54F04Gc4046929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 8ff7c4d56f21 - main - RELNOTES: document bridge(4) member_ifaddrs change List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ff7c4d56f21b8690ed10a7913b42445b7584797 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=8ff7c4d56f21b8690ed10a7913b42445b7584797 commit 8ff7c4d56f21b8690ed10a7913b42445b7584797 Author: Lexi Winter AuthorDate: 2025-05-14 14:30:01 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 RELNOTES: document bridge(4) member_ifaddrs change Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50329 --- RELNOTES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RELNOTES b/RELNOTES index 49a4085214aa..19e2c07b1c4b 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,11 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +4d618f6ced86 + The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to 0, + meaning that interfaces added to a bridge may not have IP addresses + assigned. Refer to bridge(4) for more information. + 44e5a0150835, 9a37f1024ceb: A new utility sndctl(8) has been added to concentrate the various interfaces for viewing and manipulating audio device settings (sysctls, From nobody Thu May 15 00:04:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnG41ZDz5w28y; Thu, 15 May 2025 00:04: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 4ZyVnF5Q9Bz3qgR; Thu, 15 May 2025 00:04:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GL2LJeR8RkQ4Z33crLhOZJeZjWuy4MhVwEOG3sgZ3KE=; b=bGrhyeyPkxZJxo0DktYCV0Bz/Jh0PvwQBGd9BcL3ue9eP5eBOvizLs4w7LfN8AtXIz1Xzq u9e4oW/fm8niMSwBPYAa811iFJfyadwZtaqrRmZ76q8fGOrnfkhu6I2UVz178fnRMcDOP7 m+1F6uHMPU3PqOQh2p5JZhAOZMiAUxuryho7yz1KPS5omwPOmnB8dOho9NrLRTMc2ChUX3 KjSxwq/ObNTgQpvBzN1GFKVCEZOJ5o0UHm41llC4AJxgCfULct2AAllTY09+UZ9VJZMX5p t45rSSFruJwD/gz64znswllZoc3W2rx40aR7DA377O3BkQRlMdnASBhD9LqnPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GL2LJeR8RkQ4Z33crLhOZJeZjWuy4MhVwEOG3sgZ3KE=; b=B6JR1EwFYV8SqGL5Lm0o5hUAxiu6oNeP8485j9U3eeOswUIw2hhX8GJVG8maujydS73Kax v/A9LHxWTeUZNexN5jO9PdXjnMKEl9SW671WE7s45UtzTdvsCun6V5M+2lJNOubiYqVQG2 zABgwydgLMKTeZgGeNT5QxKqZRspFhanJIJvAvSFtP6HiFfV/UGgxCZh+fOUf0U8ZKI5fC LW2TLQ88mkHLTozAlpoROurnuITQjo1TiaF/7k6jR5qrjmKA59QaLi86mVhzSY+Mc+4JiG JXKxejFuK0rtsxiJF3f9IseVtHGWfgkgHfAdPLGuHM+Zr+76nHuYuLbVWSoOtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267457; a=rsa-sha256; cv=none; b=ecQhIvS+BcsHaUJ+xrK+zrx1iTCVSdYN6SdHTZ8wb9SnJmFQrwkkJ7Hx5l3FwKehGkHbKN TKEZTKHlhW6dpdpKTC7XSK0M9hcdUOa+TXqdwt2Jgpn9wv+RsCWpC8BOhnBuDHqkX3NR5Y ZL2VnYGUgcdK9eUnAE8QMuzxacwlv6ZJExMWbSegqjPUMJOewvQt3sxWysgmII2aaIGENh flZAQ++WVw9gpzZrVyEhIikw90U9K2Cda/cdQOwvP196mIqGNVkfvx4uP8FpiZzTXV0NxE hTsNWltgo7rBAZUOgalxjw7+qYZWWF1931JpwC0G5+1o34KdsLZ49mcGd5MTLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnF48Znzv1V; Thu, 15 May 2025 00:04: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 54F04H28046964; Thu, 15 May 2025 00:04:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04Hlr046961; Thu, 15 May 2025 00:04:17 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:17 GMT Message-Id: <202505150004.54F04Hlr046961@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: f6328f052518 - main - rc.subr: remove the dependency on bsdconfig List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6328f052518d56c01f10e14cd9ef1f2675c01a4 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=f6328f052518d56c01f10e14cd9ef1f2675c01a4 commit f6328f052518d56c01f10e14cd9ef1f2675c01a4 Author: Lexi Winter AuthorDate: 2025-05-14 14:33:36 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 rc.subr: remove the dependency on bsdconfig rc.subr uses sysrc(8) for the 'enable' and 'disable' commands, which means the entire rc(8) stack depends on bsdconfig. Instead, provide a minimal amount of rc.conf-editing functionality in rc.subr and use it to implement these commands. Reviewed by: des, bapt Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50325 --- libexec/rc/rc.subr | 102 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 86 insertions(+), 16 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 2261ab0461e1..e2a30d9fc9bd 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -56,6 +56,9 @@ _svcj_generic_params="path=/ mount.nodevfs host=inherit" JID=0 CPUSET="/bin/cpuset" +# Cache the services that we loaded with load_rc_config. +_loaded_services="" + # rc_service provides the path to the service script that we are executing. # This is not being set here in an execution context, necessarily, so it's # really just a reasonable guess, and it will get overwritten later if @@ -1421,28 +1424,17 @@ run_rc_command() ;; enable) - _out=$(/usr/sbin/sysrc -vs "$name" "$rcvar=YES") && - echo "$name enabled in ${_out%%:*}" + _out=$(write_rcvar "$rcvar" "YES") && + echo "$name enabled in $_out" ;; disable) - _out=$(/usr/sbin/sysrc -vs "$name" "$rcvar=NO") && - echo "$name disabled in ${_out%%:*}" + _out=$(write_rcvar "$rcvar" "NO") && + echo "$name disabled in $_out" ;; delete) - _files= - for _file in $(/usr/sbin/sysrc -lEs "$name"); do - _out=$(/usr/sbin/sysrc -Fif $_file "$rcvar") && _files="$_files $_file" - done - /usr/sbin/sysrc -x "$rcvar" && echo "$rcvar deleted in ${_files# }" - # delete file in rc.conf.d if desired and empty. - checkyesno service_delete_empty || _files= - for _file in $_files; do - [ "$_file" = "${_file#*/rc.conf.d/}" ] && continue - [ $(/usr/bin/stat -f%z $_file) -gt 0 ] && continue - /bin/rm "$_file" && echo "Empty file $_file removed" - done + delete_rcvar "$rcvar" ;; status) @@ -1982,6 +1974,7 @@ load_rc_config() # If a service name was specified, attempt to load # service-specific configuration if [ -n "$_name" ] ; then + _loaded_services="${_loaded_services} ${_name}" for _d in /etc ${local_startup}; do _d=${_d%/rc.d} if [ -f ${_d}/rc.conf.d/"$_name" ]; then @@ -2735,6 +2728,83 @@ _echoonce() esac } +# _find_rcvar var +# Find the rc.conf file (other than /etc/defaults/rc.conf) that sets $var. +_find_rcvar() +{ + local _var _dir _files + + [ -n "$1" ] || return 1 + _var="$1"; shift + + _files="/etc/rc.conf" + for _dir in /etc ${local_startup}; do + for _name in $_loaded_services; do + _files="${_dir%/rc.d}/rc.conf.d/${_name} ${_files}" + done + done + + /usr/bin/grep 2>/dev/null -rl "^${_var}=" $_files | /usr/bin/head -1 +} + +# write_rcvar var value +# Add or replace the rc var $var with the value $value. +# Look for a current setting of $var in /etc/rc.conf or /etc/rc.conf.d/$name, +# and if found, modify it there; otherwise, append to /etc/rc.conf. +write_rcvar() +{ + local _var _value _file _dir + + [ -n "$1" ] || return 1 + _var="$1"; shift + [ -n "$1" ] || return 1 + _value="$1"; shift + + _file="$(_find_rcvar "$_var")" + if [ -n "$_file" ]; then + local _=$'\01' + /usr/bin/sed -i '' "s${_}^${_var}=.*${_}${_var}=\"$_value\"${_}" "$_file" + echo $_file + return + fi + + for _dir in /etc ${local_startup}; do + _file="${_dir%/rc.d}/rc.conf.d/${name}" + if [ -f "$_file" ]; then + echo "${_var}=\"${_value}\"" >>"$_file" + echo "$_file" + return + fi + done + + echo "${_var}=\"${_value}\"" >>/etc/rc.conf + echo "/etc/rc.conf" +} + +# delete_rcvar var +# Remove the rc var $var. +# Look for a current setting of $var in /etc/rc.conf or /etc/rc.conf.d/$name, +# and if found, remove it. If service_delete_empty is enabled, and the +# resulting file is empty, also delete the file. +delete_rcvar() +{ + local _var _files + + [ -n "$1" ] || return 1 + _var="$1"; shift + + _file="$(_find_rcvar "$_var")" + if [ -n "$_file" ]; then + /usr/bin/sed -i '' "/^${_var}=/d" "$_file" + echo "$_var deleted in $_file" + + if checkyesno service_delete_empty && [ ! -s "$_file" ]; then + /bin/rm -f "$_file" + echo "Empty file $_file removed" + fi + fi +} + # If the loader env variable rc.debug is set, turn on debugging. rc.conf will # still override this, but /etc/defaults/rc.conf can't unconditionally set this # since it would undo what we've done here. From nobody Thu May 15 00:04:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnH1fNxz5w1mk; Thu, 15 May 2025 00:04: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 4ZyVnG6472z3qsr; Thu, 15 May 2025 00:04:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1DLpWs/wRndaM5F6m/p4EsZ6e1jy96rPkFNmYRF+k38=; b=ERKwU3dw3UUX/wYs2RPEEIJLv2HmJ51t5+DFuofhXRUqwf8B0+ek+5YxjVPnwbVbYdoA4+ z4PVDA4+cAexyMrWssD9s8EwPCziDmmFd4OQYVh1Yxru48fjDlB64ywYVOZqesyX96gLYp ZeMafOf0q6+B6U4Wk1TSqrUEx9UGi79xpL7khX8RtdJMt1XdWYHIiUv5WSZyYHv59yAiVa B/MVMKYHeaN+O1TyXEX8YPaoa0ai2SdRaRCYi8VZlt61xATri1ho0zDfin6CJVUUx3Zbhl zHY0bhxqyCQ3YCwLdoGO1C9ObuuLp5Tvt0ip00KliRG55MzUUUlcDUJHtxEcQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1DLpWs/wRndaM5F6m/p4EsZ6e1jy96rPkFNmYRF+k38=; b=RHtfwRY4429bOqN3qNmitBsWh7B8J9WkS7cx2yA2YwIAiE/ZkTkiK/UOl3z9R/UFazfDTm YXc+GKSzo6ZqpCo9k6IBgjbPypOe1l1ckIDzVKzrkszDka4KVM+XM2cTMn45LfJX+S/U1z lWntA64W8lVsf6lBYo3e9MtBbcuVzufh+wJ6n6WsXr2AUIhppHvG5iH3sWLtWu4GNjg6vp Xla7yICTy0/lvMKr3yUOlhqRiw24AlqRaXzldVPMlNRQeRwVytMi6EJgxooNB5TY1RLN5S OFdsD1dJh6D9ar+Mf6FaA4qi6SNQIMg3313iwlQ0W+H8ui/qLB8hIdSsGrgmsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267458; a=rsa-sha256; cv=none; b=qb9Kgr9cqFy6/S/V/Lg8Jr/tdxFeyILwWwiHMN79swCwPnhA1jzV0sF/TgWHp5NFg4JT6w u9zVF2wUSiRNvRLt1r/MiVe3t47Fav7jrdY5zf56IUbYgfgtR5vWXv1TRXUnirli4llXg5 9CGOriLFuG3xfGfzcfq66buUm6J6VHtO2dl4aB6a0iCXlHCk3OC6N5++eo1+PSNnqdl3ca VZmBsI57QPDv15wR+DXngFOMP9M1battUWALoxE+/bss3/iaX7o+LRPlbwlKGAhqnVCUz+ cZSB7np8HJ/sfZ8rIBikk34yb1smJS6aYdhVu0QrzbvolmYpaZXLQdud3ve7ZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnG5MLnzvDn; Thu, 15 May 2025 00:04: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 54F04Ils046996; Thu, 15 May 2025 00:04:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04IKi046993; Thu, 15 May 2025 00:04:18 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:18 GMT Message-Id: <202505150004.54F04IKi046993@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 0829839fd0cd - main - traceroute.8: improve the documentation of -P List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0829839fd0cd6046fbb5c0b6c6432b5ffe0d91e8 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=0829839fd0cd6046fbb5c0b6c6432b5ffe0d91e8 commit 0829839fd0cd6046fbb5c0b6c6432b5ffe0d91e8 Author: Lexi Winter AuthorDate: 2025-05-14 16:05:02 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 traceroute.8: improve the documentation of -P 1. -P didn't say what the argument is supposed to be; in the case of udplite(4), "-Pudp-lite" is not valid, one must use "-Pudplite". 2. be more explicit about what sort of packets we generate, particularly for -Psctp and -Pgre. Reviewed by: imp, tuexen, des Approved by: des (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1657 --- usr.sbin/traceroute/traceroute.8 | 62 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/usr.sbin/traceroute/traceroute.8 b/usr.sbin/traceroute/traceroute.8 index 203b743fb408..a97395944b2a 100644 --- a/usr.sbin/traceroute/traceroute.8 +++ b/usr.sbin/traceroute/traceroute.8 @@ -15,7 +15,7 @@ .\" .\" $Id: traceroute.8,v 1.19 2000/09/21 08:44:19 leres Exp $ .\" -.Dd November 17, 2023 +.Dd May 14, 2025 .Dt TRACEROUTE 8 .Os .Sh NAME @@ -136,10 +136,62 @@ to terminate the route tracing). If something is listening on a port in the default range, this option can be used to pick an unused port range. .It Fl P Ar proto -Send packets of specified IP protocol. -The currently supported protocols -are: UDP, UDP-Lite, TCP, SCTP, GRE and ICMP. -Other protocols may also be specified (either by name or by number), though +Use packets of specified IP protocol when sending probes. +The +.Ar proto +argument may be one of the following: +.Bl -tag -width Ar udplite +.It Ar udp +Use +.Xr udp 4 +packets. +This is the default. +.It Ar icmp +Use +.Xr icmp 4 +.Dq echo request +packets. +.It Ar udplite +Use +.Xr udplite 4 +packets. +.It Ar tcp +Use +.Xr tcp 4 +.Dq SYN +packets. +This will cause a successful traceroute to end with no response (i.e., a +.Dq * +response) since +.Nm +does not know how to detect the RST or SYN+ACK response from the +destination host. +.It Ar sctp +Use +.Xr sctp 4 +packets. +The +.Ar packetlen +argument must be a multiple of 4. +SCTP probes will be constructed as SCTP +.Dq INIT +chunks, unless the packet length is too small, in which case the probes +will be SCTP +.Dq SHUTDOWN-ACK +chunks followed by zero or one +.Dq PAD +chunks. +.It Ar gre +Use +.Xr gre 4 +packets. +The GRE packets will be constructed as if they contain a PPTP +(Point-to-Point Tunneling Protocol) payload. +.El +.Pp +Other protocols may also be specified, either by number or by name (see +.Xr protocols 5 ) , +though .Nm does not implement any special knowledge of their packet formats. This option is useful for determining which router along a path may be blocking From nobody Thu May 15 00:04:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnJ2xScz5w1jL; Thu, 15 May 2025 00:04: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 4ZyVnJ0SDDz3qqX; Thu, 15 May 2025 00:04:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKf4l2n90dQah53ukDa/MZngKRAOYLN0tQh/dFqNxwQ=; b=XVyC8NsqHeqF/GK87e6jqQFZgjJu9KUxB41ZOUQ74SkAg1b80plhnsJ8IgrdcLsMtGLU9W cTL8DLp+/johKT27Q/X1GJ252PXZS/JnuxWpd5heBgh8Zlgjm6QRpGmPOxY0MYweeXhyHd PrcJnpdB3mBCl6QBZoGNne/JsNNz2EeFCfreEbJQhZ9r4p4uNmTeZTuJ50OEwPUxZYvRqM qtUYzfGQOkcwAh/qTYZOk+qluE+D7ORxwAcWUr1P9exne1fcldFdJ0cz8PBtMMgcAnKDch g6cztW6xLEwY11Ua4GkVS1A8DHMM7JEUlEzGNP7zkO6EiPsPipv1Wcy0e+EidA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKf4l2n90dQah53ukDa/MZngKRAOYLN0tQh/dFqNxwQ=; b=euFeUuQNYGI//Vu+tDRW0gZTw+W1ie5MP25QE2J+sZg0UPC8hY/KpsfoaazBbpmYJxIBRs iITYg+6hMGm/hhxJ0Sar6Pj6Upug49/SeOMdjzoEhHlO+bDQQG63bRfJd30UPmHWuEvDZ/ w/waAIunBf2IcI+GSfsbrnYL5i5Yayjg81/FMWOWNUF2mQqK1QLifsRVZ8g5Fxlw5wvcwT t+tRTwJCmVypZB5zw4vvc9Uw5f3oUZt8VsJBGA5I+TM/0S4XyzlZtItmEK2e8i0691DOof iThCCTIcjoYNS/e2iWNNEFAorSWGJyUTMGHYo5Q0Soh/s8byfybfJ6zhKcE3+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267460; a=rsa-sha256; cv=none; b=QD61QwY+Wi+UZ83Djm3xV/5WrE8wZEufc7aLN6WD6NyEgjQUeSS9kHnFCjbsDQRgp0fhbS H0laIj45kz62YBXtXy/4NWzB0h3EglPOA9hlyWmxHSyTH/zE+Ov8orloO2ZACTxKyPH5Lp SBuHS0WOZQKPMBMAVimSxb+4Ucw7//SVy+H+xVee7b6f80u6f9Ac6JGjuXUJ4l+QInZgWP GxZtfF0W164eEJOPq6WAPH6hToLlHSWkHbGhgfSdhojpaJVdAn12B/OYPouKiwBCvISu6i tpD2Xn68P70MG7vWeRK/emj2FMMZrzstiWcDpCdnPK7xundJfBVj6HvCmv497w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnH64BTzvB7; Thu, 15 May 2025 00:04: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 54F04JJM047028; Thu, 15 May 2025 00:04:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04JnQ047025; Thu, 15 May 2025 00:04:19 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:19 GMT Message-Id: <202505150004.54F04JnQ047025@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 2d22d54fc4ab - main - newsyslog.conf.d/opensm.conf: remove leading blank line List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d22d54fc4abc1b4901cf62ef3888172df6798cd Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=2d22d54fc4abc1b4901cf62ef3888172df6798cd commit 2d22d54fc4abc1b4901cf62ef3888172df6798cd Author: Dan Langille AuthorDate: 2025-02-23 01:42:33 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 newsyslog.conf.d/opensm.conf: remove leading blank line Reviewed by: jlduran, ivy, kevans Approved by: kevans (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1603 --- usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf b/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf index 5c7d1c74fdbf..1b3570c89619 100644 --- a/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf +++ b/usr.sbin/newsyslog/newsyslog.conf.d/opensm.conf @@ -1,2 +1 @@ - /var/log/opensm.log 600 7 1000 * J /var/run/opensm.pid 30 From nobody Thu May 15 00:04:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnL17M0z5w1mr; Thu, 15 May 2025 00:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyVnK1BZkz3qtM; Thu, 15 May 2025 00:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eg1Vkk8SdJGSr/VJjQMRf48hT+rzMfjoI717onCYWpA=; b=U5L3dFb6GQMZ/4P62lTVsrGUX/LOJxLk3cc5cdBMXGqwWV2ER3WKHUR/BZGIgib8rxq+TI Moc76dx0eYg7fGJGqLru06dwjx9Qp+34HMx9Y1hQLRmYhoENYFC/QmP6c5L9+M0C2ar0fz 7cNBvj6Mz78ZDHa4C+bfP63Nft5uOeRAomyGjMc8whVKMCgxlWM/My6/AoWQsqEj+r8Ecm dwTYlUEm+D/2Rs6Aob2JwoKowTYTzmpBe3vunc21nnFaC2uAzAVl5nfWMa109ErxTA5V4g K9MpvsgcXYopbUGRx2BIfHo/sMXIDDCJGM1hQ+w8SHP0QSwuUJV13LBMFOcWFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eg1Vkk8SdJGSr/VJjQMRf48hT+rzMfjoI717onCYWpA=; b=gumDjpk/0Ryd20UsTlEGcDoY/dp7VGiQLOOCoywZpj414yQBTjoLWdg2q3M1hNjUjE0JFq eVLgIaiOnL7adPBVCYcBfRKtY8cJio4vofYm6D3MzzuX+CvOdBHDdunIpnWu3rHnC/OqUs lMLjvuaFOhMkmVLVYRMJW6cBDjg0cxHV5Ubgjtq8sDvsEMLqDPdwXbGUaHhqyuNMXo9XHn hAAWISEMH52MBpqVVlJWFoSB5+KBJSqItR5zL0ZVjBRipYgVTG/p3poI/MTCgz8DjhGOIY MJ+5ugY7kpuoxARoCBFaOXmdjHOjS0VAbV0J6Z+vTVekZsI6hj2XjtxRbrerfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267461; a=rsa-sha256; cv=none; b=Ipiam5QtwsrVxTgk88ByoyghafS2E4Hlfe8UX4uz3u90hOlXjuA9eqBPCgv4/l0i877bm6 nyrpCFgiQgdFfXUKc2Mb7B81d8DqZTzE22JgIBHrvCaUPzVrz8SANMGuU9U2SybGM9mo9+ TSlzPcH1wVz/90xnto/c+eNhtLZiUkWELNZkwh9PUKB6sEZ93hj0C32UegNZbCDLjJXZ0z 25WPOEumGfhQni7H14VLjFC2iNSvkGZnfb10oHW8lmnu9B6DCzyY1u/JA8QzxU4NXHUJHf nOq4m3b9t9+jIo14bzTZRdRa+ItEzeI67oRxPCrA1OKN1wxJB/RsNLh5TJyPUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnK0CrqztfN; Thu, 15 May 2025 00:04: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 54F04KQA047067; Thu, 15 May 2025 00:04:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04KxV047064; Thu, 15 May 2025 00:04:20 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:20 GMT Message-Id: <202505150004.54F04KxV047064@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 145162ff1f9f - main - service(8): move to the rc package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 145162ff1f9f12c43b50d12081ba2828060e4296 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=145162ff1f9f12c43b50d12081ba2828060e4296 commit 145162ff1f9f12c43b50d12081ba2828060e4296 Author: Lexi Winter AuthorDate: 2025-05-14 22:00:57 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 service(8): move to the rc package Since service depends on the rc machinery, there is no point having it installed unless rc is also installed. Move it from runtime to rc. Reviewed by: manu, des, emaste Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50326 --- usr.sbin/service/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/service/Makefile b/usr.sbin/service/Makefile index 66bf0deb760b..4f7aea03ec38 100644 --- a/usr.sbin/service/Makefile +++ b/usr.sbin/service/Makefile @@ -1,4 +1,4 @@ -PACKAGE= runtime +PACKAGE= rc SCRIPTS=service.sh MAN= service.8 From nobody Thu May 15 00:04:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyVnM3ssMz5w1kg; Thu, 15 May 2025 00:04: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 4ZyVnM26M4z3qxS; Thu, 15 May 2025 00:04:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hm7PNGPnGm0xqXKENuj+Tk1vqgXfoIGQLDXb8NgdRX4=; b=WTOOx2Ndv8i6obtHkbgXHMlNTSQFIJlMXyisBaVvEl5LAbyQbWOQyoPU0qar6PKrDEH3hd XBEidU83q3WR+UCOlcKqPPA9cNqb+MIsZBGpE2YQSTw8jItOz2WU8iQWOdTSRa07/waPKJ AJ7ANp0Ock+6sGRiVNXcI4s3gM8iXcky/6RM+asm2qd4QcxfBSNKGMcHRleoEUaECvu4Ks y4+gSShgXUaUauDQK9ksFYJOBQXkmIOGje9ead295QBcteXIX1AZ3mAUDqrEytutzKDmRk OK/Y1XJB7NtbFuT4yghbEm2Y8DMxIoMaR2tEOx6klJ3Q0FzjCuay9dShNV5e1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747267463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hm7PNGPnGm0xqXKENuj+Tk1vqgXfoIGQLDXb8NgdRX4=; b=UpW+jjiJerE6OZvHM8RPquTZEJLh3cQnySi1bbYJmfsvU0y7dX09mTTWai0bi+IOrcUd3A g5snyWqJvKQcFxYt9HuNHQvYXKPLL2gK7ODwJN4F4MXUxs+OMwNjNBNvOExil+G1VpYaRB QFYBqJ62roRqTX1ePhxh9qc4IcuhzK/FPN7sn5TeF2TmxzWELQyZzuxbICeTJznR/F9vUT 2xu+hFdefbNJOfV7OScUjSCOPf7KRkO4kZzi7TOO2SgyCYeltAPNZiLp2Rzvsw94vUp4sP VZAVn0fCkFPTbdPPGx9CLfIIifrx4G74l2rSSzdbt22JXRTzFdqCblSEI4rJtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747267463; a=rsa-sha256; cv=none; b=yy5Qsczul3EkPNYKuL1MmDOvjC7TfbQ0KTVoYJKeaQ6gEdKNWR7uFKQO+OjDobDw21YprZ 9jdByOhvxnVZBuvfP6sJTV8i/YwrFANcAiBRJYngY8uVGp8y4hQOtukvYWq/Pa4uWA65yC OV2DdHOpHu1j/RW9u4C2VEn6PW1tM9uCXYh9973TxtcFALTMDFzMzGIUmOKPe9vJKMsai6 +9etJxyz53zgZroYTUYaL/agAwhcfSlkTysycQxqf5E2mlDPuEBGRS26/t8k5RJvZ4zT5f kum/Uj+5XjvPElmc9mwPrvagy9fH4nK0UkDSsbudUIDHRj7KU/SE6b28U8LbHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyVnM1bXdztrp; Thu, 15 May 2025 00:04: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 54F04NJn047139; Thu, 15 May 2025 00:04:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F04NZw047136; Thu, 15 May 2025 00:04:23 GMT (envelope-from git) Date: Thu, 15 May 2025 00:04:23 GMT Message-Id: <202505150004.54F04NZw047136@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: a1215090416b - main - link_addr: be more strict about address formats List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1215090416b8afb346fb2ff5b38f25ba0134a3a Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=a1215090416b8afb346fb2ff5b38f25ba0134a3a commit a1215090416b8afb346fb2ff5b38f25ba0134a3a Author: Lexi Winter AuthorDate: 2025-05-14 22:02:59 +0000 Commit: Lexi Winter CommitDate: 2025-05-15 00:02:52 +0000 link_addr: be more strict about address formats instead of accepting any character as a delimiter, only accept ':', '.' and '-', and only permit a single delimiter in an address. this prevents accepting bizarre addresses like: ifconfig epair2a link 10.1.2.200/28 ... which is particularly problematic on an INET6-only system, in which case ifconfig defaults to the 'link' family, meaning that: ifconfig epair2a 10.1.2.200/28 ... changes the Ethernet address of the interface. bump __FreeBSD_version so link_addr() consumers can detect the change. Reviewed by: kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49936 --- lib/libc/net/linkaddr.3 | 34 +++--- lib/libc/net/linkaddr.c | 198 +++++++++++++++++++++++------------ lib/libc/tests/net/link_addr_test.cc | 152 ++++++++++++++++++++++++++- sbin/ifconfig/af_link.c | 3 +- sys/net/if_dl.h | 2 +- sys/sys/param.h | 2 +- 6 files changed, 307 insertions(+), 84 deletions(-) diff --git a/lib/libc/net/linkaddr.3 b/lib/libc/net/linkaddr.3 index ccfbf4c8d2e1..38ee6a0aedea 100644 --- a/lib/libc/net/linkaddr.3 +++ b/lib/libc/net/linkaddr.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 7, 2025 +.Dd May 9, 2025 .Dt LINK_ADDR 3 .Os .Sh NAME @@ -42,7 +42,7 @@ .In sys/types.h .In sys/socket.h .In net/if_dl.h -.Ft void +.Ft int .Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" .Ft char * .Fn link_ntoa "const struct sockaddr_dl *sdl" @@ -51,9 +51,19 @@ .Sh DESCRIPTION The routine .Fn link_addr -interprets character strings representing -link-level addresses, returning binary information suitable -for use in system calls. +parses a character string +.Fa addr +representing a link-level address, +and stores the resulting address in the structure pointed to by +.Fa sdl . +A link-level address consists of an optional interface name, followed by +a colon (which is required in all cases), followed by an address +consisting of either a string of hexadecimal digits, or a series of +hexadecimal octets separated by one of the characters +.Sq "." , +.Sq ":" , +or +.Sq - . .Pp The routine .Fn link_ntoa @@ -133,10 +143,11 @@ was at least one byte in size. .Pp The .Fn link_addr -function -has no return value. -(See -.Sx BUGS . ) +function returns 0 on success. +If the address did not appear to be a valid link-level address, -1 is +returned and +.Va errno +is set to indicate the error. .Sh SEE ALSO .Xr getnameinfo 3 .Sh HISTORY @@ -154,11 +165,6 @@ function appeared in The returned values for link_ntoa reside in a static memory area. .Pp -The function -.Fn link_addr -should diagnose improperly formed input, and there should be an unambiguous -way to recognize this. -.Pp If the .Va sdl_len field of the link socket address diff --git a/lib/libc/net/linkaddr.c b/lib/libc/net/linkaddr.c index 27d444666185..5be4c0a7a43e 100644 --- a/lib/libc/net/linkaddr.c +++ b/lib/libc/net/linkaddr.c @@ -36,87 +36,153 @@ #include #include +#include #include #include -/* States*/ -#define NAMING 0 -#define GOTONE 1 -#define GOTTWO 2 -#define RESET 3 -/* Inputs */ -#define DIGIT (4*0) -#define END (4*1) -#define DELIM (4*2) -#define LETTER (4*3) - -void +int link_addr(const char *addr, struct sockaddr_dl *sdl) { char *cp = sdl->sdl_data; char *cplim = sdl->sdl_len + (char *)sdl; - int byte = 0, state = NAMING, new; + const char *nptr; + size_t newsize; + int error = 0; + char delim = 0; + /* Initialise the sdl to zero, except for sdl_len. */ bzero((char *)&sdl->sdl_family, sdl->sdl_len - 1); sdl->sdl_family = AF_LINK; - do { - state &= ~LETTER; - if ((*addr >= '0') && (*addr <= '9')) { - new = *addr - '0'; - } else if ((*addr >= 'a') && (*addr <= 'f')) { - new = *addr - 'a' + 10; - } else if ((*addr >= 'A') && (*addr <= 'F')) { - new = *addr - 'A' + 10; - } else if (*addr == 0) { - state |= END; - } else if (state == NAMING && - (((*addr >= 'A') && (*addr <= 'Z')) || - ((*addr >= 'a') && (*addr <= 'z')))) - state |= LETTER; - else - state |= DELIM; - addr++; - switch (state /* | INPUT */) { - case NAMING | DIGIT: - case NAMING | LETTER: - *cp++ = addr[-1]; - continue; - case NAMING | DELIM: - state = RESET; - sdl->sdl_nlen = cp - sdl->sdl_data; - continue; - case GOTTWO | DIGIT: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | DIGIT: - state = GOTONE; - byte = new; - continue; - case GOTONE | DIGIT: - state = GOTTWO; - byte = new + (byte << 4); - continue; - default: /* | DELIM */ - state = RESET; - *cp++ = byte; - byte = 0; - continue; - case GOTONE | END: - case GOTTWO | END: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | END: + + /* + * Everything up to the first ':' is the interface name. Usually the + * ':' should always be present even if there's no interface name, but + * since this interface was poorly specified in the past, accept a + * missing colon as meaning no interface name. + */ + if ((nptr = strchr(addr, ':')) != NULL) { + size_t namelen = nptr - addr; + + /* Ensure the sdl is large enough to store the name. */ + if (namelen > cplim - cp) { + errno = ENOSPC; + return (-1); + } + + memcpy(cp, addr, namelen); + cp += namelen; + sdl->sdl_nlen = namelen; + /* Skip the interface name and the colon. */ + addr += namelen + 1; + } + + /* + * The remainder of the string should be hex digits representing the + * address, with optional delimiters. Each two hex digits form one + * octet, but octet output can be forced using a delimiter, so we accept + * a long string of hex digits, or a mix of delimited and undelimited + * digits like "1122.3344.5566", or delimited one- or two-digit octets + * like "1.22.3". + * + * If anything fails at this point, exit the loop so we set sdl_alen and + * sdl_len based on whatever we did manage to parse. This preserves + * compatibility with the 4.3BSD version of link_addr, which had no way + * to indicate an error and would just return. + */ +#define DIGIT(c) \ + (((c) >= '0' && (c) <= '9') ? ((c) - '0') \ + : ((c) >= 'a' && (c) <= 'f') ? ((c) - 'a' + 10) \ + : ((c) >= 'A' && (c) <= 'F') ? ((c) - 'A' + 10) \ + : (-1)) +#define ISDELIM(c) (((c) == '.' || (c) == ':' || (c) == '-') && \ + (delim == 0 || delim == (c))) + + for (;;) { + int digit, digit2; + + /* + * Treat any leading delimiters as empty bytes. This supports + * the (somewhat obsolete) form of Ethernet addresses with empty + * octets, e.g. "1::3:4:5:6". + */ + while (ISDELIM(*addr) && cp < cplim) { + delim = *addr++; + *cp++ = 0; + } + + /* Did we reach the end of the string? */ + if (*addr == '\0') + break; + + /* + * If not, the next character must be a digit, so make sure we + * have room for at least one more octet. + */ + + if (cp >= cplim) { + error = ENOSPC; break; } - break; - } while (cp < cplim); + + if ((digit = DIGIT(*addr)) == -1) { + error = EINVAL; + break; + } + + ++addr; + + /* If the next character is another digit, consume it. */ + if ((digit2 = DIGIT(*addr)) != -1) { + digit = (digit << 4) | digit2; + ++addr; + } + + if (ISDELIM(*addr)) { + /* + * If the digit is followed by a delimiter, write it + * and consume the delimiter. + */ + delim = *addr++; + *cp++ = digit; + } else if (DIGIT(*addr) != -1) { + /* + * If two digits are followed by a third digit, treat + * the two digits we have as a single octet and + * continue. + */ + *cp++ = digit; + } else if (*addr == '\0') { + /* If the digit is followed by EOS, we're done. */ + *cp++ = digit; + break; + } else { + /* Otherwise, the input was invalid. */ + error = EINVAL; + break; + } + } +#undef DIGIT +#undef ISDELIM + + /* How many bytes did we write to the address? */ sdl->sdl_alen = cp - LLADDR(sdl); - new = cp - (char *)sdl; - if (new > sizeof(*sdl)) - sdl->sdl_len = new; - return; + + /* + * The user might have given us an sdl which is larger than sizeof(sdl); + * in that case, record the actual size of the new sdl. + */ + newsize = cp - (char *)sdl; + if (newsize > sizeof(*sdl)) + sdl->sdl_len = (u_char)newsize; + + if (error == 0) + return (0); + + errno = error; + return (-1); } + char * link_ntoa(const struct sockaddr_dl *sdl) { diff --git a/lib/libc/tests/net/link_addr_test.cc b/lib/libc/tests/net/link_addr_test.cc index ea8f64c6723b..b973b924dc13 100644 --- a/lib/libc/tests/net/link_addr_test.cc +++ b/lib/libc/tests/net/link_addr_test.cc @@ -71,10 +71,12 @@ sockaddr_dl make_linkaddr(const std::string &addr) { auto sdl = sockaddr_dl{}; + int ret; sdl.sdl_len = sizeof(sdl); - ::link_addr(addr.c_str(), &sdl); + ret = ::link_addr(addr.c_str(), &sdl); + ATF_REQUIRE_EQ(0, ret); ATF_REQUIRE_EQ(AF_LINK, static_cast(sdl.sdl_family)); ATF_REQUIRE_EQ(true, sdl.sdl_len > 0); ATF_REQUIRE_EQ(true, sdl.sdl_nlen >= 0); @@ -176,6 +178,10 @@ std::vector test_addresses{ {"aa:bb:cc:dd:ee:ff"s, "aa.bb.cc.dd.ee.ff", ether_addr{0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}}, + + // Address with a blank octet; this is an old form of Ethernet address. + {"00:11::33:44:55"s, "0.11.0.33.44.55", + ether_addr{0x00, 0x11, 0x00, 0x33, 0x44, 0x55}}, }; /* @@ -219,6 +225,43 @@ ATF_TEST_CASE_BODY(ifname) } +/* + * Test with some invalid addresses. + */ +ATF_TEST_CASE_WITHOUT_HEAD(invalid) +ATF_TEST_CASE_BODY(invalid) +{ + auto const invalid_addresses = std::vector{ + // Invalid separator + ":1/2/3"s, + "ix0:1/2/3"s, + + // Multiple different separators + ":1.2-3"s, + "ix0:1.2-3"s, + + // An IP address + ":10.1.2.200/28"s, + "ix0:10.1.2.200/28"s, + + // Valid address followed by garbage + ":1.2.3xxx"s, + ":1.2.3.xxx"s, + "ix0:1.2.3xxx"s, + "ix0:1.2.3.xxx"s, + }; + + for (auto const &addr : invalid_addresses) { + int ret; + + auto sdl = sockaddr_dl{}; + sdl.sdl_len = sizeof(sdl); + + ret = link_addr(addr.c_str(), &sdl); + ATF_REQUIRE_EQ(-1, ret); + } +} + /* * Test some non-Ethernet addresses. */ @@ -245,6 +288,111 @@ ATF_TEST_CASE_BODY(nonether) lladdr(sdl))); } +/* + * Test link_addr behaviour with undersized buffers. + */ +ATF_TEST_CASE_WITHOUT_HEAD(smallbuf) +ATF_TEST_CASE_BODY(smallbuf) +{ + static constexpr auto garbage = std::byte{0xcc}; + auto buf = std::vector(); + sockaddr_dl *sdl; + int ret; + + /* + * Make an sdl with an sdl_data member of the appropriate size, and + * place it in buf. Ensure it's followed by a trailing byte of garbage + * so we can test that link_addr doesn't write past the end. + */ + auto mksdl = [&buf](std::size_t datalen) -> sockaddr_dl * { + auto actual_size = datalen + offsetof(sockaddr_dl, sdl_data); + + buf.resize(actual_size + 1); + std::ranges::fill(buf, garbage); + + auto *sdl = new(reinterpret_cast(&buf[0])) + sockaddr_dl; + sdl->sdl_len = actual_size; + return (sdl); + }; + + /* An sdl large enough to store the interface name */ + sdl = mksdl(3); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(3, sdl->sdl_nlen); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + /* + * For these tests, test both with and without an interface name, since + * that will overflow the buffer in different places. + */ + + /* An empty sdl. Nothing may grow on this cursed ground. */ + + sdl = mksdl(0); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(0, sdl->sdl_nlen); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + sdl = mksdl(0); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ(0, sdl->sdl_nlen); + ATF_REQUIRE_EQ(0, static_cast(sdl->sdl_alen)); + + /* + * An sdl large enough to store the interface name and two octets of the + * address. + */ + + sdl = mksdl(5); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02 }, lladdr(*sdl))); + + sdl = mksdl(2); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(-1, ret); + ATF_REQUIRE_EQ(ENOSPC, errno); + ATF_REQUIRE_EQ("", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02 }, lladdr(*sdl))); + + /* + * An sdl large enough to store the entire address. + */ + + sdl = mksdl(6); + ret = link_addr("ix0:1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ("ix0", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02, 0x03 }, lladdr(*sdl))); + + sdl = mksdl(3); + ret = link_addr(":1.2.3", sdl); + ATF_REQUIRE(*rbegin(buf) == garbage); + ATF_REQUIRE_EQ(0, ret); + ATF_REQUIRE_EQ("", ifname(*sdl)); + ATF_REQUIRE(std::ranges::equal( + std::vector{ 0x01, 0x02, 0x03 }, lladdr(*sdl))); +} + /* * Test an extremely long address which would overflow link_ntoa's internal * buffer. It should handle this by truncating the output. @@ -376,6 +524,8 @@ ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, basic); ATF_ADD_TEST_CASE(tcs, ifname); + ATF_ADD_TEST_CASE(tcs, smallbuf); + ATF_ADD_TEST_CASE(tcs, invalid); ATF_ADD_TEST_CASE(tcs, nonether); ATF_ADD_TEST_CASE(tcs, overlong); ATF_ADD_TEST_CASE(tcs, link_ntoa_r); diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c index ab35d04a8709..55b75d847c16 100644 --- a/sbin/ifconfig/af_link.c +++ b/sbin/ifconfig/af_link.c @@ -210,7 +210,8 @@ link_getaddr(const char *addr, int which) temp[0] = ':'; strcpy(temp + 1, addr); sdl.sdl_len = sizeof(sdl); - link_addr(temp, &sdl); + if (link_addr(temp, &sdl) == -1) + errx(1, "malformed link-level address"); free(temp); } if (sdl.sdl_alen > sizeof(sa->sa_data)) diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index 74089277291c..93a094d1ff59 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -83,7 +83,7 @@ struct sockaddr_dl *link_init_sdl(struct ifnet *ifp, struct sockaddr *paddr, #include __BEGIN_DECLS -void link_addr(const char *, struct sockaddr_dl *); +int link_addr(const char *, struct sockaddr_dl *); char *link_ntoa(const struct sockaddr_dl *); int link_ntoa_r(const struct sockaddr_dl *, char *, size_t *); __END_DECLS diff --git a/sys/sys/param.h b/sys/sys/param.h index 88edc92e65e7..6ce6903826d3 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -73,7 +73,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500042 +#define __FreeBSD_version 1500043 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Thu May 15 03:03:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyZm63X64z5wGVd; Thu, 15 May 2025 03:03:34 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyZm61ctxz44Kh; Thu, 15 May 2025 03:03:34 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747278214; 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=gTOI1diZZEqjzVsX+m2QGCo4GFNG0ZwxHb1EulcXGSw=; b=VJlbndeNDGaAjFX1VKyvxJOsjTjmsABcBrsmEwnnVl5O4JbGf+8YwFqsmzm3jtvpolPAud QObW8iDEV1Q+uEW3dWxhoDBlKJbDvLr8dU7LvZqtG9XjJl4YHR+aCxGACUl+Cy74NJ/RRQ k5sYscbZlk/Sl5aeLfrQvIXPq7RSiuv20NGliHTkMepM4NSVLM9CS9spgynq6PiY1yjuPS JTiiKjdPlDm0N28PbiSEh88s5yRaZFSsTd+AvS32hx5R+xsXtChSjCX2ULfgAxyT0673eN V/IUg8Nf4o+Dh/LUWdLj7OxKm1vqhpffYHvaE+grvuLwBX315fw3/Z484Nx12g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747278214; 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=gTOI1diZZEqjzVsX+m2QGCo4GFNG0ZwxHb1EulcXGSw=; b=LBrmN/yzhEDStNozsI5BLG5qO+syIia1kmNpAxX99XhbaWTpyUAaEvqLsXvP7Zga3d9aRo qfdB0UQ4OG1tT1MEJkfaKDlNC+HNaIOqtQYkhYBCCDHkNpSNs6gv37smc0DYkOYHEKdrHm oD3je1liAxR5UL9HBjcFsZm22Mc4/01NAkE460XsK6K+x1Pehv1viMDyMXl31l9W2Qi3ZN Z3bVqR2h0IsD1QvBFhvPFYgjT2M4QQBGJ+i416gakPevTspBZJjrTECjg/kLfgYWXI5WQP KavIIbEq5VqIaX3I3QCOrBeKLdVKtZb1UAv3xyr6U/CNAYVlOuxS1eg0RsmqFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747278214; a=rsa-sha256; cv=none; b=XlLcywuzmLGCVZzFlE8/0J4VWs1d9TATHNZQZ249YLv+241zf7H/io65bcgtazx8wBLwNT cjDnU0kFt2/oNSiZbic7jcSNf9eqoQY8lxk1YMoVamo8pj+LaxB60R9V3GHs45CSiPWKpM J8nX2wIhXi5OUqykgCJO5TyF0heo79ihrFSTpQOkQObPwRiNyOEBckpYG+XZZii2g0jNdX brPeqBRlTW3E15rP1Blrl+wPSAuvEujKZ9bYu+2oL5UtkKZT0Fpjn0caJ59HBc9QtGyNw0 lfMBepkyPLXXJJkEVx45/X8z9dBZaE9zUIIBu+be0ieajccbOtB2uQRQCRIHog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: by freefall.freebsd.org (Postfix, from userid 1033) id 1E1B4E087; Thu, 15 May 2025 03:03:16 +0000 (UTC) Date: Thu, 15 May 2025 03:03:16 +0000 From: Alexey Dokuchaev To: Robert Clausecker Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 8b4684afcde3 - main - lib/libmd: add optimised SHA1 implementations for amd64 Message-ID: References: <202505142340.54ENecbI000166@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202505142340.54ENecbI000166@gitrepo.freebsd.org> On Wed, May 14, 2025 at 11:40:38PM +0000, Robert Clausecker wrote: > commit 8b4684afcde3930eb49490f0b8431c4cb2ad9a46 > > lib/libmd: add optimised SHA1 implementations for amd64 > > Three implementations are provided: one using just scalar > instructions, one using AVX2, and one using the SHA instructions > (SHANI). The AVX2 version uses a complicated multi-block carry > scheme described in an Intel whitepaper Sounds pretty cool! How feasible would be coming up with AVX-only code? My CPU does not support AVX2 but I often need to compute SHA1 sums. ./danfe From nobody Thu May 15 09:12:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zykxb6mn2z5w1jP; Thu, 15 May 2025 09:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zykxb6C9Qz3vQv; Thu, 15 May 2025 09:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747300339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YiPpzmehVFWR/NNfydjfdFSkVuGX1+bLyiMY44f6Fg8=; b=qo6jKfTUcM0NCWdtiR/DulLdHDtFu+l2Ftm68jUqGRgHkxJX6xeHCBRcJhRZWqUKpk9JXx G7CVYd3P81L6Ib9m+Up/eMjtvh9EMuRBXJldbM6A99y2hF/nV6ZmSCmb/B0+w+osyVRSEE aDwO+rC2Dh/il9NVnGR5j4cvHGn/WGvQactsK1gcBaQhAX+h33pJS0NBv3Whub5qtubxfU lomzUpmtXgYY3r+TgMSrPEquCzZLHh+hqkRwMa3hV2N/L/Z9HpmodnpjiKVXy0pbKftXBn 1OxQ4VRUe5tONGZyhUnskMhzYwUTBl66lGGpiyqXZeBQP8fmT9Xz1PWnuVXniA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747300339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YiPpzmehVFWR/NNfydjfdFSkVuGX1+bLyiMY44f6Fg8=; b=LKWrgxzXJaNB0X7LetLFoQVi2xD6uropdY7/tb7EMCnVTryvDk4iVFXd7XCQBRYgA8HMOg Sqg07fu4zkuJF/fWuwt+OQg8tsrGn4ZhyupxsI2izqPB3cjwIyjd1HOnGk80FvB7b1LK3R +fJqdxGircWjw8BxQcYDd1xdyGKSEzoHlsKi5RxHg3XyPYhTMiVtJqFCm0qgpGrpAgXxtP OaJ7vcAGTAEMqdticS6MvpeKhqd409s+O8bguOcHHhMpv+xo7bOroqP9CV8uU0RV3Q8bgE nEccFcPEM0a8G9XD3kqfGLq/PkM6UPWfI9qR9E3IH0Fu3Yq0FyB19D/eK2BlQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747300339; a=rsa-sha256; cv=none; b=Ih2wFS0dZr823SldfsYl7FWp0mrzwl817iVw/n9iWVNk60+0NCmbZOUT5KffqNHSdrX4M7 lcjOK4zwaKA3DgvEG+5Rn4bSe0n4/G8rgdbacbfstjvM0MsVAwz8Zs40aeLXSry2zBqsqG FNY5ROrftjXcXiH3XXDIHDe9/RD3+qgSL54d53Br5jEBpJVZmHdNIpoAAZudMsil4zqHnP gXcjOqo9DVeNKvhaFqVkN764o2RYjffPFGrN0LqOT6HzKGt5YGGMs/HRSB37d76jwf1Mrs so5tdNW4Y5J8giRmarqWxT6lVK2tdyWlUQB0K4tJzXhMWMrrfNzPl7lPoIDrjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zykxb5dKJz1B7q; Thu, 15 May 2025 09:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54F9CJNS076086; Thu, 15 May 2025 09:12:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F9CJQ4076083; Thu, 15 May 2025 09:12:19 GMT (envelope-from git) Date: Thu, 15 May 2025 09:12:19 GMT Message-Id: <202505150912.54F9CJQ4076083@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: af907bb62414 - main - nfs server: only cn_pnbuf is initialized in nfsrvd_lookup() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: af907bb624141bd1aa1bd4586ea5b72d80780197 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=af907bb624141bd1aa1bd4586ea5b72d80780197 commit af907bb624141bd1aa1bd4586ea5b72d80780197 Author: Konstantin Belousov AuthorDate: 2025-05-14 23:07:47 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-15 01:07:52 +0000 nfs server: only cn_pnbuf is initialized in nfsrvd_lookup() PR: 286796 Reviewed by: rmacklem Sponsored by: The FreeBSD Foundation --- sys/fs/nfsserver/nfs_nfsdserv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index a855d6548265..b26fc59bcd6d 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -628,8 +628,8 @@ nfsrvd_lookup(struct nfsrv_descript *nd, __unused int isdgram, } if (!nd->nd_repstat) { /* Don't set OPENNAMED for Lookupp (".."). */ - if (cnp->cn_namelen == 2 && *cnp->cn_nameptr == '.' && - *(cnp->cn_nameptr + 1) == '.') + if (cnp->cn_namelen == 2 && *cnp->cn_pnbuf == '.' && + *(cnp->cn_pnbuf + 1) == '.') cnp->cn_flags &= ~OPENNAMED; nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, &dirp); } else { From nobody Thu May 15 09:34:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZylQm4GgLz5w38N; Thu, 15 May 2025 09:34: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 4ZylQm3fBMz43mw; Thu, 15 May 2025 09:34:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747301648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcwgv2GXBPi+VGL708gdKrZxaCw9nzlP9fu69PxpeN0=; b=KPeoR8cEkqxaqhPTIddNRCcoJz+3ICoKN4dIEDJsYL7Nu/qmTJWKFCvikXYGVBqeBhS97Q CXG0IuVTpW7/XXWzhjAXf4p6leJQ+34cJ3jvNSpmfXW1saMXEHbR24QymY+Nl7KqOjiZkY fblqJ9Y75ArYnrkFMz2Pg0hHL1rZnZbECwDI3JUPlvnHaylRhOrc0/+GW43PpV4lzvIF/m snHTrOv+IZjIzBgdAWwjmZeXlbc5bjT4butoy2kCyTSRPNm7f5NZdbU1hnM6a0jvLmGdnV f9ylG7bxqRmXMNka7ZmFWYnAnLZLnWYGsvAKmiri4qgLHmyyfXaRJ06wRLq3Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747301648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcwgv2GXBPi+VGL708gdKrZxaCw9nzlP9fu69PxpeN0=; b=GvLI6JSD3G7v4WTcczs1JhdijKTDIiMyi9oaCX5y1sLDs98aS9x9ettVFcWWDiAoASUdhu yaj53qGDftnVPRwswFbixKvAbO+2+LCad9IRElTXi09btQYdyz9DdHyZ8hSHGbtoxtNwf5 c13J6IAtq3ioJmFOnFGC479IC6rcbLyNwIVzat0WB0AgIMlsEBFbHGpDBhXuxSGOFPcklV GlqtO34P0sBG5uM4JbBmOx/oRcO/3Esd0unRiAy5DrEWcaFOLZ8F2FmzTILwztKxZJSSiO a38hSwvgFDIjGrMnLG8CkzWuyXMfKRBg0Zxgdto44Guh9onb/YkJpHjvyY6cYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747301648; a=rsa-sha256; cv=none; b=rHsP+zHwHMfb6ta9MU86PP21JZN5+OOcShhL6xcjpTZSMMaNwnoWwpGOOhyr5vKyaIUDGc i62gHc9yz9EkNAwk4JAbhQhUADERWJBEom+3Yr3SGYiRtJ1OTmsHJBevvBHCfPdrls0Yrv zVSZY/DvKKDKY5hrBpgl7f+wQU2vu5LqP9El2PULhuuIt1WO0E5MihUMOnGAr2DKu2g7Ac XNpEWNUZBQBOMK0H9eu2z5ZbxICiA9nOaqq0r1fY5gSF/wwfDQ1gkJK0sLa6aD+yQAY5UC LEZw4j8v0tw5lTGMA1il9ltWI/42avP4sFp5ra7MiSKgfmIE3ztUrnM4vcupYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZylQm3FlHz1BVw; Thu, 15 May 2025 09:34: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 54F9Y8QH014256; Thu, 15 May 2025 09:34:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54F9Y8hn014253; Thu, 15 May 2025 09:34:08 GMT (envelope-from git) Date: Thu, 15 May 2025 09:34:08 GMT Message-Id: <202505150934.54F9Y8hn014253@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: d90c9c24e2c3 - main - vfs: vn_alloc(): Stop always calling vn_alloc_hard() and direct reclaiming List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d90c9c24e2c3701949c47061b5ad198eedeebfb9 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=d90c9c24e2c3701949c47061b5ad198eedeebfb9 commit d90c9c24e2c3701949c47061b5ad198eedeebfb9 Author: Olivier Certner AuthorDate: 2025-05-13 13:47:42 +0000 Commit: Olivier Certner CommitDate: 2025-05-15 09:33:33 +0000 vfs: vn_alloc(): Stop always calling vn_alloc_hard() and direct reclaiming Commit ab05a1cf321aca0f intended to revert commit 8733bc277a383cf5 ("vfs: don't provoke recycling non-free vnodes without a good reason"), but due to intervening changes in commit 054f45e026d898bd ("vfs: further speed up continuous free vnode recycle"), it also had to revert part of it. In particular, while removing the whole 'if (vn_alloc_cyclecount != 0)' block, it inadvertantly removed the code block resetting 'vn_alloc_cyclecount' to 0 and skipping direct vnode reclamation (done further below through vnlru_free_locked_direct()), which had been outside the 'if' before the intervening commit. Removing this block instead of reinstating it in practice causes 'vn_alloc_cyclecount' to (almost) never be 0, making vn_alloc() always call vn_alloc_hard(), which takes the 'vnode_list_mtx' mutex. In other words, this disables the fast path. [The reverted commit, which introduced the 'if (vn_alloc_cyclecount != 0)' guarding this block, actually never executed it because it also had the bug that 'vn_alloc_cyclecount' would always stay at 0, hiding its usefulness.] Additionally, not skipping direct vnode reclamation even when there are less vnodes than 'kern.maxvnodes' not only causes unnecessary contention but also plain livelocks as vnlru_free_locked_direct() does not itself check whether there are actually "free" (not referenced) vnodes to be deallocated, and will blindly browse all the vnode list until it finds one (which it may not, or only a few ones at the end). As the fast path was disabled, all threads in the system would soon be competing for the vnode list lock, outpacing the vnlru process that could never actually recycle vnodes in a more agressive manner (i.e., even if they have a non-zero hold count). And we could more easily get into this situation, as each vnode allocation was reducing the count of "free" vnodes, even if entirely new vnodes could be allocated instead. This part was mitigated by the vnlru process (before the tipping point described above), which explains why the mechanism would not always livelock. Not skipping direct vnode reclamation was arguably a bug introduced by the intervening commit (054f45e026d898bd), but was mitigated by vn_alloc_hard() not being called in the fast path. The revert commit, by disabling the fast path, made it significantly annoying (to the point of getting a few livelocks a week in some of my workloads). Restore the reset of 'vn_alloc_cyclecount' to 0 and skip direct reclamation when the current number of vnodes is below the 'kern.maxvnodes' limit, indicating we can start allocating a new 'struct vnode' right away. While here, fix the comparison with the limit when 'bumped' is true. Reviewed by: kib (older version), avg Tested by: avg, olce Fixes: ab05a1cf321aca0f (revert of "vfs: don't provoke recycling non-free vnodes without a good reason") Fixes: 054f45e026d898bd ("vfs: further speed up continuous free vnode recycle") MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50338 --- sys/kern/vfs_subr.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index fb624f751402..5fdd4b6c2474 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1996,11 +1996,24 @@ vn_alloc_hard(struct mount *mp, u_long rnumvnodes, bool bumped) mtx_lock(&vnode_list_mtx); + /* + * Reload 'numvnodes', as since we acquired the lock, it may have + * changed significantly if we waited, and 'rnumvnodes' above was only + * actually passed if 'bumped' is true (else it is 0). + */ + rnumvnodes = atomic_load_long(&numvnodes); + if (rnumvnodes + !bumped < desiredvnodes) { + vn_alloc_cyclecount = 0; + mtx_unlock(&vnode_list_mtx); + goto alloc; + } + rfreevnodes = vnlru_read_freevnodes(); if (vn_alloc_cyclecount++ >= rfreevnodes) { vn_alloc_cyclecount = 0; vstir = true; } + /* * Grow the vnode cache if it will not be above its target max after * growing. Otherwise, if there is at least one free vnode, try to From nobody Thu May 15 11:54:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZypXh4BkKz5wD9M; Thu, 15 May 2025 11:54: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 4ZypXh3NVQz494M; Thu, 15 May 2025 11:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747310068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XuXvr1AbnAQEKK+nQEj4vFX+Jg2ccgLn6Mu6LZwDkKE=; b=Jz/0uPSR92q2a3nnGhi3zC3hGwYtsGO9aU9yYNGEAmf7248fSlqpWoleQyz09JzlXDD7BJ d6A35NSgi0f+a1o8j7XxvMm1b1kGrSS8CqCbEkevfPeFUcDbdvFrk3xt7ww2xdJTGISPMR sR6kaQeNd4i/9E+rSg15nWhJwsf5IkImAzE5NYh57AHdYAIx/guPMlMVoANPRq/8C202g6 hlFG2MIhPqxvc6pyRvJNofMhVR0LaqDzBI/+2WqCI4qqY7NAgpA4dg0IC44Mf1yC/DhJGh fEF/GDH9MEqNePRFhydLZLgmCQMooXSZY6yETXIrzcnsHIbLExXeqh8lLFibOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747310068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XuXvr1AbnAQEKK+nQEj4vFX+Jg2ccgLn6Mu6LZwDkKE=; b=UOerFZpH62SXFPeaWghjS8Vm6mX39RcKfvtvdAo6K30dK1Xm2AkpGfUhJwfFOs/7xav9cP rbI1eYJMbWWBieZvFQPzj/a2hj460CGG2cNbGBmqiE1I6PXmwe3bbeowP9dov8PzaeM2xm cLBmLuLbd52SYWpForzthAou0/5ws4NP5TnKA+0m6Z31VB5QLk/L4ZHt8GMDRjI/gRsoIE g3psBbyxsTPXzCayXr+9ck0nAadSDKfw06ZpEmv5fcpVTXmB29hyfcfMUWp/G6z8t4gH8R 5G5js4mk3RsVJefkh1r+Y4tyqvKGvjzNlur1JIrC0Yn+XD2822m6jWQiAFvHqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747310068; a=rsa-sha256; cv=none; b=u2wpepLKJvBFStg+jts5P4+ZxKO7s7vxs1gtyBQtn9rh88x3FNJFNNzmzdsaSU5Jao3o3G 54VbhIpJTSxRctVP+1MNazgxQoiRRr3FfgS6G/qOCsPgmBbUA36uO/BBDB0Bw4s/3iibAu EIPGXfWUWOekSFzkHqasuRnpY84sU5mpQtSXngZn2kz/++0cBMuIbp0bLxHKqDG3yftBwI IEQ5zS9xAHVp5G64C9Mkr+pPGQMACsqFrL3Eip5PbaxA/h48qqVi62ju9/OAHS7dbOmSpE YkfbTfP528YuPrZdSc8UvcJL5y/9OAliauxJfNVK/v4Ik8BCH56EoFpV80TLnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZypXh2zh6z2Ln; Thu, 15 May 2025 11:54: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 54FBsSof076330; Thu, 15 May 2025 11:54:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FBsSEQ076327; Thu, 15 May 2025 11:54:28 GMT (envelope-from git) Date: Thu, 15 May 2025 11:54:28 GMT Message-Id: <202505151154.54FBsSEQ076327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: b3fe9014c321 - main - cp: Avoid prepending ./ in file-to-file case. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b3fe9014c3214926e0347b891705aa2380f70f8c Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b3fe9014c3214926e0347b891705aa2380f70f8c commit b3fe9014c3214926e0347b891705aa2380f70f8c Author: Dag-Erling Smørgrav AuthorDate: 2025-05-15 11:54:05 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-15 11:54:05 +0000 cp: Avoid prepending ./ in file-to-file case. * Make to.base large enough to hold a trailing separator. * Remove the separator from warning and error messages. * In the FILE_TO_FILE case, leave to.base empty. * In the FILE_TO_DIR and DIR_TO_DNE cases, append a separator to to.base once we've (optionally created and) opened it. * Thus, in the file-to-file case, we print an empty string followed by to.path, while in all other cases, to.base already contains the necessary separator. This fixes failures in tests that used cp and expected a specific error message and were surprised to see "./" pop up. Fixes: 82fc0d09e862 Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50357 --- bin/cp/cp.c | 38 ++++++++++++++++++++++++++++---------- bin/cp/extern.h | 2 +- bin/cp/utils.c | 50 +++++++++++++++++++++++++------------------------- 3 files changed, 54 insertions(+), 36 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index c6b34198f20a..c76654f7df41 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -183,7 +183,12 @@ main(int argc, char *argv[]) sep--; *sep = '\0'; } - if (strlcpy(to.base, target, sizeof(to.base)) >= sizeof(to.base)) + /* + * Copy target into to.base, leaving room for a possible separator + * which will be appended later in the non-FILE_TO_FILE cases. + */ + if (strlcpy(to.base, target, sizeof(to.base) - 1) >= + sizeof(to.base) - 1) errc(1, ENAMETOOLONG, "%s", target); /* Set end of argument list for fts(3). */ @@ -264,7 +269,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) struct stat created_root_stat, to_stat, *curr_stat; FTS *ftsp; FTSENT *curr; - char *recpath = NULL; + char *recpath = NULL, *sep; int atflags, dne, badcp, len, rval; mode_t mask, mode; bool beneath = Rflag && type != FILE_TO_FILE; @@ -280,11 +285,17 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) if (type == FILE_TO_FILE) { to.dir = AT_FDCWD; to.end = to.path + strlcpy(to.path, to.base, sizeof(to.path)); - strlcpy(to.base, dot, sizeof(to.base)); + to.base[0] = '\0'; } else if (type == FILE_TO_DIR) { to.dir = open(to.base, O_DIRECTORY | O_SEARCH); if (to.dir < 0) err(1, "%s", to.base); + /* + * We have previously made sure there is room for this. + */ + sep = strchr(to.base, '\0'); + sep[0] = '/'; + sep[1] = '\0'; } if ((ftsp = fts_open(argv, fts_options, NULL)) == NULL) @@ -370,13 +381,20 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) umask(~mask); root_stat = &created_root_stat; curr->fts_number = 1; + /* + * We have previously made sure there is + * room for this. + */ + sep = strchr(to.base, '\0'); + sep[0] = '/'; + sep[1] = '\0'; } else { /* entering a directory; append its name to to.path */ len = snprintf(to.end, END(to.path) - to.end, "%s%s", to.end > to.path ? "/" : "", curr->fts_name); if (to.end + len >= END(to.path)) { *to.end = '\0'; - warnc(ENAMETOOLONG, "%s/%s%s%s", to.base, + warnc(ENAMETOOLONG, "%s%s%s%s", to.base, to.path, to.end > to.path ? "/" : "", curr->fts_name); fts_set(ftsp, curr, FTS_SKIP); @@ -448,7 +466,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) const char *path = *to.path ? to.path : dot; mode = curr_stat->st_mode; if (fchmodat(to.dir, path, mode & mask, 0) != 0) { - warn("chmod: %s/%s", to.base, to.path); + warn("chmod: %s%s", to.base, to.path); rval = 1; } } @@ -474,7 +492,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) to.end > to.path ? "/" : "", curr->fts_name); if (to.end + len >= END(to.path)) { *to.end = '\0'; - warnc(ENAMETOOLONG, "%s/%s%s%s", to.base, + warnc(ENAMETOOLONG, "%s%s%s%s", to.base, to.path, to.end > to.path ? "/" : "", curr->fts_name); badcp = rval = 1; @@ -506,7 +524,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) if (!dne && to_stat.st_dev == curr_stat->st_dev && to_stat.st_ino == curr_stat->st_ino) { - warnx("%s/%s and %s are identical (not copied).", + warnx("%s%s and %s are identical (not copied).", to.base, to.path, curr->fts_path); badcp = rval = 1; if (S_ISDIR(curr_stat->st_mode)) @@ -558,7 +576,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) if (~mask & S_IRWXU) umask(~mask & ~S_IRWXU); if (mkdirat(to.dir, to.path, mode) != 0) { - warn("%s/%s", to.base, to.path); + warn("%s%s", to.base, to.path); fts_set(ftsp, curr, FTS_SKIP); badcp = rval = 1; if (~mask & S_IRWXU) @@ -568,7 +586,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) if (~mask & S_IRWXU) umask(~mask); } else if (!S_ISDIR(to_stat.st_mode)) { - warnc(ENOTDIR, "%s/%s", to.base, to.path); + warnc(ENOTDIR, "%s%s", to.base, to.path); fts_set(ftsp, curr, FTS_SKIP); badcp = rval = 1; break; @@ -611,7 +629,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) break; } if (vflag && !badcp) - (void)printf("%s -> %s/%s\n", curr->fts_path, to.base, to.path); + (void)printf("%s -> %s%s\n", curr->fts_path, to.base, to.path); } if (errno) err(1, "fts_read"); diff --git a/bin/cp/extern.h b/bin/cp/extern.h index 5a18f91ef13c..c0c524756980 100644 --- a/bin/cp/extern.h +++ b/bin/cp/extern.h @@ -31,8 +31,8 @@ typedef struct { int dir; /* base directory handle */ + char base[PATH_MAX + 1]; /* base directory path */ char *end; /* pointer to NUL at end of path */ - char base[PATH_MAX]; /* base directory path */ char path[PATH_MAX]; /* target path */ } PATH_T; diff --git a/bin/cp/utils.c b/bin/cp/utils.c index a849899af7ee..3e669b4b513d 100644 --- a/bin/cp/utils.c +++ b/bin/cp/utils.c @@ -143,12 +143,12 @@ copy_file(const FTSENT *entp, bool dne, bool beneath) if (!dne) { if (nflag) { if (vflag) - printf("%s/%s not overwritten\n", + printf("%s%s not overwritten\n", to.base, to.path); rval = 1; goto done; } else if (iflag) { - (void)fprintf(stderr, "overwrite %s/%s? %s", + (void)fprintf(stderr, "overwrite %s%s? %s", to.base, to.path, YESNO); checkch = ch = getchar(); while (ch != '\n' && ch != EOF) @@ -172,7 +172,7 @@ copy_file(const FTSENT *entp, bool dne, bool beneath) if (lflag) { if (linkat(AT_FDCWD, entp->fts_path, to.dir, to.path, 0) != 0) { - warn("%s/%s", to.base, to.path); + warn("%s%s", to.base, to.path); rval = 1; } goto done; @@ -180,7 +180,7 @@ copy_file(const FTSENT *entp, bool dne, bool beneath) if (sflag) { if (symlinkat(entp->fts_path, to.dir, to.path) != 0) { - warn("%s/%s", to.base, to.path); + warn("%s%s", to.base, to.path); rval = 1; } goto done; @@ -198,7 +198,7 @@ copy_file(const FTSENT *entp, bool dne, bool beneath) fs->st_mode & ~(S_ISUID | S_ISGID)); } if (to_fd == -1) { - warn("%s/%s", to.base, to.path); + warn("%s%s", to.base, to.path); rval = 1; goto done; } @@ -220,7 +220,7 @@ copy_file(const FTSENT *entp, bool dne, bool beneath) if (info) { info = 0; (void)fprintf(stderr, - "%s -> %s/%s %3d%%\n", + "%s -> %s%s %3d%%\n", entp->fts_path, to.base, to.path, cp_pct(wtotal, fs->st_size)); } @@ -241,7 +241,7 @@ copy_file(const FTSENT *entp, bool dne, bool beneath) if (pflag && preserve_fd_acls(from_fd, to_fd) != 0) rval = 1; if (close(to_fd)) { - warn("%s/%s", to.base, to.path); + warn("%s%s", to.base, to.path); rval = 1; } @@ -260,7 +260,7 @@ copy_link(const FTSENT *p, bool dne, bool beneath) if (!dne && nflag) { if (vflag) - printf("%s/%s not overwritten\n", to.base, to.path); + printf("%s%s not overwritten\n", to.base, to.path); return (1); } if ((len = readlink(p->fts_path, llink, sizeof(llink) - 1)) == -1) { @@ -269,7 +269,7 @@ copy_link(const FTSENT *p, bool dne, bool beneath) } llink[len] = '\0'; if (!dne && unlinkat(to.dir, to.path, atflags) != 0) { - warn("unlink: %s/%s", to.base, to.path); + warn("unlink: %s%s", to.base, to.path); return (1); } if (symlinkat(llink, to.dir, to.path) != 0) { @@ -286,15 +286,15 @@ copy_fifo(struct stat *from_stat, bool dne, bool beneath) if (!dne && nflag) { if (vflag) - printf("%s/%s not overwritten\n", to.base, to.path); + printf("%s%s not overwritten\n", to.base, to.path); return (1); } if (!dne && unlinkat(to.dir, to.path, atflags) != 0) { - warn("unlink: %s/%s", to.base, to.path); + warn("unlink: %s%s", to.base, to.path); return (1); } if (mkfifoat(to.dir, to.path, from_stat->st_mode) != 0) { - warn("mkfifo: %s/%s", to.base, to.path); + warn("mkfifo: %s%s", to.base, to.path); return (1); } return (pflag ? setfile(from_stat, -1, beneath) : 0); @@ -307,15 +307,15 @@ copy_special(struct stat *from_stat, bool dne, bool beneath) if (!dne && nflag) { if (vflag) - printf("%s/%s not overwritten\n", to.base, to.path); + printf("%s%s not overwritten\n", to.base, to.path); return (1); } if (!dne && unlinkat(to.dir, to.path, atflags) != 0) { - warn("unlink: %s/%s", to.base, to.path); + warn("unlink: %s%s", to.base, to.path); return (1); } if (mknodat(to.dir, to.path, from_stat->st_mode, from_stat->st_rdev) != 0) { - warn("mknod: %s/%s", to.base, to.path); + warn("mknod: %s%s", to.base, to.path); return (1); } return (pflag ? setfile(from_stat, -1, beneath) : 0); @@ -341,7 +341,7 @@ setfile(struct stat *fs, int fd, bool beneath) tspec[1] = fs->st_mtim; if (fdval ? futimens(fd, tspec) : utimensat(to.dir, to.path, tspec, atflags)) { - warn("utimensat: %s/%s", to.base, to.path); + warn("utimensat: %s%s", to.base, to.path); rval = 1; } if (fdval ? fstat(fd, &ts) : @@ -362,7 +362,7 @@ setfile(struct stat *fs, int fd, bool beneath) if (fdval ? fchown(fd, fs->st_uid, fs->st_gid) : fchownat(to.dir, to.path, fs->st_uid, fs->st_gid, atflags)) { if (errno != EPERM) { - warn("chown: %s/%s", to.base, to.path); + warn("chown: %s%s", to.base, to.path); rval = 1; } fs->st_mode &= ~(S_ISUID | S_ISGID); @@ -372,7 +372,7 @@ setfile(struct stat *fs, int fd, bool beneath) if (!gotstat || fs->st_mode != ts.st_mode) { if (fdval ? fchmod(fd, fs->st_mode) : fchmodat(to.dir, to.path, fs->st_mode, atflags)) { - warn("chmod: %s/%s", to.base, to.path); + warn("chmod: %s%s", to.base, to.path); rval = 1; } } @@ -388,7 +388,7 @@ setfile(struct stat *fs, int fd, bool beneath) * that we copied, i.e., that we didn't create.) */ if (errno != EOPNOTSUPP || fs->st_flags != 0) { - warn("chflags: %s/%s", to.base, to.path); + warn("chflags: %s%s", to.base, to.path); rval = 1; } } @@ -409,7 +409,7 @@ preserve_fd_acls(int source_fd, int dest_fd) acl_supported = 1; acl_type = ACL_TYPE_NFS4; } else if (ret < 0 && errno != EINVAL) { - warn("fpathconf(..., _PC_ACL_NFS4) failed for %s/%s", + warn("fpathconf(..., _PC_ACL_NFS4) failed for %s%s", to.base, to.path); return (-1); } @@ -419,7 +419,7 @@ preserve_fd_acls(int source_fd, int dest_fd) acl_supported = 1; acl_type = ACL_TYPE_ACCESS; } else if (ret < 0 && errno != EINVAL) { - warn("fpathconf(..., _PC_ACL_EXTENDED) failed for %s/%s", + warn("fpathconf(..., _PC_ACL_EXTENDED) failed for %s%s", to.base, to.path); return (-1); } @@ -429,12 +429,12 @@ preserve_fd_acls(int source_fd, int dest_fd) acl = acl_get_fd_np(source_fd, acl_type); if (acl == NULL) { - warn("failed to get acl entries while setting %s/%s", + warn("failed to get acl entries while setting %s%s", to.base, to.path); return (-1); } if (acl_is_trivial_np(acl, &trivial)) { - warn("acl_is_trivial() failed for %s/%s", + warn("acl_is_trivial() failed for %s%s", to.base, to.path); acl_free(acl); return (-1); @@ -444,7 +444,7 @@ preserve_fd_acls(int source_fd, int dest_fd) return (0); } if (acl_set_fd_np(dest_fd, acl, acl_type) < 0) { - warn("failed to set acl entries for %s/%s", + warn("failed to set acl entries for %s%s", to.base, to.path); acl_free(acl); return (-1); @@ -465,7 +465,7 @@ preserve_dir_acls(const char *source_dir, const char *dest_dir) dest_fd = (*dest_dir == '\0') ? to.dir : openat(to.dir, dest_dir, O_DIRECTORY, AT_RESOLVE_BENEATH); if (dest_fd < 0) { - warn("%s: failed to copy ACLs to %s/%s", source_dir, + warn("%s: failed to copy ACLs to %s%s", source_dir, to.base, dest_dir); close(source_fd); return (-1); From nobody Thu May 15 12:44:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zyqfz5HBYz5wHlB; Thu, 15 May 2025 12:44: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 4Zyqfz4rXRz3ZN7; Thu, 15 May 2025 12:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747313099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+RhVlvt8/fMc7MM3voyGjRtnUrgKsKd+2iaxMKL2j6M=; b=g8dmj3BM4UqmhXIxUSrSq9Oo0A+MxgnjfZNX4MPpUSHBQqkZj1J2VfwUzJpEBuxY3+jEgX ihv8RbvNDJAyJQfzwLVMfhWdNjErTJP5w4spIG7KnK3OKYbf4O2gY736fqNErX2kvwiebz J626UlS1lqJLeOZXCOkeLfk6+9iOU1jQwvUkCkXlk862TpRXt6ftI63C7k0uv2xfZ37mbG UN9Rp7qn2Pe2qnpVnmhMeDePqtu8hNsQQmcGpRUMW4DfPdGM7vqtPRfzYCBSibBqofWIGm PWfxEBQJt5j4euS5qvp6h4YTmBEtUcEReTLWWWuTvsyfw6WIgkiyfIqIfQaT7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747313099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+RhVlvt8/fMc7MM3voyGjRtnUrgKsKd+2iaxMKL2j6M=; b=gbxU5JrtMtofYOUX/Sob85yWFRO8EV0piX4W7GqXeoTCbzVrPFjfI4ITMvSJkSU5oFaXKt HnxeWNjg5kANKxafGjgMA9wWCiVgTGW739EPPjBOAhMocHjM2TRNZMQTLxkH3z5LYjy69N 6vkP1F7Pt3j+8Z3mI6rU7vmO5E9Qj74VqdAL00otMMt60eZND4ROus9ByYLLgANia38i2R jHAo6FxC/aqp2pLOcZMZXNFW31NjVto++khuxsKwFipcxcIzq1r8fmfGJoI/kGesTsgqf0 QZQXfQwGwArRA//OCbz8Uy0PVLUWuTCydKe0+ag6wScGOvOianFGVf3thFMvMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747313099; a=rsa-sha256; cv=none; b=ykbL18+DKIFK/V1EDfOg29RLWlw1djFaiViloPaYeK3rxgnFZDh5M2L6JQXMnReptatJh8 BYGkoL2ykfFZwA2g7+PSSU44oPylhMB8D3BEmUywBgCgcbraQnhAKfcGGnCN8LrHwtdV61 V/+88Z+M1ze/XCmNBz9UDh2mawlXMZptVmFlny7PXRDmN42JMgquQIarlrc2NKCBKhe8qQ O6B+XZkmmB6KTYOQYWcVMWfAqYNojdASJk0DGxeGtOG2zqBwERxqJa4EwlLVfKSFlm7LmF +asVJxjX/Xd2dXFYHZ1tSbd6ABeJd06YX5yiVvD+JRILaDUt3ykago4yXt/Uwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zyqfz3ylQz3P6; Thu, 15 May 2025 12:44: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 54FCixQG070024; Thu, 15 May 2025 12:44:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FCixIh070020; Thu, 15 May 2025 12:44:59 GMT (envelope-from git) Date: Thu, 15 May 2025 12:44:59 GMT Message-Id: <202505151244.54FCixIh070020@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: c808bee35b11 - main - e6000sw.4: Add HISTORY List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c808bee35b1129abd9af137204ebd15559b90b5b Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c808bee35b1129abd9af137204ebd15559b90b5b commit c808bee35b1129abd9af137204ebd15559b90b5b Author: Alexander Ziaee AuthorDate: 2025-05-15 01:02:25 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-15 12:42:32 +0000 e6000sw.4: Add HISTORY MFC after: 3 days Reviewed by: mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D50358 --- share/man/man4/e6000sw.4 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/share/man/man4/e6000sw.4 b/share/man/man4/e6000sw.4 index cbec33e459f8..92a3b5c8ed0b 100644 --- a/share/man/man4/e6000sw.4 +++ b/share/man/man4/e6000sw.4 @@ -39,3 +39,8 @@ Marvell 88E6141 .Xr e6060sw 4 , .Xr etherswitch 4 , .Xr etherswitchcfg 8 +.Sh HISTORY +The +.Nm +driver appeared in +.Fx 11.0 . From nobody Thu May 15 13:53:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZysBX2p0Sz5wNJd; Thu, 15 May 2025 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 4ZysBX1hwjz3Hxx; Thu, 15 May 2025 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=1747317236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OwJHGQW6BydlJNFDpT5cDO5xsGz23DlkHmo6pX9th1w=; b=YR3A34NUYi4s2Dt/u7CV9tG/gukUX15IWJiU1d4kgNYMbJreucgePP6UoB0zRrMnFDu1YF INDjhOGmJHoBbsiYMOjLtv7SlE9GIbKvsGE5mwHry0BwosnaqL8UMVxFpW4aNvtxORhlY0 kwXsCCGDgNNFAAt4O0w+TjPR2eU+W1lNXRxf2mrpQQGIcoIZcgufsfQmqRcWFfB8wYizX3 8KW1Ue8QPhprLfR28gOAVX7rUT9jeKKtmU2C4pMePrla4A2nPytbVzO9yLLFYTYjCCztEK TvHylXQ1GdPeb2nUYKrtxFsS9QampC5DP9/B4yxlrDgC6yf6w5IBwiFKtZtNEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747317236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OwJHGQW6BydlJNFDpT5cDO5xsGz23DlkHmo6pX9th1w=; b=nWFynkfbFk8mgSWZrxOp1KoLiwX6B+jZ3NOy+XqTMfQgJ8/2Wd+Z+f53vEybwYNN7wRvTm w+Vqcp+O2mwei3HGhfNN10DefPBKhj+6rSwTbUSrzJaRa7MLqKTxKUTGHkVNxyvIHv/aH+ pdGFXCdqS2+tAkIbWnvUt68qaKvDYaYtKK7ZP4eDUM6HrQk8t/kxLIrHvej7e/BdnSWGMA phXbFY9rJVygEfNXkRC5GdOk+v2XyTvkMa53XVs0RU6fjtMRmtW6AhM3F4pP5CRUGlHPzE 6d51Gr3t22wNoNy8Vvo2MKkSaSsDnlujvtibn0PXR1CW3VwAf1roclSB8rSdxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747317236; a=rsa-sha256; cv=none; b=lGyT0rsaqCJBWvt/HERz201JPhpx5XNxW/qqpbnDaca2iLnOdnh1V+f5Vki4duZN8NApPF XbpmQ/Wwx+hmYrju2SmkUTBIha+EkmuCL/zZzg672xlM+Li7eqmCktdCQY7w6iBIQ0Ktxq 9z9hjNqyX6eD3TYugjFlWOwewiIiP7Uqm0uJmzu9sms/9rJsmGndqMoXc6qWQq+QOiAAOJ XnERVKmvyfsa9KKhLkR0lWPjshCrczEy97ROJzDvcXSIP8zLCLfMJeyFPPeZk/tJwOg3AS Jg7jaM7oWFu0eWgQkLk2T41HxSSOQ5xKcBj/MdkjtkLS7xqr/VqctzgMvhSedg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZysBX1FwTz4nK; Thu, 15 May 2025 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 54FDruwP000547; Thu, 15 May 2025 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 54FDru7I000544; Thu, 15 May 2025 13:53:56 GMT (envelope-from git) Date: Thu, 15 May 2025 13:53:56 GMT Message-Id: <202505151353.54FDru7I000544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 13e520658ec0 - main - fdt_loader_cmd.c: fix compilation with DEBUG List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 13e520658ec0cce6e450a587aa3a2b560fc86616 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=13e520658ec0cce6e450a587aa3a2b560fc86616 commit 13e520658ec0cce6e450a587aa3a2b560fc86616 Author: Mitchell Horne AuthorDate: 2024-11-12 15:39:28 +0000 Commit: Mitchell Horne CommitDate: 2025-05-15 13:53:31 +0000 fdt_loader_cmd.c: fix compilation with DEBUG It was broken on 64-bit platforms. --- stand/fdt/fdt_loader_cmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/fdt/fdt_loader_cmd.c b/stand/fdt/fdt_loader_cmd.c index c51e8c5ab583..226812a5d2a6 100644 --- a/stand/fdt/fdt_loader_cmd.c +++ b/stand/fdt/fdt_loader_cmd.c @@ -990,7 +990,7 @@ int fdt_copy(vm_offset_t va) { int err; - debugf("fdt_copy va 0x%08x\n", va); + debugf("fdt_copy va 0x%08jx\n", (uintmax_t)va); if (fdtp == NULL) { err = fdt_setup_fdtp(); if (err) { From nobody Thu May 15 14:01:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZysMc3L9rz5wPG5; Thu, 15 May 2025 14:01:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZysMc1krCz3QSY; Thu, 15 May 2025 14:01:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747317708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4hJRwro+XHr5eeFg8tO29ca7Uzu4eE8RWK1iJ6PC+UQ=; b=pEVsh+YBEuPoaKgNI2pakolW2FdbzLnMtFhZ11/pythdo9orqcWxuTxzGv9yDTFjxOSbYb 8ed5+qQs4R5fQgBmaid4Ht4uwHggUMiMgkjohYSTsfwFUqI4/KagsTdPRtOPkMB7MWNf4X I9ntongGMUfb8ociqbDKyYptQYU8X1EYzz43QspiYlmbaf5b6yOrjKi80NeLElnJc8z8qu lCknL7LlvaUwrjzWYK8OYyUXpTG/ho6vnUHxkYlnmpIpFEOTk/bOhcKPEnoE/iCVh6/M1z vrWqovad7b3FwXDKmFqSULAvDO+PX0ZuWNzkShOv6WVe6xLT30QvFxGWg0VSuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747317708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4hJRwro+XHr5eeFg8tO29ca7Uzu4eE8RWK1iJ6PC+UQ=; b=Gmy23oJ+v1HRbiE3vBmRSCV+i8OEsMksxarjTeO09YRcxOJ+T45IxsbLLIrH93EuOZ0jnH mKbAWgiTkMsk2C0+ai/9ZJtuFZJFlOO8YP8iXmx7AZohPifK916Qu1PBYyPxW0zpRyAVHi vJWP96VngnSj2RlG+idN8RrBX35snEPTfUPMxgngAANiootkn8++yw6p9NX8eVgXIztiH6 o5X8qXs2Q3Qjm8Pj/wZzaMaFfrNrFH6ci0Gept1+sfkw2Ocg5lfOe6XB5zN02hHyFM2lYv BJbUqvL+1UxyirIn3eD6eJZZFuxhnAtJAKYDciF7WBC4ngZ6SN3YECtZi/nPTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747317708; a=rsa-sha256; cv=none; b=vBe62zSXRLy/uJYdzmG9Y4RfiVfuHdM0Gtbo5ya5HZSnE9DKyDFl9UKM6PTOBkSEVa8Qtq 3xOFSg0vpyX6F8CJ6tFCROM3hgBQ+L0U+cuLacwbKiTvWPlrlmU4Vg8hDsmgoDeEJuiCkR ArClObiWV7jZstj9PHSBo7QcpUL+PykmZ4ejX43ZpOkWd5OFz0n7u7u5NfERyF5s8IsR5p wyKVvXvouytNW5H1AJiGobP174o9cmnMindFAuEY2TfpFe2QDVW4ztk4lG9WRLv47yUBJq HXqT7EZbKS/dOmwhjbCQQqv2rRJ4NspYnq4mREVB/+ZZvkboddk7Fin7DgvO+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZysMc1LjPz59K; Thu, 15 May 2025 14:01:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54FE1m7U018533; Thu, 15 May 2025 14:01:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FE1mBv018530; Thu, 15 May 2025 14:01:48 GMT (envelope-from git) Date: Thu, 15 May 2025 14:01:48 GMT Message-Id: <202505151401.54FE1mBv018530@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: e8b9d839b1fa - main - bhyve: make code to handle non-backed memory accesses MD List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e8b9d839b1fae2913dc861341b9363d41cd45173 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e8b9d839b1fae2913dc861341b9363d41cd45173 commit e8b9d839b1fae2913dc861341b9363d41cd45173 Author: Konstantin Belousov AuthorDate: 2025-05-01 07:11:00 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-15 14:01:40 +0000 bhyve: make code to handle non-backed memory accesses MD PR: 286467 Reviewed by: markj (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50116 --- usr.sbin/bhyve/aarch64/Makefile.inc | 1 + usr.sbin/bhyve/amd64/Makefile.inc | 1 + usr.sbin/bhyve/mem.c | 26 ++++++++++++++++------ usr.sbin/bhyve/mem.h | 2 ++ usr.sbin/bhyve/mem_md.c | 44 +++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/riscv/Makefile.inc | 3 ++- 6 files changed, 69 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/aarch64/Makefile.inc b/usr.sbin/bhyve/aarch64/Makefile.inc index af458e719d44..9f187a6e4db7 100644 --- a/usr.sbin/bhyve/aarch64/Makefile.inc +++ b/usr.sbin/bhyve/aarch64/Makefile.inc @@ -1,5 +1,6 @@ SRCS+= \ fdt.c \ + mem_md.c \ rtc_pl031.c \ uart_pl011.c diff --git a/usr.sbin/bhyve/amd64/Makefile.inc b/usr.sbin/bhyve/amd64/Makefile.inc index 53320a70178b..0a9b13901978 100644 --- a/usr.sbin/bhyve/amd64/Makefile.inc +++ b/usr.sbin/bhyve/amd64/Makefile.inc @@ -7,6 +7,7 @@ SRCS+= \ inout.c \ ioapic.c \ kernemu_dev.c \ + mem_md.c \ mptbl.c \ pci_fbuf.c \ pci_gvt-d.c \ diff --git a/usr.sbin/bhyve/mem.c b/usr.sbin/bhyve/mem.c index b0c09dbf5ddf..2d7d012d084b 100644 --- a/usr.sbin/bhyve/mem.c +++ b/usr.sbin/bhyve/mem.c @@ -33,6 +33,7 @@ */ #include +#define _WANT_KERNEL_ERRNO 1 #include #include #include @@ -167,10 +168,13 @@ static int access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) { struct mmio_rb_range *entry; + struct mem_range *mr; int err, perror, immutable, vcpuid; vcpuid = vcpu_id(vcpu); + mr = NULL; pthread_rwlock_rdlock(&mmio_rwlock); + /* * First check the per-vCPU cache */ @@ -185,14 +189,22 @@ access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) if (mmio_rb_lookup(&mmio_rb_root, paddr, &entry) == 0) { /* Update the per-vCPU cache */ mmio_hint[vcpuid] = entry; - } else if (mmio_rb_lookup(&mmio_rb_fallback, paddr, &entry)) { - perror = pthread_rwlock_unlock(&mmio_rwlock); - assert(perror == 0); - return (ESRCH); + } else if (mmio_rb_lookup(&mmio_rb_fallback, paddr, + &entry) == 0) { + } else { + err = mmio_handle_non_backed_mem(vcpu, paddr, &mr); + if (err != 0) { + perror = pthread_rwlock_unlock(&mmio_rwlock); + assert(perror == 0); + return (err == EJUSTRETURN ? 0 : err); + } } } - assert(entry != NULL); + if (mr == NULL) { + assert(entry != NULL); + mr = &entry->mr_param; + } /* * An 'immutable' memory range is guaranteed to be never removed @@ -205,13 +217,13 @@ access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) * deadlock on 'mmio_rwlock'. However by registering the extended * config space window as 'immutable' the deadlock can be avoided. */ - immutable = (entry->mr_param.flags & MEM_F_IMMUTABLE); + immutable = (mr->flags & MEM_F_IMMUTABLE) != 0; if (immutable) { perror = pthread_rwlock_unlock(&mmio_rwlock); assert(perror == 0); } - err = cb(vcpu, paddr, &entry->mr_param, arg); + err = cb(vcpu, paddr, mr, arg); if (!immutable) { perror = pthread_rwlock_unlock(&mmio_rwlock); diff --git a/usr.sbin/bhyve/mem.h b/usr.sbin/bhyve/mem.h index 90172d1c9124..d7544a6bce30 100644 --- a/usr.sbin/bhyve/mem.h +++ b/usr.sbin/bhyve/mem.h @@ -53,6 +53,8 @@ struct mem_range { void init_mem(int ncpu); int emulate_mem(struct vcpu *vcpu, uint64_t paddr, struct vie *vie, struct vm_guest_paging *paging); +int mmio_handle_non_backed_mem(struct vcpu *vcpu __unused, uint64_t paddr, + struct mem_range **mr_paramp); int read_mem(struct vcpu *vpu, uint64_t gpa, uint64_t *rval, int size); int register_mem(struct mem_range *memp); diff --git a/usr.sbin/bhyve/mem_md.c b/usr.sbin/bhyve/mem_md.c new file mode 100644 index 000000000000..0e29ec0a9de9 --- /dev/null +++ b/usr.sbin/bhyve/mem_md.c @@ -0,0 +1,44 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include "mem.h" + +int +mmio_handle_non_backed_mem(struct vcpu *vcpu __unused, uint64_t paddr __unused, + struct mem_range **mr_paramp __unused) +{ + return (ESRCH); +} diff --git a/usr.sbin/bhyve/riscv/Makefile.inc b/usr.sbin/bhyve/riscv/Makefile.inc index 2b57201c6259..591bd119d5d1 100644 --- a/usr.sbin/bhyve/riscv/Makefile.inc +++ b/usr.sbin/bhyve/riscv/Makefile.inc @@ -1,5 +1,6 @@ SRCS+= \ - fdt.c + fdt.c \ + mem_md.c .PATH: ${BHYVE_SYSDIR}/sys/riscv/vmm SRCS+= vmm_instruction_emul.c From nobody Thu May 15 14:01:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZysMd5L1qz5wNxY; Thu, 15 May 2025 14:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZysMd2mqgz3QKL; Thu, 15 May 2025 14:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747317709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+q9YFuBdr5fRgI6JsoKIkeZcdixnyMu0/xlG++dM9DM=; b=M1wPSyiRP7r3fJgDUCSi6lAKczFxmHRlqHomwtyvt1pAbiYTC0tPvVHlbOhJU2foxa5UEL gyD8Yo4RAWOaywBKceaFYIPyc1EAefiiPxT93ALeZ8m8Sp/pF7YI9ctna0sFGd0hLD1S+L +rY+B2HfEQ491FjtPa32nDS6s/AIA0Z3BBIzAAdsgEcxy80q7/yDDc6D3Ue72IAVEHVb6t gyg1eM1lf7v7YcL3O8nBOI8V3b0MDT53ETcbR924xnhVlL7i5ELdzdoXDIBpnT1xz2uKic aNmPHBxXqFbWoy/gJxUmeyezXsv101nSGC86LVFG9PD553nqgEKyU8KBslEnzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747317709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+q9YFuBdr5fRgI6JsoKIkeZcdixnyMu0/xlG++dM9DM=; b=LH8ICdeo0n6qmzWX5wZ29w0b+itiLw9CTKJ+FvHfch0+e3SnAnyDfVCNqguV50YnDvkzla j+eFOKujnFEZEil3dR2E7bPg905kMw2VtET4LnHUvhY3cgdNGquwqVH56upj5HLVqQ5Z5/ 1NkzteNr1Z1aGxk4nxWqf4PZKd55OB4uP0Ih96KjlTQlQQSOOcMjxLG4tc39VlVvtjx3IP vHoPvvjBtWon3C7xjZUmenCaO7plNCo/LbWhT0Tec5Yhhq14QaRmWz6D9pEWOMytghe/aQ rehMHPXsaMiy+LQdXfywI0mp2WYCPy3oHEWkWC6X4aFsqAX4Q9Z/ZXRCXmziaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747317709; a=rsa-sha256; cv=none; b=pUwNbXHAXJ0k4jUgnPdnjftq893GKku81nBAjnGp6aNk5BkbhzUM1Ry3SmpO+O1k2KXZZF iaPmgwv7E8K7/zEM4dz4rj/C6NS7bfmc1T1Ku0Wn9PCeVm7ac0kNnvnkzC5+q/5NdKAAf2 zWizQ8X86ttVXYHhgH7yfKCPeDBMScrGKHrI3qqi0lZkNcCgMH/173hTdOESrwBDKst/DC mTdrz3ZCZVb8aNNmrpWzyAHykOtUtUkst8rtQ18CjJVg5vPmYqV0Z3I7LOi3tHE6/aes3j 6Yi/w4sRp3DXly5NkgU25orJJqhNAVlo4kaieorwWzvMBa8JPA9k4TRoPS+sJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZysMd2GDgz4nf; Thu, 15 May 2025 14:01: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 54FE1n6g018573; Thu, 15 May 2025 14:01:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FE1nTk018570; Thu, 15 May 2025 14:01:49 GMT (envelope-from git) Date: Thu, 15 May 2025 14:01:49 GMT Message-Id: <202505151401.54FE1nTk018570@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d8c4c2ce68ee - main - bhyve x86: when accessing non-backed gpa, emulate hw List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8c4c2ce68eec8bac4e5cd0d133b8342e7a7f05d Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d8c4c2ce68eec8bac4e5cd0d133b8342e7a7f05d commit d8c4c2ce68eec8bac4e5cd0d133b8342e7a7f05d Author: Konstantin Belousov AuthorDate: 2025-05-04 17:01:20 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-15 14:01:40 +0000 bhyve x86: when accessing non-backed gpa, emulate hw which reads all bits one, and ignores writes. PR: 286467 Reviewed by: markj (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50116 --- usr.sbin/bhyve/amd64/Makefile.inc | 2 +- usr.sbin/bhyve/amd64/mem_x86.c | 82 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/amd64/Makefile.inc b/usr.sbin/bhyve/amd64/Makefile.inc index 0a9b13901978..92e53433ff01 100644 --- a/usr.sbin/bhyve/amd64/Makefile.inc +++ b/usr.sbin/bhyve/amd64/Makefile.inc @@ -7,7 +7,7 @@ SRCS+= \ inout.c \ ioapic.c \ kernemu_dev.c \ - mem_md.c \ + mem_x86.c \ mptbl.c \ pci_fbuf.c \ pci_gvt-d.c \ diff --git a/usr.sbin/bhyve/amd64/mem_x86.c b/usr.sbin/bhyve/amd64/mem_x86.c new file mode 100644 index 000000000000..742d827db47f --- /dev/null +++ b/usr.sbin/bhyve/amd64/mem_x86.c @@ -0,0 +1,82 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include + +#include + +#include "debug.h" +#include "mem.h" + +static int +no_mem_handler(struct vcpu *vcpu __unused, int dir, uint64_t addr __unused, + int size, uint64_t *val, void *arg1 __unused, long arg2 __unused) +{ + if (dir == MEM_F_READ) { + switch (size) { + case 1: + *val = 0xff; + break; + case 2: + *val = 0xffff; + break; + case 4: + *val = 0xffffffff; + break; + case 8: + *val = 0xffffffffffffffff; + break; + } + } + return (0); +} + +static struct mem_range fb_entry = { + .handler = no_mem_handler, + .base = 0, + .size = 0xffffffffffffffff, +}; + +/* + * x86 hardware ignores writes without receiver, and returns all 1's + * from reads without response to transaction. + */ +int +mmio_handle_non_backed_mem(struct vcpu *vcpu __unused, uint64_t paddr, + struct mem_range **mr_paramp) +{ + *mr_paramp = &fb_entry; + EPRINTLN("Emulating access to non-existent address to %#lx\n", + paddr); + return (0); +} From nobody Thu May 15 14:01:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZysMf65Xkz5wP21; Thu, 15 May 2025 14:01: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 4ZysMf3p2Rz3QYq; Thu, 15 May 2025 14:01:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747317710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lDGdvCdTxEcJM/Vsd3869t7y+72Js9QbnMJmPWWs7Os=; b=canzHD7Orj29Cfeit3cmd6HPG4El3HAF+85X+QQC11xycR8VmkRL0VxTLifiXiQbe8894J HbdzaYJ4PqhjKlPDX5yyvk5A72mq9RW1cd0xhlEcX7Zxro8DYOTZ66gO++2ZttrkUUiTnh kyNXf81Iv7eWrwGKgsPrM3Y3oNqveOsoPjl7OcXKtjysp52mSH2MfyofIofMy727Y0rf6Z aI+4Fcs9vT5cpjT1uXn92dNhjyl14EYFL3W1oVjbZLpAoZY41uPkv9UDK9DviX5HaC1AEn pGAmS6ahzH6qqvLuaVUL2OhyRYxmU7SCsXGchp1dJmsCqmvdarhQfHoa2hoteA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747317710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lDGdvCdTxEcJM/Vsd3869t7y+72Js9QbnMJmPWWs7Os=; b=JOK89w9pgqyX4n99NP5KhMBj9p3QFDl4XmM5HSx+Z/FVEXSJNPCvfrls71jheYkvOxzxiW N2yUd0MtxextnPNPdJMP7ESJqxmXC7AR9N/1pXYr+FsmglIrjmuZjMp7Vd8FxVVX2hVGHa 6/t1LKqLU7TKxmFJQSGmTk+wQ1CE2KACy515aE3CSavXixMovC+f6XVDWc6dKp/GIQrDHr O+b0hFU5FxhPgLcz/nT5FjeeeKW2UKI9kEqrK2R1Gs5H0IaunHXelPrvMguMUtDpzMBP6T Rgu4wzIi3y5xsMTlvU6eZL5Ff++ASJiJq0xq6ruJRpR/TXUH7yAKr4DJS68Puw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747317710; a=rsa-sha256; cv=none; b=DhrSC07mIlP4ev8yhtWhvTDK0KKw748qeSoGBP4gGNWgHH80ksUt1DKCRRq0cuctXgnUbw LLLRZlAVaeMKh8YFllW/+evO/WgqLCNdN+U3UEO+0/aZ8xtmJ/QEvcigBIveKCmZHHDOdB c3J/MoyUrusfSKWczXCcNWgkCwzzDxgQyrUwV4+I/jCR655alTK+eYQ72nz847/A3lvqPI kW3gOE5YMWZPntws27K8kKFdYtiS2XlIBWYSBNR27V+oqzam4CHuIuJVWGoTi4iBDEjltu 3mlDB+wUele6x9Oj9eSVdPEIUZCIelg1y53/fvMYq+Q2Yno9HYNG2zqK/DdUOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZysMf3BpZz5VZ; Thu, 15 May 2025 14:01: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 54FE1oqg018607; Thu, 15 May 2025 14:01:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FE1o4t018604; Thu, 15 May 2025 14:01:50 GMT (envelope-from git) Date: Thu, 15 May 2025 14:01:50 GMT Message-Id: <202505151401.54FE1o4t018604@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: e9131d5545d5 - main - bhyve aarch64: generate SError exception when accessing non-backed gpa List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9131d5545d56c7c9a2922bd745812ae2cd7426f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e9131d5545d56c7c9a2922bd745812ae2cd7426f commit e9131d5545d56c7c9a2922bd745812ae2cd7426f Author: Konstantin Belousov AuthorDate: 2025-05-09 09:08:46 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-15 14:01:40 +0000 bhyve aarch64: generate SError exception when accessing non-backed gpa Reviewed by: andrew Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50116 --- usr.sbin/bhyve/aarch64/Makefile.inc | 2 +- usr.sbin/bhyve/aarch64/mem_aarch64.c | 58 ++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/aarch64/Makefile.inc b/usr.sbin/bhyve/aarch64/Makefile.inc index 9f187a6e4db7..7c1417ec6956 100644 --- a/usr.sbin/bhyve/aarch64/Makefile.inc +++ b/usr.sbin/bhyve/aarch64/Makefile.inc @@ -1,6 +1,6 @@ SRCS+= \ fdt.c \ - mem_md.c \ + mem_aarch64.c \ rtc_pl031.c \ uart_pl011.c diff --git a/usr.sbin/bhyve/aarch64/mem_aarch64.c b/usr.sbin/bhyve/aarch64/mem_aarch64.c new file mode 100644 index 000000000000..902d16fa7c51 --- /dev/null +++ b/usr.sbin/bhyve/aarch64/mem_aarch64.c @@ -0,0 +1,58 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#define _WANT_KERNEL_ERRNO 1 +#include +#include +#include +#include +#include +#include + +#include "mem.h" + +int +mmio_handle_non_backed_mem(struct vcpu *vcpu, uint64_t paddr, + struct mem_range **mr_paramp __unused) +{ + int err; + uint64_t spsr, esr; + + if (vm_get_register(vcpu, VM_REG_GUEST_CPSR, &spsr) == -1) + return (errno); + if ((spsr & PSR_M_MASK) == PSR_M_EL0t) + esr = EXCP_DATA_ABORT_L << ESR_ELx_EC_SHIFT; + else + esr = EXCP_DATA_ABORT << ESR_ELx_EC_SHIFT; + esr |= ESR_ELx_IL | ISS_DATA_DFSC_EXT; + err = vm_inject_exception(vcpu, esr, paddr); + return (err != 0 ? err : EJUSTRETURN); +} From nobody Thu May 15 14:23:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zysrd4jGqz5wQmx; Thu, 15 May 2025 14:23: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 4Zysrd3tHfz3c90; Thu, 15 May 2025 14:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7emMQ5pF+I5zqUfmDNLDYxw9A5DL3rNCKUQA/yI1f8s=; b=alSYrNNNbGFnzqbh4qemZV7WM46ZzB7e6nwxaQkSY+a7WA4ZiPh09ElzqFiVGRBTVXojjk ZjXbKjKtRBq7lqrydZ8TiZ/MTPdRylpb4bs4k5Sq8khhmKtt7d+AT5sAa+sIEJBQQPsNxI tv/5oJe3d+h2XuIzv5DyeAoPD9WFJlQgCe4mTr7+YPH5troxoMWaST06gUTvOkCEPAXYaj QOlgGTjlcIKPV22uS1hdkjMkiD/KS36PSKWv3JIVjQvg9xcU74S8Mcsj4B8peRElVR30qi Gi6cLWKZ7buTrUOYrA9OYUNXANQ56V40HvXrSwpxHDZ+u8Bvcq5FQ+MMDN8ftg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7emMQ5pF+I5zqUfmDNLDYxw9A5DL3rNCKUQA/yI1f8s=; b=NJE4ftgGQsSdgeCai6zh8TNDtU+6edU6bW5YZktz5S+r6uXXEMcD96WjSowwt2NOofACo2 CpqutmejOTc7mY0dR6UfyH0gJIzqU3uSYzTs1R9HqG9D1u35OaH46L1OSa0NPJ+P214iBI U49+Nj05/fOHUg3YovZeWOsdliQzAivacSq8W3NhOU8JFlHK1UqwvC4eaPE4m/XSxJDDRP D016VGRkIKebPhWXHxhBamX/sNF21BDprS5n5Qvlf0+IPIvQdXfK/8sMrqJz+qH8tyLhJp Go+/WSTspk4yLui3F/9kIM42bN/kMyy3WI8dvOKK3swf63kYvKoe2A6cfvie0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747319009; a=rsa-sha256; cv=none; b=s7Vg8vaBKpI+43f4v1DYOLSzEeC5crvMixiV2RaRp5d0P53J/98msDxNXUzk4YIbddt0X0 JWr9ISQz+LoIosBfAF+yaa5hl/MoRUsVL63CHid9WNEr3FBCe9zOm7yJcmcWrDNHhHl5n3 45DCEHJH7Xfmd3chm7J2ilr09dGpbd9o73qSEqhQepuibnhnmtVXFthLKA0PTIKD3Blt0S uCR5aP0T9nDQovVXM+4jr7LfTuNQ4kp9FmcC6RY2rEayB+Xavgf51hUnCWVwYK1SFV+SDg yPRBjZVpbsV4p8HtR5hHW/5MjflZYCHv137CXlk3EbihWfef4iu9urr66AJSdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zysrd3RGMz63k; Thu, 15 May 2025 14:23: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 54FENTJv057688; Thu, 15 May 2025 14:23:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FENTXl057685; Thu, 15 May 2025 14:23:29 GMT (envelope-from git) Date: Thu, 15 May 2025 14:23:29 GMT Message-Id: <202505151423.54FENTXl057685@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 73f9251c0b52 - main - Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73f9251c0b52ac0bfb2f2baff27493d6bae216f6 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=73f9251c0b52ac0bfb2f2baff27493d6bae216f6 commit 73f9251c0b52ac0bfb2f2baff27493d6bae216f6 Author: Olivier Certner AuthorDate: 2025-05-02 12:47:32 +0000 Commit: Olivier Certner CommitDate: 2025-05-15 14:22:53 +0000 Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments Change the formulae so that 'maxproc' and 'maxfiles' are computed based on the physical memory amount, and not the corresponding number of pages. Make sure that the practical results are unchanged for all architectures (which is possible since all have 4096 as their PAGE_SIZE). Despite this, we do this change to make it clearer how many units of these values are computed per MB, which is easier on readers. Change the comments accordingly and expand them to indicate which parts of the computations are actually not used by default. In passing, fix the comments about default values and limits for 'maxfiles' (they were off). No functional change (intended). MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50124 --- sys/kern/subr_param.c | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index f4359efec466..471640c290a7 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -69,13 +69,14 @@ # define HZ_VM HZ # endif #endif +/* See the comments in init_param2() for these. */ #define NPROC (20 + 16 * maxusers) -#ifndef NBUF -#define NBUF 0 -#endif #ifndef MAXFILES #define MAXFILES (40 + 32 * maxusers) #endif +#ifndef NBUF +#define NBUF 0 +#endif static int sysctl_kern_vm_guest(SYSCTL_HANDLER_ARGS); @@ -275,13 +276,14 @@ init_param1(void) void init_param2(long physpages) { + long maxproc_clamp, maxfiles_clamp; TSENTER(); /* Base parameters */ maxusers = MAXUSERS; TUNABLE_INT_FETCH("kern.maxusers", &maxusers); if (maxusers == 0) { - maxusers = physpages / (2 * 1024 * 1024 / PAGE_SIZE); + maxusers = pgtok(physpages) / (2 * 1024); if (maxusers < 32) maxusers = 32; #ifdef VM_MAX_AUTOTUNE_MAXUSERS @@ -290,35 +292,43 @@ init_param2(long physpages) #endif /* * Scales down the function in which maxusers grows once - * we hit 384. + * we hit 384 (16MB to get a new "user"). */ if (maxusers > 384) maxusers = 384 + ((maxusers - 384) / 8); } /* - * The following can be overridden after boot via sysctl. Note: - * unless overridden, these macros are ultimately based on maxusers. - * Limit maxproc so that kmap entries cannot be exhausted by - * processes. + * The following can be overridden after boot via sysctl. Note: unless + * overridden, these macros are ultimately based on 'maxusers'. Limit + * maxproc so that kmap entries cannot be exhausted by processes. The + * default for 'maxproc' linearly scales as 16 times 'maxusers' (so, + * linearly with 8 processes per MB up to 768MB, then 1 process per MB; + * overridable by a tunable), and is then clamped at 21 + 1/3 processes + * per MB (which never happens by default as long as physical memory is + * > ~1.5MB). */ maxproc = NPROC; TUNABLE_INT_FETCH("kern.maxproc", &maxproc); - if (maxproc > (physpages / 12)) - maxproc = physpages / 12; + maxproc_clamp = pgtok(physpages) / (3 * 1024 / 64); + if (maxproc > maxproc_clamp) + maxproc = maxproc_clamp; if (maxproc > pid_max) maxproc = pid_max; maxprocperuid = (maxproc * 9) / 10; /* - * The default limit for maxfiles is 1/12 of the number of - * physical page but not less than 16 times maxusers. - * At most it can be 1/6 the number of physical pages. + * 'maxfiles' by default is set to 32 files per MB (overridable by + * a tunable), and is then clamped at 64 files per MB (which thus never + * happens by default). (The default MAXFILES is for all practical + * purposes not used, as it gives a lower value than 32 files per MB as + * soon as there is more than ~2.5MB of memory.) */ - maxfiles = imax(MAXFILES, physpages / 8); + maxfiles = imax(MAXFILES, pgtok(physpages) / (1024 / 32)); TUNABLE_INT_FETCH("kern.maxfiles", &maxfiles); - if (maxfiles > (physpages / 4)) - maxfiles = physpages / 4; + maxfiles_clamp = pgtok(physpages) / (1024 / 64); + if (maxfiles > maxfiles_clamp) + maxfiles = maxfiles_clamp; maxfilesperproc = (maxfiles / 10) * 9; TUNABLE_INT_FETCH("kern.maxfilesperproc", &maxfilesperproc); From nobody Thu May 15 14:23:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zysrf5kbBz5wQkb; Thu, 15 May 2025 14:23: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 4Zysrf54S9z3c6Y; Thu, 15 May 2025 14:23:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lXo+bBo21C2AQYejxpILhIvdQM1IkvtsArMPJFKC+Zs=; b=KiMm1WIV1yrFvgbzvR9iIq+yxkqXXhbP8rWIxfiFGKtTykXzYLpMEq6JLKA1731iql+nzF kroGWwWp6WRrToK2pI9Ex/Ey8YFAl2qcCknOj7u2m+Dc0SiW906zpmWDKUxvCY8squlefi I+wkLJeWv3gFEgxZVpEH9tPwqWdS7FCKpxSMGWPmBJ7xgMB3D9r7ayNqzcgVYfCwnVD+Lh gsr+gGnqVUs/PfXJ6hs/6wP6wpNzMIgivoIe6c5n8NKRouiroHjrZiBne+CHYikyBiIQ2b E9hhwHUNZ8ZFhOwGl1Nlek4Jp+GQbN89QxFqBKzGGpSlZY7yXJgdwx19XZpqog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lXo+bBo21C2AQYejxpILhIvdQM1IkvtsArMPJFKC+Zs=; b=q6wIX7J4CbAmOnvgvdqFKeT0IV1yHfS8IZ82y/Cce2hoL4dUW9hfKANYkjtblFkyCAlqni /1U25yqw/gQ8dpBDn9AGQxSOoj7fEFs2Mj78rNr5ZkwQvPWAfqbKn4mBzi/TfLkmAHU2dt ZhsKMRcW7+9imMK2fzods2k7sz0Uh4JMmIO3xYRYmk23rSjuTaypT/A2DPweO4QdzjzXkX SvB9buamWAhBiM5iLp5dJtvVPMgSB2Ic7zgailBztyCKCgpBnov3zjpMzPys6alghQasm9 K8N2/5qq5bjdgJ2emSSrHGHUYSY+brhXhUG7WFE/ZU4n8b+rCITMyXEuUbCdLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747319010; a=rsa-sha256; cv=none; b=xiNtU+cFQv4X5oHzSzTiVxcpv00cBDybOPj+ygQ1QEWoywJbR03ZIDu2ZYj0LWMPuo0sVa X+aGe/LiwEvUngk/pq7qOjM3buJj43X9KyROUz1aq5BefyWbnmi09xS0FaDZ8O6IgMbR3Z q9v/ov1CUqXbRTqHWSQZiPc1OVytrRMVOQAv6YAHGeuMHPPKDx3ggsZpRBudJls8wkoqJC TdwHQ/o9RNIaBq4cPUHsYmS9OYCjnAm1Fk5nzicSX+tPyI6w4rmyD4uM+BbAmzMuiud4TA PiuD8PBEtAE+S7eEIv+o+zerFxZd16UCgnXT0XjHHAgNL3a7P4F0avrdG5TUvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zysrf4gqZz5vT; Thu, 15 May 2025 14:23: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 54FENUCL057721; Thu, 15 May 2025 14:23:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FENUmx057718; Thu, 15 May 2025 14:23:30 GMT (envelope-from git) Date: Thu, 15 May 2025 14:23:30 GMT Message-Id: <202505151423.54FENUmx057718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 1935cc945642 - main - vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1935cc945642424bb223b570f4be5c4af8e33806 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1935cc945642424bb223b570f4be5c4af8e33806 commit 1935cc945642424bb223b570f4be5c4af8e33806 Author: Olivier Certner AuthorDate: 2025-05-12 11:20:01 +0000 Commit: Olivier Certner CommitDate: 2025-05-15 14:22:58 +0000 vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' Remove the parts that describe what is already in the code formula. Add hints about which of 'physvnodes'/'virtvnodes' takes precedence, and when 'desiredvnodes' becomes smaller than 'maxfiles'. These were both computed analytically and verified experimentally. Reviewed by: kib (older version) MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50130 --- sys/kern/vfs_subr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 5fdd4b6c2474..769586ad0d6b 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -757,15 +757,15 @@ vntblinit(void *dummy __unused) int cpu, physvnodes, virtvnodes; /* - * Desiredvnodes is a function of the physical memory size and the - * kernel's heap size. Generally speaking, it scales with the - * physical memory size. The ratio of desiredvnodes to the physical - * memory size is 1:16 until desiredvnodes exceeds 98,304. - * Thereafter, the - * marginal ratio of desiredvnodes to the physical memory size is - * 1:64. However, desiredvnodes is limited by the kernel's heap - * size. The memory required by desiredvnodes vnodes and vm objects - * must not exceed 1/10th of the kernel's heap size. + * 'desiredvnodes' is the minimum of a function of the physical memory + * size and another of the kernel heap size (UMA limit, a portion of the + * KVA). + * + * Currently, on 64-bit platforms, 'desiredvnodes' is set to + * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which + * 'physvnodes' applies instead. With the current automatic tuning for + * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at + * ~5136MB. */ physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; From nobody Thu May 15 14:24:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZystG033Cz5wQSg; Thu, 15 May 2025 14: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 4ZystF5Xfgz3clQ; Thu, 15 May 2025 14: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=1747319093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gS4MOaY7LRLE1dZwC0mLrHj0JzTRIe3EWubj8gl6iW4=; b=sf2t0aLRicCFi4/fJ9jhHVyx5uXx+4WtgrX4uXj4BMfulIJbdTo0far2p3pyhfJ67ChHhu NxVy+AK8BznKKFjqdcVSTzksldHMZiejuGJjInYtrW6iFLbaRPwZZA95jwapFXgs4sHkO+ hAwLa10Elf01WnsgzFpmR9sQW7nkiqrwuN3nGHef0h8LRC3/HCbxfTp6g3y42Cm03BCnBt xALj9X4uRMCyCp4p6qViPSR/SfMydzdJMiF1ASsslID7x2MIlkY2ocq8HAkXOtCnKdG9Cs IONXdE4qfpLwsB175RM8RM5f8hya0pKpmvqsXgrmFwPOElveTli1IPYih7M2nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gS4MOaY7LRLE1dZwC0mLrHj0JzTRIe3EWubj8gl6iW4=; b=bW90CzPB/9u4OwYKtCr2V5xJUTBep/TzbkQMbyusQj9cZ/z/QYHfyPMeTRyrTo0zVxICMm ShHzjD9ka9OAXgnuzel4Im29K797gQ4JM6ozQgCEMYKRVj2rPdXXxlL9afh8ZZvKttmC1s 2FVUtg4ixe9GZeMZllklKF+rC/qKODq2PCiBSWaOBgNwrlNPQHu0s1vscLVV5jEh7KsU84 fglBZc/LcLyGLAwq/5Y1+ogA6vQ5rVJd4AiZeU8x/tH72DPyfeGy9egQIXfYzktn+kPdvG 0bW3vpvFjccprJGIWXGcd7QAS2Q4UgynnB6kYFSSI69ub2qL1OFO18rpBBUu/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747319093; a=rsa-sha256; cv=none; b=lsd8GQRnRYoJqNOcA9KgzfzKkmkLDE/1SUsXs1LXFftwRG8h8hzGorazjL2FI31EVsaVSM WdJ6NmOigXOd51NEvM6ljtRr9zhGcKyNqPXgtp4OH8hzKGmhc1EVk0ms10jVM4Gsqhq0f8 KjKAp9d9qx+WkfzO6dVfCqgyWkkODz1CGKyl3uMzIMo0dY9rs9BlAj5A/JrJ/0ksXS/414 AvCRLMG+zXnKheb7HVnVmOAvYa/PTZFVoLlWCvgd1ERTwXCLvMNuGQTCQ0F8+Ae4XfHC80 oeDo9oy2QX2a95sZDOwJI9hj4mMQYYOJYu1NoAc/VDtVrr4DcIMwSml4pDGG/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZystF54cqz6Ky; Thu, 15 May 2025 14: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 54FEOrUb058253; Thu, 15 May 2025 14:24:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FEOr7w058250; Thu, 15 May 2025 14:24:53 GMT (envelope-from git) Date: Thu, 15 May 2025 14:24:53 GMT Message-Id: <202505151424.54FEOr7w058250@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: ae28929b7c78 - main - libusb: use eventfd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae28929b7c78267815e994e0ad12e3cc7db361bc Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=ae28929b7c78267815e994e0ad12e3cc7db361bc commit ae28929b7c78267815e994e0ad12e3cc7db361bc Author: Baptiste Daroussin AuthorDate: 2025-05-15 13:21:50 +0000 Commit: Baptiste Daroussin CommitDate: 2025-05-15 14:24:46 +0000 libusb: use eventfd Simplify libusb code by replacing pipe(2) inter thread event mecanism with eventfd(2). MFC After: 3 weeks Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50360 --- lib/libusb/libusb10.c | 20 +++++++------------- lib/libusb/libusb10.h | 2 +- lib/libusb/libusb10_io.c | 5 ++--- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/lib/libusb/libusb10.c b/lib/libusb/libusb10.c index afa25eabf459..679f4e64b5f6 100644 --- a/lib/libusb/libusb10.c +++ b/lib/libusb/libusb10.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -118,15 +119,13 @@ libusb_set_nonblocking(int f) void libusb_interrupt_event_handler(libusb_context *ctx) { - uint8_t dummy; int err; if (ctx == NULL) return; - dummy = 0; - err = write(ctx->ctrl_pipe[1], &dummy, sizeof(dummy)); - if (err < (int)sizeof(dummy)) { + err = eventfd_write(ctx->event, 1); + if (err < 0) { /* ignore error, if any */ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "Waking up event loop failed!"); } @@ -145,7 +144,6 @@ libusb_init_context(libusb_context **context, struct libusb_context *ctx; pthread_condattr_t attr; char *debug, *ep; - int ret; if (num_options < 0) return (LIBUSB_ERROR_INVALID_PARAM); @@ -234,19 +232,16 @@ libusb_init_context(libusb_context **context, ctx->ctx_handler = NO_THREAD; ctx->hotplug_handler = NO_THREAD; - ret = pipe(ctx->ctrl_pipe); - if (ret < 0) { + ctx->event = eventfd(0, EFD_NONBLOCK); + if (ctx->event < 0) { pthread_mutex_destroy(&ctx->ctx_lock); pthread_mutex_destroy(&ctx->hotplug_lock); pthread_cond_destroy(&ctx->ctx_cond); free(ctx); return (LIBUSB_ERROR_OTHER); } - /* set non-blocking mode on the control pipe to avoid deadlock */ - libusb_set_nonblocking(ctx->ctrl_pipe[0]); - libusb_set_nonblocking(ctx->ctrl_pipe[1]); - libusb10_add_pollfd(ctx, &ctx->ctx_poll, NULL, ctx->ctrl_pipe[0], POLLIN); + libusb10_add_pollfd(ctx, &ctx->ctx_poll, NULL, ctx->event, POLLIN); pthread_mutex_lock(&default_context_lock); if (usbi_default_context == NULL) { @@ -296,8 +291,7 @@ libusb_exit(libusb_context *ctx) /* XXX cleanup devices */ libusb10_remove_pollfd(ctx, &ctx->ctx_poll); - close(ctx->ctrl_pipe[0]); - close(ctx->ctrl_pipe[1]); + close(ctx->event); pthread_mutex_destroy(&ctx->ctx_lock); pthread_mutex_destroy(&ctx->hotplug_lock); pthread_cond_destroy(&ctx->ctx_cond); diff --git a/lib/libusb/libusb10.h b/lib/libusb/libusb10.h index 3402e0377c92..f34ea25740d6 100644 --- a/lib/libusb/libusb10.h +++ b/lib/libusb/libusb10.h @@ -106,7 +106,7 @@ typedef enum { struct libusb_context { int debug; int debug_fixed; - int ctrl_pipe[2]; + int event; int tr_done_ref; int tr_done_gen; usb_event_mode_t usb_event_mode; diff --git a/lib/libusb/libusb10_io.c b/lib/libusb/libusb10_io.c index 2790142486ba..f1e31c2a7416 100644 --- a/lib/libusb/libusb10_io.c +++ b/lib/libusb/libusb10_io.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #endif @@ -187,10 +188,8 @@ libusb10_handle_events_sub(struct libusb_context *ctx, struct timeval *tv) CTX_LOCK(ctx); } else { - uint8_t dummy; + eventfd_read(fds[i].fd, &(eventfd_t){0}); - while (read(fds[i].fd, &dummy, 1) == 1) - ; } } From nobody Thu May 15 14:28:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zysxx3ZGsz5wQqv; Thu, 15 May 2025 14:28: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 4Zysxx0LTZz3fDG; Thu, 15 May 2025 14:28:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se1Y/2bO+dvWwehIubJiA1Cr7vj3B340IG6FkDAap40=; b=lJ0jiQTmr+z+44wGxGAmkPYiMIHSUczKBoBtvu+Bt5ET65pEwVgUS8JjEiuCjA0WGtkcIw rvdpDkqm1UHEh9fiZLpPj2s2FR7yVm3+B2MPiWPH4dPx9zwrwyxMRb/aEFEBD1FNTVzBp0 jRK9KMAjoQX3kf6k0NCxtzm+lv/dnGGoPken27upXBwNHjDs2iFhmRwa033jUBVhzJc36G OnNJdBU7G2GmRWqV2aTOz+ekgKq/DXnQkmb63OHj0toDCwApR0hIGbklvh6FsiC17PAGWG A3VAT13fRITa9dBOAKY1dSn0nRKcw4ZxfesdE5N9V6rIf7z61y8UiPVk622gcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=se1Y/2bO+dvWwehIubJiA1Cr7vj3B340IG6FkDAap40=; b=b5Yklpiz5ERxYndMLh/o1HbOAF2+DTA81b+OEcOViHV0vEQ04QXrSb7J4IsFBTvNkXUn6S sg3o7pSgqjmkIlJ3LIDub8Dhht6eeMf6peLbURbSFivx+EMl2lv9e2uTi6ikBXfCrssi4r /jdoT6062kiZ2cXGwJx8QOoZFrdfsBw2vCodMvUwgL0ii0AvUT7NuaAd/hfdRn20pvQ4Uz UTaQO7MVPw1Mg9kRNcWiix9b8opoqV5YH1pJbxulr7ohkVuW8EL2ezz13gDgwbBJ9BEDEW 8k7F9Yjfz9IO0J76Rk7p/7Icp588Hb7vSAxKFnsCe0juYbExnl0BHuk1K0OoLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747319285; a=rsa-sha256; cv=none; b=f2QkGvV014yXOd2j/USqTvqzmnmsiE4GFA/V+meucXqlaX/oxHiJJ4jju6AHcgT0M1deVO 1v+zWUVz8SnAyKrWoO57L/dPnEMDVn2FsxGQP4RAc9jdhlI/nxGedsdkUeUy9P+i63JEGr fUCebom/2Mdcb+/kFcEqqbUA2AA4U1mYgYIhDN5Rt9RyvoXlkI6adlyqaP1ZORAMwQOjbx NjXMqAcXWNXtlRGQq12hGJsKY5huB75dmq8HAKczj41jV4kUWFbp4XzgjMQ8oxCjTnfqqq AC5LJeVCdY4nrXYoLbp5Sp3hAkpenJMNoyD/YAyTl8CDnfrZN7stv1JM3A85Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zysxw6h8sz6NM; Thu, 15 May 2025 14:28: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 54FES4lo059289; Thu, 15 May 2025 14:28:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FES4lx059286; Thu, 15 May 2025 14:28:04 GMT (envelope-from git) Date: Thu, 15 May 2025 14:28:04 GMT Message-Id: <202505151428.54FES4lx059286@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 1fd80186c91d - main - Revert commit 1935cc945642 ("vfs: vntblinit(): Rework comments on...") List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1fd80186c91d847532e8354b81d03f17c9fcf650 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1fd80186c91d847532e8354b81d03f17c9fcf650 commit 1fd80186c91d847532e8354b81d03f17c9fcf650 Author: Olivier Certner AuthorDate: 2025-05-15 14:26:02 +0000 Commit: Olivier Certner CommitDate: 2025-05-15 14:27:23 +0000 Revert commit 1935cc945642 ("vfs: vntblinit(): Rework comments on...") This is because the Differential Revision tag was wrong. Will be recommitted shortly. --- sys/kern/vfs_subr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 769586ad0d6b..5fdd4b6c2474 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -757,15 +757,15 @@ vntblinit(void *dummy __unused) int cpu, physvnodes, virtvnodes; /* - * 'desiredvnodes' is the minimum of a function of the physical memory - * size and another of the kernel heap size (UMA limit, a portion of the - * KVA). - * - * Currently, on 64-bit platforms, 'desiredvnodes' is set to - * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which - * 'physvnodes' applies instead. With the current automatic tuning for - * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at - * ~5136MB. + * Desiredvnodes is a function of the physical memory size and the + * kernel's heap size. Generally speaking, it scales with the + * physical memory size. The ratio of desiredvnodes to the physical + * memory size is 1:16 until desiredvnodes exceeds 98,304. + * Thereafter, the + * marginal ratio of desiredvnodes to the physical memory size is + * 1:64. However, desiredvnodes is limited by the kernel's heap + * size. The memory required by desiredvnodes vnodes and vm objects + * must not exceed 1/10th of the kernel's heap size. */ physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; From nobody Thu May 15 14:28:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zysxz1HmGz5wQlW; Thu, 15 May 2025 14:28: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 4Zysxy15Zvz3fQy; Thu, 15 May 2025 14:28:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cV3Slr97C1rgs1ZRI4aNTU5iXY9f5jRWQ7N5YI9mOks=; b=xTQUsTQ883N6a7Q5zcZL+kb/5xwPMXdx0sK7by2QCYdd97mfYbK2zXrVJi8/qfR6ZcNF/M 5dbGdmbsa0XsEY9p12iKicx8xgkd5ek2OXEHKPA56D/WrJU7QML4nICaIO9MSfV97LtG76 Gu4+FB5kPO42dOwAiWN0UdcpRUur43ilU53jl2oz3yZDov2xaUWEYgySwnBzkCiLpSNzTO wKwyu1NQChEtdSNoBeUz91Tpf1fkV186XdquuQuIfT+9dYCyn8iRcI/o9O/V/M/5jdR3qs F2G3DMwLPSymrIIlwyxP4an1zQwh3n+LwOZH4eFde4YrxAgaE5bAnUtSG+RQYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747319286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cV3Slr97C1rgs1ZRI4aNTU5iXY9f5jRWQ7N5YI9mOks=; b=xzjY4tkQxItqpYq27VCP6DnhaC+V0DffREhoyD4xaWsfG1mz2vog4qihniUBZKQsuJaG+K Hz4kj6+2G/JaZoOTzTj+pXrOrawwPmrN1Nk89eSdwnlXThIOgfmvbuElN0R1ZIv4COhaIH cCFfS9D2KsA3rHZjMN2L4B9KdTAx8gBm9nsd+w8A5W2Rd+0+4rqjiyT5FpeUIdZPrdCBHP Zk1RoNM0U0uYWrJNkftK0ADKePivqUjM5DRtLJZFQpD1RNvLqeYRx302L3OQTbPDFcr8rI mkh3NQJMaD2H5hYv6ZRLweYqmbtMUBjljPVQ8QJfL3brwHeKAjYvWSdQSPly+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747319286; a=rsa-sha256; cv=none; b=oJ80kG4G8YjwDslOrOLK/5spUYDI46t9Slx54DLxaSitihSh5v3CLt8VC+ktopqMNwd7Wo SyEYZP1fljHNJ1L7OFY5ux2eaTCh/BaUQ8ofmilcnPf4UBMopKY/AX7D10irGOYm4FNClg cj9FdmDcj11o7iMl3Zapba1raSKFf+O9RXZ1N+lOndqxFRmIWWqpL7QHSsfZUT81swCGLZ hEUi8oj139XioXcaXTAz8g/WmIgxfqsfuPflP2YffIWoRD6WxplfwwVWlU8RxLQQTh39b+ wiTqFEU+PjcyciThlJ5C1wkUnU75R3bgZpvgpr4VsZ3gJ0aRix4/zkdt4Jt0/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zysxy0TrLz6D3; Thu, 15 May 2025 14:28: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 54FES5aU059322; Thu, 15 May 2025 14:28:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FES5ov059319; Thu, 15 May 2025 14:28:05 GMT (envelope-from git) Date: Thu, 15 May 2025 14:28:05 GMT Message-Id: <202505151428.54FES5ov059319@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: bf8890c84bac - main - vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf8890c84bacd8b1acebb2cb9a0944b1bb102b68 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=bf8890c84bacd8b1acebb2cb9a0944b1bb102b68 commit bf8890c84bacd8b1acebb2cb9a0944b1bb102b68 Author: Olivier Certner AuthorDate: 2025-05-12 11:20:01 +0000 Commit: Olivier Certner CommitDate: 2025-05-15 14:27:42 +0000 vfs: vntblinit(): Rework comments on the computation of 'kern.maxvnodes' Remove the parts that describe what is already in the code formula. Add hints about which of 'physvnodes'/'virtvnodes' takes precedence, and when 'desiredvnodes' becomes smaller than 'maxfiles'. These were both computed analytically and verified experimentally. Reviewed by: kib (older version) MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50310 --- sys/kern/vfs_subr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 5fdd4b6c2474..769586ad0d6b 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -757,15 +757,15 @@ vntblinit(void *dummy __unused) int cpu, physvnodes, virtvnodes; /* - * Desiredvnodes is a function of the physical memory size and the - * kernel's heap size. Generally speaking, it scales with the - * physical memory size. The ratio of desiredvnodes to the physical - * memory size is 1:16 until desiredvnodes exceeds 98,304. - * Thereafter, the - * marginal ratio of desiredvnodes to the physical memory size is - * 1:64. However, desiredvnodes is limited by the kernel's heap - * size. The memory required by desiredvnodes vnodes and vm objects - * must not exceed 1/10th of the kernel's heap size. + * 'desiredvnodes' is the minimum of a function of the physical memory + * size and another of the kernel heap size (UMA limit, a portion of the + * KVA). + * + * Currently, on 64-bit platforms, 'desiredvnodes' is set to + * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which + * 'physvnodes' applies instead. With the current automatic tuning for + * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at + * ~5136MB. */ physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; From nobody Thu May 15 15:11:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zytw230MSz5wTc1; Thu, 15 May 2025 15:11:30 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zytw2040bz41B3; Thu, 15 May 2025 15:11:29 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 54FFBJlP057115; Thu, 15 May 2025 18:11:22 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 54FFBJlP057115 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 54FFBJm0057113; Thu, 15 May 2025 18:11:19 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 15 May 2025 18:11:19 +0300 From: Konstantin Belousov To: Olivier Certner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 73f9251c0b52 - main - Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments Message-ID: References: <202505151423.54FENTXl057685@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202505151423.54FENTXl057685@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home X-Rspamd-Queue-Id: 4Zytw2040bz41B3 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Spamd-Bar: ---- On Thu, May 15, 2025 at 02:23:29PM +0000, Olivier Certner wrote: > The branch main has been updated by olce: > > URL: https://cgit.FreeBSD.org/src/commit/?id=73f9251c0b52ac0bfb2f2baff27493d6bae216f6 > > commit 73f9251c0b52ac0bfb2f2baff27493d6bae216f6 > Author: Olivier Certner > AuthorDate: 2025-05-02 12:47:32 +0000 > Commit: Olivier Certner > CommitDate: 2025-05-15 14:22:53 +0000 > > Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments > > Change the formulae so that 'maxproc' and 'maxfiles' are computed based > on the physical memory amount, and not the corresponding number of > pages. Make sure that the practical results are unchanged for all > architectures (which is possible since all have 4096 as their > PAGE_SIZE). Despite this, we do this change to make it clearer how many > units of these values are computed per MB, which is easier on readers. Not all architectures have PAGE_SIZE of 4K. Not going back to the historic arches, and out of tree patches for x86, I believe that arm64 has in-tree support for 16K pages. VM system is fine with the page sizes from 4K to 32K. > > Change the comments accordingly and expand them to indicate which parts > of the computations are actually not used by default. In passing, fix the > comments about default values and limits for 'maxfiles' (they were off). > > No functional change (intended). > > MFC after: 3 days > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D50124 > --- > sys/kern/subr_param.c | 44 +++++++++++++++++++++++++++----------------- > 1 file changed, 27 insertions(+), 17 deletions(-) > > diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c > index f4359efec466..471640c290a7 100644 > --- a/sys/kern/subr_param.c > +++ b/sys/kern/subr_param.c > @@ -69,13 +69,14 @@ > # define HZ_VM HZ > # endif > #endif > +/* See the comments in init_param2() for these. */ > #define NPROC (20 + 16 * maxusers) > -#ifndef NBUF > -#define NBUF 0 > -#endif > #ifndef MAXFILES > #define MAXFILES (40 + 32 * maxusers) > #endif > +#ifndef NBUF > +#define NBUF 0 > +#endif > > static int sysctl_kern_vm_guest(SYSCTL_HANDLER_ARGS); > > @@ -275,13 +276,14 @@ init_param1(void) > void > init_param2(long physpages) > { > + long maxproc_clamp, maxfiles_clamp; > > TSENTER(); > /* Base parameters */ > maxusers = MAXUSERS; > TUNABLE_INT_FETCH("kern.maxusers", &maxusers); > if (maxusers == 0) { > - maxusers = physpages / (2 * 1024 * 1024 / PAGE_SIZE); > + maxusers = pgtok(physpages) / (2 * 1024); > if (maxusers < 32) > maxusers = 32; > #ifdef VM_MAX_AUTOTUNE_MAXUSERS > @@ -290,35 +292,43 @@ init_param2(long physpages) > #endif > /* > * Scales down the function in which maxusers grows once > - * we hit 384. > + * we hit 384 (16MB to get a new "user"). > */ > if (maxusers > 384) > maxusers = 384 + ((maxusers - 384) / 8); > } > > /* > - * The following can be overridden after boot via sysctl. Note: > - * unless overridden, these macros are ultimately based on maxusers. > - * Limit maxproc so that kmap entries cannot be exhausted by > - * processes. > + * The following can be overridden after boot via sysctl. Note: unless > + * overridden, these macros are ultimately based on 'maxusers'. Limit > + * maxproc so that kmap entries cannot be exhausted by processes. The > + * default for 'maxproc' linearly scales as 16 times 'maxusers' (so, > + * linearly with 8 processes per MB up to 768MB, then 1 process per MB; > + * overridable by a tunable), and is then clamped at 21 + 1/3 processes > + * per MB (which never happens by default as long as physical memory is > + * > ~1.5MB). > */ > maxproc = NPROC; > TUNABLE_INT_FETCH("kern.maxproc", &maxproc); > - if (maxproc > (physpages / 12)) > - maxproc = physpages / 12; > + maxproc_clamp = pgtok(physpages) / (3 * 1024 / 64); > + if (maxproc > maxproc_clamp) > + maxproc = maxproc_clamp; > if (maxproc > pid_max) > maxproc = pid_max; > maxprocperuid = (maxproc * 9) / 10; > > /* > - * The default limit for maxfiles is 1/12 of the number of > - * physical page but not less than 16 times maxusers. > - * At most it can be 1/6 the number of physical pages. > + * 'maxfiles' by default is set to 32 files per MB (overridable by > + * a tunable), and is then clamped at 64 files per MB (which thus never > + * happens by default). (The default MAXFILES is for all practical > + * purposes not used, as it gives a lower value than 32 files per MB as > + * soon as there is more than ~2.5MB of memory.) > */ > - maxfiles = imax(MAXFILES, physpages / 8); > + maxfiles = imax(MAXFILES, pgtok(physpages) / (1024 / 32)); > TUNABLE_INT_FETCH("kern.maxfiles", &maxfiles); > - if (maxfiles > (physpages / 4)) > - maxfiles = physpages / 4; > + maxfiles_clamp = pgtok(physpages) / (1024 / 64); > + if (maxfiles > maxfiles_clamp) > + maxfiles = maxfiles_clamp; > maxfilesperproc = (maxfiles / 10) * 9; > TUNABLE_INT_FETCH("kern.maxfilesperproc", &maxfilesperproc); > From nobody Thu May 15 15:27:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyvH21hYSz5wVlC; Thu, 15 May 2025 15:27: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 4ZyvH213JFz46N3; Thu, 15 May 2025 15:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747322878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dk84RJrOs5XBx+AD+HS8Pjgrp7T8JS5SN3r5w8CHJW8=; b=Po9UP4UtcyMjY3B+KsqDZNs48are57sPCKFotuauKqYeGS9PIcT1X1W3x5dO4OyVxx27nx eQKgd9QILq1Or3p7BrVuCw1+WtA7wadbrGXBbZsUOHHDx0lm+1uNc/gadBBs4tg/HMvxQo 4KjUuD3M0CG1PeY2GmITbGCtGWvIbLyK3zKUN7AYzsiUq5O5bBZHz0729v8J142BT/N+RW y8krN/J5ow1QESAaL4DAMu33gFSDirM2sP4lR4Su7sBk7cDmtr2jhB8HWppzQICYCmfxRw yRqIiOH3IN1Hyf4EHZyM0igPZVdZysG5tsg5b6gCanWbEuK34F4EmkMBnVzlMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747322878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dk84RJrOs5XBx+AD+HS8Pjgrp7T8JS5SN3r5w8CHJW8=; b=vzotl/mMTGRWAXl+g2E8ipQ+QC8AJNqzCrfUlPilYB3PW3MUmTqIuB8YrCzQYgrXu0mVXb OsUIFzs8cRIidK/rjI2h9Y/tibrj6Zj/yqO3JiDsmNa3ZrihZ2P85KmBHnxp6/0qoosvQo 52Pv0avd+F68QVYjXCZoQ8FK5OFLOHVG17tG7lW1bd0GZabKX7KXRXR58KFgcEvjY7pB7h tl2jE5wbZJArYXTKmcH7ZJP5GRxCd8XObhKgXLTsfyKxJ7iMYpQRU1N0iy0UFSdmroFDW9 VgyDdvfptc9Hvn+Y+M6rY3upxTIflAnrpAa4M0e/0egR0xrlqX8WCflqVRxjRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747322878; a=rsa-sha256; cv=none; b=l8qHXl1ESrVOBtlL9h92IEdp4FbHwf3QncyIuoDfW8cD/ALWJdo6Y/XWpJnJ44cxzUSlJp l066a6xmgQA+JylnbZDrjnQooUc0CQDiJDggLbu50vAwHKHZvgq6QqmmMDFzX2O9S+9vhk 5P9ur3sL04+WS69WZtM402SDfOipEybjJy2+WaeXA+pYKtLqvenlQohA41clWEezubQMX+ i2cNNRqJGPjBlUxtJDczGWdwC6CdBbSBiEyw7DSac7pjie5939ov9U5DQLkfHnAPaW2IR+ gZZzERzqMamhVwp7lAmtiSoEjobImRfDnoALgFFbTi+SHhVxY8UUXcppjzcItg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyvH2022Gz7Jt; Thu, 15 May 2025 15:27: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 54FFRv7r071450; Thu, 15 May 2025 15:27:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FFRvU5071447; Thu, 15 May 2025 15:27:57 GMT (envelope-from git) Date: Thu, 15 May 2025 15:27:57 GMT Message-Id: <202505151527.54FFRvU5071447@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 68baf043e48b - main - arm: Make the pmap_kenter signature like arm64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 68baf043e48bac021389f844516ea74ca2d8e115 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=68baf043e48bac021389f844516ea74ca2d8e115 commit 68baf043e48bac021389f844516ea74ca2d8e115 Author: Andrew Turner AuthorDate: 2025-05-15 14:50:14 +0000 Commit: Andrew Turner CommitDate: 2025-05-15 15:09:46 +0000 arm: Make the pmap_kenter signature like arm64 To support a common pmap_mapdev_attr change pmap_kenter to include the size any memory type in the signature. Reviewed by: mhorne Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50307 --- sys/arm/arm/mem.c | 4 ++-- sys/arm/arm/pmap-v6.c | 43 +++++++++++++++++++++++-------------------- sys/arm/include/pmap.h | 2 +- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/sys/arm/arm/mem.c b/sys/arm/arm/mem.c index 7f149892ab9d..cec253f60b51 100644 --- a/sys/arm/arm/mem.c +++ b/sys/arm/arm/mem.c @@ -114,8 +114,8 @@ memrw(struct cdev *dev, struct uio *uio, int flags) if (!address_valid) return (EINVAL); sx_xlock(&tmppt_lock); - pmap_kenter((vm_offset_t)_tmppt, v); - pmap_tlb_flush(kernel_pmap, (vm_offset_t)_tmppt); + pmap_kenter((vm_offset_t)_tmppt, PAGE_SIZE, v, + VM_MEMATTR_DEFAULT); o = (int)uio->uio_offset & PAGE_MASK; c = (u_int)(PAGE_SIZE - ((int)iov->iov_base & PAGE_MASK)); c = min(c, (u_int)(PAGE_SIZE - o)); diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c index fafa8908dcd1..a0e0b007ffaa 100644 --- a/sys/arm/arm/pmap-v6.c +++ b/sys/arm/arm/pmap-v6.c @@ -1150,7 +1150,7 @@ pmap_dump_kextract(vm_offset_t va, pt2_entry_t *pte2p) * After pmap_bootstrap() is called, the following functions for * mappings can be used: * - * void pmap_kenter(vm_offset_t va, vm_paddr_t pa); + * void pmap_kenter(vm_offset_t va, vm_size_t size, vm_paddr_t pa, int mode); * void pmap_kremove(vm_offset_t va); * vm_offset_t pmap_map(vm_offset_t *virt, vm_paddr_t start, vm_paddr_t end, * int prot); @@ -1308,11 +1308,28 @@ pmap_kenter_prot_attr(vm_offset_t va, vm_paddr_t pa, uint32_t prot, pte2_store(pte2p, PTE2_KERN(pa, prot, attr)); } -PMAP_INLINE void -pmap_kenter(vm_offset_t va, vm_paddr_t pa) +static __inline void +pmap_kenter_noflush(vm_offset_t va, vm_size_t size, vm_paddr_t pa, int mode) { + uint32_t l2attr; + + KASSERT((size & PAGE_MASK) == 0, + ("%s: device mapping not page-sized", __func__)); - pmap_kenter_prot_attr(va, pa, PTE2_AP_KRW, PTE2_ATTR_DEFAULT); + l2attr = vm_memattr_to_pte2(mode); + while (size != 0) { + pmap_kenter_prot_attr(va, pa, PTE2_AP_KRW, l2attr); + va += PAGE_SIZE; + pa += PAGE_SIZE; + size -= PAGE_SIZE; + } +} + +PMAP_INLINE void +pmap_kenter(vm_offset_t va, vm_size_t size, vm_paddr_t pa, int mode) +{ + pmap_kenter_noflush(va, size, pa, mode); + tlb_flush_range(va, size); } /* @@ -1453,7 +1470,7 @@ pmap_kenter_temporary(vm_paddr_t pa, int i) /* QQQ: 'i' should be less or equal to MAXDUMPPGS. */ va = (vm_offset_t)crashdumpmap + (i * PAGE_SIZE); - pmap_kenter(va, pa); + pmap_kenter_noflush(va, PAGE_SIZE, pa, VM_MEMATTR_DEFAULT); tlb_flush_local(va); return ((void *)crashdumpmap); } @@ -6253,21 +6270,7 @@ pmap_mincore(pmap_t pmap, vm_offset_t addr, vm_paddr_t *pap) void pmap_kenter_device(vm_offset_t va, vm_size_t size, vm_paddr_t pa) { - vm_offset_t sva; - uint32_t l2attr; - - KASSERT((size & PAGE_MASK) == 0, - ("%s: device mapping not page-sized", __func__)); - - sva = va; - l2attr = vm_memattr_to_pte2(VM_MEMATTR_DEVICE); - while (size != 0) { - pmap_kenter_prot_attr(va, pa, PTE2_AP_KRW, l2attr); - va += PAGE_SIZE; - pa += PAGE_SIZE; - size -= PAGE_SIZE; - } - tlb_flush_range(sva, va - sva); + pmap_kenter(va, size, pa, VM_MEMATTR_DEVICE); } void diff --git a/sys/arm/include/pmap.h b/sys/arm/include/pmap.h index 671e2af52423..dcd4e0a83ab1 100644 --- a/sys/arm/include/pmap.h +++ b/sys/arm/include/pmap.h @@ -135,7 +135,7 @@ extern ttb_entry_t pmap_kern_ttb; /* TTB for kernel pmap */ * vtopte2(). */ void pmap_bootstrap(vm_offset_t); -void pmap_kenter(vm_offset_t, vm_paddr_t); +void pmap_kenter(vm_offset_t, vm_size_t, vm_paddr_t, int); void pmap_kremove(vm_offset_t); bool pmap_page_is_mapped(vm_page_t); bool pmap_ps_enabled(pmap_t pmap); From nobody Thu May 15 15:27:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyvH33jpMz5wVP7; Thu, 15 May 2025 15:27: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 4ZyvH311p2z46L6; Thu, 15 May 2025 15:27:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747322879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dw+fWzcowMbHCQHu4S1dYN4ByKO/Secvv7cwpAWcp9I=; b=W4jlnHTb/NZYUu4GJl4CXVRReaIC1ATpBsybOTj66B1fkKuRahIQ4KuFgZ+QBD7vn8qOG2 v7w56wAtpE+9aaW4LgzAyS1m3pP7aXR7kVF0Vw5hr1VtXQi+QZ/+QrQGg7i6vN5uCiUgCS flBuiWuUP05Q2zaqW53cAZ5O7V8dnADU6tskXI2TXBmdlnw0vptpNZcvMPjmuiFgRo4sXH IXM2a/rocrv+T9JObzcRtJGmO9MOmBOtGCbZRmrS59vxODDCDYZn1wl17/OWx44VbA2DGx Q0musWAARj7t/S1IkkKMaA4OGCivnSRxq8+bQkMfASgvzB0K8FKvnZFwktcKEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747322879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dw+fWzcowMbHCQHu4S1dYN4ByKO/Secvv7cwpAWcp9I=; b=lIayGCzXLCU5r1NxQJrs/DaIwKV9UTMREB5BB/uZcNDbwqrWBgYtorz/5IrLh+IMfD9Gz3 46F1r96uICtHqqS0ieLuqA+E8u5YfyzX7ItT+kwmi1zaW4m6S3ZTh1xET+1GgcN91Rxe1M IoVh8Kb+C3fRQYHv7UnQwku+9b6dMTy9iiKGdDXK6DlMq8D/QlqUwZA4jectk8YXSCDowx pQ5ntmtzVGXN4piEWYBga6rANoZTS2po6k4R0Pz25wsScl/7NSL0vgrNq3LiO81y3QBQ9F JguocJe5GD/pc8ld4Klh1kddMtP2MEO7c93P15K9DO5FloksAXGSDtIq1W9TRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747322879; a=rsa-sha256; cv=none; b=OpXh+DrblRqNVYYONcBlwoZUYHTjHtpqpLmqu/Cr+yMdFPuv8SbMJNt+pCywO+qKEBQj2y AfwfauHELYEMPbTHZnzbd8GAkLpiyw1/NzxOQuVJ3Q4EQc8TdPZOKb1AmhvxNdz+aIgFwO iizOGo0+o+V6ole2u77FWb8P8FhccoEbC0DTSKHXL6Pb7DbkGGDWLk9IqobiEA2c2e1lMw /HIzZtkVw3CInB5Utsbxd0wwTCmYblw2KuVNnJr224ln8Al/dUs3fBjRQxEFsIVhoxn9wE +OYypficaBhj7SU//yPCI5siGpEExlrGHZei+c4AD86NNgocANy8nn2RleL0HQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyvH30Pqzz7GB; Thu, 15 May 2025 15:27: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 54FFRwra071484; Thu, 15 May 2025 15:27:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FFRwDZ071481; Thu, 15 May 2025 15:27:58 GMT (envelope-from git) Date: Thu, 15 May 2025 15:27:58 GMT Message-Id: <202505151527.54FFRwDZ071481@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 66886d9d9608 - main - subr_devmap: Add the function name to KASSERT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66886d9d960833a8fa6383976e546b3dfde96176 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=66886d9d960833a8fa6383976e546b3dfde96176 commit 66886d9d960833a8fa6383976e546b3dfde96176 Author: Andrew Turner AuthorDate: 2025-05-15 15:06:35 +0000 Commit: Andrew Turner CommitDate: 2025-05-15 15:09:46 +0000 subr_devmap: Add the function name to KASSERT These messages are almost identical, other than one has " 2" appended. Change this to include the function name at the start to make it more obvious which function the KASSERT is from. Reviewed by: mhorne, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50308 --- sys/kern/subr_devmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/subr_devmap.c b/sys/kern/subr_devmap.c index 609c9b142312..d9026dd97311 100644 --- a/sys/kern/subr_devmap.c +++ b/sys/kern/subr_devmap.c @@ -267,7 +267,7 @@ pmap_mapdev(vm_paddr_t pa, vm_size_t size) akva_devmap_vaddr = trunc_page(akva_devmap_vaddr - size); va = akva_devmap_vaddr; KASSERT(va >= VM_MAX_KERNEL_ADDRESS - PMAP_MAPDEV_EARLY_SIZE, - ("Too many early devmap mappings")); + ("%s: Too many early devmap mappings", __func__)); } else #endif #ifdef __aarch64__ @@ -306,8 +306,8 @@ pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, vm_memattr_t ma) if (early_boot) { akva_devmap_vaddr = trunc_page(akva_devmap_vaddr - size); va = akva_devmap_vaddr; - KASSERT(va >= (VM_MAX_KERNEL_ADDRESS - (PMAP_MAPDEV_EARLY_SIZE)), - ("Too many early devmap mappings 2")); + KASSERT(va >= (VM_MAX_KERNEL_ADDRESS - PMAP_MAPDEV_EARLY_SIZE), + ("%s: Too many early devmap mappings", __func__)); } else #ifdef __aarch64__ if (size >= L2_SIZE && (pa & L2_OFFSET) == 0) From nobody Thu May 15 15:28:00 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyvH436btz5wVPC; Thu, 15 May 2025 15:28: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 4ZyvH41nMhz46R8; Thu, 15 May 2025 15:28:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747322880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LEB+LpmajUHolxP8UWc8RQO3o8/0D2zdC8g0w5gDlR4=; b=NDC2xEumoxyJ3ipPC0+GAsEruGjbnitpNk20Yg49Ng2mhV8LkL6hizLxRCqT9WqBr1joIM nrXBLWd+VqNy5lW8KDxQcHx6lBVuNwH7shP+wgqCS1a2mghLka+FM1Ol1SO6Oej68LDsOI kSMA4gcuBVB4p6BvpCK0A9yqSuvdaQfXud0SIr8AFPC/sK+14IlLKAbB2b08Yj5llLnMRb Prwlbl2hMnVq1c659fT3uFKb/AAS397zc6DXADq2yCn8sCA2k2O7ZZmvgENYjfRgyA0NAW SRUfp0C1cOXZHG7wHqPckHhBIFec8ilIPy3MKZazGIGhRpgEIvD3OyaKoEoUbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747322880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LEB+LpmajUHolxP8UWc8RQO3o8/0D2zdC8g0w5gDlR4=; b=kaxlm0xkCbQqDvMIJULNpqQZbu3KeV9hE+xIWbHbwZvixstjrpWcgFMvUBBbYHtFTVaNdM UgWVdzXhcyravym/41FFZaPyBbpRqCNo12gCijgqfTekYoAAXN9SLpk+ati9kQLl9k2raS dmfUIfS1IHaWx5tLHKpohhwm7B1jyH1yuXD8Hi//fqV9uPo28SlgF4m56dO1z5pHZwjI+S jA9tf7w4FDO5jXZOfGxUEmjgcXHGRGBvfPmlMaqnFAf/uedGcJlTs6FpqW8Ax/9QvZ2has cUKiJXPXz1X29BTPW1c5uLA8CY/oES9woPtlmO97Vl6yOd7YnHJ4bT8mJds/lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747322880; a=rsa-sha256; cv=none; b=fbuoJgNotSN2tz46GOEB+Mv8rGrBLRhCg0rD4vu9RBVsr1lwHlQhF/Kf7e+z01cCoD1/G2 DbOqrh2dfpks2FplSUSmmde9U2DEUdPaeRrzapQoXMQGBi+9IaIljFepmkLtUb7J0Q41ed hjFO5QMXoffCcCXf5ckT3vuMtm7VMNsHLsD5NF/859U/BroTCnxjV9yELDbcMyGfnZ+IWu qkVuNzqjbJMF9e3T7E8QSA6JtijsWPcsMxnxABSDdPr2Lc4cc8TMkLHSdjWEgp5IGFDQp3 RmVGvffjUmMrm0xOFQ/PNaHM8+weyBI5TfoLdH3luBsX1SEZq9aEmD6T6jORGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyvH41Hx8z7rw; Thu, 15 May 2025 15:28: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 54FFS0F3071531; Thu, 15 May 2025 15:28:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FFS0ux071528; Thu, 15 May 2025 15:28:00 GMT (envelope-from git) Date: Thu, 15 May 2025 15:28:00 GMT Message-Id: <202505151528.54FFS0ux071528@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: ebeeeae67845 - main - subr_devmap: Implement pmap_mapdev with pmap_mapdev_attr List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ebeeeae678455dcb47846925176d825fc0dbd792 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ebeeeae678455dcb47846925176d825fc0dbd792 commit ebeeeae678455dcb47846925176d825fc0dbd792 Author: Andrew Turner AuthorDate: 2025-05-15 15:07:09 +0000 Commit: Andrew Turner CommitDate: 2025-05-15 15:09:46 +0000 subr_devmap: Implement pmap_mapdev with pmap_mapdev_attr We can now support pmap_mapdev_attr on arm. Switch to use this to implement pmap_mapdev to reduce duplicate code. Reviewed by: mhorne, mmel Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50309 --- sys/arm/include/pmap.h | 8 +------- sys/kern/subr_devmap.c | 51 ++++++++++++-------------------------------------- 2 files changed, 13 insertions(+), 46 deletions(-) diff --git a/sys/arm/include/pmap.h b/sys/arm/include/pmap.h index dcd4e0a83ab1..87f4065f6ff4 100644 --- a/sys/arm/include/pmap.h +++ b/sys/arm/include/pmap.h @@ -172,15 +172,9 @@ void pmap_page_set_memattr(vm_page_t, vm_memattr_t); #define pmap_map_delete(pmap, sva, eva) pmap_remove(pmap, sva, eva) void *pmap_mapdev(vm_paddr_t, vm_size_t); +void *pmap_mapdev_attr(vm_paddr_t, vm_size_t, vm_memattr_t); void pmap_unmapdev(void *, vm_size_t); -static inline void * -pmap_mapdev_attr(vm_paddr_t addr __unused, vm_size_t size __unused, - int attr __unused) -{ - panic("%s is not implemented yet!\n", __func__); -} - struct pcb; void pmap_set_pcb_pagedir(pmap_t, struct pcb *); diff --git a/sys/kern/subr_devmap.c b/sys/kern/subr_devmap.c index d9026dd97311..2e86d11c7ad3 100644 --- a/sys/kern/subr_devmap.c +++ b/sys/kern/subr_devmap.c @@ -249,44 +249,9 @@ devmap_vtop(void * vpva, vm_size_t size) void * pmap_mapdev(vm_paddr_t pa, vm_size_t size) { - vm_offset_t va, offset; -#ifdef __HAVE_STATIC_DEVMAP - void * rva; - - /* First look in the static mapping table. */ - if ((rva = devmap_ptov(pa, size)) != NULL) - return (rva); -#endif - - offset = pa & PAGE_MASK; - pa = trunc_page(pa); - size = round_page(size + offset); - -#if defined(__aarch64__) || defined(__riscv) - if (early_boot) { - akva_devmap_vaddr = trunc_page(akva_devmap_vaddr - size); - va = akva_devmap_vaddr; - KASSERT(va >= VM_MAX_KERNEL_ADDRESS - PMAP_MAPDEV_EARLY_SIZE, - ("%s: Too many early devmap mappings", __func__)); - } else -#endif -#ifdef __aarch64__ - if (size >= L2_SIZE && (pa & L2_OFFSET) == 0) - va = kva_alloc_aligned(size, L2_SIZE); - else if (size >= L3C_SIZE && (pa & L3C_OFFSET) == 0) - va = kva_alloc_aligned(size, L3C_SIZE); - else -#endif - va = kva_alloc(size); - if (!va) - panic("pmap_mapdev: Couldn't alloc kernel virtual memory"); - - pmap_kenter_device(va, size, pa); - - return ((void *)(va + offset)); + return (pmap_mapdev_attr(pa, size, VM_MEMATTR_DEVICE)); } -#if defined(__aarch64__) || defined(__riscv) void * pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, vm_memattr_t ma) { @@ -294,21 +259,30 @@ pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, vm_memattr_t ma) #ifdef __HAVE_STATIC_DEVMAP void * rva; - /* First look in the static mapping table. */ - if ((rva = devmap_ptov(pa, size)) != NULL) + /* + * First look in the static mapping table. These are all mapped + * as device memory, so only use the devmap for VM_MEMATTR_DEVICE. + */ + if ((rva = devmap_ptov(pa, size)) != NULL) { + KASSERT(ma == VM_MEMATTR_DEVICE, + ("%s: Non-device mapping for pa %jx (type %x)", __func__, + (uintmax_t)pa, ma)); return (rva); + } #endif offset = pa & PAGE_MASK; pa = trunc_page(pa); size = round_page(size + offset); +#ifdef PMAP_MAPDEV_EARLY_SIZE if (early_boot) { akva_devmap_vaddr = trunc_page(akva_devmap_vaddr - size); va = akva_devmap_vaddr; KASSERT(va >= (VM_MAX_KERNEL_ADDRESS - PMAP_MAPDEV_EARLY_SIZE), ("%s: Too many early devmap mappings", __func__)); } else +#endif #ifdef __aarch64__ if (size >= L2_SIZE && (pa & L2_OFFSET) == 0) va = kva_alloc_aligned(size, L2_SIZE); @@ -324,7 +298,6 @@ pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, vm_memattr_t ma) return ((void *)(va + offset)); } -#endif /* * Unmap device memory and free the kva space. From nobody Thu May 15 15:39:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyvXV2Nx6z5wWYH; Thu, 15 May 2025 15:39:38 +0000 (UTC) (envelope-from olce@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyvXV1Mgfz4DCq; Thu, 15 May 2025 15:39:38 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747323578; 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=mJQN+F6zt5NomiiOp+oYe94thNV5957eiwQjZtipjPs=; b=mhN9lyJoxtAEXrvqrYtF/zNxLBQOF9OfdekFv1amY96iVkxMce3zQX5onuDFQTqivpn0hZ +pIXfdrBGHYeUvsfabtYlf/C1RhmjZEp/5vtiC79qqPNZYoGt58HVo9sEBZFwczd7X7s0P hhUuLqjDVJJgDTJCt08eVQvhYiHVqySE78Th2gG039yQ8OOSGH1uL+3lFjyysHh3PjuXm2 0EP/cjjCCS49vycrf3Z1hxYmLjlLwFEitio4V2eX2tcfQl7jlqIr+bEeURnK5e1LWPeHx1 rutblQSkttI0Pvn551Zs8dFSo/D7xVoW/5jlVR9owjChdJQyDW0bm91fnkhHew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747323578; 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=mJQN+F6zt5NomiiOp+oYe94thNV5957eiwQjZtipjPs=; b=vP/Z+yyqmYCFplLrSTOf6nrnEatuifIVhsECJg7r3Zr4PAMjNm4ue+0xNPGcKOey+/PIO7 V1eDpH7FjckbwECdtNGUzziEDN5aKBBSIM+2LEG4STvLJGbncAgahJ4BSLkb9av76hZJQ2 nr51SGrNlfuwXqmQuHv8lVWk89zbhAs1SmDLj/tI0ATTwIEPZhD+ewr3fQYb1fAx8yXHBF slsclW0LJ6/vaOsGjHXnbQ6qVfEUv1cwl/IjGA+1TqAn+ouQt5WC+ELeCgPxGhTlzi+w0c YCiSoUmCSE4GhgHylwnMsvxGRccSO+Rxt2nTNgpfTnuX6kXdMwc9L6d8ya8fxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747323578; a=rsa-sha256; cv=none; b=JOOniTZijdiR2K12V+TVnXjOOPdcrNi87E8Ga24rp6DVOnEZJNizlSD0HrMlpUL3sxqJCI qHDxfVDY3QgzieXF7rl+o7nUDKCdUcdSKkQiLfbDSiHWWtbVqAQOK2FeDIR3YuFGlRfsb4 PNWzVfA/BIdnXjVxCTt+vwNIecClf5EyTbtMdRNvtQV3IDq/HEyHetBQvAJwYONezdODXh 95JB7fN1sp+b6kwytDZedWHLbKuCU+vIeepW9b+oRHN6FlicJ3NoVsIPTZkNuqi1/Vszx7 Bo3ysc3Jv1YvszcDSM3WwjCh5d3dt8nHLUyUOHtE7qmXvUJKvcr8pbxA0xl9Kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ravel.localnet (aclermont-ferrand-653-1-222-123.w90-14.abo.wanadoo.fr [90.14.66.123]) (using TLSv1.3 with cipher TLS_AES_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: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZyvXT2tWPz9js; Thu, 15 May 2025 15:39:37 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 73f9251c0b52 - main - Compute 'maxproc'/'maxfiles' from memory amount; Expand/fix comments Date: Thu, 15 May 2025 17:39:29 +0200 Message-ID: <1892254.Rtz6emdoko@ravel> In-Reply-To: References: <202505151423.54FENTXl057685@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart3362793.YrVoEOf5kG"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart3362793.YrVoEOf5kG Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="UTF-8"; protected-headers="v1" From: Olivier Certner To: Konstantin Belousov Date: Thu, 15 May 2025 17:39:29 +0200 Message-ID: <1892254.Rtz6emdoko@ravel> In-Reply-To: MIME-Version: 1.0 > Not all architectures have PAGE_SIZE of 4K. Not going back to the historic > arches, and out of tree patches for x86, I believe that arm64 has in-tree > support for 16K pages. imp@ alluded to that in the revision (https://reviews.freebsd.org/D50124) so, back then, I checked in-tree but could not find any hint anywhere (code, kernel configs) that PAGE_SIZE would actually be set to 16k in public configs, hence the commit message (with "unchanged for all architectures", I meant in fact unchanged for the official artifacts we build). I see some support for PAGE_SIZE != PAGE_SIZE_4K. For such experiments, this commit should certainly help. -- Olivier Certner --nextPart3362793.YrVoEOf5kG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmgmCrEACgkQjKEwQJce Jic0CQ//RyJuXps3VD2S/rnoXprQ0foPPag8RAvt18zVg+/MYINbkMoJa0REOCsV MVmFJSFk/59GhpqNwZ846IUxX3OpOjnkFKS53pNfRP0cMzy02HYg2fC0XbeGrJay xUW32czNDQjFxCSkKlhQCUbbs2tueKi2EoapMMpfxdd2xAGVTBNXQfYdrcO/VLjU C+fqfSbJXm9zCRgBeDQ3Dxw8Y+fOOGRmWo3HgFH59lvpHV4dtkbJbUGscauJN6CN G39dMpzzDeIiVGTGNBNKP+YbTaAtVy9GH2hbT9dW5awUKLG34Q2N4GJ9U0+MHNrx qeddTg71KAO9Ynd2PAHlJSq8/FNJna0Vi+Qngffh98+WSId3HFrD9uvLCYf0E1Fk +1Japr5LurNL2JU2V2GZ457yAABbpaPMPubrr+EnD9APX18uJx6UZ2p3hvUU6QpV dV0WYxP9+GjHY+CjctmFpUizFqwM6ypWZ1GoAInBIAbvJabmp0KkW0aMD4gw6XxW qbT0G4DVJ5YdMYoAqequXmdelQIID5apLXbex14cQokcJ0W/8zaWL2Pg/RoM6dPZ 1SPDp0hmcrpOPRmcb4+Qbz8V9OOAEr3wIagj3dqNWLS+TAJzZzV2Yn0B3DQtvTUh da0T14h/gz27UShWYY9dz268ZzgEkoHOmBFiBXWlXfHpUvFkwag= =CMad -----END PGP SIGNATURE----- --nextPart3362793.YrVoEOf5kG-- From nobody Thu May 15 15:57:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zyvx53SF2z5wXSC; Thu, 15 May 2025 15:57:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zyvx52WhPz4NlB; Thu, 15 May 2025 15:57:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747324649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z7BOYFQORHdw6Xt6R4FEJFBcE8g47YF39RihnW1YzZY=; b=f7IdgZ6TWlMukCwjFFTCPCKSytr9pK+zhQvLnmEGLwuoJTNfRMYXpx838KzYI5FmZkc5gg HgKJW6vuZj787AMGEUrk6vVlAJkJijIT+6rdZf7h+3vDlSYkb/CC2Kah1kgklUlc7oodL0 YTm6oEG5T3pYynFMr8YrvEJgpt0Qldcekx1WDiLstpSQi0KlQG5oroid9XTIlgtuKk5EnP kltPV2NuCxzEad6BT4X4fvFwsirzIDj0DOfEp/awuaJ3tUrxyy0dsK/p6R/0VvOMId7gXQ JCJ4Dz+Ijn4vqBG0hmQd5JzHHvWulYIpVxYP8um74CXJ1/1A3VguFdXXqGJUuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747324649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z7BOYFQORHdw6Xt6R4FEJFBcE8g47YF39RihnW1YzZY=; b=qRBWoZZZfcSW5X/s3ruJvM88FE2zB1o0zVfkWK/GP7TUtHjSpXp3QRpdFbc/fnHDzFo+vJ cpeN1ICqf/pRY9aqdu6yt4jKaO9gVAbI1J/BGTHzo0gSocr8vPM9dMv11RToH/No4GnduI yxZ/Ds0sdeqehKV/CoU8ubnIUOYe+vUf0qXekYn5zjd68dgh970vf2tHTDLQJBQY4jUJfj A0mZ3ibadG74nSYdKoopZHfnLZIfz3qpzRFoii8KO4VIE+EJ5c/eCMJEgzoSm8MjXaOmKP OyYuF5pDdSsh4ETjRKnfBDIE1Ozj1TsiIqxg61ZWFzn+YRTwY4qc2XgelSYWrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747324649; a=rsa-sha256; cv=none; b=yHkOqki5MMT00+JVleybEItMu2aDnYglDrvCKbBBJfH39gWY5WrfFCtady9A6CXfw2fHbP i+ru6Pm2pBjG1sIBwPETTD9odHCrKL1vJ+Xp8jkcynKVenFB17FoX01D10ZxRF4/6/Si1l m/cAkK0D51VRYcnCcBweTUfYaBby5JRuIYsOru1zcaH/Z6z+9mhkXjCjwRfItA4Tdfrt9l gLGHDKb0Hx4z5S2kJlRyBaVPXy0w7zqOZ2ffyvPMfA7mL5D8bQPJFg5ln/z5lEvid+DE2m D872gaM8DLYFHdrN/mSjjHdzdKgwNC+jmB4DN8pICWFxVd3VMJ9PtUd350ltOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zyvx51wtkz8f8; Thu, 15 May 2025 15:57: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 54FFvT4M027766; Thu, 15 May 2025 15:57:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FFvT3t027763; Thu, 15 May 2025 15:57:29 GMT (envelope-from git) Date: Thu, 15 May 2025 15:57:29 GMT Message-Id: <202505151557.54FFvT3t027763@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: e9baf472a6d2 - main - vfs: vntblinit(): Raise default 'kern.maxvnodes' higher than 'kern.maxfiles' List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9baf472a6d228a16be19a11150d41cff29affe8 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=e9baf472a6d228a16be19a11150d41cff29affe8 commit e9baf472a6d228a16be19a11150d41cff29affe8 Author: Olivier Certner AuthorDate: 2025-05-12 12:19:56 +0000 Commit: Olivier Certner CommitDate: 2025-05-15 15:53:21 +0000 vfs: vntblinit(): Raise default 'kern.maxvnodes' higher than 'kern.maxfiles' Having 'kern.maxvnodes' higher than 'kern.maxfiles' mitigates a scenario where some processes can eat up all vnodes in the system, causing a deadlock, as long as the kernel itself does not create too many vnodes without creating some file descriptor in some process' FD table. A very small percentage (~0.6%) of excess vnodes at infinity, coupled with a large difference near the origin, should cover basic cases more than enough. Note however that this measure can be defeated, e.g., by using nullfs mounts with non-trivial file hierarchies. MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50314 --- sys/kern/vfs_subr.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 769586ad0d6b..0464df2f5ad9 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -762,13 +762,12 @@ vntblinit(void *dummy __unused) * KVA). * * Currently, on 64-bit platforms, 'desiredvnodes' is set to - * 'virtvnodes' up to a physical memory cutoff of ~1674MB, after which + * 'virtvnodes' up to a physical memory cutoff of ~1722MB, after which * 'physvnodes' applies instead. With the current automatic tuning for - * 'maxfiles' (32 files/MB), 'desiredvnodes' becomes smaller than it at - * ~5136MB. + * 'maxfiles' (32 files/MB), 'desiredvnodes' is always greater than it. */ - physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 64 + - 3 * min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 64; + physvnodes = maxproc + pgtok(vm_cnt.v_page_count) / 32 + + min(98304 * 16, pgtok(vm_cnt.v_page_count)) / 32; virtvnodes = vm_kmem_size / (10 * (sizeof(struct vm_object) + sizeof(struct vnode) + NC_SZ * ncsizefactor + NFS_NCLNODE_SZ)); desiredvnodes = min(physvnodes, virtvnodes); From nobody Thu May 15 18:22:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zyz8P5pccz5wjfH; Thu, 15 May 2025 18:22: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 4Zyz8P10Jtz3Jlp; Thu, 15 May 2025 18:22:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747333349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f6Ox1U5EWMgrfGr0b8Z0I3wVrpLo0Z2LMe0IZGFJdSw=; b=aWphAGzcaRB1++xOuxPejp4A8Z5tKvqm3kdZjl9S+CCexbRCe0PilDfBf6V4bJu5Ex/JtL AOorSAiTvOW5M89jAWxMVsdRbeCu8y1Ommdos0S7nbDEoTD0aedGL6/jooWtk80NpuH7FU Lt6l+rSeQ2cIqRBsH2kkbPOc91rzxInJgZ2zAUwyXFps2Ff27nQQVHoK5VzBRdhBQ3a6r5 8sq/5CPpL+QLvp6BMslF7XYlc71UeOSvlvqqrarIE38xYeCPeUTuDBZyRQuTKxFQbo6FZ/ Um4V3XHqtKNleQL+ES3aL77uZxzDswGNHSAiJN+ASGcej1bGkEFfUedoNTrFkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747333349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f6Ox1U5EWMgrfGr0b8Z0I3wVrpLo0Z2LMe0IZGFJdSw=; b=o8haK/DDTzwGJY+3MVq6CdKCaKw+g4H14eMRtTxvvUg3FYurKVcgJl+MBcf8Vf1NfkHAzo J39k98hE8bLZJ4pdCp0CdCTiJxb4fbgSz6krDPBNcxSdMshF4Cv8wZTe6Eb11fzLMm/83V nbuIZYo5sEHBKAbO7iYUTg3Cr7JJx4LzeP6C3jOr5MZsvSgAp9TQvsy7/ZCEXKxZYeiWKH tr6ZH2Sm+LTXOBK47FrCvOxllePhv0E3sFKFPAf7h0xrejrOqMN84QhdHQplfC4yc3i8I2 iAF9dNLNc+AuSs6XXWNYFx+MlPZgGI6bC6VgiFV7/XMD2PzTj5xhQehnYUygTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747333349; a=rsa-sha256; cv=none; b=gsfhHJ1+kO9axp9XyYYVT7r0ZQsCtahumIg0OWD89cXvkimYb3qmtssKqFEf5Hfo0wf/ZJ 4b4C+VDp9tl++/ZxPqrzpAR6xcJoC8/mBRJaN9Hoq4CRi/+Jcm37BLidQqChd7iru1EJ0J ibVL13IjluiqP2VlKrs/8Bp8KHeij0lcYA7DrBdh+tZVTDWeNzFwbLncNW4tzrnH/t37JV v/2fQ9sMaSiGcJgEJ1EG1CjP5WoYVnsHWYorD1weoUVF3xheDVXJ+CnOrDayX62KouGual 2Byxuh5VE99zPEnSgE5uGvgDP8hWsWbaf9SkGKUmnnaty35HF4Q7fGUN4Zyr2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zyz8P0KMMzD9J; Thu, 15 May 2025 18:22: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 54FIMT0X007584; Thu, 15 May 2025 18:22:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FIMS0K007581; Thu, 15 May 2025 18:22:28 GMT (envelope-from git) Date: Thu, 15 May 2025 18:22:28 GMT Message-Id: <202505151822.54FIMS0K007581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a7e183c0c9a5 - main - iwlwifi: update man pages for generations, firmware. and 11n/11ac List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a7e183c0c9a5579cdaa3e2ff9597e5e3d41dbdb4 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a7e183c0c9a5579cdaa3e2ff9597e5e3d41dbdb4 commit a7e183c0c9a5579cdaa3e2ff9597e5e3d41dbdb4 Author: Bjoern A. Zeeb AuthorDate: 2025-05-12 23:43:25 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-05-15 18:20:00 +0000 iwlwifi: update man pages for generations, firmware. and 11n/11ac Put Intel's iwlwifi better in context to iwm, iwx and iwn. Document the important tunables so users know where to go. Document the port/package for firmware where firmware is now maintained. Adjust wording and table for the firmware and a flavor column. Update History sections for 11n/11ac support as well as firmware module removal from base. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: ziaee, emaste (comments) Differential Revision: https://reviews.freebsd.org/D50319 --- share/man/man4/iwlwifi.4 | 86 +- share/man/man4/iwlwififw.4 | 2029 ++++++++++++++++++++++---------------------- 2 files changed, 1101 insertions(+), 1014 deletions(-) diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index 49d256e835c7..3da4e68ad805 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -1,7 +1,7 @@ -.\"- +.\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.\" Copyright (c) 2021-2024 The FreeBSD Foundation +.\" Copyright (c) 2021-2025 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 20, 2025 +.Dd May 12, 2025 .Dt IWLWIFI 4 .Os .Sh NAME @@ -50,6 +50,9 @@ kld_list="${kld_list} if_iwlwifi" The driver should automatically load any .Xr iwlwififw 4 firmware needed for the particular chipset. +See section +.Sx "FILES" +below for how to install the firmware. .Pp It is discouraged to load the driver from .Xr loader 8 . @@ -59,12 +62,25 @@ The driver provides support for Intel Wireless network devices. .Pp .Nm -is derived from Intel's Linux iwlwifi driver, will be a successor to -.Xr iwm 4 , -and may supersede that driver in the future. -It still complements the +is derived from Intel's Linux iwlwifi driver. +The +.Xr iwm 4 +and +.Xr iwx 4 +drivers together are approximately equivalent to Intel's Linux iwlwifi/mvm +driver. +.Pp +In addition +.Nm +already supports Intel's Linux iwlwifi/mld chipsets. +.Pp +.Nm +still complements the .Xr iwn 4 -driver which supports older chipsets. +driver which supports older chipsets and would be equivalent to +Intel's Linux iwlwifi/dvm, which +.Nm +does not support. .Pp The driver uses the .\" No LinuxKPI man pages so no .Xr here. @@ -98,6 +114,15 @@ sub-driver with the following chipset generations: 22000 .It AX210 +.El +.Pp +The +.Nm +driver supports PCIe devices from the +.Sy mld +sub-driver with the following chipset generations: +.Pp +.Bl -bullet -compact .It BZ .It @@ -235,10 +260,53 @@ Intel(R) TBD Sc2 device Intel(R) TBD Sc2f device .\" -------------------------------------------------------------------- .El +.Sh LOADER TUNABLES +The +.Nm +driver supports the following +.Xr loader 8 +tunable and read-only +.Xr sysctl 8 +variables: +.Bl -tag -width "compat.linuxkpi.iwlwifi_disable_11ac" +.It Va compat.linuxkpi.iwlwifi_11n_disable +Turn off 802.11n support in the driver. +Default +.Ql 1 . +.It Va compat.linuxkpi.iwlwifi_disable_11ac +Turn off 802.11ac support in the driver. +Default +.Ql 1 . +.El +.Pp +The names of the tunables are derived from the Linux iwlwifi driver +module parameters and are mapped automatically by +.Sy linuxkpi . +They were not adjusted so that they stay consistent with upstream +Linux, e.g., for documentation available and problem investigations. +This left their names inconsistent between themselves and incosistent to +.Fx +style. +.Pp +The tunables are automatically adjusted by the firmware package for +chipsets which can enable 11n and 11ac. +In case of problems a user may want to override the provided values +in +.Pa /boot/loader.conf.local +with the above defaults. +.Sh FILES +The +.Nm +driver requires firmware from +.Pa ports/net/wifi-firmware-iwlwifi-kmod . +This firmware package will be installed automatically with +.Xr fwget 8 +if the appropriate hardware is detected at installation or runtime. .Sh SEE ALSO .Xr iwlwififw 4 , .Xr iwm 4 , .Xr iwn 4 , +.Xr iwx 4 , .Xr wlan 4 , .Xr networking 7 , .Xr fwget 8 , @@ -249,6 +317,8 @@ The .Nm driver first appeared in .Fx 13.1 . +802.11n and 802.11ac support for the 22000 and later chipsets first appeared in +.Fx 14.3 . .Sh BUGS Certainly. .Pp diff --git a/share/man/man4/iwlwififw.4 b/share/man/man4/iwlwififw.4 index 491a634e70b5..45ee0e757c07 100644 --- a/share/man/man4/iwlwififw.4 +++ b/share/man/man4/iwlwififw.4 @@ -1,5 +1,7 @@ -.\"- -.\" Copyright (c) 2021-2024 The FreeBSD Foundation +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2021-2025 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. @@ -25,12 +27,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 12, 2024 -.Dt iwlwififw 4 +.Dd May 12, 2025 +.Dt IWLWIFIFW 4 .Os .Sh NAME .Nm iwlwififw -.Nd Firmware modules for Intel iwlwifi wireless network driver +.Nd Firmware for Intel iwlwifi wireless network driver .Sh SYNOPSIS The .Xr iwlwifi 4 @@ -38,1512 +40,1522 @@ driver should auto-load any firmware needed. It is discouraged to load the driver or firmware manually from .Xr loader 8 . .Sh DESCRIPTION -Multiple modules provide access to firmware for the various chipset -models supported by the +Firmware files are available from +.Xr ports 7 +for the various chipset models supported +by the .Xr iwlwifi 4 driver. +Modern chipsets often require a +.Pa .ucode +and an accompanying +.Pa .pnvm +file. .Pp One can use .Xr fwget 8 to install the correct firmware package. .Pp -.Bl -column -compact "Vendor" "Device" "Subv. " "Subd. " "Firmware-Prefix" +The list is provided as a reference as to with file prefix is needed for +a specific card as far as it can be determined and the port flavor. +.Pp +.Bl -column -compact "Vendor" "Device" "Subv. " "Subd. " "Flavor" "Firmware-Prefix" .It Ar Name -.It Ar Vendor Ta Ar Device Ta Ar Subv. Ta Ar Subd. Ta Ar Firmware-Prefix -.% --------------------------------------------------------------------- -.% This list is manually generated from a sysctl and post-processing -.% by sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh generating the list. -.% Edits will be overwritten on next update. -.% --------------------------------------------------------------------- +.It Ar Vendor Ta Ar Device Ta Ar Subv. Ta Ar Subd. Ta Ar Flavor Ta Ar Firmware-Prefix +.\" --------------------------------------------------------------------- +.\" This list is manually generated from a sysctl and post-processing +.\" by sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh generating the list. +.\" Edits will be overwritten on next update. +.\" --------------------------------------------------------------------- .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c60 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c60 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4c70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4060 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4060 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x406a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x406a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4160 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4160 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4062 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4062 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4162 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4162 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4270 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4270 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4272 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4272 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4260 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4260 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x426a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x426a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4262 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4262 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4470 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4470 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4472 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4472 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4460 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4460 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x446a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x446a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4462 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4462 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4870 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4870 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x486e Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x486e Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6e Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6e Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6c Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4a6c Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4570 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4570 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4560 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4560 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4370 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4370 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4360 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4360 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x5770 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x5770 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4020 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4020 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x402a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x402a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0x4220 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0x4220 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0x4420 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0x4420 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc070 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc070 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc072 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc072 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc170 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc170 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc060 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc060 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc06a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc06a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc160 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc160 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc062 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc062 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc162 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc162 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc770 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc770 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc760 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc760 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc270 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc270 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc70 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc70 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc60 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xcc60 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc272 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc272 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc260 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc260 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc26a Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc26a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc262 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc262 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc470 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc470 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc472 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc472 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc460 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc460 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc462 Ta iwlwifi-7260 +.It Intel(R) Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc462 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc570 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc570 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc560 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc560 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc370 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless AC 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc370 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc360 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc360 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc020 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc020 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc02a Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc02a Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b2 Ta any Ta 0xc220 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b2 Ta any Ta 0xc220 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless N 7260 -.It 0x8086 Ta 0x08b1 Ta any Ta 0xc420 Ta iwlwifi-7260 +.It Intel(R) Dual Band Wireless N 7260 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b1 Ta any Ta 0xc420 Ta 7000 Ta iwlwifi-7260 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0072 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0072 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0172 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0172 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0060 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0060 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0062 Ta iwlwifi-3160 +.It Intel(R) Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0062 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0270 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0270 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0272 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0272 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0470 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0470 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x0472 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x0472 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x0370 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x0370 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8072 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8072 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8172 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8172 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8060 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8060 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Wireless N 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8062 Ta iwlwifi-3160 +.It Intel(R) Wireless N 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8062 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8270 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8270 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8370 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8370 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b4 Ta any Ta 0x8272 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b4 Ta any Ta 0x8272 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8470 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8470 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x8570 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x8570 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x1070 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x1070 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3160 -.It 0x8086 Ta 0x08b3 Ta any Ta 0x1170 Ta iwlwifi-3160 +.It Intel(R) Dual Band Wireless AC 3160 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x08b3 Ta any Ta 0x1170 Ta 7000 Ta iwlwifi-3160 .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4010 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4010 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4012 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4012 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4212 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4212 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4410 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4410 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4510 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4510 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x4110 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x4110 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4310 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4310 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3166 Ta any Ta 0x4210 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3166 Ta any Ta 0x4210 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x8010 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x8010 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3165 -.It 0x8086 Ta 0x3165 Ta any Ta 0x8110 Ta iwlwifi-7265D +.It Intel(R) Dual Band Wireless AC 3165 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x3165 Ta any Ta 0x8110 Ta 7000 Ta iwlwifi-7265D .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2010 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2010 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2110 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2110 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2050 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2050 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 0x2150 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 0x2150 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 3168 -.It 0x8086 Ta 0x24fb Ta any Ta 000000 Ta iwlwifi-3168 +.It Intel(R) Dual Band Wireless AC 3168 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x24fb Ta any Ta 000000 Ta 7000 Ta iwlwifi-3168 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5110 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5110 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5100 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5100 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5310 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5310 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5302 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5302 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5210 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5210 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5c10 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5c10 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5012 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5012 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5412 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5412 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5410 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5410 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5510 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5510 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5400 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5400 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x1010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x1010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5000 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5000 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x500a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x500a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5200 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5200 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5002 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5002 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5102 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5102 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Wireless N 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5202 Ta iwlwifi-7265 +.It Intel(R) Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5202 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9010 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9010 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9012 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9012 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x900a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x900a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9110 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9110 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9112 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9112 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9210 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9210 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9200 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9200 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9510 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9510 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x9310 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x9310 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9410 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9410 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5020 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5020 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x502a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x502a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless N 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5420 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless N 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5420 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5090 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5090 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5190 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5190 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5590 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5590 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5290 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5290 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5490 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5490 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x5f10 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x5f10 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x5212 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x5212 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095b Ta any Ta 0x520a Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095b Ta any Ta 0x520a Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9000 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9000 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9400 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9400 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 7265 -.It 0x8086 Ta 0x095a Ta any Ta 0x9e10 Ta iwlwifi-7265 +.It Intel(R) Dual Band Wireless AC 7265 Ta Ta Ta Ta Ta +.It 0x8086 Ta 0x095a Ta any Ta 0x9e10 Ta 7000 Ta iwlwifi-7265 .It "" -.It Intel(R) Dual Band Wireless AC 8260 -.It 0x8086 Ta 0x24f3 Ta any Ta 0x0010 Ta iwlwifi-8000C +.It Intel(R) Dual Band Wireless AC 8260 Ta Ta Ta Ta Ta *** 1750 LINES SKIPPED *** From nobody Thu May 15 18:31:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZyzLR0X2kz5wk80; Thu, 15 May 2025 18:31: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 4ZyzLQ6vkDz3NLV; Thu, 15 May 2025 18:31:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747333871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lLM0kQ2cj4zpFE9zDwo49setWmI7lKjgFmjcHpDNWHo=; b=AoMBwJwlaFf7LWd4uuUrZgJSC3M5Gf6mrii2XRDWW3/juCQshPOePx365X8MuB4FqEfkXK kEkOUHB/qQi93rJSCk+I8LwpjmMvmAEp7NKfs4EoPbAGU2cU//ZCTdGY6bet4GjVa3ccas aRnZDcE2NffyKHoPFKzrL3bpXvCowBjD5c6waWrp4xUQjArGnptxEilVdTN8VL6C8X7rbl i38BlpK1YOFi2OAF33OhW/SKIQ45n8C284kus9fZiRSZ2ws3GU5mbXtFYPJnonA+/qVDM9 Y7zXn+dgNwXUoZleT1At5deuYA5DgrKRsqB2FwVvIp0n215N8DCf3BXjhqj5uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747333871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lLM0kQ2cj4zpFE9zDwo49setWmI7lKjgFmjcHpDNWHo=; b=NV81eiFdiYTVBsbChpJIM4e1MOdE6YfI63CxQtIzHf7df6coeqYjfkJBDPh6CbXOS74cu4 qI99/azwgCHY6Ogr6ni7o68gaub0vmH2wBJnglgOC4qBI/ZBAOs/tbM8TJbk/VrHbPItku XN6tpPjOQ58eVOc2188OCh4dCtM7ezmbYtIZ/X/8rfyMT/GR0ipVFaxRIkUR8fAH7K4PWT 0I9apBe/emEG8ZnSDYwAtB+qCC9F0MSAgmwAQ+mW+v4U2BJf7kzGKGIYfaO7qLGZXZ/y75 55yhBEPq1KZTAzcAhY08YPw4e+raWoBj26lsxeAwQZsS6eeby0fKVOPYYe7rww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747333871; a=rsa-sha256; cv=none; b=T+Jt7n8yii6FszGrQonSArkZB/dqRz4+1CpmM3+CeAIRnTmuuyVBAxjRxDoxdcDD8IbQdI VMbJwEZCEjVXXhIvZ1gvFdw9Ka7yzy669b8jMFhOzkBEqjewNrah3tuwMbrgoe5BAfPVFx DKKwEL1ILMbcyNfECdyjZQwQ0mdO6vaajB/XqT0klam3VUomzrqX+pJonZk2EhNMzcds5T v510mYbCGWNNsJg/Npn8qZ2ut126yNoLb4DnGkGwnoSFI5N3U527pXkWfIoMhpT7jzMvDU ot3z/ElqR/EVm7ykJ+XKEKVuMT37YmFTFpxK9vT7dMtJzfY/Z0Fl1Lwz13f6kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZyzLQ6WMZzDR6; Thu, 15 May 2025 18:31: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 54FIVAfY021740; Thu, 15 May 2025 18:31:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FIVA0p021737; Thu, 15 May 2025 18:31:10 GMT (envelope-from git) Date: Thu, 15 May 2025 18:31:10 GMT Message-Id: <202505151831.54FIVA0p021737@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: f938c0a90313 - main - libusb: add SUPER_PLUS in speed enum. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f938c0a90313125a9518307e80ca92d4c71f7745 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=f938c0a90313125a9518307e80ca92d4c71f7745 commit f938c0a90313125a9518307e80ca92d4c71f7745 Author: SHENGYI HUNG AuthorDate: 2025-05-15 10:30:45 +0000 Commit: Baptiste Daroussin CommitDate: 2025-05-15 18:30:32 +0000 libusb: add SUPER_PLUS in speed enum. Summary: Some application(like usbmuxd) start to use LIBUSB_SPEED_SUPER_PLUS now. Though we don't have the corresponding infra in kernel right now, it is harmless to have this enum value in userspace to prevent the compile error Reviewed By: bapt Sponsored By: FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50359 --- lib/libusb/libusb.3 | 2 +- lib/libusb/libusb.h | 1 + lib/libusb/libusb01.c | 2 ++ lib/libusb/libusb10.c | 5 +++++ lib/libusb/libusb20.3 | 1 + lib/libusb/libusb20.h | 1 + usr.sbin/usbconfig/dump.c | 2 ++ 7 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/libusb/libusb.3 b/lib/libusb/libusb.3 index fe07e86623c8..1ca0e677d96f 100644 --- a/lib/libusb/libusb.3 +++ b/lib/libusb/libusb.3 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 26, 2023 +.Dd May 16, 2025 .Dt LIBUSB 3 .Os .Sh NAME diff --git a/lib/libusb/libusb.h b/lib/libusb/libusb.h index 732fc9dca1e0..cdac94b17c64 100644 --- a/lib/libusb/libusb.h +++ b/lib/libusb/libusb.h @@ -216,6 +216,7 @@ enum libusb_speed { LIBUSB_SPEED_FULL = 2, LIBUSB_SPEED_HIGH = 3, LIBUSB_SPEED_SUPER = 4, + LIBUSB_SPEED_SUPER_PLUS = 5, }; enum libusb_transfer_status { diff --git a/lib/libusb/libusb01.c b/lib/libusb/libusb01.c index 7017016693af..f246e74353a6 100644 --- a/lib/libusb/libusb01.c +++ b/lib/libusb/libusb01.c @@ -130,6 +130,8 @@ usb_get_transfer_by_ep_no(usb_dev_handle * dev, uint8_t ep_no) bufsize = 4096; } else if (speed == LIBUSB20_SPEED_SUPER) { bufsize = 65536; + } else if (speed == LIBUSB20_SPEED_SUPER_PLUS) { + bufsize = 131072; } else { bufsize = 16384; } diff --git a/lib/libusb/libusb10.c b/lib/libusb/libusb10.c index 679f4e64b5f6..b442a1f489a0 100644 --- a/lib/libusb/libusb10.c +++ b/lib/libusb/libusb10.c @@ -445,6 +445,8 @@ libusb_get_device_speed(libusb_device *dev) return (LIBUSB_SPEED_HIGH); case LIBUSB20_SPEED_SUPER: return (LIBUSB_SPEED_SUPER); + case LIBUSB20_SPEED_SUPER_PLUS: + return (LIBUSB_SPEED_SUPER_PLUS); default: break; } @@ -1074,6 +1076,9 @@ libusb10_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) case LIBUSB20_SPEED_SUPER: ret = 65536; break; + case LIBUSB20_SPEED_SUPER_PLUS: + ret = 131072; + break; default: ret = 16384; break; diff --git a/lib/libusb/libusb20.3 b/lib/libusb/libusb20.3 index 1d07db8f32a4..7854b0f8ed7e 100644 --- a/lib/libusb/libusb20.3 +++ b/lib/libusb/libusb20.3 @@ -858,6 +858,7 @@ returns the current speed of the given USB device. .It LIBUSB20_SPEED_HIGH .It LIBUSB20_SPEED_VARIABLE .It LIBUSB20_SPEED_SUPER +.It LIBUSB20_SPEED_SUPER_PLUS .El . .Pp diff --git a/lib/libusb/libusb20.h b/lib/libusb/libusb20.h index 7bca2f7508c7..c132c58a9f69 100644 --- a/lib/libusb/libusb20.h +++ b/lib/libusb/libusb20.h @@ -159,6 +159,7 @@ enum { LIBUSB20_SPEED_HIGH, LIBUSB20_SPEED_VARIABLE, LIBUSB20_SPEED_SUPER, + LIBUSB20_SPEED_SUPER_PLUS, }; /** \ingroup misc diff --git a/usr.sbin/usbconfig/dump.c b/usr.sbin/usbconfig/dump.c index 2a4a5300efeb..10ff2125853e 100644 --- a/usr.sbin/usbconfig/dump.c +++ b/usr.sbin/usbconfig/dump.c @@ -100,6 +100,8 @@ dump_speed(uint8_t value) return ("VARIABLE (52-480Mbps)"); case LIBUSB20_SPEED_SUPER: return ("SUPER (5.0Gbps)"); + case LIBUSB20_SPEED_SUPER_PLUS: + return ("SUPER+(10-20Gbps)"); default: break; } From nobody Thu May 15 18:58:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zyzxh33CLz5wlbD; Thu, 15 May 2025 18:58:16 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta003.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zyzxh0CrNz3dq7; Thu, 15 May 2025 18:58:15 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4002a.ext.cloudfilter.net ([10.228.9.250]) by cmsmtp with ESMTPS id Fcr6uFCmj9JM2FdmZulk4y; Thu, 15 May 2025 18:58:15 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id FdmXubffRl5eGFdmYuiTHq; Thu, 15 May 2025 18:58:15 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=EO6l0EZC c=1 sm=1 tr=0 ts=68263947 a=h7br+8Ma+Xn9xscxy5znUg==:117 a=h7br+8Ma+Xn9xscxy5znUg==:17 a=kj9zAlcOel0A:10 a=dt9VzEwgFbYA:10 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=YxBL1-UpAAAA:8 a=aAOXd9-Cu5iS0-GmlRQA:9 a=CjuIK1q_8ugA:10 a=LK5xJRSDVpKd5WXXoEvA:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id B40E81DE; Thu, 15 May 2025 11:58:12 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id AE47677; Thu, 15 May 2025 11:58:12 -0700 (PDT) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.8+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Lexi Winter cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false In-reply-to: <202505150004.54F04FhR046897@gitrepo.freebsd.org> References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> Comments: In-reply-to Lexi Winter message dated "Thu, 15 May 2025 00:04:15 +0000." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 15 May 2025 11:58:12 -0700 Message-Id: <20250515185812.AE47677@slippy.cwsent.com> X-CMAE-Envelope: MS4xfHXo2kNvjTx4h1ErVe525DjH66PAi3dsp0JkZJ5OPQXZkTRABnJu2KLO6CsBXhvGDcpgGqgJ2X1bML+kmMHLfsqUYgN/+5KWuu2JqN7efhBodsU1aS30 qpgEZmY+GzOXgtSUPBI1ISgahArlxoM2gEtVcb+O777Vg65FrOF/pcgLQs/KJUX5ihKLC41IBKPyw5UHjiiQ8TV2hAyxSIU5pVnzrJ9/wZD+EByudMzKQjd0 xrRxiBkdkPQdQOVUZQIjD+3K75SD+uaIG+jZFbinEU8jb6p9AMRK+Z6x5LNjW1edzU5/4w+IFCJSwJ5ivMasHlyS6AnnyEC6CsLuU2AV7a4= X-Rspamd-Queue-Id: 4Zyzxh0CrNz3dq7 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.96.0.0/15, country:US] X-Spamd-Bar: ---- In message <202505150004.54F04FhR046897@gitrepo.freebsd.org>, Lexi Winter write s: > The branch main has been updated by ivy: > > URL: https://cgit.FreeBSD.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d > 9090309e > > commit b61850c4e6f6b0f21b36da7238db969d9090309e > Author: Lexi Winter > AuthorDate: 2025-05-14 14:26:24 +0000 > Commit: Lexi Winter > CommitDate: 2025-05-15 00:02:52 +0000 > > bridge(4): default net.link.bridge.member_ifaddrs to false > > As discussed on arch@, this behaviour is broken and confuses users, so > disable it by default. For 15.0-RELEASE, allow it to be re-enabled > using a sysctl, but the sysctl will be removed in 16.0R. > > Relnotes: yes > Reviewed by: kp, des > Approved by: des (mentor) > Differential Revision: https://reviews.freebsd.org/D50328 > --- > UPDATING | 5 +++++ > share/man/man4/bridge.4 | 18 ++++++++++++------ > sys/net/if_bridge.c | 4 ++-- > 3 files changed, 19 insertions(+), 8 deletions(-) > > diff --git a/UPDATING b/UPDATING > index d46db9e13794..ce2b60ea9353 100644 > --- a/UPDATING > +++ b/UPDATING > @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: > world, or to merely disable the most expensive debugging functionality > at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) > > +20250513: > + The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to 0, > + meaning that interfaces added to a bridge may not have IP addresses > + assigned. Refer to bridge(4) for more information. > + > 20250507: > UMASS quirks and auto-quirk probing has been overhauled. CAM now won't > send SYNCHRONIZE CACHE unless MODE PAGE 8 is present and valid. This > diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 > index 2c3bfd6aedfa..45dea82325bc 100644 > --- a/share/man/man4/bridge.4 > +++ b/share/man/man4/bridge.4 > @@ -36,7 +36,7 @@ > .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF T > HE > .\" POSSIBILITY OF SUCH DAMAGE. > .\" > -.Dd May 5, 2025 > +.Dd May 13, 2025 > .Dt IF_BRIDGE 4 > .Os > .Sh NAME > @@ -163,14 +163,20 @@ To allow the host to communicate with bridge members, I > P addresses > should be assigned to the > .Nm > interface itself, not to the bridge's member interfaces. > -Assigning IP addresses to bridge member interfaces is unsupported, but > -for backward compatibility, it is permitted if the > +Attempting to assign an IP address to a bridge member interface, or add > +a member interface with an assigned IP address to a bridge, will return > +an > +.Dv EINVAL > +.Dq ( "Invalid argument" ) > +error. > +For compatibility with older releases where this was permitted, setting > +the > .Xr sysctl 8 > variable > .Va net.link.bridge.member_ifaddrs > -is set to 1, which is the default. > -In a future release, this sysctl may be set to 0 by default, or may be > -removed entirely. > +to 1 will permit this configuration. > +This sysctl variable will be removed in > +.Fx 16.0. > .Sh IPV6 SUPPORT > .Nm > supports the > diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c > index 199418c4aa99..475977adf68a 100644 > --- a/sys/net/if_bridge.c > +++ b/sys/net/if_bridge.c > @@ -504,10 +504,10 @@ SYSCTL_BOOL(_net_link_bridge, OID_AUTO, log_mac_flap, > "Log MAC address port flapping"); > > /* allow IP addresses on bridge members */ > -VNET_DEFINE_STATIC(bool, member_ifaddrs) = true; > +VNET_DEFINE_STATIC(bool, member_ifaddrs) = false; > #define V_member_ifaddrs VNET(member_ifaddrs) > SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs, > - CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), true, > + CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), false, > "Allow layer 3 addresses on bridge members"); > > static bool > This patch breaks VNET jails. bob# service jail onestart test2 Starting jails: cannot start jail "test2": epair0a ifconfig: ioctl (SIOCAIFADDR): Invalid argument jail: test2: /sbin/ifconfig epair0a inet 10.1.1.70 netmask 0xffffff00 up: failed . bob# ifconfig epair0a inet 10.1.1.70 netmask 0xffffff00 ifconfig: ioctl (SIOCAIFADDR): Invalid argument bob# ifconfig epair0a inet up bob# Setting the sysctl to one resolves the issue. -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e^(i*pi)+1=0 From nobody Thu May 15 19:29:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zz0dc1pNmz5wnRj; Thu, 15 May 2025 19:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zz0dc19Ggz3ytt; Thu, 15 May 2025 19:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747337364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=98B3YtB74MgPGGzW/ECbF4PBnplW6HAynIl5QQbv1c8=; b=G1aspfhWoOa7h9gLVVDYOVvYwBcwfem7KoS0FVPiRai0lyHaxufGQd0Yz8c/r3ema/tAT6 0dy1eMk0lAZDQQn+vVC/ocJtlwBY6Mu6fsXkXI1myVDaKUGuFEIkTPOnQaSq5qqs4IawoG lqo3Kf3c1W2V+AjSPvajPR0MnEfBXwBHm0vC6D+frnneAsdHpgVFIuhKJHqH9vN+OA92HN u/k3uJJXujvQM7wtD5ppyD7gwqNvNIn3xsLANJUFSVz5vqEzFsoluo9qzWi9AzhzW0c351 uGJPK5Ht09JG+12XrbJ3h2XQ/G0ZqEscxJVj5oX3C2HnPhDVYKsbYYcxU8e5Gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747337364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=98B3YtB74MgPGGzW/ECbF4PBnplW6HAynIl5QQbv1c8=; b=LeUera3OF2RjZF72rkrHX7Bc37wimpuc3ZpQi9mmkHmobT0nFTV1PRgbW2xgy0PZf1IPi9 3uAoIMR3ulfozIctvqdY8QZsh84Ltg1H4NUVCmq9B/kswl0fq+nbsYgeiavdGMhtmHyDiu EqFZfVboyPjNj+aYpsjWu4XtLJR7Rg1+zcwXEVhLfKoSH2o89ZzyOTLpzzYgOBmv/oFr5u UTg6EegFLeL6FUgQsw2MB9YtosQkz3GsztULf4Vr5xh+lWB4CMIyJh0oN75DsfWnwm7DS4 /iKwYfj5EVPG/vqNA5DkzOykvZdWOl9P2GP3TnRKqvkyMvu6QYqGzQna0p3F5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747337364; a=rsa-sha256; cv=none; b=rK6foDKQHJJ7EuB5GmVJW0LRJ45K48c9t22km6zSFhcfxA0mn8zwgvm7zIqaTcNVkvc1yg zLMhjmso5lVlc0/O9q3vW9fBKEyC0P9kTSp4IxBXJi5FdcYgfMYtgzxXa19gRXNhP8Xhuc twCGil0AfwDK/Ixqfe2vNJOVyyN2JUrmfT0gbD2RU080BbojOykQvgYiMu4BKwhthvS4Np iuGmcFxNOVdLeqCZ3BaSYiJLG6yUHqJ6Doeee1SkyOWHDF6r/IrxXbh29I6exj0RwwOsvU KSfM0sz/ka6Pdc4DQJA+gQl2RE4AOn5guA/vHc99AV+HRsWAAlI8zEXCh+qv3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zz0dc0l1lzWtB; Thu, 15 May 2025 19:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54FJTOF0022580; Thu, 15 May 2025 19:29:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FJTNa4022577; Thu, 15 May 2025 19:29:23 GMT (envelope-from git) Date: Thu, 15 May 2025 19:29:23 GMT Message-Id: <202505151929.54FJTNa4022577@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Krzysztof Galazka Subject: git: ecc352af5987 - main - committers-src: add myself (kgalazka@) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kgalazka X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ecc352af5987a1919fcacaaac43b8e2af600cea6 Auto-Submitted: auto-generated The branch main has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=ecc352af5987a1919fcacaaac43b8e2af600cea6 commit ecc352af5987a1919fcacaaac43b8e2af600cea6 Author: Krzysztof Galazka AuthorDate: 2025-05-15 19:28:12 +0000 Commit: Krzysztof Galazka CommitDate: 2025-05-15 19:28:12 +0000 committers-src: add myself (kgalazka@) Add kgalazka@ (myself) as new src committer with erj@ and kbowling@ as mentors. Signed-off-by: Krzysztof Galazka Reviewed by: kbowling, erj Approved by: erj (mentor) Differential Revision: https://reviews.freebsd.org/D50332 --- share/misc/committers-src.dot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 3154b124b514..e8719a44fae7 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -251,6 +251,7 @@ ken [label="Ken Merry\nken@FreeBSD.org\n1998/09/08"] kensmith [label="Ken Smith\nkensmith@FreeBSD.org\n2004/01/23"] kevans [label="Kyle Evans\nkevans@FreeBSD.org\n2017/06/20"] kevlo [label="Kevin Lo\nkevlo@FreeBSD.org\n2006/07/23"] +kgalazka [label="Krzysztof Galazka\nkgalazka@FreeBSD.org\n2025/04/07"] khng [label="Ka Ho Ng\nkhng@FreeBSD.org\n2021/03/15"] khorben [label="Pierre Pronchery\nkhorben@FreeBSD.org\n2025/05/06"] kib [label="Konstantin Belousov\nkib@FreeBSD.org\n2006/06/03"] @@ -564,6 +565,7 @@ emaste -> scottph emax -> markus erj -> jeb +erj -> kgalazka fjoe -> versus @@ -715,6 +717,8 @@ julian -> mp kan -> kib +kbowling -> kgalazka + ken -> asomers ken -> chuck ken -> ram From nobody Fri May 16 00:30:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zz7JX0tgjz5vj8j; Fri, 16 May 2025 00:30:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zz7JW4lZ1z3QmS; Fri, 16 May 2025 00:30:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747355403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jYRcUGdEjG7Tz1mFFT2ubxp069UE9cImweZQyzb8r1M=; b=nMkBIEMD/46d4VXisVdakceB2PePp7eCCZQXZcOMTd55DljArmj7oiOVFiQ5PNRhIC9DnR zS4/ExDP1GQEjfRsSLQ/+FKpfYyF1bovAeSQx/LxpXL5++mPie1Almvy9yWGdNh2ng4Vmm z6bZIa9zq36+/4iohqP71Iuww+aBZ2rY5VHKBFynIX5BZ4QnvrokuwSArLbjlMc9/+wCjW p95ibpTumd2dfg7akI4BytfZLNjGgs8gu+kF56CLbJET/2vOqWRP/do/xvuPsG3GJsb1o1 rt542EjjjNr3e8dqJz0y+2Jyhm2xUHnYd9XLt5ydZCGPPdxLU0QWKGCfd2gUHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747355403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jYRcUGdEjG7Tz1mFFT2ubxp069UE9cImweZQyzb8r1M=; b=Lj0zS3laXfAGzDoyTicrHmV8/8WYQSyPDt44SWb/PD7hlNTpgTz5WEg4+lMk23mWrL0YIT F5xhhKUXtUSD4pRq0b0QC563KUNOMVGHEddl5seYwmmILnsLrLyaOiebcJSwdDQVI22EE3 lwJIvh2GdBBecFbsTU3YZ1ALeqg+t++KGgekPrSO2+FCsPGe25PVJ8UVrn0NVlrS0PR2j5 Va4ilcanDD5O8uM06VRkKxRhmhK767Q/724w0bSsnz1vFLx5Fy9aRObmcBH4vILQBk6yJF CCHhq7dVqqPYjXMAg3Bpr9PdouDr4GwpwJYwwj/pJXBDz4doyrIKmXHjrAau9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747355403; a=rsa-sha256; cv=none; b=XPfwjOBeqSoz6Q1qGm87ofrVqeGVLK5FUKAdSc6fz5lUso6Q4XIXyYlh/ZnHuG5bOpUQXe C7YoB1Nhrv3m4AzUohqFsTgPnwv442tbf/7Bk0z5jRg3HiReo0erRaAghTD9ePl5T9INMj qS94OmNZRRuy5lyKEENvt1Oi3g4v1SlK7iuUxqEmzHynsvpgLpVDidLSrDa8OQswssM/Ye bpVufC4cT9A6gOUVyEmJ5Q3Ot5hbeuc+03LeqD4zektR2xInaQoHALE4WraCSyxKfgd51E VTjFSbzzNiySozQOjejgHKKh4h3c83OSsf55AAqX4xfXnc/Nas13cZDv3omVgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zz7JW2c0lzgdg; Fri, 16 May 2025 00:30: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 54G0U3Ns087243; Fri, 16 May 2025 00:30:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G0U3Jw087233; Fri, 16 May 2025 00:30:03 GMT (envelope-from git) Date: Fri, 16 May 2025 00:30:03 GMT Message-Id: <202505160030.54G0U3Jw087233@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 772258c89f28 - main - nfs_clrpcops.c: Fix acquisition of post-op attributes for link List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 772258c89f28501546844a60616211f44f55f4ce Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=772258c89f28501546844a60616211f44f55f4ce commit 772258c89f28501546844a60616211f44f55f4ce Author: Rick Macklem AuthorDate: 2025-05-16 00:27:14 +0000 Commit: Rick Macklem CommitDate: 2025-05-16 00:27:14 +0000 nfs_clrpcops.c: Fix acquisition of post-op attributes for link Without this patch, the link RPC (done by nfsrpc_link()) did not acquire post link operation attributes for the file object for NFSv4. For some recent Linux NFSv4 servers that support delegations, this would result in the client's cached attribute for st_nlinks not being increased right away, because the delegation would indicate that the now stale cached attributes were still valid. This patch fixes the problem by acquiring post link attributes and updating the client's cached copy in the same manner as the NFSv3 RPC did. Detected at the recent NFSv4 Bakeathon testing event. Applications will only be affected if they examine st_nlinks after a new hard link is created for a file object. MFC after: 2 weeks --- sys/fs/nfs/nfs_commonsubs.c | 2 +- sys/fs/nfsclient/nfs_clrpcops.c | 40 +++++++++++++++++++++++++++------------- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 39fa6f091eee..eeeb079a6aa7 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -254,7 +254,7 @@ static struct { { NFSV4OP_REMOVE, 1, "Remove", 6, }, { NFSV4OP_REMOVE, 1, "Remove", 6, }, { NFSV4OP_SAVEFH, 5, "Rename", 6, }, - { NFSV4OP_SAVEFH, 4, "Link", 4, }, + { NFSV4OP_SAVEFH, 6, "Link", 4, }, { NFSV4OP_READDIR, 2, "Readdir", 7, }, { NFSV4OP_READDIR, 2, "Readdir", 7, }, { NFSV4OP_GETATTR, 1, "Getattr", 7, }, diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 0fb08df74a54..c1f94a65e506 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -3113,15 +3113,20 @@ nfsrpc_link(vnode_t dvp, vnode_t vp, char *name, int namelen, (void)nfsm_fhtom(VFSTONFS(dvp->v_mount), nd, VTONFS(dvp)->n_fhp->nfh_fh, VTONFS(dvp)->n_fhp->nfh_len, 0); if (nd->nd_flag & ND_NFSV4) { - NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); - *tl = txdr_unsigned(NFSV4OP_GETATTR); - NFSWCCATTR_ATTRBIT(&attrbits); - (void) nfsrv_putattrbit(nd, &attrbits); - nd->nd_flag |= ND_V4WCCATTR; NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(NFSV4OP_LINK); } (void) nfsm_strtom(nd, name, namelen); + if (nd->nd_flag & ND_NFSV4) { + NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); + *tl = txdr_unsigned(NFSV4OP_GETATTR); + NFSGETATTR_ATTRBIT(&attrbits); + (void)nfsrv_putattrbit(nd, &attrbits); + NFSM_BUILD(tl, uint32_t *, 2 * NFSX_UNSIGNED); + *tl++ = txdr_unsigned(NFSV4OP_RESTOREFH); + *tl = txdr_unsigned(NFSV4OP_GETATTR); + (void)nfsrv_putattrbit(nd, &attrbits); + } error = nfscl_request(nd, vp, p, cred); if (error) return (error); @@ -3130,19 +3135,28 @@ nfsrpc_link(vnode_t dvp, vnode_t vp, char *name, int namelen, if (!error) error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); - } else if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == ND_NFSV4) { + } else if (nd->nd_repstat == 0 && (nd->nd_flag & ND_NFSV4) != 0) { /* - * First, parse out the PutFH and Getattr result. + * First and parse out the PutFH and Link results. */ - NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); - if (!(*(tl + 1))) - NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); - if (*(tl + 1)) + NFSM_DISSECT(tl, uint32_t *, 5 * NFSX_UNSIGNED + + 2 * NFSX_HYPER); + if (*(tl + 3)) nd->nd_flag |= ND_NOMOREDATA; /* - * Get the pre-op attributes. + * Get the directory post-op attributes. */ - error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); + if ((nd->nd_flag & ND_NOMOREDATA) == 0) + error = nfscl_postop_attr(nd, dnap, dattrflagp); + if (error == 0 && (nd->nd_flag & ND_NOMOREDATA) == 0) { + /* Get rid of the RestoreFH reply. */ + NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_UNSIGNED); + if (*(tl + 1)) + nd->nd_flag |= ND_NOMOREDATA; + } + /* Get the file's post-op attributes. */ + if (error == 0 && (nd->nd_flag & ND_NOMOREDATA) == 0) + error = nfscl_postop_attr(nd, nap, attrflagp); } if (nd->nd_repstat && !error) error = nd->nd_repstat; From nobody Fri May 16 00:35:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zz7QY6m1Xz5vjgK; Fri, 16 May 2025 00:35: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 4Zz7QY6J7cz3Vyn; Fri, 16 May 2025 00: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=1747355717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QDyOifx0KIhX6D4VTgI5D4EUUxIEJmE0zUWg7v2YTJ0=; b=KCcLFbt/bxckzcatdGgMyX56xoad25W+/5oOUohnVnBQs6wUCBF7QP8+jIIOY9lIQoUMp3 eX98zPEKImICRttRfNG9OgH0oVM1WLJ8NfvyIUrDMRsySgvI+BsKntd56sYFEcobs7T0wF ifwoeeaHIQaWA1alekMRlVoOVg69swSRVviWvxy0pgDcL71k2bBA85ToHqXXZylvXP1ah3 as/r74sDj0bfiyq359TM1qnoYoIsGJiu0tDcnwaogD1x5Y9vicEcJnJGBGNQ9Nu/M+bg+b UBV9n3B9RLPHKaKZrOFMfYYLsI2Qqg+/sDz8cTI4OxF+yB6kMlBR3Wljg/IqlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747355717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QDyOifx0KIhX6D4VTgI5D4EUUxIEJmE0zUWg7v2YTJ0=; b=P86vhIcrOPQBFl+3DrBODWfw/pYwovQeQgJTxV77o+9fk3Mxh6CYnUfkN1rOj0jlQc/ZR0 aK9qd2VcfOWsuxGQ2yirpz6xyBolxIViGzaQWTj3GHtfoYYwB5TgH6cjUvy7x09mCEU0l3 y1b0uslJrPJIvKrrAVZbTUlOIdiT+3kJtNO7PV2nO0qS97EtdsyauQMOBHVU/k2wc5DcCE 3PVqkARIiVH7hwvbbKU1694yf2xj2Hd/fIQPlCpD92fDb0P3zyVVfjKFoJkr457Y63LNxv QkneUn0zEwTbz+UeHeMRdCDfPHIqgEaWCT9Ol3NbJP+aqatgRSR0r7ZCSJeq0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747355717; a=rsa-sha256; cv=none; b=syCWRuMuluVQ+NWym+aczilBPNIAF8hOPL+VCL4InUWQwtqP1skTezbuUx7yxXDs5HeiHW AGEoV42vqRLy6KvrIEYq1p3D6RdvLeK8SBAi83/M0chfwxEgGgFWN2m9LwCUF3D+kPipar Oy4qZHirJqt+5v7dzlmTdc71hWgjHtJLCYxsCEy/cOVrLneo3I2U5ck2rzs/55FjWwfobt gZj7+xxZuIt49o5KouxDJ9205dw+pqOtmfIimHGyBMrzkgkYbRPS6vJcP8cclxGjsTw+MD ZN9C+FvSnfbKiACjvMMK2n71ZhXp6EvGQ1VmMXZV47JpqTrZ4p0cVIZFgZU0zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zz7QY5g8NzhS4; Fri, 16 May 2025 00: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 54G0ZHA7002890; Fri, 16 May 2025 00: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 54G0ZHvA002887; Fri, 16 May 2025 00:35:17 GMT (envelope-from git) Date: Fri, 16 May 2025 00:35:17 GMT Message-Id: <202505160035.54G0ZHvA002887@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 96af6ac75468 - main - UPDATING: Add an entry for commit 772258c89f28 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 96af6ac75468602b85552714db990449aa6a5d3d Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=96af6ac75468602b85552714db990449aa6a5d3d commit 96af6ac75468602b85552714db990449aa6a5d3d Author: Rick Macklem AuthorDate: 2025-05-16 00:32:18 +0000 Commit: Rick Macklem CommitDate: 2025-05-16 00:32:18 +0000 UPDATING: Add an entry for commit 772258c89f28 --- UPDATING | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/UPDATING b/UPDATING index ce2b60ea9353..b6597c2e11a1 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250515: + Commit 772258c89f28 changed the internal API between the nfscommon + and nfscl modules. Both need to be built from updated sources. + 20250513: The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to 0, meaning that interfaces added to a bridge may not have IP addresses From nobody Fri May 16 02:34:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzB4S0VfRz5vtDP; Fri, 16 May 2025 02:34:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzB4R4zvfz3xfF; Fri, 16 May 2025 02:34:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747362887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oyIDHLgUhIBix10ggzEKLC3TWpODkr45R9vZQvL2yxM=; b=uSEiqoI2vMQF/dRoZnirwdLr3T3xvmQfcfxj9ipQYipndL8TkesMWHMYSVf2ZahgfAaFAI mGKrGUdZ7F+8ispRYGvlNr7uTWeU4B9nTQ22DAMKwbCoAU1KSi5zXdkCNbxFiWkEaM44GV PUTqUYsylcoMtHSSrm7D3SpIbP/Ib5Sj3gAPeY4Q4m1zrjZX1kWpES4Cwg4+F87iDFB0LP ZOy3H9fGsIqCa4/LP18U6numYgCZB9Iv8F9G22fpNxKRBBrVWXYqTyF4YIhTKNzsQ2zqH2 JdbZyMJ0xp90Q6a30ZoWKp2fpp+L0qujdBsuRotDb2UziULN/tBnKyMxUzMeQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747362887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oyIDHLgUhIBix10ggzEKLC3TWpODkr45R9vZQvL2yxM=; b=WUIA8sxl5jCdR+0vxjM71VEX69/VYbj2CWrI0t6pen3+rDnu/IZ9tmaJa6Kv6Jk6+GZA6H oEcqUodO679wIkGt2qshi/rH8KzsWjkXnAUpAQH+tm07RdwXVpIh4GyKSXEr9S0yIB5XpP mAazLlxqA+JaAdky2HgGRc7xp+gb7gjG/B1HkNVGLBiqADmjT+huEsjhGnvq3dh89R9ZFL i/js7v3+BbhnylFOh/c4gfjieTSgg5oOrD9l0bAdpi5JL8HJudn4luc2A4iqlspDY67DER uI5kn9A3cd3+VTKwSnPpKg37UN/r3UUQGT+YxTEQjcKUB03fXlC7Euly7IJgQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747362887; a=rsa-sha256; cv=none; b=IMlYygd28mgS64pyh7o1ho+6gnIMvm+GtTTdWkpnS8pGi614DBdFOfPyA8KLFrMGEX5m4W 93frpQxVQBBSQk9az+Oct77F2nPeiuZeY4nYyCdgAtL1K1zBSTqdGnvW3iGGogzgCRZaSe efGzB2qmKeVvty/KZfNcncF/WitsnWMm8RmH/H8yFtPc6r7Hmh/o+g+2ATGcrxXa/9s5+8 ITxDu6s4C7qhM7vEhEl2ED2ndUoW3U3GaX0qTQmw3QurVDDijfIGZl3ERjIt4LUyGcePM5 gEEDNGIEf/XyLPgPh8C5jUt9AIF2plaDTtVVPGn2WCD7p6Y8c/wfkP67PMMIgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzB4R4GkTzl2f; Fri, 16 May 2025 02:34: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 54G2Ylld026275; Fri, 16 May 2025 02:34:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G2YlcP026272; Fri, 16 May 2025 02:34:47 GMT (envelope-from git) Date: Fri, 16 May 2025 02:34:47 GMT Message-Id: <202505160234.54G2YlcP026272@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: aa266fad5829 - main - net80211: refactor sequence number assignment code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa266fad58294763dc07b94b33b15318e134826b Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=aa266fad58294763dc07b94b33b15318e134826b commit aa266fad58294763dc07b94b33b15318e134826b Author: Adrian Chadd AuthorDate: 2025-01-25 22:25:18 +0000 Commit: Adrian Chadd CommitDate: 2025-05-16 02:33:27 +0000 net80211: refactor sequence number assignment code Refactor out the sequence number assignment code for normal frames and beacons. Document the behaviour around fragments and packet lists. Right now this should be a no-op; there's some verification code in here to make sure that the TID selected by the existing code matches the TID populated in the passed in mbuf/frame. Locally tested: * rtwn(4), STA mode Differential Revision: https://reviews.freebsd.org/D49764 Reviewed by: bz --- sys/net80211/ieee80211_output.c | 159 +++++++++++++++++++++++++--------------- sys/net80211/ieee80211_proto.h | 4 + 2 files changed, 103 insertions(+), 60 deletions(-) diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 1ebf7fa8723f..1f726f75b6c6 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -892,7 +892,6 @@ ieee80211_send_setup( struct ieee80211vap *vap = ni->ni_vap; struct ieee80211_tx_ampdu *tap; struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); - ieee80211_seq seqno; IEEE80211_TX_LOCK_ASSERT(ni->ni_ic); @@ -975,25 +974,8 @@ ieee80211_send_setup( /* NB: zero out i_seq field (for s/w encryption etc) */ *(uint16_t *)&wh->i_seq[0] = 0; - } else { - if (IEEE80211_HAS_SEQ(type & IEEE80211_FC0_TYPE_MASK, - type & IEEE80211_FC0_SUBTYPE_MASK)) - /* - * 802.11-2012 9.3.2.10 - QoS multicast frames - * come out of a different seqno space. - */ - if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { - seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID]++; - } else { - seqno = ni->ni_txseqs[tid]++; - } - else - seqno = 0; - - *(uint16_t *)&wh->i_seq[0] = - htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT); - M_SEQNO_SET(m, seqno); - } + } else + ieee80211_output_seqno_assign(ni, tid, m); if (IEEE80211_IS_MULTICAST(wh->i_addr1)) m->m_flags |= M_MCAST; @@ -1483,7 +1465,6 @@ ieee80211_encap(struct ieee80211vap *vap, struct ieee80211_node *ni, struct ieee80211_key *key; struct llc *llc; int hdrsize, hdrspace, datalen, addqos, txfrag, is4addr, is_mcast; - ieee80211_seq seqno; int meshhdrsize, meshae; uint8_t *qos; int is_amsdu = 0; @@ -1829,22 +1810,8 @@ ieee80211_encap(struct ieee80211vap *vap, struct ieee80211_node *ni, * and we don't need the TX lock held. */ if ((m->m_flags & M_AMPDU_MPDU) == 0) { - /* - * 802.11-2012 9.3.2.10 - - * - * If this is a multicast frame then we need - * to ensure that the sequence number comes from - * a separate seqno space and not the TID space. - * - * Otherwise multicast frames may actually cause - * holes in the TX blockack window space and - * upset various things. - */ - if (IEEE80211_IS_MULTICAST(wh->i_addr1)) - seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID]++; - else - seqno = ni->ni_txseqs[tid]++; - + ieee80211_output_seqno_assign(ni, tid, m); + } else { /* * NB: don't assign a sequence # to potential * aggregates; we expect this happens at the @@ -1857,24 +1824,11 @@ ieee80211_encap(struct ieee80211vap *vap, struct ieee80211_node *ni, * capability; this may also change when we pull * aggregation up into net80211 */ - *(uint16_t *)wh->i_seq = - htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT); - M_SEQNO_SET(m, seqno); - } else { /* NB: zero out i_seq field (for s/w encryption etc) */ *(uint16_t *)wh->i_seq = 0; } } else { - /* - * XXX TODO TX lock is needed for atomic updates of sequence - * numbers. If the driver does it, then don't do it here; - * and we don't need the TX lock held. - */ - seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID]++; - *(uint16_t *)wh->i_seq = - htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT); - M_SEQNO_SET(m, seqno); - + ieee80211_output_seqno_assign(ni, IEEE80211_NONQOS_TID, m); /* * XXX TODO: we shouldn't allow EAPOL, etc that would * be forced to be non-QoS traffic to be A-MSDU encapsulated. @@ -1975,7 +1929,6 @@ ieee80211_free_mbuf(struct mbuf *m) * This implements the fragmentation part of 802.11-2016 10.2.7 * (Fragmentation/defragmentation overview.) * - * Fragment the frame according to the specified mtu. * The size of the 802.11 header (w/o padding) is provided * so we don't need to recalculate it. We create a new * mbuf for each fragment and chain it through m_nextpkt; @@ -3827,8 +3780,6 @@ ieee80211_beacon_update(struct ieee80211_node *ni, struct mbuf *m, int mcast) struct ieee80211com *ic = ni->ni_ic; int len_changed = 0; uint16_t capinfo; - struct ieee80211_frame *wh; - ieee80211_seq seqno; IEEE80211_LOCK(ic); /* @@ -3896,8 +3847,6 @@ ieee80211_beacon_update(struct ieee80211_node *ni, struct mbuf *m, int mcast) return 1; /* just assume length changed */ } - wh = mtod(m, struct ieee80211_frame *); - /* * XXX TODO Strictly speaking this should be incremented with the TX * lock held so as to serialise access to the non-qos TID sequence @@ -3906,10 +3855,7 @@ ieee80211_beacon_update(struct ieee80211_node *ni, struct mbuf *m, int mcast) * If the driver identifies it does its own TX seqno management then * we can skip this (and still not do the TX seqno.) */ - seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID]++; - *(uint16_t *)&wh->i_seq[0] = - htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT); - M_SEQNO_SET(m, seqno); + ieee80211_output_beacon_seqno_assign(ni, m); /* XXX faster to recalculate entirely or just changes? */ capinfo = ieee80211_getcapinfo(vap, ni->ni_chan); @@ -4241,3 +4187,96 @@ ieee80211_tx_complete(struct ieee80211_node *ni, struct mbuf *m, int status) } m_freem(m); } + +/** + * @brief Assign a sequence number to the given frame. + * + * Check the frame type and TID and assign a suitable sequence number + * from the correct sequence number space. + * + * It assumes the mbuf has been encapsulated, and has the TID assigned + * if it is a QoS frame. + * + * Note this also clears any existing fragment ID in the header, so it + * must be called first before assigning fragment IDs. + * + * For now this implements parts of 802.11-2012; it doesn't do all of + * the needed checks for full compliance (notably QoS-Data NULL frames). + * + * TODO: update to 802.11-2020 10.3.2.14.2 (Transmitter Requirements) + * + * @param ni ieee80211_node this frame will be transmitted to + * @param arg_tid A temporary check, existing callers may set + * this to a TID variable they were using, and this routine + * will verify it against what's in the frame and complain if + * they don't match. For new callers, use -1. + * @param m mbuf to populate the sequence number into + */ +void +ieee80211_output_seqno_assign(struct ieee80211_node *ni, int arg_tid, + struct mbuf *m) +{ + struct ieee80211_frame *wh; + ieee80211_seq seqno; + uint8_t tid, type, subtype; + + wh = mtod(m, struct ieee80211_frame *); + tid = ieee80211_gettid(wh); + type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; + subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; + + /* + * Find places where the passed in TID doesn't match gettid() + * and log. I'll have to then go and chase those down. + * + * If the caller knows its already setup the TID in the frame + * correctly then it can pass in -1 and this check will be + * skipped. + */ + if (arg_tid != -1 && tid != arg_tid) + ic_printf(ni->ni_vap->iv_ic, + "%s: called; TID mismatch; tid=%u, arg_tid=%d\n", + __func__, tid, arg_tid); + + if (IEEE80211_HAS_SEQ(type, subtype)) { + /* + * 802.11-2012 9.3.2.10 - QoS multicast frames + * come out of a different seqno space. + */ + if (IEEE80211_IS_MULTICAST(wh->i_addr1)) + seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID]++; + else + seqno = ni->ni_txseqs[tid]++; + } else + seqno = 0; + + /* + * Assign the sequence number, clearing out any existing + * sequence and fragment numbers. + */ + *(uint16_t *)&wh->i_seq[0] = + htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT); + M_SEQNO_SET(m, seqno); +} + +/** + * @brief Assign a sequence number to the given beacon frame. + * + * TODO: update to 802.11-2020 10.3.2.14.2 (Transmitter Requirements) + * + * @param ni ieee80211_node this frame will be transmitted to + * @param m mbuf to populate the sequence number into + */ +void +ieee80211_output_beacon_seqno_assign(struct ieee80211_node *ni, struct mbuf *m) +{ + struct ieee80211_frame *wh; + ieee80211_seq seqno; + + wh = mtod(m, struct ieee80211_frame *); + + seqno = ni->ni_txseqs[IEEE80211_NONQOS_TID]++; + *(uint16_t *)&wh->i_seq[0] = + htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT); + M_SEQNO_SET(m, seqno); +} diff --git a/sys/net80211/ieee80211_proto.h b/sys/net80211/ieee80211_proto.h index 9ab7e644c89d..32745264b0ab 100644 --- a/sys/net80211/ieee80211_proto.h +++ b/sys/net80211/ieee80211_proto.h @@ -123,6 +123,10 @@ struct mbuf * ieee80211_ff_encap1(struct ieee80211vap *, struct mbuf *, const struct ether_header *); void ieee80211_tx_complete(struct ieee80211_node *, struct mbuf *, int); +void ieee80211_output_seqno_assign(struct ieee80211_node *, + int, struct mbuf *); +void ieee80211_output_beacon_seqno_assign(struct ieee80211_node *, + struct mbuf *); /* * The formation of ProbeResponse frames requires guidance to From nobody Fri May 16 02:34:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzB4T03dBz5vt11; Fri, 16 May 2025 02:34: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 4ZzB4S6DbDz3xNc; Fri, 16 May 2025 02:34:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747362888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8ie8k7+93f6PriClyhnzF9uwc7Iv8KJiaMvmbW+9ZF4=; b=LcbhUKT+wS+0F2HV+xaQkHNkrUEvCiAZeZOkQUIxOS+Y5/nJ5Lvt7TJ8iFQCwmYmI1RP06 XnV5KpF6O6jBukQj7YMBlHDJzeXDK6qfV5t9L763OzK3Pk7AdKYCbO5vDCg+KToF4WiWdc JWRHEtczlyYB79HSqlP5LM77zpxzWx9OTwpECM7SuZRHE+SS+FXokiU9En98jhq0Q+XvhU cEhtSBQOSpB8Ga65A905M4Ub+hrymWzRhiTTrX5cMtLk0tGC4lCu4XkISaZ7ROueU/cvz1 0QTos/u4bXu+utwjk/Qs0uG28s0aFcCR41BLNWCMzdN9zwoAdjj+19fEym2n6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747362888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8ie8k7+93f6PriClyhnzF9uwc7Iv8KJiaMvmbW+9ZF4=; b=nTGDWLG6079QWg+pXB3jYk05keR3i89tvIz1z463hb8HdRUuByZSz6v10kXFWele7q/bmv sodm6VTSRFBzw6wADQQ77MZUGlhzfidGcfewR9gGGxaL4x90LHvaJw5xGsJ5iNGCPysrnQ TIo3fnsi2nh4ryxuUd0hkcmrTPn3v6RqGUeXgc6J6zd/NoYnkaK7kRs7/sfKlnnaIQypUz nyAWTXbWHzZqpCB4XfW+tceObBPSgBFE+mkMRSnajKq5UJhkkLRUFLYN8ob6FU91PLCrSZ m1kEfuEXab525K5a/wYNUDpmUCtQ6ZP4hZtF0hFp6eeYGUrWt3AkcBqyEuFH9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747362888; a=rsa-sha256; cv=none; b=QcJiTyQq9zN6lE1+bLNC0cpHqvd8an2CdqpEYDDeP3taLC8URUeFPaye5PXllC0Qxpeq3A c3CRbnYFiNDaHtrvbDN8ki3ON8Esg2g9WDusu6NKRJef6ZSFQsvhHePLhjJGSDBpYsbcaH e1N4QLHx7+fK/SE9IV+f0Hzz/72/aBh+DGhyQuaAVFAjYUXPdXxQIX7Qf3/BjHdPBI7KY7 Fh1gBsSBFtuqWkTUQi1+FFa4+mJa7b6skLSV0J3QTrp+pIUcjSVauES0fPPV15gFKMJU/a nZ+2iGo9muvQ0iPfk4Fayidl6Z8D07sVsyeM9cBzw7WJm3VMN3Yxs+6g5mh9Qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzB4S5364zl2g; Fri, 16 May 2025 02:34:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54G2YmVA026311; Fri, 16 May 2025 02:34:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G2YmIw026308; Fri, 16 May 2025 02:34:48 GMT (envelope-from git) Date: Fri, 16 May 2025 02:34:48 GMT Message-Id: <202505160234.54G2YmIw026308@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: c8e97aa6ac77 - main - e6000sw: fix bus ordering; don't panic if miibus devices are destroyed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8e97aa6ac77fa5cce7afc06849685599795c982 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=c8e97aa6ac77fa5cce7afc06849685599795c982 commit c8e97aa6ac77fa5cce7afc06849685599795c982 Author: Adrian Chadd AuthorDate: 2025-05-11 02:31:16 +0000 Commit: Adrian Chadd CommitDate: 2025-05-16 02:34:26 +0000 e6000sw: fix bus ordering; don't panic if miibus devices are destroyed Unloading the e6000sw driver with a "fixed" ixgbe (which is doing MDIO transfers faster than 8ms per) has exposed another fun race condition - the MII busses were being torn down before the etherswitch device. * Modify e6000sw_miiforphy() to return NULL if the mii bus device isn't setup, which stops the panic * Change the module order so the e6000sw module is detached first, before the miibus entries and attached PHYs are destroyed. This ensures that the miibus entries aren't destroyed outside of the driver lock, and e6000sw_tick() doesn't try dereferencing dead miibus device_t's. Differential Revision: https://reviews.freebsd.org/D50294 Reviewed by: jhb --- sys/dev/etherswitch/e6000sw/e6000sw.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index 0041119ca300..d26fc32ed6a6 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -196,8 +196,8 @@ DEFINE_CLASS_0(e6000sw, e6000sw_driver, e6000sw_methods, sizeof(e6000sw_softc_t)); DRIVER_MODULE(e6000sw, mdio, e6000sw_driver, 0, 0); -DRIVER_MODULE(etherswitch, e6000sw, etherswitch_driver, 0, 0); DRIVER_MODULE(miibus, e6000sw, miibus_driver, 0, 0); +DRIVER_MODULE_ORDERED(etherswitch, e6000sw, etherswitch_driver, 0, 0, SI_ORDER_ANY); MODULE_DEPEND(e6000sw, mdio, 1, 1, 1); MODULE_DEPEND(e6000sw, etherswitch, 1, 1, 1); @@ -1402,11 +1402,17 @@ e6000sw_getvgroup(device_t dev, etherswitch_vlangroup_t *vg) static __inline struct mii_data* e6000sw_miiforphy(e6000sw_softc_t *sc, unsigned int phy) { + device_t mii_dev; if (!e6000sw_is_phyport(sc, phy)) return (NULL); + mii_dev = sc->miibus[phy]; + if (mii_dev == NULL) + return (NULL); + if (device_get_state(mii_dev) != DS_ATTACHED) + return (NULL); - return (device_get_softc(sc->miibus[phy])); + return (device_get_softc(mii_dev)); } static int From nobody Fri May 16 08:20:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzKl80GD5z5wJKl; Fri, 16 May 2025 08:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzKl74G0gz3j23; Fri, 16 May 2025 08:20:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jou7N1sPI5vGIUxvzl439miiRnLy3w8XwQGUqH2ELms=; b=sNp17YrrDeESGT8uHRRnfE6Lwbik2zNYoN2rDSh40YDoBDH/06tSt3Xl7LLDGFJ3s9VwhY ma5+lVpeu9Pz3hxyxOZ4cCR6kep3gPMb2GHn5CpY5qrhtO4E2HCS6/5GXoPkh6D5vQWjgA IvDKHv11xY4YxxMHcwBS4SYZsKXzkCVWeHRKMrAPN8zW595YMSrxsKZ+I4Rs2F5PwHy11r YSUK8Q69PQKk9eNGiWD9yxQl+mO4YhJFmpFq/x0MxrSkssVVvSiKGR/ZfYSHor6Fq/MEXq 9+O1hgI6OzLCERMF8ZgQb93ZcLG/sRy8ELkbpk55jYO+3VB6nz+IvmCRicQpFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jou7N1sPI5vGIUxvzl439miiRnLy3w8XwQGUqH2ELms=; b=oEx6aoQEwkl0WME/6LiKUPgLH/zvbUsGjWODaGyxKDNy+ndRBkbYcatWteGdoD2rRUpgsl PkdK6Um8mO3EyYTfmGO6f6Ij+nNVfwvBvmGKcKTJzQEGAltEUE0qClJvfnVlyb8TtxNr1g m4lMFcWZoX4cWWlnIcPLTPsfzZpWAO/ClAu4Lxk0z3aPLUR4N50g1N7f9Pgmgs1BaCsH2f Qel+el02bsQjOQXN613dnTvzDVZKXhbNqmDbsGWg/ok+6jSiCa+UcdC1pE92ran1SlTM4p T6isEVrzFCyFE8yNsNxAzsY7eZsMTTfdBcDChR6SHRBP5GorkJjbJxfWG3S/Gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747383619; a=rsa-sha256; cv=none; b=dj04L0orre1FKrTRKrCH4RutL6i8rYjh9EWiZfonmqRIoytc1VpWB1sklC8rWE/Q+XohNE 5UWhhTOGWzRU/b2Q7QzSzrvnvGYfzN90VVIICvt8hEJWHXt+Cvd2BvfZLNB8zh4W/sfPg1 8Dz+IU9WTazqq85/KhDGxW9CVWOndMkZ1X2Wm3w4q99zDVbl3DPMY312Lx58ClzPnSRRyQ 1Ez6p30GXJ3ZkqjTc7xVBRHkhY8wQyo9s2QPAhXeu50esALG4zabLYRvgiTpk2PPLbbJrE Ychg9Wg6jdUmQ3xb37fRY/LcMgZ6T1qvWc2ocxfWpTuCzlB4NqU76qquME2dVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzKl73b4pzw1n; Fri, 16 May 2025 08:20: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 54G8KJA9075322; Fri, 16 May 2025 08:20:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G8KJBH075319; Fri, 16 May 2025 08:20:19 GMT (envelope-from git) Date: Fri, 16 May 2025 08:20:19 GMT Message-Id: <202505160820.54G8KJBH075319@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: ca18e0441029 - main - vm_page: update some iterator-related comments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ca18e0441029fc94076eb8441581ae07561cace0 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=ca18e0441029fc94076eb8441581ae07561cace0 commit ca18e0441029fc94076eb8441581ae07561cace0 Author: Doug Moore AuthorDate: 2025-05-16 07:42:34 +0000 Commit: Doug Moore CommitDate: 2025-05-16 07:42:34 +0000 vm_page: update some iterator-related comments Update a stale comment about vm_page_alloc_iter(), and add a comment about one of its use cases. Reviewed by: kib, markj, alc Differential Revision: https://reviews.freebsd.org/D50263 --- sys/vm/vm_page.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 681846f8c71a..0fdda1d5fc48 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1996,10 +1996,8 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req) } /* - * Allocate a page in the specified object with the given page index. To - * optimize insertion of the page into the object, the caller must also specify - * the resident page in the object with largest index smaller than the given - * page index, or NULL if no such page exists. + * Allocate a page in the specified object with the given page index. If the + * object lock is dropped and regained, the pages iter is reset. */ vm_page_t vm_page_alloc_iter(vm_object_t object, vm_pindex_t pindex, int req, @@ -5189,6 +5187,7 @@ retrylookup: break; m = vm_page_alloc_iter(object, pindex + i, pflags | VM_ALLOC_COUNT(count - i), &pages); + /* pages was reset if alloc_iter lost the lock. */ if (m == NULL) { if ((allocflags & (VM_ALLOC_NOWAIT | VM_ALLOC_WAITFAIL)) != 0) From nobody Fri May 16 08:20:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzKl91nJBz5wJcq; Fri, 16 May 2025 08:20: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 4ZzKl84z7gz3jY7; Fri, 16 May 2025 08:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdhi+I5lR9La4DzKA3XIQUahRTuaPchCnOFQZeS2gGA=; b=Lrid5e3gYGw2nM/YPVwVEr9Ah8uGLpspg1DzczP7Ir69Fg9hhbDfdd2d+05qykq0S8nF25 r3mhch5qytpiPAWOhh2Nz9jSSWeLChq5wTeuOPuIxHoYhhXkvrB/nZMG2YdCH6XKFkAI1+ bxm9+haRP4adKW+9JVVk8KN6xhhoceviKBFgeUDRWc+XUBZMkrKHDk/HL2Tw14MrwcC66I 9NDl9RUFZnuCWvEOH/EmN161rj9PWSj76ZVE+untFT1j/iLqYPy26TT11Jc18A9eNG00O5 OKXSNicxsYteEyMvUXi/du4coD3rrGlN1UwYAufQjL8+PUBwWR0j9FD1gum2gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdhi+I5lR9La4DzKA3XIQUahRTuaPchCnOFQZeS2gGA=; b=wPwYMGWEtoxTaoKnAI/Cq7q8I6kBtXCx+95GvPevr5vJfWadGZC+2kcizO2lzDnVIy3O7q Rdg+8TkPfVfF9uxDU+KKyD0zaIsjYAB5bV5ILMb+IgNRgWlDCPr0LUeP8xZ93rFn2BMO1l 7OS8VZhtB9XkVyCPq6b7dbWDENrOm4cjrnFd2ixxg0kYHyX8EobFcsY14LLeb7/eiREfjX GGlmrQHWToz7gKYtqNdcCYW0LZbtm7xG3w1EEzefa5EaHhvOSEXV8Sk/SZu68Bcfi5yDHh Z390c4YUbT2ov541j63bO1sVG0pvwxUcOfME4RfqcRu4BzO/fo4Ia46RUykrDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747383620; a=rsa-sha256; cv=none; b=KHNrBtt4eiT6yslyDEmp/HTqdkVMNiI6jhbqLt7nN6+a6+rGyUWBkR+7Oo/RemnPO0rUbd 6+DGGXcNCi9vcmtrwBpY/uXbHMWj6liqTUzN7d7cMcbPjisXuN3jOaMoXcyfmiBdxEwYd0 xsB1llC/c59rPy5rgaCPodX14WIuBPIKDMOrdRGC01j9iN6cYVM9WZ4G9wcnLNreT1Jvdh lCITcy+WebQodagLn7n8CyM13dYK4btvywuapYl8IFe35FPvwlfBq/p/AtEyZn3HU+vhv3 2rOCx7d6b0aCrEQqzWqIywYYr02J7UX4jwxxWa/G3qHy7xxohG4wNTNtVZIFsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzKl84ZZczvdX; Fri, 16 May 2025 08:20: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 54G8KKdX075356; Fri, 16 May 2025 08:20:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G8KKN4075353; Fri, 16 May 2025 08:20:20 GMT (envelope-from git) Date: Fri, 16 May 2025 08:20:20 GMT Message-Id: <202505160820.54G8KKN4075353@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: efde1e2c8b76 - main - vm_page: remove unneeded use of mpred List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: efde1e2c8b765e8dbd831e6af15c9706d38937a0 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=efde1e2c8b765e8dbd831e6af15c9706d38937a0 commit efde1e2c8b765e8dbd831e6af15c9706d38937a0 Author: Doug Moore AuthorDate: 2025-05-16 07:55:14 +0000 Commit: Doug Moore CommitDate: 2025-05-16 07:55:14 +0000 vm_page: remove unneeded use of mpred Change 4c65b51f44af eliminated the need for some uses of the mpred variable in vm_page_alloc_contig_domain. Remove those uses. Reviewed by: alc, kib, markj Differential Revision: https://reviews.freebsd.org/D50263 --- sys/vm/vm_page.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 0fdda1d5fc48..035b144ccd1e 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2333,9 +2333,6 @@ vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain, KASSERT(npages > 0, ("vm_page_alloc_contig: npages is zero")); vm_page_iter_init(&pages, object); - mpred = vm_radix_iter_lookup_lt(&pages, pindex); - KASSERT(mpred == NULL || mpred->pindex != pindex, - ("vm_page_alloc_contig: pindex already allocated")); for (;;) { #if VM_NRESERVLEVEL > 0 /* @@ -2406,7 +2403,6 @@ vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain, } return (NULL); } - mpred = m; if (memattr != VM_MEMATTR_DEFAULT) pmap_page_set_memattr(m, memattr); pindex++; From nobody Fri May 16 08:20:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzKlB5P7Nz5wJb3; Fri, 16 May 2025 08:20:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzKlB0WvWz3jYF; Fri, 16 May 2025 08:20:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s6Pxj9Y31iR3JnWAXtXXYRJpAAyaakkI+s+nwWxXCDA=; b=GG9aFe7byAosKoFJlb3Z8kP6Hj7VAfukEzDlBOzDMbHcfObcOuxWcEFIMhQi4MzNbiY9V/ Qv0cdGgqFnBVLHxuqYfE7+oXZgnRnabB7j/k6X2CBeCd4SZKsOYWDkvpbTPJNMixf6/Fa1 cCm1DACCI97q2squv8Wl/R44wfzh2lCxVBT8rbT6atMT0QkZtXLJ3QCE2NZGYhBWaxqWDl ryhEheHaYJCK7naxY2IX849EntrmOaVghysRAK0d/TBGkZxvYX9gbalT+K5Inscivp/cvx PzoAWzrDAgNvNUUstDr6hdr19l5c5cj4VmObAO/Mx5O8cYNjPJregiJGWMPq4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s6Pxj9Y31iR3JnWAXtXXYRJpAAyaakkI+s+nwWxXCDA=; b=IaC/TQUjsP2scdDR9txoeJ0YTL0NkYoHlKjNqSpCHWneJsFmi/xUxXyJxuSSQA0J4/MDDK mDTLSZpMcQY55izyoKMEFCWSB3V3SrC1sk8aKpxpSeaDfvXXHLDFCeaCtoJFzsqMIdd7A1 C1+2Ftfs+kL5dF9/gkoTq8o0L+5pmDX+djLhfSY3GdKjU7DWOx7eW7qLEamfVoEvn7n3/m ppUQL5YigEf+BM3GSqFPXxnImvQzVyj2v9u17nCNv+SiDElgsJ5HNzx9nzWuAOMjBxznhb oHrc8aFW6cOwN1CSSiZmpg8zgUXbrpje14gGt0zietzo5v2TfzuTkxWPylgyJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747383622; a=rsa-sha256; cv=none; b=PzJnFvchyOjib7jNMUnugbjKu7V8pTfrDJXCfu0InnjtNnCCDPqcK5kMcGCPLTIY4HhYN6 3kAZufsKnDZ/Gjb5HFNBHYr93PwG/L6GKKApavmit7cNhafSpMGtoYDnOBnz27DpPauJLc 6pEdrrzK87PRG/wJ0WLZJb4r7BFkDsHyXi0Tex/vQ5raz8CKHkmTHxGeKlG/hCAe2F2D+R +MvRwMg6E7anDIKxgvnMuqAnfJk/iRc20QJlnBavq7HvoDQnzFRhby1DCi7MyXS9WIikCB 1GUjML2/W1fzzo4JNjlYpE2dE0ZeSYjGzW+aBacM0FhyAuiWC9qF6txMqJUNlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzKl95Q8bzw4M; Fri, 16 May 2025 08:20: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 54G8KLdJ075393; Fri, 16 May 2025 08:20:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G8KLtX075390; Fri, 16 May 2025 08:20:21 GMT (envelope-from git) Date: Fri, 16 May 2025 08:20:21 GMT Message-Id: <202505160820.54G8KLtX075390@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 7c9fe7a7925b - main - vm_page: remove obsolete page alloc loops List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c9fe7a7925b8f60e056628fceaaf5f1a969fff4 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=7c9fe7a7925b8f60e056628fceaaf5f1a969fff4 commit 7c9fe7a7925b8f60e056628fceaaf5f1a969fff4 Author: Doug Moore AuthorDate: 2025-05-16 08:05:40 +0000 Commit: Doug Moore CommitDate: 2025-05-16 08:05:40 +0000 vm_page: remove obsolete page alloc loops When page_alloc_noobj functions were introduced, the need for loops to support cycles of try-alloc, then wait, then retry disppeared from vm_page_alloc_domain and vm_page_alloc_contig_domain functions, but loops remained. Remove them. Reported by: alc Reviewed by: alc, markj, kib Differential Revision: https://reviews.freebsd.org/D50263 --- sys/vm/vm_page.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 035b144ccd1e..f83df515a03d 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2140,8 +2140,6 @@ again: * Not allocatable, give up. */ pctrie_iter_reset(pages); - if (vm_domain_alloc_fail(vmd, object, req)) - goto again; return (NULL); } @@ -2333,23 +2331,23 @@ vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain, KASSERT(npages > 0, ("vm_page_alloc_contig: npages is zero")); vm_page_iter_init(&pages, object); - for (;;) { + m_ret = NULL; #if VM_NRESERVLEVEL > 0 - /* - * Can we allocate the pages from a reservation? - */ - if (vm_object_reserv(object) && - (m_ret = vm_reserv_alloc_contig(object, pindex, domain, - req, npages, low, high, alignment, boundary, &pages)) != - NULL) { - break; - } + /* + * Can we allocate the pages from a reservation? + */ + if (vm_object_reserv(object)) { + m_ret = vm_reserv_alloc_contig(object, pindex, domain, + req, npages, low, high, alignment, boundary, &pages); + } #endif - if ((m_ret = vm_page_find_contig_domain(domain, req, npages, - low, high, alignment, boundary)) != NULL) - break; - if (!vm_domain_alloc_fail(VM_DOMAIN(domain), object, req)) - return (NULL); + if (m_ret == NULL) { + m_ret = vm_page_find_contig_domain(domain, req, npages, + low, high, alignment, boundary); + } + if (m_ret == NULL) { + (void)vm_domain_alloc_fail(VM_DOMAIN(domain), object, req); + return (NULL); } /* From nobody Fri May 16 08:20:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzKlC2Zt1z5wJcr; Fri, 16 May 2025 08:20: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 4ZzKlC050cz3jcj; Fri, 16 May 2025 08:20:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/trf938kmgl2mkrUGxi718P3e0UqdAe0Xsdc8MZnPmk=; b=f4a2N28f5wNvrzO9EfGXDlGI9tH6ijEM62NFRqjCp/jtaHmYtd6YaUGhAtnZNtPVc8oYO2 76iHdJY/dsxzz/KjondAaI8LwinjmXRqbqBY3fkUOJwCxoC1z0RKuT00ASQqYfphaVpWLt CQmCnpINPv5/nHFiIrL5kwfKAt9Ml21Og9v94TGwTQjtXIcm2a+bAtlw108pOgkjHavOen AdcpAEIBqJizn/KZAEFKqPykJA6D9xRQ9vSXLugwXGwhSxU3JS718CWNgYYKS/yiU8rmsl T+gp2DVq0cE1NxhTUGRnm7Gu7EsBsL98Lgwzw1Y8fJtbmRckWDbMuPkobcbgNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/trf938kmgl2mkrUGxi718P3e0UqdAe0Xsdc8MZnPmk=; b=MEHudB8pMVFLYP4k0nrdT82Zo2oJj65CIT2ILQm0Q9gIu4Zp0qc2LDnUzSlDUkUDvolHHx mEOCpFxCjTl+8CdkrtMMt7+VBh/M6P5V9HZzOlzxEVYxG8X4q1d4WuBhQlr8qme3SQ8FYo sn0NZymBL6FVCBimGVgOCpcS9Ep0q6tFvHLW5ny5jAze7dflRIJoa7bSkPyLmDKsPmTkXK xQJ0B+CcRSGy5OcNHfrrS8g6vMZb9zyZg8FJ+CtX+Y+pjCZWaC8K87jkygeYg/+ZcBiEHg /JlN4KZiuAfjM6cfHcbsLIttBgtE30PvVASOKgRVibOu/aETb1o8WuPGTSN2VA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747383623; a=rsa-sha256; cv=none; b=PQk3slJJ6UugcdHtyHVTh6KCFLO+AjKdBU9KSpWJ6SfoUzabmwL4MBD3mEt+UZBc2NW5YW pFDUTWkZYPsI6gIN/sySTaOJiA2uD6Fz9XabBcsHfxJsvZOeoCx812rmDfJRbtSjcQsBzZ 56950m8x4P/ZCy7T2RizP6BOKZYuyUY4N3+LLvyrnkkHB5ltJ3RT1DOO4xTCp2dFI+dIxp 7iLPbRCharNyDYWPTeelZtqvc6mf5pAW7C0Vi5TiZh0Sml7D7AzkjAfMrVnYMSAgzzL3FG n/gUBiQZnh8DZ/OqWFnYSMF3Nz2yJkYyZkEvR2Gwt9drGM7Lczm94z2rf2CXaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzKlB67QNzvSf; Fri, 16 May 2025 08:20:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54G8KMD5075433; Fri, 16 May 2025 08:20:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G8KMle075430; Fri, 16 May 2025 08:20:22 GMT (envelope-from git) Date: Fri, 16 May 2025 08:20:22 GMT Message-Id: <202505160820.54G8KMle075430@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 349340c8cd5c - main - vm_page: use vm_page_alloc_fail consistently List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 349340c8cd5cedc800eba18400bba0b244e8e866 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=349340c8cd5cedc800eba18400bba0b244e8e866 commit 349340c8cd5cedc800eba18400bba0b244e8e866 Author: Doug Moore AuthorDate: 2025-05-16 08:14:25 +0000 Commit: Doug Moore CommitDate: 2025-05-16 08:14:25 +0000 vm_page: use vm_page_alloc_fail consistently The function vm_page_alloc_fail is used in different ways in different places to achieve the same effect. This purely stylistic change makes the usages consistent. Reviewed by: alc, kib, markj Differential Revision: https://reviews.freebsd.org/D50263 --- sys/vm/vm_page.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index f83df515a03d..f80de4eb151f 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2459,9 +2459,9 @@ again: } } if (m == NULL) { - if (vm_domain_alloc_fail(vmd, NULL, req)) - goto again; - return (NULL); + if (!vm_domain_alloc_fail(vmd, NULL, req)) + return (NULL); + goto again; } found: From nobody Fri May 16 08:20:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzKlD5BnKz5wJ6f; Fri, 16 May 2025 08:20:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzKlD0gz8z3jyZ; Fri, 16 May 2025 08:20:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eysie+5uK1YSCHqusV9jNpNM/aP8tyzinTHsxkHgESQ=; b=JBsRLdlDUZmpUAWaKZT27XSsmCI0J+ue+AxDTHfmJtWaeSvyGE651wLRIns3MZXFTNzvL0 5/DejZarrZIAqVdfNlE3jC9mQPyy9HbYzYF7f+5bHaFSHsU5i66Fs97cHk/1P9yWPtSXYd F0Fx8yKyO9pjXREMIQQA9S3yfKVpL5ujxIbWcqKLLHcCxOdPdm9MHHAKOqiZH9CxLZnvcB fxKAZB7Wbkkxtoi84arLtncElmJViyo68Rb/OLqJFMHcTwBKN0XgcvnH5GbF2T0Y+zP6dM rrOX+jnwZSHPggQHm+gSpA3Ru+daOTeToKi3RmgHyOP+/6EHgzG9YYQLMiGB4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747383624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eysie+5uK1YSCHqusV9jNpNM/aP8tyzinTHsxkHgESQ=; b=r8SdVUkIf0G9yvPe8TnTByhLrzZmoBRy0FyKrcmcy7yFWbzYqrM6xsQjSzD+GUuSTi+jzR Tb9RiUvQlDr6eUQMhy8/GFeBbWHIkobHgANTLo9ifRdPipmsB2Ske/XUmxJj9vGU8IFycx AaIpwduvfbRmKrpT6KeDSRoQp/hZ7f5jln5J/ipsBu0OC59QHN8fD2isSuxNIQqFatRw6v Y8xoqUaKGgTZw5+A3fUgHVGBod07QACTGxPDj4N4s7YGHf9cCkYSWeJsM4AOIZYK4edOWW zyp/PMkQsJoHBc6+eo3zT19WO7ustwsYZa/34lPiOxM+0XXIQbgIpZHsbtpidQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747383624; a=rsa-sha256; cv=none; b=oVGZuGZUCs3uWpa/r1zJYG5aRfSIcvMH/gVCpax/pK+y2gSHGjst8G4H0on99AFciq1ROa 5uaauHYkTZB41OgqAT/FMlo7apDw1AzLByx4RKWJmlVvilQmOOOMBIEcKIZ1uLsvSmI2XL YgXyD+DmFxvkWbgOvdUkYs4VmMo5KRYBf6DxrzE2BsgoB3buT3/PqqDpCobwtTPuKjaqCJ EZWYLpBaEfJq5CBddVRdwKUmJYCNdEhgPXFiACKEvxRHyUxym1hlUOQV5Fn2RqMwvD/YI1 ek06WvR69qZaVeK6+4mcJ2Wsz2mQo7vxdZt9n7t1ojxkwS6loHaHkLpiLQ82Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzKlD0FJpzvdY; Fri, 16 May 2025 08:20:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54G8KNMW075466; Fri, 16 May 2025 08:20:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G8KNfl075463; Fri, 16 May 2025 08:20:23 GMT (envelope-from git) Date: Fri, 16 May 2025 08:20:23 GMT Message-Id: <202505160820.54G8KNfl075463@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 3fe2f81f665b - main - vm_page: reduce iter_reset calls in alloc_domain_iter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3fe2f81f665b48534f5ef57b6e341d2e3b470c8a Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=3fe2f81f665b48534f5ef57b6e341d2e3b470c8a commit 3fe2f81f665b48534f5ef57b6e341d2e3b470c8a Author: Doug Moore AuthorDate: 2025-05-16 08:18:02 +0000 Commit: Doug Moore CommitDate: 2025-05-16 08:18:02 +0000 vm_page: reduce iter_reset calls in alloc_domain_iter Where the iterator is reset in all cases now, it actually only needs to be reset when ALLOC_WAITFAIL is set. Reported by: alc Reviewed by: alc, kib, markj Differential Revision: https://reviews.freebsd.org/D50263 --- sys/vm/vm_page.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index f80de4eb151f..e4bede5d3be7 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2139,7 +2139,9 @@ again: /* * Not allocatable, give up. */ - pctrie_iter_reset(pages); + (void)vm_domain_alloc_fail(vmd, object, req); + if ((req & VM_ALLOC_WAITFAIL) != 0) + pctrie_iter_reset(pages); return (NULL); } From nobody Fri May 16 09:08:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzLpk5zxHz5wMJJ; Fri, 16 May 2025 09:08:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzLpk2R52z42Qj; Fri, 16 May 2025 09:08:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747386510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zVhLfxOy1e64NAoAELC0I2ct8MrTYe5OR5lJa9XnD84=; b=XWatcfbmH+SWrGqC+VdhMGHMQDmf5wpIMeFe23yfOlxNB0Wna4CZ+C0dAO2p17ysLqm4y+ UmhNCOLTsdzt0eaK9L53tcveEdPbRfrzU8f7EVqFpZbp900xVer7dysrWFWrNITJ9g1+x9 rLaXHsrLE7AWOtF5Ez3V1CRhVMKcxQ7vfbaX5sJpqM8u+Zz5PZH3f/TZuv7JSCsrpcyUOc pPrimwiqLk3ZB5ui36Vosm10jEBs3zlmg0lprDcBf3RO44vvXAIJ46o94SZdxUAtIrd1xE hIEBZElVHtivAb5ZUn2IpmnyZnHDULvXOGDrWWxaSbTJkkU5W3ait3lGgROQRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747386510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zVhLfxOy1e64NAoAELC0I2ct8MrTYe5OR5lJa9XnD84=; b=dzEFx1b+2fxwBTB+1WHrjXe264ObvvOiT8bi4YhnRrYG0DiWrau++7t8eXXMyfD8P7rcBG Dep+0GfYp/x/9Qe6+oyDz1PzGqY55YKRaLJQW0llE5wotIrzCQBg+XjWfOwgzisqnw0V+r mZU81WfNB93bQdg+PfaEtznFEJKZnkutoWhvNthA4fWwa1wmMPxO9kjb7sMSfjf0/HM8mx tmhE2ZOFB2nbdgoIbNZe8jcWtI3NrlO8lSUNFiPUwh7y6RkqiVlEAwWEB8or1i1H5SmS1K vELqTzlfOPM3P7zwlm24aypkmQjMFnf5gjKc8bE/DhSqhXsNUBrGYAbbFLpb0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747386510; a=rsa-sha256; cv=none; b=NcMMq4CSUJHzK3SRLJLdShp/iiBEQbwtIr1LmUk4pw1jVzkMB9hZ1tJxVLwJCjs4HrqUUi DRY77zPrCAViD/j9eAdfSB0BUxNRP4Yh+TLxN5ir8ZLl7/KUwX7PXMO8HyqBWRKxu1Ka+f 4eis4uYY4yF4ksMYQejNzz9u1krXy167lBpNL025hvw1AEhiAz8Um/Mocw0X7FnVBAM8Gz lolg/V3CtmxFANRpysi7bqgixxYaKDEhwfuaBEvF1VVz8zFA7ufNcEP2ytQVRkyPx0yeAu qWW0ZYsrv702Wl95GRbEa3ciR8H3wA2q3FnO+avAKoeWN/7yqS35/TVJeKGp3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzLpk1xzCzww7; Fri, 16 May 2025 09:08: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 54G98UaV060076; Fri, 16 May 2025 09:08:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54G98UMj060073; Fri, 16 May 2025 09:08:30 GMT (envelope-from git) Date: Fri, 16 May 2025 09:08:30 GMT Message-Id: <202505160908.54G98UMj060073@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 4179cc8da65d - main - vm_page: conditionally compile label List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4179cc8da65d6fb56ed04a69151ef493cba6b8d5 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=4179cc8da65d6fb56ed04a69151ef493cba6b8d5 commit 4179cc8da65d6fb56ed04a69151ef493cba6b8d5 Author: Doug Moore AuthorDate: 2025-05-16 09:06:13 +0000 Commit: Doug Moore CommitDate: 2025-05-16 09:06:13 +0000 vm_page: conditionally compile label A change that removed a goto left a label the target of no gotos on powerpc. Use the preprocessor to hide that label when it's not a target. Fixes: 7c9fe7a7925b ("vm_page: remove obsolete page alloc loops") --- sys/vm/vm_page.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index e4bede5d3be7..ecf8f5c73a5e 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2095,7 +2095,9 @@ vm_page_alloc_domain_iter(vm_object_t object, vm_pindex_t pindex, int domain, m = NULL; if (!vm_pager_can_alloc_page(object, pindex)) return (NULL); +#if VM_NRESERVLEVEL > 0 again: +#endif if (__predict_false((req & VM_ALLOC_NOFREE) != 0)) { m = vm_page_alloc_nofree_domain(domain, req); if (m != NULL) From nobody Fri May 16 11:07:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzPSN4v4Zz5wVSx; Fri, 16 May 2025 11:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzPSN0jt8z3WQq; Fri, 16 May 2025 11:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747393668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HxViMs7h0YhoMUmDlBHl2Ef07jJSkIchdey4MiaIEII=; b=EDc0339vho6jTZLe7IpBmXFFjQxV2COU51CxjP0zZoBdfPxKpx6brqUqoxF4aHqHtwnat1 RnsB96YA3jk+U8ZDfRniP05lybj6/Z5jCz8qjuUBWpxxejo0Qj/DbGUQfz5um3nyf3F7lZ jDRprPyxhPzBgQoqbwPx1xhETLnhdGu9xkYRWTO30j8oFQqHDFAKooOvm0moE1MrPy4l3D qkrgaQrZUXuXWR7759KwXZkyf9+okEtIPX73J9DTsIcqYBDazPYkihJTvw99c5kdRJcIt0 2bTg7QRWGbIb+PZS3gNvdAwE7ai7e1b8dFbtZyz02EkjcXOSG6KMQuCOpAz81A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747393668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HxViMs7h0YhoMUmDlBHl2Ef07jJSkIchdey4MiaIEII=; b=fWE31XCGaoK4SajCy7BRnoB4IC33hVz2Gi03/M0thEaCjVl2WwAP6bhnV+HzYrz50QFyGm MBq3vaC4+KB05NPnU+9D8c0dvEkQ/00qD5zEXINU2HDkLGaoGebQrHsFRf/EzN40alQWKQ WnY8uQO/cTQzV8ipj3oyJ1Ogn0mtRtxtJgcYkxZey7cvsPJjPc7XWwNo+Faej2wAZMPVwp dYN6sgQxzozPlaHIdIPb4deAjWG25MDqbyIJpPcQqFsSTVwZY4GYNDEgnaU/UUHp4IMuiz jzh98abXIqFMr5iyExKKRGQzVw/my/3mxHg13M1eK/xehuvuX3ed2gmLZYDY0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747393668; a=rsa-sha256; cv=none; b=dhxomVnhaexZGUCMgKr7tDGpB2TbUt1K4aQdYl8+Tk3qBz6eu2JePDUz57GZqrNBROrVz/ cEDAiBU7va29ro5dVavN+WQvynX5lx7iYdZkxjEXkm5SYsZ2uvUZDKkN/yP5/5GgU+th5C OdOf9bMT4JDpxyPOIxJmzjIG+5g2spuYg5Kvy4N8jgEYGiK2qwsDnX6fToJCSaTzjI4tTJ jYilFvYfFMeUOURaEKcg3lztHSjFZFYHGVESwodTDGGidJdC4IZth3rxaSrorDKv+36jr/ /vbZvL9AeyDuQE4vWVGmc8aydxNbe+6tnWBGKbEO8rOgOd7W8zjFt15YB5S5Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzPSN0K7kz10qH; Fri, 16 May 2025 11:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54GB7lKK085264; Fri, 16 May 2025 11:07:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GB7l0d085261; Fri, 16 May 2025 11:07:47 GMT (envelope-from git) Date: Fri, 16 May 2025 11:07:47 GMT Message-Id: <202505161107.54GB7l0d085261@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 91ef8c3e1304 - main - stress2: Fix scenario after the changes to ptrace(PT_ATTACH) in commit ecc662c749b1. The traced process now no longer exits immediately at the attach. After a PT_DETACH do not try to wait on a non child process. Style fixes. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91ef8c3e13046c0fb9a49512f4efe9ee09bd8099 Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=91ef8c3e13046c0fb9a49512f4efe9ee09bd8099 commit 91ef8c3e13046c0fb9a49512f4efe9ee09bd8099 Author: Peter Holm AuthorDate: 2025-05-16 11:07:14 +0000 Commit: Peter Holm CommitDate: 2025-05-16 11:07:14 +0000 stress2: Fix scenario after the changes to ptrace(PT_ATTACH) in commit ecc662c749b1. The traced process now no longer exits immediately at the attach. After a PT_DETACH do not try to wait on a non child process. Style fixes. --- tools/test/stress2/misc/vfork.sh | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/tools/test/stress2/misc/vfork.sh b/tools/test/stress2/misc/vfork.sh index 20db95c2b9be..cabc30ebaa6c 100755 --- a/tools/test/stress2/misc/vfork.sh +++ b/tools/test/stress2/misc/vfork.sh @@ -31,6 +31,9 @@ # "panic: failed to set signal flags for ast p ... fl 4" seen. # Fixed in r302999. +# Test scenario updated after commit: +# ecc662c749b1 - main - PT_ATTACH: do not interrupt interruptible sleeps + . ../default.cfg cd /tmp @@ -46,38 +49,32 @@ main(void) fprintf(stderr, "%d\n", getpid()); if ((pid = vfork()) == 0) { -#if 0 - if (ptrace(PT_TRACE_ME, 0, 0, 0) == -1) - err(1, "PT_TRACEME"); -#endif sleep(30); _exit(0); } if (pid == -1) err(1, "vfork"); - - return (0); } EOF -mycc -o vfork1 -Wall -Wextra -g vfork1.c -rm vfork1.c +mycc -o vfork1 -Wall -Wextra -g vfork1.c || exit 1 +rm vfork1.c cat > vfork2.c <<- EOF #include +#include +#include +#include +#include #include #include #include #include #include #include -#include -#include -#include -#include #include int -main(int argc, char **argv) +main(int argc, char *argv[]) { pid_t pid, rpid; struct rusage ru; @@ -86,6 +83,7 @@ main(int argc, char **argv) if (argc != 2) errx(1, "Usage: %s ", argv[0]); pid = atoi(argv[1]); + status = 0; if (pid == -1) err(1, "fork()"); @@ -99,24 +97,17 @@ main(int argc, char **argv) err(0, "OK wait4"); } if (rpid == 0) { -// fprintf(stderr, "No rusage info.\n"); if (ptrace(PT_DETACH, pid, NULL, 0) == -1) err(1, "ptrace(%d) detach", pid); - if (wait(&status) == -1) - err(1, "wait"); } else { fprintf(stderr, "FAIL Got unexpected rusage.\n"); if (ru.ru_utime.tv_sec != 0) fprintf(stderr, "FAIL tv_sec\n"); } - if (status != 0x4000) - fprintf(stderr, "FAIL Child exit status 0x%x\n", status); - - return (0); } EOF -mycc -o vfork2 -Wall -Wextra -g vfork2.c -rm vfork2.c +mycc -o vfork2 -Wall -Wextra -g vfork2.c || exit 1 +rm vfork2.c ./vfork1 & sleep .2 @@ -127,5 +118,6 @@ childpid=`ps -lx | grep -v grep | grep vfork1 | ./vfork2 $childpid s=$? +pkill vfork1 rm -f vfork1 vfork2 exit $s From nobody Fri May 16 11:29:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzPxJ6JCBz5wWHJ; Fri, 16 May 2025 11:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzPxJ54pjz3kwj; Fri, 16 May 2025 11:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747394964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HB4t9HUPSgEGB75Vx4KpC22JuLrCAMQK68g90TJMg20=; b=HkRejhSvNPifHtxrngXUJup4wc+FiTyo65vtFo7MvQp2a4NRo8kY/RO0isO5EVd0cbAX7G 1nGmGoLG8//x1K6o5RUgj52tLsLqoSlI5VIR/FII2fa6nFfsUENxsfZWdB9ANNDywXfeNl 8nfrsBQvsuavVU6mz8GT1V/wIvxQ4cWhA71DCW6tok5U35hy3uhlrp/H1iHmdxR9SjdJap jLpMLxzsNPOuGzHCX7SI+tV5qgZL19u8t6M8JGrTFOOjIfzfScepRzUtCQGhwt8KHs8zQU fuFnXNtlyVIxt2dE5UqybkRreUE5QzPPFcDIprXxD7iO/LQrFYsieakWjmyvfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747394964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HB4t9HUPSgEGB75Vx4KpC22JuLrCAMQK68g90TJMg20=; b=dy4WjyGKpl3/R4v22tJg0p6Jr7crZq/AR+2xHQArcs9OTM5v2CdYP67dzmWgx1qf3MQlti DXpbl9wCuPqPBvrL1eR/oPt2dbsQyBxNwBzFVIYO2acU0JTVVrt7vjOH5MdcaIyD+CbYQl LLCUgR4lKIDbhMP9dz6GGa4hVVagHbeTHlY34Z7p0Cqn0ji00afXrLTAEeKBBzauBgIZcM eIN/sVj0QhX8KAtk91nQ/u2dkXc1bHNWBgJJ8++wEX5gcPOL1S1gWc5eCQc0WMt0lWLUiC XT8lGeOjVobf6od4o8KVODmBOHcetdRHp4yES8gFQxXcogNXdEoomYRdQdzudw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747394964; a=rsa-sha256; cv=none; b=e/lYv6g0Gi8rXxpehGwNOfp8M2Nmd0wbSsMhJs+PWAYsyhEq356pKFRDlhoGJq6kmDRGnk YBIPxciJfcDZ1bUKl6ZyEVGLPD5u2u2ca6Eo2QTcrzImyz6ltYdqa8l2Vx4QwWHrBUDnQc iM7eC71l+q2snwMfHQ6/rebWGUCveG+69Yr8ize9FHVuz9CEqVskL2TWSIa488SWJDTSeR /IcG91Pu5uVqshgKit3HHQYQgQRtUvJwILAZKHaLnuD+djBRHm8FPBulJcJn4hpeiIJ6JD hXLY89rzAYQ8198r0gBb8C+KxKyJVqQvYHh/DVq3Eixh5M1C46M4z7YGMikqjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzPxJ4dPxz11Gp; Fri, 16 May 2025 11:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54GBTO94022751; Fri, 16 May 2025 11:29:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GBTOHG022748; Fri, 16 May 2025 11:29:24 GMT (envelope-from git) Date: Fri, 16 May 2025 11:29:24 GMT Message-Id: <202505161129.54GBTOHG022748@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Krzysztof Galazka Subject: git: 413197cef9cc - main - ppt: Fix panic when configuring unavailable MSI-X vector List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kgalazka X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 413197cef9ccbf22831eb914c2ef469880468d97 Auto-Submitted: auto-generated The branch main has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=413197cef9ccbf22831eb914c2ef469880468d97 commit 413197cef9ccbf22831eb914c2ef469880468d97 Author: Krzysztof Galazka AuthorDate: 2025-05-16 11:29:08 +0000 Commit: Krzysztof Galazka CommitDate: 2025-05-16 11:29:08 +0000 ppt: Fix panic when configuring unavailable MSI-X vector In some cases VM may have different idea about number of available MSI-X vectors then PPT driver. Return an error when VM requests setup for more vectors than expected. It was observed while using SR-IOV on an Intel E810 Ethernet adapter. VF driver in a VM sees a correct number of available MSI-X vectors, which depends on num-queues assigned in iovctl.conf, while pci_msix_count in the PPT driver always returns 1. Signed-off-by: Krzysztof Galazka Reviewed By: #bhyve, jhb Approved by: erj (mentor), kbowling (mentor) MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D48812 --- sys/amd64/vmm/io/ppt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/amd64/vmm/io/ppt.c b/sys/amd64/vmm/io/ppt.c index c3b2b57da988..2cb459fb848f 100644 --- a/sys/amd64/vmm/io/ppt.c +++ b/sys/amd64/vmm/io/ppt.c @@ -750,6 +750,9 @@ ppt_setup_msix(struct vm *vm, int bus, int slot, int func, } } + if (idx >= ppt->msix.num_msgs) + return (EINVAL); + if ((vector_control & PCIM_MSIX_VCTRL_MASK) == 0) { /* Tear down the IRQ if it's already set up */ ppt_teardown_msix_intr(ppt, idx); From nobody Fri May 16 12:17:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzR0r211wz5vbZQ; Fri, 16 May 2025 12:17:32 +0000 (UTC) (envelope-from ivy@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzR0r1LHhz44Dj; Fri, 16 May 2025 12:17:32 +0000 (UTC) (envelope-from ivy@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747397852; 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=E1TLE0jth49prp5vBGoxv/wF5Mgo4TQM9tedylm3/qE=; b=J17V34VgK3ABxC4sSK9CKrnlKNCGc0wYdyCEnqf5OcZLVaH75P76iyt9Axj5Qz6VR0Uscd qVQpZ9vPWaV2tu++YtFifGwwCNQZpboeH+Pd4NjaXWSyIN3AiLnrtakcTObSV4gDdVpSIA CC6VZDTiRxbsQFIgHSXgUvgE4kPK0FJ37m43J1nmSniw3e4BlICd48uHgHFSrFtXBDOIKi 6ELSMdej1h4kK/zRrl8WWN40Py6Sr1vUvAKvzIEV3SAC5H0lTfdBcj5JP906z8TrAGui9s eJM/R9nJ2JOH/jWbD8hZ1AiN0+lI6SU+Rv5QP0lMMx4kBdP9so7rrusHgox4Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747397852; 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=E1TLE0jth49prp5vBGoxv/wF5Mgo4TQM9tedylm3/qE=; b=oYcWU7vztBi/L8nod+2o74/T8JbFB2vBn3755nSAGmWANx6saq9RSRpDt4KWiM0H+9AzLf fIVS6yHdqwYSGtzUfQ43B3qeF9+SBag89HJeVmD7ErIeugk0s9pIBPJ50upBzZSU0mL2YV loRwLcsPpaVmoRHN+3tf9CVP2FqsSfwk6hyCLojc/Gk9V/Iv6Q1D2zUAoLr8CJ+qyd9pMn e1kemByrp+syJhF6Ze4RhHSANqgq+HcHTVwD8GIpvOKuR66IpiuOFAMYmERZvPozqb/lzt C8IsCA4tZtQWG9W5T3IQUMiJQk9W6eTs2H8RRouxeHhayUcM5SKOV0dt1otefg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747397852; a=rsa-sha256; cv=none; b=Yapc2xqYTmb+fTU8PFgN7U7M1J7tIFKTr+B9Tynlk0Wxe+BoBmJqK07tOvU5QLaY21BW++ XhbnDHcgaTvVXxmb77H75N9n2BHFfjYJkRD+vMzXULgKOJV+dr/UOjJ/98pVWgIX3pqelD X6/SD5QT6c12PqQD3ZID4RrRC7rTkxkrM/9FfXLtb+J/EnfYMJlg1WhKBe1yz6d5X/Tt3o etIJX3tMWp6AJw5Lhjzl0GIw6YADkqHdbuvIVzTLm6pPAItAEvWoz6B2oQSmSELnokOXZJ GxnpbY1maKWkCz+MIiP0/MqQCQ7jAZGE0788/MjZuo4VBROSrpEXHgduyQESIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ragweed.eden.le-fay.org (ragweed.eden.le-fay.org [IPv6:2001:8b0:aab5:c401:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZzR0q4P9pztMt; Fri, 16 May 2025 12:17:31 +0000 (UTC) (envelope-from ivy@FreeBSD.org) Date: Fri, 16 May 2025 13:17:27 +0100 From: Lexi Winter To: Cy Schubert Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false Message-ID: Mail-Followup-To: Cy Schubert , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <20250515185812.AE47677@slippy.cwsent.com> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3ThMZTGcqd0KWVvZ" Content-Disposition: inline In-Reply-To: <20250515185812.AE47677@slippy.cwsent.com> --3ThMZTGcqd0KWVvZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Cy Schubert: > This patch breaks VNET jails. =20 oops, sorry! however, i can't reproduce this and did test with VNET jails before landing it, so there must be another factor involved. > bob# service jail onestart test2 > Starting jails: cannot start jail "test2":=20 > epair0a > ifconfig: ioctl (SIOCAIFADDR): Invalid argument > jail: test2: /sbin/ifconfig epair0a inet 10.1.1.70 netmask 0xffffff00 up:= =20 > failed > . > bob# ifconfig epair0a inet 10.1.1.70 netmask 0xffffff00 > ifconfig: ioctl (SIOCAIFADDR): Invalid argument > bob# ifconfig epair0a inet up =20 > bob#=20 is "epair0a" also in a bridge? if so, this is intentional. if not, i am not sure what is going on, but could you please show the full "ifconfig" output at the point this fails? --3ThMZTGcqd0KWVvZ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaCcs1gAKCRD1nT63mIK/ YOIlAQDrT7C1PBHIJhf9EAPL0NnbuK158EV9Ke0Kv3FHJZ8daQD+L880qfoeNcO2 CJj0uN3qIiH98TnHmdwXcfDz5+R7WwA= =e2Ya -----END PGP SIGNATURE----- --3ThMZTGcqd0KWVvZ-- From nobody Fri May 16 12:49:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzRk66Qkqz5vdtK for ; Fri, 16 May 2025 12:49:50 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com [IPv6:2607:f8b0:4864:20::834]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzRk53ffdz3TTC for ; Fri, 16 May 2025 12:49:49 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Authentication-Results: mx1.freebsd.org; dkim=none ("invalid DKIM record") header.d=kev009.com header.s=google header.b=ANzGVRyx; spf=pass (mx1.freebsd.org: domain of kevin.bowling@kev009.com designates 2607:f8b0:4864:20::834 as permitted sender) smtp.mailfrom=kevin.bowling@kev009.com; dmarc=none Received: by mail-qt1-x834.google.com with SMTP id d75a77b69052e-4769aef457bso25740621cf.2 for ; Fri, 16 May 2025 05:49:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; t=1747399788; x=1748004588; darn=freebsd.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=DICBcoSLYFynia9aeBMVkU5Aj2ZVp/BzeZBG+5jkHEI=; b=ANzGVRyxV3uU445uE9mNZxrfMTZfkAFKuEV7sZE0ZxbmNGepx6DXOeLxMuX9lbHDSA gMsc8QZtbwU6vYModqzwxZjEn5tn/OByBrXnsScB3ipF7rQVplgYkEuXFzA3xn9xz4q/ jjgXDOFilNXkVOTRuiwWALN/di/B4OaC+/Lms= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747399788; x=1748004588; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DICBcoSLYFynia9aeBMVkU5Aj2ZVp/BzeZBG+5jkHEI=; b=t2vAiwh3Pg71QQUhKEL/15MnLtojHv/qJICRiYv48sfxNWhx8FKkxeumPPiD0pFEcr +xhb3/ysBsBeZ+ZClL5duSGCUcsaOus+T37CVToJIArVavtQxgv69jG3W4P1EM/bfAVX iBKvUYQ0epwCc2+/oVDP88bA0mlnMo6Cq5B9QkfltTvo9IjxBruZpcR+zCxPcHeka1Ic hpFuNNPUnkmNHkgKWoGxM5ZqpEFPDPRJXSfGf0CGe5UpurMqqrzdxRQnWc0Y7Pcoz9af lnGZse5XMlm8Q8BTEdJaYr3noNFPnKASf1ZJZBn8ctk8pLXnaKZpnbohTwWI+9phnb1x Wy7Q== X-Forwarded-Encrypted: i=1; AJvYcCW0QrIHpEegNBOQ+7XFhKbDvnc5ctI//FuNsgPZf6riW9+oMhj6vBZZGma5L+w8DrW6MJL50j9kQG3RT2n3hdvGV9o77Q==@freebsd.org X-Gm-Message-State: AOJu0YyKXVqc00t/j9hvbHQvP5NjhDhCIG/ghc2pqbmDd174scILpddn 2pwl03gQ+64n2FfKgRTVt2oj1KCAf2/4iAExQChEzF8laFS6YPo9p1VKk/683HJFe7fgt66jig6 7lGIobkQWiVrqJizacRY7qG/KqXI2d2nN+Inf+4xL X-Gm-Gg: ASbGncuQ2Ur2w5Y8TsZccWC42dB76OqMpRgqUQVr9Q4+mpfsOOENUEpPdV1vZ3NgdTR vSQRzgMeXCU2ZtRvchY3awxBVQh2l6mrSXXIkd8aEC87vZFvcGUQAZDP2oL4MeSm+fEMyWPhTsH PSGczotcicYElG9umH3nXQH3xyvG0HIAjJHQ== X-Google-Smtp-Source: AGHT+IFazQx89PYaguZYAGFiw/tEQoRR+AGAfezQlOQ1TY1x75i1vVs08CNCrGTdQ2w/7luLMFwT5w2Vh9bMxmMap24= X-Received: by 2002:a05:622a:17c6:b0:48b:4d30:fced with SMTP id d75a77b69052e-494ae256d5amr57138951cf.0.1747399788452; Fri, 16 May 2025 05:49:48 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <20250515185812.AE47677@slippy.cwsent.com> In-Reply-To: From: Kevin Bowling Date: Fri, 16 May 2025 05:49:37 -0700 X-Gm-Features: AX0GCFvM3i9nXB5Uthe3wbl9nudVIqYjDX2mENxPe0VR0I9vj9BeXT1CMCmyq2M Message-ID: Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false To: Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4ZzRk53ffdz3TTC X-Spamd-Bar: / X-Spamd-Result: default: False [0.33 / 15.00]; NEURAL_HAM_SHORT(-1.00)[-0.999]; NEURAL_SPAM_LONG(0.89)[0.889]; NEURAL_SPAM_MEDIUM(0.74)[0.738]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::834:from]; TO_DN_SOME(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; R_DKIM_PERMFAIL(0.00)[kev009.com:s=google]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; DMARC_NA(0.00)[kev009.com]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; MISSING_XM_UA(0.00)[]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[kev009.com:~] On Fri, May 16, 2025 at 5:17=E2=80=AFAM Lexi Winter wrote= : > > Cy Schubert: > > This patch breaks VNET jails. > > oops, sorry! however, i can't reproduce this and did test with VNET > jails before landing it, so there must be another factor involved. > > > bob# service jail onestart test2 > > Starting jails: cannot start jail "test2": > > epair0a > > ifconfig: ioctl (SIOCAIFADDR): Invalid argument > > jail: test2: /sbin/ifconfig epair0a inet 10.1.1.70 netmask 0xffffff00 u= p: > > failed > > > . > > bob# ifconfig epair0a inet 10.1.1.70 netmask 0xffffff00 > > ifconfig: ioctl (SIOCAIFADDR): Invalid argument > > bob# ifconfig epair0a inet up > > bob# > > is "epair0a" also in a bridge? if so, this is intentional. Hmm, can you clarify what you mean? I think that is a common configuration, it is mentioned in epair(4). From nobody Fri May 16 13:05:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzS4S4ZXtz5vgL5; Fri, 16 May 2025 13:05:44 +0000 (UTC) (envelope-from ivy@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzS4S3sjPz3Z4l; Fri, 16 May 2025 13:05:44 +0000 (UTC) (envelope-from ivy@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747400744; 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=WUbUZ2zD9OmxjUc5G/KJ8wdVbjrboAA6eN1xShYtDdc=; b=em8/h4CNfDp6dxg00C1hYufwPi/m0EMx0fGpC1/nCEf+q0BGZOhz/Dz0qoNMW7iOM9U7KY L8JKmX3W28bALlKb/o7gxxHaQYHRgsrmuUGYjUEJrvBcvUIQEsmtvNQh6tXzwSeRuF5DQV 6uO+0M79FGaPkZ4+cGMqJs+AnOIivxogjxtFeujPxDERmdwpi6rYSpbq83EwfY+wEY8Bkn lpL1rXMYgtxCtgJC1zlPUIMvDMcFa9AH/RnDl/WOaI0EqPRPvhm00gc+RSi3GJrnuc+xVY D1xCueDONJcjEbEmYnYqMSxj4QoEROF5x1Xknab1GaG+zQTOpm9rytqOrGEnkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747400744; 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=WUbUZ2zD9OmxjUc5G/KJ8wdVbjrboAA6eN1xShYtDdc=; b=KHGWUK5pODpQFmBjrdD+sXD3W8QsiSjeEj+AqFGB9rUFFyzqThjqARyGw5y7ED6ci2oNJc nmUOV8bMPRjvSC60Z4CEN0soqQpj+hLGaOYBQrKcu/w2cB683KJe9sVpMNCJ3kBnW323NI 4ZQirkG88XLqHpQo/Zrj6ppYgvNnFr6QZOylIuhuuxD5oKltQ8Quj4DWDvGDN25shkpRX1 diTIB0VCRYBvCQP0C+9Cy+aLY7pK5HPvEDxyRxwkq/3aNM0HPRtkAfvyKNTkguai5mz5Sw O4/Z9FvouqaTZ8qsHeDw/2W1JoMR0cyZ4rgtdywpOUjUnZ+/L59hHWzIbyUhxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747400744; a=rsa-sha256; cv=none; b=VM0SoZRg1/R7ztyB0INOogOl7KOXCS2EKo2aawamG2ycdBi3xPOGQ60aBKK2FSb9Xk9QSM xbhswfeWj0EHqzvJOMc/7t8no2uIsUb3JUJO1AcrHQ5yh85zeNiRodwicQmwr32GPLkbLE dXBFUynqWGxufK8wtnRoIB5nUrRrfOH5+pYevsIjf0rk3959+7BB8BEy+DY2fRbWYHhtqZ yh/N0MUEAeaq6vunrO2ZDGDZAEQD8cATaCVRa80pcToqd9JriLP5oNj+oVZ/2e0CNC1zcb NecMVLMuHB4uEzKk/O/Ma5jIpIPGgwoie8Im6cUR+5tGvkhvEhZcC4yrABMeZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ragweed.eden.le-fay.org (ragweed.eden.le-fay.org [IPv6:2001:8b0:aab5:c401:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZzS4R6VWHzvB4; Fri, 16 May 2025 13:05:43 +0000 (UTC) (envelope-from ivy@FreeBSD.org) Date: Fri, 16 May 2025 14:05:42 +0100 From: Lexi Winter To: Kevin Bowling Cc: Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false Message-ID: Mail-Followup-To: Kevin Bowling , Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <20250515185812.AE47677@slippy.cwsent.com> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="8w7JQOuCs6iA9ocd" Content-Disposition: inline In-Reply-To: --8w7JQOuCs6iA9ocd Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Kevin Bowling: > On Fri, May 16, 2025 at 5:17=E2=80=AFAM Lexi Winter wro= te: > > is "epair0a" also in a bridge? if so, this is intentional. > Hmm, can you clarify what you mean? I think that is a common > configuration, it is mentioned in epair(4). basically there are two supported configurations: - epair, with an IP address, not in a bridge (e.g., routed access configuration) - epair, in a bridge, without an IP address (e.g., layer 2 access configuration) both of these configurations are fine and are still supported. there is also a third, secret configuration: - epair, with an IP address, in a bridge. this third configuration has never worked properly for various reasons, so the change in b61850c4e6f6 is to prevent people from doing it and ending up with a subtly broken network. the reason it's a sysctl is that some people are currently using this configuration and may not be able to migrate immediately. this is *not* meant to be a long-term solution and i intend to remove it prior to 16.0-RELEASE. the correct fix here (rather than enabling the sysctl) is to configure the IP addresses on the bridge instead of the epair, which is now documented in bridge(4). (this applies to all types of network interface that can live in bridges, not just epairs.) there's also a thread on current@ about this[0] with some additional discussion; i didn't notice when i replied here since i read my personal email first. [0] https://lists.freebsd.org/archives/freebsd-current/2025-May/007602.html --8w7JQOuCs6iA9ocd Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaCc4JQAKCRD1nT63mIK/ YGg1AP0bVXn6/rAzik760GEVNe7w2O3X3tdWFHjV2vw1m1weogD/XIpZiVGLwhQ7 BIhhIqEA8PB0XLMVH/B0viXkyDdkfws= =rVqJ -----END PGP SIGNATURE----- --8w7JQOuCs6iA9ocd-- From nobody Fri May 16 14:04:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzTNK3nm5z5vmGk; Fri, 16 May 2025 14:04:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzTNK2zhmz46Rc; Fri, 16 May 2025 14:04:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747404273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7mLn7vOqXzEA9neY3xPwo9xLo4NvPHoinp+E9PrbymY=; b=LMnwSLvognsE3dEoL5ngO8N/VWqKMbf8SdRsNFF/9HH2ZVYHWs34HfJJ0UfSbhr8IaJz9+ LILRFppV6s/aKaQ2LQrmgXdbudymIzPP+1GP1rPD9t9Dt9KEr1FuwJt1J/UK+0c6sHYgUG z+T12E6IpnbxpWeYEcKysPb/hcpyBHTHVn5OoUDsyjNrCQqUssrPlbhIeLr36HXFXUPm5q 8nBWKUaxEdxJIvyBrK73yIPCaS+HAXYRKWQHVWCUqqQjb3sZ67RIoTmcdKLfgVVlHCjMHE WIjd4FWqNvRI2HweW7QKK9+WvXv0WWKt4LeULJREgD8fqrIFLUPWVg1Gk4zksw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747404273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7mLn7vOqXzEA9neY3xPwo9xLo4NvPHoinp+E9PrbymY=; b=sn/HjtV9Vva+MHA3WT7IveFquh/pOHqVgu5bBVjCqgF1veBVWCNQ1SXUaVbtnM45f93n9P yaZYmoxcHUv14JL+LrSfYBtR9gD+OCzmNJ861qB4wV5aB+B8eIBdYsvQiVPpJAfhjwBeV8 zCh9WY6PH2bz3YgOMc76uMHoDSFzh0JvjW6yqjPImfhi+j2fNFs3Lyt970nGYqLeTCB6r0 bc1XHINcw9Lr7F5FyNrg6e18BN75asvjLBaBkOPu1+NvwJYGBNlLhOx+NnmnP+lGW20h1G /znWkFc3S3gXIHMNIBL+cdma6DrQpFLJ7LrjH68LqbHuGUigjjdCoIw0ZmUYpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747404273; a=rsa-sha256; cv=none; b=OPfKg3FQO22huktOmuJuEeVMTobE+8iJeBLhJX3oSi+8QdVjWasFV42ZVCbsBXks0I+mhj YuoZwhjXeSkKWd6Ya7YN6G2hpL3Ztn1n2/vnZ4rPlujsvyDDkFDoPxwIENA0FYJm1h6piM n2EYZBRqNP8X/Vfo9Er3BiTxum2ZrXIa8QeNDSnei2yjZeqt2aKOrn9VK+FP/FCkezhfIx px55wPAeETx4agadyoc/BMAepNH0LC59bSmqS+MnQbESGuporuTno4MXrJq46RkPb8RpNF r28kk45JtQsjmzbwZ5/hAsIQjW/siz5KKnZlzk9QcQ6UFqvb5Ak0WPnLICJuVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzTNK2Vf5z15S7; Fri, 16 May 2025 14:04:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54GE4XK4021408; Fri, 16 May 2025 14:04:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GE4XSh021405; Fri, 16 May 2025 14:04:33 GMT (envelope-from git) Date: Fri, 16 May 2025 14:04:33 GMT Message-Id: <202505161404.54GE4XSh021405@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Mingrone Subject: git: 9d29fc2e4bfb - main - sh: Avoid referencing uninitialized memory in alias List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9d29fc2e4bfba9fcd3b0944e683458a3f1fa0c47 Auto-Submitted: auto-generated The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=9d29fc2e4bfba9fcd3b0944e683458a3f1fa0c47 commit 9d29fc2e4bfba9fcd3b0944e683458a3f1fa0c47 Author: Joseph Mingrone AuthorDate: 2025-05-15 14:42:14 +0000 Commit: Joseph Mingrone CommitDate: 2025-05-16 14:03:09 +0000 sh: Avoid referencing uninitialized memory in alias If run as alias '' uninitialized memory could be referenced. This is based on a fix from NetBSD. For more information, refer to https://github.com/NetBSD/src/commit/10cfed82c28 . Obtained from: NetBSD (Robert Elz , 10cfed82c28) MFC after: 3 days Reported by: mckusick, Robert Elz Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50364 --- bin/sh/alias.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/sh/alias.c b/bin/sh/alias.c index a02554d66e24..681e82b3e19e 100644 --- a/bin/sh/alias.c +++ b/bin/sh/alias.c @@ -204,6 +204,11 @@ aliascmd(int argc __unused, char **argv __unused) return (0); } while ((n = *argptr++) != NULL) { + if (n[0] == '\0') { + warning("'': not found"); + ret = 1; + continue; + } if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */ if ((ap = lookupalias(n, 0)) == NULL) { warning("%s: not found", n); From nobody Fri May 16 14:56:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzVXQ58rvz5vrQR; Fri, 16 May 2025 14:56: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 4ZzVXQ4R3pz3TnZ; Fri, 16 May 2025 14:56:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747407398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rzxoCJhQpuH/UKJsyI5FaT0DzlA9lSa1KmSPGXhwXqI=; b=K9TTac8nTYygXi/w7YGkUFIF+P9pcr2sUBaW+LhUvWqxbWuMisYs3AEKeCQAxKy0Anju7a ft0Ys9Jcmp5oCMuKZstTXOvZdXPmDbuCh3JJQsSRUoTtrL2MqtBYyj2/aQ/KTMlxKVGTL6 LGv/Ga2XIwPPNo5yzes8z98N2/r8bCT9JVw6hK9wjpT9rASSh/nfi0T98pfUFgydL49CFj LRfF5Dag95RrYKYFtkhLKwONmroppupNVxAMkxZzySIqFvITpBpgIhZ08yjD812Xa0Uvy9 YBEkQTYVE9jfLmMLr+jiVm+Nc9OPAWhMXjymBr4+NxLAE6s33P7nGuO/S/6AZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747407398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rzxoCJhQpuH/UKJsyI5FaT0DzlA9lSa1KmSPGXhwXqI=; b=s5o+YoGVhUe0IisRk1jvJqmNIfB4B137pdUqs6+Xv4Tr3Xel9L+ASgnSMVlUT4WlvddHde lzeeDVlaxKIO5nhgCPXhQyLKtEQ4STgIwbf/ctP1I9BhSQIP2lmvMfYGF8SjEptVsZQbC6 A9Gb86Hx3Z9MgsQbJu3NRgvPOIfb4HFv4G0Ky+oqAmeI0vyaOL2/0//ic11ZZ0W6/iUK4H oiFaakyB/Lo1Otu4NWzF36eG0FxSROI1EJz41t2jJr3oApKAynvHFKWINCFUTcsOA+kT6s 8OrCeekULatfRv9rk7n39kia+PTE/Yj8Iz4Iu50IhllHXoz7n66ICV7tWp9JBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747407398; a=rsa-sha256; cv=none; b=VYj3UHOUXvJsXnb5S8h97FPhuckdOHQKESvKuMorOg+wZH6rr+XPxDLXn3yvPAqIJX4vle NuxPVFITKpOEqssvUu82L6G7ElnBeGNQBa0oBSic6/CzutaToVoFihHCG16BiWcoOwpWDF RmDaVK4yMJmWRODHsdveAF5djA6VMa2U4l1fAxI1+AnECX19fWAFDr705DGv1ovqcwB/PY wsC2+v/PDONJErAbk4CTeWeugZbXAMVZT3nf6jupdSRZGb7uG73CCGvkLw4A0icyxe2nyM eH+1wwoUzXMeszdwXwG9/iZG+S4tNc0RWYzm2KBpHGvv0+dxo+Ppo9ogca1KVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzVXQ41b9z16tC; Fri, 16 May 2025 14:56: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 54GEucBh015085; Fri, 16 May 2025 14:56:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GEucs8015082; Fri, 16 May 2025 14:56:38 GMT (envelope-from git) Date: Fri, 16 May 2025 14:56:38 GMT Message-Id: <202505161456.54GEucs8015082@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: fbaba7aa4322 - main - man: Exit cleanly on SIGPIPE. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fbaba7aa432257a9b787edc6bfdbfbde94f2e0d5 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=fbaba7aa432257a9b787edc6bfdbfbde94f2e0d5 commit fbaba7aa432257a9b787edc6bfdbfbde94f2e0d5 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-16 14:56:13 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-16 14:56:25 +0000 man: Exit cleanly on SIGPIPE. The first attempt at addressing this simply suppressed SIGPIPE, which resulted in mandoc printing out error messages instead. This was then reverted, but the pipefail was (correctly) left in, so man still returned a nonzero exit code if you quit a page before the end. PR: 223516, 279542 Fixes: 14a5c1068d37, a85d870007e7 MFC after: 1 week Reviewed by: ziaee, kevans Differential Revision: https://reviews.freebsd.org/D50302 --- usr.bin/man/man.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index 68a4b3a40588..ec20fc813bf4 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -33,7 +33,10 @@ # it is better to terminate it. ulimit -t 20 -# do not ignore the exit status of roff tools +# Do not ignore the exit codes of roff tools, as they may indicate a +# problem with the page being rendered. Note that this also causes a +# nonzero exit when the user quits reading before reaching the end, so +# we need to look out for and deal with that specific case. set -o pipefail # Usage: add_to_manpath path @@ -1061,6 +1064,16 @@ do_man() { man_find_and_display "$page" done + # The user will very commonly quit reading the page before + # reaching the bottom. Depending on the length of the page + # and the pager's buffer size, this may result in a SIGPIPE. + # This is normal, so convert that exit code to zero. + if [ ${ret:-0} -gt 128 ]; then + if [ "$(kill -l "${ret}")" = "PIPE" ]; then + ret=0 + fi + fi + exit ${ret:-0} } From nobody Fri May 16 15:44:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzWbb3QWHz5vvrS; Fri, 16 May 2025 15:44: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 4ZzWbb2f2Fz3bfH; Fri, 16 May 2025 15:44:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747410267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4UvFrIn+UlFFigk2TPAmSDhV0uIlWBpkvvqK/JuJkNI=; b=y4VQm/UFK1H0gTb+juUcF/bl3KtsoiWbvYcg+M/4+MOIObMyVgGhnNh1NuELij0etMrkds IUSXFN74QqqkguoZ680C2wdiInv1oAUQ9n5GSeoToswaLg/FmVuyRBNJkasvkU9aIodf1q Vby8KLrGstNxoARgoAWW8mGYQHsKwOQNR8opiBAPo/dFc724dnMgywsqzk2afwRzyOkoOU 7Xb0mFDyivHoM5cdeegWvoEwsgKEE0YFfvHL032VMQaSNwMrdKyfvnE1LDs9LiCbcO4awD Xe9CvasDaG1rzKHfW1JtpSDNZMcRVVXAA5MTciwUS/8Adv2lAxNN5Ym3/sJWzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747410267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4UvFrIn+UlFFigk2TPAmSDhV0uIlWBpkvvqK/JuJkNI=; b=XvSxg0oYAAHg9dCfc3BInAN++Lf8MRgNBEvR4VyZ/8gVXT0RBo6h/IA5p1v9T/OCT63MH4 VL1tIHCUP6LVXYFD68sn7nZKFXEQGpbQTf5ta5go5YLAIoEqCGBPc8XjmVyRzW5sSnkVcr T5ztNUWqrF1xbjD1BZa/og5t6ivVFbvvf0wOoYGJAKdVg9rtqT0wqAkOnizHZ0NLCAEalc rwXzZhLOMSyG0uTEwB5HUyS8V7Au9XN2wf1phdqRiY9ALd0xQSe508wLXxDPdolX5r3pf0 rgPi9BZnBLmzgE7TyGKljhtN5A7pcdl4xim0VGPZACYzUOQWVpD7OuDJ5iJ9Cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747410267; a=rsa-sha256; cv=none; b=YPnyekoeFSXt9mcvhVJYSLBHUgJG5IeArstd/ugT3CeTyObR270CX/7y9Im8P3H4xbR7V5 APgLNK2qQNBKZgTu7j9pXE8WF3MoqIjiyZ/ZpzdrApD1ho0e4DSx3MtVt4oH/oa8QpzLH4 XUuoFf+Wvf3rlRFWeFgd0wDOEvMtV6s5A0aQxhUMC5E2BuNSFRTNi/gubEjHtG+nyJot3v d2002/Q2qYbIOdQWYz6hRC+Q5Ln5UyUaBTfHI4CyvFssOxiBxKzEm/09SQWkOPqjVioVHg 4Ioe/ILDg5KT3664cJWxBQR0wg3Z9mPpg4BmH37NrHpKpuMCzLnWM2Y6IBrvmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzWbb1S6Fz185r; Fri, 16 May 2025 15:44: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 54GFiRFh008638; Fri, 16 May 2025 15:44:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GFiRct008635; Fri, 16 May 2025 15:44:27 GMT (envelope-from git) Date: Fri, 16 May 2025 15:44:27 GMT Message-Id: <202505161544.54GFiRct008635@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 1518203b892f - main - libc: Improve scanfloat test. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1518203b892f402fa72dd86a458a5d3a0b99dceb Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1518203b892f402fa72dd86a458a5d3a0b99dceb commit 1518203b892f402fa72dd86a458a5d3a0b99dceb Author: Dag-Erling Smørgrav AuthorDate: 2025-05-16 15:43:20 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-16 15:44:10 +0000 libc: Improve scanfloat test. --- lib/libc/tests/stdio/scanfloat_test.c | 136 +++++++++++++++++----------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/lib/libc/tests/stdio/scanfloat_test.c b/lib/libc/tests/stdio/scanfloat_test.c index a93238504dd1..635d93d560b3 100644 --- a/lib/libc/tests/stdio/scanfloat_test.c +++ b/lib/libc/tests/stdio/scanfloat_test.c @@ -59,88 +59,88 @@ ATF_TC_BODY(normalized_numbers, tc) buf[0] = '\0'; ATF_REQUIRE(setlocale(LC_NUMERIC, "")); - sscanf("3.141592", "%e", &f); + ATF_REQUIRE_EQ(1, sscanf("3.141592", "%e", &f)); ATF_REQUIRE(eq(FLT, f, 3.141592)); - sscanf("3.141592653589793", "%lf", &d); + ATF_REQUIRE_EQ(1, sscanf("3.141592653589793", "%lf", &d)); ATF_REQUIRE(eq(DBL, d, 3.141592653589793)); - sscanf("1.234568e+06", "%E", &f); + ATF_REQUIRE_EQ(1, sscanf("1.234568e+06", "%E", &f)); ATF_REQUIRE(eq(FLT, f, 1.234568e+06)); - sscanf("-1.234568e6", "%lF", &d); + ATF_REQUIRE_EQ(1, sscanf("-1.234568e6", "%lF", &d)); ATF_REQUIRE(eq(DBL, d, -1.234568e6)); - sscanf("+1.234568e-52", "%LG", &ld); + ATF_REQUIRE_EQ(1, sscanf("+1.234568e-52", "%LG", &ld)); ATF_REQUIRE(eq(LDBL, ld, 1.234568e-52L)); - sscanf("0.1", "%la", &d); + ATF_REQUIRE_EQ(1, sscanf("0.1", "%la", &d)); ATF_REQUIRE(eq(DBL, d, 0.1)); - sscanf("00.2", "%lA", &d); + ATF_REQUIRE_EQ(1, sscanf("00.2", "%lA", &d)); ATF_REQUIRE(eq(DBL, d, 0.2)); - sscanf("123456", "%5le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("123456", "%5le%s", &d, buf)); ATF_REQUIRE(eq(DBL, d, 12345.)); ATF_REQUIRE(strcmp(buf, "6") == 0); - sscanf("1.0Q", "%*5le%s", buf); + ATF_REQUIRE_EQ(1, sscanf("1.0Q", "%*5le%s", buf)); ATF_REQUIRE(strcmp(buf, "Q") == 0); - sscanf("-1.23e", "%e%s", &f, buf); + ATF_REQUIRE_EQ(2, sscanf("-1.23e", "%e%s", &f, buf)); ATF_REQUIRE(eq(FLT, f, -1.23)); ATF_REQUIRE(strcmp(buf, "e") == 0); - sscanf("1.25e+", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("1.25e+", "%le%s", &d, buf)); ATF_REQUIRE(eq(DBL, d, 1.25)); ATF_REQUIRE(strcmp(buf, "e+") == 0); - sscanf("1.23E4E5", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("1.23E4E5", "%le%s", &d, buf)); ATF_REQUIRE(eq(DBL, d, 1.23e4)); ATF_REQUIRE(strcmp(buf, "E5") == 0); - sscanf("12e6", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("12e6", "%le", &d)); ATF_REQUIRE(eq(DBL, d, 12e6)); - sscanf("1.a", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("1.a", "%le%s", &d, buf)); ATF_REQUIRE(eq(DBL, d, 1.0)); ATF_REQUIRE(strcmp(buf, "a") == 0); - sscanf(".0p4", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf(".0p4", "%le%s", &d, buf)); ATF_REQUIRE(eq(DBL, d, 0.0)); ATF_REQUIRE(strcmp(buf, "p4") == 0); d = 0.25; - ATF_REQUIRE(sscanf(".", "%le", &d) == 0); + ATF_REQUIRE_EQ(0, sscanf(".", "%le", &d)); ATF_REQUIRE(d == 0.25); - sscanf("0x08", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x08", "%le", &d)); ATF_REQUIRE(d == 0x8p0); - sscanf("0x90a.bcdefP+09a", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("0x90a.bcdefP+09a", "%le%s", &d, buf)); ATF_REQUIRE(d == 0x90a.bcdefp+09); ATF_REQUIRE(strcmp(buf, "a") == 0); #if (LDBL_MANT_DIG > DBL_MANT_DIG) && !defined(__i386__) - sscanf("3.14159265358979323846", "%Lg", &ld); + ATF_REQUIRE_EQ(1, sscanf("3.14159265358979323846", "%Lg", &ld)); ATF_REQUIRE(eq(LDBL, ld, 3.14159265358979323846L)); - sscanf(" 0X.0123456789abcdefffp-3g", "%Le%s", &ld, buf); + ATF_REQUIRE_EQ(2, sscanf(" 0X.0123456789abcdefffp-3g", "%Le%s", &ld, buf)); ATF_REQUIRE(ld == 0x0.0123456789abcdefffp-3L); ATF_REQUIRE(strcmp(buf, "g") == 0); #endif - sscanf("0xg", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("0xg", "%le%s", &d, buf)); ATF_REQUIRE(d == 0.0); ATF_REQUIRE(strcmp(buf, "xg") == 0); ATF_REQUIRE(setlocale(LC_NUMERIC, "ru_RU.ISO8859-5")); /* decimalpoint==, */ - sscanf("1.23", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("1.23", "%le%s", &d, buf)); ATF_REQUIRE(d == 1.0); ATF_REQUIRE(strcmp(buf, ".23") == 0); - sscanf("1,23", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1,23", "%le", &d)); ATF_REQUIRE(d == 1.23); ATF_REQUIRE(setlocale(LC_NUMERIC, "")); @@ -156,40 +156,40 @@ ATF_TC_BODY(infinities_and_nans, tc) ATF_REQUIRE(setlocale(LC_NUMERIC, "C")); - sscanf("-Inf", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("-Inf", "%le", &d)); ATF_REQUIRE(d < 0.0 && isinf(d)); - sscanf("iNfInItY and beyond", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("iNfInItY and beyond", "%le%s", &d, buf)); ATF_REQUIRE(d > 0.0 && isinf(d)); ATF_REQUIRE(strcmp(buf, " and beyond")); - sscanf("NaN", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("NaN", "%le", &d)); ATF_REQUIRE(isnan(d)); - sscanf("NAN(123Y", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("NAN(123Y", "%le%s", &d, buf)); ATF_REQUIRE(isnan(d)); ATF_REQUIRE(strcmp(buf, "(123Y") == 0); - sscanf("nan(f00f)plugh", "%le%s", &d, buf); + ATF_REQUIRE_EQ(2, sscanf("nan(f00f)plugh", "%le%s", &d, buf)); ATF_REQUIRE(isnan(d)); ATF_REQUIRE(strcmp(buf, "plugh") == 0); - sscanf("-nan", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("-nan", "%le", &d)); ATF_REQUIRE(isnan(d)); /* Only quiet NaNs should be returned. */ - sscanf("NaN", "%e", &f); - sscanf("nan", "%le", &d); - sscanf("nan", "%Le", &ld); - feclearexcept(FE_ALL_EXCEPT); + ATF_REQUIRE_EQ(1, sscanf("NaN", "%e", &f)); + ATF_REQUIRE_EQ(1, sscanf("nan", "%le", &d)); + ATF_REQUIRE_EQ(1, sscanf("nan", "%Le", &ld)); + ATF_REQUIRE_EQ(0, feclearexcept(FE_ALL_EXCEPT)); ATF_REQUIRE(f != f); ATF_REQUIRE(d != d); ATF_REQUIRE(ld != ld); ATF_REQUIRE(fetestexcept(FE_INVALID) == 0); - sscanf("nan(1234)", "%e", &f); - sscanf("nan(1234)", "%le", &d); - sscanf("nan(1234)", "%Le", &ld); - feclearexcept(FE_ALL_EXCEPT); + ATF_REQUIRE_EQ(1, sscanf("nan(1234)", "%e", &f)); + ATF_REQUIRE_EQ(1, sscanf("nan(1234)", "%le", &d)); + ATF_REQUIRE_EQ(1, sscanf("nan(1234)", "%Le", &ld)); + ATF_REQUIRE_EQ(0, feclearexcept(FE_ALL_EXCEPT)); ATF_REQUIRE(f != f); ATF_REQUIRE(d != d); ATF_REQUIRE(ld != ld); @@ -205,74 +205,74 @@ ATF_TC_BODY(rounding_tests, tc) ATF_REQUIRE(setlocale(LC_NUMERIC, "C")); - fesetround(FE_DOWNWARD); + ATF_REQUIRE_EQ(0, fesetround(FE_DOWNWARD)); - sscanf("1.999999999999999999999999999999999", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.999999999999999999999999999999999", "%le", &d)); ATF_REQUIRE(d < 2.0); - sscanf("0x1.ffffffffffffffp0", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.ffffffffffffffp0", "%le", &d)); ATF_REQUIRE(d < 2.0); - sscanf("1.999999999999999999999999999999999", "%Le", &ld); + ATF_REQUIRE_EQ(1, sscanf("1.999999999999999999999999999999999", "%Le", &ld)); ATF_REQUIRE(ld < 2.0); - sscanf("1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc59p0); - sscanf("-1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("-1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == -0x1.0ea3f4af0dc5ap0); - sscanf("1.0571892669084010", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084010", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc5ap0); - sscanf("0x1.23p-5000", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.23p-5000", "%le", &d)); ATF_REQUIRE(d == 0.0); - sscanf("0x1.2345678p-1050", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.2345678p-1050", "%le", &d)); ATF_REQUIRE(d == 0x1.234567p-1050); - fesetround(FE_UPWARD); + ATF_REQUIRE_EQ(0, fesetround(FE_UPWARD)); - sscanf("1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc5ap0); - sscanf("-1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("-1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == -0x1.0ea3f4af0dc59p0); - sscanf("1.0571892669084010", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084010", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc5bp0); - sscanf("0x1.23p-5000", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.23p-5000", "%le", &d)); ATF_REQUIRE(d == 0x1p-1074); - sscanf("0x1.2345678p-1050", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.2345678p-1050", "%le", &d)); ATF_REQUIRE(d == 0x1.234568p-1050); - fesetround(FE_TOWARDZERO); + ATF_REQUIRE_EQ(0, fesetround(FE_TOWARDZERO)); - sscanf("1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc59p0); - sscanf("-1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("-1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == -0x1.0ea3f4af0dc59p0); - sscanf("1.0571892669084010", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084010", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc5ap0); - sscanf("0x1.23p-5000", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.23p-5000", "%le", &d)); ATF_REQUIRE(d == 0.0); - sscanf("0x1.2345678p-1050", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.2345678p-1050", "%le", &d)); ATF_REQUIRE(d == 0x1.234567p-1050); - fesetround(FE_TONEAREST); + ATF_REQUIRE_EQ(0, fesetround(FE_TONEAREST)); /* 1.0571892669084007 is slightly closer to 0x1.0ea3f4af0dc59p0 */ - sscanf("1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc59p0); - sscanf("-1.0571892669084007", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("-1.0571892669084007", "%le", &d)); ATF_REQUIRE(d == -0x1.0ea3f4af0dc59p0); - sscanf("1.0571892669084010", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("1.0571892669084010", "%le", &d)); ATF_REQUIRE(d == 0x1.0ea3f4af0dc5bp0); /* strtod() should round small numbers to 0. */ - sscanf("0x1.23p-5000", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.23p-5000", "%le", &d)); ATF_REQUIRE(d == 0.0); /* Extra digits in a denormal shouldn't break anything. */ - sscanf("0x1.2345678p-1050", "%le", &d); + ATF_REQUIRE_EQ(1, sscanf("0x1.2345678p-1050", "%le", &d)); ATF_REQUIRE(d == 0x1.234568p-1050); } @@ -287,16 +287,16 @@ ATF_TC_BODY(strtod, tc) ATF_REQUIRE(strcmp("xy", endp) == 0); /* This used to cause an infinite loop and round the wrong way. */ - fesetround(FE_DOWNWARD); + ATF_REQUIRE_EQ(0, fesetround(FE_DOWNWARD)); ATF_REQUIRE(strtof("3.5e38", &endp) == FLT_MAX); ATF_REQUIRE(strtod("2e308", &endp) == DBL_MAX); - fesetround(FE_UPWARD); + ATF_REQUIRE_EQ(0, fesetround(FE_UPWARD)); ATF_REQUIRE(strtof("3.5e38", &endp) == INFINITY); ATF_REQUIRE(strtod("2e308", &endp) == INFINITY); - fesetround(FE_TOWARDZERO); + ATF_REQUIRE_EQ(0, fesetround(FE_TOWARDZERO)); ATF_REQUIRE(strtof("3.5e38", &endp) == FLT_MAX); ATF_REQUIRE(strtod("2e308", &endp) == DBL_MAX); - fesetround(FE_TONEAREST); + ATF_REQUIRE_EQ(0, fesetround(FE_TONEAREST)); ATF_REQUIRE(strtof("3.5e38", &endp) == INFINITY); ATF_REQUIRE(strtod("2e308", &endp) == INFINITY); } From nobody Fri May 16 16:25:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzXWB0N6dz5vyDQ; Fri, 16 May 2025 16:25: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 4ZzXW96fh2z3gt9; Fri, 16 May 2025 16:25:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747412742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9K6Ztnh5uRHPYOZ02hSPG7LTfY9+MfztwaJMQF+LkRM=; b=RTME4Nsw4+SSOIYshkFn3317eHVuvOY5CxfGHpOoAbrENQfAALqSnCKhtVjSq46xhii7pe e5ykuvsw1NdOIn2jEQL073FqMRqobQnkDcTAWxoKIKqzoG2tVGuzjDdN47D3UF3w9olrqN yskc/UPpPulPpNd29iknm9WZhlXUlmY24CCRiDAKSVAUMrDHf0+591WX1bHOCzGerpDOlo GPdRsoEhH+qyZFcI2D5B5zMLTdDlN//g1LUA2rD5y7qeS3JF4EaB3QFSXvmooUKfTB+pjL mjpFGk7P/lcNOG0Il+0yYz32mZb36LITADu6sCJmGYAY2M1L7qDxOi3UhA4VMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747412742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9K6Ztnh5uRHPYOZ02hSPG7LTfY9+MfztwaJMQF+LkRM=; b=GOkmAm/y4xm6Ovef8ZsK56YJfW4i0sfvaBxX5rfYyJ4YQCG3W6doOzAYhFeK+PsOipPTHA EtTgJGhPgDQqRDvmxx0gOMLszMkuFXpXqzbRmyIsksXWbQQB8amvWOvFQCZCCJBDdyh4n/ z++BsDasL013EUEBm06DXPlBENETMPNR4uFRWXX471Ec+ngcNi/wEuSizY8ng9hLo5BWov cM5rhY3Lb3ZJfF4QDBzHubsWOIlCC2Z/yDQi5vXBkAd4UI3RrAiHRv0CNbjphqdbKD5hi1 3TuVQdRfbOnODha9YHqOj+hzSEWpFe0U05++sm7s2deEga38tGQWJkTGs6AxMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747412742; a=rsa-sha256; cv=none; b=rZtnzgvGtXnGIan5t0ojzL5Ei3VwMAnU0laCGxw6Z+nP0N4qsDDfXMRctRcWgZMoMCFV4G F7LD4gSj7NVf3ZHxvWCeGcMCUmpv2PGbx+PEpyl5QI+bFJ1yH86Qv9aIqLyYrN1KfiwYh3 DnYnquwcT14IGvNd8nCGjWJfCa1nbw9g6C90DbSu+O/0of87ayNjTT7kzAOOLIX7L8YHHt IA3DQyydPqdpCQXh0zL1jn0ZmmF8IJpFkxseO2ZlF4PTqPD5nY/JVI6N8qnPus9E/9h8sx LFnypTMQzM68TjFuD5E85LqUBdNaiTtPxs47kJYb7ld8RBeAKuOTsUwC/98rCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzXW96Dxlz19DK; Fri, 16 May 2025 16:25:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54GGPfLU084360; Fri, 16 May 2025 16:25:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GGPfcB084357; Fri, 16 May 2025 16:25:41 GMT (envelope-from git) Date: Fri, 16 May 2025 16:25:41 GMT Message-Id: <202505161625.54GGPfcB084357@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 4dbe268d2e7a - main - traceroute tests: fix the test when SCTP is supported List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4dbe268d2e7ad4f1172a174a3c55f0fdff3aaa99 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=4dbe268d2e7ad4f1172a174a3c55f0fdff3aaa99 commit 4dbe268d2e7ad4f1172a174a3c55f0fdff3aaa99 Author: Lexi Winter AuthorDate: 2025-05-16 15:29:51 +0000 Commit: Lexi Winter CommitDate: 2025-05-16 16:25:14 +0000 traceroute tests: fix the test when SCTP is supported The SCTP test assumes a default system configuration where SCTP is not supported, so the probe packet returns an ICMP error which is displayed as a !P response. If SCTP is supported, then something else is returned instead (depending on exactly what probe we sent, but not an ICMP error) and the test fails. Since we already check the correct probes are sent using tcpdump, remove the match for the second hop entirely. Reported by: Jenkins Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50336 --- usr.sbin/traceroute/tests/traceroute_test.sh | 6 ------ 1 file changed, 6 deletions(-) diff --git a/usr.sbin/traceroute/tests/traceroute_test.sh b/usr.sbin/traceroute/tests/traceroute_test.sh index 6243db14bc8e..268e0bd58b5b 100755 --- a/usr.sbin/traceroute/tests/traceroute_test.sh +++ b/usr.sbin/traceroute/tests/traceroute_test.sh @@ -293,8 +293,6 @@ ipv4_sctp_body() atf_check -s exit:0 \ -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ - -o match:"^ 2 ${LINK_TRDST_TRDST} .* !P" \ - -o not-match:"^ 3" \ jexec trsrc traceroute $TR_FLAGS -Psctp ${LINK_TRDST_TRDST} stop_tcpdump @@ -310,8 +308,6 @@ ipv4_sctp_body() atf_check -s exit:0 \ -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ - -o match:"^ 2 ${LINK_TRDST_TRDST} .* !P" \ - -o not-match:"^ 3" \ jexec trsrc traceroute $TR_FLAGS -Psctp ${LINK_TRDST_TRDST} 128 stop_tcpdump @@ -327,8 +323,6 @@ ipv4_sctp_body() atf_check -s exit:0 \ -e match:"^traceroute to ${LINK_TRDST_TRDST}" \ -o match:"^ 1 ${LINK_TRSRC_TRRTR}" \ - -o match:"^ 2 ${LINK_TRDST_TRDST} .* !P" \ - -o not-match:"^ 3" \ jexec trsrc traceroute $TR_FLAGS -Psctp -e -p 40000 ${LINK_TRDST_TRDST} stop_tcpdump From nobody Fri May 16 19:38:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zzcp82V9vz5wDJT for ; Fri, 16 May 2025 19:38:56 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zzcp65TMSz426h for ; Fri, 16 May 2025 19:38:54 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Authentication-Results: mx1.freebsd.org; dkim=none ("invalid DKIM record") header.d=kev009.com header.s=google header.b=MKU0gGpa; spf=pass (mx1.freebsd.org: domain of kevin.bowling@kev009.com designates 2607:f8b0:4864:20::831 as permitted sender) smtp.mailfrom=kevin.bowling@kev009.com; dmarc=none Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-4811fca8658so25961021cf.3 for ; Fri, 16 May 2025 12:38:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; t=1747424334; x=1748029134; darn=freebsd.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=1uASX6b/+GNqFcnGARIyNRllVf1emQZnPmNXIj+GdBc=; b=MKU0gGpatt8YCm3FVkQCL1A3sitMjaIqWgti0ZWykUsCRJP7QDmBHiXiKWi2ccExvR UVc9YxWy9Qt5f6iHvF5J/xkmQBA5IOalapNpSf1gffkq5dHPGSkQ+v5u7PxqawjfmokZ b1AG1CS/qoCgF/PNpGHNtXW0XD4wrvQRZBs+o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747424334; x=1748029134; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1uASX6b/+GNqFcnGARIyNRllVf1emQZnPmNXIj+GdBc=; b=cbF9xbF/ZE5a8x0E1NVaHQK+RH9i8sNlYxU+aGjce6UALXSWL34bmqC5MWJvfKmFtu Oe+PSGXby+EiMpFJGX5XscyTI5XHRGcFh1PEp/gfKfoTC5qNRmZtkqz4NEvwC1VJWgvz fbRDGg+MK5gMv5McIf2e04ivKqlFTE+20ac10lL5B2sZAIpQ2ojD4CEcYKfL8piKO/sN mAg8pOs5sj3Q7dmO81kCCfIMurxMS3BgeD1N4exITDCQFwCEQO7vfmQ0VLWYl7TP+ZwN 4OuseFet+GPoVUahtGKXmHK56Q506V0CCItQbgPdd2hbJyIvQGBvpeL5bzXntNhQr1aS 0LwA== X-Forwarded-Encrypted: i=1; AJvYcCWHnGKZEcZOUO/AmK2x0hQ2f/1MOuWlfDp7toKvqfrtQqfPi9pRgB1hH7zlXjXcpXwyiMMHcob0OTwcjJJ1E3rafngivw==@freebsd.org X-Gm-Message-State: AOJu0YwXtASkhBtMI01tLC97mhqnShsJ4ZvlO8SsARx9nT0MFz7sJnKZ c86w85HiaGSBxDjAF1zVE/97WH4LWgsJN3lF5cgZ3Fd1TjGXHsvKVX8Cw9Ia+IBqQFdFvLUoQEw PcznPpLMnlTEvJbbcNilhH3CEcZDlgZrYbdzhCj2g X-Gm-Gg: ASbGnctVZotW0PQ8zSjeyEEcNWmH2vbRzjDYcZB3MAt5J88dJSd/Ijavc4BrDoHS9/G Ea9XLHmsevkg9qV3p6k3L2IgeKKPvG8FZc/f0SMgYX+4iGRzgH1vDlLDSXkn4qRpk4i0MM12jxR Mp1MLEagQfSetjfOpvm/cGcegpxxxrjiq+Fw== X-Google-Smtp-Source: AGHT+IFWjnWC14aVzP18oIbOqmDyL1W62Fxvu8h99weYMc6YwIYif2b9Zb/mTK1jaDULhRyvbSHlGzBD92fYoz1uOZ4= X-Received: by 2002:a05:622a:1b21:b0:476:b783:c94d with SMTP id d75a77b69052e-494ae42cd7fmr76911661cf.35.1747424333907; Fri, 16 May 2025 12:38:53 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <20250515185812.AE47677@slippy.cwsent.com> In-Reply-To: From: Kevin Bowling Date: Fri, 16 May 2025 12:38:42 -0700 X-Gm-Features: AX0GCFt0KerTTjA31dNiWMlln-1suVf8kaVvfYlmFUuIPyGkeovmOI0NAXuDwn0 Message-ID: Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false To: Kevin Bowling , Cy Schubert , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4Zzcp65TMSz426h X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.41 / 15.00]; NEURAL_HAM_SHORT(-0.93)[-0.929]; NEURAL_HAM_MEDIUM(-0.60)[-0.599]; NEURAL_HAM_LONG(-0.58)[-0.583]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[kev009.com]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_PERMFAIL(0.00)[kev009.com:s=google]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[kev009.com:~]; RCVD_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::831:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MISSING_XM_UA(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCPT_COUNT_FIVE(0.00)[5] On Fri, May 16, 2025 at 6:05=E2=80=AFAM Lexi Winter wrote= : > > Kevin Bowling: > > On Fri, May 16, 2025 at 5:17=E2=80=AFAM Lexi Winter w= rote: > > > is "epair0a" also in a bridge? if so, this is intentional. > > > Hmm, can you clarify what you mean? I think that is a common > > configuration, it is mentioned in epair(4). > > basically there are two supported configurations: > > - epair, with an IP address, not in a bridge (e.g., routed access > configuration) > - epair, in a bridge, without an IP address (e.g., layer 2 access > configuration) > > both of these configurations are fine and are still supported. > > there is also a third, secret configuration: > > - epair, with an IP address, in a bridge. > > this third configuration has never worked properly for various reasons, > so the change in b61850c4e6f6 is to prevent people from doing it and > ending up with a subtly broken network. the reason it's a sysctl is > that some people are currently using this configuration and may not be > able to migrate immediately. this is *not* meant to be a long-term > solution and i intend to remove it prior to 16.0-RELEASE. > > the correct fix here (rather than enabling the sysctl) is to configure > the IP addresses on the bridge instead of the epair, which is now > documented in bridge(4). > > (this applies to all types of network interface that can live in > bridges, not just epairs.) Thank you. This explanation was very clear. > there's also a thread on current@ about this[0] with some additional > discussion; i didn't notice when i replied here since i read my personal > email first. > > [0] https://lists.freebsd.org/archives/freebsd-current/2025-May/007602.ht= ml From nobody Fri May 16 19:39:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzcpT10qQz5wD99; Fri, 16 May 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzcpS751Gz42Zs; Fri, 16 May 2025 19:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747424353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WYqdw8+RsYc+lzIQl/Nm4SFOrLM6nEg97tMJL/zfmoo=; b=i/9HTZEjwOoTLjngHQeERqxihmcfz0FJV7SxLGifof5WLMdcOFmmb89WJbLv9rgbapEfUJ Lv6/INdOFmDrpkHzM5Q2ODYGlYWXtUyuwicFxT7AZYECO0OTiwv3dEWO/oLMfdxSUhUmyp bv0Si+tp+WJVhRq5o+aHuXqZe6JJp8USFlI4TvvOcjKNaYe/PXHD0BtYYis9xskqP6K/EV ENC7DXWoC7z9tUVH2hA3vdkQSdJY0sDec3j3TAf+SPQDSWkuGrkmiHdDxv8bmRELHnabd0 MVu/zJIzoWMUo4axKzGhTMptbvsBRyGqpOuogAnTh9o/pQ+LkUGBaqTT1Gqjxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747424353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WYqdw8+RsYc+lzIQl/Nm4SFOrLM6nEg97tMJL/zfmoo=; b=bLEqIzzxWJG213hxgbjTU9QAsBUf7QbeHLpDVn37wW9wbap0miL0IK1XZ2lIorUBkr6Ky0 tFzEdiT1OBaetAIY4ixQcIudZ3Ht8ZrRPZbbQ4BZYuBNBEJwGUMYGsP/0hg8HwL8ZM53rd azFzDyezH4ef6kjVQQQdWHO7DLtWk9cT/rtbWPGrVLMinyeavLl7/zSuOHHDg3IsDMOxmI SBa9/2OMbDxTsanNU1ztzegHsG2hXmis6q2khzxGcCd2wg6UiqUyNZ1oCoP+m5mXzFz9ma hNpb4m6/kwgPTv8RnfpcpSNKH2SHgVco/UMQMRhR2u/lenQYUd9Gya/ONhpYzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747424353; a=rsa-sha256; cv=none; b=Lllcnmc0ni+IWkLOmcwadU9V3cMcz3YU+nnexuH3pnB3pATgPBOcxA1ftWDoZp2NU/lyyI S1LaYWgPggcljozRakTsVz1qHjl+JyE7TTYQo3I3IBvbb6m8tG65CfMWQRNfjHwo5Pp4Am WyJH0wNK8CgmgMjnAYmdDssc5CJ4hPZdQA7fvzofm6RZCmZVflUpIpjFoSk3ZyssH25cIK 1E3D96xKmBW5If6IUqyWL36nYeslUtkxWl1X9w2UWXInZVaMAiMuaEf7GdDDHApUAjoFXM YvdU/XZKG/OFA9RI8/a4xIBMGnQ9MZ7y1MvMDTU9Z4cM6iHjkAoefX8DSLpv3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzcpS6NGGz21V; Fri, 16 May 2025 19:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54GJdC4I041059; Fri, 16 May 2025 19:39:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GJdCnX041056; Fri, 16 May 2025 19:39:12 GMT (envelope-from git) Date: Fri, 16 May 2025 19:39:12 GMT Message-Id: <202505161939.54GJdCnX041056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: e647a222a1a7 - main - nfs_clrpcops.c: Fix handling of a CreateLayGet reply List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e647a222a1a74bd3b2bbdd7903fb30e4e30b6b09 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=e647a222a1a74bd3b2bbdd7903fb30e4e30b6b09 commit e647a222a1a74bd3b2bbdd7903fb30e4e30b6b09 Author: Rick Macklem AuthorDate: 2025-05-16 19:36:39 +0000 Commit: Rick Macklem CommitDate: 2025-05-16 19:36:39 +0000 nfs_clrpcops.c: Fix handling of a CreateLayGet reply Without this patch, the CreateLayGet RPC did not handle a NFSv4.1/4.2 reply for a pNFS server that also issued delegations. This patch fixes the problem. Detected at the recent NFSv4 Bakeathon testing event. This bug would only affect the rare case where the FreeBSD client is mounted to a pNFS server that issues delegations, where the "pnfs" mount option is specified. MFC after: 2 weeks --- sys/fs/nfsclient/nfs_clrpcops.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index c1f94a65e506..4ff56f75123c 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -8590,6 +8590,13 @@ nfsrpc_createlayout(vnode_t dvp, char *name, int namelen, struct vattr *vap, &ret, &acesize, p); if (error != 0) goto nfsmout; + } else if (deleg == NFSV4OPEN_DELEGATENONEEXT && + NFSHASNFSV4N(nmp)) { + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); + deleg = fxdr_unsigned(uint32_t, *tl); + if (deleg == NFSV4OPEN_CONTENTION || + deleg == NFSV4OPEN_RESOURCE) + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); } else if (deleg != NFSV4OPEN_DELEGATENONE) { error = NFSERR_BADXDR; goto nfsmout; From nobody Fri May 16 20:33:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zzf0l2wXcz5wHjk; Fri, 16 May 2025 20:33: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 4Zzf0l2CC4z3DGc; Fri, 16 May 2025 20:33:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747427591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ue/LLd96K/EwY19++diYhux6cEnrtnukrIWSUmSMNGo=; b=KdebsH1RXe0yQqKPJ7B6JMwREiEvvJSurdXwALy5qSB8pBBH4VsVN222V2ke9oiS6gv9kZ Pv8EDCXMNhNu9zlyOjB8ZcuCazuXAD3KnKLGWB98CNhdZds9RPO9vLR5Wkyi5k/1N9br78 W85Sg8ZqW9URnMVd6MSeOHn6qqrC+vsZ/ax1s43QoSdFuULxWxjJroJFoJxhnFBnOx+bl+ mxESr50E4vto+6UfLvoowCjmIb79e7vng78KTFvDDFzMdmsPOAvYFn+uElBqaKZOscgcl9 sjt1jmEvQeqT7R5YADNMFJRu8XKQX08l6KXRBOhpuBwH2B0ydbKaNY+eFisMKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747427591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ue/LLd96K/EwY19++diYhux6cEnrtnukrIWSUmSMNGo=; b=tUCjH3uxbbA0OF3WVGTnz8ETsl+H7qhAcDUH4+r2lYa+ZWEHa2/T08Xr1Obr8/hHtRPK1A 95LDhx3ZfSNNrZujnjr+yZcXEGq84BbQKvKaXaz072pQU1+NPXOmKtHXZlv4+l8bpb6+2U 8BFflQXjxslGBJTf5pFpcDx4iorh9pxaCjXW7hLdUDFYznk2zvSJbLDQTAJzSLacVbQ8to oqz0VRxBD8rjm8TG44t9u6+a4Fg9qbHOSb/vW2uf1wzMIwN5vEdAn+i82sZSbmLcp3msJk LUdP6f8EbMUKQlALo6FdPVb03uz6vQohH6yz5Rx/PrPAQYg5HHoB5tMwonqyLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747427591; a=rsa-sha256; cv=none; b=EBwwJ9Gx2s4uiXv03Spm89A9kRpXNOCYnghYc9o4+Y8xBU+EGLEGg/8N8yYiIyoJ6S+BZE SL/D68ck6wwdwra320I/Kme/L07L+vujFm9I+B0BrdJnTqPiRCEGXGM9zb7CANx4nIJ7oP iZ+kxNaVv64MIFBpHENgT/OE0tv71qebXfC0uA7Xugp7bge01SzPF1vHxdeJxi1Q4MEnUM ASH/ySOmbnTBxNs7ehj6af+audGOG92nqCq9emzkNASQ6/dGTwDukI59e4ZQP0fJRfFlrK eR28RamA25nBddg/hiN0xGZU6KGqQzJcN3tOs7x7X1CG0NBrpI9e4TYy2X6D4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zzf0l1WK6z3XK; Fri, 16 May 2025 20:33: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 54GKXBLi051783; Fri, 16 May 2025 20:33:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GKXB6i051780; Fri, 16 May 2025 20:33:11 GMT (envelope-from git) Date: Fri, 16 May 2025 20:33:11 GMT Message-Id: <202505162033.54GKXB6i051780@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 95c414dd27c2 - main - ng_sample: fix style nits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 95c414dd27c26285cdd6ed4288832b3db0ea6628 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=95c414dd27c26285cdd6ed4288832b3db0ea6628 commit 95c414dd27c26285cdd6ed4288832b3db0ea6628 Author: Seyed Pouria Mousavizadeh Tehrani AuthorDate: 2025-05-16 16:19:56 +0000 Commit: Lexi Winter CommitDate: 2025-05-16 20:29:47 +0000 ng_sample: fix style nits MFC after: 3 days Reviewed by: ivy, kp, des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50343 --- sys/netgraph/ng_sample.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netgraph/ng_sample.c b/sys/netgraph/ng_sample.c index 6647247fc634..5cbd9bbab41a 100644 --- a/sys/netgraph/ng_sample.c +++ b/sys/netgraph/ng_sample.c @@ -271,7 +271,7 @@ ng_xxx_rcvmsg(node_p node, item_p item, hook_p lasthook) struct ngxxxstat *stats; NG_MKRESPONSE(resp, msg, sizeof(*stats), M_NOWAIT); - if (!resp) { + if (resp == NULL) { error = ENOMEM; break; } @@ -320,7 +320,7 @@ ng_xxx_rcvmsg(node_p node, item_p item, hook_p lasthook) * in the connect() method. */ static int -ng_xxx_rcvdata(hook_p hook, item_p item ) +ng_xxx_rcvdata(hook_p hook, item_p item) { const xxx_p xxxp = NG_NODE_PRIVATE(NG_HOOK_NODE(hook)); int chan = -2; From nobody Fri May 16 22:20:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzhN96Q3Sz5wQf6; Fri, 16 May 2025 22:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzhN95d9Xz3Sgw; Fri, 16 May 2025 22:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747434009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Usbs1TiBX4klk9oM6vEFlVifLbD8VwSt2RLFS3EJo9U=; b=s1STlEoYHx9XnMPNjfD4oO5MyRegOZk+NDqZg6iSLxv/wRYzzVDXRxoKX1WCVefFfkDOC6 N9dEyvvikdpW9W8H6L+o/wiK49aUdPP7Cd5O5tQdaxrP5rOveHM1pGboA+9srPTflbZ4SQ leBpijfo5RJXqCCmXsI/IXT8r5jwhFJtN8lFmALGwIPqiw0IlXcLqoboTna6Ms4EwZ9QG0 dudng/aG8yPzSiloWE0rdbgnjLuwuYOrEw9FC53h35ijaq5phlkG0wt+0aZhHNIq9sjrFJ /UJa8xG7bGWyQ8A23w/mHywBm1b1dSHNwqUcv+75/UaSxGuz7OutcFE8RkZ3Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747434009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Usbs1TiBX4klk9oM6vEFlVifLbD8VwSt2RLFS3EJo9U=; b=aDDVtbjKOxVGESYTjAmvcshN77qW1OZoD1DS/VnnqWt9Y44LbTr9rDoOoctn4eLXfNr78C T9N+dGJG/153VDd34+lJQZwMruKV8rdGCmkNN76qRrgcASkEa6ImrjVN147/hX8+t5qzeh fFUNOcSW7T/VmjbjPSaRY90VEX5UA0wqWoKR3vC//4wqB6iSLPjGUxm9nNWA9P/xZl8yC+ LPANmB7iDrPs+lGHbMGH73gC20rxQzikht1EHeJWliLJxwbebFuMx4ICIzfUR58xF6xYju Qs1TKgtdPhSUc+gNpOHHGlS8UmcEn5yvrcIuu+PrtotgP+2+8oMTwjb505JZmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747434009; a=rsa-sha256; cv=none; b=LjUEBS8zOqJPa2LMGpXejl7lrPbYvQJOW3q8OxQ7SYhOVfgNOK92k2WSo7TAVIXd1sDRTe O8mXxjmmDx+II9/KZ3agK4dL5EBnDbxJthQnOl1KfPNHU2GNy7DHmYKf2SZtSJe3P2xMp3 lhdAsFvty/Ulj/W9+xuoxaJH+qrbNqsetofF4hjacoXlRF3iD/41dbA2Qo8mshIK9YwthP mJWUHJr3Bs0jOuWUV/h3HlYCETQgyDVLC1psX6qbLNkplyF33whoWgEQtzBGSPrD1ICk1q ItdrZbMWvNo1sPaHIbkt6MYr0eb7N1qm/TfcA38/ia61OS1PDTTPsoo0foxk9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzhN94mXlz6R3; Fri, 16 May 2025 22:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54GMK9gl045301; Fri, 16 May 2025 22:20:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GMK990045296; Fri, 16 May 2025 22:20:09 GMT (envelope-from git) Date: Fri, 16 May 2025 22:20:09 GMT Message-Id: <202505162220.54GMK990045296@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 496b3c3a1ce8 - main - grantbylabel_syscall check p_textvp != NULL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 496b3c3a1ce86b72f56bec993b76bdd64723ee46 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=496b3c3a1ce86b72f56bec993b76bdd64723ee46 commit 496b3c3a1ce86b72f56bec993b76bdd64723ee46 Author: Simon J. Gerraty AuthorDate: 2025-05-16 22:19:06 +0000 Commit: Simon J. Gerraty CommitDate: 2025-05-16 22:19:06 +0000 grantbylabel_syscall check p_textvp != NULL kernel process will not have valid p_textvp Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D50368 --- sys/security/mac_grantbylabel/mac_grantbylabel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/security/mac_grantbylabel/mac_grantbylabel.c b/sys/security/mac_grantbylabel/mac_grantbylabel.c index af080e8e34e0..c40885773222 100644 --- a/sys/security/mac_grantbylabel/mac_grantbylabel.c +++ b/sys/security/mac_grantbylabel/mac_grantbylabel.c @@ -409,6 +409,10 @@ cleanup_file: proc = pfind(gbl_args.u.pid); if (proc == NULL) return (EINVAL); + else if (proc->p_textvp == NULL) { + PROC_UNLOCK(proc); + return (EINVAL); + } proc_locked = 1; } gbl_args.gbl = (SLOT(proc->p_textvp->v_label) | From nobody Fri May 16 23:05:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzjNV5cMWz5wTQp; Fri, 16 May 2025 23:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzjNV4zK4z3Y05; Fri, 16 May 2025 23:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747436730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D3jdIsteRTn9gtCI36uqzLu6JhyTH/Zkk1cbHpG1+mI=; b=ShEn20E6z434q61K5RnRMiKe/nsxwLcQ2w8+qGjp6HwuflQMQ+Ox4GOS1aWTpXq4jRRNSh HauK2slqQDr8WrCrTFBBVMuAWGbywiOLLcGpLHWFnilKtG7NE1VtnnTpK0sdqO4tUM9Iga gx6kPyyqxzLt7T0hCf5AyWnEaJ8e7qRHhN0ofcuOfQi17Sbm5JkRUALdcSC02ww3Pu/j6R lkH5pfUJBV5mnxAZIjjcX/p7bSpZlhLz9OsmMbCB7D3LEToaVq4dDAM1ykAvNwkG1DVSA3 +Q29wNKUKFu+HUuekcwEKTxH1w8/lSP/wMR+db5nzLc9IZGD68HP1RIzVJmqRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747436730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D3jdIsteRTn9gtCI36uqzLu6JhyTH/Zkk1cbHpG1+mI=; b=jxe3Xzom7xT7/z55D17nNBxbap9lCCX7kiNmvfxukBWOznnvCkweHDeML8RQmxnD2bCB+i 44kPV6BAVcva7e5n8d0ExbKBfzkcFgi2ciN48nNjhpLd7ARvGtpET+y62xhe4EWdPlZffe fojyPmEokH5fB4CO7fIg9qPniQF/DeUNY1CSmSq4EgOdGvLcSIgowtOlFo1CpkOu+vxYCA byGIwXd4eQYorEw+TAyQQqTxtw2cyXcnupP2VyO5twx5S5ElbCoOhY9y2L+3oREYirfR9F 0wy3IlHFcVgw9biiH5k3iakOAdT3CwYe2wUbAQLfcj5TaYOGmqQHicBg4IuIow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747436730; a=rsa-sha256; cv=none; b=WtKzPeWJAlC2N3PDgFI5BIG5q15gfooK+qir42HFbcvWs6xRejUfbvb8jvsWBWULivqnG4 /iKmKlchnhd90y5rC+nmGvktXdfMcV/FXtDlPINyJeq60u9+9o4CqVvcl65R/2IYyBaZ2j 7Pv661SGjvyTtVvaT7rbGwf/Tl3iHyexhdbAgrb+Ve3y5OW6Q4glNkLA85oDMlRxpzBrAy mZUm4iR/5D+E/YCxBQzDe69jlkpZj0MCtEwL+mUW+yodcdxAnBLZa73NrKxUKaEWOlH6Lj C9cZI2nLUcmlPXUNVG3hx1bctTcEZrkbRcbjRxzE3XJg/Wh47tUjlgsdgfDatg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzjNV4ZG4z6fb; Fri, 16 May 2025 23:05: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 54GN5UCG034677; Fri, 16 May 2025 23:05:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GN5U9D034674; Fri, 16 May 2025 23:05:30 GMT (envelope-from git) Date: Fri, 16 May 2025 23:05:30 GMT Message-Id: <202505162305.54GN5U9D034674@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: c1d9b2c9b03c - main - qat.4: Cleanup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1d9b2c9b03cade19cb4f94d3e29fba7179ac11a Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c1d9b2c9b03cade19cb4f94d3e29fba7179ac11a commit c1d9b2c9b03cade19cb4f94d3e29fba7179ac11a Author: Alexander Ziaee AuthorDate: 2025-05-16 17:19:00 +0000 Commit: Alexander Ziaee CommitDate: 2025-05-16 23:03:24 +0000 qat.4: Cleanup + copyright symbols do not belong in Nd's (apropos results) + move hardware to HARDWARE for inclusion in the hw release notes + improve sysctls + lines which say nothing removed + links moved to see also + spacing and markup corrections MFC after: 3 days Reviewed by: markj, mhorne Differential Revision: https://reviews.freebsd.org/D50381 --- share/man/man4/qat.4 | 181 +++++++++++++++++++++++++-------------------------- 1 file changed, 89 insertions(+), 92 deletions(-) diff --git a/share/man/man4/qat.4 b/share/man/man4/qat.4 index 3d8c0cd32664..e7907c7c6331 100644 --- a/share/man/man4/qat.4 +++ b/share/man/man4/qat.4 @@ -1,11 +1,11 @@ .\" SPDX-License-Identifier: BSD-3-Clause .\" Copyright(c) 2007-2022 Intel Corporation -.Dd May 4, 2023 +.Dd May 16, 2025 .Dt QAT 4 .Os .Sh NAME .Nm qat -.Nd Intel (R) QuickAssist Technology (QAT) driver +.Nd Intel QuickAssist Technology driver .Sh SYNOPSIS To load the driver call: .Pp @@ -39,9 +39,20 @@ The driver supports cryptography and compression acceleration of the Intel (R) QuickAssist Technology (QAT) devices. .Pp +A complete API for offloading these operations is exposed in the kernel +and may be used by any other entity directly. +In addition to exposing a complete kernel API for +offloading cryptography and compression operations, the +.Nm +driver also integrates with +.Xr crypto 4 , +allowing offloading supported operations to Intel QuickAssist Technology +devices. +.Sh HARDWARE The .Nm -driver is intended for platforms that contain: +driver supports the following Intel QuickAssist Technology Engines: +.Pp .Bl -bullet -compact .It Intel (R) C62x Chipset @@ -57,78 +68,45 @@ Intel (R) Atom P5300 processor product family .It Intel (R) QAT 4xxx Series .El -.Pp -The -.Nm -driver supports cryptography and compression acceleration. -A complete API for offloading these operations is exposed in the kernel and may -be used by any other entity directly. -For details of usage and supported operations and algorithms refer to the -following documentation available from Intel Download Center -.Lk https://downloadcenter.intel.com : -.Bl -bullet -compact -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology API Programmer's Guide -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Cryptographic API Reference Manual -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Data Compression API Reference Manual -.Re -.It -.Rs -.%A Intel (R) -.%T QuickAssist Technology Performance Optimization Guide -.Re -.El -.Pp -In addition to exposing complete kernel API for offloading cryptography and -compression operations, the -.Nm -driver also integrates with -.Xr crypto 4 , -allowing offloading supported cryptography operations to Intel (R) QuickAssist -Technology (QAT) devices. -For details of usage and supported operations and algorithms refer to the -documentation mentioned above and -.Sx SEE ALSO -section. .Sh SYSCTL_VARIABLES -Following variables may be used to reconfigure the QAT device.\& -For configuration persistence those variables may be set before loading the driver, either via +The following +.Xr sysctl 8 +variables may be used to reconfigure the +.Nm +device. +For configuration persistence those variables may be set before loading +the driver, either via .Xr kenv 1 or .Xr loader.conf 5 . -The device specific configuration options are prefixed with -.Va dev.qat.X\&. -where X is the device number. -The specific device needs to be in "down" state before changing the configuration. +.Pp +The specific device needs to be in the "down" state +before changing the configuration. .Bl -tag -width indent -.It Va state -Show current state of the device. Override the device state. Possible values: "down", "up". - -NOTE: If the symmetric services are used for device the qat_ocf driver needs to be disabled prior the device -reconfiguration. -Following variable may be used to enable/disable the QAT cryptographic framework connectivity -.Va dev.qat_ocf.0.enable\&. +.It Va dev.qat.X.state +Show or set current state of the device. +Possible values: "down", "up". +.Pp +NOTE: If the symmetric services are used for device the +.Sy qat_ocf +driver needs to be disabled prior the device reconfiguration. +.It Va dev.qat_ocf.0.enable +Enable/disable the QAT cryptographic framework connectivity. Enabled by default. -.It Va cfg_services -Override the device services enabled: symmetric, asymmetric, data compression. +.It Va dev.qat.X.cfg_services +Override the device services enabled, may be one of: +symmetric, asymmetric, data compression. Possible values: "sym", "asym", "dc", "sym;dc", "asym;dc", "sym;asym". -Default services configured are "sym;asym" for even and "dc" for odd devices. -.It Va cfg_mode -Override the device mode configuration for kernel space and user space instances. +Default services configured +are "sym;asym" for even and "dc" for odd devices. +.It Va dev.qat.X.cfg_mode +Override the device mode configuration +for kernel space and user space instances. Possible values: "ks", "us", "ks;us". Default value "ks;us". -.It Va num_user_processes -Override the number of uio user space processes that can connect to the QAT device. +.It Va dev.qat.X.num_user_processes +Override the number of uio user space processes +that can connect to the QAT device. Default: 2 .El .Pp @@ -136,48 +114,67 @@ The following .Xr sysctl 8 variables are read-only: .Bl -tag -width indent -.It Va frequency +.It Va dev.qat.X.frequency QAT device frequency value. -.It Va mmp_version +.It Va dev.qat.X.mmp_version QAT MMP Library revision number. -.It Va hw_version +.It Va dev.qat.X.hw_version QAT hardware revision number. -.It Va fw_version +.It Va dev.qat.X.fw_version QAT firmware revision number. -.It Va dev_cfg +.It Va dev.qat.X.dev_cfg Summary of device specific configuration. -.It Va heartbeat -QAT device heartbeat status. Value '1' indicates that the device is operational. -Value '0' means that the device is not responsive. Device requires restart. -.It Va heartbeat_failed +.It Va dev.qat.X.heartbeat +QAT device heartbeat status. +Value '1' indicates that the device is operational. +Value '0' means that the device is not responsive. +Device requires restart. +.It Va dev.qat.X.heartbeat_failed Number of QAT heartbeat failures received. -.It Va heartbeat_sent +.It Va dev.qat.X.heartbeat_sent Number of QAT heartbeat requests sent. .El - -.Sh COMPATIBILITY -The -.Nm -driver replaced previous implementation introduced in -.Fx 13.0 . -Current version, in addition to -.Xr crypto 4 -integration, supports also data compression and exposes a complete API for -offloading data compression and cryptography operations. .Sh SEE ALSO .Xr crypto 4 , .Xr ipsec 4 , .Xr pci 4 , .Xr crypto 7 , .Xr crypto 9 +.Pp +For details of usage and supported operations and algorithms refer to +the following documentation available from Intel Download Center +.Lk https://downloadcenter.intel.com : +.Pp +.Bl -bullet -compact +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology API Programmer's Guide +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Cryptographic API Reference Manual +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Data Compression API Reference Manual +.Re +.It +.Rs +.%A Intel (R) +.%T QuickAssist Technology Performance Optimization Guide +.Re +.El .Sh HISTORY -This +A .Nm -driver was introduced in -.Fx 14.0 . -.Fx 13.0 included a different version of -.Nm -driver. +driver appeared in +.Fx 13.0 . +It was superseded in +.Fx 14.0 +by the upstream driver. .Sh AUTHORS The .Nm From nobody Sat May 17 03:57:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zzqry1QhXz5vs23; Sat, 17 May 2025 03:57: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 4Zzqry0dLcz3gGQ; Sat, 17 May 2025 03:57:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747454226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MMtSjibhwSvHmlH4Y20BwNr80ECFRwVewJK+bGegq8c=; b=h9pMnTp+I/nzDOVPxurlQDrugP88UIijby7XtVSQXA5fFpc++jgTRmSFVNJEwQLibzNkds i4+PpHvyMrh4hv9RCaBJWbRc6XqcIquUOxTiS3QH0g8bL+oeoPr2JdlGEvqEDccu4qGyO2 cxthmGjcQFEmctXWWWfnzggXFFsCXHh3jb53QS4jl4knPwfZDvtdWpjK9k0pbw7yqX1E6w N4ee6CV9ju/F8t0X8U8GjqdRo4iA0ublM/dGqtbB5a6LNnRt+qD0mESWOn9ts3zmpEerj6 xR3rlSOdBH/oPj+HjXuppTqGbTcV1ResGb7pG2Jy3PQlw8JJaPSC3C2NDV9uLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747454226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MMtSjibhwSvHmlH4Y20BwNr80ECFRwVewJK+bGegq8c=; b=wHldqE3a67BDNJ44MmxrV29N+QjB8uQTHv01YGhWslM4y/hIS4cyhOYZkBpRhs2nCkfGck PcJ1IjKgZpvGtkvOVb/Z9BQltbRpA94aFNPiHy9qdGyT0CFL9V8FPmwTehdUQulgLHwupa PJ8gsg06ayb4EmcXGJAOy2i40iomOORib4cuCid1FnYqQ/MEnsXnW19Rp2WDz1Vw2vRWsq HJN57ahrLGvLdgjoqpQwkRzoVnSNU/Lj3Uh0dE/g8l3I4BAijpNb1hgGJyBVwOq6CDAWQU MMpXtiC7spOap9J44miSZqNmX3xTPfkLwivCrm4FY9b8D60T83ttlc/p5BDhUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747454226; a=rsa-sha256; cv=none; b=PI1zfdyXGTdH65D5F2JdMc6iI4ZtakUCPe05/eJGosqgKriKhP9S+JEAGgwu0MDo23gs/J hi5WXlQUA/5/jF5b0ZRZ15vc2/NfAqphRTiMhZU6IbgICb+s66S1Ili2/7uPXgYLzn82fm c0PFfimZp4XYZkUXbEruW2cokZx05XwAQM0h2PG+QAWczcOmxOjmfifubBBDn8c5FZJjEA CSACsPmDfD9+FjmdvUymAPMWYBHwlHF7hP+mrbLRvzYjt3jrn2/SLJfgVDtPWGu8Wdov5m fdtpZL+95cNQvyEGATAfTKknS464a9/hnbNlxITJtOYSFsFZ2HP/jakan7ja4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zzqrx750CzYvh; Sat, 17 May 2025 03:57: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 54H3v54L078686; Sat, 17 May 2025 03:57:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54H3v5qP078683; Sat, 17 May 2025 03:57:05 GMT (envelope-from git) Date: Sat, 17 May 2025 03:57:05 GMT Message-Id: <202505170357.54H3v5qP078683@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 5239a9fb8662 - main - vm_page: alloc_domain_iter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5239a9fb8662c1f87dd5a963c044d80b16206a72 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=5239a9fb8662c1f87dd5a963c044d80b16206a72 commit 5239a9fb8662c1f87dd5a963c044d80b16206a72 Author: Doug Moore AuthorDate: 2025-05-17 03:54:33 +0000 Commit: Doug Moore CommitDate: 2025-05-17 03:54:33 +0000 vm_page: alloc_domain_iter A recent change that made a call to pctrie_iter_reset conditional was ill-advised, as it leads to an assertion failure on the graid1_6.sh stress2 test. Make it unconditional again. Reported by: pho Fixes: 3fe2f81f665b ("vm_page: reduce iter_reset calls in alloc_domain_iter") --- sys/vm/vm_page.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index ecf8f5c73a5e..91250060190d 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2142,8 +2142,7 @@ again: * Not allocatable, give up. */ (void)vm_domain_alloc_fail(vmd, object, req); - if ((req & VM_ALLOC_WAITFAIL) != 0) - pctrie_iter_reset(pages); + pctrie_iter_reset(pages); return (NULL); } From nobody Sat May 17 07:43:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zzwtj2yBzz5w8n0; Sat, 17 May 2025 07:43:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zzwtj28LFz3HQn; Sat, 17 May 2025 07:43:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747467837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XWg8A48i/NQYT1QIhkSE9WrSEYFoooi2j/RnZLTTqyE=; b=qHJjU8Jm4L04PmDHDDyWCCGW2veVmG7SntRqZq2yF5AUD45t+kaI+eUXttPEGoBrd752bO qqEUCFyaXNg2qzmudUXiIhdSlJhIEGGK0nHTKGM44V8GzPWSr+PwM7o/JU6vXMCSBizGGB bWQoPQ6RykXFbC8jrn9FoLXtMe9yU3NPDis0isFNrPrp/Oozt2BIH2rgdyYs49fGUQpCQs 0RnfPxbr1AMTpjT85YRsnV22WAo8GJLQhNwa49znT9eg0bPe87F/jN+FKJ81bzhiNgCr3B sOYR14hbfdgDCeGi6VOd2f874wbSYMIW3tYP1wx2nbDb2+nAe2g6cgo6sJv4+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747467837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XWg8A48i/NQYT1QIhkSE9WrSEYFoooi2j/RnZLTTqyE=; b=lfmd46BvJ1ohKiEXmBZmWTBxJBgcusAwMHZn5L2/vUSrPkX5bQ8mDwRjBxcZStkeRWffdY JCPOqygNuZQoCaZ7txuBWcdB9L8n43oI2gwAVhHHPL8Xpl5iY/dtz9aEBF+wurlgcyvcpK BeB8vUjAOzhlJUKg8D5U+JNqa41izeRC1ahn5Cx4WZ1E3DpRydyh0aMhyHV3RoQ+Ln22rS qFCBx+1/RBFnvWaMmCIJnp6KS4Dt38seA7pyow5GMJUK+/7N+i2QbtycpC5y/acPANe9QN g9KmhH6v2ar2DZmiUqp9vj+GIythfPMWVJbXpahufjznMeqjtx+KgXvj6cOTmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747467837; a=rsa-sha256; cv=none; b=cJNsai//CHHoGxsWC4S7StVtHbPXpv+23MEvKk4ZWS0s6RKHZcU4xbCg3MOz2CQBxrzS1Y 0yOEnzpjsXf7+0p/yGjdx1m0PVmJ+BphcDlWdxebRb2k8qKoSDtXcSCXmbfChlhdaVe56i pjINDTZ26e1UqAiKPuNtXDRFDnS8qvzjNxrgw+DvjfYU5dgySdve/MEygnDPyNeMVgBNq7 T/lpnqvBY5jtc7i5mvHCy5JVBzxtY8j2EKQB8Bq/p1QJPzACfu1Nll+3Rh7Jn8IKG4k3KB ZwAO9zGfJfOQd8j2u+5RQaaWBxoa/WaNKc1U2U5F3d9LdTaL1riuAk2aehPCcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zzwtj1lgtzfWc; Sat, 17 May 2025 07:43: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 54H7hvhn010139; Sat, 17 May 2025 07:43:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54H7hvCg010136; Sat, 17 May 2025 07:43:57 GMT (envelope-from git) Date: Sat, 17 May 2025 07:43:57 GMT Message-Id: <202505170743.54H7hvCg010136@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: ee84b4e2fdf0 - main - namei: Update documentation. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee84b4e2fdf09f9a6dfa43e0931d8671cc15ebf9 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ee84b4e2fdf09f9a6dfa43e0931d8671cc15ebf9 commit ee84b4e2fdf09f9a6dfa43e0931d8671cc15ebf9 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-17 07:43:02 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-17 07:43:02 +0000 namei: Update documentation. This should have been done 2+ years ago when the td argument was dropped from NDINIT() and the NDFREE() macro and the SAVENAME and SAVESTART flags were retired. MFC after: 3 days Fixes: 7e1d3eefd410 ("vfs: remove the unused thread argument from NDINIT*") Fixes: 269c564b90d3 ("vfs: retire NDFREE") Sponsored by: NetApp, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50375 --- ObsoleteFiles.inc | 3 +++ share/man/man9/Makefile | 3 ++- share/man/man9/namei.9 | 69 ++++++++++++++++++++++++++++++++----------------- 3 files changed, 50 insertions(+), 25 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 589c9ce41ab7..b90ac11dfc69 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250516: NDFREE(9) -> NDFREE_PNBUF(9) +OLD_FILES+=usr/share/man/man9/NDFREE.9.gz + # 20250511: mailx test renamed OLD_FILES+=usr/tests/usr.bin/mail/mail_sigint_test diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index a43d2c9fef3f..f7cd206126d6 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1639,7 +1639,8 @@ MLINKS+=mutex.9 mtx_assert.9 \ mutex.9 mtx_unlock_flags.9 \ mutex.9 mtx_unlock_spin.9 \ mutex.9 mtx_unlock_spin_flags.9 -MLINKS+=namei.9 NDFREE.9 \ +MLINKS+=namei.9 NDFREE_PNBUF.9 \ + namei.9 NDINIT_AT.9 \ namei.9 NDINIT.9 MLINKS+=netisr.9 netisr_clearqdrops.9 \ netisr.9 netisr_default_flow2cpu.9 \ diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index 63a6d3b11f6f..1703faaeee99 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -31,13 +31,14 @@ .\" If you integrate this manpage in another OS, I'd appreciate a note .\" - eivind@FreeBSD.org .\" -.Dd December 17, 2024 +.Dd May 16, 2025 .Dt NAMEI 9 .Os .Sh NAME .Nm namei , .Nm NDINIT , -.Nm NDFREE +.Nm NDINIT_AT , +.Nm NDFREE_PNBUF .Nd pathname translation and lookup operations .Sh SYNOPSIS .In sys/param.h @@ -47,11 +48,16 @@ .Fn namei "struct nameidata *ndp" .Ft void .Fo NDINIT -.Fa "struct nameidata *ndp" "u_long op" "u_long flags" -.Fa "enum uio_seg segflg" "const char *namep" "struct thread *td" +.Fa "struct nameidata *ndp" "enum nameiop op" "u_int64_t flags" +.Fa "enum uio_seg segflg" "const char *namep" .Fc .Ft void -.Fn NDFREE "struct nameidata *ndp" "const uint flags" +.Fo NDINIT_AT +.Fa "struct nameidata *ndp" "enum nameiop op" "u_int64_t flags" +.Fa "enum uio_seg segflg" "const char *namep" "int dirfd" +.Fc +.Ft void +.Fn NDFREE_PNBUF "struct nameidata *ndp" .Sh DESCRIPTION The .Nm @@ -71,13 +77,13 @@ flag was specified or not. .Pp The .Fn NDINIT -function is used to initialize +macro is used to initialize .Nm components. It takes the following arguments: .Bl -tag -width ".Fa segflg" .It Fa ndp -The +A pointer to the .Vt "struct nameidata" to initialize. .It Fa op @@ -95,7 +101,7 @@ will not result in .Fn VOP_RENAME being called. .It Fa flags -Operation flags. +Operation flags, described in the next section. Several of these can be effective at the same time. .It Fa segflg UIO segment indicator. @@ -106,10 +112,35 @@ or in the kernel address space .It Fa namep Pointer to the component's pathname buffer (the file or directory name that will be looked up). -.It Fa td -The thread context to use for -.Nm -operations and locks. +.El +.Pp +The +.Fn NDINIT_AT +macro is similar to +.Fn NDINIT , +but takes one extra argument: +.Bl -tag -width ".Fa segflg" +.It Fa dirfd +File descriptor referencing a directory, or the special value +.Dv AT_FDCWD +meaning the calling thread's current working directory. +Lookups will be performed relative to this directory. +.El +.Pp +The +.Fn NDFREE_PNBUF +macro is used to free the pathname buffer. +It must be called exactly once for each successful +.Fn namei +call. +It takes the following argument: +.Bl -tag -width ".Fa segflg" +.It Fa ndp +A pointer to a +.Vt "struct nameidata" +that was used in a successful +.Fn namei +call. .El .Sh NAMEI OPERATION FLAGS The @@ -203,17 +234,6 @@ This flag is not looked for by the actual code, which looks for .Dv NOFOLLOW is used to indicate to the source code reader that symlinks are intentionally not followed. -.It Dv SAVENAME -Do not free the pathname buffer at the end of the -.Fn namei -invocation; instead, free it later in -.Fn NDFREE -so that the caller may access the pathname buffer. -See below for details. -.It Dv SAVESTART -Retain an additional reference to the parent directory; do not free -the pathname buffer. -See below for details. .El .Sh ALLOCATED ELEMENTS The @@ -307,7 +327,8 @@ An attempt is made to modify a file or directory on a read-only file system. .Xr VFS 9 , .Xr vnode 9 , .Xr vput 9 , -.Xr vref 9 +.Xr vref 9 , +.Xr vrele 9 .Sh AUTHORS .An -nosplit This manual page was written by From nobody Sat May 17 09:33:00 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZzzJX3lfZz5wJND; Sat, 17 May 2025 09:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzzJX18lyz41y4; Sat, 17 May 2025 09:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747474380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=beQ8JLnLPUUSUFGFN5LHAAZT6S0p/O/QtWVyDQjCuHA=; b=RbwTYsyA5+I0Fd6PrRr1dRoLSu5XxCtwYvVwtymr/W8xQ14e3PhLyDE4gwRhcXJr+kIicT xUVTdZCQpKP0PNDcV6fuHYSEFBb3FbXUhUk+zgq06k7CaBg7XphhbkvDB+C4sGyKEqhQ9w j7troV/reqMcy0XsgHHtIcVrxZxvVXRvFWGWkcUkBHyySb1yxwtUowQGzS8sAHj94mnfFw 5aDt80fVLvmWyZW5TwKssNvkdCbjm7MeTwACtXITIwdpy6/cNrljJsC8D/a/Mmj4yLkX2c o8xWiocplkJ6Fu34XkzoaCHCclGv8TCVgaLCVvGJHw11UyNoXZ41j2+0Ws2WTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747474380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=beQ8JLnLPUUSUFGFN5LHAAZT6S0p/O/QtWVyDQjCuHA=; b=oYr+m+b9zBxwE73yjrN/yDWm5gWiHcAjUAwkJ45S5HDTYisSWLrCe5RNi5spZR6p/VW/34 G4Q6xHzaBZUP78wtrXUYuHQ+i3/XYbIDW+nd4J59sAkArdm+f4VrmoIpiQya8LYm9Jt0r0 xcGXH9PvK6CzCoJ/MUgCCpdR6JfMmSqCX71vuOZScjHWZZmGkKnUFQT8sIi93xgS7L6YyD XKRaoxMW7uxXM7emNv/IRpv+yiOjX2XjnF15TOMSszo3cozIo5437GAYtN+kyUNHr+hMsn IbBv7xE0LZ6uQPCD+rhrOrVu5gPKCpl42drBH2Xn4z6O88KzB7Ie025ce0B9Hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747474380; a=rsa-sha256; cv=none; b=x2tJZFBZmIMSmHTZXCvzfiTtvc9/E/ZYeP8Yf91jsa+GxCAFfO5SUZFwr+5RQ+eT6JDGCL 16OH6Rzmj5nlhByOPpKY8DmMYm22Bgvq80ngNUHxfuQ99rOru70cFsJaTQGi5Pu7IT1o8O w5YdUMMzCbfKxLCgBmbNjjyd/rCgnsBxSQ/ro1aro3j4j5si2esy7tx/RA3+oP6dG+niGS w0GpivyENs2/Jx+FOECbPtgou++L4loc0ybf6iOS0wSCZtR7odwXHb2FSFmi8NxjuIG46c ZaxXUvi1w2Hdf7mDp2/K9vqR3aZHzTL/e2bP+YnD4o8lK6svzGc3DJ9AwbxXqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZzzJX0lgzzjyP; Sat, 17 May 2025 09:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54H9X0Of016205; Sat, 17 May 2025 09:33:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54H9X0Oh016202; Sat, 17 May 2025 09:33:00 GMT (envelope-from git) Date: Sat, 17 May 2025 09:33:00 GMT Message-Id: <202505170933.54H9X0Oh016202@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Igor Ostapenko Subject: git: 6b8222793fbb - main - kyua: Add "kyua debug -p" option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: igoro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6b8222793fbb4c0e162232716bc454dad31b709f Auto-Submitted: auto-generated The branch main has been updated by igoro: URL: https://cgit.FreeBSD.org/src/commit/?id=6b8222793fbb4c0e162232716bc454dad31b709f commit 6b8222793fbb4c0e162232716bc454dad31b709f Author: Igor Ostapenko AuthorDate: 2025-05-17 09:30:55 +0000 Commit: Igor Ostapenko CommitDate: 2025-05-17 09:30:55 +0000 kyua: Add "kyua debug -p" option This allows the test engine to be paused right before the test cleanup routine, simplifying debugging. Reviewed by: ziaee, ngie Differential Revision: https://reviews.freebsd.org/D49463 --- contrib/kyua/cli/cmd_debug.cpp | 70 ++++++++++++++++++++++++++++++++++++ contrib/kyua/doc/kyua-debug.1.in | 21 ++++++++++- contrib/kyua/drivers/debug_test.cpp | 7 +++- contrib/kyua/drivers/debug_test.hpp | 6 +++- contrib/kyua/engine/debugger.hpp | 71 +++++++++++++++++++++++++++++++++++++ contrib/kyua/engine/scheduler.cpp | 8 +++++ contrib/kyua/model/test_case.cpp | 21 +++++++++++ contrib/kyua/model/test_case.hpp | 5 +++ 8 files changed, 206 insertions(+), 3 deletions(-) diff --git a/contrib/kyua/cli/cmd_debug.cpp b/contrib/kyua/cli/cmd_debug.cpp index b7a29b7ab804..c00920c1a3f7 100644 --- a/contrib/kyua/cli/cmd_debug.cpp +++ b/contrib/kyua/cli/cmd_debug.cpp @@ -29,6 +29,7 @@ #include "cli/cmd_debug.hpp" #include +#include #include "cli/common.ipp" #include "drivers/debug_test.hpp" @@ -38,13 +39,76 @@ #include "utils/cmdline/parser.ipp" #include "utils/cmdline/ui.hpp" #include "utils/format/macros.hpp" +#include "utils/process/executor.hpp" namespace cmdline = utils::cmdline; namespace config = utils::config; +namespace executor = utils::process::executor; using cli::cmd_debug; +namespace { + + +const cmdline::bool_option pause_before_cleanup_upon_fail_option( + 'p', + "pause-before-cleanup-upon-fail", + "Pauses right before the test cleanup upon fail"); + + +const cmdline::bool_option pause_before_cleanup_option( + "pause-before-cleanup", + "Pauses right before the test cleanup"); + + +/// The debugger interface implementation. +class dbg : public engine::debugger { + /// Object to interact with the I/O of the program. + cmdline::ui* _ui; + + /// Representation of the command line to the subcommand. + const cmdline::parsed_cmdline& _cmdline; + +public: + /// Constructor. + /// + /// \param ui_ Object to interact with the I/O of the program. + /// \param cmdline Representation of the command line to the subcommand. + dbg(cmdline::ui* ui, const cmdline::parsed_cmdline& cmdline) : + _ui(ui), _cmdline(cmdline) + {} + + void before_cleanup( + const model::test_program_ptr&, + const model::test_case&, + optional< model::test_result >& result, + executor::exit_handle& eh) const + { + if (_cmdline.has_option(pause_before_cleanup_upon_fail_option + .long_name())) { + if (result && !result.get().good()) { + _ui->out("The test failed and paused right before its cleanup " + "routine."); + _ui->out(F("Test work dir: %s") % eh.work_directory().str()); + _ui->out("Press any key to continue..."); + (void) std::cin.get(); + } + } else if (_cmdline.has_option(pause_before_cleanup_option + .long_name())) { + _ui->out("The test paused right before its cleanup routine."); + _ui->out(F("Test work dir: %s") % eh.work_directory().str()); + _ui->out("Press any key to continue..."); + (void) std::cin.get(); + } + }; + +}; + + +} // anonymous namespace + + /// Default constructor for cmd_debug. cmd_debug::cmd_debug(void) : cli_command( "debug", "test_case", 1, 1, @@ -53,6 +117,9 @@ cmd_debug::cmd_debug(void) : cli_command( add_option(build_root_option); add_option(kyuafile_option); + add_option(pause_before_cleanup_upon_fail_option); + add_option(pause_before_cleanup_option); + add_option(cmdline::path_option( "stdout", "Where to direct the standard output of the test case", "path", "/dev/stdout")); @@ -82,7 +149,10 @@ cmd_debug::run(cmdline::ui* ui, const cmdline::parsed_cmdline& cmdline, const engine::test_filter filter = engine::test_filter::parse( test_case_name); + auto debugger = std::shared_ptr< engine::debugger >(new dbg(ui, cmdline)); + const drivers::debug_test::result result = drivers::debug_test::drive( + debugger, kyuafile_path(cmdline), build_root_path(cmdline), filter, user_config, cmdline.get_option< cmdline::path_option >("stdout"), cmdline.get_option< cmdline::path_option >("stderr")); diff --git a/contrib/kyua/doc/kyua-debug.1.in b/contrib/kyua/doc/kyua-debug.1.in index 9e962a465421..263aef3667a7 100644 --- a/contrib/kyua/doc/kyua-debug.1.in +++ b/contrib/kyua/doc/kyua-debug.1.in @@ -25,7 +25,7 @@ .\" 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. -.Dd October 13, 2014 +.Dd March 25, 2025 .Dt KYUA-DEBUG 1 .Os .Sh NAME @@ -35,6 +35,8 @@ .Nm .Op Fl -build-root Ar path .Op Fl -kyuafile Ar file +.Op Fl -pause-before-cleanup-upon-fail +.Op Fl -pause-before-cleanup .Op Fl -stdout Ar path .Op Fl -stderr Ar path .Ar test_case @@ -84,6 +86,23 @@ Specifies the Kyuafile to process. Defaults to .Pa Kyuafile file in the current directory. +.It Fl -pause-before-cleanup-upon-fail , Fl p +Causes Kyua to pause right before the test cleanup routine is invoked if the +test fails. +When paused, Kyua waits for input on stdin, and any key press resumes +execution. +.sp +This can be useful for debugging system or end-to-end tests +which alter the system by creating artifacts such as files, network +interfaces, routing entries, firewall configuration, containers, etc. +This flag makes it possible to preserve such artifacts immediately after a test +failure, simplifying debugging. +Otherwise, these artifacts would be removed by the test cleanup routine or +by Kyua built-in cleanup mechanism. +.It Fl -pause-before-cleanup +The unconditional variant of the previous option. +This can be helpful for reproducing the infrastructure or fixture of a passing +test for further development or additional analysis. .It Fl -stderr Ar path Specifies the file to which to send the standard error of the test program's body. diff --git a/contrib/kyua/drivers/debug_test.cpp b/contrib/kyua/drivers/debug_test.cpp index 0717a9ad9419..6bd3d4dc0731 100644 --- a/contrib/kyua/drivers/debug_test.cpp +++ b/contrib/kyua/drivers/debug_test.cpp @@ -63,7 +63,8 @@ using utils::optional; /// /// \returns A structure with all results computed by this driver. drivers::debug_test::result -drivers::debug_test::drive(const fs::path& kyuafile_path, +drivers::debug_test::drive(engine::debugger_ptr debugger, + const fs::path& kyuafile_path, const optional< fs::path > build_root, const engine::test_filter& filter, const config::tree& user_config, @@ -92,6 +93,10 @@ drivers::debug_test::drive(const fs::path& kyuafile_path, const model::test_program_ptr test_program = match.get().first; const std::string& test_case_name = match.get().second; + const model::test_case test_case = test_program->find(test_case_name); + if (debugger) + test_case.attach_debugger(debugger); + scheduler::result_handle_ptr result_handle = handle.debug_test( test_program, test_case_name, user_config, stdout_path, stderr_path); diff --git a/contrib/kyua/drivers/debug_test.hpp b/contrib/kyua/drivers/debug_test.hpp index cbaa2f6acea0..0b4abce6f2ea 100644 --- a/contrib/kyua/drivers/debug_test.hpp +++ b/contrib/kyua/drivers/debug_test.hpp @@ -36,12 +36,15 @@ #if !defined(DRIVERS_DEBUG_TEST_HPP) #define DRIVERS_DEBUG_TEST_HPP +#include "engine/debugger.hpp" #include "engine/filters.hpp" #include "model/test_result.hpp" #include "utils/config/tree_fwd.hpp" #include "utils/fs/path_fwd.hpp" #include "utils/optional_fwd.hpp" +using engine::debugger; + namespace drivers { namespace debug_test { @@ -68,7 +71,8 @@ public: }; -result drive(const utils::fs::path&, const utils::optional< utils::fs::path >, +result drive(std::shared_ptr< debugger >, + const utils::fs::path&, const utils::optional< utils::fs::path >, const engine::test_filter&, const utils::config::tree&, const utils::fs::path&, const utils::fs::path&); diff --git a/contrib/kyua/engine/debugger.hpp b/contrib/kyua/engine/debugger.hpp new file mode 100644 index 000000000000..3c4d087f8ad0 --- /dev/null +++ b/contrib/kyua/engine/debugger.hpp @@ -0,0 +1,71 @@ +// Copyright 2025 The Kyua Authors. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of Google Inc. nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER 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. + +/// \file engine/debugger.hpp +/// The interface between the engine and the users outside. + +#if !defined(ENGINE_DEBUGGER_HPP) +#define ENGINE_DEBUGGER_HPP + +#include "model/test_case_fwd.hpp" +#include "model/test_program_fwd.hpp" +#include "model/test_result_fwd.hpp" +#include "utils/optional_fwd.hpp" +#include "utils/process/executor_fwd.hpp" + +namespace executor = utils::process::executor; + +using utils::optional; + + +namespace engine { + + +/// Abstract debugger interface. +class debugger { +public: + debugger() {} + virtual ~debugger() {} + + /// Called right before test cleanup. + virtual void before_cleanup( + const model::test_program_ptr&, + const model::test_case&, + optional< model::test_result >&, + executor::exit_handle&) const = 0; +}; + + +/// Pointer to a debugger implementation. +typedef std::shared_ptr< debugger > debugger_ptr; + + +} // namespace engine + + +#endif // !defined(ENGINE_DEBUGGER_HPP) diff --git a/contrib/kyua/engine/scheduler.cpp b/contrib/kyua/engine/scheduler.cpp index 5179436073b8..8b2498514f6d 100644 --- a/contrib/kyua/engine/scheduler.cpp +++ b/contrib/kyua/engine/scheduler.cpp @@ -39,6 +39,7 @@ extern "C" { #include #include "engine/config.hpp" +#include "engine/debugger.hpp" #include "engine/exceptions.hpp" #include "engine/execenv/execenv.hpp" #include "engine/requirements.hpp" @@ -1396,8 +1397,15 @@ scheduler::scheduler_handle::wait_any(void) handle.stderr_file()); } + std::shared_ptr< debugger > debugger = test_case.get_debugger(); + if (debugger) { + debugger->before_cleanup(test_data->test_program, test_case, + result, handle); + } + if (test_data->needs_cleanup) { INV(test_case.get_metadata().has_cleanup()); + // The test body has completed and we have processed it. If there // is a cleanup routine, trigger it now and wait for any other test // completion. The caller never knows about cleanup routines. diff --git a/contrib/kyua/model/test_case.cpp b/contrib/kyua/model/test_case.cpp index f5f6a979eed3..faa4f3cebaf2 100644 --- a/contrib/kyua/model/test_case.cpp +++ b/contrib/kyua/model/test_case.cpp @@ -60,6 +60,9 @@ struct model::test_case::impl : utils::noncopyable { /// Fake result to return instead of running the test case. optional< model::test_result > fake_result; + /// Optional pointer to a debugger attached. + engine::debugger_ptr debugger; + /// Constructor. /// /// \param name_ The name of the test case within the test program. @@ -233,6 +236,24 @@ model::test_case::get_raw_metadata(void) const } +/// Attach a debugger to the test case. +void +model::test_case::attach_debugger(engine::debugger_ptr debugger) const +{ + _pimpl->debugger = debugger; +} + + +/// Gets the optional pointer to a debugger. +/// +/// \return An optional pointer to a debugger. +engine::debugger_ptr +model::test_case::get_debugger() const +{ + return _pimpl->debugger; +} + + /// Gets the fake result pre-stored for this test case. /// /// \return A fake result, or none if not defined. diff --git a/contrib/kyua/model/test_case.hpp b/contrib/kyua/model/test_case.hpp index 3c6fe32c8e62..c92ebacff98d 100644 --- a/contrib/kyua/model/test_case.hpp +++ b/contrib/kyua/model/test_case.hpp @@ -38,11 +38,13 @@ #include #include +#include "engine/debugger.hpp" #include "model/metadata_fwd.hpp" #include "model/test_result_fwd.hpp" #include "utils/noncopyable.hpp" #include "utils/optional_fwd.hpp" + namespace model { @@ -71,6 +73,9 @@ public: const metadata& get_raw_metadata(void) const; utils::optional< test_result > fake_result(void) const; + void attach_debugger(engine::debugger_ptr) const; + engine::debugger_ptr get_debugger() const; + bool operator==(const test_case&) const; bool operator!=(const test_case&) const; }; From nobody Sat May 17 21:18:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0GyV585cz5wDDZ; Sat, 17 May 2025 21:18:26 +0000 (UTC) (envelope-from mhorne@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0GyV0BMgz3p1V; Sat, 17 May 2025 21:18:26 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747516706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZqBpBG853o52IGf2hWXrlxhCpFxEiMlDHwM2KvGSkx8=; b=RgCkT1WACnGQVoLv49NqLgUaada4COrPBBPIXYCUWB+Hlyc4WVV5En90TtywJ946lm88Zs pD//WpanAdNJgClK5lYfecl7QWGYLDZo+wxEAr1jY6i1ICuCrqd3cti0p5zVArMWkcOgLE wJXuzgE5KSH62ptCazfxW3S5A7yU+E4c5xlkaX0+G4DkiBH3vZf1uC5NhoAeYhNovURnLx PgtbL8ZATfY/uFw+5OSqX6B9u9Xyn/m3/bUoUf4bu5YONJeX8xWRc4z/HTBg3qAv30psqg Q8ewZopYpiQdAjqLJ0wxf2CwAAuKrvBIQWbqmkWuKRdoTr1SdASs9s35mOnafA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747516706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZqBpBG853o52IGf2hWXrlxhCpFxEiMlDHwM2KvGSkx8=; b=efY9haV7tV42uys86eaxQsOnLuduRm3KocOuMeQuli+ZXDXnbf82SREFw94/LvkiLvqQWX AKRNUlYYUb/Zq3ptDplKx/2dM376sLn3IuXDZTFDWWf66lMWiTOoeEEgljhVO12QLp4AL1 xC1nLY9Q5/rFAjfV/HMDI+y0Z5stDZ8aXYfmuh1uoRlAP2HEows6Vvo3qxUt0FxsIGtiCN BevHUa/rNjD/uY4HxU6hbgP+uiT2kdIgx+3vKtnzqkD18dPDjgUYsjzS8/eb2klRlkb2yS uFq1rmcfiEJAPZtcYrn+9rs+i4mvZK/W163FUXcujOuc+pKOT/wDIW4+euINcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747516706; a=rsa-sha256; cv=none; b=yxHlaay/ZnU7Vp60kjSYtubBpBSvEBCtqgBIDFJ/Hk3PB8XD9c190MVdhZat79hx+A7mdo HvKuzGIEV2MRC9fjZIi3Q3HZDFt9ClV1mpYv39uTZtTJTpmtxxjjNWg9bA1AOp5GIbVwWu ZhDSGJ7Z/BVgUfhJhWhReOsNdwUuUG5UwvcDbOB9mZwJ/bWrkzjhsxqPKejWoRpoGySyZt XA4kMw+GtGqzHabSkmGAffTcJkDCM7j1kC7DbbnIJPCitDJuucM6i+OMGX3GDdVVHxS7S3 sLJ6pccVAGktxFfk0+qciB/eHxl+OnWf7sb5KMVSHxU//J/4Jj76/4j5erb6iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [192.168.1.151] (hlfxns018gw-134-41-55-251.dhcp-dynamic.fibreop.ns.bellaliant.net [134.41.55.251]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b0GyT4zGKzMZh; Sat, 17 May 2025 21:18:25 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: Date: Sat, 17 May 2025 18:18:24 -0300 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false To: Lexi Winter , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> Content-Language: en-CA From: Mitchell Horne In-Reply-To: <202505150004.54F04FhR046897@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 5/14/25 21:04, Lexi Winter wrote: > The branch main has been updated by ivy: > > URL: https://cgit.FreeBSD.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d9090309e > > commit b61850c4e6f6b0f21b36da7238db969d9090309e > Author: Lexi Winter > AuthorDate: 2025-05-14 14:26:24 +0000 > Commit: Lexi Winter > CommitDate: 2025-05-15 00:02:52 +0000 > > bridge(4): default net.link.bridge.member_ifaddrs to false > > As discussed on arch@, this behaviour is broken and confuses users, so > disable it by default. For 15.0-RELEASE, allow it to be re-enabled > using a sysctl, but the sysctl will be removed in 16.0R. > Hi Lexi, I just updated my workstation past this commit. I found that my main ethernet interface didn't receive an IP address, and had to set the sysctl to proceed as before. I have the following network configuration lines in my rc.conf: ifconfig_re0="DHCP" cloned_interfaces="bridge0 tap0" ifconfig_bridge0="addm re0 addm tap0 up" The simple setup is so that I can pass the tap0 device to QEMU/bhyve VMs for networking. What adjustment do I need to make to the above configuration to achieve the intended result "correctly"? I understand it is probably an easy fix, but I have a neanderthal's understanding of ifconfig :) Many thanks, Mitchell > Relnotes: yes > Reviewed by: kp, des > Approved by: des (mentor) > Differential Revision: https://reviews.freebsd.org/D50328 > --- > UPDATING | 5 +++++ > share/man/man4/bridge.4 | 18 ++++++++++++------ > sys/net/if_bridge.c | 4 ++-- > 3 files changed, 19 insertions(+), 8 deletions(-) > > diff --git a/UPDATING b/UPDATING > index d46db9e13794..ce2b60ea9353 100644 > --- a/UPDATING > +++ b/UPDATING > @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: > world, or to merely disable the most expensive debugging functionality > at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) > > +20250513: > + The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to 0, > + meaning that interfaces added to a bridge may not have IP addresses > + assigned. Refer to bridge(4) for more information. > + > 20250507: > UMASS quirks and auto-quirk probing has been overhauled. CAM now won't > send SYNCHRONIZE CACHE unless MODE PAGE 8 is present and valid. This > diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 > index 2c3bfd6aedfa..45dea82325bc 100644 > --- a/share/man/man4/bridge.4 > +++ b/share/man/man4/bridge.4 > @@ -36,7 +36,7 @@ > .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > .\" POSSIBILITY OF SUCH DAMAGE. > .\" > -.Dd May 5, 2025 > +.Dd May 13, 2025 > .Dt IF_BRIDGE 4 > .Os > .Sh NAME > @@ -163,14 +163,20 @@ To allow the host to communicate with bridge members, IP addresses > should be assigned to the > .Nm > interface itself, not to the bridge's member interfaces. > -Assigning IP addresses to bridge member interfaces is unsupported, but > -for backward compatibility, it is permitted if the > +Attempting to assign an IP address to a bridge member interface, or add > +a member interface with an assigned IP address to a bridge, will return > +an > +.Dv EINVAL > +.Dq ( "Invalid argument" ) > +error. > +For compatibility with older releases where this was permitted, setting > +the > .Xr sysctl 8 > variable > .Va net.link.bridge.member_ifaddrs > -is set to 1, which is the default. > -In a future release, this sysctl may be set to 0 by default, or may be > -removed entirely. > +to 1 will permit this configuration. > +This sysctl variable will be removed in > +.Fx 16.0. > .Sh IPV6 SUPPORT > .Nm > supports the > diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c > index 199418c4aa99..475977adf68a 100644 > --- a/sys/net/if_bridge.c > +++ b/sys/net/if_bridge.c > @@ -504,10 +504,10 @@ SYSCTL_BOOL(_net_link_bridge, OID_AUTO, log_mac_flap, > "Log MAC address port flapping"); > > /* allow IP addresses on bridge members */ > -VNET_DEFINE_STATIC(bool, member_ifaddrs) = true; > +VNET_DEFINE_STATIC(bool, member_ifaddrs) = false; > #define V_member_ifaddrs VNET(member_ifaddrs) > SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs, > - CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), true, > + CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), false, > "Allow layer 3 addresses on bridge members"); > > static bool From nobody Sat May 17 21:57:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0HqQ3Z3mz5wGtt; Sat, 17 May 2025 21:57:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0HqQ2n7qz4KRm; Sat, 17 May 2025 21:57:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747519042; 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=JT5Rx3n1Pz8nUmrMRBXTQ8OdoINuSuVbhr0MV7Ctpto=; b=JUrhmwrPr5/r3eDgJsJq68GsrZyrHq0VByUAVrdmfNybNMw+nVFN+jev8Sc4zoKU9imBPZ /TaQgV1uPjJKkXWahwP9DmSaZVDemWSEzCcVr11RhBmd/ZfL8/piizkrnVLCjsk+u3m4pa /G3i17ss7NEWdcN8sPGpGLjO9btbVEQSZ889RneIfBKMrMxwkVVkHIxcryDf5IdE1b40Fc s8lyZeILqZfx5UCmmEym3LJW+ynZ30+PdYQ1WkTyJMSrOWAD3GjJDckhRVXRBNvXkdH1Tm 4r20wIXt33kLrWNpygg1OjUtI6dIGsK7nL3jyLK9yD9KfO7xwTehH1cbeM4cYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747519042; 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=JT5Rx3n1Pz8nUmrMRBXTQ8OdoINuSuVbhr0MV7Ctpto=; b=YffAWNtYUdYjpNHbe4kYXDVzXJn5c2YszlDafwkHK1JhzHbPXgDCiRb5rB8JB6YsRIqnYT PMwVAQ1EM1wC/jxkqdAKl9ORHV85hbbPljMjno2bjD0urct4YV/jl8USnaSdONxu8WPHg6 d0Tqw8Me0kV65T0CrA6wKHnzMr+BLxmyrVZkxR6XRAQtahYm9/YMNnKm1gMCeHbm2Y2Koh SpXsSjXvKzzcavkZVG4RTB5tUYahhUY89izq4z/ny2aiom5p0nef+0mB5p7QiPAfrh///R hvPfYDHPRERff5+inRYUT+3YivFlW1JXIwsyYUiCYzANBQxcgcR6K9WDXeZ2UA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747519042; a=rsa-sha256; cv=none; b=MkumcHMucnR0mui359MnJrPVmiTHsJVkamwEhdYxyfnNV/TKVSk2hxElx2N0lH1P3OT5sh ET5z1gbHR8uO048mJIJWZUNJHYjCbeQDSrv9yIKbmvcP7UkvnJ8+spf+whShbG4kMiEdOQ 0ZlcA/1heqXZQa84OG1Q61hnJ83mZvSVlnRqXVTy4VqTO+SpFebCr4yanrSaxMLt8/FIlS VGZyqRkDaj521GSx+0nrV0QYfs0q6OQInnya/SlupBAuCXJlgr6sG/CsT3EyVIHYpTo2oq yGS6NzeRz1zJcXoI2UvUwM0/dBL+viUfGbFMZMk9qR0eyDixgCBcBOvFVfgjSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R11" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b0HqQ18bSzNfx; Sat, 17 May 2025 21:57:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id CD4FF52041; Sat, 17 May 2025 23:57:18 +0200 (CEST) From: Kristof Provost To: Mitchell Horne Cc: Lexi Winter , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false Date: Sat, 17 May 2025 23:57:17 +0200 X-Mailer: MailMate (2.0r6255) Message-ID: In-Reply-To: References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_MailMate_20E2E8F1-9F1C-4A79-AF23-A5301B2C373E_=" --=_MailMate_20E2E8F1-9F1C-4A79-AF23-A5301B2C373E_= Content-Type: text/plain; charset=UTF-8; format=flowed; markup=markdown Content-Transfer-Encoding: quoted-printable On 17 May 2025, at 23:18, Mitchell Horne wrote: > On 5/14/25 21:04, Lexi Winter wrote: >> The branch main has been updated by ivy: >> >> URL: = >> https://cgit.FreeBSD.org/src/commit/?id=3Db61850c4e6f6b0f21b36da7238db= 969d9090309e >> >> commit b61850c4e6f6b0f21b36da7238db969d9090309e >> Author: Lexi Winter >> AuthorDate: 2025-05-14 14:26:24 +0000 >> Commit: Lexi Winter >> CommitDate: 2025-05-15 00:02:52 +0000 >> >> bridge(4): default net.link.bridge.member_ifaddrs to false >> >> As discussed on arch@, this behaviour is broken and confuses = >> users, so >> disable it by default. For 15.0-RELEASE, allow it to be = >> re-enabled >> using a sysctl, but the sysctl will be removed in 16.0R. >> > > Hi Lexi, > > I just updated my workstation past this commit. I found that my main > ethernet interface didn't receive an IP address, and had to set the > sysctl to proceed as before. > > I have the following network configuration lines in my rc.conf: > > cloned_interfaces=3D"bridge0 tap0" This ought to do the trick: > ifconfig_bridge0=3D"DHCP addm re0 addm tap0=E2=80=9D Ensure the address gets assigned to the bridge, not to a bridge member = interface. =E2=80=94 Kristof --=_MailMate_20E2E8F1-9F1C-4A79-AF23-A5301B2C373E_= Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On 17 May 2025, at 23:18, Mitchell Horne wrote:

On 5/14/25 21:04, Lexi Winter wrote:

The branch main has been updated by ivy:

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

commit b61850c4e6f6b0f21b36da7238db969d9090309e
Author: Lexi Winter ivy@FreeBSD.or= g
AuthorDate: 2025-05-14 14:26:24 +0000
Commit: Lexi Winter ivy@FreeBSD.or= g
CommitDate: 2025-05-15 00:02:52 +0000

br=
idge(4): default net.link.bridge.member_ifaddrs to false

As discussed on arch@, this behaviour is broken and confuses users, so
disable it by default.  For 15.0-RELEASE, allow it to be re-enabled
using a sysctl, but the sysctl will be removed in 16.0R.

Hi Lexi,

I just updated my workstation past this commit. I found t= hat my main
ethernet interface didn't receive an IP address, and had to set the
sysctl to proceed as before.

I have the following network configuration lines in my rc= =2Econf:

cloned_interfaces=3D"bridge0 tap0"

This ought to do the trick:

ifconfig_bridge0=3D"DHCP addm re0 addm tap0=E2=80=9D=

Ensure the address gets assigned to the bridge, not to a = bridge member interface.

=E2=80=94
Kristof

--=_MailMate_20E2E8F1-9F1C-4A79-AF23-A5301B2C373E_=-- From nobody Sun May 18 03:14:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0Qs62Qcqz5wgvx; Sun, 18 May 2025 03:14: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 4b0Qs61THCz3Djk; Sun, 18 May 2025 03:14:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747538058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uTQOSnpdrPKm53XyVoZQDBKgYYyFMwdSketccLojIe4=; b=o/4BaC9209JzumvxmmGCLYwJV5C/gTae/GUMntX5VKOy/8fGepqdT5m0sd1crn2Chhj4lk 9aIL0W5slsf+1OdQxx5fUYpzloL6hU8mweBX4XRhDCFRKNqA/dMxyln4TUiY+N1DALxorz 2l0zSvR5ohYPHLqFwsncmv/epCvyHGYLes2Di4c6uikwVHGq0ZY5ATupUXARDdcPUI55hp 4Ew2wnTcPRrSu0DYYcgrhtQmHv+Z1X28dVLcAxTdPuAZ0nfGbPwnDi2JNIjIpgxNm4qw8W ckSHxCEpSLaUC/5QVj0+uQ8Xvg66gytS9+4AXuw54+WklJSSMk74lHQjV2dguA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747538058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uTQOSnpdrPKm53XyVoZQDBKgYYyFMwdSketccLojIe4=; b=mKyBc/nbzZETRWiJuvmmCuy0Y/KC3c4krKvtJU3zlqJKgDuYbCOm6GKk4IXShw74ErfZh2 EMT/H9xFI3Iv2EVzeupUmWHjo4UE2ONv36H9h7+UGOT+ObEpeJfSYCxJ/+sQHne7CRmC22 9KWMR6aDtvC89IOThqmQ+3c0dRZWPrECTUf8UMQZPuBIx6exx1g0TEUB65tj6rVKKHwmTb uuXqBDVz74o6jyQuLJ/Z0CyodOU4btfvlK8tpllrTdelnIr+dpv8Qqn/rvbSF8G/5FQU6Q WUWgYCkR/sM2d03hNzxwvodVt/EgpCsdYHdePE/aytF1j0IOuxhbzDkCVHlqFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747538058; a=rsa-sha256; cv=none; b=Ikp6YnDG3K9dDbA8v58M8C071YiI0nin4MS8XUziJTW2Efp0aeMt6C20aAMgtYs82ozFOu yd3APGD6BTVoe9eOQ2/m9UJNdSawZXKqEznjEy722dr7vBkeaa5xny/JKHBIb+7F7n4RyV Zt4vw3FuQtiBtBs2RNRrxIezdO9Z+EiAD7ASCNL3PZyI1RD5M1Iiq5QqQbCl5YVxM3Gpfa K2ZvuFTGi4YEj/ezAYIBeim4up8Zullgu/PY1g6MPFu7/McWTyENAJrDTgYSkOqCDDnNua 5gY6Rh8ImILnUjuvc/keGGKIRzOlJry2OILsHS1xq9/S3JfRDv3day+aNXb5Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0Qs60tR7z1Fpg; Sun, 18 May 2025 03:14: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 54I3EIKT005213; Sun, 18 May 2025 03:14:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54I3EIDX005210; Sun, 18 May 2025 03:14:18 GMT (envelope-from git) Date: Sun, 18 May 2025 03:14:18 GMT Message-Id: <202505180314.54I3EIDX005210@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 6fd6c29a236c - main - pctrie: use popmap in locked lookup_range List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6fd6c29a236c28c96c717662a2923d4a4674d0d3 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=6fd6c29a236c28c96c717662a2923d4a4674d0d3 commit 6fd6c29a236c28c96c717662a2923d4a4674d0d3 Author: Doug Moore AuthorDate: 2025-05-18 03:12:52 +0000 Commit: Doug Moore CommitDate: 2025-05-18 03:12:52 +0000 pctrie: use popmap in locked lookup_range When lookup_range is invoked with a lock held, the popmap field of a level-0 parent node can be used to find the next null child (if any) of that parent, allowing null checks to be removed from the loop and for the compiler to perform some loop unrolling. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D50389 --- sys/kern/subr_pctrie.c | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index 67566a2d1bfe..676e3595316a 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -630,16 +630,44 @@ _pctrie_lookup_range(struct pctrie *ptree, struct pctrie_node *node, base = (index + i) % PCTRIE_COUNT; if (base == 0 || parent == NULL || parent->pn_clev != 0) continue; - end = MIN(count, i + PCTRIE_COUNT - base); + + /* + * For PCTRIE_SMR, compute an upper bound on the number of + * children of this parent left to examine. For PCTRIE_LOCKED, + * compute the number of non-NULL children from base up to the + * first NULL child, if any, using the fact that pn_popmap has + * bits set for only the non-NULL children. + * + * The pn_popmap field is accessed only when a lock is held. + * To use it for PCTRIE_SMR here would require that we know that + * race conditions cannot occur if the tree is modified while + * accessed here. Guarantees about the visibility of changes to + * child pointers, enforced by memory barriers on the writing of + * pointers, are not present for the pn_popmap field, so that + * the popmap bit for a child page may, for an instant, + * misrepresent the nullness of the child page because an + * operation modifying the pctrie is in progress. + */ + end = (access == PCTRIE_SMR) ? PCTRIE_COUNT - base : + ffs((parent->pn_popmap >> base) + 1) - 1; + end = MIN(count, i + end); while (i < end) { node = pctrie_node_load(&parent->pn_child[base++], smr, access); - if ((val = pctrie_toval(node)) == NULL) + val = pctrie_toval(node); + if (access == PCTRIE_SMR && val == NULL) break; value[i++] = val; + KASSERT(val != NULL, + ("%s: null child written to range", __func__)); + } + if (access == PCTRIE_SMR) { + if (i < end) + break; + } else { + if (base < PCTRIE_COUNT) + break; } - if (i < end) - break; } if (parent_out != NULL) *parent_out = parent; From nobody Sun May 18 09:23:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0b3N50ljz5vvFS; Sun, 18 May 2025 09:23: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 4b0b3N4J9yz3Vpw; Sun, 18 May 2025 09:23:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747560224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=osGEdkfd3tYy/fDaPt+ZtxWfkKMV9SUiyldDDIf3948=; b=uwLz6vLToZfwvhUwxW7nXn5eE/G3QHbnxlni+jWe2ljxPx+DcHj+1WOA5oVh55H+uOW2c/ X7Ph91ij6YBbFWO+lJn6F/qW82Uf2kc5pnJ2bhRfrazSTXy5GJgHhfI+nQZ7yYYAQ9y31q of3QkkLCV0iX2z/R9HFLUwFCtazptxjgM/dRjDXYVINZfI2U8TkwAc5ssbMGFBTmWxQbfB I6N832kEc3NtmrIxTzC8cgVv8NYwaprLpSTET+3wPaGmfKPXY2dvAYXBY1hUjtcSpUCiQf IPVIs5MXBrt9/lsHZ+eWxraMwb8zYGF5rM86gCEpXb258OHlDMJmYaPoLlvGkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747560224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=osGEdkfd3tYy/fDaPt+ZtxWfkKMV9SUiyldDDIf3948=; b=JInCAmXpp38Q3QgEOpsB4+itOePDT/UPqKFoRDrhXsaWpL5IUsiYNyz7HOVVRMOtEPy8qB JP6vUcdrLMSUPDMWjDtar+juDmeXhLNsKju7SBJKpVJ8cf3kjnZfXNAixlM9KTg04p/lC8 6NV1Z+bglonw9pBkZGYyLdlroes7p4OUL6HkL4RTATdep73YzrGxif0ffr/gpNHEm8suky R+1QJWpJE7FOP4wcSwRpFDZHW93JjTJiWEhpjGuSEg8NWoZgTvsr0spuKhOT0Ry6BgOqlV FX+YfBa+peQpI9YoLGfK1KmyA2Rxu4C8RtEh+1uxwfC7hWymPi/2HlILG83uCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747560224; a=rsa-sha256; cv=none; b=yFwLYDqLJ33b7/liSjZdvwGPLsa7h1eS3/OFkSkoP4vEnfC/XRnr5zryuVUNKtLxfnXsw6 DuHV6lG0vNyB3LQ4mFH086DFUFL9A9DX1xL9+crIkdSXDhUfJuH+ZzNoy0iuoo85evreZw eaNvt4rSUP0UbTGP7Kz4NsdCB0ESCfk/7eiWcUZxZCUVn4tmT8rhCLFOeTLdPgwl6yEBJS ZCv3PFtbhiCtHnpRSOoFvlkjUn5fYwFtqdPQ4gSkxIZ8Z+5kOwCrBFah5GsK4s0uVEb3Tn N+IPVrosNSPcIVN9KmvStrwP5na+gpB93/7xuViEJEQARp44KVuJtiOZJSMxiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0b3N3kckz1Qkc; Sun, 18 May 2025 09:23: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 54I9Niu1010385; Sun, 18 May 2025 09:23:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54I9NicS010382; Sun, 18 May 2025 09:23:44 GMT (envelope-from git) Date: Sun, 18 May 2025 09:23:44 GMT Message-Id: <202505180923.54I9NicS010382@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 89549c234817 - main - nullfs lookup: cn_flags is 64bit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89549c2348170921cc4270ac95bfabfd78d42739 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=89549c2348170921cc4270ac95bfabfd78d42739 commit 89549c2348170921cc4270ac95bfabfd78d42739 Author: Konstantin Belousov AuthorDate: 2025-05-17 05:37:48 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-18 09:21:14 +0000 nullfs lookup: cn_flags is 64bit Reviewed by: olce Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50390 --- sys/fs/nullfs/null_vnops.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index bdf82432a2fb..a6b15c1dfa78 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -385,7 +385,7 @@ null_lookup(struct vop_lookup_args *ap) { struct componentname *cnp = ap->a_cnp; struct vnode *dvp = ap->a_dvp; - int flags = cnp->cn_flags; + uint64_t flags = cnp->cn_flags; struct vnode *vp, *ldvp, *lvp; struct mount *mp; int error; @@ -411,8 +411,8 @@ null_lookup(struct vop_lookup_args *ap) */ if ((ldvp->v_vflag & VV_ROOT) != 0 && (flags & ISDOTDOT) != 0) { KASSERT((dvp->v_vflag & VV_ROOT) == 0, - ("ldvp %p fl %#x dvp %p fl %#x flags %#x", - ldvp, ldvp->v_vflag, dvp, dvp->v_vflag, flags)); + ("ldvp %p fl %#x dvp %p fl %#x flags %#jx", + ldvp, ldvp->v_vflag, dvp, dvp->v_vflag, (uintmax_t)flags)); return (ENOENT); } From nobody Sun May 18 13:39:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0hl24THPz5wFMX; Sun, 18 May 2025 13:39:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0hl21mb0z3d5j; Sun, 18 May 2025 13: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=1747575598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H/dVyd154gSHoOQoS1X0+cEVGI/GsN3ICL0gFp5PToM=; b=vFH1ViedEQRySwoqykeAsgmtUCaWnkNyVFwsI3QQf1UR579OtTF93tNfJqELM1bnWM5lIJ gnf/PtXjlWFfpwj4tuEj2AcredMiSoMSb2KO18rL9TuLDzHEBQVjkdUpHPzdyhgrj5ecd6 jG61xnqqPd4AF6ZjoGUFlCvj1TF1eNHNe3B4oyyfftXOnxT7kqqD/qcCLkHW+vl3mMH4JQ gcD9dphcXx0uSGhiNdQ1jvEtCzWC/eZkJ5QVG6x2UYgn+c28A1yz52GZhjr6wWRGDK6WFM 23iJKFFImkjPRdnKtDwuGjWbWWb8T0gRBLpXj8+Qtt69UADRnqV+MWLu4jDlsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747575598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H/dVyd154gSHoOQoS1X0+cEVGI/GsN3ICL0gFp5PToM=; b=RE+DHf5SB6WifD4G0aQ07Jl7ohYmrjvwJuLEYjeK44qTAKC5ay0kHzsLuAW/vPfzTPxfIF r7erDwp65rbJbEI1IB3dhRuELptqhBKToOy3U+RKBaH8UqMuTE/SGgNx4G5IXdNcDlAYGH B6GnZgxtWmjyJ8LoVp0Xj9rxB8cXI/GAwkf+wg2Eqsz9QVnormQ/Ltsu9Th6GjUD9mmX1H PvdpbFO/SKv//98IzgVqg5BK5TeQTgTkxY7Usu8bC3HKy3sCrxCEZfLZvSaYjnkPiyAcVO MJNYwS/WiXtuyNYgqBv9497KtRZWk4Q6M1D+ijY2cI61dUwmFJoBodhq5vv/SA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747575598; a=rsa-sha256; cv=none; b=xVxH3M7Eio8RTRvDc+CnQOu1+1TBqCfPN+C3vS1jz8w+Bw1cw0xbuY2Cli1MiCQ4hHIK56 XYMfyJ13RZEwDZ/8FhT548T+mebeAorLGFHMnIqvtn89HpXG+ko7HyIMht6cjMMycok0Pp +gQei7nnSIAk1dJT8Eae9sod7BFchCy20uv6kWvBnKzTW+yJHKUGs6xb4Ohwv8WPw3guK2 NNalHAx6f8/dWghyihQOkAAcIGALpE3dM4fmeFQRv4E8ySic94AAIweLUUTRVBxscp5CMN +Q8DBQ05WKQGy7sR8yindhhxZnnoIuI3syzV8u8+h1N8d76At8B5dvuLfPzuQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0hl21Ld0z5RS; Sun, 18 May 2025 13: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 54IDdwdn081575; Sun, 18 May 2025 13: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 54IDdwQ5081573; Sun, 18 May 2025 13:39:58 GMT (envelope-from git) Date: Sun, 18 May 2025 13:39:58 GMT Message-Id: <202505181339.54IDdwQ5081573@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tijl Coosemans Subject: git: d9900b9ea2b2 - main - snd_hda: Add shutdown method List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9900b9ea2b27f7a0c2eda97841b9499e02e3ea7 Auto-Submitted: auto-generated The branch main has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=d9900b9ea2b27f7a0c2eda97841b9499e02e3ea7 commit d9900b9ea2b27f7a0c2eda97841b9499e02e3ea7 Author: Tijl Coosemans AuthorDate: 2025-05-18 13:38:02 +0000 Commit: Tijl Coosemans CommitDate: 2025-05-18 13:38:02 +0000 snd_hda: Add shutdown method Power down the device on shutdown similar to what is done in the case of suspend. The device may fail to attach on next boot without this. PR: 286385 Reviewed by: christos, adrian Differential Revision: https://reviews.freebsd.org/D50306 --- sys/dev/sound/pci/hda/hdac.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index 602f5df93648..8714f615f846 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -1638,6 +1638,35 @@ hdac_attach2(void *arg) sizeof(sc->dev), sysctl_hdac_polling, "I", "Enable polling mode"); } +/**************************************************************************** + * int hdac_shutdown(device_t) + * + * Power down HDA bus and codecs. + ****************************************************************************/ +static int +hdac_shutdown(device_t dev) +{ + struct hdac_softc *sc = device_get_softc(dev); + + HDA_BOOTHVERBOSE( + device_printf(dev, "Shutdown...\n"); + ); + callout_drain(&sc->poll_callout); + taskqueue_drain(taskqueue_thread, &sc->unsolq_task); + bus_generic_shutdown(dev); + + hdac_lock(sc); + HDA_BOOTHVERBOSE( + device_printf(dev, "Reset controller...\n"); + ); + hdac_reset(sc, false); + hdac_unlock(sc); + HDA_BOOTHVERBOSE( + device_printf(dev, "Shutdown done\n"); + ); + return (0); +} + /**************************************************************************** * int hdac_suspend(device_t) * @@ -2148,6 +2177,7 @@ static device_method_t hdac_methods[] = { DEVMETHOD(device_probe, hdac_probe), DEVMETHOD(device_attach, hdac_attach), DEVMETHOD(device_detach, hdac_detach), + DEVMETHOD(device_shutdown, hdac_shutdown), DEVMETHOD(device_suspend, hdac_suspend), DEVMETHOD(device_resume, hdac_resume), /* Bus interface */ From nobody Sun May 18 16:37:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0mgv6xRdz5wT5v; Sun, 18 May 2025 16:37:31 +0000 (UTC) (envelope-from mhorne@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0mgv6NJwz420g; Sun, 18 May 2025 16:37:31 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747586251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LJmGpHli5BGPQ+E0tRmsCal6mUjyNFZUZZtVNT7J9Dc=; b=WrnvAIZyNxrv7RudzdTPPcA7sHVgWwgU556xOPuP4RqFIZWxcd+5qfl7rwdx0O3RTfpGgC Vnv6+Mrhgb9NQpl0abU932Qm1g9cpfTehaFxBsKRnrMkJ71AubYrQ8sL5SPkGF9H5CLSyy uGOLNyuV4o4CLgDjA4AvtQwLDYolUAxewJbNbrhfwjlgZ9Mx8LoGL1fQp+iVquP33U9Yt9 xMJnVisUMNXulu3kqozsYDeqI4Vk/QIiZj98ZF/WiZOMix9D6tVXSj6OTIkF6tiE5EIO1k 3DLailubTw73Gky4l1cVPzgPdDv6bKTYOT43G4luzA/3kzRZZdHWxfdXKn+9Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747586251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LJmGpHli5BGPQ+E0tRmsCal6mUjyNFZUZZtVNT7J9Dc=; b=HEvkdJWJ/5CfkX3F6slF8G3eLUbnDoZAgLcWm5wk9mfNsh/krjYF2qQimtNkQkx2HL7HYt mi6aixrUn/HMdWoMGt8cK0/WzNJKyRI+6SPc9yqvM4wIeLnw3bJ84YgNmi6DD83VRgQwA1 F3D2n9J/Fra6wuhBxSyCXd/kLSInnvNpdOE/6CX7MQu5HKE3M1gLGK9BiYdP7bw6wINRW8 klWlggPu0fUCb3PYBeoDfW+WWnLxSA6SJkIQJglCjxDdOWDX5S+RwOtLKJ2pRZtMyMSFHE UCrzIFf7Z/nY8DNnsBL0WvIzTx2sSF1kJI2OFYuObvpJdgHCOwY3OT9OQnaMYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747586251; a=rsa-sha256; cv=none; b=LwTa577Hs4i8B7XDd6QMIjjGRIoFDgLvVua9nN28xIIoqDGWwHfpRgAzdB/iDN76LqO3hR UI3Jwo5pQqdF++ZWX2OoFn5vK+qDgkPjloYThrmoltwNBCWsDNgftjet/nK2hcJnXnUVPt CJqse/2qkdUtz+feGNAkCXE0P78XVzdUw+DlseW/pm9A94eZh4Ea+LBoChfRyyJewA9hup SfGViE9NzhqmuuNbRjXZLBeLuZfmaXnZ1JYqDkgWKbJrNi7aynDcYIPQErTcZbHwl69mhX jl6OvHcVUVfW2rySNlR/cqVdiw1sJIXO8O9hnjHMinXXhWxiDDC6OZSLfQWsHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [192.168.1.216] (hlfxns018gw-134-41-55-251.dhcp-dynamic.fibreop.ns.bellaliant.net [134.41.55.251]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4b0mgv4NRPz13RD; Sun, 18 May 2025 16:37:31 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: <94441836-bb03-4c80-b603-aaa2997c4d29@freebsd.org> Date: Sun, 18 May 2025 13:37:30 -0300 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false To: Kristof Provost Cc: Lexi Winter , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> Content-Language: en-CA From: Mitchell Horne In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 5/17/25 18:57, Kristof Provost wrote: > On 17 May 2025, at 23:18, Mitchell Horne wrote: > > On 5/14/25 21:04, Lexi Winter wrote: > > The branch main has been updated by ivy: > > URL: https://cgit.FreeBSD.org/src/commit/? > id=b61850c4e6f6b0f21b36da7238db969d9090309e cgit.FreeBSD.org/src/commit/? > id=b61850c4e6f6b0f21b36da7238db969d9090309e> > > commit b61850c4e6f6b0f21b36da7238db969d9090309e > Author: Lexi Winter ivy@FreeBSD.org > AuthorDate: 2025-05-14 14:26:24 +0000 > Commit: Lexi Winter ivy@FreeBSD.org > CommitDate: 2025-05-15 00:02:52 +0000 > > |bridge(4): default net.link.bridge.member_ifaddrs to false As > discussed on arch@, this behaviour is broken and confuses users, > so disable it by default. For 15.0-RELEASE, allow it to be re- > enabled using a sysctl, but the sysctl will be removed in 16.0R. | > > Hi Lexi, > > I just updated my workstation past this commit. I found that my main > ethernet interface didn't receive an IP address, and had to set the > sysctl to proceed as before. > > I have the following network configuration lines in my rc.conf: > > cloned_interfaces="bridge0 tap0" > > This ought to do the trick: > > ifconfig_bridge0="DHCP addm re0 addm tap0” > > Ensure the address gets assigned to the bridge, not to a bridge member > interface. > Here is what I ended up with: ifconfig_re0="up" cloned_interfaces="bridge0 tap0" ifconfig_bridge0="DHCP addm re0 addm tap0" synchronous_dhclient="YES" The bridge did not receive an address automatically without synchronous_dhclient set. I guess SYNCDHCP would be equivalent. Thanks for your pointer. > — > Kristof > From nobody Sun May 18 18:15:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0prQ2MVjz5wbh3; Sun, 18 May 2025 18:15: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 4b0prQ0mBDz40bP; Sun, 18 May 2025 18:15:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747592102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zm3dD752bp/aYyHaMfiC9LFYVBBkXravsfYJLqoIaLk=; b=HeV8ddh/sK66dN0s+oxQtTU8B/TZ9ucMuC8qsE4WzlZB4FtLjaZhNV9/y/dfg9ywTLVnIu gv1Qydn5UHNvbt8BEppiKhGR8UuxwtbJ1CPmJxI2UpTDoGoI+s/0c6AKmSy5t8PipWTbNN kQWG2i+fjLNKYS1QamVEaOfoQE2sFiYOQKq2PsosblmbjY6DvXcOiqDLm1vnk0xTZc4fdd AMwkGdFi/ResvyxXFhzpgtoprygCXFRj9A+vkSKaQMi3LwFFmGIj4HDgmuRNyFxXy+vDst jzmh4ie6xe+kbfg6O9w/TUya1eWYefi8MpFQ3MOZ7aDRdzi6jnYHaHTCn4E3dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747592102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zm3dD752bp/aYyHaMfiC9LFYVBBkXravsfYJLqoIaLk=; b=H/kYMlxlV05dyeZ48eWWBPFPSgvJatzKy13TWqw7WPAdGzYRjV4Cw9ridIt4m5PC+JZKyE XbAuP8hjMo+CGu6vLsdzrafJ5YUDORfmk2ynPgFq8uW8HkI0mhbJJMGKCtTagwcFGFychB /c4D13YVuRZgdbEQ8nNxelxcRWbul3zSzeIHAcTsIUI0zNGPx77KhrgoJHqJkzlaLgZn9S 79Ac2rNhD7rQTB8jnNpH+cohmaZZZxUjM5aZoPdsdUAInLv133ydW5du59E6w+FPQnxazM F8Zg8fwoUT4/m2sQHdSiIgu3OKr5Izyc3Y5AUirGeiDQ1f5Hh7FIPSy9oigDZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747592102; a=rsa-sha256; cv=none; b=ZWX+mW3X72WvinxSPvk2oNAt30R/bJjYzZBXhDXBQH8raKg8y2F7dApAN1+anN/rwrHWTk 3IPV0CYCI1u5vyKqUx+sS0A1xHldMW4xMr8Nf8eWPgV2o82zARMC70xm1lsNbs+mO3b0f7 ex0vTPFTOSOt5PN9y4nZiI49UyVZgPXfdlDG1DZ7KrIH71EdTU7xo1pVJSFgD7WwB+P9jf 7EWzIV4VFJZe6TjgaNrFhi2LojxdUqt3q++Xo61Ng3jBJeiNUSMUz890TtvYGfbv3YTkcO 2AOg9W5iw/BTYPh7mqvKpYmiZZTsQSOhZIX902OHS9Q+GEG8Cfp8iYvkLBXoSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0prQ022NzDS1; Sun, 18 May 2025 18:15: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 54IIF1iP005712; Sun, 18 May 2025 18:15:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54IIF1jU005710; Sun, 18 May 2025 18:15:01 GMT (envelope-from git) Date: Sun, 18 May 2025 18:15:01 GMT Message-Id: <202505181815.54IIF1jU005710@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 7fa19ee28c90 - main - vm_page: reset iterator after domainset drops lock List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7fa19ee28c90c159fdb98d2339455a5201dc5993 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=7fa19ee28c90c159fdb98d2339455a5201dc5993 commit 7fa19ee28c90c159fdb98d2339455a5201dc5993 Author: Doug Moore AuthorDate: 2025-05-18 18:09:00 +0000 Commit: Doug Moore CommitDate: 2025-05-18 18:09:00 +0000 vm_page: reset iterator after domainset drops lock Restore the WAITFAIL check on resetting the iterator in vm_page_alloc_domain_iter. It was dropped in 5239a9fb8662 ("vm_page: alloc_domain_iter") and blamed for a stress test failure. In fact, the failure was elsewhere, and removing the WAITFAIL check just made it less likely to be discovered, without fixing it. Modify vm_domainset_iter_page_init and vm_domainset_iter_page so that they can take an iterator argument and reset the iterator if vm_domainset_iter_releases and reacquires the object lock. Failure to reset the iterator in this case was the real problem. Reviewed by: alc, markj, kib Tested by: pho Differential Revision: https://reviews.freebsd.org/D50392 --- sys/vm/vm_domainset.c | 16 ++++++++++------ sys/vm/vm_domainset.h | 7 +++++-- sys/vm/vm_glue.c | 4 ++-- sys/vm/vm_page.c | 24 +++++++++++++----------- 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/sys/vm/vm_domainset.c b/sys/vm/vm_domainset.c index f6ac3c984cbf..7b8bf4c77663 100644 --- a/sys/vm/vm_domainset.c +++ b/sys/vm/vm_domainset.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include @@ -199,7 +200,7 @@ vm_domainset_iter_first(struct vm_domainset_iter *di, int *domain) void vm_domainset_iter_page_init(struct vm_domainset_iter *di, struct vm_object *obj, - vm_pindex_t pindex, int *domain, int *req) + vm_pindex_t pindex, int *domain, int *req, struct pctrie_iter *pages) { struct domainset_ref *dr; @@ -218,12 +219,12 @@ vm_domainset_iter_page_init(struct vm_domainset_iter *di, struct vm_object *obj, VM_ALLOC_NOWAIT; vm_domainset_iter_first(di, domain); if (vm_page_count_min_domain(*domain)) - vm_domainset_iter_page(di, obj, domain); + vm_domainset_iter_page(di, obj, domain, pages); } int vm_domainset_iter_page(struct vm_domainset_iter *di, struct vm_object *obj, - int *domain) + int *domain, struct pctrie_iter *pages) { if (__predict_false(DOMAINSET_EMPTY(&di->di_valid_mask))) return (ENOMEM); @@ -248,8 +249,11 @@ vm_domainset_iter_page(struct vm_domainset_iter *di, struct vm_object *obj, return (ENOMEM); /* Wait for one of the domains to accumulate some free pages. */ - if (obj != NULL) + if (obj != NULL) { VM_OBJECT_WUNLOCK(obj); + if (pages != NULL) + pctrie_iter_reset(pages); + } vm_wait_doms(&di->di_valid_mask, 0); if (obj != NULL) VM_OBJECT_WLOCK(obj); @@ -339,7 +343,7 @@ vm_domainset_iter_ignore(struct vm_domainset_iter *di, int domain) int vm_domainset_iter_page(struct vm_domainset_iter *di, struct vm_object *obj, - int *domain) + int *domain, struct pctrie_iter *pages) { return (EJUSTRETURN); @@ -347,7 +351,7 @@ vm_domainset_iter_page(struct vm_domainset_iter *di, struct vm_object *obj, void vm_domainset_iter_page_init(struct vm_domainset_iter *di, struct vm_object *obj, - vm_pindex_t pindex, int *domain, int *flags) + vm_pindex_t pindex, int *domain, int *flags, struct pctrie_iter *pages) { *domain = 0; diff --git a/sys/vm/vm_domainset.h b/sys/vm/vm_domainset.h index d2cfe362ae78..0d325a642f40 100644 --- a/sys/vm/vm_domainset.h +++ b/sys/vm/vm_domainset.h @@ -28,6 +28,8 @@ #ifndef __VM_DOMAINSET_H__ #define __VM_DOMAINSET_H__ +struct pctrie_iter; + struct vm_domainset_iter { struct domainset *di_domain; unsigned int *di_iter; @@ -40,9 +42,10 @@ struct vm_domainset_iter { }; int vm_domainset_iter_page(struct vm_domainset_iter *, struct vm_object *, - int *); + int *, struct pctrie_iter *); void vm_domainset_iter_page_init(struct vm_domainset_iter *, - struct vm_object *, vm_pindex_t, int *, int *); + struct vm_object *, vm_pindex_t, int *, int *, + struct pctrie_iter *); int vm_domainset_iter_policy(struct vm_domainset_iter *, int *); void vm_domainset_iter_policy_init(struct vm_domainset_iter *, struct domainset *, int *, int *); diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index c2a032b24000..94df2c2f9a9e 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -453,7 +453,7 @@ vm_thread_stack_create(struct domainset *ds, int pages) obj = vm_thread_kstack_size_to_obj(pages); if (vm_ndomains > 1) obj->domain.dr_policy = ds; - vm_domainset_iter_page_init(&di, obj, 0, &domain, &req); + vm_domainset_iter_page_init(&di, obj, 0, &domain, &req, NULL); do { /* * Get a kernel virtual address for this thread's kstack. @@ -480,7 +480,7 @@ vm_thread_stack_create(struct domainset *ds, int pages) vm_page_valid(ma[i]); pmap_qenter(ks, ma, pages); return (ks); - } while (vm_domainset_iter_page(&di, obj, &domain) == 0); + } while (vm_domainset_iter_page(&di, obj, &domain, NULL) == 0); return (0); } diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 91250060190d..eec85a5eb6f4 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2007,13 +2007,14 @@ vm_page_alloc_iter(vm_object_t object, vm_pindex_t pindex, int req, vm_page_t m; int domain; - vm_domainset_iter_page_init(&di, object, pindex, &domain, &req); + vm_domainset_iter_page_init(&di, object, pindex, &domain, &req, + pages); do { m = vm_page_alloc_domain_iter(object, pindex, domain, req, pages); if (m != NULL) break; - } while (vm_domainset_iter_page(&di, object, &domain) == 0); + } while (vm_domainset_iter_page(&di, object, &domain, pages) == 0); return (m); } @@ -2142,7 +2143,8 @@ again: * Not allocatable, give up. */ (void)vm_domain_alloc_fail(vmd, object, req); - pctrie_iter_reset(pages); + if ((req & VM_ALLOC_WAITFAIL) != 0) + pctrie_iter_reset(pages); return (NULL); } @@ -2254,7 +2256,7 @@ vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req, start_segind = -1; - vm_domainset_iter_page_init(&di, object, pindex, &domain, &req); + vm_domainset_iter_page_init(&di, object, pindex, &domain, &req, NULL); do { m = vm_page_alloc_contig_domain(object, pindex, domain, req, npages, low, high, alignment, boundary, memattr); @@ -2266,7 +2268,7 @@ vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req, npages, low, high) == -1) { vm_domainset_iter_ignore(&di, domain); } - } while (vm_domainset_iter_page(&di, object, &domain) == 0); + } while (vm_domainset_iter_page(&di, object, &domain, NULL) == 0); return (m); } @@ -2576,12 +2578,12 @@ vm_page_alloc_noobj(int req) vm_page_t m; int domain; - vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req); + vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req, NULL); do { m = vm_page_alloc_noobj_domain(domain, req); if (m != NULL) break; - } while (vm_domainset_iter_page(&di, NULL, &domain) == 0); + } while (vm_domainset_iter_page(&di, NULL, &domain, NULL) == 0); return (m); } @@ -2595,13 +2597,13 @@ vm_page_alloc_noobj_contig(int req, u_long npages, vm_paddr_t low, vm_page_t m; int domain; - vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req); + vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req, NULL); do { m = vm_page_alloc_noobj_contig_domain(domain, req, npages, low, high, alignment, boundary, memattr); if (m != NULL) break; - } while (vm_domainset_iter_page(&di, NULL, &domain) == 0); + } while (vm_domainset_iter_page(&di, NULL, &domain, NULL) == 0); return (m); } @@ -3316,7 +3318,7 @@ vm_page_reclaim_contig(int req, u_long npages, vm_paddr_t low, vm_paddr_t high, ret = ERANGE; - vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req); + vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req, NULL); do { status = vm_page_reclaim_contig_domain(domain, req, npages, low, high, alignment, boundary); @@ -3329,7 +3331,7 @@ vm_page_reclaim_contig(int req, u_long npages, vm_paddr_t low, vm_paddr_t high, "from vm_page_reclaim_contig_domain()", status)); ret = ENOMEM; } - } while (vm_domainset_iter_page(&di, NULL, &domain) == 0); + } while (vm_domainset_iter_page(&di, NULL, &domain, NULL) == 0); return (ret); } From nobody Sun May 18 18:53:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0qhm2qFYz5wdsK for ; Sun, 18 May 2025 18:53:28 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0qhl6NzPz3Nrq for ; Sun, 18 May 2025 18:53:27 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a1f9791a4dso2408372f8f.0 for ; Sun, 18 May 2025 11:53:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747594406; x=1748199206; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cxNCOaLBDctQmHJe4XBDE13MxnVkI2C56g2bAfdEddU=; b=nOaQEvGiziA6mEWNNSKN34+sxaMRfaAAn2uLCHmCroyeOkc44MCFl1U1jJdGZWPKu1 yPu2sG6PIzugp4Hzd2Ugnj4E8jhapRtY3onp5bKWwp3fT4DQn1vc8aWXspmzkXTzhUfE pwPNcs/pd5UhZmwey5Lg6+ju0kgFJGj59f+xndsyI04IViiZkWs5Jx4zOGdXP6stDhYM vBFDzgHa8oHg6o8WSdtvcsb6Due4smTZlaRoHEolDaJro1oHDbUCYR+wScDtNNaLrRI0 c571rrznGhkdJW6Ra6NQHU4/QmAZ1i7Y1anbRJo1URfVWBP0PqGzKnnO1sdRIWISmrDS rkOA== X-Forwarded-Encrypted: i=1; AJvYcCXpcz93jikZl9VYvC4P8NtP2qn4vfQVwSbxdbJ8DlGlHSLIPhiKyTxT8xKBqY/EFyDW0ddjcUUm2D2K0zCOGbdPm8YgzA==@freebsd.org X-Gm-Message-State: AOJu0YwKwYfECIaTsnI7+Uixi9eDO/5/a4W6dnhtuN/bw80FuzAgbgID 9/9SeUGogg0EULykMyt/E4diFXLbSdsNngBpDoUwPvVjW+vHkRPFEUbXEErvw6qgh/CLFTXwnQC XuKxa X-Gm-Gg: ASbGncsLwfeTXqW3Eb0VN94yLN/BtEVfVWaY1Gm4F00QveKLy3obqGOl/DGLW0dv1eL FDjPuhWtFWpWoXWMv0889bU6rp2MamCd282QmowiAQns4MLZSunkV9I5ZB4LrgdIku8Z1nE9Z2q 5pgLirxfeE4AwDTMBP9uV0ykoxAoFRBj3/+BMDeODWWAG943LHDeLNuNo7jrIi/mWyam5hAXb89 DYP+48bD+XMe7u8hW6DgikuAwT6NnuHXR52rfS6CI93lFc8TO4IMnd3N1sWXsls4DZJTRWYfyq0 Bm1fQmD2VaYQWNDORywjEGcqoyW7V3NNuLHBQ2BDccXErm2EHacsGFvGmMRupgBtYA== X-Google-Smtp-Source: AGHT+IH9Godj5jPni06aJFjWjOd5QM55p9n9PUIZbYwX/jAym1nRHTbLORqnS/6YrIY1ORgeejknow== X-Received: by 2002:a05:6000:2012:b0:3a3:5b88:fb2a with SMTP id ffacd0b85a97d-3a35c808a9cmr10548261f8f.7.1747594405739; Sun, 18 May 2025 11:53:25 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a35ca4d263sm9978793f8f.3.2025.05.18.11.53.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 18 May 2025 11:53:25 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false From: Jessica Clarke In-Reply-To: Date: Sun, 18 May 2025 19:53:14 +0100 Cc: Lexi Winter , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> To: Mitchell Horne X-Mailer: Apple Mail (2.3826.500.181.1.5) X-Rspamd-Queue-Id: 4b0qhl6NzPz3Nrq X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Spamd-Bar: ---- On 17 May 2025, at 22:18, Mitchell Horne wrote: > On 5/14/25 21:04, Lexi Winter wrote: >> The branch main has been updated by ivy: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Db61850c4e6f6b0f21b36da7238db969d= 9090309e >>=20 >> commit b61850c4e6f6b0f21b36da7238db969d9090309e >> Author: Lexi Winter >> AuthorDate: 2025-05-14 14:26:24 +0000 >> Commit: Lexi Winter >> CommitDate: 2025-05-15 00:02:52 +0000 >>=20 >> bridge(4): default net.link.bridge.member_ifaddrs to false >>=20 >> As discussed on arch@, this behaviour is broken and confuses = users, so >> disable it by default. For 15.0-RELEASE, allow it to be = re-enabled >> using a sysctl, but the sysctl will be removed in 16.0R. >>=20 >=20 > Hi Lexi, >=20 > I just updated my workstation past this commit. I found that my main > ethernet interface didn't receive an IP address, and had to set the > sysctl to proceed as before. >=20 > I have the following network configuration lines in my rc.conf: >=20 > ifconfig_re0=3D"DHCP" > cloned_interfaces=3D"bridge0 tap0" > ifconfig_bridge0=3D"addm re0 addm tap0 up" I also have a setup like this, as I suspect many do. The handbook even gives this configuration in places[1] (though note it=E2=80=99s = inconsistent in whether the interface or bridge should have the address). The lack of interaction with devd to automatically run dhclient as re0 comes and goes is also rather sucky, especially if re0 is wlan0. I appreciate that there may well be good technical reasons why this shouldn=E2=80=99t = be what people do, but (a) it is for specifically this case and I think it=E2=80=99s a bit shortsighted to go and break something we still = document today as correct (b) the UX needs improving specifically for bridging a real interface to one or more tap ones before we enforce this. Jess [1] = https://docs.freebsd.org/en/books/handbook/virtualization/#virtualization-= bhyve-prep > The simple setup is so that I can pass the tap0 device to QEMU/bhyve = VMs > for networking. >=20 > What adjustment do I need to make to the above configuration to = achieve > the intended result "correctly"? I understand it is probably an easy > fix, but I have a neanderthal's understanding of ifconfig :) >=20 > Many thanks, > Mitchell >=20 >> Relnotes: yes >> Reviewed by: kp, des >> Approved by: des (mentor) >> Differential Revision: https://reviews.freebsd.org/D50328 >> --- >> UPDATING | 5 +++++ >> share/man/man4/bridge.4 | 18 ++++++++++++------ >> sys/net/if_bridge.c | 4 ++-- >> 3 files changed, 19 insertions(+), 8 deletions(-) >>=20 >> diff --git a/UPDATING b/UPDATING >> index d46db9e13794..ce2b60ea9353 100644 >> --- a/UPDATING >> +++ b/UPDATING >> @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS = SLOW: >> world, or to merely disable the most expensive debugging = functionality >> at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) >>=20 >> +20250513: >> + The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to = 0, >> + meaning that interfaces added to a bridge may not have IP addresses >> + assigned. Refer to bridge(4) for more information. >> + >> 20250507: >> UMASS quirks and auto-quirk probing has been overhauled. CAM now = won't >> send SYNCHRONIZE CACHE unless MODE PAGE 8 is present and valid. This >> diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 >> index 2c3bfd6aedfa..45dea82325bc 100644 >> --- a/share/man/man4/bridge.4 >> +++ b/share/man/man4/bridge.4 >> @@ -36,7 +36,7 @@ >> .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF = ADVISED OF THE >> .\" POSSIBILITY OF SUCH DAMAGE. >> .\" >> -.Dd May 5, 2025 >> +.Dd May 13, 2025 >> .Dt IF_BRIDGE 4 >> .Os >> .Sh NAME >> @@ -163,14 +163,20 @@ To allow the host to communicate with bridge = members, IP addresses >> should be assigned to the >> .Nm >> interface itself, not to the bridge's member interfaces. >> -Assigning IP addresses to bridge member interfaces is unsupported, = but >> -for backward compatibility, it is permitted if the >> +Attempting to assign an IP address to a bridge member interface, or = add >> +a member interface with an assigned IP address to a bridge, will = return >> +an >> +.Dv EINVAL >> +.Dq ( "Invalid argument" ) >> +error. >> +For compatibility with older releases where this was permitted, = setting >> +the >> .Xr sysctl 8 >> variable >> .Va net.link.bridge.member_ifaddrs >> -is set to 1, which is the default. >> -In a future release, this sysctl may be set to 0 by default, or may = be >> -removed entirely. >> +to 1 will permit this configuration. >> +This sysctl variable will be removed in >> +.Fx 16.0. >> .Sh IPV6 SUPPORT >> .Nm >> supports the >> diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c >> index 199418c4aa99..475977adf68a 100644 >> --- a/sys/net/if_bridge.c >> +++ b/sys/net/if_bridge.c >> @@ -504,10 +504,10 @@ SYSCTL_BOOL(_net_link_bridge, OID_AUTO, = log_mac_flap, >> "Log MAC address port flapping"); >>=20 >> /* allow IP addresses on bridge members */ >> -VNET_DEFINE_STATIC(bool, member_ifaddrs) =3D true; >> +VNET_DEFINE_STATIC(bool, member_ifaddrs) =3D false; >> #define V_member_ifaddrs VNET(member_ifaddrs) >> SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs, >> - CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), true, >> + CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), false, >> "Allow layer 3 addresses on bridge members"); >>=20 >> static bool From nobody Sun May 18 19:10:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0r4Y6qLHz5wfyk; Sun, 18 May 2025 19:10: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 4b0r4Y6BTYz3WKK; Sun, 18 May 2025 19:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747595437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ue4bnI0lAA4KHCPo3W27CP6dZZA2CUWjK/yi5fYQgLk=; b=RKPQOeg0fJHea9glJjMT/OGRAWSNcd1nOJK3BydgTwNTPgrAwN7PqfqrjH/pFRdw/BH769 K8AtoZ3j5S2fSDnLW3xD975eNT6X0la460nmmeqcfV8e3xnZVoQyfJUy3Wlvvx0gyVgtpe 323FUUOpBe3oytSjSayRo8P9O1YThZ+iNaFCJ7Ko7gmoja7Xug53CCAKSlLE9+OzOtAvtW OAuKEoEo1MZEdpyAKP1m5XEimd12FMi0OMsn6ms4zoio7XF3GsxCEgFhxdwX7Ic3SIa0MJ gHmCsek41DgOXJr8ZZifnF2ESimo7tq0tRBFkIeswnMQuI3bYykMwk8WYFWgIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747595437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ue4bnI0lAA4KHCPo3W27CP6dZZA2CUWjK/yi5fYQgLk=; b=bXGSiklgofEOdxrC5TfuTtDWExqzD8YWx+Q1ebp7CxcQtyvrgf52KpfTmHus4MMp9qVKVY sEYCFUIyvwyjgEIvbkx/7yJqUk7CcCFzxMOVDJjLd1YsJQNZnUdxfufeobVaO2J5o0Znaj kqYp8PZA521VGzu0cJr9286D/Koo6dvLYqSviLGfD4f5TypRV5Id6KBKWe6DLg1Bv5n9/K g+OXh/NCYHy9EolbaaJDrrqNylgkGJtzlTSWphP0N3Y7cFotAQHbwc+P7tapDShWAnDzrz ch/60SEGwNnv+tmUOI2hmFYwc+effV/0Oc1JSey/NUzaWS4Fa3be8HmGZba2Ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747595437; a=rsa-sha256; cv=none; b=OG5xEF0hiKJTHj65vzijkUflfyCG9Ek5+lEv3xkeIlxrnqu8anLmoWnp78LJIkSELzKMoA sXTCqS1XBw51CiKl9TkMdpjSxhbmThFmKLr8OFSApwUmVbP1Z/igPo9EUJQ6+waULBSL8E Cszrii3ngEd2lKkGQsdncYDYUx6nIeECh0rhrYEJAemGdL4UlMbW17U4rtdA/G3YGUIFcX qCiQe4D42PwOHsC54ZUX+I5b1DjaGY+YwzN+hp5YguI23kAVtsVjn7YNeoaK2IzxeBv6JY IvexRPKv4kl1w9GF08taf05T31gWmS7nHmLizW5KWl+8ULA7thm0N3k41IPAvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0r4Y5W4qzWgC; Sun, 18 May 2025 19:10: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 54IJAbW5011272; Sun, 18 May 2025 19:10:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54IJAbTg011269; Sun, 18 May 2025 19:10:37 GMT (envelope-from git) Date: Sun, 18 May 2025 19:10:37 GMT Message-Id: <202505181910.54IJAbTg011269@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: a8aaf8039f2d - main - cp: Avoid closing an invalid file descriptor. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a8aaf8039f2dd029ddf7fd396e047eb0bd3c8904 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a8aaf8039f2dd029ddf7fd396e047eb0bd3c8904 commit a8aaf8039f2dd029ddf7fd396e047eb0bd3c8904 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-18 19:09:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-05-18 19:10:08 +0000 cp: Avoid closing an invalid file descriptor. * At the end of copy(), we always close to.dir, even though it can be AT_FDCWD (in the file-to-file case) or even -1 (if we failed to open or create the destination directory). While closing an invalid file descriptor is harmless, it's still bad form. * In the DIR_TO_DNE case, initialize to.dir to -1 to guard against the case where mkdir() fails so we never assign anything to to.dir and end up (harmlessly, luckily) closing stdin on our way to the exit. Coverity ID: 1609954 Fixes: 82fc0d09e862 Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50391 --- bin/cp/cp.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index c76654f7df41..03b3a7a7bf41 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -296,6 +296,11 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) sep = strchr(to.base, '\0'); sep[0] = '/'; sep[1] = '\0'; + } else { + /* + * We will create the destination directory imminently. + */ + to.dir = -1; } if ((ftsp = fts_open(argv, fts_options, NULL)) == NULL) @@ -633,8 +638,9 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) } if (errno) err(1, "fts_read"); - fts_close(ftsp); - close(to.dir); + (void)fts_close(ftsp); + if (to.dir != AT_FDCWD && to.dir >= 0) + (void)close(to.dir); free(recpath); return (rval); } From nobody Sun May 18 20:05:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0sHR47YJz5wlbk; Sun, 18 May 2025 20:05: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 4b0sHR3VWMz44p6; Sun, 18 May 2025 20:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747598707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zWQklP7RSRS/T/YOeY8izuOAvtHG/VksmJRWOrI5lCc=; b=K8GhLZN9Xlo8YipyUposFCkSaUoUslNfUC0LeWTbPbeZ/iU2gUeBHXRedMMihdikTSrU5d My+RDChwkoiO46HUwZdW+lLeHvP8TzQ3R4AXgxbJRhhivvav8AYMcaaWnoCdLr5lCeo+np xKz2RcmV0lgtR0OT3Mh1Tje+QFme0EWDFU1cMmxyRxEdaB26ohNQ+5FXWCkq7LH6d05Ne5 WWnRCgZtho4Y3pzGNjPsbLqAu0BdwVE6NZb39F5JGkRnu3JtbdoVbn72cv6zjY2GgHT/B8 JecxS/2lrxfWd9AtYzwbkzqvHI2gerbDCm8YU8Tw5cICfYo4D2DyYmuv2DH6ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747598707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zWQklP7RSRS/T/YOeY8izuOAvtHG/VksmJRWOrI5lCc=; b=GrqJBJNqCLpmLB4KMFC+VRjc9gjQa8w9uPN2SVDU6873lBBxoU/vZfmv30643TXpDW5/ZD HsWuy17eipJ/IvBnLS4JrVZI/QvRk4B1vuzVTYoxK/4ULPhanfclLS00ZoSGQFkg+ahX0j p8R20HEuFMP0mAFzvlnyi/w6ucMWTrM0nWsUFkLa96hwKx/HuLA6ebcvKHh5RGL5dDV5b2 3kJiWV/qnnjhCgM2dhS3rUia8hAH2NwHbd8fbbsFphzAAdpjvW61ZfNDh42WN6m/Zh7OXn 5s1u6Nn5ShQkTzAxcOg0Hdzyr+FyDtaW8hxnvrGt44gP9CqXIEl50DuiHdjkAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747598707; a=rsa-sha256; cv=none; b=C9J5+ecLvtbP3STHt61tDR5+dI1CELjAHdSwLB4uA7tEGQIV41XuN2yYATwFKxYi/IBXYR v39Rf0vwa5Yuw+d2quOBaZTqqy/TzVYf2JcMowN9GFWKvxunQKqejKS/lGvwtC8VsGikKr MF8hCZhqHbqgAITupfuTsQo3xpOPR5qYn9lVXHpcj0Z4CoCOiUDuaZlv3JTlZkSNwCSUFZ ewWoAtbWSFUr+NojgN+m2ewrBrLNH2XeJopvQSdfMjdwmqlc1PmXrToJ7yQHVzDrY7YSqL mgQrqFJJgVkvHbo9R1W9WzMsZi/fwyiUZiPQZkmtwxLzZ3lbK7zwOwuQ0y99Sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0sHR2qGGzZRq; Sun, 18 May 2025 20:05: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 54IK578Z012651; Sun, 18 May 2025 20:05:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54IK57eG012648; Sun, 18 May 2025 20:05:07 GMT (envelope-from git) Date: Sun, 18 May 2025 20:05:07 GMT Message-Id: <202505182005.54IK57eG012648@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: c809b0184d0a - main - libc++: fix compiling with -fmodules List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c809b0184d0a6543bc5327d4252fa56a07ce4689 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c809b0184d0a6543bc5327d4252fa56a07ce4689 commit c809b0184d0a6543bc5327d4252fa56a07ce4689 Author: Jordan Gordeev AuthorDate: 2025-05-18 19:55:05 +0000 Commit: Dimitry Andric CommitDate: 2025-05-18 20:04:42 +0000 libc++: fix compiling with -fmodules In /usr/include/c++/v1/__locale_dir/locale_base_api.h, xlocale.h is included without first including stdio.h and stdlib.h, which causes functions like strtoll_l() or sscanf_l() to not be declared. When compiling with -fmodules, locale_base_api.h is processed separately due to a declaration in /usr/include/c++/v1/module.modulemap, and this will cause errors due to the above undeclared symbols. Meanwhile, upstream has substantially reorganized this part of libc++'s headers, so apply a minimalistic workaround: specifically when compiling with -fmodules, add includes of stdio.h and stdlib.h. PR: 286342 MFC after: 1 week --- .../llvm-project/libcxx/include/__locale_dir/locale_base_api.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h index 8c000c558c52..e43e87375069 100644 --- a/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h +++ b/contrib/llvm-project/libcxx/include/__locale_dir/locale_base_api.h @@ -25,7 +25,13 @@ # include <__locale_dir/locale_base_api/fuchsia.h> #elif defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) # include <__locale_dir/locale_base_api/musl.h> -#elif defined(__APPLE__) || defined(__FreeBSD__) +#elif defined(__APPLE__) +# include +#elif defined(__FreeBSD__) +# if __has_feature(modules) +# include +# include +# endif # include #endif From nobody Sun May 18 20:23:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0shD2LKpz5wn00; Sun, 18 May 2025 20:23:08 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qv1-xf2d.google.com (mail-qv1-xf2d.google.com [IPv6:2607:f8b0:4864:20::f2d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0shC6Cckz4JW4; Sun, 18 May 2025 20:23:07 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qv1-xf2d.google.com with SMTP id 6a1803df08f44-6f8b0fdd5ffso33688356d6.0; Sun, 18 May 2025 13:23:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747599786; x=1748204586; darn=freebsd.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :from:to:cc:subject:date:message-id:reply-to; bh=fMujNrHIfrUFrmE4CNM/PSjTKf9QrHzWOQ8pA+v3swk=; b=cVtg3bIKw6vkLTmK71/nxrPFKe4rF/PsWrkymUH0vbBFlB6BSjBFfRd8UwF3OnyGmC mMSmfp3CdRQLtZ+09dbMl8OTWjDHYW+Dx3TiPqKOE6+u/nm7JOu3MxagcBUEsz/WbCfN rwsInIwht0+LItVgGC+5dm4yQe8InQCGoQVo87q2B5dcE6kTgyZ4dvq1dtunhIQ+JJwI DO1dZxhG/nntikr6ppypS97bpNWaxoKfxlTXGYQUst9UGPCAE9t1X3UF6/oHXot6gt88 lamOGbW/YQK08GP8wZN9vrLku1wKcnv62hBeSbA3++KMhcZymUNSSRijYToDJZXHTB0z +qfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747599786; x=1748204586; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fMujNrHIfrUFrmE4CNM/PSjTKf9QrHzWOQ8pA+v3swk=; b=c1QUfTTYChEg/+T4np5gy8EoCG0KpcwKhv5QQ/YCiNCulwnxaeBUvZcc0sHTwZs8lF a3FBRZ7c50nTv3nM/EwMHzpHb1l4tqnZxa9IhVILAGHNHmxhRism8DBe1FgJzq65acqd EHd0YQOzCogj6+W8r4v3e+5HofoJedGcKblhZUqvhKaCT4IQ/8X2oPwdrVMprHDMpTLz pk/lPpkFjbXXns7q97nmAJZyvF4aa9KvafsC/eCQ2ZipJwnSm1ZkReFz638fFenHgPfD QqGdiH18Uo25Bz4Zv4rU+5iCs6M0gLXyhPiUbnpeuuWBMkS4iWZfq6bgFVtw+aMuVV8M 4M5A== X-Forwarded-Encrypted: i=1; AJvYcCUMnWK59EChn6uu4Z41c9LkegD5N2XrsqKv8uZjmIFU23vdgpYZtinabjN4c1yRJFsf/CQJegJP2EUt1stPXlc=@freebsd.org, AJvYcCUfMUtxeJFeVxSNBm2HnrNKrOnNyLrwpwkf6neG7P3wrufhiFIZ1eOCsmliXrW2Airi6HL3gmYyUZBVrrMv0wI9+tKS@freebsd.org, AJvYcCV+s4BFYS1jVD2mX8NtA9/X97M+y2MDk4wV2KmTXnb9PMa2nysFTpnPPPgfkaP1Wt23zWgh@freebsd.org, AJvYcCVIJcx+XVhZojumr6n9HmTEuHkTK+vLBib2ze2bTfniuTZugeITMTqVA57LrV/zpCwn8fTWm4IO1V9RwndSZvqFazfF+5A=@freebsd.org X-Gm-Message-State: AOJu0YwmC2smUuunib/2tjtLs2Wxquo8ki6uW7Vc10jJ3DOxIkH0VzZC eQ5lFtFIEyQjy/o8WnkEjy7vZm6Y2T/Tc2M7IwQyTIRnzqTfsFhJJ9FlxD0252I5 X-Gm-Gg: ASbGnctq5+JBFP1E3BnfJeLwJ+tDX+C5dMI964c7oQIlSVxpftZCeTSeoDnpViQ6Q+E JwQ2OcpR4YjIV0GiiCv5/uz7y94KaeB1gfF5YvFZHXpQG0UA/h8sNjqItAJ2DkkEG9C8HWOj3qo OVtTL/OzlzrGmwOpFvrgmJs0uYcqISRVVjEtErFNe2I5nI99zQbyH3T2xK8OscYP02xx43oWR7+ Dbr6MsXdaZ01O7qIwLTxoS1GYG3fUEF2ZaCcPjVYRplbBSBVXvmkUyznUhjOylw7fcK1ANRgkMy agVyTUHBnwqWvs7I3TXi1PuDwnvZTIbV5RG5r4xvgOIWpul5fAJ0W5gv8LKIS/pEjw== X-Google-Smtp-Source: AGHT+IGSebZhZU1ceMGD5a1GDgojv8Xyx6AEoMmtaXjVFnKEAVs+DAu1eAD+5aBK3DVLm39pK871iw== X-Received: by 2002:ad4:5f8e:0:b0:6ef:3de:5ff7 with SMTP id 6a1803df08f44-6f8b0866722mr188771766d6.15.1747599786571; Sun, 18 May 2025 13:23:06 -0700 (PDT) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f8b0966098sm45079786d6.82.2025.05.18.13.23.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 May 2025 13:23:06 -0700 (PDT) Date: Sun, 18 May 2025 16:23:03 -0400 From: Mark Johnston To: Jessica Clarke Cc: Mitchell Horne , Lexi Winter , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false Message-ID: References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 4b0shC6Cckz4JW4 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Spamd-Bar: ---- On Sun, May 18, 2025 at 07:53:14PM +0100, Jessica Clarke wrote: > On 17 May 2025, at 22:18, Mitchell Horne wrote: > > On 5/14/25 21:04, Lexi Winter wrote: > >> The branch main has been updated by ivy: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d9090309e > >> > >> commit b61850c4e6f6b0f21b36da7238db969d9090309e > >> Author: Lexi Winter > >> AuthorDate: 2025-05-14 14:26:24 +0000 > >> Commit: Lexi Winter > >> CommitDate: 2025-05-15 00:02:52 +0000 > >> > >> bridge(4): default net.link.bridge.member_ifaddrs to false > >> > >> As discussed on arch@, this behaviour is broken and confuses users, so > >> disable it by default. For 15.0-RELEASE, allow it to be re-enabled > >> using a sysctl, but the sysctl will be removed in 16.0R. > >> > > > > Hi Lexi, > > > > I just updated my workstation past this commit. I found that my main > > ethernet interface didn't receive an IP address, and had to set the > > sysctl to proceed as before. > > > > I have the following network configuration lines in my rc.conf: > > > > ifconfig_re0="DHCP" > > cloned_interfaces="bridge0 tap0" > > ifconfig_bridge0="addm re0 addm tap0 up" > > I also have a setup like this, as I suspect many do. I do too. > The handbook even > gives this configuration in places[1] (though note it’s inconsistent in > whether the interface or bridge should have the address). The lack of > interaction with devd to automatically run dhclient as re0 comes and > goes is also rather sucky, especially if re0 is wlan0. I appreciate > that there may well be good technical reasons why this shouldn’t be > what people do, but (a) it is for specifically this case and I think > it’s a bit shortsighted to go and break something we still document > today as correct (b) the UX needs improving specifically for bridging a > real interface to one or more tap ones before we enforce this. I agree. Even if the setup is broken in some way, it works fine for simple cases and this will be a nasty surprise when upgrading. It would be much better IMO to print a warning and let users fix their configuration before flipping the default. That is how we handled interface address configuration without a netmask: commit d8237b955528 added a warning, and some time later it was turned into a fatal error. I really think it would be better to do something similar here. From nobody Sun May 18 20:30:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0ssT3lNzz5wnKQ for ; Sun, 18 May 2025 20:31:09 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0ssT1Cc0z4PYS for ; Sun, 18 May 2025 20:31:09 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-442ea341570so23347405e9.1 for ; Sun, 18 May 2025 13:31:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747600267; x=1748205067; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0tdfexrHXCC4tJgqMeIDRqgBuE5cTJCzKVuIaNTAROY=; b=YHY+SuVYFVv3T21wP0feh8UgqGigLthSZRoK5zqhyouDGCFGWRzoHfo0xGYtvZXOod zaKwOKX8IRiS7MEixb8JWGXKleOrPkhLs8y50F4GJce9a549JEvHd/TeGo+GxepzfGFp rYAYA4kwMtVU3Pc10vnlDgERqHsWh4rP+F7Kxc7DDuJbfzdhyRMa89M6OLBHFj3MakwF ++R7yUJwtuCBviWSRawXm4IU5Md05dw6l1t9XC1Pu64SL2cvYIFTDd7y3UUnzMC/nz77 tCoqtrO/Wx1Lvr0T1hKVvv/Ri0MRUxxjn/k5fOZRZYqlhD7ihyIpHf5mipk3imdWef4T 8uHw== X-Forwarded-Encrypted: i=1; AJvYcCXRPCqKQHtNjCqyPPd0f2dDlQ6Tpvuud3aLNLfq7FHQIYEXDiDBOw+mIkhZUGqJrp5wnBZ4bM4e6bOT4BSHD0SO3qXabg==@freebsd.org X-Gm-Message-State: AOJu0YybsMiiEjHz9F0sPX9XmBwnW6Y0QuyBmssf32md0FWnpjiLHfgY 4RNpEJ6VvvxcK/ruIANRohwWWZZTg+7cn9DURasIZw6BkJ6fOuqgl+9ZCkv+DFXhkMg= X-Gm-Gg: ASbGncuICXD9H9nKwCQaBS1gz8lxVjbAVfeOO3rhlZIANBfBqPtTPvbASGxEvXdVYV2 Z9zHyXfEbnvvi/aasHHSynA6uo4B4uWjDpUeuMJ4wdhBOdE0u6utBNtw4/036M3lacDD4s6ksi0 FM0J4SDAOiCcSsWgAhByrWwfFoBmQGMu6tJd1IT+BVJ5PModzd6+9GEcL4eWJ7tAKPdbE6+/kzG vokfqy5yRP+yF/rpv/ZfaFpLwytp+sYWB66saezyAu+1XJibq/oVDW9URsDLE0ugJikYzGIBmJT vvNOT3Q0MiPhCbNHhxJMTMFTlh66waBg3Iwq189xPd5B8nSTQSdGr9NmVXm487DVJg== X-Google-Smtp-Source: AGHT+IG+i7r6o+Sc2/8ZbKLKDrwOBsB2nipqrz6jYDUHvrRHYgIGlPwozYlUleAnG6g1YlWXBREGwQ== X-Received: by 2002:a5d:598f:0:b0:3a2:1f1:c3ad with SMTP id ffacd0b85a97d-3a35fe92b09mr7363774f8f.26.1747600266933; Sun, 18 May 2025 13:31:06 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a35ca5a03fsm10190013f8f.22.2025.05.18.13.31.06 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 18 May 2025 13:31:06 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false From: Jessica Clarke In-Reply-To: Date: Sun, 18 May 2025 21:30:55 +0100 Cc: Mitchell Horne , Lexi Winter , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <82C39393-F26D-4E7B-B62A-5CC9C85BAD1A@freebsd.org> References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> To: Mark Johnston X-Mailer: Apple Mail (2.3826.500.181.1.5) X-Rspamd-Queue-Id: 4b0ssT1Cc0z4PYS X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Spamd-Bar: ---- On 18 May 2025, at 21:23, Mark Johnston wrote: > On Sun, May 18, 2025 at 07:53:14PM +0100, Jessica Clarke wrote: >> On 17 May 2025, at 22:18, Mitchell Horne wrote: >>> On 5/14/25 21:04, Lexi Winter wrote: >>>> The branch main has been updated by ivy: >>>>=20 >>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Db61850c4e6f6b0f21b36da7238db969d= 9090309e >>>>=20 >>>> commit b61850c4e6f6b0f21b36da7238db969d9090309e >>>> Author: Lexi Winter >>>> AuthorDate: 2025-05-14 14:26:24 +0000 >>>> Commit: Lexi Winter >>>> CommitDate: 2025-05-15 00:02:52 +0000 >>>>=20 >>>> bridge(4): default net.link.bridge.member_ifaddrs to false >>>>=20 >>>> As discussed on arch@, this behaviour is broken and confuses = users, so >>>> disable it by default. For 15.0-RELEASE, allow it to be = re-enabled >>>> using a sysctl, but the sysctl will be removed in 16.0R. >>>>=20 >>>=20 >>> Hi Lexi, >>>=20 >>> I just updated my workstation past this commit. I found that my main >>> ethernet interface didn't receive an IP address, and had to set the >>> sysctl to proceed as before. >>>=20 >>> I have the following network configuration lines in my rc.conf: >>>=20 >>> ifconfig_re0=3D"DHCP" >>> cloned_interfaces=3D"bridge0 tap0" >>> ifconfig_bridge0=3D"addm re0 addm tap0 up" >>=20 >> I also have a setup like this, as I suspect many do. >=20 > I do too. >=20 >> The handbook even >> gives this configuration in places[1] (though note it=E2=80=99s = inconsistent in >> whether the interface or bridge should have the address). The lack of >> interaction with devd to automatically run dhclient as re0 comes and >> goes is also rather sucky, especially if re0 is wlan0. I appreciate >> that there may well be good technical reasons why this shouldn=E2=80=99= t be >> what people do, but (a) it is for specifically this case and I think >> it=E2=80=99s a bit shortsighted to go and break something we still = document >> today as correct (b) the UX needs improving specifically for bridging = a >> real interface to one or more tap ones before we enforce this. >=20 > I agree. Even if the setup is broken in some way, it works fine for > simple cases and this will be a nasty surprise when upgrading. >=20 > It would be much better IMO to print a warning and let users fix their > configuration before flipping the default. That is how we handled > interface address configuration without a netmask: commit d8237b955528 > added a warning, and some time later it was turned into a fatal error. > I really think it would be better to do something similar here. That would go some way to helping, but I really do not want =E2=80=9CI = want a tap interface for a VM=E2=80=9D and =E2=80=9CI want devd+dhclient to = manage DHCP for me automatically=E2=80=9D to be incompatible, which based on the thread = here it sounds like they are. Somebody needs to fix that before we even warn users not to do what they=E2=80=99re doing, let alone make it an error. Especially given that SYNCDHCP is not compatible with WPA, given that just runs wpa_supplicant as a daemon and relies on that later triggering dhclient? Jess From nobody Sun May 18 20:39:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0t3c39yGz5wnxT for ; Sun, 18 May 2025 20:39:56 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-il1-x135.google.com (mail-il1-x135.google.com [IPv6:2607:f8b0:4864:20::135]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b0t3b2cY5z3G4R for ; Sun, 18 May 2025 20:39:55 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Authentication-Results: mx1.freebsd.org; none Received: by mail-il1-x135.google.com with SMTP id e9e14a558f8ab-3dc6f653152so625205ab.3 for ; Sun, 18 May 2025 13:39:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; t=1747600794; x=1748205594; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=bsJSypQoZiyA7sG+7oRZ0NJU5TOR8WUooCK2tncu37g=; b=WT4jeUh5F6SQBjE7j5QYXAee+RJVjF5NITw3oLHCPS59T7ip+KM7E468+OmcAaemPN tV6P9ko8oSPrhBsXEcstlawo8pBKUFRBUt7Z+WBzd980u0wzgxNq8eJ5l2QCcH3x8iCY 4y64PrW1AOQUYXKDzpyEFAR+1P05mwp7DYjMI+0Fg8HK0SgeHMnWHmGb6AEWImvyCqwK P6ZTylR9pzz2dopBHLjYUHhxbHfFtcNX3i2JQd0KO7hZQcg3qJZ4ClU3eDr7HZm/GiTu 5DyLpPxnwCslZt1aiKhUgnfRmE7BwrS0wnRgJMktbKDXJ7j+Eg7ZH8WaVbnuHfg7L42r I1QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747600794; x=1748205594; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=bsJSypQoZiyA7sG+7oRZ0NJU5TOR8WUooCK2tncu37g=; b=IXPqnNI8XyWKlvjDOMX/TV7qODmh3b1M9TudEstYxSUF6HU3HG8GEcLKXqAuTztAS7 nhmf/g/aJS7NgGOXPyz7LuXLAAx0IuhvIHkAjuUnA2UYZ0Y6jmvTJkQSf7/djQMULc6g kkmuCB0pluSm4STCmtj5AGVFwLLvG4qmI0emWhMItGsw4C1iM4D8838AnAJJjf9Tld+o s1OK0C3zqRSH+r2UIMhA0qT52inMJXcBwUl4S1P0UWW226zr0g/yKaZoRKOd7jf2imD2 k1roDJsu906/RQWJ4MrotWiS53aluGAmdOX1U56QtJ8vf3btGF4kFQ20zF/Kb/TqpLjB Pp6w== X-Forwarded-Encrypted: i=1; AJvYcCUQLbWG38pKIDRB4rYFT07VKaPT2v8jn/xCe0cun71k0BTGzG6uAtm5y/eCVwvxDRVHhsBoX4f38XpFCw7UVD8kcb4E4A==@freebsd.org X-Gm-Message-State: AOJu0Yzklv00uGMbR+fS1PAKsBJixkTHYK99e0bpEBHDU8P6UJgdPtUK DYxEYEbL2Yx0DdCAmtG7MNNJvzLodXTt641P4P3yFd4rvW42wsvtU3GEG1aKAlxEXTQ= X-Gm-Gg: ASbGnctT/qkFKM0KNeYxpk4H9/S9+LP74cosEI5TEj6/nfK+sAGEg5DDy7jSma6XYwn iFVIea7lgnl5Gxv2eSBsS1CjjZ6d6WSttnFJ1SDsWc/9McQpmo+DeN/uowM04NeOpzdjX0c7Vsp N1Wcu9aSEVKn3s/UgQ2ALfLqtgxnz/KWg1EwzTO3vQ9zvgQ+AymcR/ly+rSTeUvLsYQtWXgpyHI qRoelgFEkiCOqxty+dtb56A1lfiy4sggTlXKZb4Hfbm/HsO4+D9g+xMIdixDo8JHH/ONKt6PA/i 04STfvdFuqg3VPdjQva8DCCUPhpdJ2+SnvkHm+twXyyR X-Google-Smtp-Source: AGHT+IGwosFe4rr5re/1ExSPeuvfU+nMTQcYeYyawEtGfT9l0dsL5tg7Tw1YIxiv/IbOkXigIUGfMQ== X-Received: by 2002:a05:6e02:2409:b0:3da:7cb7:78c with SMTP id e9e14a558f8ab-3db84303117mr97822045ab.11.1747600793852; Sun, 18 May 2025 13:39:53 -0700 (PDT) Received: from mutt-hbsd ([2001:470:4001:1::95]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4fbcc4b2dd5sm1406072173.110.2025.05.18.13.39.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 May 2025 13:39:53 -0700 (PDT) Date: Sun, 18 May 2025 20:39:52 +0000 From: Shawn Webb To: Mitchell Horne Cc: Kristof Provost , Lexi Winter , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false Message-ID: X-Operating-System: FreeBSD mutt-hbsd 14.2-STABLE-HBSD FreeBSD 14.2-STABLE-HBSD HARDENEDBSD-14-STABLE amd64 X-PGP-Key: https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/blob/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc References: <202505150004.54F04FhR046897@gitrepo.freebsd.org> <94441836-bb03-4c80-b603-aaa2997c4d29@freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="vyhrsnil4f2vwizj" Content-Disposition: inline In-Reply-To: <94441836-bb03-4c80-b603-aaa2997c4d29@freebsd.org> X-Rspamd-Queue-Id: 4b0t3b2cY5z3G4R X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Spamd-Bar: ---- --vyhrsnil4f2vwizj Content-Type: text/plain; protected-headers=v1; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false MIME-Version: 1.0 On Sun, May 18, 2025 at 01:37:30PM -0300, Mitchell Horne wrote: > On 5/17/25 18:57, Kristof Provost wrote: > > On 17 May 2025, at 23:18, Mitchell Horne wrote: > >=20 > > On 5/14/25 21:04, Lexi Winter wrote: > >=20 > > The branch main has been updated by ivy: > >=20 > > URL: https://cgit.FreeBSD.org/src/commit/? > > id=3Db61850c4e6f6b0f21b36da7238db969d9090309e > cgit.FreeBSD.org/src/commit/? > > id=3Db61850c4e6f6b0f21b36da7238db969d9090309e> > >=20 > > commit b61850c4e6f6b0f21b36da7238db969d9090309e > > Author: Lexi Winter ivy@FreeBSD.org > > AuthorDate: 2025-05-14 14:26:24 +0000 > > Commit: Lexi Winter ivy@FreeBSD.org > > CommitDate: 2025-05-15 00:02:52 +0000 > >=20 > > |bridge(4): default net.link.bridge.member_ifaddrs to false As > > discussed on arch@, this behaviour is broken and confuses users, > > so disable it by default. For 15.0-RELEASE, allow it to be re- > > enabled using a sysctl, but the sysctl will be removed in 16.0R= =2E | > >=20 > > Hi Lexi, > >=20 > > I just updated my workstation past this commit. I found that my main > > ethernet interface didn't receive an IP address, and had to set the > > sysctl to proceed as before. > >=20 > > I have the following network configuration lines in my rc.conf: > >=20 > > cloned_interfaces=3D"bridge0 tap0" > >=20 > > This ought to do the trick: > >=20 > > ifconfig_bridge0=3D"DHCP addm re0 addm tap0=E2=80=9D > >=20 > > Ensure the address gets assigned to the bridge, not to a bridge member > > interface. > >=20 >=20 > Here is what I ended up with: >=20 > ifconfig_re0=3D"up" > cloned_interfaces=3D"bridge0 tap0" > ifconfig_bridge0=3D"DHCP addm re0 addm tap0" > synchronous_dhclient=3D"YES" I wonder if there is any security difference between DHCP on the physical interface versus the bridge. Having the bridge grab an IP via DHCP (or IPv6 SLAAC/DHCPv6) means that VMs much be trusted. If a VM is compromised, a threat actor could redirect traffic on the host by running their own DHCP service in the compromised VM. The question I have, though, is: is this an issue when the physical interface is used instead of the bridge for grabbing a dynamic IP? So, I guess I'm asking, is there any security difference between the following two configs: =3D=3D=3D=3D BEGIN CONFIG 1 =3D=3D=3D=3D ifconfig_re0=3D"DHCP" cloned_interfaces=3D"bridge0 tap0" ifconfig_bridge0=3D"addm re0 addm tap0" =3D=3D=3D=3D END CONFIG 1 =3D=3D=3D=3D =3D=3D=3D=3D BEGIN CONFIG 2 =3D=3D=3D=3D ifconfig_re0=3D"up" cloned_interfaces=3D"bridge0 tap0" ifconfig_bridge0=3D"DHCP addm re0 addm tap0" synchronous_dhclient=3D"YES" =3D=3D=3D=3D END CONFIG 2 =3D=3D=3D=3D Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD Signal Username: shawn_webb.74 Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --vyhrsnil4f2vwizj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmgqRYkACgkQ/y5nonf4 4foZ8g//ZtZzTpRGuhm6AqTVliV7NWAbnZf5aVGggtWVxGGPQPnfJbYwJirQKLgQ 9JM/NOtKpM7cIcqKFpIntobc4ZqVYYcmQlHGyyBeoemCodske4vWflNbinVbl5SX Xcrqt6MjQt56KUy6FqLbNiHqBOuPz6cONpBulK/7uyXIGUIgEo67pA/WIWiqfPr6 d5KT25d5SY68nZnB4IjZ/zadPeG7FS40gi6aeDSw8DmuUaHvzSRvVzdBsWpEOpEU vhX2+lsL2mYhk2/nKUZYEp23+/0f2VHNSIIqPok+wD3zEQ7mUNY/quBJjZ/kNele zyP1AJBqe2nrqgvpuvtp6Kv5b6kmtbArKo4j+6ZNtqlBnUx4EFgsPgNEXk9IyL+j 2n8Mj7Rr2ekhfg2xpG/2kGX7FlsKGNDplpqzVcGNHrwW7X5U8J5npFhL0BCOSeRv 1XykhxP1F/zEgkO+jjWKASPTlvWLUQ/L8cgu+//C6jGGm2juR1DFoDcFOLP08y1G rFTeF/f6cqBVwE0c90mPKM6zdfC//BsBTqaQI6f5ERmG4SAhAiQsTGpmg/Dg+/gB 5pBVZB+yP4jDN0Vpdt6sYksh3F/bbz7RynizMTvVrZfTodjQTzFa3of7t5NIR90y U0r7+IpH1sQKp18pKNsBlUCUiF2YIveu1MTHofH5oAim/4L2a/I= =dC7m -----END PGP SIGNATURE----- --vyhrsnil4f2vwizj-- From nobody Sun May 18 21:38:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0vM83RDMz5vtP3; Sun, 18 May 2025 21:38: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 4b0vM816b8z3wcx; Sun, 18 May 2025 21:38:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747604308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aCBrfKvtiooLFE+URaWg6FIPV+jbZiNK9XJteTatd/w=; b=CRyOyzEskWokeKWSygocnGqHzmbBH2nzEvxkyNMMLgov+W+kJC9qqDCuFyyNjdXOQS3CIr 61zXttIzw+a+mV6H21auGAWtB5T1bdtD74RuxEpsU4Y+HtKE/ymJugZQmGscfhGbWjfQvk 6y40NCindBFfr5ueiXdh/hf6I/B+dKzTMmdi9tgZ7jlkZB+M+fCPfS5zFNsfEt62vesvMM qpuNPDKWH7oXqvWEiMeH/ocIKICQJzHvS/ZUdy4PqY5+SHFU3SlUMN0F0XNyNcTM8Ha5hr KfX2opSSA7Xw6VdXuedmkkh+l5XsIy4I/DG8+zHWIiaWs48RtEzh7e+YZ06mFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747604308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aCBrfKvtiooLFE+URaWg6FIPV+jbZiNK9XJteTatd/w=; b=xVoaPKDk9lNX0WwkxK1VzbuD0wD5ESoEg9u48rzmmjhJgSfoLIXNv8yFTQLluOis7BPQuF 4czQYBa1VUrIE17Aflp0dm9+vXvXt9xG4mjpT4jeKaqkciQ4EvFlvykrNf7csnPgPDTWT4 n4uTFPKK14HE/6YaPiLN7MGT0lu2LMU38stPwYfdmE5POv3iKPNfS4JiQlFfGyqgD7Gjfq 8VY1J0i4sXtni1efYIfvZum2bu8OMlBZfl11z5KC3VQj6u+UgNjZl2NkI9gk/PrS1Xj7B2 TMLSrQssJvPHdSRzGpZqU1wlmqxQzdp9HrDvLGCbZvfTvvQJE75ZySB5bZSTYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747604308; a=rsa-sha256; cv=none; b=j2jxi3QZakIYzrWyvXl+j/Ac5X32p/2FlCTn4r1MC3QWmwPfqS90FM1Jogz+ZWP3qUilSN 6tKIkFNyBjhPe5N4lsrjd+Rag5LZ135MxcCjn5nKdVBxut8fQ0joKOG8BK80V3yyg1uvTv R3XikxPG87uFxn4Q5jQo2h3gkn5W7Solod6aIo6Ejwn4S8FMlefPeadEbK/DcQk3cAJipd ndVkIYe24+1O22rZdBNWjoYj/LzVAzTUFWSsmZ0D0PidZODzaC//wjWc09Q19JgpLPybbK nBu7hFxJyefRblS8i5MSQOarYUbwUDzOit3G8e505KCs59LlexisfhpSar+wuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0vM80TZlzcM4; Sun, 18 May 2025 21:38: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 54ILcRZf081805; Sun, 18 May 2025 21:38:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ILcRds081802; Sun, 18 May 2025 21:38:27 GMT (envelope-from git) Date: Sun, 18 May 2025 21:38:27 GMT Message-Id: <202505182138.54ILcRds081802@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 66024c07cb58 - main - namei(9): document the rest List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66024c07cb586cfa8121b57b7931e0cc24d04aed Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=66024c07cb586cfa8121b57b7931e0cc24d04aed commit 66024c07cb586cfa8121b57b7931e0cc24d04aed Author: Konstantin Belousov AuthorDate: 2025-05-17 17:38:19 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-18 21:37:13 +0000 namei(9): document the rest Reviewed by: mckusick Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50401 --- share/man/man9/namei.9 | 187 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index 1703faaeee99..fc0826cc7206 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -234,6 +234,147 @@ This flag is not looked for by the actual code, which looks for .Dv NOFOLLOW is used to indicate to the source code reader that symlinks are intentionally not followed. +.It Dv NC_KEEPPOSENTRY +Keep the positive-caching entry in cache. +This flag is typically combined with +.Dv NOCACHE +to not cache a new entry, +but keep existing one, or with +.Dv MAKEENTRY . +.It Dv FAILIFEXISTS +Makes the +.Nm +operation fail if the target exists. +It requires that the +.Dv LOCKPARENT +flag is set and +.Dv LOCKLEAF +is not. +.It Dv EMPTYPATH +For +.Nm +call initialized with +.Fn NDINIT_AT , +allow the +.Fa namep +path to be empty. +In this case, the +.Fa dirfd +file descriptor may reference a file of arbitrary type, not +necessary a directory, and lookup returns the vnode for this file. +.It Dv RBENEATH +Requires that +.Nm +did not cross the +.Fa dirfd +directory. +The flag is used to implement +.Dv O_RESOLVE_BENEATH +flag for +.Xr openat 2 . +.El +.Sh PARAMETERS DESCRIPTORS FLAGS +These flags are used for several purposes. +Some of them affects the global +.Nm +operation, some provide information for processing of the specific +path element, for instance, by the +.Dv VOP_LOOKUP +implementation of the involved filesystem. +.Bl -tag -width IGNOREWHITEOUT +.It Dv RDONLY +Specifies that the lookup should act as if the final node is located on +read-only mount. +The flag is typically used by file servers, e.g. NFS, +to handle read-only exports. +.It Dv ISRESTARTED +The +.Nm +was restarted with +.Fn NDRESTART . +This is used internally for double-root lookups used by ABI subsystems, +after the lookup with native root failed. +The components are reset to the original values, and lookup is repeated +with different root, once. +.It Dv IGNOREWHITEOUT +Ignore whiteouts, e.g. when checking if a directory is empty. +.It Dv ISWHITEOUT +The result of lookup is whiteout. +.It Dv DOWHITEOUT +Handle whiteouts, the instruction for the +.Fn VOP_LOOKUP +filesystem methods. +.It Dv WILLBEDIR +The lookup is done for creating a new entry that will be directory. +It allows the trailing slash in the path string. +.It Dv ISOPEN +The caller is the code that opens a file. +This allows to weaken the lock mode of the return vnode, if the +mount point indicates extended shared lock support. +.It Dv NOCROSSMOUNT +Do not cross mount points during lookup. +.Pp +For .. lookups leading to mount roots, returns the root vnode of +the mount instead of the covered vnode of the filesystem where +the mount was placed. +.Pp +For other lookups passing over mount, do not jump into the mounted +filesystem. +This allows to descend into the file hierarchy otherwise shadowed +by the mount point. +.It Dv NOMACCHECK +Do not perform MAC checks during lookup. +.It Dv AUDITVNODE1 +Audit the looked up vnode information, use the first slot for audit information. +.It Dv AUDITVNODE2 +Same as +.Dv AUDITVNODE1 +but use the second slot. +.It Dv NOCAPCHECK +Do not perform capability checks. +If the calling process is in capability mode, lookup is denied outright. +.It Dv OPENREAD +The lookup was for open and file will be opened for read. +.It Dv OPENWRITE +The lookup was for open and file will be opened for write. +.It Dv WANTIOCTLCAPS +Leave ioctl caps for the caller. +See the description of +.Nm +results. +.It Dv OPENNAMED +Opening a named attribute (directory). +.It Dv NOEXECCHECK +Do not perform check for allowed execution on the starting directory. +It is used to implement the POSIX-required semantic for +.Xr openat 2 +lookups that must use the permissions from time the directory was +opened, and not when used for lookup. +.It Dv MAKEENTRY +Looked-up entry is to be added to name cache. +.It Dv ISSYMLINK +Current component is symlink, and it needs the interpretation +according to the +.Dv FOLLOW +or +.Dv NOFOLLOW +flags. +.It Dv ISLASTCN +This is last component of pathname. +It is handled specially, many flags augments its processing. +.It Dv ISDOTDOT +Current component name is .. . +Usually implies a need to specially handle the vnode locking +for instantiation of the target vnode. +The generic +.Fn vn_vget_ino_gen +function and its more specialized variant +.Fn vn_vget_ino +might be useful. +.It Dv TRAILINGSLASH +Path ended in a slash. +.It Dv CREATENAMED +Create a named attribute dir. .El .Sh ALLOCATED ELEMENTS The @@ -282,6 +423,34 @@ It is managed by the .Xr uma 9 zone allocation interface. .El +.Sh RESULTS +The +.Vt struct namei +member +.Dv ni_resflags +returns the following flags giving some details of the succesfull operation: +.Bl -tag -width NIRES_EMPTYPATH +.It Dv NIRES_ABS +The path passed was absolute. +.It Dv NIRES_STRICTREL +Restricted lookup result. +Only relative lookups were done to resolve the path to vnode. +.It Dv NIRES_EMPTYPATH +The +.Dv EMPTYPATH +flag was provided and used. +In particular, the passed path was empty. +.El +.Pp +If the +.Dv WANTIOCTLCAPS +flag was specified, on return the +.Va ni_filecaps +member of the +.Vt struct namei +contains the capabilities of the file descriptor used as +the lookup starting point +.Pq Va dirfd . .Sh RETURN VALUES If successful, .Fn namei @@ -290,6 +459,24 @@ will return 0, otherwise it will return an error. .Bl -tag -width Pa .It Pa src/sys/kern/vfs_lookup.c .El +.Sh EXAMPLES +Assuming the +.Dv path +variable contains a pointer to userspace path string, the following +example looks up the file named by it, and performs required error +and resource handling: +.Bd -literal + char *path; + struct nameidata nd; + int error; + + NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | AUDITVNODE1, UIO_USERSPACE, + path); + if ((error = namei(&nd)) != 0) + return (error); + NDFREE_PNBUF(&nd); + ... use nd.ni_vp vnode +.Ed .Sh ERRORS Errors which .Fn namei From nobody Sun May 18 21:38:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b0vM95gfsz5vtVD; Sun, 18 May 2025 21:38: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 4b0vM920g2z3wgL; Sun, 18 May 2025 21:38:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747604309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lCk6Eqj/0k3MMj+++dayszONEbe431I+IGFVK/vMz04=; b=mgzlMgRUSSOKy4f38eKh0dI9A0VLd+dX9j8pEr5GhVBs8Cl+8l9FyDyGG/uol/DCSVMdR5 TmNjZM1cdNEWkWJ8Tkg0DVMV/WrLqUeiE4/jmwsSSJHz1KH6rye3mgQsPA5S7xCn9fwfo+ MZaC/kkQNdwCI/IkMGHBWCSO+OXrVop49nbwg0B2knU3VShUa8i4EhGRRjjzH9tT7pCasS 0duZH5mO+V3jD8dmeM0Qmk/ZMiHYm0c4PuCF1IKHEyH5N42c59100XNashZh0pN4x2AGJE 6X+3mtxM9B6jQK7/TFy32IcUe9fOpd4OVN0TmhNVH8Me7G3x4OAn3HVsqGcmkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747604309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lCk6Eqj/0k3MMj+++dayszONEbe431I+IGFVK/vMz04=; b=r6oYLXT2F+4s2Iqi8gBXk4sc/2qoMrc1I4bw+mpGhRUMdmpXidaCT+WQjDGFRaSCwh/AvD vFLTo9wlAEDVamzbsS7Wj2N1lfR0fpRvPC+EOuR+6sFFGbAwQrnOKhq8e5LytFLWd7G/Hb zArAS4JqcezexVEa2ed4hQXQxztwb7LOTZI/kP9LPM4XhcVLTMi/EgmptVBMZ3QhXKhYJt M5+GuOjukaET4W6qEKnbJSxCRQU3OQ6Em2k4rZa9BdDs73v6WBpDHGthECJF5PfTeA0rsy tZ1fn+pWRmddgLSXuBP+wy51cOpZGQ2Dsmg3MuIxuYQu65DBQinYVpV5N0O/Vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747604309; a=rsa-sha256; cv=none; b=Lb1/ZdNYk4Lkz51F6pEjsOvLkvpS6IACpoL1ij7H/oexiJQS84AqH1m189nu+AQeX+75gr pM4R8oLToc43KegPINJ78t9lZ2yzL9vL+QghRoMNt+RQA4DtH6oZf6pfY+BdpmmJxL+VKw kwbXcWV1d2bvyKOighmmpRV2v9TH8hb9rUpd6HQQxbhkDGDGtQVvJ+Y/0okLN0r19J7kgl 9iPxVhtZresQNzZCF0CK758QWG6pUh+oszrHiT+S3l4t7E+5+s+f3Of3UVOAhsM0vTRd9c fx/1kt++bsN8UsJQjuwH6eABOk98m8LW4vd9mHfUvMaceY7EjkhSQt3co7K5aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b0vM91QXNzcjJ; Sun, 18 May 2025 21:38: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 54ILcTMH081838; Sun, 18 May 2025 21:38:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ILcTsB081835; Sun, 18 May 2025 21:38:29 GMT (envelope-from git) Date: Sun, 18 May 2025 21:38:29 GMT Message-Id: <202505182138.54ILcTsB081835@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5673462af533 - main - namei.9: sort operational modifiers in numerical order List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5673462af5330df20733008beae48a24da9cdf63 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5673462af5330df20733008beae48a24da9cdf63 commit 5673462af5330df20733008beae48a24da9cdf63 Author: Konstantin Belousov AuthorDate: 2025-05-18 21:30:55 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-18 21:37:29 +0000 namei.9: sort operational modifiers in numerical order Note that NC_NOMAKEENTRY is an alias of NOCACHE. Suggested by: mckusick Sponsored by: The FreeBSD Foundation MFC after: 1 week --- share/man/man9/namei.9 | 109 ++++++++++++++++++++++++++----------------------- 1 file changed, 59 insertions(+), 50 deletions(-) diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index fc0826cc7206..63e1a5de02ea 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -148,7 +148,26 @@ The function takes the following set of .Dq "operation flags" that influence its operation: -.Bl -tag -width ".Dv WANTPARENT" +.Bl -tag -width NC_KEEPPOSENTRY +.It Dv NC_NOMAKEENTRY +An alias for +.Dv NOCACHE . +.It Dv NC_KEEPPOSENTRY +Keep the positive-caching entry in cache. +This flag is typically combined with +.Dv NOCACHE +to not cache a new entry, +but keep existing one, or with +.Dv MAKEENTRY . +.It Dv NOCACHE +Avoid +.Fn namei +creating this entry in the namecache if it is not +already present. +Normally, +.Fn namei +will add entries to the name cache +if they are not already there. .It Dv LOCKLEAF Lock vnode on return with .Dv LK_EXCLUSIVE @@ -181,6 +200,45 @@ or .Xr VOP_UNLOCK 9 and .Xr vrele 9 . +.It Dv WANTPARENT +This flag allows the +.Fn namei +function to return the parent (directory) vnode in an unlocked state. +The parent vnode must be released separately by using +.Xr vrele 9 . +.It Dv WANTPARENT +This flag allows the +.Fn namei +function to return the parent (directory) vnode in an unlocked state. +The parent vnode must be released separately by using +.Xr vrele 9 . +.It Dv FAILIFEXISTS +Makes the +.Nm +operation fail if the target exists. +It requires that the +.Dv LOCKPARENT +flag is set and +.Dv LOCKLEAF +is not. +.It Dv FOLLOW +With this flag, +.Fn namei +will follow the symbolic link if the last part +of the path supplied is a symbolic link (i.e., it will return a vnode +for whatever the link points at, instead for the link itself). +.It Dv EMPTYPATH +For +.Nm +call initialized with +.Fn NDINIT_AT , +allow the +.Fa namep +path to be empty. +In this case, the +.Fa dirfd +file descriptor may reference a file of arbitrary type, not +necessary a directory, and lookup returns the vnode for this file. .It Dv LOCKSHARED Lock vnode on return with .Dv LK_SHARED , @@ -206,27 +264,6 @@ which is equivalent to calling followed by .Xr vrele 9 , all in one). -.It Dv WANTPARENT -This flag allows the -.Fn namei -function to return the parent (directory) vnode in an unlocked state. -The parent vnode must be released separately by using -.Xr vrele 9 . -.It Dv NOCACHE -Avoid -.Fn namei -creating this entry in the namecache if it is not -already present. -Normally, -.Fn namei -will add entries to the name cache -if they are not already there. -.It Dv FOLLOW -With this flag, -.Fn namei -will follow the symbolic link if the last part -of the path supplied is a symbolic link (i.e., it will return a vnode -for whatever the link points at, instead for the link itself). .It Dv NOFOLLOW Do not follow symbolic links (pseudo). This flag is not looked for by the actual code, which looks for @@ -234,34 +271,6 @@ This flag is not looked for by the actual code, which looks for .Dv NOFOLLOW is used to indicate to the source code reader that symlinks are intentionally not followed. -.It Dv NC_KEEPPOSENTRY -Keep the positive-caching entry in cache. -This flag is typically combined with -.Dv NOCACHE -to not cache a new entry, -but keep existing one, or with -.Dv MAKEENTRY . -.It Dv FAILIFEXISTS -Makes the -.Nm -operation fail if the target exists. -It requires that the -.Dv LOCKPARENT -flag is set and -.Dv LOCKLEAF -is not. -.It Dv EMPTYPATH -For -.Nm -call initialized with -.Fn NDINIT_AT , -allow the -.Fa namep -path to be empty. -In this case, the -.Fa dirfd -file descriptor may reference a file of arbitrary type, not -necessary a directory, and lookup returns the vnode for this file. .It Dv RBENEATH Requires that .Nm