From nobody Mon Jun 9 10:58:48 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bG86w6gHWz5xxGv; Mon, 09 Jun 2025 10:58:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bG86w60TDz4HjL; Mon, 09 Jun 2025 10:58:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zjlopx9N4QaFcaYFd+eQjWluYKpdqlXB1Q8mgIoCFpY=; b=U1YFNiB5u/nGHiOCo5sNDX6kujgKH2BOE0auALHG2NpEObPoUajwRBg0NWouLUNWZiLlso zTZ544edcaKO052o1vpCd4P1897Ffijowy7Mq8JC/NVDqz52iaJCsR3S8Z6n3X1JlUApKT G9H7x50Fiqo/80UHhamf/AWW+uNZ+FFnPGyAyVdcJh/WgIt8TqEe5DVRWRxBpE1Nhh1qim eONLFYDz9jIRj01rZPq6BXW17mC6hZCpdg3/heNhAsOjyePwHscjMhZ2o+OlXI0pWbxm61 QH7wusM1zcPLxiOenUXzeNS/83bPF1YfASUKQ57VdUHMgx0VfOmKUt3V0dRRbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zjlopx9N4QaFcaYFd+eQjWluYKpdqlXB1Q8mgIoCFpY=; b=cFLDIa7WpFnm+i4qraMH91cWMiCWIePjFPBFU/0n+YFhjSC4ZV8Iny4iw39+gq8jho+aRB Ebf2YWRPi2ovOhr3rb8tBByuht7sZkZiJzyaogLcP/oXNsxV0x2X/Q6AZxGBc7WojuhBl/ PaezS+gC6mbdwSNnz4N3cCC70VaEjxJ1dCLDsYNvtqmst8HsDeNNjGwsac3ErAD87dB11F /4nIigTYfxLqLxFJmIu3nQvwuSrgG0IT7dPZYL2enjgV4LIhz44fVQ06wdZTjtEzoyC4o+ v/eZK5iFObT2HkX9WLhPn2hW0rzDVUHVCUxR/IS8bsq0wpexGzDCMDHJY6wTeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749466728; a=rsa-sha256; cv=none; b=buJ0RWmfbOudxSUKnSCE8I6azkS9SCCNTwx9ZQsI3P+qCFqX1lnbuk3ZSH51HMKSVKLluU Z5U2RlGf4/XNIBM9K/PI50SUKC1lmAnjvSi+5/chTY5Aa36VhB30PMqkdcLunO6+RkuM6C T3lD7a09KJfSN4KRL2Rbid3CSjquSVLmyLSTNdo82SglkT9E58RogoU+QPU+kqraG5BVGa Ywk8RfSqy8lKXWhk7K0gs3Ygrbun9GUa5xjWCn6K14WJ/ESDBY2+AMXWHVpGWEUmmnSL9F dl9rXxUrmbQLiva4KKejoi8BL8YOvxZaMYs3cQVkPBec4mpgdKlc0bh6pVoW/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bG86w5FBYzt0q; Mon, 09 Jun 2025 10:58:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 559AwmvZ044912; Mon, 9 Jun 2025 10:58:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 559AwmxS044909; Mon, 9 Jun 2025 10:58:48 GMT (envelope-from git) Date: Mon, 9 Jun 2025 10:58:48 GMT Message-Id: <202506091058.559AwmxS044909@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 65808459e21b - stable/14 - libpam: Additional module directory. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 65808459e21b92c38daee8160c736dd305ff82b7 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=65808459e21b92c38daee8160c736dd305ff82b7 commit 65808459e21b92c38daee8160c736dd305ff82b7 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-31 14:26:50 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-06-09 10:58:39 +0000 libpam: Additional module directory. Many if not most ports that install PAM modules install them into ${LOCALBASE}/lib/security instead of just ${LOCALBASE}/lib, because all the world is Linux. Rather than try to fix the ports, add that directory to the search path. MFC after: 1 week Relnotes: yes Reviewed by: delphij Differential Revision: https://reviews.freebsd.org/D50626 (cherry picked from commit bb625fc2ac801d0a06ef0edab37a9bdaf209f008) --- contrib/openpam/lib/libpam/openpam_constants.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/openpam/lib/libpam/openpam_constants.c b/contrib/openpam/lib/libpam/openpam_constants.c index ba92b49b6865..241b9f8fe171 100644 --- a/contrib/openpam/lib/libpam/openpam_constants.c +++ b/contrib/openpam/lib/libpam/openpam_constants.c @@ -178,9 +178,11 @@ const char *openpam_module_path[] = { #elif defined(COMPAT_libcompat) "/usr/lib" COMPAT_libcompat, "/usr/local/lib" COMPAT_libcompat, + "/usr/local/lib" COMPAT_libcompat "/security", #else "/usr/lib", "/usr/local/lib", + "/usr/local/lib/security", #endif NULL }; From nobody Mon Jun 9 10:58:49 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bG86x74jHz5xxYC; Mon, 09 Jun 2025 10:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bG86x5c6nz4Hcb; Mon, 09 Jun 2025 10:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0zxmuBWJ2eKBv0FsDT4G2Ead0Uf2NbAeIJs//SBNck=; b=I9J5jqcrYu+NAwY+lCJF5XCbwCPAByCjBBuYhQ/OUOjUySCcyONo7pV970OO7CNnCz/NF6 BMTlGhvQWx/0q1hky/kNtrIl/m5g+5brZnGvAKlnb59t8Qd5OyZFJvaNZGXAVNdYjOFAUy 0QOWZfUVnWotlex6o+Fcw5tx3XwqBkCJIFTHsLKfAdiNeGEv/LxPQCYY3qGUZ4Jw4lEtMz uT1HVPh0SqRikDT84FoV7KnYW4BAb16W5G020lFFEAB0NVjvf6Dyo0wqZoak+F0sWhys9B h5aNE7d+FUd+XzgYiTuArD4BlUMxsJUBQg+51tJzVoVi6WVkOe2hMGxTMt5EIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0zxmuBWJ2eKBv0FsDT4G2Ead0Uf2NbAeIJs//SBNck=; b=Sf4OBjK9Cddnc68V9fkRQ9lHyJy+V4P0A+MCZ21Ec/D3krs8KN4AR9iUrxuo0HT7G4yp7V XMnSmcqZ1g4ch16QDi4IozasefbZ/PQraEgEXkxoZPxFYX/qtwNqoqAbZ51+ALR1PnnLW7 xiOBuEI4hhc3MOO/44eMKGIWv9vnP7qv55zu+TGihRJFgKp/NwI33TgC9WhZUtkMP3E0+g q7W9iYpsHpoZd0TqhjYDgWKvKR42THanoNmVaQ6AjMEHTFZ4zt48U7S2dk2tqIbCCNChCd WvG1apA8qbPJ5GYidrDIUueC3znGqI8peks04ztb1fvPfpMt/eObixHYqjIzwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749466729; a=rsa-sha256; cv=none; b=YS0TpgA6StJhrbckJwbKiK9+E4Hw70DnNTjk8x6eTOFserX9F58OaqhSU3Q82VtviFyEyw XXED2XNsA92BowBQ038KXglkjy2teZnSwVxRbtdXGFFU2mNrAI4rpGmXPtFUqJOfVZFhWd FqIOZqDQEE8ezBYfwEhed2f6M8vRVnFFYap4+8dbIbiKlSgyWzBw8zXJtk1pifYjp1GxMS GWZfTu7g7SfRzggtT7OAVg/inVdKm1oEN7mjx+/4rGBAeExLpHX+/graaPCp4DMoG2Hw+V D3Xu/x/mnLIc/a3uBOkY+DY7eHagha4etS3XNPrpQKGYocgueaKQH8AEPK7IMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bG86x58WPzslZ; Mon, 09 Jun 2025 10:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 559Awn3Y044948; Mon, 9 Jun 2025 10:58:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 559Awn2R044945; Mon, 9 Jun 2025 10:58:49 GMT (envelope-from git) Date: Mon, 9 Jun 2025 10:58:49 GMT Message-Id: <202506091058.559Awn2R044945@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 0fe58344e829 - stable/14 - netcat: Allow service names to be used. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0fe58344e8290637c91d70142578e92bd3d1e8f7 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0fe58344e8290637c91d70142578e92bd3d1e8f7 commit 0fe58344e8290637c91d70142578e92bd3d1e8f7 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-31 18:07:46 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-06-09 10:58:40 +0000 netcat: Allow service names to be used. Someone should really do a vendor import, but it's non-trivial, as we have local modifications. In the meantime, here's a nine-year-old upstream patch which allows service names to be used instead of port numbers. MFC after: 1 week Obtained from: OpenBSD Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D50348 (cherry picked from commit 6d3d1fc3a30453be19831f79399bcba0ae822ad1) --- contrib/netcat/nc.1 | 6 +++--- contrib/netcat/netcat.c | 42 +++++++++++++++++++++++++++++------------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/contrib/netcat/nc.1 b/contrib/netcat/nc.1 index 9f8696135f35..8db8dd4e6521 100644 --- a/contrib/netcat/nc.1 +++ b/contrib/netcat/nc.1 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 17, 2023 +.Dd May 14, 2025 .Dt NC 1 .Os .Sh NAME @@ -341,8 +341,8 @@ sockets, a destination is required and is the socket path to connect to option is given). .Pp .Ar port -can be a single integer or a range of ports. -Ranges are in the form nn-mm. +can be a specified as a numeric port number, or as a service name. +Ports may be specified in a range of the form nn-mm. In general, a destination port must be specified, unless the diff --git a/contrib/netcat/netcat.c b/contrib/netcat/netcat.c index 65266b99c28e..63571975d233 100644 --- a/contrib/netcat/netcat.c +++ b/contrib/netcat/netcat.c @@ -117,6 +117,7 @@ char *portlist[PORT_MAX+1]; char *unix_dg_tmp_socket; void atelnet(int, unsigned char *, unsigned int); +int strtoport(char *portstr, int udp); void build_ports(char *); void help(void); int local_listen(char *, char *, struct addrinfo); @@ -1163,6 +1164,26 @@ atelnet(int nfd, unsigned char *buf, unsigned int size) } } +int +strtoport(char *portstr, int udp) +{ + struct servent *entry; + const char *errstr; + char *proto; + int port = -1; + + proto = udp ? "udp" : "tcp"; + + port = strtonum(portstr, 1, PORT_MAX, &errstr); + if (errstr == NULL) + return port; + if (errno != EINVAL) + errx(1, "port number %s: %s", errstr, portstr); + if ((entry = getservbyname(portstr, proto)) == NULL) + errx(1, "service \"%s\" unknown", portstr); + return ntohs(entry->s_port); +} + /* * build_ports() * Build an array of ports in portlist[], listing each port @@ -1171,7 +1192,6 @@ atelnet(int nfd, unsigned char *buf, unsigned int size) void build_ports(char *p) { - const char *errstr; char *n; int hi, lo, cp; int x = 0; @@ -1181,13 +1201,8 @@ build_ports(char *p) n++; /* Make sure the ports are in order: lowest->highest. */ - hi = strtonum(n, 1, PORT_MAX, &errstr); - if (errstr) - errx(1, "port number %s: %s", errstr, n); - lo = strtonum(p, 1, PORT_MAX, &errstr); - if (errstr) - errx(1, "port number %s: %s", errstr, p); - + hi = strtoport(n, uflag); + lo = strtoport(p, uflag); if (lo > hi) { cp = hi; hi = lo; @@ -1216,11 +1231,12 @@ build_ports(char *p) } } } else { - hi = strtonum(p, 1, PORT_MAX, &errstr); - if (errstr) - errx(1, "port number %s: %s", errstr, p); - portlist[0] = strdup(p); - if (portlist[0] == NULL) + char *tmp; + + hi = strtoport(p, uflag); + if (asprintf(&tmp, "%d", hi) != -1) + portlist[0] = tmp; + else err(1, NULL); } } From nobody Mon Jun 9 10:58:54 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bG8732Ngkz5xxVt; Mon, 09 Jun 2025 10:58: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 4bG8731BlNz4Hqp; Mon, 09 Jun 2025 10:58:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/u2zPxEHNUqgDJhBY4CZ2fDjAHVX4vOP9LgIKq3ffhw=; b=vp9dsQA23RMFgiUy+0CJNmLkrJQFz/eudK7kBpX12xaIjcCX14KMKLHZ2IwbtulZcrEKKn yh8SDk2QyTjQuOMBS7YagvPbdyzgedBSZmMS93RfMLqeKKkgb280JM5mWNS2ROa4d0EQRC FUu7ZbfFq7ulZlhAz81ijoIKwqWHE8z0QHPQWo8/S7L6pMgUwliCLwpqCgIvZrKBL4VTrc qeTiUyBq2REaYyQfp0FVcYnAaAOuTYMUv13jbgsSREwWS8OGyEPKeAvk0xy0fO691T3j9B 5xEz2SmZ4sOmuxp58X6n/oT2G1UtrsStaA5TeD+kWtXZfC/r8O0hedZKEtgw8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/u2zPxEHNUqgDJhBY4CZ2fDjAHVX4vOP9LgIKq3ffhw=; b=r8aI7bpIHdG5ygvIZnvsXS/kCz7Bma7Xi4h1Q3E5Ox7sascHIAOu7rx7uX30AEbEseYWm+ NjWqWh+HwCQPOyM/+LIVXHz6wXI2rgM9Ti67gvuHUjrd2BfmlPSoPZITMlCR4iQErsXJGu CL1gZX4Hxg3+KwIvHU2QdmLTSSPih7c+zplLxVa990NyH1/ySaWI/q/gaad1MARvOcDi43 9kx94gFFibJ0wTVNJ1NmA27YCgPkz3L6SD70BiZOJX/z38N4dmyuqCUzdK41sn0qrUw8NE cou98mErMC234G5jut8A8uhSsuNa6vb4q6M3LWjJV3DT5nXsLIAL4mJkIXir8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749466735; a=rsa-sha256; cv=none; b=w7qdEOET+Wq/hfrF+5GiC6xvsj7uN7HglBqjc4sllDLQoa92V0Ct1NRkrhR+0LbRHLQU2B oRK4LDFHfGVmBEjDVrEnNLFCFXaUKlcpWTJm75t7dUTnNH3H2U0r4tpyorNUwIts3yVYXU /xp6Ru2JVV2HTazXjlaJ92oo02teylkQtn1Qa9lAJhw/Im7eYJKxGdroBMUdqN/chiORJj TzOQF4CIOyCQ4iXMn7ME71R2ANFbwJn1xEhfxAB/Ulr91Bmaqc36fjIb6S2XNLkSLOvseS LNC1msJmm7W4cs21W2tSsnGaB83ib1Q5Q8LJAmcW73+DO+dTyWaCtZm0ioT5xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bG8730XsXzsxT; Mon, 09 Jun 2025 10:58: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 559AwsqH045115; Mon, 9 Jun 2025 10:58:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 559AwsV4045112; Mon, 9 Jun 2025 10:58:54 GMT (envelope-from git) Date: Mon, 9 Jun 2025 10:58:54 GMT Message-Id: <202506091058.559AwsV4045112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 39f039512f8b - stable/13 - libpam: Additional module directory. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 39f039512f8bad0401481eacaf285b77ec5dbb70 Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=39f039512f8bad0401481eacaf285b77ec5dbb70 commit 39f039512f8bad0401481eacaf285b77ec5dbb70 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-31 14:26:50 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-06-07 06:50:38 +0000 libpam: Additional module directory. Many if not most ports that install PAM modules install them into ${LOCALBASE}/lib/security instead of just ${LOCALBASE}/lib, because all the world is Linux. Rather than try to fix the ports, add that directory to the search path. MFC after: 1 week Relnotes: yes Reviewed by: delphij Differential Revision: https://reviews.freebsd.org/D50626 (cherry picked from commit bb625fc2ac801d0a06ef0edab37a9bdaf209f008) --- contrib/openpam/lib/libpam/openpam_constants.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/openpam/lib/libpam/openpam_constants.c b/contrib/openpam/lib/libpam/openpam_constants.c index 52f353570c40..19179a44184a 100644 --- a/contrib/openpam/lib/libpam/openpam_constants.c +++ b/contrib/openpam/lib/libpam/openpam_constants.c @@ -178,9 +178,11 @@ const char *openpam_module_path[] = { #elif COMPAT_32BIT "/usr/lib32", "/usr/local/lib32", + "/usr/local/lib32/security", #else "/usr/lib", "/usr/local/lib", + "/usr/local/lib/security", #endif NULL }; From nobody Mon Jun 9 10:58:56 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bG8745M9jz5xxMv; Mon, 09 Jun 2025 10:58: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 4bG874232rz4Hqy; Mon, 09 Jun 2025 10:58:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C2CvhuMkVX1ELpoOC+JKHm5mmIyeJRPywfQKT6LNv/I=; b=TTt0iya9eMHOz8Ont3hqfmRoiWAOkVbO0zJTc807aZ/X+x3iAKbWVDt/tqlI7xF5dB7hnW 9SSIdTEc9leICl8tO7iAgjhiQD2p1Zp91rt2WbFzDjvrvCfEalImJXgMnTGZS2xi+9K70O +2QrzH+6ccocKHGE88rhDGNK42OyUQTCNDj+AQOfO+bPU7ACRnv4Nbpq2AU3jQA7zOMlcE cgq/W+sBz+Xcgo+2Bx5+v8aFfgl7krBt2v3g8dkkTRKRuB4+LLP6eoC8/KsSE2U6Wg1Mx7 nat234TKVllzb/FKFl3N1AaVK1YNXcLhUi4PcQHFt4iuaoO8UgwftxgsPEt1lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749466736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C2CvhuMkVX1ELpoOC+JKHm5mmIyeJRPywfQKT6LNv/I=; b=JhNPTEZ1A+R/0h9di3QYBkFntZUppisxYp/iXfyPAXUhdyDw1w0AMJw3NpFaYkezUq79VG FvVj28tSE9Hu/Ys6xyzAU/TpQkSZkECezLV4QRovMTlCJmZIxMmR03zQ1vnr/SSIM0vCSw btO/20j/3+GX2bMvKdBq+/POQ1oZgLRjPuVt8h/dd9RhoVh3826jNPZq/oBHhPtQpgaxAc bVhyGLCM5XAJDGSbce/95pvGk3/4VN0o/grjzOlsNJva3PZbkMC8X261n3eNLvoC0JwoTo tiH88fMg7RjIotDPbm4N7I9YUgGPJm4PEd4EP3a/8+n4gyRYBhqGP+ZdSrhoVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749466736; a=rsa-sha256; cv=none; b=PcRTlkFE47xqMCkpjbOncykXenvo05HwBfOynkXlwjJG26uihSKm8pEuCsKw4yMg9ihhg7 W5XdxvlW1aHpttrHcJTLj2pQr0J/uVp3WdxbKoPrcnBsxSqwDThSovuZ3cZaG2zNkTNnLm vBitjAvBqlLKtnIbt0H1QPARZkgjTFTOjJxz7t2b/XFxoNEhX1zqk7EBJHhCGzlk805s2K Mfq9dDYv28/XmKlIo6JjFFpNIKwP3VDmser5pYEaQITmOJEFAVg+RYEGvvsKlihsY4UJFW hPfa1kJ2tZWl6+yYhZmtxalfKZFrI4ZF3WB4KInetQrEwvYxJPAVLWFrvwob9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bG8741ZlhzsB1; Mon, 09 Jun 2025 10:58: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 559Awues045153; Mon, 9 Jun 2025 10:58:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 559Awune045150; Mon, 9 Jun 2025 10:58:56 GMT (envelope-from git) Date: Mon, 9 Jun 2025 10:58:56 GMT Message-Id: <202506091058.559Awune045150@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: be0706e8e15d - stable/13 - netcat: Allow service names to be used. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: be0706e8e15de57c7d245abe918f494d90a49934 Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=be0706e8e15de57c7d245abe918f494d90a49934 commit be0706e8e15de57c7d245abe918f494d90a49934 Author: Dag-Erling Smørgrav AuthorDate: 2025-05-31 18:07:46 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-06-07 06:51:39 +0000 netcat: Allow service names to be used. Someone should really do a vendor import, but it's non-trivial, as we have local modifications. In the meantime, here's a nine-year-old upstream patch which allows service names to be used instead of port numbers. MFC after: 1 week Obtained from: OpenBSD Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D50348 (cherry picked from commit 6d3d1fc3a30453be19831f79399bcba0ae822ad1) --- contrib/netcat/nc.1 | 6 +++--- contrib/netcat/netcat.c | 42 +++++++++++++++++++++++++++++------------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/contrib/netcat/nc.1 b/contrib/netcat/nc.1 index 2627920cca15..dadff019e9b8 100644 --- a/contrib/netcat/nc.1 +++ b/contrib/netcat/nc.1 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 10, 2020 +.Dd May 14, 2025 .Dt NC 1 .Os .Sh NAME @@ -334,8 +334,8 @@ sockets, a destination is required and is the socket path to connect to option is given). .Pp .Ar port -can be a single integer or a range of ports. -Ranges are in the form nn-mm. +can be a specified as a numeric port number, or as a service name. +Ports may be specified in a range of the form nn-mm. In general, a destination port must be specified, unless the diff --git a/contrib/netcat/netcat.c b/contrib/netcat/netcat.c index eb3c7544be76..20bb2d056fce 100644 --- a/contrib/netcat/netcat.c +++ b/contrib/netcat/netcat.c @@ -116,6 +116,7 @@ char *portlist[PORT_MAX+1]; char *unix_dg_tmp_socket; void atelnet(int, unsigned char *, unsigned int); +int strtoport(char *portstr, int udp); void build_ports(char *); void help(void); int local_listen(char *, char *, struct addrinfo); @@ -1145,6 +1146,26 @@ atelnet(int nfd, unsigned char *buf, unsigned int size) } } +int +strtoport(char *portstr, int udp) +{ + struct servent *entry; + const char *errstr; + char *proto; + int port = -1; + + proto = udp ? "udp" : "tcp"; + + port = strtonum(portstr, 1, PORT_MAX, &errstr); + if (errstr == NULL) + return port; + if (errno != EINVAL) + errx(1, "port number %s: %s", errstr, portstr); + if ((entry = getservbyname(portstr, proto)) == NULL) + errx(1, "service \"%s\" unknown", portstr); + return ntohs(entry->s_port); +} + /* * build_ports() * Build an array of ports in portlist[], listing each port @@ -1153,7 +1174,6 @@ atelnet(int nfd, unsigned char *buf, unsigned int size) void build_ports(char *p) { - const char *errstr; char *n; int hi, lo, cp; int x = 0; @@ -1163,13 +1183,8 @@ build_ports(char *p) n++; /* Make sure the ports are in order: lowest->highest. */ - hi = strtonum(n, 1, PORT_MAX, &errstr); - if (errstr) - errx(1, "port number %s: %s", errstr, n); - lo = strtonum(p, 1, PORT_MAX, &errstr); - if (errstr) - errx(1, "port number %s: %s", errstr, p); - + hi = strtoport(n, uflag); + lo = strtoport(p, uflag); if (lo > hi) { cp = hi; hi = lo; @@ -1198,11 +1213,12 @@ build_ports(char *p) } } } else { - hi = strtonum(p, 1, PORT_MAX, &errstr); - if (errstr) - errx(1, "port number %s: %s", errstr, p); - portlist[0] = strdup(p); - if (portlist[0] == NULL) + char *tmp; + + hi = strtoport(p, uflag); + if (asprintf(&tmp, "%d", hi) != -1) + portlist[0] = tmp; + else err(1, NULL); } } From nobody Tue Jun 10 06:07:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bGdcG2Cj8z609j3; Tue, 10 Jun 2025 06:07: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 4bGdcF71Xjz3rZ5; Tue, 10 Jun 2025 06:07:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749535645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5CR3eg8QEX2B4i4sSdBNIyQkp5FTBiY7e+kdI6kPZ9Y=; b=gzyEJZrhjjBmBnw6ftS0Wmhysuehm3dEY/rZOHHlU1IMs+MKxUUAHSEecI8rdsaSJhUNIs WfEBQO+VfdEKtsMreYXWiB1njcb0+kkmaFfggOEiyuuulqq+/u7EHdiDQmcDiSXjFRSgyo kQcy68cmLha17i3FHbCb3jqGnxzYjkDuUlHnqZeTek3o9qa+o7pj9AqkVB1TKOQ5EjkBDp 5L1RUJkxWse/85KBeHSZaZvRE8T8hvjpI97sf7TrOor6ZFffEQoog2a/4B3LokGMzhnjAh MHXyvDrlzvSY/QWEZosGFxZELZc9NWDOzMvftyShoXqZ9ZL6XgPv/IJgd6Ulvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749535645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5CR3eg8QEX2B4i4sSdBNIyQkp5FTBiY7e+kdI6kPZ9Y=; b=FEesucSW4IxEoM0sf4ZaHfXGzO8mqPMcTH2e7RZqj+YzDcTZ2vFgQK1eivEyoZd/Z9Z/Hs PmJdHyqviXkaogCTwW2lSrJXXo0XhKAC5/sE2BethN3o7t/vZlJ0kmytwe4rFBpVJBWGVB w9S8g96Q+7KZmcQf3qx4Hm2oXbI1LHmq8e4Q26xvjRnFz9ZNc3FRoNtf50gvymvaVYeCJS VXn6iGcJ82oHERlS/OLisIM4IuqAL5FNqUDbSuH/ueNbuLVfgo3ik5SOX9GFvgXErhIu9Z tH/x+ohNU4MQ5eJ+9Z6EdnQxA2GhOvz0MiIfyrR+z1fAm7uaIKLTNmq5MsirBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749535645; a=rsa-sha256; cv=none; b=besV7sYqHVmgZiLtVuNIoH9NseozOdsY/m4UKHAiKK/ymGjxSFoWiVJD0Kwex4U+Wy4JtA HBlgolytUUE5FiT31b5l5bGaMtokmlJzG9+WheoYW0PglCYDLekvTizy9xxhruHZWSNpYu lhIfYiZaChpu6a+PpwXp3jaZ5n0HV9W6DksoZbGXuDNVZI0gLHOpO3tmFq7guO3+P3IsKC g4NdHTUl3jCYWa6BbzLadVAvQo2vtQW9c4KA3zW8NG/2YYrUChEssk/j2JzeGcEZfNHf2z v19ZNQsMzo4mh+21ZhrOkZ0X7xtrKFKif2hvcfkSvQcup9uDrGd1n3OZbKfTfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bGdcF5219zDBB; Tue, 10 Jun 2025 06:07: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 55A67P4X004119; Tue, 10 Jun 2025 06:07:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55A67Pgk004116; Tue, 10 Jun 2025 06:07:25 GMT (envelope-from git) Date: Tue, 10 Jun 2025 06:07:25 GMT Message-Id: <202506100607.55A67Pgk004116@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 47807edf0ac2 - stable/13 - MFC: MFV: less v678. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 47807edf0ac29cbc6c11c49d6152d740040f387d Auto-Submitted: auto-generated The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=47807edf0ac29cbc6c11c49d6152d740040f387d commit 47807edf0ac29cbc6c11c49d6152d740040f387d Author: Xin LI AuthorDate: 2025-05-20 03:44:02 +0000 Commit: Xin LI CommitDate: 2025-06-10 06:05:19 +0000 MFC: MFV: less v678. (cherry picked from commit 252d6dde57d5dd0184929d1f8fb65e7713f51c6d) --- contrib/less/LICENSE | 2 +- contrib/less/NEWS | 73 ++++++++++ contrib/less/brac.c | 2 +- contrib/less/ch.c | 55 ++++++-- contrib/less/charset.c | 36 +++-- contrib/less/charset.h | 2 +- contrib/less/cmd.h | 9 +- contrib/less/cmdbuf.c | 189 +++++++++++++++++++------- contrib/less/command.c | 206 ++++++++++++++++++++-------- contrib/less/compose.uni | 19 ++- contrib/less/cvt.c | 2 +- contrib/less/decode.c | 315 ++++++++++++++++++++++++------------------- contrib/less/edit.c | 7 +- contrib/less/evar.c | 6 +- contrib/less/filename.c | 6 +- contrib/less/fmt.uni | 2 +- contrib/less/forwback.c | 163 +++++++++++----------- contrib/less/funcs.h | 51 ++++--- contrib/less/help.c | 12 +- contrib/less/ifile.c | 2 +- contrib/less/input.c | 48 ++++--- contrib/less/jump.c | 27 ++-- contrib/less/lang.h | 2 +- contrib/less/less.h | 41 +++--- contrib/less/less.hlp | 10 ++ contrib/less/less.nro | 212 +++++++++++++++++++---------- contrib/less/lessecho.c | 2 +- contrib/less/lessecho.nro | 6 +- contrib/less/lesskey.c | 2 +- contrib/less/lesskey.h | 2 +- contrib/less/lesskey.nro | 23 +++- contrib/less/lesskey_parse.c | 9 +- contrib/less/lglob.h | 2 +- contrib/less/line.c | 279 +++++++++++++++++++++++++++++--------- contrib/less/linenum.c | 24 ++-- contrib/less/lsystem.c | 2 +- contrib/less/main.c | 33 +++-- contrib/less/mark.c | 2 +- contrib/less/mkutable | 7 +- contrib/less/optfunc.c | 25 +++- contrib/less/option.c | 80 +++++------ contrib/less/option.h | 26 ++-- contrib/less/opttbl.c | 231 ++++++++++++++++++++----------- contrib/less/os.c | 115 ++++++++++++---- contrib/less/output.c | 19 +-- contrib/less/pattern.c | 52 ++++--- contrib/less/pattern.h | 2 +- contrib/less/pckeys.h | 2 +- contrib/less/position.c | 15 ++- contrib/less/position.h | 3 +- contrib/less/prompt.c | 11 +- contrib/less/screen.c | 120 +++++++++++------ contrib/less/scrsize.c | 2 +- contrib/less/search.c | 184 ++++++++++--------------- contrib/less/signal.c | 55 ++++++-- contrib/less/tags.c | 2 +- contrib/less/ttyin.c | 8 +- contrib/less/ubin.uni | 2 +- contrib/less/version.c | 19 ++- contrib/less/wide.uni | 22 +-- usr.bin/less/defines.h | 15 ++- 61 files changed, 1903 insertions(+), 999 deletions(-) diff --git a/contrib/less/LICENSE b/contrib/less/LICENSE index d4f3bf6d1ce6..b9b72a3d088b 100644 --- a/contrib/less/LICENSE +++ b/contrib/less/LICENSE @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2024 Mark Nudelman +Copyright (C) 1984-2025 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/contrib/less/NEWS b/contrib/less/NEWS index e869439ea4ee..5767ded21a00 100644 --- a/contrib/less/NEWS +++ b/contrib/less/NEWS @@ -9,6 +9,79 @@ Report bugs, suggestions or comments at https://github.com/gwsw/less/issues. +====================================================================== + + Major changes between "less" versions 668 and 678 + +* Treat -r in LESS environment variable as -R. + +* Add ESC-j and ESC-k commands (github #560). + +* Add --no-paste option (github #523). + +* Add --no-edit-warn option (github #513). + +* Add --form-feed option (github #496). + +* Add ESC-b command (github #615). + +* Make TAB complete option name in -- command (github #531). + +* Update the file size on an attempt to go past end of file. + +* Make -R able to pass through any OSC escape sequences, + not just OSC 8 (github #504). + +* Setting LESS_IS_MORE=0 now disables "more" compatibility even + if invoked via a file link named "more" (github #500). + +* Pass through escape sequences in prompts even if -R is not set. + +* Add LESS_SHELL_LINES to support shell prompts which use more than + one line (github #514). + +* Add LESSANSIOSCALLOW to define OSC types which may be passed through. + +* Add LESSANSIOSCCHARS to define non-standard OSC intro chars. + +* Add LESS_SIGUSR1 to define user signal handler (github #582). + +* Add mouse and mouse6 commands to lesskey (github #569). + +* Improve behavior of ^O^N and ^O^P commands. + +* Leave stty tabs setting unchanged (github #620). + +* Fix unexpected behavior when entering a partial command followed by + a valid command (github #543). + +* Fix bug when coloring prompt string with SGR sequences (github #516). + +* Fix bug when searching for text near an invalid UTF-8 sequence (github #542). + +* Fix display bug when file contains ESC followed by NUL (github #550). + +* Fix bug when using +:n +:p +:x or +:d on the command line (github #552). + +* Fix bug with --no-number-headers when header is not at start of file + (github #566). + +* Fix bug where lesstest fails if window is resized (github #570). + +* Fix bug using "configure --with-secure=no" (github #584). + +* Fix bug using multibyte command chars (github #595). + +* Fix auto_wrap setting on Windows (github #497). + +* Fix two bugs using ^S search modifier (github #605). + +* Fix bug searching for UTF-8 strings with the PCRE2 library (github #610). + +* Fix bug highlighting OSC 8 links when opening a new file. + +* Fix bug when & filtering is active (github #618). + ====================================================================== Major changes between "less" versions 661 and 668 diff --git a/contrib/less/brac.c b/contrib/less/brac.c index 170cd73da516..36f31d0316f4 100644 --- a/contrib/less/brac.c +++ b/contrib/less/brac.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/ch.c b/contrib/less/ch.c index 336af7792120..870028c73a23 100644 --- a/contrib/less/ch.c +++ b/contrib/less/ch.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -149,10 +149,7 @@ static int ch_get(void) struct buf *bp; struct bufnode *bn; ssize_t n; - lbool read_again; int h; - POSITION pos; - POSITION len; if (thisfile == NULL) return (EOI); @@ -224,12 +221,28 @@ static int ch_get(void) for (;;) { - pos = ch_position(ch_block, bp->datasize); + lbool read_again; + POSITION len; + POSITION pos = ch_position(ch_block, bp->datasize); + lbool read_pipe_at_eof = FALSE; if ((len = ch_length()) != NULL_POSITION && pos >= len) + { /* - * At end of file. + * Apparently at end of file. + * Double-check the file size in case it has changed. */ - return (EOI); + ch_resize(); + if ((len = ch_length()) != NULL_POSITION && pos >= len) + { + if (ch_flags & (CH_CANSEEK|CH_HELPFILE)) + return (EOI); + /* ch_length doesn't work for pipes, so just try to + * read from the pipe to see if more data has appeared. + * This can happen only in limited situations, such as + * a fifo that the writer has closed and reopened. */ + read_pipe_at_eof = TRUE; + } + } if (pos != ch_fpos) { @@ -271,7 +284,8 @@ static int ch_get(void) read_again = FALSE; if (n == READ_INTR) { - ch_fsize = pos; + if (ch_flags & CH_CANSEEK) + ch_fsize = pos; return (EOI); } if (n == READ_AGAIN) @@ -304,6 +318,8 @@ static int ch_get(void) ch_fpos += n; bp->datasize += (size_t) n; + if (read_pipe_at_eof) + ch_set_eof(); /* update length of pipe */ if (n == 0) { @@ -331,6 +347,9 @@ static int ch_get(void) } if (sigs) return (EOI); + if (read_pipe_at_eof) + /* No new data; we are still at EOF on the pipe. */ + return (EOI); } found: @@ -400,6 +419,8 @@ public void end_logfile(void) logfile = -1; free(namelogfile); namelogfile = NULL; + putstr("\n"); + flush(); } /* @@ -412,6 +433,7 @@ public void sync_logfile(void) struct buf *bp; struct bufnode *bn; lbool warned = FALSE; + int h; BLOCKNUM block; BLOCKNUM nblocks; @@ -421,7 +443,8 @@ public void sync_logfile(void) for (block = 0; block < nblocks; block++) { lbool wrote = FALSE; - FOR_BUFS(bn) + h = BUFHASH(block); + FOR_BUFS_IN_CHAIN(h, bn) { bp = bufnode_buf(bn); if (bp->block == block) @@ -599,6 +622,20 @@ public POSITION ch_length(void) return (ch_fsize); } +/* + * Update the file size, in case it has changed. + */ +public void ch_resize(void) +{ + POSITION fsize; + + if (!(ch_flags & CH_CANSEEK)) + return; + fsize = filesize(ch_file); + if (fsize != NULL_POSITION) + ch_fsize = fsize; +} + /* * Return the current position in the file. */ diff --git a/contrib/less/charset.c b/contrib/less/charset.c index 3e8fb0fa9354..5e5df2a4e60f 100644 --- a/contrib/less/charset.c +++ b/contrib/less/charset.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -756,24 +756,38 @@ public LWCHAR step_charc(constant char **pp, signed int dir, constant char *limi ch = (LWCHAR) (unsigned char) ((p > limit) ? *--p : 0); } else if (dir > 0) { - len = utf_len(*p); - if (p + len > limit) - { + if (p >= limit) ch = 0; - p = (char *) limit; - } else + else { - ch = get_wchar(p); - p += len; + len = utf_len(*p); + if (p + len > limit || !is_utf8_well_formed(p, len)) + { + ch = (LWCHAR) (unsigned char) *p++; + } else + { + ch = get_wchar(p); + p += len; + } } } else { while (p > limit && IS_UTF8_TRAIL(p[-1])) p--; - if (p > limit) - ch = get_wchar(--p); - else + if (p <= limit) ch = 0; + else + { + len = utf_len(*--p); + if (p + len != *pp || !is_utf8_well_formed(p, len)) + { + p = *pp - 1; + ch = (LWCHAR) (unsigned char) *p; + } else + { + ch = get_wchar(p); + } + } } *pp = p; return ch; diff --git a/contrib/less/charset.h b/contrib/less/charset.h index b5a9067c028b..4acf494b4ed5 100644 --- a/contrib/less/charset.h +++ b/contrib/less/charset.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/cmd.h b/contrib/less/cmd.h index 0c7218c93e95..07c57b111aee 100644 --- a/contrib/less/cmd.h +++ b/contrib/less/cmd.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -31,6 +31,7 @@ #define A_HELP 19 #define A_NEXT_FILE 20 #define A_PERCENT 21 +#define A_BF_SCREEN 22 #define A_PREV_FILE 23 #define A_QUIT 24 #define A_REPAINT 25 @@ -68,6 +69,8 @@ #define A_GOEND_BUF 57 #define A_LLSHIFT 58 #define A_RRSHIFT 59 +#define A_F_NEWLINE 60 +#define A_B_NEWLINE 61 #define A_CLRMARK 62 #define A_SETMARKBOT 63 #define A_X11MOUSE_IN 64 @@ -81,6 +84,8 @@ #define A_OSC8_B_SEARCH 72 #define A_OSC8_OPEN 73 #define A_OSC8_JUMP 74 +#define A_START_PASTE 75 /* must not overlap EC_* */ +#define A_END_PASTE 76 /* must not overlap EC_* */ /* These values must not conflict with any A_* or EC_* value. */ #define A_INVALID 100 @@ -117,6 +122,8 @@ #define EC_ABORT 20 #define EC_X11MOUSE 21 #define EC_X116MOUSE 22 +#define EC_START_PASTE A_START_PASTE +#define EC_END_PASTE A_END_PASTE #define EC_UINVALID 102 diff --git a/contrib/less/cmdbuf.c b/contrib/less/cmdbuf.c index 73dd2975b100..f2963cf4c9da 100644 --- a/contrib/less/cmdbuf.c +++ b/contrib/less/cmdbuf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -24,6 +24,8 @@ extern int sc_width; extern int utf_mode; extern int no_hist_dups; extern int marks_modified; +extern int no_paste; +public lbool pasting = FALSE; static char cmdbuf[CMDBUF_SIZE]; /* Buffer for holding a multi-char command */ static int cmd_col; /* Current column of the cursor */ @@ -34,7 +36,6 @@ static lbool literal; /* Next input char should not be interpreted */ static size_t updown_match; /* Prefix length in up/down movement */ static lbool have_updown_match = FALSE; -#if TAB_COMPLETE_FILENAME static int cmd_complete(int action); /* * These variables are statics used by cmd_complete. @@ -45,7 +46,6 @@ static char *tk_original; static constant char *tk_ipoint; static constant char *tk_trial = NULL; static struct textlist tk_tlist; -#endif static int cmd_left(); static int cmd_right(); @@ -182,6 +182,16 @@ public int len_cmdbuf(void) return (len); } +/* + * Is the command buffer empty? + * It is considered nonempty if there is any text in it, + * or if a multibyte command is being entered but not yet complete. + */ +public lbool cmdbuf_empty(void) +{ + return cp == cmdbuf && cmd_mbc_buf_len == 0; +} + /* * Common part of cmd_step_right() and cmd_step_left(). * {{ Returning pwidth and bswidth separately is a historical artifact @@ -304,6 +314,16 @@ public void cmd_repaint(constant char *old_cp) cmd_left(); } +/* + * Repaint the entire line, without moving the cursor. + */ +static void cmd_repaint_curr(void) +{ + char *save_cp = cp; + cmd_home(); + cmd_repaint(save_cp); +} + /* * Shift the cmdbuf display left a half-screen. */ @@ -804,17 +824,13 @@ public void cmd_accept(void) * CC_OK Line edit function done. * CC_QUIT The char requests the current command to be aborted. */ -static int cmd_edit(char c) +static int cmd_edit(char c, lbool stay_in_completion) { int action; int flags; -#if TAB_COMPLETE_FILENAME -#define not_in_completion() in_completion = 0 -#else -#define not_in_completion(void) -#endif - +#define not_in_completion() do { if (!stay_in_completion) in_completion = FALSE; } while(0) + /* * See if the char is indeed a line-editing command. */ @@ -826,21 +842,35 @@ static int cmd_edit(char c) */ flags |= ECF_NOHISTORY; #endif + + /* + * Don't accept completion cmds in contexts + * such as search pattern, digits, etc. + */ + if ((curr_mlist == NULL && (curr_cmdflags & CF_OPTION)) #if TAB_COMPLETE_FILENAME - if (curr_mlist == ml_search || curr_mlist == NULL) - /* - * Don't accept file-completion cmds in contexts - * such as search pattern, digits, long option name, etc. - */ - flags |= ECF_NOCOMPLETE; + || curr_mlist == ml_examine || curr_mlist == ml_shell #endif + ) + ; /* allow completion */ + else + flags |= ECF_NOCOMPLETE; action = editchar(c, flags); + if (is_ignoring_input(action)) + return (CC_OK); switch (action) { case A_NOACTION: return (CC_OK); + case EC_START_PASTE: + if (no_paste) + pasting = TRUE; + return (CC_OK); + case EC_END_PASTE: + stop_ignoring_input(); + return (CC_OK); case EC_RIGHT: not_in_completion(); return (cmd_right()); @@ -903,19 +933,16 @@ static int cmd_edit(char c) not_in_completion(); return (cmd_updown(action)); #endif -#if TAB_COMPLETE_FILENAME case EC_F_COMPLETE: case EC_B_COMPLETE: case EC_EXPAND: return (cmd_complete(action)); -#endif default: not_in_completion(); return (CC_PASS); } } -#if TAB_COMPLETE_FILENAME /* * Insert a string into the command buffer, at the current position. */ @@ -936,6 +963,18 @@ static int cmd_istr(constant char *str) return (CC_OK); } +/* + * Set tk_original to word. + */ +static void set_tk_original(constant char *word) +{ + if (tk_original != NULL) + free(tk_original); + tk_original = (char *) ecalloc(ptr_diff(cp,word)+1, sizeof(char)); + strncpy(tk_original, word, ptr_diff(cp,word)); +} + +#if TAB_COMPLETE_FILENAME /* * Find the beginning and end of the "current" word. * This is the word which the cursor (cp) is inside or at the end of. @@ -1024,23 +1063,15 @@ static char * delimit_word(void) } /* - * Set things up to enter completion mode. + * Set things up to enter file completion mode. * Expand the word under the cursor into a list of filenames * which start with that word, and set tk_text to that list. */ -static void init_compl(void) +static void init_file_compl(void) { char *word; char c; - /* - * Get rid of any previous tk_text. - */ - if (tk_text != NULL) - { - free(tk_text); - tk_text = NULL; - } /* * Find the original (uncompleted) word in the command buffer. */ @@ -1052,13 +1083,7 @@ static void init_compl(void) * where the original (uncompleted) word now sits. */ tk_ipoint = word; - /* - * Save the original (uncompleted) word - */ - if (tk_original != NULL) - free(tk_original); - tk_original = (char *) ecalloc(ptr_diff(cp,word)+1, sizeof(char)); - strncpy(tk_original, word, ptr_diff(cp,word)); + set_tk_original(word); /* * Get the expanded filename. * This may result in a single filename, or @@ -1086,6 +1111,17 @@ static void init_compl(void) } *cp = c; } +#endif /* TAB_COMPLETE_FILENAME */ + +/* + * Set things up to enter option completion mode. + */ +static void init_opt_compl(void) +{ + tk_ipoint = cmdbuf; + set_tk_original(cmdbuf); + tk_text = findopts_name(cmdbuf); +} /* * Return the next word in the current completion list. @@ -1120,7 +1156,19 @@ static int cmd_complete(int action) * use the first word in the expansion * (or the entire expansion if we're doing EC_EXPAND). */ - init_compl(); + if (tk_text != NULL) + { + free(tk_text); + tk_text = NULL; + } + if (curr_cmdflags & CF_OPTION) + init_opt_compl(); + else +#if TAB_COMPLETE_FILENAME + init_file_compl(); +#else + quit(QUIT_ERROR); /* cannot happen */ +#endif /* TAB_COMPLETE_FILENAME */ if (tk_text == NULL) { bell(); @@ -1195,25 +1243,20 @@ fail: return (CC_OK); } -#endif /* TAB_COMPLETE_FILENAME */ - /* - * Process a single character of a multi-character command, such as - * a number, or the pattern of a search command. + * Build a UTF-8 char in cmd_mbc_buf. * Returns: - * CC_OK The char was accepted. - * CC_QUIT The char requests the command to be aborted. - * CC_ERROR The char could not be accepted due to an error. + * CC_OK Char has been stored but we don't have a complete UTF-8 sequence yet. + * CC_ERROR This is an invalid UTF-8 sequence. + * CC_PASS There is a complete UTF-8 sequence in cmd_mbc_buf. + * The length of the complete sequence is returned in *plen. */ -public int cmd_char(char c) +static int cmd_uchar(char c, size_t *plen) { - int action; - size_t len; - if (!utf_mode) { cmd_mbc_buf[0] = c; - len = 1; + *plen = 1; } else { /* Perform strict validation in all possible cases. */ @@ -1262,9 +1305,26 @@ public int cmd_char(char c) goto retry; } - len = (size_t) cmd_mbc_buf_len; /*{{type-issue}}*/ + *plen = (size_t) cmd_mbc_buf_len; /*{{type-issue}}*/ cmd_mbc_buf_len = 0; } + return (CC_PASS); +} + +/* + * Process a single character of a multi-character command, such as + * a number, or the pattern of a search command. + * Returns: + * CC_OK The char was accepted. + * CC_QUIT The char requests the command to be aborted. + * CC_ERROR The char could not be accepted due to an error. + */ +static int cmd_char2(char c, lbool stay_in_completion) +{ + size_t len; + int action = cmd_uchar(c, &len); + if (action != CC_PASS) + return (action); if (literal) { @@ -1280,7 +1340,7 @@ public int cmd_char(char c) */ if (in_mca() && len == 1) { - action = cmd_edit(c); + action = cmd_edit(c, stay_in_completion); switch (action) { case CC_OK: @@ -1297,6 +1357,30 @@ public int cmd_char(char c) return (cmd_ichar(cmd_mbc_buf, len)); } +public int cmd_char(char c) +{ + return cmd_char2(c, FALSE); +} + +/* + * Copy an ASCII string to the command buffer. + */ +public int cmd_setstring(constant char *s, lbool uc) +{ + while (*s != '\0') + { + int action; + char c = *s++; + if (uc && ASCII_IS_LOWER(c)) + c = ASCII_TO_UPPER(c); + action = cmd_char2(c, TRUE); + if (action != CC_OK) + return (action); + } + cmd_repaint_curr(); + return (CC_OK); +} + /* * Return the number currently in the command buffer. */ @@ -1464,6 +1548,7 @@ static void read_cmdhist2(void (*action)(void*,struct mlist*,constant char*), vo #else ml = NULL; skip = NULL; + (void) skip_shell; #endif } else if (strcmp(line, HISTFILE_MARK_SECTION) == 0) { @@ -1674,6 +1759,8 @@ public void save_cmdhist(void) skip_search = mlist_size(&mlist_search) - histsize; #if SHELL_ESCAPE || PIPEC skip_shell = mlist_size(&mlist_shell) - histsize; +#else + skip_shell = 0; /* not actually used */ #endif fprintf(fout, "%s\n", HISTFILE_FIRST_LINE); ctx.fout = fout; diff --git a/contrib/less/command.c b/contrib/less/command.c index 27eba082e520..3ec1f9b48358 100644 --- a/contrib/less/command.c +++ b/contrib/less/command.c @@ -1,6 +1,5 @@ -/* $FreeBSD$ */ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -30,7 +29,7 @@ extern int sc_height; extern char *kent; extern int swindow; extern int jump_sline; -extern int quitting; +extern lbool quitting; extern int wscroll; extern int top_scroll; extern int ignore_eoi; @@ -39,6 +38,7 @@ extern int bs_mode; extern int proc_backspace; extern int show_attn; extern int less_is_more; +extern int chopline; extern POSITION highest_hilite; extern char *every_first_cmd; extern char version[]; @@ -49,6 +49,10 @@ extern void *ml_examine; extern int wheel_lines; extern int def_search_type; extern lbool search_wrapped; +extern int no_paste; +extern lbool pasting; +extern int no_edit_warn; +extern POSITION soft_eof; #if SHELL_ESCAPE || PIPEC extern void *ml_shell; #endif @@ -76,7 +80,7 @@ static int last_search_type; /* Type of last executed search */ static LINENUM number; /* The number typed by the user */ static long fraction; /* The fractional part of the number */ static struct loption *curropt; -static int opt_lower; +static lbool opt_lower; static int optflag; static lbool optgetname; static POSITION bottompos; @@ -85,6 +89,10 @@ static int save_bs_mode; static int save_proc_backspace; static int screen_trashed_value = 0; static lbool literal_char = FALSE; +static lbool ignoring_input = FALSE; +#if HAVE_TIME +static time_type ignoring_input_time; +#endif #if PIPEC static char pipec; #endif @@ -104,7 +112,7 @@ static void multi_search(constant char *pattern, int n, int silent); * This looks nicer if the command takes a long time before * updating the screen. */ -static void cmd_exec(void) +public void cmd_exec(void) { clear_attn(); clear_bot(); @@ -230,7 +238,7 @@ static void mca_opt_toggle(void) break; } forw_prompt = 0; - set_mlist(NULL, 0); + set_mlist(NULL, CF_OPTION); } /* @@ -239,7 +247,6 @@ static void mca_opt_toggle(void) static void exec_mca(void) { constant char *cbuf; - char *p; cmd_exec(); cbuf = get_cmdbuf(); @@ -256,6 +263,7 @@ static void exec_mca(void) case A_FILTER: search_type ^= SRCH_NO_MATCH; set_filter_pattern(cbuf, search_type); + soft_eof = NULL_POSITION; break; #endif case A_FIRSTCMD: @@ -282,7 +290,8 @@ static void exec_mca(void) match_brac(cbuf[1], cbuf[0], 0, (int) number); break; #if EXAMINE - case A_EXAMINE: + case A_EXAMINE: { + char *p; if (!secure_allow(SF_EXAMINE)) break; p = save(cbuf); @@ -292,7 +301,7 @@ static void exec_mca(void) /* If tag structure is loaded then clean it up. */ cleantags(); #endif - break; + break; } #endif #if SHELL_ESCAPE case A_SHELL: { @@ -415,16 +424,18 @@ static int mca_opt_nonfirst_char(char c) constant char *p; constant char *oname; lbool ambig; + struct loption *was_curropt; if (curropt != NULL) { - /* - * Already have a match for the name. - * Don't accept anything but erase/kill. - */ + /* Already have a match for the name. */ if (is_erase_char(c)) return (MCA_DONE); - return (MCA_MORE); + /* {{ Checking for TAB here is ugly. + * Also doesn't extend well -- can't do BACKTAB this way + * because it's a multichar sequence. }} */ + if (c != '\t') + return (MCA_MORE); } /* * Add char to cmd buffer and try to match @@ -433,26 +444,23 @@ static int mca_opt_nonfirst_char(char c) if (cmd_char(c) == CC_QUIT) return (MCA_DONE); p = get_cmdbuf(); - if (p == NULL) + if (p == NULL || p[0] == '\0') return (MCA_MORE); opt_lower = ASCII_IS_LOWER(p[0]); + was_curropt = curropt; curropt = findopt_name(&p, &oname, &ambig); if (curropt != NULL) { - /* - * Got a match. - * Remember the option and - * display the full option name. - */ - cmd_reset(); - mca_opt_toggle(); - for (p = oname; *p != '\0'; p++) + if (was_curropt == NULL) { - c = *p; - if (!opt_lower && ASCII_IS_LOWER(c)) - c = ASCII_TO_UPPER(c); - if (cmd_char(c) != CC_OK) - return (MCA_DONE); + /* + * Got a match. + * Remember the option and + * display the full option name. + */ + cmd_reset(); + mca_opt_toggle(); + cmd_setstring(oname, !opt_lower); } } else if (!ambig) { @@ -473,7 +481,7 @@ static int mca_opt_char(char c) * or one char of a long option name, * or one char of the option parameter. */ - if (curropt == NULL && len_cmdbuf() == 0) + if (curropt == NULL && cmdbuf_empty()) { int ret = mca_opt_first_char(c); if (ret != NO_MCA) *** 6463 LINES SKIPPED *** From nobody Tue Jun 10 06:07:26 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bGdcH2Gz1z609Z4; Tue, 10 Jun 2025 06:07: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 4bGdcG6n6pz3rS0; Tue, 10 Jun 2025 06:07:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749535646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=byZ0qX/4/ZTToMERoyluedpMofH1AbinQ9L+mB7FvZI=; b=gUw5IFgQsyG5tLHFrwbaQV1VYk3bcl78amxl6Cd5QDLRxCNC1G6CP4hpV+5x4YxQn+vAjL oxxm3tW17haWZ/6kWvylXC1gcDVmcVljcrGEjceH38duQxJNhrsSHO/Y0rTYon6+rSaHsV xk2huhRrI0sktrHIprB3kQ9IPcYXjOTpIXwXE6aAGybyLakiKkwANo0THKfyuqF1oE+cno DmQ3OkYCKGz7MgVt1Vt+y6RqODPG8AJkFs5DxYzbu2KWa4ZhPeGV+pGqY1qBwYG2Vb8amt jfwgAkm4j9t3INBe2IGjis/hNxXm3eoYGdLrnjI85EE1G7eSRdiw+ox+RmdzXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749535646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=byZ0qX/4/ZTToMERoyluedpMofH1AbinQ9L+mB7FvZI=; b=gZcNZy+5ny+4Ddh7rlQTYVpguo6N0vnxbr7hlFnJ1EEbn+Pw+5qUI3mfJYa6mmszG0hPgD G67Uhxl8YeUbF2WjQj6gwfcbvVM+D4EgWoi7SJEaJst3oSRTKLV2VIZ/2bw5h9PCkNUMq7 uHMvzjn3aWZI7M9QZo8Tott1jFCwkU5ABWGwsxmsDfdQi0gfEvr8fMIdLU6H7yy1MgbFz9 nvOB9stkW4h/mbnKMQeRmIrZ8luJRfKall1Cd/CJWAKtPoOhQCIGzGb1jV2zeNmBkOCTn0 HKdPWBlx3RbtoHRqkN9ZjIrUDlvQgWo2pYrGi3WBGwtf4wO0KTqXIdutpZJQpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749535646; a=rsa-sha256; cv=none; b=sHG1zMMh4SDbaWeRFKlRqpDEkPQVc2Y2kDLiCtN+MFo0OFKY4gMQEsV/31UAfIsG662Brh 4nrzaUVcVddzHoEkrlv4xLncXHliwLizM9j46+B370H5Sn6LoF++St+ChO2j+FsSlcDUlR AU/f1eQWuh7YF4xcSmjfvBJxjwZZYJOVBW7l+yT4nbMZxuElELOvgGCf0NuQtTMHjXCix7 lbbG00kg80l9GaWBNM1vAC9es/k91grbj212rIMsv1ZIjUa7h1C463tEes5pVL06OpLTFJ vu1wsMHq4BsZty1ORhfDsNY6w5sBDO6FmoPlukm2y5CRuTdEHE+GBlkpIPbu2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bGdcG6NQhzCpM; Tue, 10 Jun 2025 06:07: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 55A67QbQ004167; Tue, 10 Jun 2025 06:07:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55A67QwG004164; Tue, 10 Jun 2025 06:07:26 GMT (envelope-from git) Date: Tue, 10 Jun 2025 06:07:26 GMT Message-Id: <202506100607.55A67QwG004164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 7ea73ff25c58 - stable/14 - MFC: MFV: less v678. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7ea73ff25c587884e48e2fe00e26f81130eaacfd Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=7ea73ff25c587884e48e2fe00e26f81130eaacfd commit 7ea73ff25c587884e48e2fe00e26f81130eaacfd Author: Xin LI AuthorDate: 2025-05-20 03:44:02 +0000 Commit: Xin LI CommitDate: 2025-06-10 06:03:43 +0000 MFC: MFV: less v678. (cherry picked from commit 252d6dde57d5dd0184929d1f8fb65e7713f51c6d) --- contrib/less/LICENSE | 2 +- contrib/less/NEWS | 73 ++++++++++ contrib/less/brac.c | 2 +- contrib/less/ch.c | 55 ++++++-- contrib/less/charset.c | 36 +++-- contrib/less/charset.h | 2 +- contrib/less/cmd.h | 9 +- contrib/less/cmdbuf.c | 189 +++++++++++++++++++------- contrib/less/command.c | 206 ++++++++++++++++++++-------- contrib/less/compose.uni | 19 ++- contrib/less/cvt.c | 2 +- contrib/less/decode.c | 315 ++++++++++++++++++++++++------------------- contrib/less/edit.c | 7 +- contrib/less/evar.c | 6 +- contrib/less/filename.c | 6 +- contrib/less/fmt.uni | 2 +- contrib/less/forwback.c | 163 +++++++++++----------- contrib/less/funcs.h | 51 ++++--- contrib/less/help.c | 12 +- contrib/less/ifile.c | 2 +- contrib/less/input.c | 48 ++++--- contrib/less/jump.c | 27 ++-- contrib/less/lang.h | 2 +- contrib/less/less.h | 41 +++--- contrib/less/less.hlp | 10 ++ contrib/less/less.nro | 212 +++++++++++++++++++---------- contrib/less/lessecho.c | 2 +- contrib/less/lessecho.nro | 6 +- contrib/less/lesskey.c | 2 +- contrib/less/lesskey.h | 2 +- contrib/less/lesskey.nro | 23 +++- contrib/less/lesskey_parse.c | 9 +- contrib/less/lglob.h | 2 +- contrib/less/line.c | 279 +++++++++++++++++++++++++++++--------- contrib/less/linenum.c | 24 ++-- contrib/less/lsystem.c | 2 +- contrib/less/main.c | 33 +++-- contrib/less/mark.c | 2 +- contrib/less/mkutable | 7 +- contrib/less/optfunc.c | 25 +++- contrib/less/option.c | 80 +++++------ contrib/less/option.h | 26 ++-- contrib/less/opttbl.c | 231 ++++++++++++++++++++----------- contrib/less/os.c | 115 ++++++++++++---- contrib/less/output.c | 19 +-- contrib/less/pattern.c | 52 ++++--- contrib/less/pattern.h | 2 +- contrib/less/pckeys.h | 2 +- contrib/less/position.c | 15 ++- contrib/less/position.h | 3 +- contrib/less/prompt.c | 11 +- contrib/less/screen.c | 120 +++++++++++------ contrib/less/scrsize.c | 2 +- contrib/less/search.c | 184 ++++++++++--------------- contrib/less/signal.c | 55 ++++++-- contrib/less/tags.c | 2 +- contrib/less/ttyin.c | 8 +- contrib/less/ubin.uni | 2 +- contrib/less/version.c | 19 ++- contrib/less/wide.uni | 22 +-- usr.bin/less/defines.h | 15 ++- 61 files changed, 1903 insertions(+), 999 deletions(-) diff --git a/contrib/less/LICENSE b/contrib/less/LICENSE index d4f3bf6d1ce6..b9b72a3d088b 100644 --- a/contrib/less/LICENSE +++ b/contrib/less/LICENSE @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2024 Mark Nudelman +Copyright (C) 1984-2025 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/contrib/less/NEWS b/contrib/less/NEWS index e869439ea4ee..5767ded21a00 100644 --- a/contrib/less/NEWS +++ b/contrib/less/NEWS @@ -9,6 +9,79 @@ Report bugs, suggestions or comments at https://github.com/gwsw/less/issues. +====================================================================== + + Major changes between "less" versions 668 and 678 + +* Treat -r in LESS environment variable as -R. + +* Add ESC-j and ESC-k commands (github #560). + +* Add --no-paste option (github #523). + +* Add --no-edit-warn option (github #513). + +* Add --form-feed option (github #496). + +* Add ESC-b command (github #615). + +* Make TAB complete option name in -- command (github #531). + +* Update the file size on an attempt to go past end of file. + +* Make -R able to pass through any OSC escape sequences, + not just OSC 8 (github #504). + +* Setting LESS_IS_MORE=0 now disables "more" compatibility even + if invoked via a file link named "more" (github #500). + +* Pass through escape sequences in prompts even if -R is not set. + +* Add LESS_SHELL_LINES to support shell prompts which use more than + one line (github #514). + +* Add LESSANSIOSCALLOW to define OSC types which may be passed through. + +* Add LESSANSIOSCCHARS to define non-standard OSC intro chars. + +* Add LESS_SIGUSR1 to define user signal handler (github #582). + +* Add mouse and mouse6 commands to lesskey (github #569). + +* Improve behavior of ^O^N and ^O^P commands. + +* Leave stty tabs setting unchanged (github #620). + +* Fix unexpected behavior when entering a partial command followed by + a valid command (github #543). + +* Fix bug when coloring prompt string with SGR sequences (github #516). + +* Fix bug when searching for text near an invalid UTF-8 sequence (github #542). + +* Fix display bug when file contains ESC followed by NUL (github #550). + +* Fix bug when using +:n +:p +:x or +:d on the command line (github #552). + +* Fix bug with --no-number-headers when header is not at start of file + (github #566). + +* Fix bug where lesstest fails if window is resized (github #570). + +* Fix bug using "configure --with-secure=no" (github #584). + +* Fix bug using multibyte command chars (github #595). + +* Fix auto_wrap setting on Windows (github #497). + +* Fix two bugs using ^S search modifier (github #605). + +* Fix bug searching for UTF-8 strings with the PCRE2 library (github #610). + +* Fix bug highlighting OSC 8 links when opening a new file. + +* Fix bug when & filtering is active (github #618). + ====================================================================== Major changes between "less" versions 661 and 668 diff --git a/contrib/less/brac.c b/contrib/less/brac.c index 170cd73da516..36f31d0316f4 100644 --- a/contrib/less/brac.c +++ b/contrib/less/brac.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/ch.c b/contrib/less/ch.c index 336af7792120..870028c73a23 100644 --- a/contrib/less/ch.c +++ b/contrib/less/ch.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -149,10 +149,7 @@ static int ch_get(void) struct buf *bp; struct bufnode *bn; ssize_t n; - lbool read_again; int h; - POSITION pos; - POSITION len; if (thisfile == NULL) return (EOI); @@ -224,12 +221,28 @@ static int ch_get(void) for (;;) { - pos = ch_position(ch_block, bp->datasize); + lbool read_again; + POSITION len; + POSITION pos = ch_position(ch_block, bp->datasize); + lbool read_pipe_at_eof = FALSE; if ((len = ch_length()) != NULL_POSITION && pos >= len) + { /* - * At end of file. + * Apparently at end of file. + * Double-check the file size in case it has changed. */ - return (EOI); + ch_resize(); + if ((len = ch_length()) != NULL_POSITION && pos >= len) + { + if (ch_flags & (CH_CANSEEK|CH_HELPFILE)) + return (EOI); + /* ch_length doesn't work for pipes, so just try to + * read from the pipe to see if more data has appeared. + * This can happen only in limited situations, such as + * a fifo that the writer has closed and reopened. */ + read_pipe_at_eof = TRUE; + } + } if (pos != ch_fpos) { @@ -271,7 +284,8 @@ static int ch_get(void) read_again = FALSE; if (n == READ_INTR) { - ch_fsize = pos; + if (ch_flags & CH_CANSEEK) + ch_fsize = pos; return (EOI); } if (n == READ_AGAIN) @@ -304,6 +318,8 @@ static int ch_get(void) ch_fpos += n; bp->datasize += (size_t) n; + if (read_pipe_at_eof) + ch_set_eof(); /* update length of pipe */ if (n == 0) { @@ -331,6 +347,9 @@ static int ch_get(void) } if (sigs) return (EOI); + if (read_pipe_at_eof) + /* No new data; we are still at EOF on the pipe. */ + return (EOI); } found: @@ -400,6 +419,8 @@ public void end_logfile(void) logfile = -1; free(namelogfile); namelogfile = NULL; + putstr("\n"); + flush(); } /* @@ -412,6 +433,7 @@ public void sync_logfile(void) struct buf *bp; struct bufnode *bn; lbool warned = FALSE; + int h; BLOCKNUM block; BLOCKNUM nblocks; @@ -421,7 +443,8 @@ public void sync_logfile(void) for (block = 0; block < nblocks; block++) { lbool wrote = FALSE; - FOR_BUFS(bn) + h = BUFHASH(block); + FOR_BUFS_IN_CHAIN(h, bn) { bp = bufnode_buf(bn); if (bp->block == block) @@ -599,6 +622,20 @@ public POSITION ch_length(void) return (ch_fsize); } +/* + * Update the file size, in case it has changed. + */ +public void ch_resize(void) +{ + POSITION fsize; + + if (!(ch_flags & CH_CANSEEK)) + return; + fsize = filesize(ch_file); + if (fsize != NULL_POSITION) + ch_fsize = fsize; +} + /* * Return the current position in the file. */ diff --git a/contrib/less/charset.c b/contrib/less/charset.c index 3e8fb0fa9354..5e5df2a4e60f 100644 --- a/contrib/less/charset.c +++ b/contrib/less/charset.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -756,24 +756,38 @@ public LWCHAR step_charc(constant char **pp, signed int dir, constant char *limi ch = (LWCHAR) (unsigned char) ((p > limit) ? *--p : 0); } else if (dir > 0) { - len = utf_len(*p); - if (p + len > limit) - { + if (p >= limit) ch = 0; - p = (char *) limit; - } else + else { - ch = get_wchar(p); - p += len; + len = utf_len(*p); + if (p + len > limit || !is_utf8_well_formed(p, len)) + { + ch = (LWCHAR) (unsigned char) *p++; + } else + { + ch = get_wchar(p); + p += len; + } } } else { while (p > limit && IS_UTF8_TRAIL(p[-1])) p--; - if (p > limit) - ch = get_wchar(--p); - else + if (p <= limit) ch = 0; + else + { + len = utf_len(*--p); + if (p + len != *pp || !is_utf8_well_formed(p, len)) + { + p = *pp - 1; + ch = (LWCHAR) (unsigned char) *p; + } else + { + ch = get_wchar(p); + } + } } *pp = p; return ch; diff --git a/contrib/less/charset.h b/contrib/less/charset.h index b5a9067c028b..4acf494b4ed5 100644 --- a/contrib/less/charset.h +++ b/contrib/less/charset.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff --git a/contrib/less/cmd.h b/contrib/less/cmd.h index 0c7218c93e95..07c57b111aee 100644 --- a/contrib/less/cmd.h +++ b/contrib/less/cmd.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -31,6 +31,7 @@ #define A_HELP 19 #define A_NEXT_FILE 20 #define A_PERCENT 21 +#define A_BF_SCREEN 22 #define A_PREV_FILE 23 #define A_QUIT 24 #define A_REPAINT 25 @@ -68,6 +69,8 @@ #define A_GOEND_BUF 57 #define A_LLSHIFT 58 #define A_RRSHIFT 59 +#define A_F_NEWLINE 60 +#define A_B_NEWLINE 61 #define A_CLRMARK 62 #define A_SETMARKBOT 63 #define A_X11MOUSE_IN 64 @@ -81,6 +84,8 @@ #define A_OSC8_B_SEARCH 72 #define A_OSC8_OPEN 73 #define A_OSC8_JUMP 74 +#define A_START_PASTE 75 /* must not overlap EC_* */ +#define A_END_PASTE 76 /* must not overlap EC_* */ /* These values must not conflict with any A_* or EC_* value. */ #define A_INVALID 100 @@ -117,6 +122,8 @@ #define EC_ABORT 20 #define EC_X11MOUSE 21 #define EC_X116MOUSE 22 +#define EC_START_PASTE A_START_PASTE +#define EC_END_PASTE A_END_PASTE #define EC_UINVALID 102 diff --git a/contrib/less/cmdbuf.c b/contrib/less/cmdbuf.c index 73dd2975b100..f2963cf4c9da 100644 --- a/contrib/less/cmdbuf.c +++ b/contrib/less/cmdbuf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -24,6 +24,8 @@ extern int sc_width; extern int utf_mode; extern int no_hist_dups; extern int marks_modified; +extern int no_paste; +public lbool pasting = FALSE; static char cmdbuf[CMDBUF_SIZE]; /* Buffer for holding a multi-char command */ static int cmd_col; /* Current column of the cursor */ @@ -34,7 +36,6 @@ static lbool literal; /* Next input char should not be interpreted */ static size_t updown_match; /* Prefix length in up/down movement */ static lbool have_updown_match = FALSE; -#if TAB_COMPLETE_FILENAME static int cmd_complete(int action); /* * These variables are statics used by cmd_complete. @@ -45,7 +46,6 @@ static char *tk_original; static constant char *tk_ipoint; static constant char *tk_trial = NULL; static struct textlist tk_tlist; -#endif static int cmd_left(); static int cmd_right(); @@ -182,6 +182,16 @@ public int len_cmdbuf(void) return (len); } +/* + * Is the command buffer empty? + * It is considered nonempty if there is any text in it, + * or if a multibyte command is being entered but not yet complete. + */ +public lbool cmdbuf_empty(void) +{ + return cp == cmdbuf && cmd_mbc_buf_len == 0; +} + /* * Common part of cmd_step_right() and cmd_step_left(). * {{ Returning pwidth and bswidth separately is a historical artifact @@ -304,6 +314,16 @@ public void cmd_repaint(constant char *old_cp) cmd_left(); } +/* + * Repaint the entire line, without moving the cursor. + */ +static void cmd_repaint_curr(void) +{ + char *save_cp = cp; + cmd_home(); + cmd_repaint(save_cp); +} + /* * Shift the cmdbuf display left a half-screen. */ @@ -804,17 +824,13 @@ public void cmd_accept(void) * CC_OK Line edit function done. * CC_QUIT The char requests the current command to be aborted. */ -static int cmd_edit(char c) +static int cmd_edit(char c, lbool stay_in_completion) { int action; int flags; -#if TAB_COMPLETE_FILENAME -#define not_in_completion() in_completion = 0 -#else -#define not_in_completion(void) -#endif - +#define not_in_completion() do { if (!stay_in_completion) in_completion = FALSE; } while(0) + /* * See if the char is indeed a line-editing command. */ @@ -826,21 +842,35 @@ static int cmd_edit(char c) */ flags |= ECF_NOHISTORY; #endif + + /* + * Don't accept completion cmds in contexts + * such as search pattern, digits, etc. + */ + if ((curr_mlist == NULL && (curr_cmdflags & CF_OPTION)) #if TAB_COMPLETE_FILENAME - if (curr_mlist == ml_search || curr_mlist == NULL) - /* - * Don't accept file-completion cmds in contexts - * such as search pattern, digits, long option name, etc. - */ - flags |= ECF_NOCOMPLETE; + || curr_mlist == ml_examine || curr_mlist == ml_shell #endif + ) + ; /* allow completion */ + else + flags |= ECF_NOCOMPLETE; action = editchar(c, flags); + if (is_ignoring_input(action)) + return (CC_OK); switch (action) { case A_NOACTION: return (CC_OK); + case EC_START_PASTE: + if (no_paste) + pasting = TRUE; + return (CC_OK); + case EC_END_PASTE: + stop_ignoring_input(); + return (CC_OK); case EC_RIGHT: not_in_completion(); return (cmd_right()); @@ -903,19 +933,16 @@ static int cmd_edit(char c) not_in_completion(); return (cmd_updown(action)); #endif -#if TAB_COMPLETE_FILENAME case EC_F_COMPLETE: case EC_B_COMPLETE: case EC_EXPAND: return (cmd_complete(action)); -#endif default: not_in_completion(); return (CC_PASS); } } -#if TAB_COMPLETE_FILENAME /* * Insert a string into the command buffer, at the current position. */ @@ -936,6 +963,18 @@ static int cmd_istr(constant char *str) return (CC_OK); } +/* + * Set tk_original to word. + */ +static void set_tk_original(constant char *word) +{ + if (tk_original != NULL) + free(tk_original); + tk_original = (char *) ecalloc(ptr_diff(cp,word)+1, sizeof(char)); + strncpy(tk_original, word, ptr_diff(cp,word)); +} + +#if TAB_COMPLETE_FILENAME /* * Find the beginning and end of the "current" word. * This is the word which the cursor (cp) is inside or at the end of. @@ -1024,23 +1063,15 @@ static char * delimit_word(void) } /* - * Set things up to enter completion mode. + * Set things up to enter file completion mode. * Expand the word under the cursor into a list of filenames * which start with that word, and set tk_text to that list. */ -static void init_compl(void) +static void init_file_compl(void) { char *word; char c; - /* - * Get rid of any previous tk_text. - */ - if (tk_text != NULL) - { - free(tk_text); - tk_text = NULL; - } /* * Find the original (uncompleted) word in the command buffer. */ @@ -1052,13 +1083,7 @@ static void init_compl(void) * where the original (uncompleted) word now sits. */ tk_ipoint = word; - /* - * Save the original (uncompleted) word - */ - if (tk_original != NULL) - free(tk_original); - tk_original = (char *) ecalloc(ptr_diff(cp,word)+1, sizeof(char)); - strncpy(tk_original, word, ptr_diff(cp,word)); + set_tk_original(word); /* * Get the expanded filename. * This may result in a single filename, or @@ -1086,6 +1111,17 @@ static void init_compl(void) } *cp = c; } +#endif /* TAB_COMPLETE_FILENAME */ + +/* + * Set things up to enter option completion mode. + */ +static void init_opt_compl(void) +{ + tk_ipoint = cmdbuf; + set_tk_original(cmdbuf); + tk_text = findopts_name(cmdbuf); +} /* * Return the next word in the current completion list. @@ -1120,7 +1156,19 @@ static int cmd_complete(int action) * use the first word in the expansion * (or the entire expansion if we're doing EC_EXPAND). */ - init_compl(); + if (tk_text != NULL) + { + free(tk_text); + tk_text = NULL; + } + if (curr_cmdflags & CF_OPTION) + init_opt_compl(); + else +#if TAB_COMPLETE_FILENAME + init_file_compl(); +#else + quit(QUIT_ERROR); /* cannot happen */ +#endif /* TAB_COMPLETE_FILENAME */ if (tk_text == NULL) { bell(); @@ -1195,25 +1243,20 @@ fail: return (CC_OK); } -#endif /* TAB_COMPLETE_FILENAME */ - /* - * Process a single character of a multi-character command, such as - * a number, or the pattern of a search command. + * Build a UTF-8 char in cmd_mbc_buf. * Returns: - * CC_OK The char was accepted. - * CC_QUIT The char requests the command to be aborted. - * CC_ERROR The char could not be accepted due to an error. + * CC_OK Char has been stored but we don't have a complete UTF-8 sequence yet. + * CC_ERROR This is an invalid UTF-8 sequence. + * CC_PASS There is a complete UTF-8 sequence in cmd_mbc_buf. + * The length of the complete sequence is returned in *plen. */ -public int cmd_char(char c) +static int cmd_uchar(char c, size_t *plen) { - int action; - size_t len; - if (!utf_mode) { cmd_mbc_buf[0] = c; - len = 1; + *plen = 1; } else { /* Perform strict validation in all possible cases. */ @@ -1262,9 +1305,26 @@ public int cmd_char(char c) goto retry; } - len = (size_t) cmd_mbc_buf_len; /*{{type-issue}}*/ + *plen = (size_t) cmd_mbc_buf_len; /*{{type-issue}}*/ cmd_mbc_buf_len = 0; } + return (CC_PASS); +} + +/* + * Process a single character of a multi-character command, such as + * a number, or the pattern of a search command. + * Returns: + * CC_OK The char was accepted. + * CC_QUIT The char requests the command to be aborted. + * CC_ERROR The char could not be accepted due to an error. + */ +static int cmd_char2(char c, lbool stay_in_completion) +{ + size_t len; + int action = cmd_uchar(c, &len); + if (action != CC_PASS) + return (action); if (literal) { @@ -1280,7 +1340,7 @@ public int cmd_char(char c) */ if (in_mca() && len == 1) { - action = cmd_edit(c); + action = cmd_edit(c, stay_in_completion); switch (action) { case CC_OK: @@ -1297,6 +1357,30 @@ public int cmd_char(char c) return (cmd_ichar(cmd_mbc_buf, len)); } +public int cmd_char(char c) +{ + return cmd_char2(c, FALSE); +} + +/* + * Copy an ASCII string to the command buffer. + */ +public int cmd_setstring(constant char *s, lbool uc) +{ + while (*s != '\0') + { + int action; + char c = *s++; + if (uc && ASCII_IS_LOWER(c)) + c = ASCII_TO_UPPER(c); + action = cmd_char2(c, TRUE); + if (action != CC_OK) + return (action); + } + cmd_repaint_curr(); + return (CC_OK); +} + /* * Return the number currently in the command buffer. */ @@ -1464,6 +1548,7 @@ static void read_cmdhist2(void (*action)(void*,struct mlist*,constant char*), vo #else ml = NULL; skip = NULL; + (void) skip_shell; #endif } else if (strcmp(line, HISTFILE_MARK_SECTION) == 0) { @@ -1674,6 +1759,8 @@ public void save_cmdhist(void) skip_search = mlist_size(&mlist_search) - histsize; #if SHELL_ESCAPE || PIPEC skip_shell = mlist_size(&mlist_shell) - histsize; +#else + skip_shell = 0; /* not actually used */ #endif fprintf(fout, "%s\n", HISTFILE_FIRST_LINE); ctx.fout = fout; diff --git a/contrib/less/command.c b/contrib/less/command.c index 27eba082e520..3ec1f9b48358 100644 --- a/contrib/less/command.c +++ b/contrib/less/command.c @@ -1,6 +1,5 @@ -/* $FreeBSD$ */ /* - * Copyright (C) 1984-2024 Mark Nudelman + * Copyright (C) 1984-2025 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -30,7 +29,7 @@ extern int sc_height; extern char *kent; extern int swindow; extern int jump_sline; -extern int quitting; +extern lbool quitting; extern int wscroll; extern int top_scroll; extern int ignore_eoi; @@ -39,6 +38,7 @@ extern int bs_mode; extern int proc_backspace; extern int show_attn; extern int less_is_more; +extern int chopline; extern POSITION highest_hilite; extern char *every_first_cmd; extern char version[]; @@ -49,6 +49,10 @@ extern void *ml_examine; extern int wheel_lines; extern int def_search_type; extern lbool search_wrapped; +extern int no_paste; +extern lbool pasting; +extern int no_edit_warn; +extern POSITION soft_eof; #if SHELL_ESCAPE || PIPEC extern void *ml_shell; #endif @@ -76,7 +80,7 @@ static int last_search_type; /* Type of last executed search */ static LINENUM number; /* The number typed by the user */ static long fraction; /* The fractional part of the number */ static struct loption *curropt; -static int opt_lower; +static lbool opt_lower; static int optflag; static lbool optgetname; static POSITION bottompos; @@ -85,6 +89,10 @@ static int save_bs_mode; static int save_proc_backspace; static int screen_trashed_value = 0; static lbool literal_char = FALSE; +static lbool ignoring_input = FALSE; +#if HAVE_TIME +static time_type ignoring_input_time; +#endif #if PIPEC static char pipec; #endif @@ -104,7 +112,7 @@ static void multi_search(constant char *pattern, int n, int silent); * This looks nicer if the command takes a long time before * updating the screen. */ -static void cmd_exec(void) +public void cmd_exec(void) { clear_attn(); clear_bot(); @@ -230,7 +238,7 @@ static void mca_opt_toggle(void) break; } forw_prompt = 0; - set_mlist(NULL, 0); + set_mlist(NULL, CF_OPTION); } /* @@ -239,7 +247,6 @@ static void mca_opt_toggle(void) static void exec_mca(void) { constant char *cbuf; - char *p; cmd_exec(); cbuf = get_cmdbuf(); @@ -256,6 +263,7 @@ static void exec_mca(void) case A_FILTER: search_type ^= SRCH_NO_MATCH; set_filter_pattern(cbuf, search_type); + soft_eof = NULL_POSITION; break; #endif case A_FIRSTCMD: @@ -282,7 +290,8 @@ static void exec_mca(void) match_brac(cbuf[1], cbuf[0], 0, (int) number); break; #if EXAMINE - case A_EXAMINE: + case A_EXAMINE: { + char *p; if (!secure_allow(SF_EXAMINE)) break; p = save(cbuf); @@ -292,7 +301,7 @@ static void exec_mca(void) /* If tag structure is loaded then clean it up. */ cleantags(); #endif - break; + break; } #endif #if SHELL_ESCAPE case A_SHELL: { @@ -415,16 +424,18 @@ static int mca_opt_nonfirst_char(char c) constant char *p; constant char *oname; lbool ambig; + struct loption *was_curropt; if (curropt != NULL) { - /* - * Already have a match for the name. - * Don't accept anything but erase/kill. - */ + /* Already have a match for the name. */ if (is_erase_char(c)) return (MCA_DONE); - return (MCA_MORE); + /* {{ Checking for TAB here is ugly. + * Also doesn't extend well -- can't do BACKTAB this way + * because it's a multichar sequence. }} */ + if (c != '\t') + return (MCA_MORE); } /* * Add char to cmd buffer and try to match @@ -433,26 +444,23 @@ static int mca_opt_nonfirst_char(char c) if (cmd_char(c) == CC_QUIT) return (MCA_DONE); p = get_cmdbuf(); - if (p == NULL) + if (p == NULL || p[0] == '\0') return (MCA_MORE); opt_lower = ASCII_IS_LOWER(p[0]); + was_curropt = curropt; curropt = findopt_name(&p, &oname, &ambig); if (curropt != NULL) { - /* - * Got a match. - * Remember the option and - * display the full option name. - */ - cmd_reset(); - mca_opt_toggle(); - for (p = oname; *p != '\0'; p++) + if (was_curropt == NULL) { - c = *p; - if (!opt_lower && ASCII_IS_LOWER(c)) - c = ASCII_TO_UPPER(c); - if (cmd_char(c) != CC_OK) - return (MCA_DONE); + /* + * Got a match. + * Remember the option and + * display the full option name. + */ + cmd_reset(); + mca_opt_toggle(); + cmd_setstring(oname, !opt_lower); } } else if (!ambig) { @@ -473,7 +481,7 @@ static int mca_opt_char(char c) * or one char of a long option name, * or one char of the option parameter. */ - if (curropt == NULL && len_cmdbuf() == 0) + if (curropt == NULL && cmdbuf_empty()) { int ret = mca_opt_first_char(c); if (ret != NO_MCA) *** 6463 LINES SKIPPED *** From nobody Tue Jun 10 07:57:28 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bGh3D2vtpz5tNTV; Tue, 10 Jun 2025 07:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bGh3D2KT6z3kx1; Tue, 10 Jun 2025 07:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749542248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fy5iSDo3X09NaVwekxVbpn3rk8pnPHuqbenbx26hJO4=; b=ncsjYAckqXZLh8i33yBPfqYY1qILz/t0cqGQANfyXI31POXMQ2W1mmfZDvWD2SvW27nMwo wLJQehUk/cpZIf+3Y5oukXlLh+YOtUuRKokltPlY9bZVyLERAXXI2Pgwof0Ldo+50TXEdk JpOl4vdWWq2FQJeI/88VJwCRNdbz1x2saVhDh6J1/fY/ga4M/Cz71YJpWpICUvplZl5/lf pYbbpPpgGn2VENCtmVGXbNkqPgIZRTvZ0jVardID+u6dZFUp/D9tgURlVX2rsX7+UA0r3W FZA761sYHpxYl+8XzOYzKq2vI8CLjFVFQK/ChT9R+gBjdrqjpFhpzqTDJxzYjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749542248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fy5iSDo3X09NaVwekxVbpn3rk8pnPHuqbenbx26hJO4=; b=dvKWc1FUkDbuHB6tqxU08zelst0rg7EEutqMfB++PMZNhcQ8XMpv4SAznadC2dz/87nPY8 7xFv9RRm3fRdMw/RI7YIplO9VQRGM59ses99ATvMrqLQvwiyX7DaGZPHXBE/27CpzCi10h 23WskMlgvZY9V1nMFmpqtIJcrFNxH5G0xDdRagm8mcHzAfrNqnXdy4K8RLSkgNu9UdMNAC AF+1pVsKuXoBvXtBmtadj0O1DWjq1YgsmXcMjVzFBjKTGkVfYWuU4ugItORmafm0Wl5MMx uZlGs+DUg3y68s5VLir7vdmMFJPQjJAwBiQJfTVmI2DnRko0244R/Q6wb9zZ+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749542248; a=rsa-sha256; cv=none; b=N3z9xmvQhYrzI6J4gPSXhpEO00s7wvOxiXzJv0uJ0/zsFk06+8+7HDz/TY8t4KMjqiEhdL rID8Oh7OeduN1JovoUqPkNYTpSipFCxUt1XwkWpIL+Qppo06VmIzT9YMsa0R57PMTh3IO4 O/vDyWRwQ7dnOLn/0O9c3KO7gyzZ9/KJiWmgfVrCa36nUNp5IQ9nmTXFuIG1v1GR8hyFty Av0BYlU1FS1/JQJHTw/IahbyxFW9SPVlyNONfj2H8ojJn+xE05j/vhUFCW0P8kD7wWoV1+ Wi8LX3YtNF49pKT6fKY0kbWU4+C0vZo+ePEbLVkcvz2H8tQf3hitosQYweFuaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bGh3D1f8pzYnc; Tue, 10 Jun 2025 07:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55A7vSsH011559; Tue, 10 Jun 2025 07:57:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55A7vSC0011556; Tue, 10 Jun 2025 07:57:28 GMT (envelope-from git) Date: Tue, 10 Jun 2025 07:57:28 GMT Message-Id: <202506100757.55A7vSC0011556@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Maxim Konovalov Subject: git: b53120be1656 - stable/14 - if_bridge.4: clarify how if_bridge assigns a MAC address List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b53120be165637066b06203f246364a128041a2f Auto-Submitted: auto-generated The branch stable/14 has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=b53120be165637066b06203f246364a128041a2f commit b53120be165637066b06203f246364a128041a2f Author: Maxim Konovalov AuthorDate: 2025-06-03 19:19:59 +0000 Commit: Maxim Konovalov CommitDate: 2025-06-10 07:52:00 +0000 if_bridge.4: clarify how if_bridge assigns a MAC address PR: 283400 MFC after: 1 week (cherry picked from commit 08bc0097734824ff436769a95569e32575b51da3) --- share/man/man4/bridge.4 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 index 2c3bfd6aedfa..da47ba62b854 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 28, 2025 .Dt IF_BRIDGE 4 .Os .Sh NAME @@ -79,10 +79,12 @@ command or using the variable in .Xr rc.conf 5 . .Pp -The +When it is created, the .Nm -interface randomly chooses a link (MAC) address in the range reserved for -locally administered addresses when it is created. +interface gets assigned a link (MAC) address in the range of universally +administered addresses reserved for the FreeBSD Foundation by hashing +the host UUID, jail name, and the interface name. +If this fails, a random, locally administered address is generated instead. This address is guaranteed to be unique .Em only across all From nobody Wed Jun 11 09:14:06 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjB3bkWz5yysQ; Wed, 11 Jun 2025 09:14: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 4bHKjB13syz3lJ9; Wed, 11 Jun 2025 09:14:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z56cxfc/3fRAKEUpJxre8KXlrTQSTavQxsF4L6EBT/4=; b=uEwlKNXPCuYJAOeKoJiQ/eJgVkjv0ze3+Bg73ha0/3Egpcq88w+UCq62qTIF+7E/x3uurO O5EL3fsgy9wi6o8O4pVGrX5Occf+mFyjiPWzMaI4d92ZhN9RDhaGGubG+9zirmDNt7JHmZ qxNANhEHoqr5EKu0/YI97x0EAfxLM9EOP24EbzcXPjmMwNxiocYnmCag/jh4fFcs88/MSZ YqKkoIBzSg0U+rVZfirxEb7IOQNH2VvZZxYsd0xW93nitrzhZUo7qrhLxejzV9PVE7sJjw axSNo80pL4geFvpH1pPdkObwnMdXr+47dMjQPjPqdJqrJ7NpVKwgWkdPr+TtHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z56cxfc/3fRAKEUpJxre8KXlrTQSTavQxsF4L6EBT/4=; b=frZa8R4qbN83p1eHDmkwHGfAIampS2bnq8PoyUR+4ANnPAojaZZb3O2SJtxrEjpF5EuxBa 464/EF4+FmXQ1ISPNIh7YnIldLqdZdJerH4yWYoRQhkFQRODB2of46RlYS5LhmVM+V1o4H h0vUQnFCFUPgG5muwJ5acJZJxjt3kiu+nGv4WUtHBFDEI43gSbf41fz5Aoy2bGjskN2y4G jjGLbkG8FLfbL9lquRGlCN9qypeyz+z3GMCAPWppHp4Z4OF48HXVD4wZ3NauBSxmuxFmKz lTj99SCjQn8EedJcrs8RSWf8AiyXsSzVodtLJMVrjXxhOvwFhSFEuYuGiV+PWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633246; a=rsa-sha256; cv=none; b=omQC1dupRSrSxmhwcqAv8d99vFl1YNPP+cK4LG6fq+tMwq4XdzDT7WKUzYwJAstg8QE/0E 8gBdZaLsUINUZ/CccYHQDcUARk3Wn3pHzl8jWAIhbhZOL2oTGNpxXAiNp2yQR6l9zBxjeb bwWL6qyxVw2dIjh1eTqZf6l8xcKdV8Ux51ONx0nqTLuLbrnq8pewIkBub6+0Uiv9DCT7eu rqgu94QGPHNs94+AJpkQRzPiQDEBGFS5lP5mCiJN1sxnc2KtterhXDufwQ8JYsziR9G9Sm XXnZYJBRoh68nSkuDifpDl8/AhcOazq4PVL7rO/YyIOjFY6xkhvvuSUqjBmviA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjB0d6Sz528; Wed, 11 Jun 2025 09:14: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 55B9E6Q5061651; Wed, 11 Jun 2025 09:14:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9E67G061648; Wed, 11 Jun 2025 09:14:06 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:06 GMT Message-Id: <202506110914.55B9E67G061648@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5c6453c588e8 - stable/14 - LinuxKPI: 802.11: ensure bandwidth <= channel bandwidth List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5c6453c588e8e1bad37d7dc5ad1cdb7e04576814 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5c6453c588e8e1bad37d7dc5ad1cdb7e04576814 commit 5c6453c588e8e1bad37d7dc5ad1cdb7e04576814 Author: Bjoern A. Zeeb AuthorDate: 2025-04-23 23:15:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:37:28 +0000 LinuxKPI: 802.11: ensure bandwidth <= channel bandwidth While we could select our own channel width and station bandwidth indepedent of net80211 that is not a good idea and will lead to trouble. Make sure the station bandwidth we select does not exceed the bandwidth of the channel we are tuned into. Now that VHT160 work we may locally disable it (-vht160) and the AP may still support it but we would be on a 80Mhz channel. Or we do support VHT160 but the AP does not. Again we would be on a 80Mhz channel and not support 160Mhz. Sponsored by: The FreeBSD Foundation (cherry picked from commit 9df0d1f3d1f3dd8823800210dd49e40170d5abd8) --- sys/compat/linuxkpi/common/src/linux_80211.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index da4342b0c479..ca7f80069225 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -522,6 +522,7 @@ static void lkpi_sta_sync_vht_from_ni(struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_node *ni) { + enum ieee80211_sta_rx_bw bw; uint32_t width; int rx_nss; uint16_t rx_mcs_map; @@ -545,19 +546,38 @@ lkpi_sta_sync_vht_from_ni(struct ieee80211_vif *vif, struct ieee80211_sta *sta, if (ni->ni_vht_chanwidth == IEEE80211_VHT_CHANWIDTH_USE_HT) goto skip_bw; + bw = sta->deflink.bandwidth; width = (sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK); switch (width) { + /* Deprecated. */ case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ: case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ: - sta->deflink.bandwidth = IEEE80211_STA_RX_BW_160; + bw = IEEE80211_STA_RX_BW_160; break; default: /* Check if we do support 160Mhz somehow after all. */ if ((sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_EXT_NSS_BW_MASK) != 0) - sta->deflink.bandwidth = IEEE80211_STA_RX_BW_160; + bw = IEEE80211_STA_RX_BW_160; else - sta->deflink.bandwidth = IEEE80211_STA_RX_BW_80; + bw = IEEE80211_STA_RX_BW_80; } + /* + * While we can set what is possibly supported we also need to be + * on a channel which supports that bandwidth; e.g., we can support + * VHT160 but the AP only does VHT80. + * Further ni_chan will also have filtered out what we disabled + * by configuration. + * Once net80211 channel selection is fixed for 802.11-2020 and + * VHT160 we can possibly spare ourselves the above. + */ + if (bw == IEEE80211_STA_RX_BW_160 && + !IEEE80211_IS_CHAN_VHT160(ni->ni_chan) && + !IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) + bw = IEEE80211_STA_RX_BW_80; + if (bw == IEEE80211_STA_RX_BW_80 && + !IEEE80211_IS_CHAN_VHT80(ni->ni_chan)) + bw = sta->deflink.bandwidth; + sta->deflink.bandwidth = bw; skip_bw: rx_nss = 0; From nobody Wed Jun 11 09:14:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjC49nsz5yysR; Wed, 11 Jun 2025 09:14: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 4bHKjC26j2z3lMh; Wed, 11 Jun 2025 09:14:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kVJ+oHScjHhBN4mPQKKuLo31IxIKGPG86Mpq4J1sevE=; b=rPNlG/hbQnzf/WTFNJ0Nhgv0Nwi3qn4Hdi2zjogLg+OptXjbjWz4oWjYLNnZHvTdz8aCBg B7D+YXtT3PHnNbY4ZwhKDqVRJoI4GqRb0SAJT5P9l3DfJ4nNBZSZXH6cI2vKgTErnFShrt FvmhSI8hnYCaMjHRRXOdvDGEcP5d+lv2ul7h2jvMCN32MNiWg/JREn4Z2vqgq0BDyc2D4/ XBN1javnUIrlhXDzqvb4MfxgODXoeJnl9XNAP04OH7MBPRBfP6CRz2vXzpKll3QsHL7cSE b0OCI0vTMlL2zFQYs19iG1l0ej4Vi7aDpbtwGNwr5TWeK9ICk/7mEUt01oixbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kVJ+oHScjHhBN4mPQKKuLo31IxIKGPG86Mpq4J1sevE=; b=FR4C4DazvTWNr8szoNTYk37g2pFj6tHcVQG8QZJGin9bmqeaMs5cDmcTj5JEGpQSWBvfXi e1nct05yk5rhgq6DZGOXAOIk7Q/8LPaac3xjqZnjF32sk/ORvyrLgpiVbEDXC+bh1hib3F xvxQBhx4Tq7D/nZUHBxrno0i6GKWj2CUPv0SWRQ0y/KfGAzf3rT3CLNSctPrCQDkE2eVsF ZzS4TB/wiaX/nqv/3rMVLNbZ5rYo7oA+sNHwpvOgB40Efb/AQhUNCa9OxZ5hfW0Mpoimbz vRvN36JJnf/tHjaom8PcwxRicoGZ6D7aU/xGIrDgTsNPtjPOc6PBnW4WZbNqfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633247; a=rsa-sha256; cv=none; b=Py0qza4ADxefPOs+Hpi7U5MR5kPT9Jl1EJUpyqH91hUUNJaEO8tt8L12O1aF/djmwiQuTF EVsb9yZj1+8YRHGeE/nNY0YuUsFmaw8VJUSgSoCBcBbnF9mI18dD72WdHDXZTogmn/KFXr yf+qmh3PZ0dKFY8uEqS7F04ni/Q6n52MUtFgP842kX7XMzlCrnfVMRHQMpsseaVzAKg/sT sfcFdhy9OUoIfTzFqbcHDc7ovmR3aHycRft09AR8cpTYm2Y4a2NsSIa8ymfh5bo3s+8O4q 3ho3IPXrkf/xaFxiu699JQuOcoU5STe83HeZpAbwN0lKZzRNOjn26jiBIzeJ/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjC1kQHz5bQ; Wed, 11 Jun 2025 09:14: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 55B9E7ar061687; Wed, 11 Jun 2025 09:14:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9E7jd061684; Wed, 11 Jun 2025 09:14:07 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:07 GMT Message-Id: <202506110914.55B9E7jd061684@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 24d7e316092c - stable/14 - LinuxKPI: 802.11: switch to m_get3() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 24d7e316092cba9ea284aad38f45e4bd22a7e2c1 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=24d7e316092cba9ea284aad38f45e4bd22a7e2c1 commit 24d7e316092cba9ea284aad38f45e4bd22a7e2c1 Author: Bjoern A. Zeeb AuthorDate: 2025-04-30 22:06:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:37:33 +0000 LinuxKPI: 802.11: switch to m_get3() Start using m_get3() instead of m_get2() as we may get up to 11K frames and m_get2() only gives us up to MJUMPAGESIZE (8K). Sponsored by: The FreeBSD Foundation Discovered by: adrian with rtwn(4) [see D50049]. (cherry picked from commit 02382a0ac822b88e17d86643e27964eba18479e0) --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ca7f80069225..e79ee01a6b32 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6810,7 +6810,7 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, * For now do the data copy; we can later improve things. Might even * have an mbuf backing the skb data then? */ - m = m_get2(skb->len, M_NOWAIT, MT_DATA, M_PKTHDR); + m = m_get3(skb->len, M_NOWAIT, MT_DATA, M_PKTHDR); if (m == NULL) { counter_u64_add(ic->ic_ierrors, 1); goto err; From nobody Wed Jun 11 09:14:08 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjD3t6rz5yybM; Wed, 11 Jun 2025 09:14: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 4bHKjD3Kn8z3lFJ; Wed, 11 Jun 2025 09:14:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nh1mz93BGM/NMAp7e6RFrlv3Dyad/UdtkKtYmpICt2Q=; b=a/tWucTSCR4Uog4/OHL1x3IDsOxBh4rTwNB1Rm7fXGUW+0ssqZ77A5refUZy2YONCmvkF/ PXz2624LL9RHFErdZRhA/QSa/r44mbZWoVC9vXZ54Lklt5/ix1bF+wxg/P5RCnPb+JIQQW xrKw+KaKntYnVpj54VUi7qhv/TD1eZSLZGNm6LeaABAGhb///v6vGYpRAS2AwBdDsjDGFp mY1DX66SPLhR3NbkwbYxT3tktn/OmshTAfc6sJwLhFWB+KhkQTg+LBL0ePBqwvZLWrPhEI C+rVO9LAeN/NbaU7kTw/u9jF11/5bmGTTS59b9CEHID68foZwPE+cKFGTxJB4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nh1mz93BGM/NMAp7e6RFrlv3Dyad/UdtkKtYmpICt2Q=; b=wLG33qmWjncZw+vjR4mWf6LgtUrL/kOsiaLooPr4Wd+9eWQP2KxJFccVnxq0xFB04cdmwE tsmcHw/LnvifuHr40XJqZ+3OHWpst+zVDn7lGLh14Gt/gs1FD0pgQ1qrRGbIebui+e+gOW Fln9QrVNZ2e1QKazm2cQsPtvb2ukkO4PIMcOcYbp4KUol+9TxKwQM0RkYt0PgrlYev6Uwo ylJg7oOd/wF2K/am/0Ettaj822DjpvCX8O3LsR98dN9/zb/E2AZvpaxx0HLe9feE+0NVxI NfRSWPm9QGS7Xf9r232K7Bl+fug/qgJCGLnRdc1SEDmeWZwcIT3E7GHTImU6ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633248; a=rsa-sha256; cv=none; b=B1SvP4schklDu2D0wKy7S6SDnPQcDx6dhaC6j4vVcLyz+P9jIFP3ztrEtHqAIecwQybcHS bK/cR1krjvZVOSRbjogwh/VwNA+uomk32Jt6WviOPxB2rZ8OLQKrupcV2OL3SiOsNrK9r+ Wrp3k0iHdJUEK4sW/vhMNuRQyFY/76UkpqI2PrQjtYdL4ECDzvGaeMnNoRiDc7q4MDWhy3 2CycrDjbogO6pMpOCpAfpuT5etChjWDRfQ/eDMoRP4NHOCj26rWf1j1Qe4/QevNqL0iGTf IPRK5wnlpFrPA4cvZmo7itFIGxjt2gWsIdEphI7ACQh4MrqyPURV8c2aeK3WCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjD2dSnz4lP; Wed, 11 Jun 2025 09:14: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 55B9E8BH061723; Wed, 11 Jun 2025 09:14:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9E8gt061720; Wed, 11 Jun 2025 09:14:08 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:08 GMT Message-Id: <202506110914.55B9E8gt061720@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: bba50bee339b - stable/14 - LinuxKPI: skbuff: make csum_unfold return __wsum List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bba50bee339b8665ff11bec9ae8e8f06907d4a35 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bba50bee339b8665ff11bec9ae8e8f06907d4a35 commit bba50bee339b8665ff11bec9ae8e8f06907d4a35 Author: Bjoern A. Zeeb AuthorDate: 2025-05-10 01:39:25 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:37:38 +0000 LinuxKPI: skbuff: make csum_unfold return __wsum Given the internal field now stores a __wsum csum (after we added the type) also make sure csum_unfold() returns a __wsum. Sponsored by: The FreeBSD Foundation Fixes: 59481c7db234 (cherry picked from commit 36ca21722c2700e00e41444a29aeabf246eea90d) --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 8fe6bf158bc6..422bf99929c2 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -1046,7 +1046,7 @@ skb_orphan(struct sk_buff *skb) SKB_TODO(); } -static inline __sum16 +static inline __wsum csum_unfold(__sum16 sum) { return (sum); From nobody Wed Jun 11 09:14:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjG1KDTz5yysV; Wed, 11 Jun 2025 09:14:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHKjF482sz3lQP; Wed, 11 Jun 2025 09:14:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/tXZZkTHXpnMTq3iygllDuGJZBnmJETDq2eyCa9nYx8=; b=kynMMZE6PvCR2H+VyPoVxC1nRTV94D1XBTIhoTlXya9Dh+YtJwDz6cjeHtJGtAWGqhN4VK xeqo2YdldBw5ev3dkQyE9RDia8XWrV0RFrO1ZVLQJRRVnjPfvIieSUmDz3W/leAjuH6WXU 362qtmctT1cGmjx4WzyLWFMCLm7IK5m9AmGgFaygUbWcsnGajD3W3Oqq0JA2lLpYN52Av4 zk8EzXc6MET4l1sVDP6YJ+nC0gNdusvXKd5/lfac9WrIr7RkRQXU31tUQ8+2AeoG8z2kJj uqkfVq9thvTycLls6gcPgfplXkdqbM24CEcQicWgMnq+OI3LKT4cazuPZcri2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/tXZZkTHXpnMTq3iygllDuGJZBnmJETDq2eyCa9nYx8=; b=AgYvpQkZ4i0N0TdXpBbaeGeObr1xfUBUgNZe91V4oxwU8Re4BgySGr+D/yW9G/XWx05nLV 2PukuLiL607wjp2XwpjAW3cm3GaO04AsiaJYZ6BwR4WtYMGuEoABPaQp2OcqQMSouj7Frs yX9ZGYgI0+EBwKyKDK4nILNEaRucc0kvGVqchswajNH1KYeYsmzlfr5nbgERJm8ZlTLAhf qb6BDoXlO9rpqq/6ChHLiEvc0ctxxPCh1qSG9LcZYhkliZ2ZfN3JXhr6NjLoE/OkSJEZmz 9mQuERyhq8BhzzIO3LgPGTL3LlQB/lD6JycUKktz4REBqVrAh1ejPCwEyrYy/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633249; a=rsa-sha256; cv=none; b=fkhoVgFk64iZhXUPl/LHxZArGLp++gWxwEHBx0eE/2OzXt9iVr5ZImLz6OPYZ2MJiUaIWC ZEZZYxElAunE8xsujsGq5OakxqjY0OsVqHOnoq8y2ZU2ly1XwafRlksJ3+VigFpBz0aB56 mQwDfnL+VVK9GZAXpDtfanBPZUT04G4pwjQPG6dG/rdQ285VoElV5qvfVeKglWg4fHS50h tf8h6IYALEOy6x0MR+nyUzuAYzl6JUZPgIWu45knrwZWQqeVF2GrER7YnDB4BO29k1zMWM kSdzZbt0hY1FlikOdp10PLtN6g+bkyzAm2unKVtqr76YNCV91P7QgzCpjae34g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjF3C17z5bR; Wed, 11 Jun 2025 09:14: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 55B9E9vC061760; Wed, 11 Jun 2025 09:14:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9E9OA061757; Wed, 11 Jun 2025 09:14:09 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:09 GMT Message-Id: <202506110914.55B9E9OA061757@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a6b0e518170f - stable/14 - LinuxKPI: netdev features style, annotate, and add %b decoding mask List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a6b0e518170f4f61a0fac6fd6e932c401fbc4605 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a6b0e518170f4f61a0fac6fd6e932c401fbc4605 commit a6b0e518170f4f61a0fac6fd6e932c401fbc4605 Author: Bjoern A. Zeeb AuthorDate: 2025-05-10 01:41:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:37:44 +0000 LinuxKPI: netdev features style, annotate, and add %b decoding mask Start to sort through the netdevice features to match them with FreeBSD. Annotate them a bit more verbose though the names are pretty telling already. While here adjust style(9) as well. Lastly add the bit definitions for use with printf(9) %b as names read easier than bitmasks. We will use that in LinuxKPI 802.11. No functional changes. Sponsored by: The FreeBSD Foundation (cherry picked from commit 4b6b9c1368b346f7093153d14e7931403ac3202d) --- .../common/include/linux/netdev_features.h | 24 +++++++++++++--------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/netdev_features.h b/sys/compat/linuxkpi/common/include/linux/netdev_features.h index 51d2586e8aac..fae82776b071 100644 --- a/sys/compat/linuxkpi/common/include/linux/netdev_features.h +++ b/sys/compat/linuxkpi/common/include/linux/netdev_features.h @@ -33,16 +33,20 @@ typedef uint32_t netdev_features_t; -#define NETIF_F_HIGHDMA BIT(0) -#define NETIF_F_SG BIT(1) -#define NETIF_F_IP_CSUM BIT(2) -#define NETIF_F_IPV6_CSUM BIT(3) -#define NETIF_F_TSO BIT(4) -#define NETIF_F_TSO6 BIT(5) -#define NETIF_F_RXCSUM BIT(6) -#define NETIF_F_HW_CSUM BIT(7) -#define NETIF_F_HW_TC BIT(8) +#define NETIF_F_HIGHDMA BIT(0) /* Can DMA to high memory. */ +#define NETIF_F_SG BIT(1) /* Can do scatter/gather I/O. */ +#define NETIF_F_IP_CSUM BIT(2) /* Can csum TCP/UDP on IPv4. */ +#define NETIF_F_IPV6_CSUM BIT(3) /* Can csum TCP/UDP on IPv6. */ +#define NETIF_F_TSO BIT(4) /* Can do TCP over IPv4 segmentation. */ +#define NETIF_F_TSO6 BIT(5) /* Can do TCP over IPv6 segmentation. */ +#define NETIF_F_RXCSUM BIT(6) /* Can do receive csum offload. */ +#define NETIF_F_HW_CSUM BIT(7) /* Can csum packets (which?). */ +#define NETIF_F_HW_TC BIT(8) /* Can offload TC. */ -#define NETIF_F_CSUM_MASK (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM) +#define NETIF_F_CSUM_MASK (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM) + +#define NETIF_F_BITS \ + "\20\1HIGHDMA\2SG\3IP_CSUM\4IPV6_CSUM\5TSO\6TSO6\7RXCSUM" \ + "\10HW_CSUM\11HW_TC" #endif /* _LINUXKPI_LINUX_NETDEV_FEATURES_H_ */ From nobody Wed Jun 11 09:14:11 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjJ6ZNBz5yyxQ; Wed, 11 Jun 2025 09:14: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 4bHKjH5Wyvz3lYG; Wed, 11 Jun 2025 09:14:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VbA8zAYkAY5xvbx1YYsltw4LPquikStWJ14oX/2icZc=; b=r2HTu2TBbnZ8vCUwq6fNFjS5gpBWFd7HX3p3zjHZSLcl5OSbAcvBi5N4bP3E2Mp0/T22gB iVjtpg7HcDbHwRTevNPQvEpgGvNz23kCayYQWVzhcqPLOlFzhWfpsclWouGUMOZ/cmHFW3 cK3E+nsIejL7+6esTc/aG7InVjZovI32+ZIHKClEs5HpmdBppZLFoDskazObST/rB39GUH nGTcBNF74pzv467Kgpsih41zPHO4MZkszTHYvCqch0u0ZJ6mDIl0UvQgrf0QBZtzzHS93u 8zv0dNX3yF8HZ93eeqf6lPMY0PUicxLKIkYKaPkvse8D3EKhPW5no9Ov7DLpdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VbA8zAYkAY5xvbx1YYsltw4LPquikStWJ14oX/2icZc=; b=r2IrU48hf15th5kSwouDu9mU9Y3oaek08Vr/NqbIynoBadQhoFuqchzIyd7ZifHbgOJOR6 1B/0ok9guLiyfcwZdmkecAKCIVnPdLhLZq5ByUI6wte93kBytcDr8tqmbpmHu/0Lyou7XW j1UlvYV2wqoJAgOnVTRzFB7x/L00NgTRHnidnDXXXCXF9CobucqNvih66a+gc2IFHQEyVZ tKXrN8YIWm38ZaussfPUkAb1pwHMl2dN9w9RavpAo+OTm+g628rFwCoSk/S0i1xgvzSKZy 8khaOIOxB9DJYf0a2J6TYxLhPZV3ltT4X7tIU6ennUppMGigy9n24N6GK3/EpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633251; a=rsa-sha256; cv=none; b=p/z62ZDEDSSOJn/sm9/c3smAN+pk+pt9bWgxArucEIAEb37JzctlQu7E0xHIiwQ1d9lBPK fbxZGdPp5MVW6p2RYLrSsLBMfti2gzKZoGbgqBuvjYkpjwyroQy4egpUbQ0RrdIhSHP8ZV HE1ek5syUtByOQJdSgrf/cLp1abpwEq9SIto9kNC5Z11uaRB+Mejrn5/dH0w7Rc/DIZGBx xMn/2P7clUioI9ovFYj8ImCllb8VH6Tl8pmzVq6pxSNN1tgdN03gA4bKCMK2EV98TqSl+D Q65naQJ7QjusWxY7+a5RYjn7iqFRcr6M9pJGVm8Redr0xqLa0TExfeM46UPPKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjH55rFz5VK; Wed, 11 Jun 2025 09:14: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 55B9EBHj061837; Wed, 11 Jun 2025 09:14:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EBNx061834; Wed, 11 Jun 2025 09:14:11 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:11 GMT Message-Id: <202506110914.55B9EBNx061834@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e4d034ed0bcd - stable/14 - LinuxKPI: 802.11: use macros for locking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e4d034ed0bcd5d5a8104ffe92ae422c01123e7cb Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e4d034ed0bcd5d5a8104ffe92ae422c01123e7cb commit e4d034ed0bcd5d5a8104ffe92ae422c01123e7cb Author: Bjoern A. Zeeb AuthorDate: 2025-05-25 16:44:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:37:57 +0000 LinuxKPI: 802.11: use macros for locking Rather than using inline functions use macros so we know where we are taking the lock in the code rather than only recording the inline function location. Sponsored by: The FreeBSD Foundation (cherry picked from commit d87ee937ed852cd22eac808bc8fcf7b0e34c9ec1) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 1e4f917a2796..7849c77062dc 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1408,20 +1408,11 @@ wiphy_dev(struct wiphy *wiphy) return (wiphy->dev); } -#define wiphy_dereference(wiphy, p) \ - rcu_dereference_check(p, lockdep_is_held(&(wiphy)->mtx)) +#define wiphy_dereference(_w, p) \ + rcu_dereference_check(p, lockdep_is_held(&(_w)->mtx)) -static __inline void -wiphy_lock(struct wiphy *wiphy) -{ - mutex_lock(&wiphy->mtx); -} - -static __inline void -wiphy_unlock(struct wiphy *wiphy) -{ - mutex_unlock(&wiphy->mtx); -} +#define wiphy_lock(_w) mutex_lock(&(_w)->mtx) +#define wiphy_unlock(_w) mutex_unlock(&(_w)->mtx) static __inline void wiphy_rfkill_set_hw_state_reason(struct wiphy *wiphy, bool blocked, From nobody Wed Jun 11 09:14:10 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjJ6Wbqz5yytv; Wed, 11 Jun 2025 09:14: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 4bHKjH32K0z3lFg; Wed, 11 Jun 2025 09:14:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QyrmC+ODxAypTErx2pnq8eH/9EveJ/2vcI+V0GbJ/yo=; b=aokPJk299ebkd/A3Z2XVajyRxZPhasqb8x84o46AgfL0PV7wiV3qsXZqcQkqYlcR2CB+eI mIUskcSrENMfDRywI0YztThVgBkJHBobaHRHqJ4JLPV/K7rNyzfV7bJe1ql1jBg1iBxHLs mB+USpQ7pj6vEgH1FR2XOdjrOf8a4dn0U/bRjTxBw6qJ94iphPnx6Td5J6tE447ddgChpj SJrVrUaGP+5nBNBbi0QSKsL+z02TS1zsJIKKjZsiKky2ddwVfPfsPVlklVmQ7FNaruQdOb NemTP3navjZvUsFVpgV9RVSzRrbxMc1LViaqTU+gsqam8fdp4hcTpWB88z9Ung== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QyrmC+ODxAypTErx2pnq8eH/9EveJ/2vcI+V0GbJ/yo=; b=R+4Ba0ZZqmioO8GwvBtSXnwFducqCOtRxC6vg35DYp0K4ivqR6Q3U4afdwZYAtGaJ0Kr2r 5h7xX554n4cN+yx06nzAEVLxLwdEzUZItyFJwPHePwegHVzyXFpjgVKMxs1H3gS8Oh8mvI I0YTN4I6WFXvd9SK9kF93B3vu5fDD9J8zQLGGQq6ZsWLDez7cEh0gEjU5boF1xB/I8j2mh 8e95LkLzj7GR0jgv+lzy8CHzyg95Noqqf7RpKlYA+tbTmPfqZDA9XcYGOTO/I6WB33Q3xm FgOja2DuAu7a8OE2Nwd6k4A/FGkB+ZtLZLyLn4euJnCEFoAYf1s/HdbbyrxXUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633251; a=rsa-sha256; cv=none; b=okYkKaxN/FMOCuPYriCD5AacOOKtOhCIiRgD35yy8pbg9R4e1FJ5DOYKfkV4Q4NiK6IhAn 6dumZieAKEnRQisKZA6bIrXkpG7YtXByCN3P2O1F+HCqZ3MqatSzVTqDfu7nwbOZAS/8hG Y4V7c5HDfLOXJ5k2qD4f1fjFNwIus//TfZAsZhY5HEnPa87KlAczXyoiyH61v5UKuKP3q4 0j6FqZS1W/Qv+CDNSctd0OGNdZiEi4xPggz62kd4Z472eBggx0NLKNBOxjP3T0OWSJ0q/c Tx9Etm+FVRlNiLxF51gcO2iJE1H5uHyVSlZ5kWS31D8L0Zb0OlGlF3r9Oauf6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjG3rYjz4lQ; Wed, 11 Jun 2025 09:14: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 55B9EAo0061801; Wed, 11 Jun 2025 09:14:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EACn061798; Wed, 11 Jun 2025 09:14:10 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:10 GMT Message-Id: <202506110914.55B9EACn061798@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 87cb97dcdef3 - stable/14 - LinuxKPI: 802.11: move rx_nss check to be at least 1 into sync function List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 87cb97dcdef3f2f271d5fcad6a1155408f0b4a97 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=87cb97dcdef3f2f271d5fcad6a1155408f0b4a97 commit 87cb97dcdef3f2f271d5fcad6a1155408f0b4a97 Author: Bjoern A. Zeeb AuthorDate: 2025-05-14 00:30:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:37:53 +0000 LinuxKPI: 802.11: move rx_nss check to be at least 1 into sync function We set rx_nss to at least 1 and the sync functions for HT and VHT are careful not to set it to 0. Rather than relying on that and any possible future call to lkpi_sta_sync_from_ni() migrate the MAX() call into the sync function after each standard level went through to make sure that at the end we at least have rx_nss set to 1. Sponsored by: The FreeBSD Foundation (cherry picked from commit 34c150cc5fdb3c599bb6ff14eb56afee00c45258) --- sys/compat/linuxkpi/common/src/linux_80211.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index e79ee01a6b32..ffa1c1f23339 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -619,6 +619,13 @@ lkpi_sta_sync_from_ni(struct ieee80211_hw *hw, struct ieee80211_vif *vif, #if defined(LKPI_80211_VHT) lkpi_sta_sync_vht_from_ni(vif, sta, ni); #endif + + /* + * Ensure rx_nss is at least 1 as otherwise drivers run into + * unexpected problems. + */ + sta->deflink.rx_nss = MAX(1, sta->deflink.rx_nss); + /* * We are also called from node allocation which net80211 * can do even on `ifconfig down`; in that case the chanctx @@ -2938,7 +2945,6 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int IMPROVE("net80211 does not consider node authorized"); } - sta->deflink.rx_nss = MAX(1, sta->deflink.rx_nss); IMPROVE("Is this the right spot, has net80211 done all updates already?"); lkpi_sta_sync_from_ni(hw, vif, sta, ni, true); From nobody Wed Jun 11 09:14:12 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjK3s1cz600Hh; Wed, 11 Jun 2025 09:14: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 4bHKjJ686Vz3lWg; Wed, 11 Jun 2025 09:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VoGZeFgq191G0Z6Drqc8us38lsPN0rtkgaX+dLTZWwk=; b=FsX1CXDEvkKKYxn/BeiWWmrhI/L8QqwMywDukujOpuyG2R876o4WKlMRhdhSNetno+tXpU Sqn0WqIZa2MMSzXJc6Nco+j3tUwAJLGb2mxCfE6ppNouknbx7hwTL0DW9atSpYi3t6Xl83 K5cAM9UJjiRv88kjwgoLIDOIJo3Rm2DHaaEsq+Z4BUih5bgNreHPReOVsTwg8dMj1RHt+v zUT3chdTba10dtShdcyhBXXpfmWmT7j2uArgdTmywsd6foOyW4uKMAs5CrandEEaUzaPQC RXwdo3tJZAg3C+uI0ihFx+wxKtwt0gxJn4jsBZWbRPI72q1awJyDw6CnYMu6Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VoGZeFgq191G0Z6Drqc8us38lsPN0rtkgaX+dLTZWwk=; b=Yvsn1/oqy53/kePvVa+XJr8h6WVuDUvEG1btikiuAELm2zLnpm6eQs4R0wj2mA5bYZZ5Dk W6BBXgVbS908y6f4FsJWsaeG0ZWGnUFOBHia/hryVKTHMZpsxlZH4grfFyHmv6eOoUkX3v vjZMsVqDMdYh9KzVGTRDne0jYZDHy9xq2K6Bs1bEthEvR6pDmtrScco5KGy2hPhTrXR7Yd X20X9dp5O0gAyJsgcdJDu1TzrzJ4ywRIA6J4WKVeSLq85Los8SxZ7DJ0caEDyfpiP7P6ih 4FGayZg6u6X7QeJt65Aa+FU+eto8su9ntxZpAJrF6wuXzbrq8WsLljtgH462Cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633252; a=rsa-sha256; cv=none; b=kj9hik93Lrkgrjfp89r7Fwb2PosIDB0NFrNv9bQtGNNdittm00MmuB3ddxap9WsIiH+vFF /BtOYOBvIa+bSpLOx/iSjAokl6ObOzb6OZuRdtxmKzvc9pxIwc0heQEX2UYYmqP39RWiQa 1YnKHPAIWW3WQz6dnQSLJsHpeeAubMKFaw0bs6FZNklv+pY53wjMkvktMkxyo5UlXATIwv EzYqtNiXnUTcelk8vxnrolRQhdkjZAsU0TBJFVmTTr8cI0qhwvyvT361FW7CN4t32JVAPT Zpl8Ti9SIxiy63Lv2/AlHZGjFFeDJH1PXvB8BYS2T529SJjTY1mh3lvUmyZdiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjJ5fKfz5dj; Wed, 11 Jun 2025 09:14: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 55B9ECnl061872; Wed, 11 Jun 2025 09:14:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9ECnB061869; Wed, 11 Jun 2025 09:14:12 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:12 GMT Message-Id: <202506110914.55B9ECnB061869@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ec4021380ce7 - stable/14 - LinuxKPI: skbuff: add dummy skb_copy_header() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ec4021380ce71c1845e37c0480a805fbf136efdd Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ec4021380ce71c1845e37c0480a805fbf136efdd commit ec4021380ce71c1845e37c0480a805fbf136efdd Author: Bjoern A. Zeeb AuthorDate: 2024-07-29 16:09:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:38:02 +0000 LinuxKPI: skbuff: add dummy skb_copy_header() There's one case which needs skb_copy_header(); add a dummy function for now until we get to the code which uses it to test an implementation. Sponsored by: The FreeBSD Foundation (cherry picked from commit 84c5998ccb0b3e8a401d1f2b5a32649e88847d63) --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 422bf99929c2..c8ad90281e34 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -1001,6 +1001,13 @@ skb_get_queue_mapping(struct sk_buff *skb) return (skb->qmap); } +static inline void +skb_copy_header(struct sk_buff *to, const struct sk_buff *from) +{ + SKB_TRACE2(to, from); + SKB_TODO(); +} + static inline bool skb_header_cloned(struct sk_buff *skb) { From nobody Wed Jun 11 09:14:13 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjL1ypFz5yyxR; Wed, 11 Jun 2025 09:14: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 4bHKjL02RCz3lNw; Wed, 11 Jun 2025 09:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=45zMT3Yqb8zpujS5jMiF342qRh0p9z+jwi19i8I/MMA=; b=T+I8Co+kRqMX2ELRwSUnhThwHCHz/UjHa/Bg7kMOsEhF/9lF832ZnPiIYQI4QytbsGQ1sL jCRbUfAO182eiVAs8K+3JsLm5j93SroU1l9F84w0EsM5X+eTNAklymyCVrqMm89rk/dlA8 ovwra7Xc4Ewr2RTabrt8e0FTudqbjK2X7xf2cA79dCc/DYVvQutpNnfQPHhUpAttCl/2d9 xQSF0HnjWm3C2L1MShxvIwzD1umL0XczRdab+X11FyjP8oSlkiasU5MqtjUT1vqe4sT/1W AzF83wBsny3b6qxb8w1GS+mYC1XHOxkDO5X+OqTCWTnPcEcZXjJY4f3wTXWUaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=45zMT3Yqb8zpujS5jMiF342qRh0p9z+jwi19i8I/MMA=; b=qYDoQOdpAyMH+Pr8P2MO2nLBsAF2TgWa3P/uZyX7UefTljj1vGhX1ePg9YEsc+mNycwi3x z89mtkdGsO/SqwIsfoAhAPSaDiN2sJ+Epu0YJOWWfgroezz9ZGYHX92ON1uXm11VlD6Wm5 y9RNIdt6VT5wQxr14uAH8C9oFHCP2TfkGj+pEI9fXjxoxS9x4NtwSACx7Z4W5Rtc3BFbT5 FYutVkNky06lhm/BF3RHkhG5puJOdeuNfM4BAPLCHCchJjpWjjlcfg2GIZlkKxp2mmi0Ib gf117vCA1wrVm8ZT5GafdBkIUu3jUc6/voosDKlFzZ96eROOcu49PsVdr+Zp8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633254; a=rsa-sha256; cv=none; b=odJRfk01r34igfMxsZpIBtutHAGXSkrCegj0Xx5ILSIFHLHVj2cMsIJVsryBdeEiuf9NkU iGtjHOzbIHmWr6hI3XsvuSoCp5S2zTbYz641Y42BYbnWPLYhIr4jhfyrUHv64ErJxW6XD4 2N4N8rrVZSwbYMw7YUjm/OFq0PHO924vYX3qoduRyDwYFU+9fKP//lJ7LIoH//RSGGuAX9 QUmcaCZqYH22QZST2ADvC2cPu5qU2zNhNr8+iPnMqxEcv25VSMYyElzO5DM644iPM+9KU3 xoddB5SJ7Yi8WzrqLn85awluCFjDNWlboC7Zkk96f9+NYGnVdJ8jfmX+rakNXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjK6hJbz5dk; Wed, 11 Jun 2025 09:14: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 55B9EDe2061907; Wed, 11 Jun 2025 09:14:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EDW5061904; Wed, 11 Jun 2025 09:14:13 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:13 GMT Message-Id: <202506110914.55B9EDW5061904@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e7d1282ccacd - stable/14 - LinuxKPI: 802.11: add ieee80211_purge_tx_queue() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e7d1282ccacd99c1e0eb9eb538c823d2aa21f2fd Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e7d1282ccacd99c1e0eb9eb538c823d2aa21f2fd commit e7d1282ccacd99c1e0eb9eb538c823d2aa21f2fd Author: Bjoern A. Zeeb AuthorDate: 2025-05-26 00:31:36 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:38:06 +0000 LinuxKPI: 802.11: add ieee80211_purge_tx_queue() Add ieee80211_purge_tx_queue() dummy function needed by rtw88 SDIO. Sponsored by: The FreeBSD Foundation (cherry picked from commit 9cac7351868d0e896a648ffe354b001ced55acfa) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index f8eb180d63a1..6ce6a6384c12 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1,6 +1,6 @@ /*- * Copyright (c) 2020-2025 The FreeBSD Foundation - * Copyright (c) 2020-2022 Bjoern A. Zeeb + * Copyright (c) 2020-2025 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -1454,6 +1454,13 @@ ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, linuxkpi_ieee80211_handle_wake_tx_queue(hw, txq); } +static inline void +ieee80211_purge_tx_queue(struct ieee80211_hw *hw, + struct sk_buff_head *skbs) +{ + TODO(); +} + /* -------------------------------------------------------------------------- */ static __inline uint8_t From nobody Wed Jun 11 09:14:14 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjM50TSz600FL; Wed, 11 Jun 2025 09:14: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 4bHKjM0zsgz3lYl; Wed, 11 Jun 2025 09:14:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXoiTRDTp4CrGBOmhEBiq54M2J4VGRweQ44Rh0fWPVA=; b=vvuMwzdBVOh6f5k/vJrqj+68j2eh5LvxvK84cBDXDEsOY7YXvkheG5wav67Q6yBhripIbF MJw4VIhluqAVfIRwCtr+TS20Y66bDzbvu4r+wP1P10GfgMWI3mNOE+wkZE8z7X2+mlnRLD LwsxhAmdO39z3jJWUZ1jpouwVxLJeqLcgbskneXp9QmdY3ajs+tdrWxkEp0y9FagA5T2f5 rk4cCrHS3XsqZmnXzqR6bDY8Ya3f4nThYWPuwrf45vCtthNcsLiMnupUuUZPzRh9BZrJKG SwNJKmxSQtlMpIdzm3w5Tzux2YBIu+8f71v4LJLcmFtIlD+9dD8mg3mm2t5bOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXoiTRDTp4CrGBOmhEBiq54M2J4VGRweQ44Rh0fWPVA=; b=Pgi2+mvZ8mDm9xO+V73HOUjIVASBn2IWY14nWebVA4RM73wdIXGhHnz2oyfCVimcuNswEy 13z7y2T7bsmhUGJW3mw5tt1EaZQMNRje1iBnUBCi+owq4r+pj0qMlT/Wt0YDhp3zJm8i0I Z2xgrFHR/MZmgZT0MAHiuw5HxKda6o/C+ZEU3yJyphiowa0+ZJFeuc/pNj0yt7y16/QCvM a2SJztkZG2ioPi+8nugJ9sa5M91IzRoij302x2j7r21Tw5fU4FeHDbuwLIy6s9GxUGU4wx CB1xGIyxuC9kT3kZ4d481p0LUi4lzfUeo8oTzB/LRaz/Ygf0nINdjjZ0sYjz7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633255; a=rsa-sha256; cv=none; b=A1E/o/DbR2M4RfIvUwj5gdk7lINgMOxnSE6nt8ea5+mz9ywCacFeLfGGETe+HN6VFAxJxY XkGnw+1W0/l1BgWe005vlCIptaUrFQQYscbshTPeN90TJ+2jgEFwjZOk+MiIplQX3/AJjQ 3la8kKBWnIGuEroxDBT5+0mQXs6rjsq0vniHWDveJb5yAJy7xuAPl0V9nC4coKpkTgYmX+ 1FvZumTH5PUSrDYRrPsn4UT6wIR/HP8hb1nH464Jo8UK66KlZdy13WNtmJE3vtf4t6CkDH +G886FDbTm/KRYETNcPkfa6Za4hoccM8hCMRdQtg/pIO24P10O7ZxzGPg2i+SA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjM0bnrz5bS; Wed, 11 Jun 2025 09:14: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 55B9EE1H061942; Wed, 11 Jun 2025 09:14:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EEBN061939; Wed, 11 Jun 2025 09:14:14 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:14 GMT Message-Id: <202506110914.55B9EEBN061939@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 2888dc2e5d78 - stable/14 - LinuxKPI: 802.11: update HE structures List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2888dc2e5d781de3ea17f4598e247ab0673096da Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2888dc2e5d781de3ea17f4598e247ab0673096da commit 2888dc2e5d781de3ea17f4598e247ab0673096da Author: Bjoern A. Zeeb AuthorDate: 2025-06-02 15:49:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:38:13 +0000 LinuxKPI: 802.11: update HE structures Update strutures needed for 11ax (HE) to be correct. Add references to the standard. Sponsored by: The FreeBSD Foundation (cherry picked from commit 71f854e5a01a347174d09d594b3d490f806cf850) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 28 ++++++++++++++--------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 7849c77062dc..e9af70f751d4 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -895,28 +895,34 @@ struct linuxkpi_ieee80211_regdomain { #define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT) +/* + * 802.11ax-2021, + * 9.4.2.248.2 HE MAC Capabilities Information field. + * 9.4.2.248.3 HE PHY Capabilities Information field. + */ struct ieee80211_he_cap_elem { u8 mac_cap_info[6]; u8 phy_cap_info[11]; } __packed; +/* 802.11ax-2021, 9.4.2.248.4 Supported HE-MCS And NSS Set field. */ struct ieee80211_he_mcs_nss_supp { - /* TODO FIXME */ - uint32_t rx_mcs_80; - uint32_t tx_mcs_80; - uint32_t rx_mcs_160; - uint32_t tx_mcs_160; - uint32_t rx_mcs_80p80; - uint32_t tx_mcs_80p80; + uint16_t rx_mcs_80; + uint16_t tx_mcs_80; + uint16_t rx_mcs_160; + uint16_t tx_mcs_160; + uint16_t rx_mcs_80p80; + uint16_t tx_mcs_80p80; }; -#define IEEE80211_STA_HE_CAP_PPE_THRES_MAX 32 +#define IEEE80211_HE_CAP_PPE_THRES_MAX 25 + +/* net80211::ic_ieee80211_he_cap */ struct ieee80211_sta_he_cap { - /* TODO FIXME */ - int has_he; + bool has_he; struct ieee80211_he_cap_elem he_cap_elem; struct ieee80211_he_mcs_nss_supp he_mcs_nss_supp; - uint8_t ppe_thres[IEEE80211_STA_HE_CAP_PPE_THRES_MAX]; + uint8_t ppe_thres[IEEE80211_HE_CAP_PPE_THRES_MAX]; }; struct cfg80211_he_bss_color { From nobody Wed Jun 11 09:14:16 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjN5SVKz600FM; Wed, 11 Jun 2025 09:14: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 4bHKjN2gD0z3lRW; Wed, 11 Jun 2025 09:14:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VqL6+isrrBDYC9EFXW/eYxtfB+880RhBrUOQnQ1ihNE=; b=aJwxFkQZtnfgauTnXlegrEiKb9cjj51whgf/4Z4DIJauF14yW0fnvkkXT8nxUYfsgFksts TN0Bv6H39kwmuRKY3BM0oLjLZN6f5BbqDJEFlIFtghIDk5Hm/MaPgig/1NA1gWK24pcGGe UgPoeMLlJRF+ezonROHoQkF8aZpF3NMbu5ebEiStCscfjpiSOttJ8575fm0nMHoHX2gslG /u+1mUtZDs+OvObhd/PEP4qerIlv+guvcLUmTTfbyVimMXLC/+oZ8OMdrAmO+mX/d9+Iv4 8AEm6Gw3tBZMjcGE306NiafX0lLTRJQGT0UAonPVhIEOsYejKGwxJKeHBFPsnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VqL6+isrrBDYC9EFXW/eYxtfB+880RhBrUOQnQ1ihNE=; b=i+iTBj5opEzuGHxREHxYzZIjhxojpJlRifpqdKxLchekpsUociCSCSTeobMVvQp/W3hyVf pbp+mnhZRORM38ncDnY5sOTcDlzu6S5yMKtI6Bxmz+HUoU38M1ysys/ptYzsBKTQST1usd X0Ro/w7Dl2k/9n722vI1gBG4v6R00u0KOq3t0fT+WEo/I/tv9UBZp+BvE1sbKvWJXbBdFX 8o1XqtBaDLq88mgYelAnpL6rJ+EedJphnVxbLwp7b7dZkxPUsOxuS3vLujDYBrPN/LC1Gi W320UTFBM1cIaLeXyMF+lALBqLQontRFbqSYvbqfx/gVqJydethGxRTns5T9mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633256; a=rsa-sha256; cv=none; b=k+MEqxLWNx2D57YADJZ4xOyhp/iV0ewcMPPnfjX4wdvswJhVxG+L6tj8Rb/+PZnHbY6ss7 P6EQjvD7n8SxA/fFcjml41TpUDQkYCpFAuJT7X9/w3r4uXIps6nred9w4tNvtnrnNkrEi/ VVUpeujz36Go+yZKmvkJXhBZCGxwflDwuYMO/32t5jZbPwTbhDZVCnv+9DFpj/nzHBExn6 4OkZ6sotTl/Fllo8cnf882zTDI37rcXShhKqrsNs/pOrBRK5PaJX0vi8Jh7fHtHv1DNszM 9Sa1wOUS0z1zb3o962+KyLKycUYz4ZF24f4d8EgQzhqrUwqjKsJ/AGItPhGxPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjN1mC8z5VL; Wed, 11 Jun 2025 09:14: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 55B9EGPv061977; Wed, 11 Jun 2025 09:14:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EG8j061974; Wed, 11 Jun 2025 09:14:16 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:16 GMT Message-Id: <202506110914.55B9EG8j061974@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5d1d86b3dd4d - stable/14 - LinuxKPI: 802.11: make synching from HT more resilient List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5d1d86b3dd4dfc48d14c5af74270a97a26d71a95 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5d1d86b3dd4dfc48d14c5af74270a97a26d71a95 commit 5d1d86b3dd4dfc48d14c5af74270a97a26d71a95 Author: Bjoern A. Zeeb AuthorDate: 2025-05-27 19:33:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:38:18 +0000 LinuxKPI: 802.11: make synching from HT more resilient During testing I hit a case where htcap->mcs.rx_mask[0,1] were zero. This should not happen as that would mean we are not supporting HT. After adding extra caution for debugging I could no longer reproduce the case. So just to deal with the eventuality make synching from HT more resilient by checking that we have nss > 0 or otherwise disable HT operations. Move setting the bandwidth below this check to not alter it in case of the now early return. Sponsored by: The FreeBSD Foundation (cherry picked from commit 58dae28f665b32650f452730378693de40e96d68) --- sys/compat/linuxkpi/common/src/linux_80211.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ffa1c1f23339..6e65b49fb81b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -482,12 +482,6 @@ lkpi_sta_sync_ht_from_ni(struct ieee80211_vif *vif, struct ieee80211_sta *sta, sta->deflink.ht_cap.cap = htcap->cap_info; sta->deflink.ht_cap.mcs = htcap->mcs; - if ((sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) != 0 && - IEEE80211_IS_CHAN_HT40(ni->ni_chan)) - sta->deflink.bandwidth = IEEE80211_STA_RX_BW_40; - else - sta->deflink.bandwidth = IEEE80211_STA_RX_BW_20; - /* * 802.11n-2009 20.6 Parameters for HT MCSs gives the mandatory/ * optional MCS for Nss=1..4. We need to check the first four @@ -496,11 +490,21 @@ lkpi_sta_sync_ht_from_ni(struct ieee80211_vif *vif, struct ieee80211_sta *sta, */ rx_nss = 0; for (i = 0; i < 4; i++) { - if (htcap->mcs.rx_mask[i]) + if (htcap->mcs.rx_mask[i] != 0) rx_nss++; } - if (rx_nss > 0) + if (rx_nss > 0) { sta->deflink.rx_nss = rx_nss; + } else { + sta->deflink.ht_cap.ht_supported = false; + return; + } + + if ((sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) != 0 && + IEEE80211_IS_CHAN_HT40(ni->ni_chan)) + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_40; + else + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_20; IMPROVE("sta->wme"); From nobody Wed Jun 11 09:14:17 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjP5WsFz600FN; Wed, 11 Jun 2025 09:14: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 4bHKjP37Fsz3lnl; Wed, 11 Jun 2025 09:14:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RkBrYwt6u4UtZ3dTsiHk4FW54l7YU/T4itCFBZiWtXM=; b=pG3SPUI5aFYVqmQUvFjK1tVPeW/swQydNA1t/MHIv3Fi68chA6ppeeyl5imJTswK485/WE Izvakm2uPuWG+1jTKs3nEo2XvygrzNq61orH+RvxIuHpPvS5Bgk3T5Sj8i9V/mNqzCL1uY I3H8tWkIkTnQXV4gruZ8atXKmU2a9hx7GXcePVxmdF6frGG3REB0JtWbWC8lwU7STdGE2Q s4/zPv/2ZH6sJA4SxYe3VWNwV2WYYCJdnWgk7YVy1hDvxJNomnhm2KWGda9RbHTE1eSv9z u0Bc5M8xiZbdRyWzaeZMZdFIsuBE4xSjkwp8jIMmw82TYP1RUzR60UYgH7qCUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RkBrYwt6u4UtZ3dTsiHk4FW54l7YU/T4itCFBZiWtXM=; b=G8uIfHELVcJ2u/wuI+74N1AZCveNL78+jtwjfrUs4IZ5M8dK9YGkttW8mj57d5A0ksrnen 8AS/TpHrPJOjow78HrfqLfSWfYLh6p+LP/eb9hx+r4p7x8pLtQ+trMfEcwrPZd3tWdPaaa LmtfRIScnwNICieJuI2RIBsKLPwoiNBgz1rNuUmfcM72VeQS2tOxhq9u6Ps8AEBjnEN0Bi whjUt7iQNBuYzmP/9e8QHXP8E4F93fERS6hMswyDpntXjzW/hNP+goUIQFni7yv0KqKZvX YSIMQUBAw8FHZXOSm6dQ8NUwaSf3Zgj8h0Uu4iRKu1gVKBy/VcbfHZkF9gh8Jw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633257; a=rsa-sha256; cv=none; b=qqt1/GIejTlJAoTq5298yebMtqirsXZEKHfaNSWb2756f4/a1FhoEoQ4fPLO9/wVEPb3/r cfOP1ChbmrrtWZ8CsrpZpwEmSY0uXloDP6LZsC1OeULcywdp/qlRcOHqSd9IC0D4owAJrL 2jiojFdkpnDRo1KdTZ45K8edhnHLshV4Pk2o1PokUC9yvs0V7Mb2j9oiT4fOtQAa2lPzLt reQGViTxxc7DG1yK/5/aPX/NTV354V7TPB5n8Ly7h1ohEv+bCz9T+zN4gsZZBg8/WEFD/+ /uoRfIrKlIVyN2fSqpLhykvVzZKoXCY+C+KY14T4oeVUpQPpqZ66qIFXCINZ1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjP2g0tz5hC; Wed, 11 Jun 2025 09:14: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 55B9EHWj062019; Wed, 11 Jun 2025 09:14:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EHap062015; Wed, 11 Jun 2025 09:14:17 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:17 GMT Message-Id: <202506110914.55B9EHap062015@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e7a49e39d261 - stable/14 - LinuxKPI: 802.11: add support for GCMP hw crypto offload List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e7a49e39d261b3cfd3549405cce16865ad89d7d2 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e7a49e39d261b3cfd3549405cce16865ad89d7d2 commit e7a49e39d261b3cfd3549405cce16865ad89d7d2 Author: Bjoern A. Zeeb AuthorDate: 2025-04-22 20:10:32 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:38:24 +0000 LinuxKPI: 802.11: add support for GCMP hw crypto offload For iwlwifi, rtw88, and rtw89 we can treat GCMP the same way as we treat CCMP which allows us to re-use the CCMP code for now. Add the missing case statements and factor out some common code. Allow IEEE80211_CRYPTO_AES_GCM_128 through our filter of supported cipher suites to announce it to net80211. Sponsored by; The FreeBSD Foundation (cherry picked from commit 29ddd583693aced69be48b545e1c7e7249bdfb9c) --- sys/compat/linuxkpi/common/src/linux_80211.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 6e65b49fb81b..5653bc2ffba2 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1415,11 +1415,12 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) lcipher = lkpi_net80211_to_l80211_cipher_suite( k->wk_cipher->ic_cipher, k->wk_keylen); switch (lcipher) { - case WLAN_CIPHER_SUITE_CCMP: - break; case WLAN_CIPHER_SUITE_TKIP: keylen += 2 * k->wk_cipher->ic_miclen; break; + case WLAN_CIPHER_SUITE_CCMP: + case WLAN_CIPHER_SUITE_GCMP: + break; default: ic_printf(ic, "%s: CIPHER SUITE %#x (%s) not supported\n", __func__, lcipher, lkpi_cipher_suite_to_name(lcipher)); @@ -1454,16 +1455,16 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) if (k->wk_flags & IEEE80211_KEY_GROUP) kc->flags &= ~IEEE80211_KEY_FLAG_PAIRWISE; + kc->iv_len = k->wk_cipher->ic_header; + kc->icv_len = k->wk_cipher->ic_trailer; + switch (kc->cipher) { - case WLAN_CIPHER_SUITE_CCMP: - kc->iv_len = k->wk_cipher->ic_header; - kc->icv_len = k->wk_cipher->ic_trailer; - break; case WLAN_CIPHER_SUITE_TKIP: memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY, k->wk_txmic, k->wk_cipher->ic_miclen); memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, k->wk_rxmic, k->wk_cipher->ic_miclen); - kc->iv_len = k->wk_cipher->ic_header; - kc->icv_len = k->wk_cipher->ic_trailer; + break; + case WLAN_CIPHER_SUITE_CCMP: + case WLAN_CIPHER_SUITE_GCMP: break; default: /* currently UNREACH */ @@ -1528,6 +1529,7 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) #endif break; case WLAN_CIPHER_SUITE_CCMP: + case WLAN_CIPHER_SUITE_GCMP: exp_flags = (IEEE80211_KEY_FLAG_PAIRWISE | IEEE80211_KEY_FLAG_PUT_IV_SPACE | IEEE80211_KEY_FLAG_GENERATE_IV | @@ -4809,6 +4811,7 @@ encrypt: TODO("sw encrypt"); return (ENXIO); } + static int lkpi_hw_crypto_prepare_ccmp(struct ieee80211_key *k, struct ieee80211_key_conf *kc, struct sk_buff *skb) @@ -4876,10 +4879,11 @@ lkpi_hw_crypto_prepare(struct lkpi_sta *lsta, struct ieee80211_key *k, return (lkpi_hw_crypto_prepare_tkip(k, kc, skb)); case WLAN_CIPHER_SUITE_CCMP: return (lkpi_hw_crypto_prepare_ccmp(k, kc, skb)); + case WLAN_CIPHER_SUITE_GCMP: + return (lkpi_hw_crypto_prepare_ccmp(k, kc, skb)); case WLAN_CIPHER_SUITE_WEP40: case WLAN_CIPHER_SUITE_WEP104: case WLAN_CIPHER_SUITE_CCMP_256: - case WLAN_CIPHER_SUITE_GCMP: case WLAN_CIPHER_SUITE_GCMP_256: case WLAN_CIPHER_SUITE_AES_CMAC: case WLAN_CIPHER_SUITE_BIP_CMAC_256: @@ -6124,6 +6128,7 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) * Also permit TKIP if turned on. */ hwciphers &= (IEEE80211_CRYPTO_AES_CCM | + IEEE80211_CRYPTO_AES_GCM_128 | (lkpi_hwcrypto_tkip ? (IEEE80211_CRYPTO_TKIP | IEEE80211_CRYPTO_TKIPMIC) : 0)); ieee80211_set_hardware_ciphers(ic, hwciphers); From nobody Wed Jun 11 09:14:18 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjR0CbYz6000x; Wed, 11 Jun 2025 09:14: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 4bHKjQ4Jkvz3llP; Wed, 11 Jun 2025 09: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=1749633258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=25dwEvO1MzPUxl4ePLxUpdqrw2QDz3bVcMwXzP81re0=; b=fYduTI0zR+r1/vtrmWh8mPivij9L+30tt7WfR7JPVvy8vil5GvnPJmrW7L6XztLF9UCu6u sS+hsozSKBn9uzMUiniDdHBTHd9R/N7ruM0IeMa+IeKA0Dy/VHACUOi0SNnSB4jNsLEjEU lRiBWnMTGGkg+NYNqOP9H1THBt0EwxKNXNGYiZCG8z4ctg4UwjISw+noKphRloElgvxNuH mCS5ORM0t8tOGqseNQ4Bntyd6M4wRra6hSAjDzrK/8jh9W0hYcOLsKb8LD+7WaI2Duvw7+ CQ2yNnLuGrh+2wugMldyVhhLvQm4uM5DttKZSA2Y2FTOt04/47BuPEGxwSjZTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=25dwEvO1MzPUxl4ePLxUpdqrw2QDz3bVcMwXzP81re0=; b=ALcxCwWIJe9e7s98l7TTGu41x1Mkn6+WQxjFlwHpF/kHBJ+2cj/uxxOUlh1KY1SSfWmbCc o9i+TlswhNVSj0MTQjz68rUmQY7PJ4Vf/JSczEtqE9+evQQIVpTkuRZJ8cg2VHdcwFIQj1 nQBuCVKNO4LdJwNr5Cb2mjX7RXmNuYvNqYWYYqbxe7QNjVAE75DV4X+go+pLTWuFWCRPBg /QqjbSg1bHiSBbI3Kyrbmts9fLc/KMphavENb58ZFpSN5NMGtn3HVZeVoMdJPElVAsFpaq ZM//vIRelw7jXap+Xit/MnxBnu2/jTzo7VU86/4bGLhr4uBg4SNP/mFSCORi5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633258; a=rsa-sha256; cv=none; b=QF82JJ68zTQbRxDVBpGxVrpsaKbrtnkpIpmqS4xsFdTLvO03T0aWjdqZUO+r/mfPMrgZvD RIIWyPLBMiStFzHqU6uLVMnPLR7jp3wgfcfjBkcSMnXUHZvuU65UZrLpOJRIw666Mmdffz UHbLL0ue5TP48G1p+MGh3x588Csy6MW555FowO1+XqXI4gSB52F1YjSApPMF/Y3syLSH8N Cdq7qAD2E+P6rEqKkEXdP1VDhtf6LZ8RJdOunwyqtfTE6GVcXQCR4st3TfdJWOjeQ4aTaC JYfG8z/XBoibXk4iK0B988Rq5dDLPw34NLFlLKaIwAatFkEGFBbeLtxfz5jaEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjQ3vq7z5n8; Wed, 11 Jun 2025 09: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 55B9EInQ062055; Wed, 11 Jun 2025 09: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 55B9EIE5062052; Wed, 11 Jun 2025 09:14:18 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:18 GMT Message-Id: <202506110914.55B9EIE5062052@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 897906f49ef2 - stable/14 - LinuxKPI: 802.11: WEP noise List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 897906f49ef2e7497db295a978e5aac40e3e02aa Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=897906f49ef2e7497db295a978e5aac40e3e02aa commit 897906f49ef2e7497db295a978e5aac40e3e02aa Author: Bjoern A. Zeeb AuthorDate: 2025-06-05 11:11:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:38:31 +0000 LinuxKPI: 802.11: WEP noise While we decided that we will not provide WEP support for the LinuxKPI 802.11 compat code, some of it is in there already (also because drivers still support it). Put proper keylen checks in place as net80211 only knows about WEP while LinuxKPI has WEP40 and WEP104. Sponsored by: The FreeBSD Foundation (cherry picked from commit aaee0ed3d163a1d29ea74d7e4d2c3658a51cfb27) --- sys/compat/linuxkpi/common/src/linux_80211.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 5653bc2ffba2..89c067409774 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1064,10 +1064,15 @@ lkpi_net80211_to_l80211_cipher_suite(uint32_t cipher, uint8_t keylen) switch (cipher) { case IEEE80211_CIPHER_WEP: - if (keylen < 8) + if (keylen == (40/NBBY)) return (WLAN_CIPHER_SUITE_WEP40); - else + else if (keylen == (104/NBBY)) return (WLAN_CIPHER_SUITE_WEP104); + else { + printf("%s: WEP with unsupported keylen %d\n", + __func__, keylen * NBBY); + return (0); + } break; case IEEE80211_CIPHER_TKIP: return (WLAN_CIPHER_SUITE_TKIP); From nobody Wed Jun 11 09:14:19 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjS0tDJz600FY; Wed, 11 Jun 2025 09:14: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 4bHKjR5qqqz3lpP; Wed, 11 Jun 2025 09:14:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Vu6nsXAX7u7WUS6bSvTNGLjmmKoM+LweO8zkTP63tE=; b=nTAeUNkvNx9p4B4qQjhVVTtMD/ADHk1DGYitAdatBbs2L/GxafN+eBHszA8uoxPnnP1Ltl 4AZ0m9v9QVF7J/6k2nH0RGzf8hWu673ti2jJBUfSPoBPoWYX9svus0/VUhBG4WPvNhnBzt DmwOIF6bVgta9ohpc6B9MEb5sLXt4NQVYmgMMN3WvA0xcuhgjWtASPok2vTeZFZouPvrs9 7a653dObjifiAc4S9CTk+sWxyjtEnPy2F263nPo4hDq5YK5PKO9Z+gxo4dxVTRAkLrsaX7 NuNFYju7PZgEaWpi379olX0Kx7v6HpXiv7Aa89TS7mJrHRdSvpmwCpGqegdGcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Vu6nsXAX7u7WUS6bSvTNGLjmmKoM+LweO8zkTP63tE=; b=h0GyFHQCFTbZtkBZZGpbc7Dr3XCcNegThiZeT+jXL7HpG7WdfTirvwa6ZVLsPyxDdKIECR eoQ2THPEqVf+F/TMVwLdZT6fOkQ+UIca5jsOtx7XNCy23XfH9eVy3qyaowP8k7qyzpbvep HbRiZoZmk19sfTiMvcc++c7pUgYHn9VDYoexunD/Apty22ppRGRqxmXzDWHYNmcCNZ4Bw9 myRAtfMopf/kDU6hAPWrgMJwz/4ebPFIpjSJwOyAJizCaM3zfKdp7p1S9SVy6tSDnSg4og k+ud6SEIg0mdcOSQOKLc8zV1ZRAEhJU5egqkFP3t4XsD5y8SqMsABbCYq49+qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633259; a=rsa-sha256; cv=none; b=kg47Il6AscLGPsBvDUi+bVekrDpec6+zSwOjpfYx7tBH2tub0zeofXY94d/Ocf1fu6jecf ewPNTAM8BmBe8udgMyIALd4NPl29tNGR1RLafAZ/0iCnZznUuRWWg5Ajw/zdSzzPCrq1VB Am2/IWzvmrIpc6EdENrlh2I+F9vo0xHbIVGbvS4WzF4esLPKAlq3Pxw1HbA4V3HogqQFh9 pNKyW1YovP8oZexusQCU07JtLzZT0UM9JcGroNX+q1/wZOhZiAly+lWPDpGzLs5JEBNgd+ JzbZmj7M5pfIha/Hhuj7zoazQu3ej7OIT3Iq8aPPRemte67eDOZzppcvkxvPaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjR5085z5VM; Wed, 11 Jun 2025 09:14: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 55B9EJK9062091; Wed, 11 Jun 2025 09:14:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EJLG062088; Wed, 11 Jun 2025 09:14:19 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:19 GMT Message-Id: <202506110914.55B9EJLG062088@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 6b45bbba7048 - stable/14 - net80211: add more information elements (IEs) definitions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6b45bbba70487a9ffa0d5d2b7e3cb5b0db63d9c6 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6b45bbba70487a9ffa0d5d2b7e3cb5b0db63d9c6 commit 6b45bbba70487a9ffa0d5d2b7e3cb5b0db63d9c6 Author: Bjoern A. Zeeb AuthorDate: 2020-12-08 14:59:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:39:34 +0000 net80211: add more information elements (IEs) definitions Annotate a few which are obsolete (gone). Naming as usual is questionable and I contemplated using the names from wpa with a different prefix but then we end up with another mix. While updating the reference to the newer standard I haven't made a full pass again and I cannot say which version I used in 2020. The motivation for this is to get rid of unknown IEs displayed in ifconfig and elsewhere. Sponsored by: The FreeBSD Foundation Fixes: 50982d26e45ba (MMIC -> MGMT_MIC) Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50671 (cherry picked from commit 173bbdba8f5197f5514100846727726b0875a39a) --- sys/net80211/ieee80211.h | 130 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 124 insertions(+), 6 deletions(-) diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index ddc062b285c4..40649dbe1886 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1025,6 +1025,8 @@ struct ieee80211_ie_vht_txpwrenv { /* * Management information element payloads. + * + * 802.11-2020 Table 9-92 (Element IDs). */ enum { @@ -1036,7 +1038,10 @@ enum { IEEE80211_ELEMID_TIM = 5, IEEE80211_ELEMID_IBSSPARMS = 6, IEEE80211_ELEMID_COUNTRY = 7, + /* 8, 9 reserved */ + IEEE80211_ELEMID_REQUEST = 10, IEEE80211_ELEMID_BSSLOAD = 11, + IEEE80211_ELEMID_EDCA_PARAM_SET = 12, IEEE80211_ELEMID_TSPEC = 13, IEEE80211_ELEMID_TCLAS = 14, IEEE80211_ELEMID_CHALLENGE = 16, @@ -1052,28 +1057,77 @@ enum { IEEE80211_ELEMID_QUIET = 40, IEEE80211_ELEMID_IBSSDFS = 41, IEEE80211_ELEMID_ERP = 42, + IEEE80211_ELEMID_TS_DELAY = 43, + IEEE80211_ELEMID_TCLAS_PROCES = 44, IEEE80211_ELEMID_HTCAP = 45, IEEE80211_ELEMID_QOS = 46, IEEE80211_ELEMID_RESERVED_47 = 47, IEEE80211_ELEMID_RSN = 48, + /* 49 reserved */ IEEE80211_ELEMID_XRATES = 50, IEEE80211_ELEMID_APCHANREP = 51, - IEEE80211_ELEMID_MOBILITY_DOMAIN = 54, + IEEE80211_ELEMID_NEIGHBOR_REP = 52, + IEEE80211_ELEMID_RCPI = 53, + IEEE80211_ELEMID_MOBILITY_DOMAIN = 54, + IEEE80211_ELEMID_FAST_BSS_TRANS = 55, /* FTE */ + IEEE80211_ELEMID_TIMEOUT_INTVL = 56, + IEEE80211_ELEMID_RIC_DATA = 57, /* RDE */ + IEEE80211_ELEMID_DSE_REG_LOC = 58, + IEEE80211_ELEMID_SUP_OP_CLASS = 59, + IEEE80211_ELEMID_EXT_CHAN_SW_A = 60, IEEE80211_ELEMID_HTINFO = 61, IEEE80211_ELEMID_SECCHAN_OFFSET = 62, + IEEE80211_ELEMID_BSS_AVG_D_ACC = 63, + IEEE80211_ELEMID_ANTENNA = 64, + IEEE80211_ELEMID_RSNI = 65, + IEEE80211_ELEMID_MEAS_PILOT_TRANS = 66, + IEEE80211_ELEMID_BSS_AVAIL_AD_CAP = 67, + IEEE80211_ELEMID_BSS_AC_ACC_D = 68, + IEEE80211_ELEMID_TIME_ADV = 69, IEEE80211_ELEMID_RRM_ENACAPS = 70, IEEE80211_ELEMID_MULTIBSSID = 71, IEEE80211_ELEMID_COEX_2040 = 72, IEEE80211_ELEMID_INTOL_CHN_REPORT = 73, IEEE80211_ELEMID_OVERLAP_BSS_SCAN_PARAM = 74, + IEEE80211_ELEMID_RIC_DESC = 75, + IEEE80211_ELEMID_MGMT_MIC = 76, + IEEE80211_ELEMID_MMIC = 76, /* To be removed */ + /* = 77, */ + IEEE80211_ELEMID_EVENT_REQ = 78, + IEEE80211_ELEMID_EVENT_REP = 79, + IEEE80211_ELEMID_DIAGNOSTIC_REQ = 80, + IEEE80211_ELEMID_DIAGNOSTIC_REP = 81, + IEEE80211_ELEMID_LOCATION_PARAM = 82, + IEEE80211_ELEMID_NONTRANS_BSSID_CAP = 83, + IEEE80211_ELEMID_SSID_LIST = 84, + IEEE80211_ELEMID_MULTI_BSS_ID = 85, + IEEE80211_ELEMID_FMS_DESC = 86, + IEEE80211_ELEMID_FMS_REQ = 87, + IEEE80211_ELEMID_FMS_RESP = 88, + IEEE80211_ELEMID_QOS_TRAFFIC_CAP = 89, + IEEE80211_ELEMID_BSS_MAX_IDLE_P = 90, IEEE80211_ELEMID_TSF_REQ = 91, IEEE80211_ELEMID_TSF_RESP = 92, IEEE80211_ELEMID_WNM_SLEEP_MODE = 93, IEEE80211_ELEMID_TIM_BCAST_REQ = 94, IEEE80211_ELEMID_TIM_BCAST_RESP = 95, - IEEE80211_ELEMID_TPC = 150, - IEEE80211_ELEMID_CCKM = 156, - IEEE80211_ELEMID_VENDOR = 221, /* vendor private */ + IEEE80211_ELEMID_COL_INTERF_REP = 96, + IEEE80211_ELEMID_CHAN_USAGE = 97, + IEEE80211_ELEMID_TIME_ZONE = 98, + IEEE80211_ELEMID_DMS_REQ = 99, + IEEE80211_ELEMID_DMS_RESP = 100, + IEEE80211_ELEMID_LINK_ID = 101, + IEEE80211_ELEMID_WAKEUP_SCHED = 102, + /* = 103, */ + IEEE80211_ELEMID_CHAN_SW_TIMING = 104, + IEEE80211_ELEMID_PTI_CONTROL = 105, + IEEE80211_ELEMID_TPU_BUF_STATUS = 106, + IEEE80211_ELEMID_INTERWORKING = 107, + IEEE80211_ELEMID_ADV_PROTO = 108, + IEEE80211_ELEMID_EXP_BW_REQ = 109, + IEEE80211_ELEMID_QOS_MAP = 110, + IEEE80211_ELEMID_ROAM_CONSORT = 111, + IEEE80211_ELEMID_EMERG_ALERT_ID = 112, /* * 802.11s IEs @@ -1103,17 +1157,81 @@ enum { IEEE80211_ELEMID_MESHPXU = 137, IEEE80211_ELEMID_MESHPXUC = 138, IEEE80211_ELEMID_MESHAH = 60, /* XXX: remove */ + /* XXX 139 */ + + IEEE80211_ELEMID_MIC = 140, + IEEE80211_ELEMID_DEST_URI = 141, + IEEE80211_ELEMID_U_APSD_COEX = 142, + IEEE80211_ELEMID_DMG_WAKEUP_SCHED = 143, + IEEE80211_ELEMID_EXT_SCHED = 144, + IEEE80211_ELEMID_STA_AVAIL = 145, + IEEE80211_ELEMID_DMG_TSPEC = 146, + IEEE80211_ELEMID_NEXT_DMG_ATI = 147, + IEEE80211_ELEMID_DMG_CAP = 148, + /* 149-150 reserved. */ + IEEE80211_ELEMID_TPC = 150, /* XXX: remove */ + + IEEE80211_ELEMID_DMG_OPER = 151, + IEEE80211_ELEMID_DMG_BSS_PARAM_CHANGE = 152, + IEEE80211_ELEMID_DMG_BEAM_REF = 153, + IEEE80211_ELEMID_CHAN_MEAS_FEEDB = 154, + /* 155-156 reserved. */ + IEEE80211_ELEMID_CCKM = 156, /* XXX: remove? */ + IEEE80211_ELEMID_AWAKE_WIN = 157, + IEEE80211_ELEMID_MULTI_BAND = 158, + IEEE80211_ELEMID_ADDBA_EXT = 159, + + IEEE80211_ELEMID_NEXTPCP_LIST = 160, + IEEE80211_ELEMID_PCP_HANDOVER = 161, + IEEE80211_ELEMID_DMG_LINK_MARGIN = 162, + IEEE80211_ELEMID_SW_STREAM = 163, + IEEE80211_ELEMID_SESS_TRANS = 164, + IEEE80211_ELEMID_DYN_TONE_PAIR_REP = 165, + IEEE80211_ELEMID_CLUSTER_REP = 166, + IEEE80211_ELEMID_RELAY_CAP = 167, + IEEE80211_ELEMID_RELAY_TRANS_PARAM_SET = 168, + IEEE80211_ELEMID_BEAMLINK_MAINT = 169, + IEEE80211_ELEMID_MULTI_MAC_SUBL = 170, + IEEE80211_ELEMID_U_PID = 171, + IEEE80211_ELEMID_DMG_LINK_ADAP_ACK = 172, + /* 173 reserved. */ + IEEE80211_ELEMID_MCCAOP_ADV_OV = 174, + IEEE80211_ELEMID_QUIET_PERIOD_REQ = 175, + /* 176 reserved. */ + IEEE80211_ELEMID_QUIET_PERIOD_RESP = 177, + /* 178-180 reserved. */ + IEEE80211_ELEMID_QMF_POLICY = 181, + IEEE80211_ELEMID_ECAPC_POLICY = 182, + IEEE80211_ELEMID_CLUSTER_TIME_OFFSET = 183, + IEEE80211_ELEMID_INTRA_ACC_CAT_PRIO = 184, + IEEE80211_ELEMID_SCS_DESCR = 185, + IEEE80211_ELEMID_QLOAD_REPORT = 186, + IEEE80211_ELEMID_HCCA_TXOP_UP_CNT = 187, + IEEE80211_ELEMID_HL_STREAM_ID = 188, + IEEE80211_ELEMID_GCR_GROUP_ADDR = 189, + IEEE80211_ELEMID_ANTENNA_SECTOR_ID_PAT = 190, - /* 802.11ac-2013, Table 8-54-Element IDs */ IEEE80211_ELEMID_VHT_CAP = 191, IEEE80211_ELEMID_VHT_OPMODE = 192, + IEEE80211_ELEMID_EXTENDED_BSS_LOAD = 193, IEEE80211_ELEMID_WIDE_BW_CHANNEL_SWITCH = 194, - IEEE80211_ELEMID_VHT_PWR_ENV = 195, + IEEE80211_ELEMID_VHT_PWR_ENV = 195, /* TX_PWR_ENV */ IEEE80211_ELEMID_CHANNEL_SWITCH_WRAPPER = 196, IEEE80211_ELEMID_AID = 197, IEEE80211_ELEMID_QUIET_CHANNEL = 198, IEEE80211_ELEMID_OPMODE_NOTIF = 199, + IEEE80211_ELEMID_UPSIM = 200, + IEEE80211_ELEMID_RED_NEIGH_REP = 201, + IEEE80211_ELEMID_TVHT_OP = 202, + /* 203 reserved. */ + IEEE80211_ELEMID_DEVICE_LOC = 204, + IEEE80211_ELEMID_WHITE_SPACE_MAP = 205, + IEEE80211_ELEMID_FINE_TIME_MEAS_PARAM = 206, + /* 207-220 reserved. */ + IEEE80211_ELEMID_VENDOR = 221, /* vendor private */ + /* 222-254 reserved. */ + IEEE80211_ELEMID_EXTFIELD = 255 }; struct ieee80211_tim_ie { From nobody Wed Jun 11 09:14:20 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjT3QsTz600BV; Wed, 11 Jun 2025 09:14: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 4bHKjS6lMwz3llp; Wed, 11 Jun 2025 09:14:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nyf7Qqn66TO+fLsNpJFjKwvdUivCsPybAL7Uhken5O0=; b=y0hhj1lrc2VAgkNa80SugU1CqSPAyWIxlnxOA7OFqRgCh8xOr6uGTOki3UbNTOCeBAuKgY 8v8giif1sBs7U6U3nkX0DithM6Pz9mIRJ5rlYle56mfoGWbGoHYB0WHEBQQxQwFGtIpZ5y RbyqbC4GLGSIUIL/qo/V1xlYn+4tYGksSPR/qbx7PWKCokyQl+/jIvTBXo/kwltDkFrkQg +Z2J27xGeMHf+lZXXixcWF4Pf1MGBDDFBJwKuIDfULRqOZyFo5CEMO2+mR3qBSXz8k2dET tpoUtqMMoYVZe3ks3zgvyszGunQhdL6y9SIj+wHuKeU1Q2nqTqzAHIiaLogmTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nyf7Qqn66TO+fLsNpJFjKwvdUivCsPybAL7Uhken5O0=; b=nAyeJ1dsmJwBBjvJb1G/UF0QrRw5U+ozAa6GS7mnTln7SH/dt8eEN+M9O5mRg2X7VZJjbv 6l5QIhIDtSPL91lfievO2wJQAF8rVv7A2gt35shZ+eMip16/h8Zstc2s8vZ9/AvtRSOwlu P0Iak+BMYrIZQw2PzP4sZlQZxG/pywTDy/W4PJDJvxG2R63Y2MgapRmfp8PDj0bjxBKSvS 3P3WSFT7nhCpk9dQe5AKWsTVAg0lpxbovRDFDQUtFmqyzTKnhFtZzlviB8a8AYNUApRbyg W59jxV2A5mgrWo/Qljd+ZmDPge/U4je2mG0O1X6K3NjdQ8J1sXIMEYmza8+MHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633261; a=rsa-sha256; cv=none; b=xfhv4efOU534QSAH29OnKjMlgMfOPEl7xsZr+Xsjs67v0EOy0YFZ1TY2wG2qWgp7v3KL0c 6vgucWa4bQT26K6rL/KkVjKuYmSii8SXlrMSjr0CkGR3qBFvXcQ6S/d6xhclWfMwjcAAZ1 BhbuOIt65vHIrNMwlx8nD4WLryVFGUPp1aRCzkDq8J3x+0D7PePwc84iQ/UQ8BICEvS5Uw U1+G0JKZB3Ih0oBfzc+KctrdXtKPsFSQ+gZsAvdOnwA9NNqyydZphMKPFPlElQHOIr/Zth PvWglpbmSI5+uYsZ+zaTSkCwN8NeGubDnDe3R1GpkLSz5FSdyMN5eV36EQWi+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjS5g50z5kr; Wed, 11 Jun 2025 09:14: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 55B9EKbf062127; Wed, 11 Jun 2025 09:14:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EKUI062124; Wed, 11 Jun 2025 09:14:20 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:20 GMT Message-Id: <202506110914.55B9EKUI062124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: c4c77498a34c - stable/14 - net80211: update IE list for 802.11-2020 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c4c77498a34c35ac4cccf300243e236a5296b1cb Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c4c77498a34c35ac4cccf300243e236a5296b1cb commit c4c77498a34c35ac4cccf300243e236a5296b1cb Author: Bjoern A. Zeeb AuthorDate: 2025-04-22 20:09:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:00 +0000 net80211: update IE list for 802.11-2020 Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50673 (cherry picked from commit beb51893cc292f24b3284b1465a58cba4c3059d7) --- sys/net80211/ieee80211.h | 76 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 21 deletions(-) diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 40649dbe1886..16daeb530133 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1032,9 +1032,11 @@ struct ieee80211_ie_vht_txpwrenv { enum { IEEE80211_ELEMID_SSID = 0, IEEE80211_ELEMID_RATES = 1, - IEEE80211_ELEMID_FHPARMS = 2, + /* 2 Reserved */ + IEEE80211_ELEMID_FHPARMS = 2, /* remove? */ IEEE80211_ELEMID_DSPARMS = 3, - IEEE80211_ELEMID_CFPARMS = 4, + /* 4 Reserved */ + IEEE80211_ELEMID_CFPARMS = 4, /* remove? */ IEEE80211_ELEMID_TIM = 5, IEEE80211_ELEMID_IBSSPARMS = 6, IEEE80211_ELEMID_COUNTRY = 7, @@ -1044,6 +1046,7 @@ enum { IEEE80211_ELEMID_EDCA_PARAM_SET = 12, IEEE80211_ELEMID_TSPEC = 13, IEEE80211_ELEMID_TCLAS = 14, + IEEE80211_ELEMID_SCHEDULE = 15, IEEE80211_ELEMID_CHALLENGE = 16, /* 17-31 reserved for challenge text extension */ IEEE80211_ELEMID_PWRCNSTR = 32, @@ -1061,6 +1064,7 @@ enum { IEEE80211_ELEMID_TCLAS_PROCES = 44, IEEE80211_ELEMID_HTCAP = 45, IEEE80211_ELEMID_QOS = 46, + /* 47 reserved */ IEEE80211_ELEMID_RESERVED_47 = 47, IEEE80211_ELEMID_RSN = 48, /* 49 reserved */ @@ -1068,31 +1072,30 @@ enum { IEEE80211_ELEMID_APCHANREP = 51, IEEE80211_ELEMID_NEIGHBOR_REP = 52, IEEE80211_ELEMID_RCPI = 53, - IEEE80211_ELEMID_MOBILITY_DOMAIN = 54, + IEEE80211_ELEMID_MOBILITY_DOMAIN = 54, /* MDE */ IEEE80211_ELEMID_FAST_BSS_TRANS = 55, /* FTE */ IEEE80211_ELEMID_TIMEOUT_INTVL = 56, IEEE80211_ELEMID_RIC_DATA = 57, /* RDE */ IEEE80211_ELEMID_DSE_REG_LOC = 58, IEEE80211_ELEMID_SUP_OP_CLASS = 59, - IEEE80211_ELEMID_EXT_CHAN_SW_A = 60, - IEEE80211_ELEMID_HTINFO = 61, + IEEE80211_ELEMID_EXT_CSA = 60, + IEEE80211_ELEMID_HTINFO = 61, /* HTOPER */ IEEE80211_ELEMID_SECCHAN_OFFSET = 62, - IEEE80211_ELEMID_BSS_AVG_D_ACC = 63, + IEEE80211_ELEMID_BSS_AVG_ACC_DELAY = 63, IEEE80211_ELEMID_ANTENNA = 64, IEEE80211_ELEMID_RSNI = 65, IEEE80211_ELEMID_MEAS_PILOT_TRANS = 66, IEEE80211_ELEMID_BSS_AVAIL_AD_CAP = 67, - IEEE80211_ELEMID_BSS_AC_ACC_D = 68, + IEEE80211_ELEMID_BSS_AC_ACC_DELAY = 68, IEEE80211_ELEMID_TIME_ADV = 69, - IEEE80211_ELEMID_RRM_ENACAPS = 70, + IEEE80211_ELEMID_RRM_ENACAPS = 70, /* RM_ENCAPS */ IEEE80211_ELEMID_MULTIBSSID = 71, IEEE80211_ELEMID_COEX_2040 = 72, - IEEE80211_ELEMID_INTOL_CHN_REPORT = 73, + IEEE80211_ELEMID_2040_INTOL_CHAN_REPORT = 73, IEEE80211_ELEMID_OVERLAP_BSS_SCAN_PARAM = 74, IEEE80211_ELEMID_RIC_DESC = 75, IEEE80211_ELEMID_MGMT_MIC = 76, - IEEE80211_ELEMID_MMIC = 76, /* To be removed */ - /* = 77, */ + /* 77 reserved */ IEEE80211_ELEMID_EVENT_REQ = 78, IEEE80211_ELEMID_EVENT_REP = 79, IEEE80211_ELEMID_DIAGNOSTIC_REQ = 80, @@ -1100,7 +1103,7 @@ enum { IEEE80211_ELEMID_LOCATION_PARAM = 82, IEEE80211_ELEMID_NONTRANS_BSSID_CAP = 83, IEEE80211_ELEMID_SSID_LIST = 84, - IEEE80211_ELEMID_MULTI_BSS_ID = 85, + IEEE80211_ELEMID_MULTI_BSSID_IDX = 85, IEEE80211_ELEMID_FMS_DESC = 86, IEEE80211_ELEMID_FMS_REQ = 87, IEEE80211_ELEMID_FMS_RESP = 88, @@ -1118,7 +1121,7 @@ enum { IEEE80211_ELEMID_DMS_RESP = 100, IEEE80211_ELEMID_LINK_ID = 101, IEEE80211_ELEMID_WAKEUP_SCHED = 102, - /* = 103, */ + /* 103 reserved */ IEEE80211_ELEMID_CHAN_SW_TIMING = 104, IEEE80211_ELEMID_PTI_CONTROL = 105, IEEE80211_ELEMID_TPU_BUF_STATUS = 106, @@ -1170,7 +1173,6 @@ enum { IEEE80211_ELEMID_DMG_CAP = 148, /* 149-150 reserved. */ IEEE80211_ELEMID_TPC = 150, /* XXX: remove */ - IEEE80211_ELEMID_DMG_OPER = 151, IEEE80211_ELEMID_DMG_BSS_PARAM_CHANGE = 152, IEEE80211_ELEMID_DMG_BEAM_REF = 153, @@ -1180,13 +1182,12 @@ enum { IEEE80211_ELEMID_AWAKE_WIN = 157, IEEE80211_ELEMID_MULTI_BAND = 158, IEEE80211_ELEMID_ADDBA_EXT = 159, - IEEE80211_ELEMID_NEXTPCP_LIST = 160, IEEE80211_ELEMID_PCP_HANDOVER = 161, IEEE80211_ELEMID_DMG_LINK_MARGIN = 162, IEEE80211_ELEMID_SW_STREAM = 163, IEEE80211_ELEMID_SESS_TRANS = 164, - IEEE80211_ELEMID_DYN_TONE_PAIR_REP = 165, + /* 165 reserved. */ IEEE80211_ELEMID_CLUSTER_REP = 166, IEEE80211_ELEMID_RELAY_CAP = 167, IEEE80211_ELEMID_RELAY_TRANS_PARAM_SET = 168, @@ -1210,12 +1211,10 @@ enum { IEEE80211_ELEMID_HL_STREAM_ID = 188, IEEE80211_ELEMID_GCR_GROUP_ADDR = 189, IEEE80211_ELEMID_ANTENNA_SECTOR_ID_PAT = 190, - IEEE80211_ELEMID_VHT_CAP = 191, IEEE80211_ELEMID_VHT_OPMODE = 192, - IEEE80211_ELEMID_EXTENDED_BSS_LOAD = 193, - IEEE80211_ELEMID_WIDE_BW_CHANNEL_SWITCH = 194, + IEEE80211_ELEMID_WIDE_BW_CHAN_SW = 194, IEEE80211_ELEMID_VHT_PWR_ENV = 195, /* TX_PWR_ENV */ IEEE80211_ELEMID_CHANNEL_SWITCH_WRAPPER = 196, IEEE80211_ELEMID_AID = 197, @@ -1228,9 +1227,44 @@ enum { IEEE80211_ELEMID_DEVICE_LOC = 204, IEEE80211_ELEMID_WHITE_SPACE_MAP = 205, IEEE80211_ELEMID_FINE_TIME_MEAS_PARAM = 206, - /* 207-220 reserved. */ + IEEE80211_ELEMID_SIG_OPEN_LOOP_LINK_MARGIN_IDX = 207, + IEEE80211_ELEMID_RPS = 208, + IEEE80211_ELEMID_PAGE_SLICE = 209, + IEEE80211_ELEMID_AID_REQ = 210, + IEEE80211_ELEMID_AID_RESP = 211, + IEEE80211_ELEMID_SIG_SECTOR_OP = 212, + IEEE80211_ELEMID_SIG_BEACON_COMPAT = 213, + IEEE80211_ELEMID_SHORT_BEACON_INTVL = 214, + IEEE80211_ELEMID_CHANGE_SEQ = 215, + IEEE80211_ELEMID_TWT = 216, + IEEE80211_ELEMID_SIG_CAPS = 217, + /* 218-219 reserved. */ + IEEE80211_ELEMID_SUBCHAN_SELECT_TRANS = 220, IEEE80211_ELEMID_VENDOR = 221, /* vendor private */ - /* 222-254 reserved. */ + IEEE80211_ELEMID_AUTH_CONTROL = 222, + IEEE80211_ELEMID_TSF_TIMER_ACC = 223, + IEEE80211_ELEMID_S1G_RELAY = 224, + IEEE80211_ELEMID_REACHABLE_ADDR = 225, + IEEE80211_ELEMID_SIG_RELAY_DISC = 226, + /* 227 reserved. */ + IEEE80211_ELEMID_AID_ANNOUNCEMENT = 228, + IEEE80211_ELEMID_PV1_PROBE_RESP_OPT = 229, + IEEE80211_ELEMID_EL_OP = 230, + IEEE80211_ELEMID_SECTORIZED_GRP_ID_LIST = 231, + IEEE80211_ELEMID_SIG_OP = 232, + IEEE80211_ELEMID_HDR_COMPRESSION = 233, + IEEE80211_ELEMID_SST_OP = 234, + IEEE80211_ELEMID_MAD = 235, + IEEE80211_ELEMID_SIG_RELAY_ACT = 236, + IEEE80211_ELEMID_CAG_NUMBER = 237, + /* 238 reserved. */ + IEEE80211_ELEMID_AP_CSN = 239, + IEEE80211_ELEMID_FILS_INDICATION = 240, + IEEE80211_ELEMID_DILS = 241, + IEEE80211_ELEMID_FRAGMENT = 242, + /* 243 reserved. */ + IEEE80211_ELEMID_RSN_EXT = 244, + /* 245-254 reserved. */ IEEE80211_ELEMID_EXTFIELD = 255 }; From nobody Wed Jun 11 09:14:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjV1xWXz5yysp; Wed, 11 Jun 2025 09:14: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 4bHKjT71Pcz3lm1; Wed, 11 Jun 2025 09:14:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=19nG1Ie8wdsGaVmAy1Qw+Li1DKIFWhND7C99XccCWjQ=; b=BEJNeHNSFcKuZLp8r0mtm+/KLHVQBRE6xfedcR4LV4C/Oq8zF8wTho/jvFyLk1iYH+Y9SL DY46IrWXD9vy+9MRn+yG46d+0g1Oe8/78MY+0ShXke8J8CwXXdRm1Yqja63UFgQTF931DZ Az7Sh4YxlW5zAfTD8K5OsBwvJ9oPauIkJB0kc0fbFTolGg4v8QDkE0d/QBsw2dKuovwFcJ u7mgyqlqS6mr3Ajvx021PtPhQpLhnXLk/6IDg6p7JlxK/gGPXJs6fL/7rP3BHE1AYPUJZ1 hYG19574xnEHEALp7FGaGNjVKAP3rzm7xNitoQ+XTC0UN0njgsoO/W67+tyNKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=19nG1Ie8wdsGaVmAy1Qw+Li1DKIFWhND7C99XccCWjQ=; b=gCLz7kid269erJLT9LGC/4CQ5LfIU1YeVERIRxJ61JfLWTpVbeMP4Gan232tgTiAIkdR0f q2hvdBc5MgUZLfGLRy/ftlOLo9qEJ6OITe/DPhikpKbnorKaVmkQQf4thNQrhnYty73nSH +Kvbu600Lf1h4IPjwP4cjKdDEZk54uvBY5sINWmyjeLECRe6qS1TmFLpGRS0uDJZtQNjTg camXzzuHUml90ik9ElY0iYKE7BbBUBJs8gcn4rrF0VlS21bBCal4jNuf+Ma3DItNTfDFye 3zyMPvogZ+9eDXf5kqHlUnZRwCJI/6kKj3s0KRWXphlox+4/xdPggPiebXOJAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633262; a=rsa-sha256; cv=none; b=Fj4uKdwE9IsbNyDOo9Bed/6Rzb9Mz2IH9+bEsCrpMJFIcj6W5P00TUwLsF8tOjMKCP1WUm oxg5WBN+oSfF5p/CtXvCV8sbYXlQIp2PfP9geKXN2XQ1Fli813bnyi8u0nI9c5jKLfWelZ T/eoveUwHPGUsujKEvEfrhSlyIutuJlRPbSEAL2ZmAxYYPydprS6Y40nwqzTii74Hnby4q 1jmL3LroYomuoXNcRNp/wjkn1MhR/E5qm7RWisJRsYOImxDsi34goC9g2MIzLuVFe1Eto7 52/fifVVFMda+VCYzB9kkd/k/BhWRMlUc/8V9C1/2UQRylmA6+VZzy7biaOd+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjT6bqHz529; Wed, 11 Jun 2025 09:14: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 55B9ELiD062163; Wed, 11 Jun 2025 09:14:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9ELMX062160; Wed, 11 Jun 2025 09:14:21 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:21 GMT Message-Id: <202506110914.55B9ELMX062160@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e95893ce015e - stable/14 - net80211: add the beginning of the extfield information elements (IE ext) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e95893ce015e7f7b071d6a30b685fe82977f06f6 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e95893ce015e7f7b071d6a30b685fe82977f06f6 commit e95893ce015e7f7b071d6a30b685fe82977f06f6 Author: Bjoern A. Zeeb AuthorDate: 2025-06-02 16:00:37 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:05 +0000 net80211: add the beginning of the extfield information elements (IE ext) The original list of IEs got expanded from TLV to TLextTV. If the T matches 255 then we have a second list of IEs where the meaning of TL stays the same. That means the 1 octet extT is part of the length and the value starts at ie+3. Start populating the list with IEEE802.11-2020 and 802.11ax-2021 values. They will be initially used to start decoding some of the announced IEs for ifconfig [-v] list (scan|sta). That should help users with AX-enabled APs to see this (rather than no or UNKNOWN_ELEMID_255 and make debugging easier once we implement 11ax. Sposored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50674 (cherry picked from commit fa02d9fceab7d452d5b3312a89b4e7b95529edcd) --- sys/net80211/ieee80211.h | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 16daeb530133..95bbed19a31a 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1027,6 +1027,7 @@ struct ieee80211_ie_vht_txpwrenv { * Management information element payloads. * * 802.11-2020 Table 9-92 (Element IDs). + * 802.11ax-2021 */ enum { @@ -1268,6 +1269,74 @@ enum { IEEE80211_ELEMID_EXTFIELD = 255 }; +enum ieee80211_elemid_ext { + IEEE80211_ELEMID_EXT_ASSOC_DELAY_INFO = 1, + IEEE80211_ELEMID_EXT_FILS_REQ_PARAMS = 2, + IEEE80211_ELEMID_EXT_FILS_KEY_CONFIRM = 3, + IEEE80211_ELEMID_EXT_FILS_SESSION = 4, + IEEE80211_ELEMID_EXT_FILS_HLP_CONTAINER = 5, + IEEE80211_ELEMID_EXT_FILS_IP_ADDR_ASSIGNMENT = 6, + IEEE80211_ELEMID_EXT_KEY_DELIVERY = 7, + IEEE80211_ELEMID_EXT_FILS_WRAPPED_DATA = 8, + IEEE80211_ELEMID_EXT_FTM_SYNC_INFO = 9, + IEEE80211_ELEMID_EXT_EXT_REQ = 10, + IEEE80211_ELEMID_EXT_EST_SERVICE_PARAM_INBOUND = 11, + IEEE80211_ELEMID_EXT_FILS_PUBLIC_KEY = 12, + IEEE80211_ELEMID_EXT_FILS_NONCE = 13, + IEEE80211_ELEMID_EXT_FUTURE_CHAN_GUIDANCE = 14, + IEEE80211_ELEMID_EXT_SERVICE_HINT = 15, + IEEE80211_ELEMID_EXT_SERVICE_HASH = 16, + IEEE80211_ELEMID_EXT_CDMG_CAPA = 17, + IEEE80211_ELEMID_EXT_DYN_BW_CTRL = 18, + IEEE80211_ELEMID_EXT_CDMG_EXT_SCHEDULE = 19, + IEEE80211_ELEMID_EXT_SSW_REPORT = 20, + IEEE80211_ELEMID_EXT_CLUSTER_PROBE = 21, + IEEE80211_ELEMID_EXT_EXT_CLUSTER_REPORT = 22, + IEEE80211_ELEMID_EXT_CLUSTER_SW_ANNOUNCEMENT = 23, + IEEE80211_ELEMID_EXT_ENHANCED_BEAM_TRACKING = 24, + IEEE80211_ELEMID_EXT_SPSH_REPORT = 25, + IEEE80211_ELEMID_EXT_CLUSTER_INTERF_ASSESS = 26, + IEEE80211_ELEMID_EXT_CMMG_CAPA = 27, + IEEE80211_ELEMID_EXT_CMMG_OPER = 28, + IEEE80211_ELEMID_EXT_CMMG_OPMODE_NOTIF = 29, + IEEE80211_ELEMID_EXT_CMMG_LINK_MARGIN = 30, + IEEE80211_ELEMID_EXT_CMMG_LINK_ADAP_ACK = 31, + /* 32 reserved. */ + IEEE80211_ELEMID_EXT_PASSWORD_ID = 33, + IEEE80211_ELEMID_EXT_GLK_GCR_PARAM_SET = 34, + IEEE80211_ELEMID_EXT_HE_CAPA = 35, + IEEE80211_ELEMID_EXT_HE_OPER = 36, + IEEE80211_ELEMID_EXT_UORA_PARAM_SET = 37, + IEEE80211_ELEMID_EXT_MU_EDCA_PARAM_SET = 38, + IEEE80211_ELEMID_EXT_SPATIAL_REUSE_PARAM_SET = 39, + IEEE80211_ELEMID_EXT_GAS_EXTENSION = 40, + IEEE80211_ELEMID_EXT_NDP_FEEDB_REPORT_PARAM = 41, + IEEE80211_ELEMID_EXT_BSS_COLOR_CHG_ANNOUNCE = 42, + IEEE80211_ELEMID_EXT_QUIET_TIMME_PERIOD = 43, + IEEE80211_ELEMID_EXT_VENDOR_SPECIFIC_REQ_ELEM = 44, + IEEE80211_ELEMID_EXT_ESS_REPORT = 45, + IEEE80211_ELEMID_EXT_OPS = 46, + IEEE80211_ELEMID_EXT_HE_BSS_LOAD = 47, + /* 48-51 reserved. */ + IEEE80211_ELEMID_EXT_MAC_CH_SW_TIME = 52, + IEEE80211_ELEMID_EXT_EST_SERVICE_PARAM_OUTBOUND = 53, + IEEE80211_ELEMID_EXT_OCI = 54, + IEEE80211_ELEMID_EXT_MULTI_BSSID_CONFIG = 55, + IEEE80211_ELEMID_EXT_NON_INHERITANCE = 56, + IEEE80211_ELEMID_EXT_KNOWN_BSSID = 57, + IEEE80211_ELEMID_EXT_SHORT_SSID_LIST = 58, + IEEE80211_ELEMID_EXT_HE_6GHZ_BAND_CAPA = 59, + IEEE80211_ELEMID_EXT_ULMU_POWER_CAAP = 60, + /* 61-87 reserved. */ + IEEE80211_ELEMID_EXT_MSCS_DESCRIPTOR = 88, + IEEE80211_ELEMID_EXT_TCLAS_MASK = 89, + IEEE80211_ELEMID_EXT_SUPPL_CLASS_2_CAPA = 90, + IEEE80211_ELEMID_EXT_OCT_SOURCE = 91, + IEEE80211_ELEMID_EXT_REJECTED_GROUPS = 92, + IEEE80211_ELEMID_EXT_ANTI_CLOGGING_TAOKEN_CONTAINER = 93, + /* 94-255 reserved. */ +}; + struct ieee80211_tim_ie { uint8_t tim_ie; /* IEEE80211_ELEMID_TIM */ uint8_t tim_len; From nobody Wed Jun 11 09:14:22 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjW3y8Vz60012; Wed, 11 Jun 2025 09:14: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 4bHKjW1QL3z3lqD; Wed, 11 Jun 2025 09:14:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8OxNjbqUKMvRTQ3/VCEkriWmCGVeaz0U+39ysU9hgII=; b=cWYPnIp2JVwbTp12wyHcofonD80fy0iqFO0mBIIsleh7v3qFE6My6lV8cMo0JXGzuNergl ygZWnk554tcBhCwkMh0K7WL0wSQhYNY/VD8q0dKwoiK6tP17eYKbUc5fhOun82EB+2Eq8o JHIv+JzTkJBTGZx70ThTPp9FqYAa44aKWmwE8pMpF5YDBIjahKtvU3x44eMbb/fJXepbyZ KVt6dzm3/cwYBxp9yiGt5LrHgvW/y0RF+Bzf9NtaCz31UxCW2FZEY4cxVnsgeRFmbw6QFb c8uXCP5rqOUoyV8Z/JfPeEjVt13r4A8AW157xb73pJK5sZbfbMTad/kSN3SS+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8OxNjbqUKMvRTQ3/VCEkriWmCGVeaz0U+39ysU9hgII=; b=eMpbxBgcOO6fUwmAmLW8oR2FFUiVQ/YjFE+uJ/BU1MjeSNqSogkaacOaU2Opi7sYUC+XYL lRIAz//IiWHpaLRlCHnL07bvEikUPjZ35ruVhR4gGL0Nv4hplOiVmi5HTjnHgV9z7AJ8g9 kRS9GBwktnrpeBwWfHJyp90+H9PptyWpc+0sQEjKylgmiWDj0UbiE6JoUnLl+G9pe+ZN03 fW8e5Qzk3dcJpM2yB+16r58fQyLgYeYL8YWqcGoZrLRRj2CrDZBkJyPDci+evweYED6VDM LGpwnbuv7fQPueNuqSLZeVLmyawPYS/0AiS3tsdNZmEGaw1ol+d9K8qT+o1T+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633263; a=rsa-sha256; cv=none; b=MoXzhGFuIox4+bVXhIz7Iihkb+RCUGCiGLvynIaRX0709oW51yiP2HRogKwRVBIAeSc2Rv xVqBV4QgamGsP3fLQU+XittJTS8SBfV6BNVq4z4uYZF1ygQ39235YWLn8rYqQPPkg1852p rOmVzPW7LODCdR6IzaSNwWYBpctAVn8JpaL7tQm+6AVMmNyWbUEE3ysUcOy4XLkf0+F4aM FRTwYp7Ls2JY5HwDfXfwMlulu+1s7v9/TYSaG0c6DOT47s9n8bech6Wv72Nz3X/QUrjz3+ eEy7iuRqE0+DtEmBkRzQXdp+MlXqBZQJTLz4CBX29OcFVk+lO0w5mqVsQhTC2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjW0Zwtz5kt; Wed, 11 Jun 2025 09:14: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 55B9EM0s062205; Wed, 11 Jun 2025 09:14:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EM63062202; Wed, 11 Jun 2025 09:14:22 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:22 GMT Message-Id: <202506110914.55B9EM63062202@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: dcc99bf830b2 - stable/14 - LinuxKPI: 802.11: adjust logging for key handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: dcc99bf830b2b97bae91ca07f5daf15f30d4db14 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=dcc99bf830b2b97bae91ca07f5daf15f30d4db14 commit dcc99bf830b2b97bae91ca07f5daf15f30d4db14 Author: Bjoern A. Zeeb AuthorDate: 2025-06-05 20:53:47 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:14 +0000 LinuxKPI: 802.11: adjust logging for key handling Given there are still problems observed (at least in the Lab) adjust crypto key handling routines and enhance logging with td_tid, jiffies. Sponsored by: The FreeBSD Foundation (cherry picked from commit 80386ed954aaa33b849877e8a86918de9365a087) --- sys/compat/linuxkpi/common/src/linux_80211.c | 62 ++++++++++++++++------------ 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 89c067409774..a0e3123229ea 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1243,18 +1243,19 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(lsta->ni->ni_ic, "%s: running set_key cmd %d(%s) for " + ic_printf(lsta->ni->ni_ic, "%d %lu %s: running set_key cmd %d(%s) for " "sta %6D: keyidx %u hw_key_idx %u flags %b\n", - __func__, DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", + curthread->td_tid, jiffies, __func__, + DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif err = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, LSTA_TO_STA(lsta), kc); if (err != 0) { - ic_printf(lsta->ni->ni_ic, "%s: set_key cmd %d(%s) for " - "sta %6D failed: %d\n", __func__, DISABLE_KEY, - "DISABLE", lsta->sta.addr, ":", err); + ic_printf(lsta->ni->ni_ic, "%d %lu %s: set_key cmd %d(%s) for " + "sta %6D failed: %d\n", curthread->td_tid, jiffies, __func__, + DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", err); error++; /* @@ -1266,9 +1267,10 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, } #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(lsta->ni->ni_ic, "%s: set_key cmd %d(%s) for " + ic_printf(lsta->ni->ni_ic, "%d %lu %s: set_key cmd %d(%s) for " "sta %6D succeeded: keyidx %u hw_key_idx %u flags %b\n", - __func__, DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", + curthread->td_tid, jiffies, __func__, + DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1321,9 +1323,9 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) if (lsta->kc[k->wk_keyix] == NULL) { #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: sta %6D and no key information, " + ic_printf(ic, "%d %lu %s: sta %6D and no key information, " "keyidx %u wk_macaddr %6D; returning success\n", - __func__, sta->addr, ":", + curthread->td_tid, jiffies, __func__, sta->addr, ":", k->wk_keyix, k->wk_macaddr, ":"); #endif ieee80211_free_node(ni); @@ -1344,8 +1346,9 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: running set_key cmd %d(%s) for sta %6D: " - "keyidx %u hw_key_idx %u flags %b\n", __func__, + ic_printf(ic, "%d %lu %s: running set_key cmd %d(%s) for sta %6D: " + "keyidx %u hw_key_idx %u flags %b\n", + curthread->td_tid, jiffies, __func__, DISABLE_KEY, "DISABLE", sta->addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1356,16 +1359,18 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) vif = LVIF_TO_VIF(lvif); error = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, sta, kc); if (error != 0) { - ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D failed: %d\n", - __func__, DISABLE_KEY, "DISABLE", sta->addr, ":", error); + ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D failed: %d\n", + curthread->td_tid, jiffies, __func__, + DISABLE_KEY, "DISABLE", sta->addr, ":", error); error = 0; goto out; } #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D succeeded: " - "keyidx %u hw_key_idx %u flags %b\n", __func__, + ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D succeeded: " + "keyidx %u hw_key_idx %u flags %b\n", + curthread->td_tid, jiffies, __func__, DISABLE_KEY, "DISABLE", sta->addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1480,8 +1485,9 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: running set_key cmd %d(%s) for sta %6D: " - "kc %p keyidx %u hw_key_idx %u keylen %u flags %b\n", __func__, + ic_printf(ic, "%d %lu %s: running set_key cmd %d(%s) for sta %6D: " + "kc %p keyidx %u hw_key_idx %u keylen %u flags %b\n", + curthread->td_tid, jiffies, __func__, SET_KEY, "SET", sta->addr, ":", kc, kc->keyidx, kc->hw_key_idx, kc->keylen, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1492,8 +1498,9 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) vif = LVIF_TO_VIF(lvif); error = lkpi_80211_mo_set_key(hw, SET_KEY, vif, sta, kc); if (error != 0) { - ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D failed: %d\n", - __func__, SET_KEY, "SET", sta->addr, ":", error); + ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D failed: %d\n", + curthread->td_tid, jiffies, __func__, + SET_KEY, "SET", sta->addr, ":", error); lsta->kc[k->wk_keyix] = NULL; free(kc, M_LKPI80211); ieee80211_free_node(ni); @@ -1502,8 +1509,9 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D succeeded: " - "kc %p keyidx %u hw_key_idx %u flags %b\n", __func__, + ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D succeeded: " + "kc %p keyidx %u hw_key_idx %u flags %b\n", + curthread->td_tid, jiffies, __func__, SET_KEY, "SET", sta->addr, ":", kc, kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1582,9 +1590,9 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: tid %d vap %p ic %p %slocked nt %p %slocked " - "lvif ic_unlocked %d nt_unlocked %d\n", __func__, - curthread->td_tid, vap, + ic_printf(ic, "%d %lu %s: vap %p ic %p %slocked nt %p %slocked " + "lvif ic_unlocked %d nt_unlocked %d\n", + curthread->td_tid, jiffies, __func__, vap, ic, icislocked ? "" : "un", nt, ntislocked ? "" : "un", lvif->ic_unlocked, lvif->nt_unlocked); #endif @@ -1645,9 +1653,9 @@ lkpi_iv_key_update_end(struct ieee80211vap *vap) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: tid %d vap %p ic %p %slocked nt %p %slocked " - "lvif ic_unlocked %d nt_unlocked %d\n", __func__, - curthread->td_tid, vap, + ic_printf(ic, "%d %lu %s: vap %p ic %p %slocked nt %p %slocked " + "lvif ic_unlocked %d nt_unlocked %d\n", + curthread->td_tid, jiffies, __func__, vap, ic, icislocked ? "" : "un", nt, ntislocked ? "" : "un", lvif->ic_unlocked, lvif->nt_unlocked); #endif From nobody Wed Jun 11 09:14:24 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjY019jz600Fh; Wed, 11 Jun 2025 09:14: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 4bHKjX3mpPz3lsk; Wed, 11 Jun 2025 09:14:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VYA1M9N2UZsVGFnnJKXQjcj6WMgKJQagcVBBDDCXbw=; b=kV/qLe9/fqn2lDNjjGaniMO/j9nzKynQbF20SdiDBaCELznjykIC9mF3iLfZeMM43F0/Yp B5RhS+XrTzk78gQ1TdplvdaWV0lsmJbSGpHiV6WDvbqCSTulnOCGofDzmG0TtjOKtpUzn4 FtQbmJNcnM4k4aSyG8GgI7TrYGxwd5dflYKswQy8x9fS19GDFCATphMehgXx23CWEF0JEt MSl55wFvMA7CR8honuEeXMcm2VABCR2eINMoqU9CKboNBEetDT18+FsVbT/cabeSP2mDyp dHU+IwinJNgml2Lr/rmSrBOXspthL/9C3Z8Or2JCQ42NWTF/AeupoeAWR0aJTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VYA1M9N2UZsVGFnnJKXQjcj6WMgKJQagcVBBDDCXbw=; b=fnK+X8hLxxJ/wG0BvqkXVq8S7IJMQi4v7+HY46Ol+ray4++tllwULOIcc0n8W1c/rLn7Xn YUBSu9qjT5GAk+pI45JbwDKDvl7/PLU68O9oPm9TFFZqEUgtAfeEZu5GRo60QyQWRjVr+4 /Yyzas8EHLYBsFYpmj9vYK65W5y6LUwatRrM0niJFRZKUSrHjum/C02B+AkQDWLfTyYFeL +TI8kupTXXHiaT/iUUUn1/vFSmilx7w6aszmQBcj4FCeDPLlTjd1NBLGclOVynCA2VaaCx 2njwuChBb32B5whMUY3syydE19mT2Ihg3/C5cwu+cdDU4qN0TQq2Sk80G6FhXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633264; a=rsa-sha256; cv=none; b=G5y/zVnNnpXNLRVhvtevos8jHBS4I+jpsdvAzVt1xvbhVAzMzAJBLoU9G21M5FjDe6EE3h li0VYVptUpiALYXiBlWWEomYyq7NumxIEXYdK3Dpze5N9VmchkRg0uTjEsnAX1L1d3O/pU ylg9ofd0eTRF6k0V1+37n0hoJyDPG67ymEPa68VmW1fGNR/efFrFqlW3OCvCmHGGBZaw57 nu3/8IZR6pVOrjHnRvcDQqkADTNEIU2cEfvLm2bVOIrxJ1TZoDCCQ0bQB57FXJCQyn65rB MuKpDSXYdZ0R4uGp5obKYowSvBS3Rgn3Uy85p4qj98qAuNUeQV253ljXPSugbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjX1WZdz5kw; Wed, 11 Jun 2025 09:14: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 55B9EOsK062241; Wed, 11 Jun 2025 09:14:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EOmi062238; Wed, 11 Jun 2025 09:14:24 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:24 GMT Message-Id: <202506110914.55B9EOmi062238@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 2c9d26761453 - stable/14 - LinuxKPI: 802.11: place lock asserts for key operation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2c9d26761453793b36c2e39e4ab0d9088b6e4ae4 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2c9d26761453793b36c2e39e4ab0d9088b6e4ae4 commit 2c9d26761453793b36c2e39e4ab0d9088b6e4ae4 Author: Bjoern A. Zeeb AuthorDate: 2025-06-05 21:00:53 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:25 +0000 LinuxKPI: 802.11: place lock asserts for key operation Since b8dfc3ecf7031 we hold the wiphy lock over any key updates. Assert that on function entry. Given this invariant there is no need to recheck a kay under lock now, as the first lookup already is under the lock, so simplify the code. Sponsored by: The FreeBSD Foundation (cherry picked from commit 284af342971d102702df950a2f1e5479eaabdf0b) --- sys/compat/linuxkpi/common/src/linux_80211.c | 35 +++++++++++++++------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index a0e3123229ea..ba6c73b99c32 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1298,6 +1298,16 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) int error; ic = vap->iv_ic; + lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + lvif = VAP_TO_LVIF(vap); + + /* + * Make sure we do not make it here without going through + * lkpi_iv_key_update_begin() first. + */ + lockdep_assert_wiphy(hw->wiphy); + if (IEEE80211_KEY_UNDEFINED(k)) { ic_printf(ic, "%s: vap %p key %p is undefined: %p %u\n", __func__, vap, k, k->wk_cipher, k->wk_keyix); @@ -1331,18 +1341,7 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) ieee80211_free_node(ni); return (1); } - kc = lsta->kc[k->wk_keyix]; - /* Re-check under lock. */ - if (kc == NULL) { -#ifdef LINUXKPI_DEBUG_80211 - if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) - ic_printf(ic, "%s: sta %6D and key information vanished, " - "returning success\n", __func__, sta->addr, ":"); -#endif - error = 1; - goto out; - } #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) @@ -1353,9 +1352,6 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif - lhw = ic->ic_softc; - hw = LHW_TO_HW(lhw); - lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); error = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, sta, kc); if (error != 0) { @@ -1400,6 +1396,15 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) int error; ic = vap->iv_ic; + lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + + /* + * Make sure we do not make it here without going through + * lkpi_iv_key_update_begin() first. + */ + lockdep_assert_wiphy(hw->wiphy); + if (IEEE80211_KEY_UNDEFINED(k)) { ic_printf(ic, "%s: vap %p key %p is undefined: %p %u\n", __func__, vap, k, k->wk_cipher, k->wk_keyix); @@ -1492,8 +1497,6 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) kc->keylen, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif - lhw = ic->ic_softc; - hw = LHW_TO_HW(lhw); lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); error = lkpi_80211_mo_set_key(hw, SET_KEY, vif, sta, kc); From nobody Wed Jun 11 09:14:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjY56mJz60014; Wed, 11 Jun 2025 09:14: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 4bHKjY2lWxz3lhL; Wed, 11 Jun 2025 09:14:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eAv7Es9zL/XJjlbetJIB6tZ370y4TBIpuVM4gwqJeP0=; b=Qf0v9Qcm8oIFDB35idPFnWXy/e1V4ZM2pdtppYbHZx0MB2bwdqmPREZqOIweTzaaSzAsGT jPiZGhvdkks59mFBq8KfnFvIAZ7OmmQLiGJlbrp0RBplKSYJizO0H27HNaD0WChT3OUXOU zCRzl/vRLB7rWHcxvxkLtUEywafC8C+wUf+D2r1ZowZW8N0w2SEXpxZCeeQT+ak5+M+Qbo cNGSnV6gktaOf4fyqlDoS3ZcJJ2tGnFGCPtYRcEk5LWsuBConTXc9CpyqeKKDYou/azEEd 8RmKCq65hC89VoqB5A5tm0XExCnW05CVgh9O7fqRl1DUBFhnU3Gk+RsdjlnxuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eAv7Es9zL/XJjlbetJIB6tZ370y4TBIpuVM4gwqJeP0=; b=F0f4aXSm38eeCL+O6jd8mp2DnWz0scko7+ZZJJ0JEjv25lzkos8xnLPUudFjIg+wcbV4L3 VS1WYnILDu1z7h+/4DEZjpS0rAhJFmSfyAbQrFfn3jsEJMD3V2I9iBeVMr4mDeNj2Rx09S vn7reHA+DA4ovrnYOOArTNf7vdK1cbDGzMdgfPgm1YHFBH/KO18/h3cwbAxr1u0wGeZEV1 FZ3bl3ZO6afY9ZdCHuf2sh0BD0TEPFQ+XrW0RgBzouZiVjFTCon/ibsvwChiI3+0L0cCC4 NwKqFusSv1EoNuc8hqoSagM8J/PidSwDPgnCbwYmcOGEJn8Kd1qndAVSb8+8LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633265; a=rsa-sha256; cv=none; b=gyBLxTmX3D9nfbzEU3obA/mqcAZWR2I4CNv1xp4etspOeWsoOezu5io7QoXQ4lRzMXUpfo xuXKv9k2uR2/m2FH74dALtjODaO0vdz495eC3Z4GkR/+VX55/6dZwCDAFdpFxnxm21Zw0D VpZLi2SKU6zx2k6H7rMbLks/QAsfcQlrT7QNAII4NJtpZlFBaevm2+4WQ8WjlvxuJ81VDa l7qNxhFFjUA3BglCYzgxMGmu+yrCAYLOyDqsVCWJsmwi2viaMgR9SEivtRSNq6PQ69Xc3U 9TelDVUHjstKLkknNrTDSDk3fL0aa4B0RgCbC37TAwq4xrJDjkEvp1PEmQjnjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjY2LHZz5VN; Wed, 11 Jun 2025 09:14: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 55B9EPha062277; Wed, 11 Jun 2025 09:14:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EPXe062274; Wed, 11 Jun 2025 09:14:25 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:25 GMT Message-Id: <202506110914.55B9EPXe062274@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b2420591ff02 - stable/14 - LinuxKPI: 802.11: improve queue locking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b2420591ff02b9ada66ff64b2d030a5198d6ea3c Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b2420591ff02b9ada66ff64b2d030a5198d6ea3c commit b2420591ff02b9ada66ff64b2d030a5198d6ea3c Author: Bjoern A. Zeeb AuthorDate: 2025-06-05 22:02:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:32 +0000 LinuxKPI: 802.11: improve queue locking Introduce an internal lkpi_ieee80211_wake_queues_locked() function that can be used from context holding the wiphy lock. Make linuxkpi_ieee80211_wake_queues() a wrapper with locking around this. Equally apply the wiphy lock to linuxkpi_ieee80211_wake_queue(). In lkpi_ieee80211_wake_queues() only wakeup the driver if the queue is not empty; otherwise weird sideeffects can happen with some drivers. Sponsored by: The FreeBSD Foundation (cherry picked from commit bc24342d96aa816b448bec4d32b1f5e4a5793886) --- sys/compat/linuxkpi/common/src/linux_80211.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ba6c73b99c32..be671a2ed7a3 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -7395,6 +7395,7 @@ linuxkpi_ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct lkpi_vif *lvif; struct sk_buff *skb; + IMPROVE("wiphy_lock? or assert?"); skb = NULL; ltxq = TXQ_TO_LTXQ(txq); ltxq->seen_dequeue = true; @@ -7897,8 +7898,8 @@ lkpi_ieee80211_wake_queues(struct ieee80211_hw *hw, int hwq) ltxq->stopped = false; - /* XXX-BZ see when this explodes with all the locking. taskq? */ - lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid]); + if (!skb_queue_empty(<xq->skbq)) + lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid]); } } rcu_read_unlock(); @@ -7908,8 +7909,8 @@ lkpi_ieee80211_wake_queues(struct ieee80211_hw *hw, int hwq) LKPI_80211_LHW_LVIF_UNLOCK(lhw); } -void -linuxkpi_ieee80211_wake_queues(struct ieee80211_hw *hw) +static void +lkpi_ieee80211_wake_queues_locked(struct ieee80211_hw *hw) { int i; @@ -7918,6 +7919,14 @@ linuxkpi_ieee80211_wake_queues(struct ieee80211_hw *hw) lkpi_ieee80211_wake_queues(hw, i); } +void +linuxkpi_ieee80211_wake_queues(struct ieee80211_hw *hw) +{ + wiphy_lock(hw->wiphy); + lkpi_ieee80211_wake_queues_locked(hw); + wiphy_unlock(hw->wiphy); +} + void linuxkpi_ieee80211_wake_queue(struct ieee80211_hw *hw, int qnum) { @@ -7925,7 +7934,9 @@ linuxkpi_ieee80211_wake_queue(struct ieee80211_hw *hw, int qnum) KASSERT(qnum < hw->queues, ("%s: qnum %d >= hw->queues %d, hw %p\n", __func__, qnum, hw->queues, hw)); + wiphy_lock(hw->wiphy); lkpi_ieee80211_wake_queues(hw, qnum); + wiphy_unlock(hw->wiphy); } /* This is just hardware queues. */ From nobody Wed Jun 11 09:14:27 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjc12fBz600Fn; Wed, 11 Jun 2025 09:14:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHKjb5LWnz3m65; Wed, 11 Jun 2025 09:14:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XgdX3qmSc5FlOcaK0Ty2uRSLrqCPern2nori6UxGWuU=; b=hCIRiOYHmGTDQZ3TNyoEhyFvcqkm6FaqlkMLN1PpR+KMCUcjK+yOLErl1waN4WtOXaI+Zg l9Gg+9CaS0x/amHrMuitsjS6T3ySE4N3BQOMKwdjPLHBASNmhTNJTDSJV+Q5sggSl6TznB ZlxGGnOT9wT7tKhwdlXKpaUyV45rY2NL7GhJYrVc88hQyAoY5xJ1ZcGM92iNCFmRRXh9Zx WGoSnQK5M/GgIaZG6qNxFaPaz50qm2VZAPso0sA13cIjl1wGXyOcNmxmAjelzHJj5OXUYN bVw5nREzeBb3rRxUIROHyJk7+ge8dqPoSB3S2RO/cN84LrFfnZwP1LqrgC237g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XgdX3qmSc5FlOcaK0Ty2uRSLrqCPern2nori6UxGWuU=; b=V5/Lw51dKCes0TuqCaBdUXW6M4sw0g7/y8hgEoSaPFoIzqze4gnhy4+f2hjskVwjXGIug/ 5g8qNm2BjezVN743kPOd5ifkffnLhFAYiuDvLGj9oJ+UGQF25/QhEocIFaQfJU9T9FOJj1 q5tHiFyYTcTq9G1RD1+C+6ufc43KHmRFxJyFL8zMMXKB9tBH5LY6k4fIDK3OiY8mygkOEr HVOSA1a4cV68048a6fF2Ui5im/CmFyWyfm3llJVXiGQ2MEJqzoLA09sVYHTR3v82ZriSX1 XRDPzlEiAD07aQiHtOH+ZmRgD+r6AcF3EAsIFWMzVBM5xC0wpfCMchRaphd0KQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633267; a=rsa-sha256; cv=none; b=Uqy1Tw/CaYYoGxOOWplkmV74+O8BWxkRlFRqDKp0a0S0N7Wu9gJ7enJVHOYytUcoB9e4FS bhh2JLhiSkFKUcfrRBlR2MdkBYbNSL/aqtlb2fkF+bdqUXUi4vUaGVEV1tytG6hHZ4y8v6 1+ylXXObbuSRT7bSDj+PRyU5RFn2/CQeKiW3bUrvE6pjuBMXlO/vX+jQoCUj+LVr+No7A5 iq7SeHpxB4J2KPIylLYsIh/eYx6IjifrxPBESitp/90YJU+IF7L7f7sU//LiigH5Qqv/AH w6otHhB0GY38kb3443bN2HhcNsp2DICfkv4z42dye8wwjBL8Bb24eHJ+3V7MVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjb4D6hz52B; Wed, 11 Jun 2025 09:14: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 55B9ERH3062349; Wed, 11 Jun 2025 09:14:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9ERkT062346; Wed, 11 Jun 2025 09:14:27 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:27 GMT Message-Id: <202506110914.55B9ERkT062346@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 88d897ec1a95 - stable/14 - LinuxKPI: 802.11: fix lkpi_scan_ies_add() channel lookup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 88d897ec1a957bb8be41e52495f9c32c56b38e96 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=88d897ec1a957bb8be41e52495f9c32c56b38e96 commit 88d897ec1a957bb8be41e52495f9c32c56b38e96 Author: Bjoern A. Zeeb AuthorDate: 2025-06-05 21:53:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:47 +0000 LinuxKPI: 802.11: fix lkpi_scan_ies_add() channel lookup When looking up the channel we may not get a result if no flags are passed in as net80211 channel list setup and lookup coding requires a matching flag (band). So pass in IEEE80211_CHAN_[AG] depending on band to increase the chances of finding a base channel and from that derive rates, etc. Sponsored by: The FreeBSD Foundation (cherry picked from commit f1a110f1f0f2ef83758f7d0a984b14f512ea00fd) --- sys/compat/linuxkpi/common/src/linux_80211.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1b1e5721d7b2..1487e20bebc7 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4118,12 +4118,26 @@ lkpi_scan_ies_add(uint8_t *p, struct ieee80211_scan_ies *scan_ies, channels = supband->channels; chan = NULL; for (i = 0; i < supband->n_channels; i++) { + uint32_t flags; if (channels[i].flags & IEEE80211_CHAN_DISABLED) continue; + flags = 0; + switch (band) { + case NL80211_BAND_2GHZ: + flags |= IEEE80211_CHAN_G; + break; + case NL80211_BAND_5GHZ: + flags |= IEEE80211_CHAN_A; + break; + default: + panic("%s:%d: unupported band %d\n", + __func__, __LINE__, band); + } + chan = ieee80211_find_channel(ic, - channels[i].center_freq, 0); + channels[i].center_freq, flags); if (chan != NULL) break; } From nobody Wed Jun 11 09:14:26 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjb6rcFz5yyst; Wed, 11 Jun 2025 09:14: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 4bHKjZ3bMPz3lxX; Wed, 11 Jun 2025 09:14:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8WF1sz3Dwn9W3VPdn+4g2dPcuQJIrVydsZ2yfckW2rY=; b=ijZGk8br2tWjIIvABvob7bSF4TT5TyAN7JTg8yHmM8D8ZS6UeuipkwCbKAMsmvV/SfPIJs VAlZbamz5NG+k+4QMJeBjSFwz1kBbxaCOSdeR4bt4Nkmqf6YJw0S99wTt9QDaEkidyJMY2 3DF9/VRvccYLd4flDn+eS3+5a9vIMUMUXG/0LwU3Q8PXnfS4B22H381Oqsxa5mPCdmolbz 6L19j435jY/56GSCCESOQECEHcSsgg/jUVtw4pEvSALaQ07MXxNmkaPZVK+gWiLFR48bZY GYKvuI0Tfi+ihXgsuuiw08SUIm9hXIR3cyxl/WhKGuL/PwYidzRk8yLOHGFuCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8WF1sz3Dwn9W3VPdn+4g2dPcuQJIrVydsZ2yfckW2rY=; b=i3roXvWXV4GPuZ66cx+vFL6xVACLmr32iik66GTsFcQwn/EMHYNNG/ZVzr9gdWe230kqox P71mK3Jwagv/tOZvHpiXNm5f62Ylv/Q7LUktLho+9+h0A8uB3odw/MyoIrPaG4LYmAskaM Vji6e0eivs9JhC/tsyPmrFeXwf2kFN8aGkin8Ux4azVq7LYlGg3MlbJIAPmzuD4WRB3s48 zmFL7hxJrmmR3abyoz1+cLKJR0l941i486acHoiAlI26UBVauf8zzf8hFBd2tLn7Zu9Iz5 4HOlEuvHmpN6gJDHtYi969Xp17i1dKTVVSwchHiyWwdPiKUmNDPEv4VOLRE3Pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633266; a=rsa-sha256; cv=none; b=bHxDSM9ol4KbHH3qJtAEr6R9kheEzYeaoC8tIEpUkjI/vnSn1N2qTPTwReNd+UbjhPtRmm cDbA6PIrVPiER8kjv7bXZcsxHqS5ozQGdeDylXZszOtjstGcur7cQ5F9LpGxSh4Oeg06Gh Y79+Ob5iKjyZRQl342PuuBsoqKoB14KkF/s+Lz1UAt1Q+4rTyRktwomqiEBCzXF9TnXO86 GQ4iQ9mMiM1njeS7W1mKrxyiTKp2PB9cz8Pr1EJButR6DOdN9oMT2eG+hzq35M9PzTqn43 TC+93TgHmkvLW+49+CwojzCRiDBqBA7++G1OYYq4ejBukroVEZho9xMuQXn01Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjZ39B8z5n9; Wed, 11 Jun 2025 09:14: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 55B9EQis062313; Wed, 11 Jun 2025 09:14:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EQD3062310; Wed, 11 Jun 2025 09:14:26 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:26 GMT Message-Id: <202506110914.55B9EQD3062310@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: c43bd922a772 - stable/14 - LinuxKPI: 802.11: stop queues during key updates List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c43bd922a7724d5fd6919e6bbd222566f7a483f1 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c43bd922a7724d5fd6919e6bbd222566f7a483f1 commit c43bd922a7724d5fd6919e6bbd222566f7a483f1 Author: Bjoern A. Zeeb AuthorDate: 2025-06-05 21:47:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:38 +0000 LinuxKPI: 802.11: stop queues during key updates When beginning key updates do stop and afterwards re-enable the tx queues to avoid packets being passed to the driver. This is a theoretical problem at this point but helps some cases. These functions will likely need refinement in the future. Sponsored by: The FreeBSD Foundation (cherry picked from commit db480c29879cac1afba1d887d7b8871aa4eef6db) --- sys/compat/linuxkpi/common/src/linux_80211.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index be671a2ed7a3..1b1e5721d7b2 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -174,6 +174,7 @@ static void lkpi_ieee80211_free_skb_mbuf(void *); #ifdef LKPI_80211_WME static int lkpi_wme_update(struct lkpi_hw *, struct ieee80211vap *, bool); #endif +static void lkpi_ieee80211_wake_queues_locked(struct ieee80211_hw *); static const char * lkpi_rate_info_bw_to_str(enum rate_info_bw bw) @@ -1631,6 +1632,11 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) refcount_acquire(&lvif->ic_unlocked); if (ntislocked) refcount_acquire(&lvif->nt_unlocked); + + /* + * Stop the queues while doing key updates. + */ + ieee80211_stop_queues(hw); } static void @@ -1649,6 +1655,11 @@ lkpi_iv_key_update_end(struct ieee80211vap *vap) lvif = VAP_TO_LVIF(vap); nt = &ic->ic_sta; + /* + * Re-enabled the queues after the key update. + */ + lkpi_ieee80211_wake_queues_locked(hw); + icislocked = IEEE80211_IS_LOCKED(ic); MPASS(!icislocked); ntislocked = IEEE80211_NODE_IS_LOCKED(nt); From nobody Wed Jun 11 09:14:29 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjf4ZGMz60018; Wed, 11 Jun 2025 09:14: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 4bHKjd6Zk0z3m6S; Wed, 11 Jun 2025 09:14:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uzezQGCNBYZNgekIDioAJ2ZccZXcyIm/Uuo93WpTRfI=; b=LYVv05hDTysH2CBZHtVw+2ypGNahBKjK2jII+Q3iq5ByoJHTmuOFgCJkB7g+V0QQUaOseV YvrMkgPLII4yLCKYb7woUzXW8sV15JioVEnIQ7fJRSnY9N8dM45nT5zWM5Z7CSgG2fJFf8 dGl/uWBY0YtUPCuRhQcMglIt3++Lnd3ZPccU+3nYAgCl9UWf2lZb046er57XzSzXCEWeHp 9ZUDz46694zbbO8r2KtG+uAvDWKhr0oGpsbuoeUQXQz5nseU5tApNQ9ZFlnSyQfPT/NEaC pVhf1jK7RLBPBqbXVmTItw66PL8t7WUvfQMNtGGoLy2vvQy78p0dOj5YOebnyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uzezQGCNBYZNgekIDioAJ2ZccZXcyIm/Uuo93WpTRfI=; b=D/uAw3ffKlHGcoVclRLM7B5hjN6r8NXOXoatqnHFn59iH8W6Rk9NjHHxa+XFGgFIdWI60J cbEqXoVluYWCcrIWHzzvERGjN57zeJyaPFcXASLQMdOjBjUK4iBRzqru+VKWg3mWNJBqc5 9YCu3VxGGN/C44mw75QBMIVwINCpeUH4o9GH3oeFk+or6ZemjMCOnTXTtLcUMBOCc7UCSN sj8Udxdap0yb9wLi6+7crJAybsVJvtbXPhkoUPZGry0oGlBYUGxxm7RbG0rSK+NGjGVD7x TJUXa+HiIowHXNHTWXuZ+SWo00O0gEeHOcZZpYn1ld37oL75Me4PwRYt+oRKfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633270; a=rsa-sha256; cv=none; b=Buz33vnpMUj/mCJoCeEtiBAKMQzOO0m+q7n5tqGrKsJ/fTgunJ3s6bzcrYHwdQxGaW7cGe DAe3MbV3nfmR3drPQkdYuixBxwSGjgzhAPBbL14608jB/g/N7HlAGqHtFUpwW/NjJ6zNAE UyGVTaZeWpxduMw4mAKjApPosR3kp6ZWHrWRchzGBqYMOYEHh/AY3RLftVstCqnVKllzrD ZZAaHayJg7/+lZ2UpA1a5NbO9G+L03MOaFYX3CpxXefkSBlhDpvFBQWrcrId1W8Ztg7glV bIUUS8xIjffD01z6aaHM4DML1vNddtwu6LBYvPaV8VU5DRHXyUhH9iFf/f/vPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjd5kWbz5SX; Wed, 11 Jun 2025 09:14: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 55B9ETNv062427; Wed, 11 Jun 2025 09:14:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9ETxD062424; Wed, 11 Jun 2025 09:14:29 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:29 GMT Message-Id: <202506110914.55B9ETxD062424@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a118aa0c307f - stable/14 - rtw89: prevent a NULL pointer deref in rtw89_swap_chanctx() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a118aa0c307f402ce22a0411822e1d5965795cf6 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a118aa0c307f402ce22a0411822e1d5965795cf6 commit a118aa0c307f402ce22a0411822e1d5965795cf6 Author: Bjoern A. Zeeb AuthorDate: 2025-06-08 18:05:54 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:56 +0000 rtw89: prevent a NULL pointer deref in rtw89_swap_chanctx() It is currently unclear if this is a result of the driver itself already or the way LinuxKPI drives channels and the driver simply accepting and acting on things it no longer should. For now put the bandaid into place to make the driver work and pass packets. For better resilience the check does not hurt anyway. The moment we enter rtw89_chanctx_ops_add() the first time, entity_map 0x00000001 has the lowest bit set and find_next_zero_bit() will return 1. As a result the driver will try to swap chanctxs and trip over a NULL pointer in rtw89_swap_chanctx(). See comment there for how to (likely) trigger it. Sponsored by: The FreeBSD Foundation Reported by: Axel Rau (Axel.Rau Chaos1.DE) with 8852CE (cherry picked from commit 3a427b8320840f1e69779efeccc5898eb2972030) --- sys/contrib/dev/rtw89/chan.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/contrib/dev/rtw89/chan.c b/sys/contrib/dev/rtw89/chan.c index 4df4e04c3e67..257331c2de2e 100644 --- a/sys/contrib/dev/rtw89/chan.c +++ b/sys/contrib/dev/rtw89/chan.c @@ -2612,6 +2612,27 @@ static void rtw89_swap_chanctx(struct rtw89_dev *rtwdev, if (idx1 == idx2) return; +#if defined(__FreeBSD__) + /* + * __rtw89_config_entity_chandef() might set RTW89_CHANCTX_0 but no + * cfg assigned. + * A mac80211 (*config)() with IEEE80211_CONF_CHANGE_CHANNEL could do + * that if rtw89_config_default_chandef() from rtw89_entity_init() does + * not already. + * A mac80211: (*assign_vif_chanctx)() following will find idx 0 filled + * and rtw89_chanctx_ops_add() will call here. Trying to swap results + * in a NULL pointer deref as hal->chanctx[idx1].cfg is NULL. + * Catch this for now until fully understood or a proper solution is + * found. + */ + if (hal->chanctx[idx1].cfg == NULL || hal->chanctx[idx2].cfg == NULL) { + rtw89_debug(rtwdev, RTW89_DBG_CHAN, + "%s: !swapping idx1 %d cfg %p, idx2 %d cfg %p\n", __func__, + idx1, hal->chanctx[idx1].cfg, idx2, hal->chanctx[idx2].cfg); + return; + } +#endif + hal->chanctx[idx1].cfg->idx = idx2; hal->chanctx[idx2].cfg->idx = idx1; From nobody Wed Jun 11 09:14:28 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjd5Dgwz5yysx; Wed, 11 Jun 2025 09:14: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 4bHKjd00s1z3m1Q; Wed, 11 Jun 2025 09:14:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bbGrCC28JRPDQfBKGyUntRSDhNGJ8cHlOKSE/2/EFAk=; b=XyqJlLsSrBrHQNoZtXxdT/8bo4fOQNQXzcIRwNN0MQGO0kuYdN9tFBwU7a4KE/d+RWzc4Q MZ+N99UyzyJeAS8s/AVhFXZ8R3jED383D7uY5rcSpl9odC9+Na5qGb9J3uw7KIYmcXOLok 0J++Mls0wm6X/SnHKYFYzBEKL0BkJxohlNdGKqJYZ8IQtNIb5sewj/oE0OL3bZqMCFhYLu 8/umReOq+CIlcTe5pLB9x91xFHodlnKEhk+NGk0JCYm305NkeED7eVrMH5d9PVWK5sAuxF OK0jUB+sOCTbudDHClvLWxVCOTf5h6RiQvg/UIYNTi1jfUw2j83V2W7kHkYYkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bbGrCC28JRPDQfBKGyUntRSDhNGJ8cHlOKSE/2/EFAk=; b=m5ILhhbuLMk52h5TebZ5AudIrdkhxrwRyFestdkvNFnAaFvFVvG+iTpvGj9NDl9FRwZACj bIzjp57uAPCXlqvJOSyWkfKcITzOO2vevQnLvH+z+9FpMHBbKuOYVeO23NYq2cQ7wbWKhn ddVQ1BkN/uydf5YFGRtgKGvnbr4dc6D6KjH9mFdPrTnPiqs0bWgGBbfMXjsyfGxfW1OhEp A2HybYNNaxTGbMTlopcx2fZh93H2j92g0yCcQDceF5PwBig17cyYRFL7hSq3xgA2GO8uCe ZfwwjU/kHVKxOsGbDKyMmJRURROmdZJAhsOBB/NKOlhLzrMa2Vli3r0vkVahdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633269; a=rsa-sha256; cv=none; b=EZTedJh2JC2Ov1dwXBHyWk82m5i3l5gmHkWPOIC2XJX1jq8hddWuLud/gdZh0V/9sKoI8A M7ReaCjKTNmAFYPKK7C9Pn56V89Ek6i2tHvNMPFV2Xow0QO4NWpGQCaF4RIcosedhQYSYn hyBdmhoypPtlCJVfSQo4eOjDKmvMnY8qVSzd1U7rpTpnQfhuLarj+MscOr4D8jxsuGlAAa hXLiNsNmnvHa3gGwWhiPSCLX2OBnj7kIlJ8FygtXGZ4ODm7DNXy9LzMZEMFBFHxvCElvSF tpwCpanIrmA7UknnFVXf9ivweYNeyw9hy1gnZ1mZqc3I9GV2K0Xb0fMFRxhLdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjc4fwXz5VP; Wed, 11 Jun 2025 09:14: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 55B9ESpT062391; Wed, 11 Jun 2025 09:14:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9ESP3062388; Wed, 11 Jun 2025 09:14:28 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:28 GMT Message-Id: <202506110914.55B9ESP3062388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 88508506680e - stable/14 - LinuxKPI: 802.11; update frag_threshold and rts_threshold List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 88508506680e82c5236338a481f1ea772bb84b11 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=88508506680e82c5236338a481f1ea772bb84b11 commit 88508506680e82c5236338a481f1ea772bb84b11 Author: Bjoern A. Zeeb AuthorDate: 2025-04-16 21:16:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:40:51 +0000 LinuxKPI: 802.11; update frag_threshold and rts_threshold Update threshold values once we are associated. Sponsored by: The FreeBSD Foundation (cherry picked from commit 6e7a6a66b239180778bb31da9fa8544bbd977cde) --- sys/compat/linuxkpi/common/src/linux_80211.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1487e20bebc7..a5982511fb24 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2981,6 +2981,12 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int IMPROVE("Is this the right spot, has net80211 done all updates already?"); lkpi_sta_sync_from_ni(hw, vif, sta, ni, true); + /* Update thresholds. */ + hw->wiphy->frag_threshold = vap->iv_fragthreshold; + lkpi_80211_mo_set_frag_threshold(hw, vap->iv_fragthreshold); + hw->wiphy->rts_threshold = vap->iv_rtsthreshold; + lkpi_80211_mo_set_rts_threshold(hw, vap->iv_rtsthreshold); + /* Update sta_state (ASSOC to AUTHORIZED). */ KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); KASSERT(lsta->state == IEEE80211_STA_ASSOC, ("%s: lsta %p state not " From nobody Wed Jun 11 09:14:31 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjh4br8z6001G; Wed, 11 Jun 2025 09:14:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHKjh12Qhz3mHj; Wed, 11 Jun 2025 09:14:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LKEzsQ7l+SqVBSsDKJyAgdJrjPeki1VanK5YREzkr78=; b=dzFL/BtO4nPIVibel3HZ5ffLJuDu4WOcGsPOmXCrRxXQdSFKjDkSxJARmy6QP8jD5/eXv/ TrOjXnhJ6jEhlYUsNjxzSajBXlEe2Zrw0marVjMKbxVGPA4ipDhHketLwaEUGBIzvSBxHY H1gOikrdLcHhoh+RzfjmZMOXQWcHuf/oJRxmHY3k+sd4v0WzXRPShJy294xy2lbixOhJgq xpM2yJ/A4UaAIqzrEbqjNVkwIDOzWVRRyGDJoX0R9Vwvj1eh7RxvzGaOHYLd1GSNOSb2T3 X9cCBjH1Gcvqznp+dd8ENdhw2uDMDkFmv782rpvUlvFyR2gQz/lnQymWEdgaGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LKEzsQ7l+SqVBSsDKJyAgdJrjPeki1VanK5YREzkr78=; b=U9xbJOydOU8dLu8GfLx/fpNKtfiA0qzX1eCiSWG48LHwgWhX17VnCNaLuTHEZFzVrskUUi ZMS9NSLplPyabsuhko3uwwk+vRh/fTBMFgbmxSV6eQkrc1oMFfy3IkcxHyVk3a8sXEStiM Ryc8pxYy0ylO4klhkJpaLm2sxp9irjpnBmUmrnJ78XU1oywcvGBwY8kddtlzn8WJK3gg7x tPRZnS4RksOagqMlCiljOxDFri110ldR38vt9x89mQEtBv3e75YoVhzXWt60Y4nRVWweIs k6Mlnzl9WnwAdTgPwW1UOb+hYuBSce59HgQ8UOdGY1L+K+4FFUR6r49x3kP3MQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633272; a=rsa-sha256; cv=none; b=qaeehm1KqGOOPNCb4JKOYdZgmivJMblUneIMVKIcp8504aYvV1i9MeZCLj3Jobfn4s8JSu QGh8rBxlEBmwMRbk5JRs20z8eUpy2H5Jpp1fjAwYTjkbyRuOEIR+Mv7S9nRfw90YAUAadN nZg0NIMKxHvL/XJAF0+enLzQl9j6uN8nQ0bXAQLmwglIhX0mb+u0GO5tye22f4h6E3FyO9 oSE/ev/JCrT+jBTJI/Q0GrbwTB+eGB8Qfmu/Tt7owOWJ11wE12vGd+BR3/ELLIsOkGwHw5 VJ5kAbKyD4qnQcr9FPIQLaB02gnYEyYlUKhij9zWsMF8DK2w0sTdoGUdLXV8JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjh073jz5hH; Wed, 11 Jun 2025 09:14:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55B9EVtG062503; Wed, 11 Jun 2025 09:14:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EVUO062500; Wed, 11 Jun 2025 09:14:31 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:31 GMT Message-Id: <202506110914.55B9EVUO062500@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b0963bfc69b3 - stable/14 - ifconfig: 802.11: print node unicast key (PTK) if available in STA mode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b0963bfc69b3975507143bda20df3ba13e6c230f Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b0963bfc69b3975507143bda20df3ba13e6c230f commit b0963bfc69b3975507143bda20df3ba13e6c230f Author: Bjoern A. Zeeb AuthorDate: 2025-05-27 19:44:42 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:41:06 +0000 ifconfig: 802.11: print node unicast key (PTK) if available in STA mode Add a variable when querying the BSSID so we can later use it rather than losing the "data" buffer. When printing key information also query the node unicast key if in STA mode (the key for the BSSID). Do not error in case we fail. This is helpful for debugging mostly; was also useful when testing GCMP support. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50554 (cherry picked from commit e277735ce05911aaee336cd61ec3a12435f46d8d) --- sbin/ifconfig/ifieee80211.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index 6964a68b6ba6..c2aa51f250a6 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -4888,6 +4888,7 @@ ieee80211_status(if_ctx *ctx) { int s = ctx->io_s; static const uint8_t zerobssid[IEEE80211_ADDR_LEN]; + uint8_t bssid[IEEE80211_ADDR_LEN]; enum ieee80211_opmode opmode = get80211opmode(ctx); int i, num, wpa, wme, bgscan, bgscaninterval, val, len, wepmode; uint8_t data[32]; @@ -4938,10 +4939,10 @@ ieee80211_status(if_ctx *ctx) } else if (verbose) printf(" channel UNDEF"); - if (get80211(ctx, IEEE80211_IOC_BSSID, data, IEEE80211_ADDR_LEN) >= 0 && - (memcmp(data, zerobssid, sizeof(zerobssid)) != 0 || verbose)) { - printf(" bssid %s", ether_ntoa((struct ether_addr *)data)); - printbssidname((struct ether_addr *)data); + if (get80211(ctx, IEEE80211_IOC_BSSID, bssid, IEEE80211_ADDR_LEN) >= 0 && + (memcmp(bssid, zerobssid, sizeof(zerobssid)) != 0 || verbose)) { + printf(" bssid %s", ether_ntoa((struct ether_addr *)bssid)); + printbssidname((struct ether_addr *)bssid); } if (get80211len(ctx, IEEE80211_IOC_STATIONNAME, data, sizeof(data), &len) != -1) { @@ -5097,6 +5098,21 @@ ieee80211_status(if_ctx *ctx) printkey(ctx, &ik); } } + if (opmode == IEEE80211_M_STA && wpa >= 2) { + struct ieee80211req_key ik; + int error; + + memset(&ik, 0, sizeof(ik)); + ik.ik_keyix = IEEE80211_KEYIX_NONE; + memcpy(ik.ik_macaddr, bssid, sizeof(ik.ik_macaddr)); + error = get80211(ctx, IEEE80211_IOC_WPAKEY, &ik, sizeof(ik)); + if (error == 0 && ik.ik_keylen != 0) { + if (verbose) + LINE_BREAK(); + printkey(ctx, &ik); + i++; + } + } if (i > 0 && verbose) LINE_BREAK(); end: From nobody Wed Jun 11 09:14:33 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjj3JQbz600CB; Wed, 11 Jun 2025 09:14: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 4bHKjj1V6zz3mFb; Wed, 11 Jun 2025 09:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j4xx5Gz5egsDO5fflnCPdN2VajDJP/4twbOu2ktLal8=; b=QzxdM8+lKY4PuyLi5DSaTZyhdF7SPAEYus9Eg8ubOaDncFz/bUvLPbJAjK/3N//ZTdFpFq vePqu5HZIRunJWPizAZWSEKi1YidM4JfzV11wf2YmOpNGfIytaM6X8ksrioddO91A5xvrM ZEFpCufpzA6nHNE/j3/wmsIoPF/sNf1J4DdxAkYSb9jTLetgR4oCWyg+IZ/YmOO2MhMXhn i480AxrwuQrQ2RZw+LjaB2bvsHLaJ5Kp+37F++IaA35aeKmKiOSmGNrVVUGlsfp+U5+PmC JqCD6Zf8nKa3SeyO0f/8+QKGVM3gAEGLF7ilhTc4whUDvEezs7nwVtMba/lV6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633273; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j4xx5Gz5egsDO5fflnCPdN2VajDJP/4twbOu2ktLal8=; b=N00JUSUq+HzBTu9k3mm9tdXfcoDAVKD4KWTW+MyrDEiI1hdpCJ9L1OKWwKyxEWnceTmy7l czupA0R0pzjD5PvNc7/cPZWLARFahfBMNxm4UCzIfNP1Y2ELLfPxWNb0fz7CNS/rITp1q5 iyc86vHj60w85UHVXw3j4XKZH3j4mIPpsAI2sL5/bDGxaZ1LxJTH2AWZP1ZHWLkbV5AxPX Mehg7bOijt5/FjvTHdn3wembvFozJY1W5ZuUcCLTF/2UYGfQY3SlEt7ZPeevRH9PImNDuV 2LglwLrKJ93mdZQTwQlrv6RnXnxxe6zf40WwsJOlMO7X3Jg34hv1dYSxoxF8ZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633273; a=rsa-sha256; cv=none; b=iHLgrv6S9gudFZ7N+SON/dbNYpfHe5xj1G0im4iTP191/9xAFvLb6QjAqp+M8AP7nzypSJ 8sZfpMTSKoXJkZOKHDlzmAITHRzxZp0orl6msxoYGbd/uU2/MFiZ2zrhAOPYllRePzBiSo 9CV9XFuDyY5y7cS4i3FQwV06KNhHyC1bfq71fZg3tgbkmpru3zI3rZuiCInE1mF6pv8hDi 3wzVUH6y61OLi4rw9Dusuwac1lfIe/6I476iFgGVjunMrVwS7kpneQkG0rjj2ucLsBc4ds eh5EALAflZ87ync2h+2pvni4S8JypFQQ2k99QZuBRAKQzn1ilrEnDlVNc2FQVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjj0p9Qz5VQ; Wed, 11 Jun 2025 09:14: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 55B9EXAl062540; Wed, 11 Jun 2025 09:14:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EXjA062537; Wed, 11 Jun 2025 09:14:33 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:33 GMT Message-Id: <202506110914.55B9EXjA062537@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: eca9d8e7fa08 - stable/14 - ifconfig: 802.11: factor out keyix printing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: eca9d8e7fa0839015106595911d6624997191e17 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=eca9d8e7fa0839015106595911d6624997191e17 commit eca9d8e7fa0839015106595911d6624997191e17 Author: Bjoern A. Zeeb AuthorDate: 2025-05-27 19:51:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:41:10 +0000 ifconfig: 802.11: factor out keyix printing The node unicast key (PTK) uses a key index of (-1) and printing a 64k number does not look great. Factor out printing the key number into a buffer and use 'ucast' for the node unicast key. Hope is that this will be useful for the future as well when we will have more/different keys possibly. Looks like (with -vk): AES-CCM 2:128-bit rsc 0 tsc 0 rx AES-CCM 3:128-bit rsc 0 tsc 0 rx AES-GCM ucast:128-bit rsc 0 tsc 0 tx+rx Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50555 (cherry picked from commit 164bf9ffbe1a9fc8768b2f597fd4b32b3e406ac1) --- sbin/ifconfig/ifieee80211.c | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index c2aa51f250a6..9c753f865bc0 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -4763,6 +4763,17 @@ printcipher(int s, struct ieee80211req *ireq, int keylenop) } #endif +static void +printkey_index(uint16_t keyix, char *buf, size_t buflen) +{ + buf[0] = '\0'; + if (keyix == IEEE80211_KEYIX_NONE) { + snprintf(buf, buflen, "ucast"); + } else { + snprintf(buf, buflen, "%u", keyix+1); + } +} + static void printkey(if_ctx *ctx, const struct ieee80211req_key *ik) { @@ -4771,41 +4782,43 @@ printkey(if_ctx *ctx, const struct ieee80211req_key *ik) int printcontents; const int verbose = ctx->args->verbose; const bool printkeys = ctx->args->printkeys; + char keyix[16]; printcontents = printkeys && (memcmp(ik->ik_keydata, zerodata, keylen) != 0 || verbose); if (printcontents) LINE_BREAK(); + printkey_index(ik->ik_keyix, keyix, sizeof(keyix)); switch (ik->ik_type) { case IEEE80211_CIPHER_WEP: /* compatibility */ - LINE_CHECK("wepkey %u:%s", ik->ik_keyix+1, + LINE_CHECK("wepkey %s:%s", keyix, keylen <= 5 ? "40-bit" : keylen <= 13 ? "104-bit" : "128-bit"); break; case IEEE80211_CIPHER_TKIP: if (keylen > 128/8) keylen -= 128/8; /* ignore MIC for now */ - LINE_CHECK("TKIP %u:%u-bit", ik->ik_keyix+1, 8*keylen); + LINE_CHECK("TKIP %s:%u-bit", keyix, 8*keylen); break; case IEEE80211_CIPHER_AES_OCB: - LINE_CHECK("AES-OCB %u:%u-bit", ik->ik_keyix+1, 8*keylen); + LINE_CHECK("AES-OCB %s:%u-bit", keyix, 8*keylen); break; case IEEE80211_CIPHER_AES_CCM: - LINE_CHECK("AES-CCM %u:%u-bit", ik->ik_keyix+1, 8*keylen); + LINE_CHECK("AES-CCM %s:%u-bit", keyix, 8*keylen); break; case IEEE80211_CIPHER_AES_GCM_128: - LINE_CHECK("AES-GCM %u:%u-bit", ik->ik_keyix+1, 8*keylen); + LINE_CHECK("AES-GCM %s:%u-bit", keyix, 8*keylen); break; case IEEE80211_CIPHER_CKIP: - LINE_CHECK("CKIP %u:%u-bit", ik->ik_keyix+1, 8*keylen); + LINE_CHECK("CKIP %s:%u-bit", keyix, 8*keylen); break; case IEEE80211_CIPHER_NONE: - LINE_CHECK("NULL %u:%u-bit", ik->ik_keyix+1, 8*keylen); + LINE_CHECK("NULL %s:%u-bit", keyix, 8*keylen); break; default: - LINE_CHECK("UNKNOWN (0x%x) %u:%u-bit", - ik->ik_type, ik->ik_keyix+1, 8*keylen); + LINE_CHECK("UNKNOWN (0x%x) %s:%u-bit", + ik->ik_type, keyix, 8*keylen); break; } if (printcontents) { From nobody Wed Jun 11 09:14:30 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjg3mvGz600Ft; Wed, 11 Jun 2025 09:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHKjf6l41z3m22; Wed, 11 Jun 2025 09:14:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wPyT1CRiFQe0WhdLD/3sfvdCbsITevw4G06PpRh8jEY=; b=ijJNP8PoXeO3mTux9ecRvsKlz1D78VeWjrN4B4ysy4iuoatT983XwxertSkrysySdiEYBM LGbHU+1UrWiGVQ8R1Je8liDOAl+kn8ZaqVzOipbiqSSVOdLk+yHRIyd+dggZodw79xB9rv jtSTBHl1W5q5nH8RtLoW1HxaEdANzNdQKNUW6o5jMKbdBSGPtZoAp8ASGczDAdiaMqDrq4 cdV97mbeyJHAap7QUJiLOuFsIro1E2LMoW5H2gumxRjv820TYa/DGwQ/jA2U9OHK4XWyWg 8EHX/nV5pGqZgTgXX8ayZ+1TQPH22CmU9N31tZ7Y+w7J3aj2cW3X0qeTOXZRYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wPyT1CRiFQe0WhdLD/3sfvdCbsITevw4G06PpRh8jEY=; b=bNOA+eZaRboe5BtbRlWqWjAzpOgPSCop4nwmC34WA5J8TMgipNL6u1uF+078IsENv1JXBU 1AehFjDPzBQvFjEhWvJCsc02yJfk8e0t1uLh04FcO+5MejDOWzO64KXmpHogE/GGOAYsMa IK6y9bdKa8od8LDcWA5z/+YigkcR0PGfn0MHl8XeTfbqmNm2f4cPAAnrt1DeShQb7Spd0R T9TYHkFOupNnV3NJBWnIchOq9tp8lDlQKzeBKz4NpB3lQLtsHi08Me30x5F9zjwpe/iXsL oqnXePFiYvss/rKwyuoa+mXWvK4UVMdDMDeI0By/xyByKprPjT0XWxaLVP75Dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633270; a=rsa-sha256; cv=none; b=fhqjMLXpiPSqgwGitcQ/OwijuXKjq07JAMqKoz0dM6oId/WijB+ytIXhprUjnCXfj17wjP n6q9kW0FZ9HkUnaYD5NNNhx7+9pPiJvqb7kmnwJtLVnlL5Z0xF+UeohVe5sz1vvIDgWIAS x+PG6xB+k9pEmre/HwOVmsIWJaC9rkgb2ILC3gX8wA1NcnsCKmjWE6WiPqrIIq5xzz3jzN 9PnsRIPOWj6em4plUp6VefqNTGpZFp+DM6KZCsdWkxgBoERGd7X5ujGTELKt7nBwLnhN/F szBq5nukQ9scgBBOhCGf8tSuA3MdqRPBna3St41L/QNaAOdcj1h1/DBoo+TdoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjf6LQJz5bT; Wed, 11 Jun 2025 09:14: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 55B9EURx062466; Wed, 11 Jun 2025 09:14:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EUXl062463; Wed, 11 Jun 2025 09:14:30 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:30 GMT Message-Id: <202506110914.55B9EUXl062463@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 39763d991699 - stable/14 - ifconfig: 802.11: also print IEEE80211_CIPHER_AES_GCM_128 information List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 39763d9916993a2a5a79e3c66c6ad3af728626b7 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=39763d9916993a2a5a79e3c66c6ad3af728626b7 commit 39763d9916993a2a5a79e3c66c6ad3af728626b7 Author: Bjoern A. Zeeb AuthorDate: 2025-05-27 19:38:18 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:41:01 +0000 ifconfig: 802.11: also print IEEE80211_CIPHER_AES_GCM_128 information While we currently do not print the STA unicast key (PTK) we will not see this but it is for fullness and in preparations for follow-up hanges. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50553 (cherry picked from commit 54ad06cad10c3822784389b0956f92a1c7041abd) --- sbin/ifconfig/ifieee80211.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index 182266eb642a..6964a68b6ba6 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -4747,6 +4747,9 @@ printcipher(int s, struct ieee80211req *ireq, int keylenop) case IEEE80211_CIPHER_AES_CCM: printf("AES-CCM"); break; + case IEEE80211_CIPHER_AES_GCM_128: + printf("AES-GCM"); + break; case IEEE80211_CIPHER_CKIP: printf("CKIP"); break; @@ -4791,6 +4794,9 @@ printkey(if_ctx *ctx, const struct ieee80211req_key *ik) case IEEE80211_CIPHER_AES_CCM: LINE_CHECK("AES-CCM %u:%u-bit", ik->ik_keyix+1, 8*keylen); break; + case IEEE80211_CIPHER_AES_GCM_128: + LINE_CHECK("AES-GCM %u:%u-bit", ik->ik_keyix+1, 8*keylen); + break; case IEEE80211_CIPHER_CKIP: LINE_CHECK("CKIP %u:%u-bit", ik->ik_keyix+1, 8*keylen); break; From nobody Wed Jun 11 09:14:34 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjk5RX0z6001H; Wed, 11 Jun 2025 09:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHKjk2FvSz3m4y; Wed, 11 Jun 2025 09:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AEO4Ra04rZsY0xoDJYuVOgK+AvuMnReCiMe1PzboE4Y=; b=C1BE9IEeyKE7MMIzrekM1lKugxa2OTK0BKNrtv6I2NhOyNliqcs+ULNrQ+QPPn9WXuagtY uuZs4D8qWe+Zg7PRlMw+LUCv2Nyj313b4wARxxBNkYKKwOnICX/7Z4jvf0Du/ve85nWy/A J/7AHTqnN8WqMAesuP7K251n6qwy+DsmIzaGGwn/9w4GDDKZ9OI7YazvIx6ud64TcvARog B4UWLZvW+mN35OxYMJz/LUj86nwHSito8OORLfdc/A8tEJpasJd2ZPcKVUObIM6mOY6mTq A0C/mOW7tjSg09ePyGYXOJmrYvW65LI/1BsgX/EYaWLBGyRLyOl8i++cB9DaYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AEO4Ra04rZsY0xoDJYuVOgK+AvuMnReCiMe1PzboE4Y=; b=AKmi8vyHA6vJ3IOPogfrYSOfmL2AuyOG/KaVgPqySrXMKRLpEvmoxwH0Jos4WHEFE7TcwO tWP63ijtV/Xm4KkFW0V/V6Ove7B7RC4VVtYAXpd4Nh/I0loQnFcLvqejlG2oELMj2thkMk VmfF/HObaoHIRWwX8l6WWpgAReDx8pHPfQLx9vOlh7SiiUA8A1fZSCouRrrWZaFVFLYI66 gr5UqrWwsRXWE8MQdXAGMXvXW5DJpSMm/KIMYSxZ0E83R+38eu6yoZoxUonQHDQqcaUmU6 HnSj1pSZZph00oOXv1n9zHiuEmyTMTREA87BfWzx6RkSroggXDQAuPFNCCZ5qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633274; a=rsa-sha256; cv=none; b=FJiSORLDUBrjxafCtyIRgoV11ts2g2pp+lMQkIs0vftcqQw4a+nciTFlqSGHTp3DCDQckE rMb0RTxxlZtbLVWFW0310/2LT+YrVtl638i3Lv0Jb4GtrCwS6YvsDx/8ExLLCWwuPikv0F AhxdQMrE8QQjSuO+jPMZ27y+T6+sB2yEbX7JD0vBV8OXvPl6ND5R3n8Eka0z0IVMCr5DLm QKl5ySLIotfqALQTyKCH/r7RrCAGmd0x7tNm570qHeV+Y7Zq8oDWJ8MWy+cy//kKNdWdHE uJ2XYau25U8Hq6+bW3fqMgf2txZRhe1JsJf0PMJ8W1iEC3jPTjbIznNL7eO5qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjk1l0zz5bV; Wed, 11 Jun 2025 09:14: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 55B9EYMP062583; Wed, 11 Jun 2025 09:14:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EYgG062580; Wed, 11 Jun 2025 09:14:34 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:34 GMT Message-Id: <202506110914.55B9EYgG062580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9c3afe71b10a - stable/14 - ifconfig: 802.11: decode RSNXE IE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9c3afe71b10a000ac2c3d45c439f000bbc25f147 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9c3afe71b10a000ac2c3d45c439f000bbc25f147 commit 9c3afe71b10a000ac2c3d45c439f000bbc25f147 Author: Bjoern A. Zeeb AuthorDate: 2025-04-22 20:08:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:41:14 +0000 ifconfig: 802.11: decode RSNXE IE Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D50675 (cherry picked from commit 1313f1c2a35f7dbaba1b2948d2f0c4a1f4113f67) --- sbin/ifconfig/ifieee80211.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index 9c753f865bc0..57200cf4f8c1 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -3202,6 +3202,33 @@ printrsnie(if_ctx *ctx, const char *tag, const u_int8_t *ie, size_t ielen) } } +static void +printrsnxe(if_ctx *ctx, const char *tag, const u_int8_t *ie, size_t ielen) +{ + size_t n; + + printf("%s", tag); + if (!ctx->args->verbose) + return; + + ie += 2, ielen -= 2; + + n = (*ie & 0x0f); + printf("<%zu", n + 1); + + /* We do not yet know about more than n=1 (0). */ + if (n != 0) + goto end; + + if (*ie & 0x10) + printf(" PTWTOPS"); + if (*ie & 0x20) + printf(" SAE h-t-e"); + +end: + printf(">"); +} + #define BE_READ_2(p) \ ((u_int16_t) \ ((((const u_int8_t *)(p))[1] ) | \ @@ -3610,6 +3637,7 @@ iename(int elemid) case IEEE80211_ELEMID_TPC: return " TPC"; case IEEE80211_ELEMID_CCKM: return " CCKM"; case IEEE80211_ELEMID_EXTCAP: return " EXTCAP"; + case IEEE80211_ELEMID_RSN_EXT: return " RSNXE"; } snprintf(iename_buf, sizeof(iename_buf), " UNKNOWN_ELEMID_%d", elemid); @@ -3693,6 +3721,9 @@ printies(if_ctx *ctx, const u_int8_t *vp, int ielen, unsigned int maxcols) case IEEE80211_ELEMID_APCHANREP: printapchanrep(ctx, " APCHANREP", vp, 2+vp[1]); break; + case IEEE80211_ELEMID_RSN_EXT: + printrsnxe(ctx, " RSNXE", vp, 2+vp[1]); + break; default: if (verbose) printie(ctx, iename(vp[0]), vp, 2+vp[1], maxcols); From nobody Wed Jun 11 09:14:35 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjl70tVz5yyvW; Wed, 11 Jun 2025 09:14: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 4bHKjl2zC1z3m7b; Wed, 11 Jun 2025 09:14:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iwDUyd/I/sTpfvmIzYwgYD3wP5KGVnmHiJngqKKa8jo=; b=DggvUmqWrO6G1BdzawLoPMkGMCujNx853sAKap8D2EeF8bCNMpN2Lr3x9g/DSHB0x2WUNZ cnvJwHODGHaVxrTQIjo5cAhk+MiOYEZT1UsafBWwl4lEXGEdnihwzTAs/0dC7X31A0ws3D brRTFP+O4P4FLrUTEcLJRnw+8Zguj8hEsgFLOdaSdeSaRKVXut6Q2UIpyapbiO+GvWNhNQ 5IMvPaZzX18abIauB5+ByzyO5/OPVSiGKpgwF7M6N+oWQz90ZeqE3+TM1YiKKfo5j265+K jpN8ZhT7Xbx1QFjrv8vuOuRO7RLQtq36nnqo5PLFr1+U4w8QIldlbd4uhBbrSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633275; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iwDUyd/I/sTpfvmIzYwgYD3wP5KGVnmHiJngqKKa8jo=; b=hTxBFbZI1nZZexfzmHnhLNNt+DNcrhqRisdLlAnfuJzGZ93+4KvKFGZWjMWahi3bwnfLLs 4+p1BNZcg5H+2mH6EfSiaTO0ID7qFEK9aXXTcXbVw4Mefw2g6iPMSbAKqo56EtRasI8yC1 oPUOURK8n3JJvVeHleqcjDdL96DNrPE8h6nrKTwmL0tavFBjUtSXwDpte+i1JWcwC6OQcD QefRc1bjmt8867MIxbpAaIopcSoFSu801r1kWp4kL0++Kg85AUWbjumhD3mOi273yOQTsf iSbQSPEr5usTnMk5B9an+3+k5ek9cttQ6Pybd1PvDisWJJ4fhKJ+ILJ8X5uTdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633275; a=rsa-sha256; cv=none; b=H+ezqseNQgnWwy82M4y5wIK4JBEYFYaUcCDUKyesDsXwxgAkIoQzcrIDAUT4JDHGaz7bZl jRcyqyqV0nemLQxkNzjHBWKluqKMBIvcqnNFyB+NWG0I1MM83IqR+KCq3EDLvC5yLeJclY 0ZN+VAJaBx3NcpBUXVu/lx/M+jFVCPoN7xHOzW+bszWjOIT2Zs04YwM1lT+6lfOgpnj9No iJGO7dqEai86Q4AdDl89tTJOsV6xF1w9uztozJ+4f0vVW8nYfYdE0pmXD/bJF3KFAS7QJ8 ObPIIMuLIqkwZ76fxWX6Q4R6cl5h7BiAUTSRDCjIY6q+F7cq5g4ydsHKhLlqGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjl2WZlz5nB; Wed, 11 Jun 2025 09:14:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55B9EZo5062620; Wed, 11 Jun 2025 09:14:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EZaE062617; Wed, 11 Jun 2025 09:14:35 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:35 GMT Message-Id: <202506110914.55B9EZaE062617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 63c4cdb166a7 - stable/14 - net80211: LinuxKPI: migrate HE IE structs from LinuxKPI to net80211 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 63c4cdb166a7b58fef9f0b027d7c45c853368a77 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=63c4cdb166a7b58fef9f0b027d7c45c853368a77 commit 63c4cdb166a7b58fef9f0b027d7c45c853368a77 Author: Bjoern A. Zeeb AuthorDate: 2025-06-02 15:58:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:41:19 +0000 net80211: LinuxKPI: migrate HE IE structs from LinuxKPI to net80211 Take the HE IE structures as they are used by drivers and put them into net80211 rather than LinuxKPI. There is little need to re-invent the wheel on those. They settled for long enough. Do not export them by default to user space as some also overlap with wpa and we still do not have a clear distinction for what is available only in kernel and what to user space. In our case ifconfig(8) is a consumer of these structs which it can setting WANT_NET80211 like we have done for some VHT bits before. Add struct net80211_he_cap which holds the IE fields but also a bool and is meant to be put into ic/vap/ni. The bool will give us the same naming for all layers rather than having individual flags in each part which was highly confusing. In theory this struct should be in ieee80211_var.h but that would pull things apart. Extend struct ieee80211_mu_edca_param_set by a union as it will help ifconfig(8) parsing the bk/be/vi/vo parts. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50676 (cherry picked from commit 8be200cf968f0c7f72f75c8a73d7b2bee43f935d) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 24 +------- sys/compat/linuxkpi/common/include/net/mac80211.h | 5 -- sys/net80211/ieee80211.h | 70 +++++++++++++++++++++++ 3 files changed, 71 insertions(+), 28 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index e9af70f751d4..c806afb971e6 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -895,29 +895,7 @@ struct linuxkpi_ieee80211_regdomain { #define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT) -/* - * 802.11ax-2021, - * 9.4.2.248.2 HE MAC Capabilities Information field. - * 9.4.2.248.3 HE PHY Capabilities Information field. - */ -struct ieee80211_he_cap_elem { - u8 mac_cap_info[6]; - u8 phy_cap_info[11]; -} __packed; - -/* 802.11ax-2021, 9.4.2.248.4 Supported HE-MCS And NSS Set field. */ -struct ieee80211_he_mcs_nss_supp { - uint16_t rx_mcs_80; - uint16_t tx_mcs_80; - uint16_t rx_mcs_160; - uint16_t tx_mcs_160; - uint16_t rx_mcs_80p80; - uint16_t tx_mcs_80p80; -}; - -#define IEEE80211_HE_CAP_PPE_THRES_MAX 25 - -/* net80211::ic_ieee80211_he_cap */ +/* net80211::net80211_he_cap */ struct ieee80211_sta_he_cap { bool has_he; struct ieee80211_he_cap_elem he_cap_elem; diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 6ce6a6384c12..af3199c38939 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -413,11 +413,6 @@ struct ieee80211_ftm_responder_params { int civicloc_len; }; -struct ieee80211_he_mu_edca_param_ac_rec { - /* TODO FIXME */ - int aifsn, ecw_min_max, mu_edca_timer; -}; - struct ieee80211_conf { int dynamic_ps_timeout; int power_level; diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 95bbed19a31a..439a9a25dc8d 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -28,6 +28,12 @@ #ifndef _NET80211_IEEE80211_H_ #define _NET80211_IEEE80211_H_ +#include + +#ifndef _KERNEL +#include +#endif + /* * 802.11 protocol definitions. */ @@ -1023,6 +1029,70 @@ struct ieee80211_ie_vht_txpwrenv { #define WLAN_ACTION_VHT_GROUPID_MGMT 1 #define WLAN_ACTION_VHT_OPMODE_NOTIF 2 +#if defined(_KERNEL) || defined(WANT_NET80211) +/* + * HE + */ + +/* + * 802.11ax-2021, + * 9.4.2.248.2 HE MAC Capabilities Information field. + * 9.4.2.248.3 HE PHY Capabilities Information field. + */ +struct ieee80211_he_cap_elem { + uint8_t mac_cap_info[6]; + uint8_t phy_cap_info[11]; +} __packed; + +/* 802.11ax-2021, 9.4.2.248.4 Supported HE-MCS And NSS Set field. */ +struct ieee80211_he_mcs_nss_supp { + uint16_t rx_mcs_80; + uint16_t tx_mcs_80; + uint16_t rx_mcs_160; + uint16_t tx_mcs_160; + uint16_t rx_mcs_80p80; + uint16_t tx_mcs_80p80; +} __packed; + +#define IEEE80211_HE_CAP_PPE_THRES_MAX 25 + +/* XXX this should only be internal. */ +struct net80211_he_cap { + bool has_he; + struct ieee80211_he_cap_elem he_cap_elem; + struct ieee80211_he_mcs_nss_supp he_mcs_nss_supp; + uint8_t ppe_thres[IEEE80211_HE_CAP_PPE_THRES_MAX]; +}; + +/* 802.11ax-2021, 9.4.2.249 HE Operation element. */ +struct ieee80211_he_operation { + uint32_t he_oper_params; + uint16_t he_mcs_nss_set; + uint8_t optional[0]; +} __packed; + +/* 802.11ax-2021, 9.4.2.251 MU EDCA Parameter Set element. */ +struct ieee80211_he_mu_edca_param_ac_rec { + uint8_t aifsn; + uint8_t ecw_min_max; + uint8_t mu_edca_timer; +} __packed; + +struct ieee80211_mu_edca_param_set { + uint8_t mu_qos_info; + union { + struct { + struct ieee80211_he_mu_edca_param_ac_rec ac_be; + struct ieee80211_he_mu_edca_param_ac_rec ac_bk; + struct ieee80211_he_mu_edca_param_ac_rec ac_vi; + struct ieee80211_he_mu_edca_param_ac_rec ac_vo; + }; + struct ieee80211_he_mu_edca_param_ac_rec param_ac_recs[4]; + }; +} __packed; +#endif /* _KERNEL || WANT_NET80211 */ + + /* * Management information element payloads. * From nobody Wed Jun 11 09:14:36 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjn0LFnz600LM; Wed, 11 Jun 2025 09:14: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 4bHKjm3zK8z3m7p; Wed, 11 Jun 2025 09:14:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZI50LV45W6p3kr3UX5tiw1VD1FxvjExwQnX07l9mWx0=; b=D+VYmmgBsllczetyFxKx2Gw8BQZRNRqPSvBYWdgF+oPR0atTc+hGe+cAQw7VpA6sYJ0Uar spqOrabqa1eWsyt3dJg2fU7o9dgqQhmgynjryGDf3PZWlwgU9KTrIYLiY645mpYer9lEpJ aVaW9yow5KGS+KMjOLnogS0I/gzbsMTrsxVIhSvKeqAtrpxEa92svq1l6lu+HDiSxI+pgU FUFPRZKoyVTnP3jcSIPhRSahTIhxY6VBuajPWIIa5LiA9BunD2NpzoY5Hp/hHFOsOm5rmn O4P3trJEqqDKNFqs3BeWDCM9dTDUeX/nvHyI+UHuNXo5N5f14SHcBAfPIkfB4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZI50LV45W6p3kr3UX5tiw1VD1FxvjExwQnX07l9mWx0=; b=JDE2x6x4pT7fyNjHcWshhNlAjunKHvV/03cOAhs2WVnLTD2hLxVSQcMRuxez7EFUeD9med EkxyJ6Y1H10F5xpWmjlJZy8RL4thIr4uZrbJmW8VZohCt8K1CMHYnZsRWS49nQ8QbXy2mf CQIpxzWkoaOldcHTgvqRO5tlmQdMXvn0aiofjtlmgEEndkzDDXTgWDS1NVzYUrNMEcgI29 HImdsAgZYqTnBENaXIpiDVKTLe9Eu5OKAbw4Vels0DN+56rufB9TylEBP0WNgj5+EImtWZ Uzvlemj8usbFG7MWg/rgJOTQPax1GV0ON3bi0YSeLNnwtckbUd4H56ky+nQoPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633276; a=rsa-sha256; cv=none; b=lMfZVyTBakta6MarAAurQrz2XSzB6SGieBAmwlbRiCHJFFkTNnRtDOMO8pIawC7Nb1unGp pbiIC3yVQ51oIide8pQDH2OGw02osOGo0MUTHhTyua3XHOPa6sTwrai0pKZ5BAPZ+hvz+d nWceKTo6hHC7P1dEZ3f/Ka0tvzBafHze3RVj6BJ9V0dlq97QapJxgn38l5kRZ7IlgCuzPm GVvNoe6QQT7sPijdzjtD/aMnHWXLQD3hp1oegLpggWrxC64DWEfIXZblNPj7SsiPklbl1t hyXs8jBFPt8Cb4cKoGm6NHiLmwBeFc8wNbHXXF/Yl5R4wJxHwcQk3bdvQJfEGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjm3MrDz5nC; Wed, 11 Jun 2025 09:14:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55B9Ean4062660; Wed, 11 Jun 2025 09:14:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EaGu062657; Wed, 11 Jun 2025 09:14:36 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:36 GMT Message-Id: <202506110914.55B9EaGu062657@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 8925b9c8d375 - stable/14 - net80211: LinuxKPI: migrate HE defines to net80211, put correct values List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8925b9c8d375bbc7d89fa9d604dc0236d9751637 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8925b9c8d375bbc7d89fa9d604dc0236d9751637 commit 8925b9c8d375bbc7d89fa9d604dc0236d9751637 Author: Bjoern A. Zeeb AuthorDate: 2025-06-03 12:35:33 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:41:24 +0000 net80211: LinuxKPI: migrate HE defines to net80211, put correct values Migrate most LinuxKPI 802.11 definitions for HE IEs to net80211. During that process also properly define them as most of them only had dummy values. Some of the definitions are sparse; that is, only the bits used by drivers so far were listed and annotated with the standards section. There seems to be little point to mangle the names and have two copies of all these bit field definitions. We can add "_S" (shift/mask) variants to those we need in net80211 (if we do). Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50677 (cherry picked from commit 2ab7cbdc346e2a174a7bee4ce44c4f78b1ca093b) --- .../linuxkpi/common/include/linux/ieee80211.h | 4 - sys/compat/linuxkpi/common/include/net/cfg80211.h | 172 +---------------- sys/net80211/ieee80211.h | 209 ++++++++++++++++++++- 3 files changed, 209 insertions(+), 176 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index fe2055f05969..3644ef80861b 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -495,10 +495,6 @@ enum ieee80211_category { WLAN_CATEGORY_SA_QUERY = 8, /* net80211::IEEE80211_ACTION_CAT_SA_QUERY */ }; -struct ieee80211_he_6ghz_capa { - uint16_t capa; -}; - /* 80211-2020 9.3.3.2 Format of Management frames */ struct ieee80211_mgmt { __le16 frame_control; diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index c806afb971e6..18b34f0e90ec 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -44,6 +44,8 @@ #include #include +#include + /* linux_80211.c */ extern int linuxkpi_debug_80211; #ifndef D80211_TODO @@ -640,176 +642,6 @@ struct linuxkpi_ieee80211_regdomain { struct ieee80211_reg_rule reg_rules[]; }; -/* XXX-BZ this are insensible values probably ... */ -#define IEEE80211_HE_MAC_CAP0_HTC_HE 0x1 -#define IEEE80211_HE_MAC_CAP0_TWT_REQ 0x2 -#define IEEE80211_HE_MAC_CAP0_TWT_RES 0x4 - -#define IEEE80211_HE_MAC_CAP1_LINK_ADAPTATION 0x1 -#define IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8 0x2 -#define IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US 0x4 -#define IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_MASK 0x8 - -#define IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP 0x1 -#define IEEE80211_HE_MAC_CAP2_ACK_EN 0x2 -#define IEEE80211_HE_MAC_CAP2_BSR 0x4 -#define IEEE80211_HE_MAC_CAP2_LINK_ADAPTATION 0x8 -#define IEEE80211_HE_MAC_CAP2_BCAST_TWT 0x10 -#define IEEE80211_HE_MAC_CAP2_ALL_ACK 0x20 -#define IEEE80211_HE_MAC_CAP2_MU_CASCADING 0x40 -#define IEEE80211_HE_MAC_CAP2_TRS 0x80 - -#define IEEE80211_HE_MAC_CAP3_OMI_CONTROL 0x02 -#define IEEE80211_HE_MAC_CAP3_OFDMA_RA 0x04 -#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_1 0x08 -#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2 0x10 -#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3 0x18 -#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK 0x18 -#define IEEE80211_HE_MAC_CAP3_FLEX_TWT_SCHED 0x40 -#define IEEE80211_HE_MAC_CAP3_RX_CTRL_FRAME_TO_MULTIBSS 0x80 - -#define IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU 0x1 -#define IEEE80211_HE_MAC_CAP4_BQR 0x2 -#define IEEE80211_HE_MAC_CAP4_MULTI_TID_AGG_TX_QOS_B39 0x4 -#define IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU 0x8 -#define IEEE80211_HE_MAC_CAP4_OPS 0x10 -#define IEEE80211_HE_MAC_CAP4_BSRP_BQRP_A_MPDU_AGG 0x20 - -#define IEEE80211_HE_MAC_CAP5_HE_DYNAMIC_SM_PS 0x1 -#define IEEE80211_HE_MAC_CAP5_HT_VHT_TRIG_FRAME_RX 0x2 -#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B40 0x4 -#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B41 0x8 -#define IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU 0x10 -#define IEEE80211_HE_MAC_CAP5_OM_CTRL_UL_MU_DATA_DIS_RX 0x20 -#define IEEE80211_HE_MAC_CAP5_PUNCTURED_SOUNDING 0x40 -#define IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECTIVE_TRANSMISSION 0x80 - -#define IEEE80211_HE_MCS_NOT_SUPPORTED 0x0 -#define IEEE80211_HE_MCS_SUPPORT_0_7 0x1 -#define IEEE80211_HE_MCS_SUPPORT_0_9 0x2 -#define IEEE80211_HE_MCS_SUPPORT_0_11 0x4 - -#define IEEE80211_HE_6GHZ_CAP_TX_ANTPAT_CONS 0x01 -#define IEEE80211_HE_6GHZ_CAP_RX_ANTPAT_CONS 0x02 -#define IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START 0x04 -#define IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN 0x08 -#define IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP 0x10 -#define IEEE80211_HE_6GHZ_CAP_SM_PS 0x20 - -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G 0x1 -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G 0x2 -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G 0x4 -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G 0x8 -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_RU_MAPPING_IN_2G 0x10 -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_RU_MAPPING_IN_5G 0x20 -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_MASK 0x40 -#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_MASK_ALL 0xff - -#define IEEE80211_HE_PHY_CAP1_DEVICE_CLASS_A 0x1 -#define IEEE80211_HE_PHY_CAP1_LDPC_CODING_IN_PAYLOAD 0x2 -#define IEEE80211_HE_PHY_CAP1_MIDAMBLE_RX_TX_MAX_NSTS 0x4 -#define IEEE80211_HE_PHY_CAP1_PREAMBLE_PUNC_RX_MASK 0x8 -#define IEEE80211_HE_PHY_CAP1_HE_LTF_AND_GI_FOR_HE_PPDUS_0_8US 0x10 - -#define IEEE80211_HE_PHY_CAP2_MIDAMBLE_RX_TX_MAX_NSTS 0x1 -#define IEEE80211_HE_PHY_CAP2_NDP_4x_LTF_AND_3_2US 0x2 -#define IEEE80211_HE_PHY_CAP2_STBC_TX_UNDER_80MHZ 0x4 -#define IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ 0x8 -#define IEEE80211_HE_PHY_CAP2_DOPPLER_TX 0x10 -#define IEEE80211_HE_PHY_CAP2_UL_MU_PARTIAL_MU_MIMO 0x20 -#define IEEE80211_HE_PHY_CAP2_UL_MU_FULL_MU_MIMO 0x40 - -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK 0x1 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_NO_DCM 0x2 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_NO_DCM 0x4 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 0x8 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_1 0x10 -#define IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER 0x20 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM 0x40 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_16_QAM 0x80 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_2 0x10 -#define IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU 0x20 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_BPSK 0x40 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_BPSK 0x80 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_MASK 0x80 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_QPSK 0x80 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_QPSK 0x80 -#define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_2 0x80 - -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_8 0x1 -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_8 0x2 -#define IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE 0x4 -#define IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER 0x8 -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_4 0x10 -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_4 0x20 -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_MASK 0x40 -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_MASK 0x80 -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_5 0x80 -#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_5 0x80 - -#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_2 0x1 -#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_2 0x2 -#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK 0x4 -#define IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK 0x8 -#define IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK 0x10 -#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_MASK 0x20 - -#define IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT 0x1 -#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB 0x2 -#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB 0x4 -#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB 0x8 -#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB 0x20 -#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU 0x40 -#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU 0x80 -#define IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE 0x80 -#define IEEE80211_HE_PHY_CAP6_TRIG_CQI_FB 0x80 -#define IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO 0x80 - -#define IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI 0x1 -#define IEEE80211_HE_PHY_CAP7_MAX_NC_1 0x2 -#define IEEE80211_HE_PHY_CAP7_MAX_NC_2 0x4 -#define IEEE80211_HE_PHY_CAP7_MAX_NC_MASK 0x6 -#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR 0x8 -#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP 0x10 -#define IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ 0x20 -#define IEEE80211_HE_PHY_CAP7_STBC_TX_ABOVE_80MHZ 0x40 -#define IEEE80211_HE_PHY_CAP7_PSR_BASED_SR 0x80 - -#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_160MHZ_HE_PPDU 0x1 -#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G 0x2 -#define IEEE80211_HE_PHY_CAP8_80MHZ_IN_160MHZ_HE_PPDU 0x4 -#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_242 0x8 -#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_484 0x10 -#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_996 0x18 -#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_2x996 0x20 -#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_MASK 0x28 -#define IEEE80211_HE_PHY_CAP8_HE_ER_SU_PPDU_4XLTF_AND_08_US_GI 0x40 -#define IEEE80211_HE_PHY_CAP8_HE_ER_SU_1XLTF_AND_08_US_GI 0x80 - -#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US 0x1 -#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US 0x2 -#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US 0x4 -#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK 0x8 -#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED 0x10 -#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS 0x0 -#define IEEE80211_HE_PHY_CAP9_NON_TRIGGERED_CQI_FEEDBACK 0x20 -#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB 0x4 -#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB 0x8 -#define IEEE80211_HE_PHY_CAP9_RX_1024_QAM_LESS_THAN_242_TONE_RU 0x10 -#define IEEE80211_HE_PHY_CAP9_TX_1024_QAM_LESS_THAN_242_TONE_RU 0x20 -#define IEEE80211_HE_PHY_CAP9_LONGER_THAN_16_SIGB_OFDM_SYM 0x40 - -#define IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF 0x1 - -#define IEEE80211_HE_OPERATION_BSS_COLOR_DISABLED 0x1 -#define IEEE80211_HE_OPERATION_BSS_COLOR_OFFSET 0x2 -#define IEEE80211_HE_OPERATION_ER_SU_DISABLE 0x4 - -#define IEEE80211_HE_SPR_HESIGA_SR_VAL15_ALLOWED 0x01 -#define IEEE80211_HE_SPR_NON_SRG_OBSS_PD_SR_DISALLOWED 0x02 -#define IEEE80211_HE_SPR_NON_SRG_OFFSET_PRESENT 0x04 -#define IEEE80211_HE_SPR_SRG_INFORMATION_PRESENT 0x08 - #define IEEE80211_EHT_MAC_CAP0_EPCS_PRIO_ACCESS 0x01 #define IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_11454 0x02 #define IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_MASK 0x03 diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 439a9a25dc8d..46f7de0663ee 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -4,6 +4,10 @@ * Copyright (c) 2001 Atsushi Onoe * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting * All rights reserved. + * Copyright (c) 2020-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Björn Zeeb + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -1034,6 +1038,177 @@ struct ieee80211_ie_vht_txpwrenv { * HE */ +/* + * 802.11ax-2021, 9.4.2.248.2 HE MAC Capabilities Information field. + */ +/* B0..B7 */ +#define IEEE80211_HE_MAC_CAP0_HTC_HE (1<<0) +#define IEEE80211_HE_MAC_CAP0_TWT_REQ (1<<1) +#define IEEE80211_HE_MAC_CAP0_TWT_RES (1<<2) + +/* B8..B15 */ +#define IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US (1<<3) +#define IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_MASK (1<<3 | 1<<2) +#define IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8 (1<<6 | 1<<5 | 1<<4) +#define IEEE80211_HE_MAC_CAP1_LINK_ADAPTATION (1<<7) +/* Note: B15|B16 are split between octets %!$@??? */ + +/* B16..B23 */ +#define IEEE80211_HE_MAC_CAP2_LINK_ADAPTATION (1<<0) +#define IEEE80211_HE_MAC_CAP2_ALL_ACK (1<<1) +#define IEEE80211_HE_MAC_CAP2_TRS (1<<2) +#define IEEE80211_HE_MAC_CAP2_BSR (1<<3) +#define IEEE80211_HE_MAC_CAP2_BCAST_TWT (1<<4) +#define IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP (1<<5) +#define IEEE80211_HE_MAC_CAP2_MU_CASCADING (1<<6) +#define IEEE80211_HE_MAC_CAP2_ACK_EN (1<<7) + +/* B24..B31 */ +#define IEEE80211_HE_MAC_CAP3_OMI_CONTROL (1<<1) +#define IEEE80211_HE_MAC_CAP3_OFDMA_RA (1<<2) +#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_1 (1<<3) +#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2 (1<<4) +#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3 (1<<4 | 1<<3) +#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK (1<<4 | 1<<3) +#define IEEE80211_HE_MAC_CAP3_FLEX_TWT_SCHED (1<<6) +#define IEEE80211_HE_MAC_CAP3_RX_CTRL_FRAME_TO_MULTIBSS (1<<7) + +/* B32..B39 */ +#define IEEE80211_HE_MAC_CAP4_BSRP_BQRP_A_MPDU_AGG (1<<0) +#define IEEE80211_HE_MAC_CAP4_BQR (1<<2) +#define IEEE80211_HE_MAC_CAP4_OPS (1<<5) +#define IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU (1<<6) +#define IEEE80211_HE_MAC_CAP4_MULTI_TID_AGG_TX_QOS_B39 (1<<7) +/* Note: B39|B40|B41 are split between octets %!$@??? */ + +/* B40..B47 */ +#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B40 (1<<0) +#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B41 (1<<1) +#define IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECTIVE_TRANSMISSION (1<<2) +#define IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU (1<<3) +#define IEEE80211_HE_MAC_CAP5_OM_CTRL_UL_MU_DATA_DIS_RX (1<<4) +#define IEEE80211_HE_MAC_CAP5_HE_DYNAMIC_SM_PS (1<<5) +#define IEEE80211_HE_MAC_CAP5_PUNCTURED_SOUNDING (1<<6) +#define IEEE80211_HE_MAC_CAP5_HT_VHT_TRIG_FRAME_RX (1<<7) + +/* + * 802.11ax-2021, 9.4.2.248.3 HE PHY Capabilities Information field. + */ +/* B0..B7 */ +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G (1<<1) +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G (1<<2) +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G (1<<3) +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G (1<<4) +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_MASK_ALL (1<<4 | 1<<3 | 1<<2 | 1<<1) +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_RU_MAPPING_IN_2G (1<<5) +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_RU_MAPPING_IN_5G (1<<6) +#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_MASK (1<<6 | 1<<5 | 1<<4 | 1<<3 | 1<<2 | 1<<1) + +/* B8..B15 */ +#define IEEE80211_HE_PHY_CAP1_PREAMBLE_PUNC_RX_MASK (1<<3 | 1<<2 | 1<<1 | 1<<0) +#define IEEE80211_HE_PHY_CAP1_DEVICE_CLASS_A (1<<4) +#define IEEE80211_HE_PHY_CAP1_LDPC_CODING_IN_PAYLOAD (1<<5) +#define IEEE80211_HE_PHY_CAP1_HE_LTF_AND_GI_FOR_HE_PPDUS_0_8US (1<<6) +#define IEEE80211_HE_PHY_CAP1_MIDAMBLE_RX_TX_MAX_NSTS (1<<7) +/* Note: B15|B16 are split between octets %!$@??? */ + +/* B16..B23 */ +#define IEEE80211_HE_PHY_CAP2_MIDAMBLE_RX_TX_MAX_NSTS (1<<0) +#define IEEE80211_HE_PHY_CAP2_NDP_4x_LTF_AND_3_2US (1<<1) +#define IEEE80211_HE_PHY_CAP2_STBC_TX_UNDER_80MHZ (1<<2) +#define IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ (1<<3) +#define IEEE80211_HE_PHY_CAP2_DOPPLER_TX (1<<4) +#define IEEE80211_HE_PHY_CAP2_DOPPLER_RX (1<<5) +#define IEEE80211_HE_PHY_CAP2_UL_MU_FULL_MU_MIMO (1<<6) +#define IEEE80211_HE_PHY_CAP2_UL_MU_PARTIAL_MU_MIMO (1<<7) + +/* B24..B31 */ +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_NO_DCM 0x00 +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_BPSK (1<<0) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_QPSK (1<<1) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_16_QAM (1<<1 | 1<<0) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_MASK (1<<1 | 1<<0) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_1 0x00 +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_2 (1<<2) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_NO_DCM 0x00 +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_BPSK (1<<3) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_QPSK (1<<4) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM (1<<4 | 1<<3) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK (1<<4 | 1<<3) +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 0x00 +#define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_2 (1<<5) +#define IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU (1<<6) +#define IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER (1<<7) + +/* B32..B39 */ +#define IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE (1<<0) +#define IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER (1<<1) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_4 (1<<3 | 1<<2) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_5 (1<<4) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_8 (1<<4 | 1<<3 | 1<<2) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_MASK (1<<4 | 1<<3 | 1<<2) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_4 (1<<6 | 1<<5) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_5 (1<<7) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_8 (1<<7 | 1<<6 | 1<<5) +#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_MASK (1<<7 | 1<<6 | 1<<5) + +/* B40..B47 */ +#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_2 (1<<0) +#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK (1<<2 | 1<<1 | 1<<0) +#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_2 (1<<3) +#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_MASK (1<<5 | 1<<4 | 1<<3) +#define IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK (1<<6) +#define IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK (1<<7) + +/* B48..B55 */ +#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU (1<<0) +#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU (1<<1) +#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB (1<<2) +#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB (1<<3) +#define IEEE80211_HE_PHY_CAP6_TRIG_CQI_FB (1<<4) +#define IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE (1<<5) +#define IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO (1<<6) +#define IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT (1<<7) + +/* B56..B63 */ +#define IEEE80211_HE_PHY_CAP7_PSR_BASED_SR (1<<0) +#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP (1<<1) +#define IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI (1<<2) +#define IEEE80211_HE_PHY_CAP7_MAX_NC_1 (1<<3) +#define IEEE80211_HE_PHY_CAP7_MAX_NC_2 (1<<4) +#define IEEE80211_HE_PHY_CAP7_MAX_NC_MASK (1<<5 | 1<<4 | 1<<3) +#define IEEE80211_HE_PHY_CAP7_STBC_TX_ABOVE_80MHZ (1<<6) +#define IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ (1<<7) + +/* B64..B71 */ +#define IEEE80211_HE_PHY_CAP8_HE_ER_SU_PPDU_4XLTF_AND_08_US_GI (1<<0) +#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G (1<<1) +#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_160MHZ_HE_PPDU (1<<2) +#define IEEE80211_HE_PHY_CAP8_80MHZ_IN_160MHZ_HE_PPDU (1<<3) +#define IEEE80211_HE_PHY_CAP8_HE_ER_SU_1XLTF_AND_08_US_GI (1<<4) +#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_242 0x00 +#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_484 (1<<6) +#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_996 (1<<7) +#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_2x996 (1<<7 | 1<<6) +#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_MASK (1<<7 | 1<<6) + +/* B72..B79 */ +#define IEEE80211_HE_PHY_CAP9_LONGER_THAN_16_SIGB_OFDM_SYM (1<<0) +#define IEEE80211_HE_PHY_CAP9_NON_TRIGGERED_CQI_FEEDBACK (1<<1) +#define IEEE80211_HE_PHY_CAP9_TX_1024_QAM_LESS_THAN_242_TONE_RU (1<<2) +#define IEEE80211_HE_PHY_CAP9_RX_1024_QAM_LESS_THAN_242_TONE_RU (1<<3) +#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB (1<<4) +#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB (1<<5) +#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US 0x00 +#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US 1 +#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US 2 +#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED 3 +#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_POS 6 +#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK (1<<7 | 1<<6) + +/* B80..B87 */ +#define IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF (1<<0) + /* * 802.11ax-2021, * 9.4.2.248.2 HE MAC Capabilities Information field. @@ -1045,6 +1220,13 @@ struct ieee80211_he_cap_elem { } __packed; /* 802.11ax-2021, 9.4.2.248.4 Supported HE-MCS And NSS Set field. */ +enum ieee80211_he_mcs_support { + IEEE80211_HE_MCS_SUPPORT_0_7 = 0, /* HE-MCS 0-7 for n NSS */ + IEEE80211_HE_MCS_SUPPORT_0_9 = 1, /* HE-MCS 0-9 for n NSS */ + IEEE80211_HE_MCS_SUPPORT_0_11 = 2, /* HE-MCS 0-11 for n NSS */ + IEEE80211_HE_MCS_NOT_SUPPORTED = 3 /* n NSS not supported. */ +}; + struct ieee80211_he_mcs_nss_supp { uint16_t rx_mcs_80; uint16_t tx_mcs_80; @@ -1065,8 +1247,12 @@ struct net80211_he_cap { }; /* 802.11ax-2021, 9.4.2.249 HE Operation element. */ +#define IEEE80211_HE_OPERATION_ER_SU_DISABLE (1<<16) +#define IEEE80211_HE_OPERATION_BSS_COLOR_OFFSET 24 +#define IEEE80211_HE_OPERATION_BSS_COLOR_DISABLED (1<<31) + struct ieee80211_he_operation { - uint32_t he_oper_params; + uint32_t he_oper_params; /* (3) params | (1) bss color info */ uint16_t he_mcs_nss_set; uint8_t optional[0]; } __packed; @@ -1090,8 +1276,27 @@ struct ieee80211_mu_edca_param_set { struct ieee80211_he_mu_edca_param_ac_rec param_ac_recs[4]; }; } __packed; -#endif /* _KERNEL || WANT_NET80211 */ +/* 802.11ax-2021, 9.4.2.252 Spatial Reuse Parameter Set element */ +/* Figure 9-788r-SR Control field format */ +#define IEEE80211_HE_SPR_NON_SRG_OBSS_PD_SR_DISALLOWED (1<<1) +#define IEEE80211_HE_SPR_NON_SRG_OFFSET_PRESENT (1<<2) +#define IEEE80211_HE_SPR_SRG_INFORMATION_PRESENT (1<<3) +#define IEEE80211_HE_SPR_HESIGA_SR_VAL15_ALLOWED (1<<4) + +/* 802.11ax-2021, 9.4.2.263 HE 6 GHz Band Capabilities element */ +/* Figure 9-788aj-Capabilities Information field format */ +#define IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START (1<<2 | 1<<1 | 1<<0) +#define IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP (1<<5 | 1<<4 | 1<<3) +#define IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN (1<<7 | 1<<6) +#define IEEE80211_HE_6GHZ_CAP_SM_PS (1<<10 | 1<<9) +#define IEEE80211_HE_6GHZ_CAP_RX_ANTPAT_CONS (1<<12) +#define IEEE80211_HE_6GHZ_CAP_TX_ANTPAT_CONS (1<<13) + +struct ieee80211_he_6ghz_capa { + uint16_t capa; +}; +#endif /* _KERNEL || WANT_NET80211 */ /* * Management information element payloads. From nobody Wed Jun 11 09:14:37 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjp18p8z600LN; Wed, 11 Jun 2025 09:14: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 4bHKjn5YqLz3mB5; Wed, 11 Jun 2025 09:14:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MAhJrq+q/PHQEgP4UxPnlhotCV5thElivPE38tRocMw=; b=DhdxlD49gbTVXBa5krYCpBpVbWeAgoPbehLUOmqhqupg3e6cLwkr0W2aa0B3xuCS2Lld4Z 0NvzeUho2LrYr1QhAVB8Wz4Z/YgDyMct6VEALSrvyHjlYExviC+lKNqqjR6M9wm/ScrKIg hvbGfXL7nr8Ik385fGAFqyEKYtV51Mss8+0UxvdvTHrLbUy7/bH2ow2JSZfAW+dPWRkPAt HtXtGlNozsXciVsWLbiU55h62ZPLRVq3VsmRmIfFKbrE3akegEvoc9y4sSQl4+JA6u5n/Q AuaIoythQ4N6ADnD9hqUAfzN/jpiK7EemQ8RvAS9t4g0m5h609K5D5bo0y/0fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MAhJrq+q/PHQEgP4UxPnlhotCV5thElivPE38tRocMw=; b=iVifKNUJRX91A9vgRFNJi8G3i7rTxrfc1ZD8CkZiwtaGaVhQErai0BVtJj7Y43PLyONidP XwecwPOXsVQ5bXnz8QhuYgqoLYb13+DXLNttVdgCdfoNVM04XwMnCAQjTO+kiA642l7K5d itR4d4oYpklfDP+AGVDCiwl7NGRxTmy0QwyXiEM6pUOJiJiqpER4udtlKx33gSBBMjf63D tLp3ueyZ1BmXw++PqXYJYYcyK7jZ4ZNHGN3PSZvux6ILPHktHFb2DMqrjk6gjWAsS0gqzu u7ZPb7roINBCQOib7+iNI6s4o0SnvKF0ZxIpnS1k+2oQ7WLtIOwfE2iU26syZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633277; a=rsa-sha256; cv=none; b=Oqi14jfQYCMCc+qNkV9wdzrNq54IkYnd13X8es0m+Z3vxA/MJBwQYVXlgfkvFS4Vyp6/iy 4KZ/uB7O0dHoaVuOAlKcAoTgAfjeGs6ZdFlq9cXD9nt+mVPFYdPTUfpGtyO7OLoq3JYEyD KHYO3LRKLr9ufJrT9Xz6pAVViCIjvPWAoebTXN1vVjKKOwk2CcrgOCcTpT5AK72bbskwAV umk8fyTiaxal/PyCdEYeD1bJpOSwGEvPpg1EptDqLrt0g9/g6p28KBodyeJi8ZtJlYCRs5 gkNYAwgfJuaB9JgQPxJKnHCNtDF1bpW0ulJj0exK/cZTaffWCoTuLZINQVWasw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjn4gFYz5SY; Wed, 11 Jun 2025 09:14: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 55B9EbGQ062697; Wed, 11 Jun 2025 09:14:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EbI0062694; Wed, 11 Jun 2025 09:14:37 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:37 GMT Message-Id: <202506110914.55B9EbI0062694@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f7682d82f1b7 - stable/14 - ifconfig: 802.11: decode more information elements (IEs) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f7682d82f1b7e7cef32be48f06de0a77b57fb179 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f7682d82f1b7e7cef32be48f06de0a77b57fb179 commit f7682d82f1b7e7cef32be48f06de0a77b57fb179 Author: Bjoern A. Zeeb AuthorDate: 2025-06-02 16:06:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:41:29 +0000 ifconfig: 802.11: decode more information elements (IEs) Start dealing with Element ID Extension present (IE T=255) and start parsing elemants from the Element ID Extension set. Namely (partially) decode HE_CAPA, HE_OPER, MU_EDCA_PARAM_SET, and as well as SUP_OP_CLASS. For length reasons also rename UNKNOWN_ELEMID_%d to ELEMID_%d. Sponsored by: The FreeBSD Foundation Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50678 (cherry picked from commit a2a15732eb1db4616aa628ae8bfd4047c40dbaee) --- sbin/ifconfig/ifieee80211.c | 229 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 226 insertions(+), 3 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index 57200cf4f8c1..6bdb455f1aff 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -2778,6 +2778,177 @@ printwmeinfo(if_ctx *ctx, const char *tag, const u_int8_t *ie) } } +static void +printhecap(if_ctx *ctx, const char *tag, const uint8_t *ie) +{ + const struct ieee80211_he_cap_elem *hecap; + const struct ieee80211_he_mcs_nss_supp *mcsnss; + unsigned int i; + uint8_t chw; + + printf("%s", tag); + if (!ctx->args->verbose) + return; + + /* Check that the right size. */ + if (ie[1] < 1 + sizeof(*hecap) + 4) { + printf("", ie[1]); + return; + } + /* Skip Element ID, Length, EID Extension. */ + hecap = (const struct ieee80211_he_cap_elem *)(ie + 3); + + /* XXX-BZ we need to somehow decode each field? */ + printf("mac_cap_info); i++) + printf(" %#04x", hecap->mac_cap_info[i]); + printf(" phy_cap"); + for (i = 0; i < nitems(hecap->phy_cap_info); i++) + printf(" %#04x", hecap->phy_cap_info[i]); + + chw = hecap->phy_cap_info[0]; + ie = (const uint8_t *)(const void *)(hecap + 1); + mcsnss = (const struct ieee80211_he_mcs_nss_supp *)ie; + /* Cannot use <= as < is a delimiter. */ + printf(" rx/tx_he_mcs map: loweq80 %#06x/%#06x", + mcsnss->rx_mcs_80, mcsnss->tx_mcs_80); + ie += 2; + if ((chw & (1<<2)) != 0) { + printf(" 160 %#06x/%#06x", + mcsnss->rx_mcs_160, mcsnss->tx_mcs_160); + ie += 2; + } + if ((chw & (1<<3)) != 0) { + printf(" 80+80 %#06x/%#06x", + mcsnss->rx_mcs_80p80, mcsnss->tx_mcs_80p80); + ie += 2; + } + /* TODO: ppet = (struct ... *)ie; */ + + printf(">"); +} + +static void +printheoper(if_ctx *ctx, const char *tag, const uint8_t *ie) +{ + printf("%s", tag); + if (ctx->args->verbose) { + const struct ieee80211_he_operation *heoper; + uint32_t params; + + /* Check that the right size. */ + if (ie[1] < 1 + sizeof(*heoper)) { + printf("", ie[1]); + return; + } + /* Skip Element ID, Length, EID Extension. */ + heoper = (const struct ieee80211_he_operation *)(ie + 3); + + /* XXX-BZ we need to somehow decode each field? */ + params = heoper->he_oper_params & 0x00ffffff; + printf("he_oper_params & 0xff000000) >> 24); + printf(" mcs_nss %#06x", heoper->he_mcs_nss_set); + if ((params & (1 << 14)) != 0) { + printf(" vht_op 0-3"); + } + if ((params & (1 << 15)) != 0) { + printf(" max_coh_bssid 0-1"); + } + if ((params & (1 << 17)) != 0) { + printf(" 6ghz_op 0-5"); + } + printf(">"); + } +} + +static void +printmuedcaparamset(if_ctx *ctx, const char *tag, const uint8_t *ie) +{ + static const char *acnames[] = { "BE", "BK", "VO", "VI" }; + const struct ieee80211_mu_edca_param_set *mu_edca; + int i; + + printf("%s", tag); + if (!ctx->args->verbose) + return; + + /* Check that the right size. */ + if (ie[1] != 1 + sizeof(*mu_edca)) { + printf("", ie[1]); + return; + } + /* Skip Element ID, Length, EID Extension. */ + mu_edca = (const struct ieee80211_mu_edca_param_set *)(ie + 3); + + printf("mu_qos_info); + ie++; + for (i = 0; i < WME_NUM_AC; i++) { + const struct ieee80211_he_mu_edca_param_ac_rec *ac = + &mu_edca->param_ac_recs[i]; + + printf(" %s[aifsn %u ecwmin %u ecwmax %u timer %u]", acnames[i], + ac->aifsn, + _IEEE80211_MASKSHIFT(ac->ecw_min_max, WME_PARAM_LOGCWMIN), + _IEEE80211_MASKSHIFT(ac->ecw_min_max, WME_PARAM_LOGCWMAX), + ac->mu_edca_timer); + } + printf(">"); +} + +static void +printsupopclass(if_ctx *ctx, const char *tag, const u_int8_t *ie) +{ + uint8_t len, i; + + printf("%s", tag); + if (!ctx->args->verbose) + return; + + /* Check that the right size. */ + len = ie[1]; + if (len < 2) { + printf("", ie[1]); + return; + } + + ie += 2; + i = 0; + printf(" 1 && i < len && *(ie + i) != 130) { + printf(" parsing error at %#0x>", i); + return; + } + /* Skip OneHundredAndThirty Delimiter. */ + i++; + if (i < len && *(ie + i) != 0) + printf(" ext seq"); + while (i < len && *(ie + i) != 0) { + printf(" %u", *(ie + i)); + i++; + } + if (i > 1 && i < len && *(ie + i) != 0) { + printf(" parsing error at %#0x>", i); + return; + } + /* Skip Zero Delimiter. */ + i++; + if ((i + 1) < len) + printf(" duple seq"); + while ((i + 1) < len) { + printf(" %u/%u", *(ie + i), *(ie + i + 1)); + i += 2; + } + printf(">"); +} + static void printvhtcap(if_ctx *ctx, const char *tag, const u_int8_t *ie) { @@ -3606,7 +3777,22 @@ iswpsoui(const uint8_t *frm) } static const char * -iename(int elemid) +ie_ext_name(uint8_t ext_elemid) +{ + static char iename_buf[32]; + + switch (ext_elemid) { + case IEEE80211_ELEMID_EXT_HE_CAPA: return " HECAP"; + case IEEE80211_ELEMID_EXT_HE_OPER: return " HEOPER"; + case IEEE80211_ELEMID_EXT_MU_EDCA_PARAM_SET: return " MU_EDCA_PARAM_SET"; + } + snprintf(iename_buf, sizeof(iename_buf), " ELEMID_EXT_%d", + ext_elemid & 0xff); + return (const char *) iename_buf; +} + +static const char * +iename(uint8_t elemid, const u_int8_t *vp) { static char iename_buf[64]; switch (elemid) { @@ -3628,6 +3814,8 @@ iename(int elemid) case IEEE80211_ELEMID_IBSSDFS: return " IBSSDFS"; case IEEE80211_ELEMID_RESERVED_47: return " RESERVED_47"; + case IEEE80211_ELEMID_SUP_OP_CLASS: + return " SUP_OP_CLASS"; case IEEE80211_ELEMID_MOBILITY_DOMAIN: return " MOBILITY_DOMAIN"; case IEEE80211_ELEMID_RRM_ENACAPS: @@ -3638,12 +3826,41 @@ iename(int elemid) case IEEE80211_ELEMID_CCKM: return " CCKM"; case IEEE80211_ELEMID_EXTCAP: return " EXTCAP"; case IEEE80211_ELEMID_RSN_EXT: return " RSNXE"; + case IEEE80211_ELEMID_EXTFIELD: + if (vp[1] >= 1) + return ie_ext_name(vp[2]); + break; } - snprintf(iename_buf, sizeof(iename_buf), " UNKNOWN_ELEMID_%d", + snprintf(iename_buf, sizeof(iename_buf), " ELEMID_%d", elemid); return (const char *) iename_buf; } +static void +printexties(if_ctx *ctx, const u_int8_t *vp, unsigned int maxcols) +{ + const int verbose = ctx->args->verbose; + + if (vp[1] < 1) + return; + + switch (vp[2]) { + case IEEE80211_ELEMID_EXT_HE_CAPA: + printhecap(ctx, " HECAP", vp); + break; + case IEEE80211_ELEMID_EXT_HE_OPER: + printheoper(ctx, " HEOPER", vp); + break; + case IEEE80211_ELEMID_EXT_MU_EDCA_PARAM_SET: + printmuedcaparamset(ctx, " MU_EDCA_PARAM_SET", vp); + break; + default: + if (verbose) + printie(ctx, iename(vp[0], vp), vp, 2+vp[1], maxcols); + break; + } +} + static void printies(if_ctx *ctx, const u_int8_t *vp, int ielen, unsigned int maxcols) { @@ -3695,6 +3912,9 @@ printies(if_ctx *ctx, const u_int8_t *vp, int ielen, unsigned int maxcols) case IEEE80211_ELEMID_HTCAP: printhtcap(ctx, " HTCAP", vp); break; + case IEEE80211_ELEMID_SUP_OP_CLASS: + printsupopclass(ctx, " SUP_OP_CLASS", vp); + break; case IEEE80211_ELEMID_HTINFO: if (verbose) printhtinfo(ctx, " HTINFO", vp); @@ -3724,9 +3944,12 @@ printies(if_ctx *ctx, const u_int8_t *vp, int ielen, unsigned int maxcols) case IEEE80211_ELEMID_RSN_EXT: printrsnxe(ctx, " RSNXE", vp, 2+vp[1]); break; + case IEEE80211_ELEMID_EXTFIELD: + printexties(ctx, vp, maxcols); + break; default: if (verbose) - printie(ctx, iename(vp[0]), vp, 2+vp[1], maxcols); + printie(ctx, iename(vp[0], vp), vp, 2+vp[1], maxcols); break; } ielen -= 2+vp[1]; From nobody Wed Jun 11 09:14:38 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKjq55QVz600G6; Wed, 11 Jun 2025 09:14:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHKjp64cCz3mBL; Wed, 11 Jun 2025 09:14:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zHCUWWnuzAjfNYYVJuqBfpAhsDTKeAWvC2ofJuSXOZM=; b=NEo008h5ejdfq5edHqr/HyTSVokM7M9KuU33846tUxYa76q7gdDyN+DNfhLykUunVWgUdf CwdYGQ1TmLXw0QdAbT9AxiVhrNUzjBt03v0XPjICSdRC2wWF//oE3eEXDKI6xcgkv5puU2 GT3gv+FVh8z384HT9/D0WZhSQN/P0ggW5fGJg63DWLHhA/2urS4SNcaS3ebI8J/sN3XgCL Cu9vEmU25l0RgaYMjR+Y3M2OsWLKEhFmT9DyrKYTfiHbh1q4Dw9nIsDBpBycShAmjE0dvo aThKrI0Lw/4vfK0GmIjoJM+oNx48pBNttXjngKDCm0/LLrxVloq9RGrk7xwH3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zHCUWWnuzAjfNYYVJuqBfpAhsDTKeAWvC2ofJuSXOZM=; b=aEpOQoD0gOFg0PGqXWfKbZpKVaKE71w3ihZNSFZnmCcYdBGteUFeKzj4hkjevC/tQi4JEI o0ltMufaB/T6wB6AQvtcwptl+7vcL6ZZbwYOoaqwrYzjLltd5k6wizT5K0WITkI5tLF1Hs eJS6jxM8vwxc8kSI2miQRaZsg/DLCqWdPTZLCxcD7UPZ+IA6xGamRSwAXzMgmUVKPyLMr3 o4DjrCtQyXn0r9Fxsd0QpE3kNnI0FxNIXPY45+p9F+io2VjsNF3M7gO0Q0xaBlG8fP9ncg 5f+1EoMcIJukbogaKpsb3itqN2Vu0O+BOMseHxKVoRUBcJBrNNugKi5SsRWEXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633278; a=rsa-sha256; cv=none; b=EXep+LI9LM/t2nQPw7JnY3WP6ywf4uW2l9eGIWIQjMwkY6jNHDKVoIkZeQ7aOR61hviN/G //CAfZJivDwAn1C+bZ82idx1L4qA5qKflSw1UPogSrhoBARSoH4vL0EbIb9C1te4DhCIdG oJQm++4y3yQamkpb26Jq68wLC14lErWjoIHNq/iBMaBW3CXmTY/17OhgcyvBlsiUAQyijc wfvF1h18hqfuaxy8nO3clmDIusgjxr+xbLVAS/b5mAYA4je+n6h4JDGpQKhmCj1y2tXdGx Nd4kZuFZosfZfMdOkpfdsU55dOySThTZq5zNfMpzc5bAYENr7Pxa3lUNDTum6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKjp5gmtz5bW; Wed, 11 Jun 2025 09:14:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55B9EcaI062734; Wed, 11 Jun 2025 09:14:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9EcaW062731; Wed, 11 Jun 2025 09:14:38 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:14:38 GMT Message-Id: <202506110914.55B9EcaW062731@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 950343a170f0 - stable/14 - net80211: fix TKIP trailer trimming w/ no rx parameters given List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 950343a170f06a0651b725058e0669b8d03b9d24 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=950343a170f06a0651b725058e0669b8d03b9d24 commit 950343a170f06a0651b725058e0669b8d03b9d24 Author: Adrian Chadd AuthorDate: 2025-06-02 00:11:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-10 23:45:16 +0000 net80211: fix TKIP trailer trimming w/ no rx parameters given Previous work made trimming the TKIP trailer an optional thing based on what the driver indicated it did with the received frame. However, for drivers that aren't populating an RX frame with an rx status - notably iwn(4) - exposed this bug. If the driver doesn't expose any RX status then just restore the previous behaviour. This matches what was done in the CCMP code in ccmp_decap(). Locally tested: * iwn(4), STA mode, CCMP + TKIP groupwise network Differential Revision: https://reviews.freebsd.org/D50638 Fixes: 731ff40069d28 Reviewed by: bz (cherry picked from commit 36fcd52c2bd5a8a4b3d584564852f417fb83e762) --- sys/net80211/ieee80211_crypto_tkip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_crypto_tkip.c b/sys/net80211/ieee80211_crypto_tkip.c index ca474b504fff..0506e2df6545 100644 --- a/sys/net80211/ieee80211_crypto_tkip.c +++ b/sys/net80211/ieee80211_crypto_tkip.c @@ -370,7 +370,7 @@ finish: /* * Strip the ICV if hardware has not done so already. */ - if (rxs != NULL && (rxs->c_pktflags & IEEE80211_RX_F_ICV_STRIP) == 0) + if ((rxs == NULL) || (rxs->c_pktflags & IEEE80211_RX_F_ICV_STRIP) == 0) m_adj(m, -tkip.ic_trailer); return 1; From nobody Wed Jun 11 09:19:16 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKq843Srz600XQ; Wed, 11 Jun 2025 09:19: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 4bHKq82cRNz3vll; Wed, 11 Jun 2025 09:19:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ojl9Atkvq9x80zd+o01p67e9YBRxgC6Byso5zOYE7Oo=; b=xxmq+/zS0yrS3s/L5Py6kBOLAEnbLeYZ62cp2RUwrAPYoAO+kG2ET4LMt5RhVfqJ3qKE5u fU6hW98J0Qjq3reRYqajgISlXRCoeaSqpyFVIAt5bE/03yBNV/QbKk4ey1hs0hfQD76va8 G3xLV6Hi8GMFz/A5fTHLmY6ZlSlJ/LtPytOkdDtCKrlN9NupJXc2/bOr9GUyL0r9mvALzD XkP4GywnS9S56AKR5T1hx8AXj9TbiG/jaBKjwKIzcOivjxw9fh0zzsucSqwqHnnqoLuwjF SaLKAV80vCbM0EoCBv7w869HdXg9225+LKPBwl2+pmSV4RTuUwTsYh2FHyFYVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ojl9Atkvq9x80zd+o01p67e9YBRxgC6Byso5zOYE7Oo=; b=p8PWPym2Yk2XNJfqtpZS5cyPQuvrKqgZ7jBbt8Mfc5q+txrjHAhGBeWFtVpIdEsBQngaV6 X7YRtHtiiGRPOOCMp0+G3DQUJ6Jm8VjY+xNRKIDdDawW4KU95HuCQ0HXobKsd5mecj399y IvLbcPGC/TsjlHEiHLUhkCpmbZFtynw5Bxc9aBktlb0jDdHCs/fD6MZcBQb93uLXTVj7ud Noq4XEQxTIJ/8Z8JWtpVNjpLbeGln0daw1cNeyC0SNgljDph6uO3LatV5rCZL8TaxRraIX 5xb+6A/ykJOGPQZnezril/ESSpyGpmtisJzt7z8Zvf58pvgwNbhOcubwgLs8FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633556; a=rsa-sha256; cv=none; b=P/0nIH/2X9XNWFkkpuuMlJ+24gO3IkkUuRybdJIruQbVoT8L6Jb58wnNy2FPH/41V4aeTY eUKiJYYKr8q7B3YrPwFbeLKyG6NoUQbNkH4/FJxUFvS0O3hQUxBBTUS3yfoGwBBaS0EfVp Eu7xtJUyIdyWWm+dRbjVrEmJeqanFOolbbSUuuSqfIyR+Km3L0cesQ+80lvmUzEKGYxWZg gD66RuzDmhxFWscRMamp/XKrR4B6SLLCxTfdXPHHB5PrAPlGfAJMyX8D7oRF0ETKJpele3 B+6L0j5NnCuitFbCx0q6qvZTXkjS9fBzDz8rUbCdncBqsYb9r4pySc3zjBMufQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHKq8228jz5SZ; Wed, 11 Jun 2025 09:19: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 55B9JG7K064403; Wed, 11 Jun 2025 09:19:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55B9JGnZ064400; Wed, 11 Jun 2025 09:19:16 GMT (envelope-from git) Date: Wed, 11 Jun 2025 09:19:16 GMT Message-Id: <202506110919.55B9JGnZ064400@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5e5832bdc440 - stable/14 - LinuxKPI: 802.11: cast jiffies to unsigned long List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5e5832bdc440b130a549fcad8cf266fd6e054b1b Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5e5832bdc440b130a549fcad8cf266fd6e054b1b commit 5e5832bdc440b130a549fcad8cf266fd6e054b1b Author: Bjoern A. Zeeb AuthorDate: 2025-06-11 09:16:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-11 09:16:51 +0000 LinuxKPI: 802.11: cast jiffies to unsigned long The joffoes changes are not (yet) merged if they will be. In order to not break a possible future MFC of them, cast jiffies to unsigned long already. They are only used in logging/debugging here. Sponsored by: The FreeBSD Foundation Fixes: dcc99bf830b2 --- sys/compat/linuxkpi/common/src/linux_80211.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index a5982511fb24..c1eb6d6200ae 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1246,7 +1246,7 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(lsta->ni->ni_ic, "%d %lu %s: running set_key cmd %d(%s) for " "sta %6D: keyidx %u hw_key_idx %u flags %b\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1255,7 +1255,7 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, LSTA_TO_STA(lsta), kc); if (err != 0) { ic_printf(lsta->ni->ni_ic, "%d %lu %s: set_key cmd %d(%s) for " - "sta %6D failed: %d\n", curthread->td_tid, jiffies, __func__, + "sta %6D failed: %d\n", curthread->td_tid, (unsigned long)jiffies, __func__, DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", err); error++; @@ -1270,7 +1270,7 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(lsta->ni->ni_ic, "%d %lu %s: set_key cmd %d(%s) for " "sta %6D succeeded: keyidx %u hw_key_idx %u flags %b\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1336,7 +1336,7 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%d %lu %s: sta %6D and no key information, " "keyidx %u wk_macaddr %6D; returning success\n", - curthread->td_tid, jiffies, __func__, sta->addr, ":", + curthread->td_tid, (unsigned long)jiffies, __func__, sta->addr, ":", k->wk_keyix, k->wk_macaddr, ":"); #endif ieee80211_free_node(ni); @@ -1348,7 +1348,7 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%d %lu %s: running set_key cmd %d(%s) for sta %6D: " "keyidx %u hw_key_idx %u flags %b\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, DISABLE_KEY, "DISABLE", sta->addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1357,7 +1357,7 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) error = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, sta, kc); if (error != 0) { ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D failed: %d\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, DISABLE_KEY, "DISABLE", sta->addr, ":", error); error = 0; goto out; @@ -1367,7 +1367,7 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D succeeded: " "keyidx %u hw_key_idx %u flags %b\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, DISABLE_KEY, "DISABLE", sta->addr, ":", kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1493,7 +1493,7 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%d %lu %s: running set_key cmd %d(%s) for sta %6D: " "kc %p keyidx %u hw_key_idx %u keylen %u flags %b\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, SET_KEY, "SET", sta->addr, ":", kc, kc->keyidx, kc->hw_key_idx, kc->keylen, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1503,7 +1503,7 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) error = lkpi_80211_mo_set_key(hw, SET_KEY, vif, sta, kc); if (error != 0) { ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D failed: %d\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, SET_KEY, "SET", sta->addr, ":", error); lsta->kc[k->wk_keyix] = NULL; free(kc, M_LKPI80211); @@ -1515,7 +1515,7 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D succeeded: " "kc %p keyidx %u hw_key_idx %u flags %b\n", - curthread->td_tid, jiffies, __func__, + curthread->td_tid, (unsigned long)jiffies, __func__, SET_KEY, "SET", sta->addr, ":", kc, kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif @@ -1596,7 +1596,7 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%d %lu %s: vap %p ic %p %slocked nt %p %slocked " "lvif ic_unlocked %d nt_unlocked %d\n", - curthread->td_tid, jiffies, __func__, vap, + curthread->td_tid, (unsigned long)jiffies, __func__, vap, ic, icislocked ? "" : "un", nt, ntislocked ? "" : "un", lvif->ic_unlocked, lvif->nt_unlocked); #endif @@ -1669,7 +1669,7 @@ lkpi_iv_key_update_end(struct ieee80211vap *vap) if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%d %lu %s: vap %p ic %p %slocked nt %p %slocked " "lvif ic_unlocked %d nt_unlocked %d\n", - curthread->td_tid, jiffies, __func__, vap, + curthread->td_tid, (unsigned long)jiffies, __func__, vap, ic, icislocked ? "" : "un", nt, ntislocked ? "" : "un", lvif->ic_unlocked, lvif->nt_unlocked); #endif From nobody Wed Jun 11 09:22:59 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHKvW6sxRz600TH; Wed, 11 Jun 2025 09:23:03 +0000 (UTC) (envelope-from bz@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 4bHKvW4B1Wz3xPW; Wed, 11 Jun 2025 09:23:03 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1goeUHUhqpIgExiNc1KirSa0m605FbvZIIf3jLI6NJo=; b=tvKjnwtCymvXlSV3h1bbH8fKcXN/pyEZsJ+u2ZPLa4OEvqqtq8vAv9vzO4pAqEAvYCfQXr qSdq04Usj21CTXEWhIqwazhOCtX/39qsnqIogXZIECc0QNNiSBCUT9QvvMC2R2b8IpXk1I VxET/i15mhaItzyOxSDNaBcV2WEF8kXDieAOE/ng6JHWStBoLwtEvWrtu4/X7XMtHPOSyg BU5W4rkE5MV8axZuhnpV+a5wINRGFz4dm+ZN+FgeeAuMxKLP9BbzLni+VGmYlU+4UHRrKB PKDqm/r+zrcFOXiAB0dnqiCm03AkQeJe2+5+wxCw6wB7i1gGVEySV7OALcS8Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749633783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1goeUHUhqpIgExiNc1KirSa0m605FbvZIIf3jLI6NJo=; b=BIPS+4Cev09Qv8riuvaXqfCFt25wcAwiLhjnibQmbh186xm7WzS6hMqI3GxGKtGV11Va5t YmGmh5+u08qQ07KB/t0lBnnjk0N5lJj+UaBDPc0QUVhdr5x5onMKwEMIG84kKkspa+HH+W vFdQHmG4DrECYFLxzEuB9aSV30oiS3ID9q52p75Ewg1QAIHRjOZTahvDm10E7qhVKC1r7j xOTHxbepC0ZWpmSMR3GUOAXX4XDA5O1pQWA8n1d27bnA425Ul5VsIj0ggCGUSJdy42TM7Q CWrFH9f3CJ4Zq30ZE4H1DIXgFbR5kZB0UOMnEnbCs61soaFW/3gNtH3yxokaAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749633783; a=rsa-sha256; cv=none; b=W1nEDONOKgOq6I8hXItKAhdoc21Kea/J0Wx1XbIIXp1/L6KoGmkSBgWEV2Ae02yFCjUB+C l9ME4Zx2FyF6VTLk6a3jYdoE4pxpoQvBvOBeaFIP6+8/pW6gfJW2MvU3TkjLjtpGPi1tuI oUhMt5OR//qgzDk67RliR5Ox/7aHAmE7n85CXWm+wYRjaj/SGKavTm9PhACsKD7Q+sKiKa +o7rEc4jJVmU2TuEZqzTcwIoK4LjhCitkV1tb5StKcH093GrBP02EZmZbDjvz3Hpc3bfwP 6d+FHpqJPtXvD/b29CWbLvWcxJnbYC7vjTaR+20SMEPjK1G9lpgudwlmBkRWug== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E5" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4bHKvW2mhQzwNg; Wed, 11 Jun 2025 09:23:03 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 7EDD6A64805; Wed, 11 Jun 2025 09:22:58 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id E9EBD2D029E1; Wed, 11 Jun 2025 09:22:59 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id rdX6WQN7c1_7; Wed, 11 Jun 2025 09:22:59 +0000 (UTC) Received: from strong-rtwn0.sbone.de (strong-rtwn0.sbone.de [IPv6:fde9:577b:c1a9:4902:3e64:cfff:fe55:bc80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 360822D029E0; Wed, 11 Jun 2025 09:22:59 +0000 (UTC) Date: Wed, 11 Jun 2025 09:22:59 +0000 (UTC) From: "Bjoern A. Zeeb" To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: Re: git: 5e5832bdc440 - stable/14 - LinuxKPI: 802.11: cast jiffies to unsigned long In-Reply-To: <202506110919.55B9JGnZ064400@gitrepo.freebsd.org> Message-ID: References: <202506110919.55B9JGnZ064400@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed On Wed, 11 Jun 2025, Bjoern A. Zeeb wrote: > The branch stable/14 has been updated by bz: > > URL: https://cgit.FreeBSD.org/src/commit/?id=5e5832bdc440b130a549fcad8cf266fd6e054b1b > > commit 5e5832bdc440b130a549fcad8cf266fd6e054b1b > Author: Bjoern A. Zeeb > AuthorDate: 2025-06-11 09:16:51 +0000 > Commit: Bjoern A. Zeeb > CommitDate: 2025-06-11 09:16:51 +0000 > > LinuxKPI: 802.11: cast jiffies to unsigned long > > The jiffies changes are not (yet) merged if they will be. In order to > not break a possible future MFC of them, cast jiffies to unsigned long > already. They are only used in logging/debugging here. > > Sponsored by: The FreeBSD Foundation > Fixes: dcc99bf830b2 Sorry, I meant to squash this before pushing but had it left uncommitted and forgotten given builds had to be re-started twice for other reasons. There's a short window between these committs that will not build in case anyone will go and need to bisect over this. /bz -- Bjoern A. Zeeb r15:7 From nobody Wed Jun 11 19:14:03 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHb1S1CnGz5yLSV; Wed, 11 Jun 2025 19:14: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 4bHb1S0T97z3wMG; Wed, 11 Jun 2025 19:14:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749669244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LsltqLVUtvp/PRloDn7ayPUpUDwlEHpSjyLHiZSiR6M=; b=CnPpMjApY2+y9NVvuuoQX0M6mHe/k1hhOykkaWkHfX3mrm+/ld8EfKE141eWwKVOmskLoB +T+WvsBr6uFu20vcIhOz1RjhJuQLhWtRYMDI5vCgFkrIINyQMkoQ2aJ+uZihv0/EoPdKrt L5e45vcJLo7FHEAzO/zqdkYdada5bR0nvV76iihieJiw3N8cUy6QiqjUta+/xBRRJIg4iL ZubLvgHtVI2bpvgyObdFC2VVxtg5JTmRw0+bmng3LfJ6+TsQuzfmWPSNqkp0pOx9FNKkcz k98dB0ARAawUBoXYJOS4jJHve6kfQ8c6dOYJmPWHUl1zMkRIN1mVTaPBjZVgMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749669244; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LsltqLVUtvp/PRloDn7ayPUpUDwlEHpSjyLHiZSiR6M=; b=b3hY5AiGh5r2WcsNTIpsHWUeiD9ObgkGwt4FfPzrFcJVKTNoRgW/9pjdz5FXn94E/5yDrP FXsGzKDBlfLW58uI4aJk3TvJqNTaLa/z6mfmXvoGmHqGQlzb+oSbLs1/MWFeFx6cOL+iiG d0yfFBDVMkvuUj6ObLTaVdB40ffqGhjjNPBloDSI0ER9FUAOXaQRSbEdX3zPue6PBncLsw ySeT0o4FwT4wFix3dZnRuqKHy4DDYe13Jn6EwM1mXUlbRd49WHt8hgTi/qBqZC9H0IVSml 2KbU3pIs+wQm2SbaWXCe4ihOSKbpwmQBD2hwrfrqXvlkvyyZFV1Og/29juoI8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749669244; a=rsa-sha256; cv=none; b=SGqyYUNeeB7ufm2AeA1tCIP9lcUvp5iOQTvYFk3G3hypf7C666X7B5s2mXbQ66jv0SKFVd X5Nam2SNvh9bUZRWD/JA4GNMETFcitoslPAlVbEDg8I7gR9SIIpEEGjqWtmrJ8iHb/Ff61 OZZJQaG5132w6FZzWlUoXGC9cAFLswEGEhhvk6IvC7TfgA8ryuhg/hK8yuFeBnnaWTFiZ4 hFS79BAvWZr+Fv8WVKfhqX3jWi/0Hg6PGGRHcQy/zCXPxvCNc45ZrPdpM1gc5gdoMxfHFX ED317WTTlxLcdeJdPqbS+SyUsfXZqbNF4mUxjlPFO8r7OSVNGnQCBkKBlFMc3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHb1S02sGzg4G; Wed, 11 Jun 2025 19:14: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 55BJE3UJ095819; Wed, 11 Jun 2025 19:14:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55BJE37M095816; Wed, 11 Jun 2025 19:14:03 GMT (envelope-from git) Date: Wed, 11 Jun 2025 19:14:03 GMT Message-Id: <202506111914.55BJE37M095816@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Krzysztof Galazka Subject: git: 5dbdbff46b08 - stable/14 - ice(4): Update E830-XXV device ids List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 5dbdbff46b08277e79e73c713c4706c56148ca5b Auto-Submitted: auto-generated The branch stable/14 has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=5dbdbff46b08277e79e73c713c4706c56148ca5b commit 5dbdbff46b08277e79e73c713c4706c56148ca5b Author: Krzysztof Galazka AuthorDate: 2025-06-02 17:19:21 +0000 Commit: Krzysztof Galazka CommitDate: 2025-06-11 19:12:46 +0000 ice(4): Update E830-XXV device ids Device ID for E830-XXV adapters was changed from 12D3 to 12DE. Update driver accordingly and bump version number. Also remove subdevice id for E830-XXV-4 for OCP 3.0, which was cancelled. Signed-off-by: Krzysztof Galazka Approved by: kbowling (mentor), erj (mentor) Tested by: Gowthamkumar K S Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D50327 (cherry picked from commit 0fed8828c95a9d2cbcb43147ff851ca6f2c21d0f) --- sys/dev/ice/ice_devids.h | 2 +- sys/dev/ice/ice_drv_info.h | 25 ++++++++++--------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/sys/dev/ice/ice_devids.h b/sys/dev/ice/ice_devids.h index 9b142a1110b2..3f91e9dfbcaf 100644 --- a/sys/dev/ice/ice_devids.h +++ b/sys/dev/ice/ice_devids.h @@ -61,7 +61,7 @@ /* Intel(R) Ethernet Controller E830-C for SFP */ #define ICE_DEV_ID_E830C_SFP 0x12DA /* Intel(R) Ethernet Controller E830-L for SFP */ -#define ICE_DEV_ID_E830_L_SFP 0x12DE +#define ICE_DEV_ID_E830_L_SFP 0x12DE /* Intel(R) Ethernet Controller E810-C for backplane */ #define ICE_DEV_ID_E810C_BACKPLANE 0x1591 /* Intel(R) Ethernet Controller E810-C for QSFP */ diff --git a/sys/dev/ice/ice_drv_info.h b/sys/dev/ice/ice_drv_info.h index 80b517bb5b08..2a51a7394424 100644 --- a/sys/dev/ice/ice_drv_info.h +++ b/sys/dev/ice/ice_drv_info.h @@ -62,16 +62,16 @@ * @var ice_rc_version * @brief driver release candidate version number */ -const char ice_driver_version[] = "1.43.2-k"; +const char ice_driver_version[] = "1.43.3-k"; const uint8_t ice_major_version = 1; const uint8_t ice_minor_version = 43; -const uint8_t ice_patch_version = 2; +const uint8_t ice_patch_version = 3; const uint8_t ice_rc_version = 0; #define PVIDV(vendor, devid, name) \ - PVID(vendor, devid, name " - 1.43.2-k") + PVID(vendor, devid, name " - 1.43.3-k") #define PVIDV_OEM(vendor, devid, svid, sdevid, revid, name) \ - PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.43.2-k") + PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 1.43.3-k") /** * @var ice_vendor_info_array @@ -200,17 +200,6 @@ static const pci_vendor_info_t ice_vendor_info_array[] = { "Intel(R) Ethernet Network Adapter E830-CC-Q1 for OCP 3.0"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_QSFP56, "Intel(R) Ethernet Connection E830-CC for QSFP56"), - PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, - ICE_INTEL_VENDOR_ID, 0x0001, 0, - "Intel(R) Ethernet Network Adapter E830-XXV-2 for OCP 3.0"), - PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, - ICE_INTEL_VENDOR_ID, 0x0003, 0, - "Intel(R) Ethernet Network Adapter E830-XXV-2"), - PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, - ICE_INTEL_VENDOR_ID, 0x0004, 0, - "Intel(R) Ethernet Network Adapter E830-XXV-4 for OCP 3.0"), - PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_SFP, - "Intel(R) Ethernet Connection E830-CC for SFP"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830C_BACKPLANE, "Intel(R) Ethernet Connection E830-C for backplane"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830C_QSFP, @@ -221,6 +210,12 @@ static const pci_vendor_info_t ice_vendor_info_array[] = { "Intel(R) Ethernet Connection E830-L for backplane"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_QSFP, "Intel(R) Ethernet Connection E830-L for QSFP"), + PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_SFP, + ICE_INTEL_VENDOR_ID, 0x0001, 0, + "Intel(R) Ethernet Network Adapter E830-XXV-2 for OCP 3.0"), + PVIDV_OEM(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_SFP, + ICE_INTEL_VENDOR_ID, 0x0003, 0, + "Intel(R) Ethernet Network Adapter E830-XXV-2"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E830_L_SFP, "Intel(R) Ethernet Connection E830-L for SFP"), PVIDV(ICE_INTEL_VENDOR_ID, ICE_DEV_ID_E825C_BACKPLANE, From nobody Thu Jun 12 00:47:12 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHkPs0x07z5ylHg; Thu, 12 Jun 2025 00:47: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 4bHkPs0MNGz3ZDw; Thu, 12 Jun 2025 00:47:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749689233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pRo4PA1E5BkEaofYV5GbDo1WISkR0Dlt8jv9Q5X8TA8=; b=QAFs3cvgCg4bYZkIuaK06s8wXWxDuE+c/AKxxOsvgGfJQti6UhPIrV4tO9oX0UdCpfaago cyhehhzICTdNDYUIECjOewWQROQ9IuJo50pvcn5pJ0Bh+VBV8kJrFCo+TmH7Ids1SRFzSt 9uk5bW/LY1MJnXUJf8gcnieg8DVZKqfAzKHeLJq9cBkCnJKLVPGVsjQhi2RZA28POiA53T AG1dtiEEFaOhVcEgu1urZg1yTFc2Ix8OZpkjcQP0xdBTBTFuPfEGZyLx4t5v9v/CEgKubH CvJq+KzGoYJK0RumrLA1GvoWyHHzD/Hvgbeqd0HGgmRh1VhQ1vCK0TP5Ok3RKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749689233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pRo4PA1E5BkEaofYV5GbDo1WISkR0Dlt8jv9Q5X8TA8=; b=XSjlJNKUPmQaeGE6hFdOcbNxxamSb2OMaUDgppMgZdRyzP9cZdD18dfhBDH1a+OEok9LGz sMJpCyj6DlZjgLukJZyDr+SDPYOQbNzmvE/5vmxVQxEwhr7VHhO0Tke0Ib3HNJ6tPrWS2m eZrcx6cbH3WrKo97OwYkTUELad6amXA9toMX2anmA8EWmQpt1dGOHo4kGYPe6qXxADTaGm Txo8VHP0pvCv2Dvc2Ss85H/DGOGjFXncEeplh+fvgX8X7urDp3Sui/gUUVlYEl9PpAfkuX jRYS4i7VSZrFJHS8eqZM6O/t7rEeUULpMuA/lMQADsLT/+3jj/jYFmLuS1ocHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749689233; a=rsa-sha256; cv=none; b=MjwydA5y5vxnqGaH+kTAfKZWZtTm9wxO1/jTbNaqf3dfILsjAObV5Wcfu791EOKeBKHnjy aQkiVhjIdm8NLB0T3QzfFDFc9lLwIlySKUou/ETQ224UH8PE58E+2sbujF9pXv7OmGHFzD h1Nhn6C+5RKMf59h/K4NZunf4Y8pZiMKjoAz5MSjXMwS8xJm2EvdfNtRvtLG5y4GWnrxPl doUpvCPxL39QhieNsLLPbQaKGpz4tNZcClVdCwHBaO040zEezbxjQdsGOxyw2OC9vYm6Df p5xwwmpgCekGD0Juf1qTYjZBDbTluzYSyc2xMSls4bvD3s4JBNJ45YxJS1veUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHkPr6nKSzqYK; Thu, 12 Jun 2025 00:47: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 55C0lCsn013725; Thu, 12 Jun 2025 00:47:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C0lC8J013722; Thu, 12 Jun 2025 00:47:12 GMT (envelope-from git) Date: Thu, 12 Jun 2025 00:47:12 GMT Message-Id: <202506120047.55C0lC8J013722@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 65b472e58cd5 - stable/14 - sound: Add AFMT_FLOAT to feed_volume_info_tab List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 65b472e58cd516b58d8cf9d4ec4f4072e0201cbd Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=65b472e58cd516b58d8cf9d4ec4f4072e0201cbd commit 65b472e58cd516b58d8cf9d4ec4f4072e0201cbd Author: Christos Margiolis AuthorDate: 2025-06-11 17:10:54 +0000 Commit: Christos Margiolis CommitDate: 2025-06-12 00:47:07 +0000 sound: Add AFMT_FLOAT to feed_volume_info_tab Fixes: e1bbaa71d62c ("sound: Implement AFMT_FLOAT support") Reported by: bz Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D50793 (cherry picked from commit 4a7b8cd7057f0c37b4fc4b47b0ef3ec8402b0eb9) --- sys/dev/sound/pcm/feeder_volume.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c index 2d35bb56ef8f..ddcbf29804f3 100644 --- a/sys/dev/sound/pcm/feeder_volume.c +++ b/sys/dev/sound/pcm/feeder_volume.c @@ -133,7 +133,9 @@ static const struct { FEEDVOLUME_ENTRY(U, 32, LE), FEEDVOLUME_ENTRY(U, 16, BE), FEEDVOLUME_ENTRY(U, 24, BE), - FEEDVOLUME_ENTRY(U, 32, BE) + FEEDVOLUME_ENTRY(U, 32, BE), + FEEDVOLUME_ENTRY(F, 32, LE), + FEEDVOLUME_ENTRY(F, 32, BE), #endif }; From nobody Thu Jun 12 01:40:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHlbC43JRz5xqjw; Thu, 12 Jun 2025 01:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHlbC36Zsz3k7M; Thu, 12 Jun 2025 01:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749692423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dymkXrRKnEYoXuxArmNYaG/Gjmkph9Z1EncT6iNlmyc=; b=AKc6hWlj8NzIjfvGwTWysZgJ4QxrokIT0oXEHKJ67e9pzEUyyJpI2bcGSyyjdsMG6FjCG0 +11t7SCeGca8bso6ZXQsj6/9jUS70gQa5jtK9vy4rMrP4B5jaO9dDLRy83l1UHP2ICdRPY OurURT+/CaGybLVRieGXCUNbIyDLiMnqe9SA9qFdQibNOOX79463iYFJrncLGlxJYajjAg BNrYxhfrYjRv0TFIeRbUzaCBi66MrQTka0ma0neh3FlRdlrmVonHKbRgAuoH8+p6WKXv1j vdXzyqxL9dah1PMv53Fx4YKDb+EYcepqziNkFBIEd2EXM/yZ4CatrQEehJmzUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749692423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dymkXrRKnEYoXuxArmNYaG/Gjmkph9Z1EncT6iNlmyc=; b=IVuBqyignywLGDRI0OuXEWhf3CYKkNBY3qlXsEZ5S6DbANY7PLD4+buHca07gVF+LYgVQC zgEiNGecPQjwz8TciEqZIY14QhVm8D7E4tDt84vUFHl2YNoyTqTIeke73bjXNHidMmKW/X QstlzdxsCjCpm3wn+mbAvw7rOgQB2y8oXGASKv7HruO4Qq4tg6tx3tu5bdFn1X21vYOJzW xT4chey3iEz1UR4MphJs6L5sR3o2SJniC7RSOJsIhkLmt0zZsyAsZFJQ+13Ktl7nwIzogp iWZlTvWFW399mn5iLEzh1xCWU3Re1VI8sRAlTepVSf5+CUqy2DIJ/PmrpBLFmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749692423; a=rsa-sha256; cv=none; b=xKn3CAc2Mhtg0AJfSd22KCestVatTrGVNHnvTmO3BB1U89dIW7xnyxGeyyzdz8TfMNC5xw jut6ivK6wS5rr597sK2plDDtOfRBWZc/fP3rTuBRz3KxAWOJA1H+Aw7qGYSioqU4jnC55J mBFiAKTgr99K3kPUMmuQSXdOcmcSbNP47axqhZmJFvo0hQIhqRXIp5kkvs62aNb+7/Btmh Xf2myan8F59KjxIh4dr1i2gnTPsakOGhZg5pbTs8RKl/OzjZR92oaFgAGYUdIVJj/fNbkX XqK0KWe5VUgJfQp3xdG+vF+iLJLg30gk8WTfWKczWEmi/Cr8dFMxPiid5pDNmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHlbC2D48zrky; Thu, 12 Jun 2025 01:40: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 55C1eNMT017626; Thu, 12 Jun 2025 01:40:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C1eNcY017623; Thu, 12 Jun 2025 01:40:23 GMT (envelope-from git) Date: Thu, 12 Jun 2025 01:40:23 GMT Message-Id: <202506120140.55C1eNcY017623@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Tai-hwa Liang Subject: git: 7dc4599cabd8 - stable/14 - net: bandaid for plugging a fw_com leak in fwip_detach() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: avatar X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7dc4599cabd8e8e44a155e699ea0a85b23a06e73 Auto-Submitted: auto-generated The branch stable/14 has been updated by avatar: URL: https://cgit.FreeBSD.org/src/commit/?id=7dc4599cabd8e8e44a155e699ea0a85b23a06e73 commit 7dc4599cabd8e8e44a155e699ea0a85b23a06e73 Author: Tai-hwa Liang AuthorDate: 2024-02-15 01:00:49 +0000 Commit: Tai-hwa Liang CommitDate: 2025-06-12 01:23:51 +0000 net: bandaid for plugging a fw_com leak in fwip_detach() Adding a temporary workaround for plugging a fw_com upon if_fwip unloading. Steps to reproduce(needs two hosts connected with firewire): while true; do ifconfig fwip0 10.0.0.5 up fwcontrol -r ping -c 10.0.0.3 kldunload if_fwip done There's a chance that the unloading of if_fwip.ko triggers following warning: Warning: memory type fw_com leaked memory on destroy (1 allocations, 64 bytes leaked). commit d79b6b8ec267e7eef6e07cf4245159705e24acd5 (origin/main, origin/HEAD) (cherry picked from commit 25a5bb7318052322190a2880e0e7ef18e06d54bd) --- sys/net/if_fwsubr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/net/if_fwsubr.c b/sys/net/if_fwsubr.c index 2349ac35fc16..bf3362fc975c 100644 --- a/sys/net/if_fwsubr.c +++ b/sys/net/if_fwsubr.c @@ -802,6 +802,7 @@ firewire_ifdetach(struct ifnet *ifp) { bpfdetach(ifp); if_detach(ifp); + NET_EPOCH_DRAIN_CALLBACKS(); } void From nobody Thu Jun 12 04:48:33 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHqmK6kv0z5y6Bq; Thu, 12 Jun 2025 04:48: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 4bHqmK5ymmz3R2d; Thu, 12 Jun 2025 04:48:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BdmxdAbSRaU2CHeR8ruhddVpSTjgsKMRiaKlnr/63z4=; b=AARiNGKZjygh8nY4qT2UYiaU4uCrFp5oRvqQ/+6Wn4l6hsGSjb+ZvQ/TMwbZlEYnGWGZr3 Ge0pQ1oLWJITphpPRZD/qAfMaXMG4LF3JjE4NmTM04FhxTM38Y+lp2FagGMqBDQCjE6awx a7KRS1Y7kVjkZJxLsmDxJ720z42v5YYAoM1Zb9WrmRtASyhHJrhME5cL6yOULBJz/UUGh+ urk/wF6b+ux8kut/KNgrP7yh6TXUTcTOA+vK+ZNYAzje5srQwFjUlsLTJBS4u5vLvsZQTz gRna12ep2o6fv300hkQA4WPJVqp0UdLJL7CZYbFb80VPF7iuFRUVB+fGJCuNng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BdmxdAbSRaU2CHeR8ruhddVpSTjgsKMRiaKlnr/63z4=; b=erdFGq5MdNDRdp28oZF5ETRqXm7M+mMe17Ae7HTi+16OfLNnCqGp5sqbWGP1x/LrStQvAl UY+xkL+YmO6vILtJaiWChCJBkL0CD2Zs+amBI0STWQ184ylZx4otikQnhHFyDwesl0cpvb 6a8a6o0x1nQeuAMsEzb3FavCIH5dVYVq+MLnFuz6b6edJ8z5zhWyFiu2nNsjfyzeH0+9je YdaWQtMh4cY/pO7NeYkqtbWMgArbexFQQyjv1MwnRsflIr0MCBy9mZTwFa21TqMxb3UAyj fJ1aXTNgEl48BA46I5vBexdKx5yYqpfxkN+Ftno7ZDansPqDpu6upQT87fuDbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749703713; a=rsa-sha256; cv=none; b=mZTsAXcklMfHHe5VLUJI3b/nsTe7OTP9I+693Z10yYyYwsb9oOJY+EJwjobWFim+bu3aeP v32ctiYgH1AN9e3IIn0NGqdk7FYN6QaPp8E5wt7Fuyc3ItM8cd5yYjD5eBpdm65LimO/pE 9uq0h5mPWHknjUfsH7fY7i/jl9zbuAc10yFuNRuiTRFqjxPBGXqGv2A0NYzPH8wRG5+9yK /YRWm3qh0weQ2EIrD75xLoeEAdcJo2opjvIwv12F3Pslj6y5eXWiTixhddhypMEZDFNCAJ 5Cg2sfwFG6Rc6a0wM/tqv37KgS300/eUqorNvBuRP4JnqE6BR+D+wU+8RdQCPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHqmK56cJzxkv; Thu, 12 Jun 2025 04:48: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 55C4mXoo066550; Thu, 12 Jun 2025 04:48:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C4mXvm066547; Thu, 12 Jun 2025 04:48:33 GMT (envelope-from git) Date: Thu, 12 Jun 2025 04:48:33 GMT Message-Id: <202506120448.55C4mXvm066547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a4babbe7ec72 - stable/14 - libsysdecode: correct regexp for thr_new flags List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a4babbe7ec72da7c9b097b7ba78defd41642ff15 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a4babbe7ec72da7c9b097b7ba78defd41642ff15 commit a4babbe7ec72da7c9b097b7ba78defd41642ff15 Author: Konstantin Belousov AuthorDate: 2025-06-04 11:23:27 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 04:28:26 +0000 libsysdecode: correct regexp for thr_new flags (cherry picked from commit c27f7d6b9cf6d4ab01cb3d0972726c14e0aca146) --- lib/libsysdecode/mktables | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libsysdecode/mktables b/lib/libsysdecode/mktables index 8a990e0408d5..599e41808f2f 100644 --- a/lib/libsysdecode/mktables +++ b/lib/libsysdecode/mktables @@ -145,7 +145,7 @@ gen_table "sockopttcp" "TCP_[[:alnum:]_]+[[:space:]]+[0-9]+" "neti gen_table "sockoptudp" "UDP_[[:alnum:]]+[[:space:]]+[0-9]+" "netinet/udp.h" "UDP_ENCAP_" gen_table "sockoptudplite" "UDPLITE_[[:alnum:]_]+[[:space:]]+[0-9]+" "netinet/udplite.h" gen_table "socktype" "SOCK_[A-Z]+[[:space:]]+[1-9]+[0-9]*" "sys/socket.h" -gen_table "thrcreateflags" "THR_[A-Z]+[[:space:]]+0x[0-9]+" "sys/thr.h" +gen_table "thrcreateflags" "THR_[A-Z_]+[[:space:]]+0x[0-9]+" "sys/thr.h" gen_table "umtxop" "UMTX_OP_[[:alnum:]][[:alnum:]_]*[[:space:]]+[0-9]+" "sys/umtx.h" gen_table "umtxopflags" "UMTX_OP__[[:alnum:]_]+[[:space:]]+[0-9]+" "sys/umtx.h" gen_table "vmprot" "VM_PROT_[A-Z_]+[[:space:]]+\(\(vm_prot_t\)[[:space:]]+0x[0-9]+\)" "vm/vm.h" From nobody Thu Jun 12 04:48:34 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHqmM15Zkz5y66K; Thu, 12 Jun 2025 04:48: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 4bHqmL67vZz3R57; Thu, 12 Jun 2025 04:48:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703714; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RC3Mg6qz1U0VCPSJj1PzQwEipg1LfTllvAviDUwrH/I=; b=P6fSOKOXl5Wru5zo0vZM9HLW8f4EFuGECgH5P1jHNbzqtZ4PlpzNsLOVchGriDeFf5zo+H M77nYKsNXcS38XtJ277b7eDUCJJF5O8fTScKLM/j9i+m9gYn7IaNXAPAOV5nWpaugtLAqs 0BVRWkatudNdIjaT5sJAKws568kHwVsGGg2mPPPlHse9w45OJUvx8VvQnLHOM3lY44/YJ3 N5aCFKrTUFX4Cf9aUkTwyYK11F0nF9lc116geGCVBADV6sFmxGNTM7FAj325cQdtLyqIhr +alk96XLUhBhUu+ILiyGgUVbYwu5qe3VbHnfZIVGZgiuKM7df335HXx8mYhYCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703714; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RC3Mg6qz1U0VCPSJj1PzQwEipg1LfTllvAviDUwrH/I=; b=tWAF2s67QGf3rGHmhBi+UmLSE1argfU0eK4shGUNei1DOhXW+4iKWHAxsIBOhJ0uHiQcfo o0sX2JnCBs3OzGJnwSoUvD9qawrI+VoCCEFGnzhLy0mDHBa7Xg6WBIN49lbLw8R4sEB7sO ACw3KMurUIuvOcCjl1+M2CHFBu9g40nKX1lVGRksm9Cd2Oncvkuq+1Lxgfc1RCuVLDHeUf opfrjVQuz7ckoKJpk34v2v2DQym3sizOuL4e2HobWvmUPHexXX1+PTK7JsBoh9R1/kvew5 1z2mt/zp7wcDi/qNb0h1j3kIDGgss2ye8ZxGtkcRsUVZpoX9hVaH6Y2Np//rdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749703714; a=rsa-sha256; cv=none; b=qTF07gosf2R2bkk+iq9ksj0ZNDKY3TTSp3tcmXcs7W/hXB9MM15Vrcfajp3ToIWFGNrBdt gpdxiI648VGbjRL9kolqOCt6/xmhBs561pot9yOMGNILFL0Xtzz9AbjDAm1SZEo54KdRMH Y6CcICJmdddW4gd4QOHI/7CVRPapZbFlcilKOrSlPaS7lflZJ/yYd90FsEpA/13bi4P3it /lr22fc/Z0/x2dviY3e0td7rDAUsFM6+I235S741fZJJLqZMViamswP/QI6UmIIRaq+c0k 1YYWPWA7Et56K7RsQspMxhQrPnf5lNK7bENdC2/eMSb30YpWiaL1WgT6K+h2TA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHqmL5Wfczxkw; Thu, 12 Jun 2025 04:48: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 55C4mYcq066591; Thu, 12 Jun 2025 04:48:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C4mYPh066588; Thu, 12 Jun 2025 04:48:34 GMT (envelope-from git) Date: Thu, 12 Jun 2025 04:48:34 GMT Message-Id: <202506120448.55C4mYPh066588@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0c071c3ebdf1 - stable/14 - ktrace: trace and decode thr_new() thr_param List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0c071c3ebdf12438fd880fa81a7fd5c93130c59d Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0c071c3ebdf12438fd880fa81a7fd5c93130c59d commit 0c071c3ebdf12438fd880fa81a7fd5c93130c59d Author: Konstantin Belousov AuthorDate: 2025-06-04 05:41:47 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 04:28:26 +0000 ktrace: trace and decode thr_new() thr_param Sponsored by: The FreeBSD Foundation MFC after: 1 week (cherry picked from commit 56a4d1a4cc151cf8356704aafd2d2ec0fd009701) --- sys/kern/kern_thr.c | 8 ++++++++ sys/sys/ktrace.h | 2 ++ usr.bin/kdump/kdump.c | 21 +++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c index 0ab4cb5f7970..7c6d00692009 100644 --- a/sys/kern/kern_thr.c +++ b/sys/kern/kern_thr.c @@ -26,11 +26,15 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_ktrace.h" #include "opt_posix.h" #include "opt_hwpmc_hooks.h" #include #include +#ifdef KTRACE +#include +#endif #include #include #include @@ -185,6 +189,10 @@ kern_thr_new(struct thread *td, struct thr_param *param) return (error); rtpp = &rtp; } +#ifdef KTRACE + if (KTRPOINT(td, KTR_STRUCT)) + ktrthrparam(param); +#endif return (thread_create(td, rtpp, thr_new_initthr, param)); } diff --git a/sys/sys/ktrace.h b/sys/sys/ktrace.h index b615d82d2198..f86a9bb807d3 100644 --- a/sys/sys/ktrace.h +++ b/sys/sys/ktrace.h @@ -350,6 +350,8 @@ void ktrcapfail(enum ktr_cap_violation, const void *); ktrstruct("cpuset_t", (s), l) #define ktrsplice(s) \ ktrstruct("splice", (s), sizeof(struct splice)) +#define ktrthrparam(s) \ + ktrstruct("thrparam", (s), sizeof(struct thr_param)) extern u_int ktr_geniosize; #ifdef KTRACE extern int ktr_filesize_limit_signal; diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index bde4eb7657e0..3240773f357b 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -62,6 +62,7 @@ static char sccsid[] = "@(#)kdump.c 8.1 (Berkeley) 6/6/93"; #include #include #include +#include #include #include #include @@ -120,6 +121,7 @@ void ktrsockaddr(struct sockaddr *); void ktrsplice(struct splice *); void ktrstat(struct stat *); void ktrstruct(char *, size_t); +void ktrthrparam(struct thr_param *); void ktrcapfail(struct ktr_cap_fail *); void ktrfault(struct ktr_fault *); void ktrfaultend(struct ktr_faultend *); @@ -1944,6 +1946,18 @@ ktrsplice(struct splice *sp) (intmax_t)sp->sp_idle.tv_usec); } +void +ktrthrparam(struct thr_param *tp) +{ + printf("thr param { start=%p arg=%p stack_base=%p " + "stack_size=%#zx tls_base=%p tls_size=%#zx child_tidp=%p " + "parent_tidp=%p flags=", + tp->start_func, tp->arg, tp->stack_base, tp->stack_size, + tp->tls_base, tp->tls_size, tp->child_tid, tp->parent_tid); + print_mask_arg(sysdecode_thr_create_flags, tp->flags); + printf(" rtp=%p }\n", tp->rtp); +} + void ktrstat(struct stat *statp) { @@ -2139,6 +2153,13 @@ ktrstruct(char *buf, size_t buflen) goto invalid; memcpy(&sp, data, datalen); ktrsplice(&sp); + } else if (strcmp(name, "thrparam") == 0) { + struct thr_param tp; + + if (datalen != sizeof(tp)) + goto invalid; + memcpy(&tp, data, datalen); + ktrthrparam(&tp); } else { #ifdef SYSDECODE_HAVE_LINUX if (ktrstruct_linux(name, data, datalen) == false) From nobody Thu Jun 12 04:48:35 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHqmN37d7z5y6Jg; Thu, 12 Jun 2025 04:48:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHqmM6pX6z3QxR; Thu, 12 Jun 2025 04:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J3mPI3tXbdU75uqkYfCsFmc6vLVx3EYCLpYHZd8MSXE=; b=hJNaiFciwwMg6FDLIArqN5Q6ICm+tu3+k21bcsH4FijpwVeS6Pqo8zpCcy6Rpbt1Jw3apa B1CM07TRr0koJUTPEit1z2WCXdFpo7goMik4O/YXBjh47qaAvy9JhJZvyURVztmMVaVaUo FSJ+1FPc41qATxLZJbcECBYYZAi4gRPtIrkvwb5ek7HutaweJZpEnvwxwj65QG9UiRufIZ iFyNHdZMJNNW1lgWW6qyzQnIh8VQHraUrveIz93IHxmBDfQW+pqX5IVAS4OxwyvzWUDMZS 1Pd+eU1ZGc6Rfbo+6Fbmy/XWgl/X8Q4yt47+oP0/iteaEfNYUm2vqnpyGwgv0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J3mPI3tXbdU75uqkYfCsFmc6vLVx3EYCLpYHZd8MSXE=; b=syEthVWB7xL5mcUx4U92U/NsQkkR/GSvfynSt36AnUBG2qzUs79lLBuNrHtcCt5KKRDCwR x9OMEZ73ESZzZ/qpfTduOPeEbXgtFGPvL5fp4ijwEeEApac6KHGCpEOzlxbko1rL+hZF4q DFk2Xzdmc+o1EH7RXD2HmE8ILOD4M/YO4mi6VH6o4Z9jPw45vKZdWF9Fq9xeaP/yXTVp79 djK2r/sobCXYHyzf0gkU4zcHuBtubAtDSHJBkx5wCWvpuPx+Dnggd9hQLygJQ7K3rKcKtk RHjn3cWnfgbop7X6Wv8C5OM0QmB8CUejagDSFqpd0/SqB71vmRRjagITs5HFQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749703716; a=rsa-sha256; cv=none; b=YUOf6j1su1ky4WALMcJHYK7wAIondJvTvDjliTrFw88EWJK5dbgB595CYRrG5B4YwC1ULt mfnsajQAGAyfHXM2EG2ZmOqofA2H4dHfp3e1bQZV/1tb+cISCIgWaeKP9/hKWhS2vaWHsW PBlGheR4Hax7jAP2yiTnZ95Y6PsxLHIxhl/GHpCNNMbeGsQDqjwwmO8jV5q/7DhZ8C58/7 PXD9GccDBts25fyA77YtDrOGHJIwLXZ1uGsJ207F6Q8dJ2wrVe3eNNdtNgk2xSP0hEVVnD ncVy/gX7b4Jq4sJXHi9YLEtBr9VpQjJb5gJeaszTCsNAG5uLK4PAVRCCTRE25g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHqmM6MWKzxkx; Thu, 12 Jun 2025 04:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55C4mZWL066628; Thu, 12 Jun 2025 04:48:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C4mZak066625; Thu, 12 Jun 2025 04:48:35 GMT (envelope-from git) Date: Thu, 12 Jun 2025 04:48:35 GMT Message-Id: <202506120448.55C4mZak066625@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0ad45b82d7be - stable/14 - pseudofs: enhance KASSERT with more information List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0ad45b82d7be07f1ece6130440dd54105f757d65 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0ad45b82d7be07f1ece6130440dd54105f757d65 commit 0ad45b82d7be07f1ece6130440dd54105f757d65 Author: Bjoern A. Zeeb AuthorDate: 2025-06-03 11:20:56 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 04:28:27 +0000 pseudofs: enhance KASSERT with more information (cherry picked from commit 9a139facd06e4a1159a9c2cb992d04bcf1079e7e) --- sys/fs/pseudofs/pseudofs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index fa9690264293..eafa2947490a 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -124,7 +124,8 @@ pfs_add_node(struct pfs_node *parent, struct pfs_node *pn) ("%s(): nested process directories", __func__)); for (iter = parent->pn_nodes; iter != NULL; iter = iter->pn_next) { KASSERT(strcmp(pn->pn_name, iter->pn_name) != 0, - ("%s(): homonymous siblings", __func__)); + ("%s(): homonymous siblings: '%s' type %d", __func__, + pn->pn_name, pn->pn_type)); if (pn->pn_type == pfstype_procdir) KASSERT(iter->pn_type != pfstype_procdir, ("%s(): sibling process directories", __func__)); From nobody Thu Jun 12 04:48:36 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHqmP3Mg5z5y6FB; Thu, 12 Jun 2025 04:48: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 4bHqmP0cPtz3R5K; Thu, 12 Jun 2025 04:48:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+gh7e41+a3vtV6IrKucQI9ckoZOpVPfK5xrrOVr2sfE=; b=FsV9O4yQn+tywtVnWDKuIRe4Q//qd1XlMdYTis+lUWoJr2fYK6N1WORM60kK1risZ4eDuM tM7tQihGnVJCG6jsHX2un0TtcT/V0MHvX07Q+h1004/iGV2DGZpv/TJ1vC65QS9UdaQoTw ZG23YCdxwT/CqZBYJlPT3TSkuSAALVcGA1RzJHrFTbZXGgOvT90ebqssxk4ctjvqacYNi3 9u77+10CX4gh1mYUuS2KRz/HC27mDWQ3lN015P3ekD7FxU/Ca5Cfs6T7xGG99VTjq57gzt zwAB13UKpaIdCY46fx+XeaAGKMP64vDd0JS9y9/Ga/34IH+nWAz3qMpnIOciYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+gh7e41+a3vtV6IrKucQI9ckoZOpVPfK5xrrOVr2sfE=; b=V8MI+PnlVGX+unFOeRLsJ9Cc4qO9E1sbawyO1aPjGcTYgf/DDUB3eZ32LfmNNy8F2cEW1F AF1HpgvT7RH1eC1mcPubi+Fh1WPNxrxrg+QEhYF92u9FbpaASkpkbTo+5DoUTxgFVR713y 5hwdjKpMV7uSw9NlAjlHSBP/DsWy/gKhjfuogoupP/mwZhK7qAlvPJ3iEeldMlUQ5nf1P0 Rh5d5GOsM0Q/UDaD/qznzxY9yY+zHgavHMBsOyw1SaWnSWd+D43riEEcqAvWlbvmEb9ib0 X3KW5TERP7QrE2sbQrHMio+DPlvBj82Tz7He5woQiCVVvbQsK6isoVVjHYpV7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749703717; a=rsa-sha256; cv=none; b=J8bWgIXirneUu31xOhSsrDVkwZ/yfT/ZvlgDq/oh2bcpbwiCQXQN3FG2UaTcQw7KHyYxYM 0jA/0Iczu6NN6IGZID/wOpGsfK1Q00XvmvKIeyQzaYpWEBpNXhENVLlahpWq7dId05vZ8R MrUgJpJop667KkHxxPcdq+MWkNjD8PJx95XQ6qzA+E4gNlK8pnG+HDL+JDDSIp3HrYQ2/f RucejMqIyNwCFNauaRT+6SNSpQ+ePFZ3FFBYeL4hkCO4R8lPmjKj2GHBtIfNyy2aYMQAjC pwFfCbka5hkfbocZ8ZXnyvmSb4pvM3A9owG9yuO8kcMBKTdzwh6oWRKPqp009g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHqmP0CDpzxky; Thu, 12 Jun 2025 04:48: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 55C4maiX066662; Thu, 12 Jun 2025 04:48:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C4maMV066659; Thu, 12 Jun 2025 04:48:36 GMT (envelope-from git) Date: Thu, 12 Jun 2025 04:48:36 GMT Message-Id: <202506120448.55C4maMV066659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: df6406ca958c - stable/14 - pseudofs: make dup name an error instead of panic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: df6406ca958c9d622037bf969f05b978b1d5faad Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=df6406ca958c9d622037bf969f05b978b1d5faad commit df6406ca958c9d622037bf969f05b978b1d5faad Author: Konstantin Belousov AuthorDate: 2025-06-03 20:01:24 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 04:28:27 +0000 pseudofs: make dup name an error instead of panic (cherry picked from commit e9897199576a40360440aa4d2aa48d61c4010f11) --- sys/fs/pseudofs/pseudofs.c | 53 +++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index eafa2947490a..ef45f96a6192 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -98,12 +98,10 @@ pfs_alloc_node(struct pfs_info *pi, const char *name, pfs_type_t type) /* * Add a node to a directory */ -static void +static int pfs_add_node(struct pfs_node *parent, struct pfs_node *pn) { -#ifdef INVARIANTS struct pfs_node *iter; -#endif KASSERT(parent != NULL, ("%s(): parent is NULL", __func__)); @@ -123,9 +121,6 @@ pfs_add_node(struct pfs_node *parent, struct pfs_node *pn) KASSERT(iter->pn_type != pfstype_procdir, ("%s(): nested process directories", __func__)); for (iter = parent->pn_nodes; iter != NULL; iter = iter->pn_next) { - KASSERT(strcmp(pn->pn_name, iter->pn_name) != 0, - ("%s(): homonymous siblings: '%s' type %d", __func__, - pn->pn_name, pn->pn_type)); if (pn->pn_type == pfstype_procdir) KASSERT(iter->pn_type != pfstype_procdir, ("%s(): sibling process directories", __func__)); @@ -134,8 +129,19 @@ pfs_add_node(struct pfs_node *parent, struct pfs_node *pn) pn->pn_parent = parent; pfs_fileno_alloc(pn); - pfs_lock(parent); + for (iter = parent->pn_nodes; iter != NULL; iter = iter->pn_next) { + if (strcmp(pn->pn_name, iter->pn_name) != 0) + continue; + printf("pfs_add_node: homonymous siblings: '%s/%s' type %d", + parent->pn_name, pn->pn_name, pn->pn_type); + /* Do not detach, because we are not yet attached. */ + pn->pn_parent = NULL; + pfs_unlock(parent); + return (EEXIST); + } + + if ((parent->pn_flags & PFS_PROCDEP) != 0) pn->pn_flags |= PFS_PROCDEP; if (parent->pn_nodes == NULL) { @@ -152,6 +158,7 @@ pfs_add_node(struct pfs_node *parent, struct pfs_node *pn) parent->pn_last_node = pn; } pfs_unlock(parent); + return (0); } /* @@ -197,6 +204,7 @@ static int pfs_fixup_dir_flags(struct pfs_node *parent, int flags) { struct pfs_node *dot, *dotdot; + int rc; dot = pfs_alloc_node_flags(parent->pn_info, ".", pfstype_this, flags); if (dot == NULL) @@ -206,9 +214,14 @@ pfs_fixup_dir_flags(struct pfs_node *parent, int flags) pfs_destroy(dot); return (ENOMEM); } - pfs_add_node(parent, dot); - pfs_add_node(parent, dotdot); - return (0); + rc = pfs_add_node(parent, dot); + if (rc == 0) + rc = pfs_add_node(parent, dotdot); + if (rc != 0) { + pfs_destroy(dot); + pfs_destroy(dotdot); + } + return (rc); } static void @@ -237,11 +250,12 @@ pfs_create_dir(struct pfs_node *parent, const char *name, pn->pn_vis = vis; pn->pn_destroy = destroy; pn->pn_flags = flags; - pfs_add_node(parent, pn); - rc = pfs_fixup_dir_flags(pn, flags); - if (rc) { + rc = pfs_add_node(parent, pn); + if (rc == 0) + rc = pfs_fixup_dir_flags(pn, flags); + if (rc != 0) { pfs_destroy(pn); - return (NULL); + pn = NULL; } return (pn); } @@ -264,8 +278,10 @@ pfs_create_file(struct pfs_node *parent, const char *name, pfs_fill_t fill, pn->pn_vis = vis; pn->pn_destroy = destroy; pn->pn_flags = flags; - pfs_add_node(parent, pn); - + if (pfs_add_node(parent, pn) != 0) { + pfs_destroy(pn); + pn = NULL; + } return (pn); } @@ -287,7 +303,10 @@ pfs_create_link(struct pfs_node *parent, const char *name, pfs_fill_t fill, pn->pn_vis = vis; pn->pn_destroy = destroy; pn->pn_flags = flags; - pfs_add_node(parent, pn); + if (pfs_add_node(parent, pn) != 0) { + pfs_destroy(pn); + pn = NULL; + } return (pn); } From nobody Thu Jun 12 04:48:39 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHqmR5T26z5y61K; Thu, 12 Jun 2025 04:48: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 4bHqmR2gZ4z3R3J; Thu, 12 Jun 2025 04:48:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3zROPcS5Fb9pq4I0iU9Dt7ngsr9c7SAxGiRhbpkvHNE=; b=gcZAt5AOPfQdWPZQp+2gRBrXQV/q+KxATXMTLW2sCWKNWDVv+F6+SZ8Ax3UpvoRwTPtFDy k9qBOH6CSe1dIxmkyLOzC1RnLCkOhXJM4jHQK5hx9rLRh/QGzKKdOXrxF30x84q7sICNYF EhQBldPuIm2MqLnSr/r2qCZ6KkkJcJ91ciLSDpj5UE/wodG/XPtrxT1JR2yDHEE4Lmf/Mj oE9Jrax+EIjWEjy9R+6CQuATCYXN934+7IPcr3OtHLbgvplLEgtAxFZ4QIR7vDXQXCMfqt gI8aokwHLoKm4iOOsA4mosqpTd1stSHgpunQZQDrWmrpDgk/cOJWYpgkR4hlvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3zROPcS5Fb9pq4I0iU9Dt7ngsr9c7SAxGiRhbpkvHNE=; b=rJJNRiwjh66tZpVZV26wShX0R7rgxUmfcZQ3ZdPL3hlkYASPad1BzsPVzPaiP0K8Gg8Sq9 DX9t2w0jxclUeW4yruUwsGcosIFuZQ6aRmTNf4ke+jKbJTqnBzzpUds9z5ocY4KUPx6f97 JA199slngonGvu/syNqmYloVhsXxF9iHd5J/gsP8hLTXDGi+2BBBnCKqyBjoLkHrBtNyKC LY9udCSAWeMRTnbgagctVkuVSLZPisbOK7HwNDbrTkfWbq6VA5Xxsdi5k/hDpGyDeygy92 PMXCnOnoIjhz2om/dyIPej4Knhp3FSLuLx9Kfe/kfCP/SFHIKskZWA0Ewqx/rA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749703719; a=rsa-sha256; cv=none; b=WsOwwPoPeOzpVSQ7YBjqWJW2pSX4NVNkw27UM9zBVoR82SgX1Qt1fn1ukpRU0p1H/Ao3zj 6pD3QBILNM/1grNZNhnYHg8c6J7gP192sQM5dI2iSPgE1WdNmRLHX10PSqzzTT6U5c85R/ I2A/7jqmIaL5mePnKH5NxbjIMa6pEkmmHG9GVRwCu3dfzVpIP94ETIel7yVgvZntVrqckZ 5lssPwFn0FuWjXWiUrfb3fFyFXHW/qYo9z/Y+O3XtHZ7O1ZF9YdQzQvp6QX8CI7F+EE3Jv dXdxfEzdplcUmkSUzka9Los1rJB9Yt1OjVTdROgxzuH8ztTOsj71w6bSLZQxsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHqmR26B7zy1J; Thu, 12 Jun 2025 04:48: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 55C4mdr6066730; Thu, 12 Jun 2025 04:48:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C4mdFB066727; Thu, 12 Jun 2025 04:48:39 GMT (envelope-from git) Date: Thu, 12 Jun 2025 04:48:39 GMT Message-Id: <202506120448.55C4mdFB066727@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2713657663e6 - stable/14 - kern_sigsuspend: rename wchan List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2713657663e6757576951d2cbe4990f75058932c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2713657663e6757576951d2cbe4990f75058932c commit 2713657663e6757576951d2cbe4990f75058932c Author: Konstantin Belousov AuthorDate: 2025-06-09 02:53:00 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 04:28:27 +0000 kern_sigsuspend: rename wchan (cherry picked from commit 2be717b45a33b733d7a79c996897f60c8ed70735) --- sys/kern/kern_sig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 3dec17da3ca9..cc0aecbc7756 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1650,7 +1650,7 @@ kern_sigsuspend(struct thread *td, sigset_t mask) (p->p_sysent->sv_set_syscall_retval)(td, EINTR); for (has_sig = 0; !has_sig;) { while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE | PCATCH, - "pause", 0) == 0) + "sigsusp", 0) == 0) /* void */; thread_suspend_check(0); mtx_lock(&p->p_sigacts->ps_mtx); From nobody Thu Jun 12 04:48:40 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHqmS5HZCz5y6Jk; Thu, 12 Jun 2025 04:48: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 4bHqmS3QTzz3R0w; Thu, 12 Jun 2025 04:48:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=saX7tSfFzjKb8xIWllZkbewAAuS5Vs3XxkF5wY0cLVU=; b=YtKWQeL+e3pgUxffGffDZSuGfQz/OAiD5uCws1aJRjmWx9z3fuf+RB7/MYA/NajXK8fOJW 695HWY9Aa7MaFoiicOee71+H8OTmpA6SfpP/uXh7T8DuBu6som+Y9WUnJx6CYJXifv+DaM zNITZUG+ktilQAc1CQj+WIYvfhSGR40rDAb1dOBAXQiL/7GCID130Co24+B4EKRM4uvOVn S7ZgBJxnSR2zCYEDVPXCzYGaAwi6x0fID0YZoM7FpE2/ICvJqODIjBB6OqYRk+rsG9gl2C wliOYZROfJWC+KVhXqeEmu/S8oV2g8h/jYH7eVWgMbitj80zQw2/1Iq2ovI2VQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=saX7tSfFzjKb8xIWllZkbewAAuS5Vs3XxkF5wY0cLVU=; b=bpXaQ6yR2lnNvhhmXkFfQXT51z3ChqgRhwfkgyYey+Hu7U74wxFHWVa0uTIdWjMr0w8Kwk ENtWh91d68J1BiKR+RtCYSxoKAENgbn5sQ8hox5Cp/x+6t+pQ5SqEDiLfbrbPItZjLCrjX oGgX+Bxyb6OiqUYwjuGsAgW0vzNwy5VJ2UmwdaSEcrda4itagktAlpcnmTD0nWixdcmPvH /qNO7HuVu1BJzleXz8mszkDIITi2RZ10UzjJRMg/I+LCCMeGyVwJltri2COtKyvY+lwQ5p ztlgNcqV8IJ68XscZw49KTL/hLoOwdD2O3DMBlritbtIIgtVewnNAsgdtTwqpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749703720; a=rsa-sha256; cv=none; b=KD6Ek7jGW66K/4IabU0IgsZP8b+FeLL3a/hS8K+fQNc1lftf49C0fBYyU/ziWAfixYo5Wn vaixG+GfqkzEz3cjkc/i9/ibReOphqusJD4xc5nR0JeuLli5nEbqrygRAqFNF7Xq0elL1i +FGwIeh5DlO0olqpUhXEz48t1RAZG/xiAmdAfOJYzjt0lYR9ctw/N6xwEC6vQU+06rFYnT xDXLSbew9ZlaRRKI4p5TE0hIQMRntFjNsMC/I3aCfhfMTf/Exe60A1BjFHlfbr4a4fJ5hz 5JqVyN5A/jprfkHotSLkUdIFwWANnqLmPv4uxCtpug+tiphCSi8LFnKCh7oIwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHqmS31l1zxjk; Thu, 12 Jun 2025 04:48: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 55C4meCp066770; Thu, 12 Jun 2025 04:48:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C4meSj066767; Thu, 12 Jun 2025 04:48:40 GMT (envelope-from git) Date: Thu, 12 Jun 2025 04:48:40 GMT Message-Id: <202506120448.55C4meSj066767@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 6cd0117bdb2c - stable/14 - exit1(): Ensure that SIGCHLD from reparented child is queued to reaper List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6cd0117bdb2c4b90cb31f90712431fbe125d9755 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6cd0117bdb2c4b90cb31f90712431fbe125d9755 commit 6cd0117bdb2c4b90cb31f90712431fbe125d9755 Author: Konstantin Belousov AuthorDate: 2025-06-08 07:31:28 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 04:28:27 +0000 exit1(): Ensure that SIGCHLD from reparented child is queued to reaper (cherry picked from commit 8dda34d0ef79d0d247b3487ae0499bdf12c9209e) --- sys/kern/kern_sig.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index cc0aecbc7756..0291c2647da6 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3751,7 +3751,14 @@ sigparent(struct proc *p, int reason, int status) if (KSI_ONQ(p->p_ksi)) return; } - pksignal(p->p_pptr, SIGCHLD, p->p_ksi); + + /* + * Do not consume p_ksi if parent is zombie, since signal is + * dropped immediately. Instead, keep it since it might be + * useful for reaper. + */ + if (p->p_pptr->p_state != PRS_ZOMBIE) + pksignal(p->p_pptr, SIGCHLD, p->p_ksi); } static void From nobody Thu Jun 12 04:48:38 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bHqmR2zH5z5y5vS; Thu, 12 Jun 2025 04:48: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 4bHqmQ4zbfz3R7J; Thu, 12 Jun 2025 04:48:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XNoDzYV7+KDlaEbblFXNalC9ALrG4KhWA134Q642FxQ=; b=gwgd4ohiHQPCfLQ1RXvQVA8uZxSpAVYXyI+H4d4sQTX/hjFcsLEeOsB8KmmVoe01rrqXQp a3ztippWxD5oWoapCQodxwnyrcg4oD5ML3wmmxoBaYhvs7wkOpRlP+j3/0mDyw1rMYfJB9 IS4Q/37tJ4L5cBRa2fNl8VyrSKbPU8TZWiu0FdpO9/mVxAcKcohy0Z7W26Cy/TvZJvyvaU wHNwKQUiz2DRvnj4MbfybDUraLo782TsbqWQB9kkuQ0YFo+mg3tzW89NfmTOJVzT2ebIcu qes8txx/L/Tu9rIvts8NJ+PShk5TKU/9GU/HFzmoQIEOxk9osCjQL3Zgre5PLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749703718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XNoDzYV7+KDlaEbblFXNalC9ALrG4KhWA134Q642FxQ=; b=dPmZzc14KevB5WXNC6jHLyqeVAkq4Ftx4EtzOE2GVzDfIIgOYTf662ghuBTwOazyOt9olN qjWPmEaWSk4TJw3qUX2mEKdFWbBMUG6GySwLB44DNh3PZLUccuAwYeYwT8T9VNKwg3KjU5 kSfEm9lJI0jzo47bT/E7TSB7mDeIkRk3g3BaRIIGPFKP6w6CAJn630Dej6QADyzcqcacxO WGu9myiKsop0DAo7l4FsuUDcpXXrEnr89waFiIIPKZ1ZiX3sHSIHzux+3cnjUbGiSJ97vH LRVBBWATIRVJVDFUG9XwVBT6gzNr5hUjLA8YniAHwjFzSgTz86SsphdwyH7F0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749703718; a=rsa-sha256; cv=none; b=ovhQwG9poGjzUxP+st5icb5e31apI987WMJGO4HoMm98S6ZoIBbS3e7c/idoLmQUnY10WO kbmr3d8MR+L915YUrtS8F14PbM9neuOncd/C1aJs3P0qqtsA+E4p535IKrPR8EjJf2eOfU kU+TwIJZhw+0uIHeFAkLCU4TYLHzcS8sNk/v3B8lZQO5gi9/RfTzlh6+X7HJK8i+XmGRT9 rZ23Yoo8Ri1EEBd2+Z9Zlmpb4T0Jgp+x/rC5HWlAEf3twI3qqCKLwK3oJngiicyLR0HHJi gUhvY+Eq8Kag2zfSYi8RQLEVkXNuOqZ9PMI//YpCKioYwc3BmVZEQHaNkI0iWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bHqmQ1CKwzxvT; Thu, 12 Jun 2025 04:48: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 55C4mceK066696; Thu, 12 Jun 2025 04:48:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55C4mcou066693; Thu, 12 Jun 2025 04:48:38 GMT (envelope-from git) Date: Thu, 12 Jun 2025 04:48:38 GMT Message-Id: <202506120448.55C4mcou066693@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 73bddd004855 - stable/14 - kern_sigsuspend(): style List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 73bddd004855bd1114931d5e44622a20e4c1a639 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=73bddd004855bd1114931d5e44622a20e4c1a639 commit 73bddd004855bd1114931d5e44622a20e4c1a639 Author: Konstantin Belousov AuthorDate: 2025-06-08 03:23:31 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 04:28:27 +0000 kern_sigsuspend(): style (cherry picked from commit 8226a8b588101b7540249fa208a7ea67e4523c73) --- sys/kern/kern_sig.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 0c0be79b05dc..3dec17da3ca9 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1649,8 +1649,8 @@ kern_sigsuspend(struct thread *td, sigset_t mask) */ (p->p_sysent->sv_set_syscall_retval)(td, EINTR); for (has_sig = 0; !has_sig;) { - while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "pause", - 0) == 0) + while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE | PCATCH, + "pause", 0) == 0) /* void */; thread_suspend_check(0); mtx_lock(&p->p_sigacts->ps_mtx); From nobody Thu Jun 12 14:11:41 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ4G56zlGz5xr9B; Thu, 12 Jun 2025 14:11: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 4bJ4G56DYZz3Gwp; Thu, 12 Jun 2025 14:11:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749737501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OLC9NZw74FM0aMyk6+wQe7+8tBfCkPiAki8cImERzz8=; b=RzD/95dVttuHyIIZkZjyxdwBVrOOSB6qjN9H5R3nUc/+q5KU++jqYUUCeLZwOqw8o3uTin U07M7ZRpYrlv3+x66N6zRchPLzM35l8LNOWCghoromM91ld3KnaxupjTZACYKw4Wje2I4b urU0sZIwdpo3VKyxZcoPOtZ+g/6akHhZ3z0maDYfBDenHPjtKCSOJ49R841iNylpzIQPtW Z0C53SizCaO4ZmzqMcwsW2hvpy0Jl1HePYMZHgPW+CFsefPtgVi4hk6VgeGDOcV3dS8zsr 0IlwoLQeguuiyeNCvaer1rAQGFs2HKd1wWbIXgtF36ZuHf27mgmVM06BoCPGpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749737501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OLC9NZw74FM0aMyk6+wQe7+8tBfCkPiAki8cImERzz8=; b=dQqwfU+7HI6nwZv1bLojB61tiOEygCrVp8O3Ydaoq+wzHvVYj+pu1uylmylNLBnN1saxDE GWYqlB8oFDDqL/XvEoviNjZtLLOKgP4ag6AXsNJiQX+Wl3Yxktut1wkEdxlrSgMM5GGhDa joTDhebL7I3q34vClG9aQQvrn/Qml+ZRDQCmK/dIDnS5ftcR8dVB1Lyj3dADkljUFYtwBV eb7wqNspiFDDwozqGwJ0SE6cX8sU1VQAnPgVbcVzU+Cs2Jg2cJGqmGKJYbBF1KPJn5ETaX E7WWSUpV9aSQBLbumoBJFy88gvd00iF5veRnD9CG0XBG6mhvoAHb00jmglo9Lw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749737501; a=rsa-sha256; cv=none; b=gmoK2XYZ6nBlSAMd85tAFlAYN4VRPk8qF5ZarvWxYrNfJWv8XCzwPVmkytIX+nzyQaAX28 ttnqq8hm7rhlPwx/X41cgMeMGwoPpcMuUCn9P3c052y5tv3EcBSs57agImatH42UXRVLwe SIQJNmcEF0MMrsn+wsbo3Dw/uvcwqkTC4c98XKnR8QH8pba3sYqf964YoLulDQzOyYUcFp dh1miReH6mDWC1ZCkrwd45hRlXqxjjtzDmCCvKRK2AiDuHmuTuhpks2/6dGrIR7FrwP9OK rxkfFd0xFjKDZpMUe9Om3u6fJS9B/tWsbCxIb9HhTx9QEvX6OqRcd+rLO1CSWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ4G55p58zbL; Thu, 12 Jun 2025 14:11: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 55CEBf03029054; Thu, 12 Jun 2025 14:11:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CEBfqu029051; Thu, 12 Jun 2025 14:11:41 GMT (envelope-from git) Date: Thu, 12 Jun 2025 14:11:41 GMT Message-Id: <202506121411.55CEBfqu029051@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Sergey A. Osokin" Subject: git: 784331b56d54 - stable/14 - bsd-family-tree: add DragonFly 6.4.1 and 6.4.2, FreeBSD 14.3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 784331b56d54807cf64c79b0b60215a83ba8e653 Auto-Submitted: auto-generated The branch stable/14 has been updated by osa: URL: https://cgit.FreeBSD.org/src/commit/?id=784331b56d54807cf64c79b0b60215a83ba8e653 commit 784331b56d54807cf64c79b0b60215a83ba8e653 Author: Sergey A. Osokin AuthorDate: 2025-06-12 14:10:23 +0000 Commit: Sergey A. Osokin CommitDate: 2025-06-12 14:10:23 +0000 bsd-family-tree: add DragonFly 6.4.1 and 6.4.2, FreeBSD 14.3 MFC after: 3 days --- share/misc/bsd-family-tree | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 65ed070c4f96..94455bbde628 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -471,11 +471,15 @@ FreeBSD 5.2 | | | | | | 13.4 | | | OpenBSD 7.6 | | FreeBSD | | | | | | | 14.2 | | | | | | - | | | | NetBSD | | - | | | | 10.1 | | - | FreeBSD | | | | - | 13.5 | | | | - | | | OpenBSD 7.7 | + | | | | | NetBSD | | + | | | | | 10.1 | | + | | FreeBSD | | | | + | | 13.5 | | | | + | | | | OpenBSD 7.7 | + | | | | | DragonFly 6.4.1 + | | | | | DragonFly 6.4.2 + | FreeBSD | | | | + | 14.3 | | | | | | | | | FreeBSD 15 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -919,6 +923,9 @@ FreeBSD 14.2 2024-12-03 [FBD] NetBSD 10.1 2024-12-16 [NBD] FreeBSD 13.5 2025-03-11 [FBD] OpenBSD 7.7 2025-04-28 [OBD] +DragonFly 6.4.1 2025-04-30 [DFB] +DragonFly 6.4.2 2025-05-09 [DFB] +FreeBSD 14.3 2025-06-10 [FBD] Bibliography ------------------------ From nobody Thu Jun 12 18:02:57 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9Nx40Kzz5yBKB; Thu, 12 Jun 2025 18:02:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJ9Nx2qVYz4Ps8; Thu, 12 Jun 2025 18:02:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RuI0dUKwNycQKHrlsfRmlIofT9GNRe9zDTGu+ps/FJc=; b=Wu7HqXbu8POPJ0Y0aNFTFv8/GNnBO7HHhB3hKDwDRmJqjJsBdgMnumsldJXi3GluVZ4JTT ykMy/jiva8gyWNURLiOL5bE+UEEQcGESCWOJnBD+HShCY3zI8YZQlO5bqWED8+kl/xGQWe nZcALNwcij8XMgbUgSvBkFv8XxezInnNmGkTb6XFJquwT4clsq3HL0SuWFPXWHqjfW8N+V UfbDjwfxl0TZfinLY4pbEFaC7BO8AR7Bw7P5tziaF+nv4iT0zeV+KT1h87ec3Zfq5/s9un bMliLpwtVi7wcShXz47EhmCI1KY/7gI2vtHV5qOnV0/E1ZfXG0Q04Sp+14cn8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RuI0dUKwNycQKHrlsfRmlIofT9GNRe9zDTGu+ps/FJc=; b=uZlMoMMmCPj+eOGRhb6G8mvgsWE4CN49GIEYlaCkwjyZB4mQ/+uti9EvqB4WsbPJ9hq22B zrqtIMcnxEDIysRyJw6hEeN7YbaVR7QVYGFZF1WIKxJJf4gxZKF3qZbwZEMuGnosiKYfwg jtDiWy7Q3raDw0wgCPc6CM3Rf5jY6M00MotefZ/AQFwBR7gQv//3AUWze8NSMMW8kjjIAX Gl4gErTcFBw+Bh6bO+WYT3KgX9sh+A/+wdpBuMFt8nNz3aLhS43RV6ieRCmiN/LUButMth svBRh2usIH0BjOvDXwuFx95r7AC7PYxGtUVnqye5htp6IUpM0OHkLRZlX3wJWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751377; a=rsa-sha256; cv=none; b=OCz8N/vQixCqyvOrY3xO3oYCIHpB5/s4ocUmUHiKdsunhyyQZnJDAjBbgzvDdV1btsNPSO T2aVsus3auurqvRfpe9QBpRf0jSptod2zg121I0Nd0vLJWDuzOU1f0/plJ1mYfhq1Eslcm vjq7jHhjvA+YprcaR0ZeryXBrZLaARdn3ivOlNddS+BSxpP2sacIly6v8nQ0YzCWyXrsOg YjjfwJzoyuKdSqD5mcMCVe05BoWBC/s9Y1awj5tGHYM3kFDWKNULpcuH8ABHXI5sF8xvgw YEOhC1NVGxJby+U4YuhpEFbvF45mcG1HYyNqMy2+GLnklfR5ugVrW3bMa2ca5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9Nx2BCQz6xW; Thu, 12 Jun 2025 18:02:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55CI2vCg066968; Thu, 12 Jun 2025 18:02:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI2vnh066965; Thu, 12 Jun 2025 18:02:57 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:02:57 GMT Message-Id: <202506121802.55CI2vnh066965@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0f44d9df994b - stable/14 - amd64: do not handle fs/gs bases conditionally on the selector List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0f44d9df994b398ba4591141559da6db18fff557 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0f44d9df994b398ba4591141559da6db18fff557 commit 0f44d9df994b398ba4591141559da6db18fff557 Author: Konstantin Belousov AuthorDate: 2025-05-19 01:30:14 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:49 +0000 amd64: do not handle fs/gs bases conditionally on the selector (cherry picked from commit ddab534cd6f6557740c24ff2019642880ad8bef6) --- sys/amd64/amd64/cpu_switch.S | 6 ------ sys/amd64/amd64/exception.S | 29 ----------------------------- sys/amd64/amd64/machdep.c | 6 ++---- sys/amd64/ia32/ia32_exception.S | 3 +-- 4 files changed, 3 insertions(+), 41 deletions(-) diff --git a/sys/amd64/amd64/cpu_switch.S b/sys/amd64/amd64/cpu_switch.S index 2a3eced01ab3..2a829c7507ea 100644 --- a/sys/amd64/amd64/cpu_switch.S +++ b/sys/amd64/amd64/cpu_switch.S @@ -91,14 +91,8 @@ ENTRY(cpu_switch) jnz 2f testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) jz 2f - movl %fs,%eax - cmpl $KUF32SEL,%eax - jne 1f rdfsbase %rax movq %rax,PCB_FSBASE(%r8) -1: movl %gs,%eax - cmpl $KUG32SEL,%eax - jne 2f movq %rdx,%r12 movl $MSR_KGSBASE,%ecx /* Read user gs base */ rdmsr diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S index 90f7a88f5d52..797b2fe748f3 100644 --- a/sys/amd64/amd64/exception.S +++ b/sys/amd64/amd64/exception.S @@ -479,22 +479,14 @@ prot_addrf: jz 6f /* already running with kernel GS.base */ testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) jz 2f - cmpw $KUF32SEL,TF_FS(%rsp) - jne 1f rdfsbase %rax -1: cmpw $KUG32SEL,TF_GS(%rsp) - jne 2f rdgsbase %rdx 2: swapgs lfence movq PCPU(CURPCB),%rdi testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) jz 4f - cmpw $KUF32SEL,TF_FS(%rsp) - jne 3f movq %rax,PCB_FSBASE(%rdi) -3: cmpw $KUG32SEL,TF_GS(%rsp) - jne 4f movq %rdx,PCB_GSBASE(%rdi) orl $PCB_FULL_IRET,PCB_FLAGS(%rdi) /* full iret from user #gp */ 4: call handle_ibrs_entry @@ -730,12 +722,8 @@ dbg_fromuserspace: orl $PCB_FULL_IRET,PCB_FLAGS(%rdi) testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) jz 3f - cmpw $KUF32SEL,TF_FS(%rsp) - jne 2f rdfsbase %rax movq %rax,PCB_FSBASE(%rdi) -2: cmpw $KUG32SEL,TF_GS(%rsp) - jne 3f movl $MSR_KGSBASE,%ecx rdmsr shlq $32,%rdx @@ -842,12 +830,8 @@ nmi_fromuserspace: orl $PCB_FULL_IRET,PCB_FLAGS(%rdi) testb $CPUID_STDEXT_FSGSBASE,cpu_stdext_feature(%rip) jz 3f - cmpw $KUF32SEL,TF_FS(%rsp) - jne 2f rdfsbase %rax movq %rax,PCB_FSBASE(%rdi) -2: cmpw $KUG32SEL,TF_GS(%rsp) - jne 3f movl $MSR_KGSBASE,%ecx rdmsr shlq $32,%rdx @@ -1177,15 +1161,12 @@ do_segs: .globl ld_fs ld_fs: movw %ax,%fs - cmpw $KUF32SEL,%ax - jne 1f movl $MSR_FSBASE,%ecx movl PCB_FSBASE(%r8),%eax movl PCB_FSBASE+4(%r8),%edx .globl ld_fsbase ld_fsbase: wrmsr -1: /* Restore %gs and gsbase */ movw TF_GS(%rsp),%si pushfq @@ -1198,10 +1179,6 @@ ld_fsbase: .globl ld_gs ld_gs: movw %si,%gs - /* Save user %gs base into %r14d:%r15d */ - rdmsr - movl %eax,%r14d - movl %edx,%r15d /* Restore kernel %gs base */ movl %r12d,%eax movl %r13d,%edx @@ -1212,14 +1189,8 @@ ld_gs: * from the previously saved msr read. */ movl $MSR_KGSBASE,%ecx - cmpw $KUG32SEL,%si - jne 1f movl PCB_GSBASE(%r8),%eax movl PCB_GSBASE+4(%r8),%edx - jmp ld_gsbase -1: - movl %r14d,%eax - movl %r15d,%edx .globl ld_gsbase ld_gsbase: wrmsr /* May trap if non-canonical, but only for TLS. */ diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index ea0f164b2e56..e4109b0ff791 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1786,10 +1786,8 @@ set_pcb_flags_fsgsbase(struct pcb *pcb, const u_int flags) (pcb->pcb_flags & PCB_FULL_IRET) == 0) { r = intr_disable(); if ((pcb->pcb_flags & PCB_FULL_IRET) == 0) { - if (rfs() == _ufssel) - pcb->pcb_fsbase = rdfsbase(); - if (rgs() == _ugssel) - pcb->pcb_gsbase = rdmsr(MSR_KGSBASE); + pcb->pcb_fsbase = rdfsbase(); + pcb->pcb_gsbase = rdmsr(MSR_KGSBASE); } set_pcb_flags_raw(pcb, flags); intr_restore(r); diff --git a/sys/amd64/ia32/ia32_exception.S b/sys/amd64/ia32/ia32_exception.S index 42d0ff6c638b..ef1a2c59a0af 100644 --- a/sys/amd64/ia32/ia32_exception.S +++ b/sys/amd64/ia32/ia32_exception.S @@ -54,10 +54,10 @@ int0x80_syscall_common: movq %rax,TF_RAX(%rsp) movq %rdx,TF_RDX(%rsp) movq %rcx,TF_RCX(%rsp) + movq %r15,TF_R15(%rsp) call handle_ibrs_entry sti movq %rsi,TF_RSI(%rsp) - movq %r8,TF_R8(%rsp) movq %r9,TF_R9(%rsp) movq %rbx,TF_RBX(%rsp) movq %rbp,TF_RBP(%rsp) @@ -66,7 +66,6 @@ int0x80_syscall_common: movq %r12,TF_R12(%rsp) movq %r13,TF_R13(%rsp) movq %r14,TF_R14(%rsp) - movq %r15,TF_R15(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) pushfq andq $~(PSL_D | PSL_AC),(%rsp) From nobody Thu Jun 12 18:02:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9Nz1Tygz5y9tk; Thu, 12 Jun 2025 18:02:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJ9Ny3cYjz4PcN; Thu, 12 Jun 2025 18:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jjnRYaRSMuHOn/AY218IXpGBPn/T1BrIvVkE+kYSsh0=; b=MotUqmsW9PsPClVAfM2vvj2yB1Bfdhs6YfO2ZD1GrYZb+YEnAC2pjxdva8GRmzmAj2pKxd Po09YxqD8mwD9qTYIP7DecglLYKp8e3L2dvBlH5ru6F9zIzBGl0D1Yf3OlUdjpRScM4iuK DmLj+0FYQeOdF58W15h4GnKwfPedVyXojfTUuO8UpwTG9zKcLWX8jiQ4TcPFf3J/7yMpOv sTnceUvae69oOKn12VoC6PP0XcK5d+43qPZDbuuQuKw65CaeMIh2teQiFP8zuFQjmwuJPd 2gx0fkePBG659NhBM7XWzKxJPKoN9HLaHT0Otmx95LZ1vvJO7Jzz+p58m9jDHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jjnRYaRSMuHOn/AY218IXpGBPn/T1BrIvVkE+kYSsh0=; b=bGpvNSGrxMWyxKqQG2l+OPxPtUDXAbIXRIo1UCCkj7wCKPZ5ErA0xtm6/UMre3QtUWXDK3 OT3+HQOlJ9rs480L/VDhAQGvFffsXrU06dtqiRtjtJNwCRL8z7Z8BU2pxWgd4DIlJFnJ+b M9pplX8HFAWRBJkvLHJ7ML3b5UvFEbz3rWt6KR7EYucC//r34aqyiAa/dqZbIQIXpVAU2B f4f6y0GY0ecs3un4YgBKsAyylGTGiyCHdRLQaDJZfRRzjVyUqQRP1LgF0jTmtHvmm4jSrU cXAStRnwgaEftz65Is5tkDMzLBKpxGZrBEXpb/zYxAS6VZtP/UYqUuPP28PFvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751378; a=rsa-sha256; cv=none; b=cK+CUh4y4yESwWvDD2n+6OW4F/jF7t7l3njKrnSM80JQdmoQx2EXpbHov6sNgAYxaSCGNj 5tHxmY9ANgrBmxrUtDDFvNih971nr9p2qSid2yZJrCkIAz8ehOMOagcxGteynnVTOzS7W1 0QiKhR2QH3pqPJxAAMIZKVNtsLkLr1wwJh/Alb7AsQOFUYTpDFZs/tHLjXVU4EXakFavwg JiDyYMThXxEIX+fVEiwpWQUnvCPN3BrkAdq1QwgSNeFUIBZA/1yxOSjyblKTFC3izcMb0F cZ2R1Uj0nBnt06FT8mBgxRNCJc0MwbjJWBsqyiygKd7dFXX1sqeBVBny99bo1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9Ny2qKpz7X8; Thu, 12 Jun 2025 18:02: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 55CI2wfY067002; Thu, 12 Jun 2025 18:02:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI2wVP066999; Thu, 12 Jun 2025 18:02:58 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:02:58 GMT Message-Id: <202506121802.55CI2wVP066999@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: cb089f00996c - stable/14 - amd64: add pcb_tlsbase List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cb089f00996cdbf2e7930b4e5598fcbbd43aae53 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cb089f00996cdbf2e7930b4e5598fcbbd43aae53 commit cb089f00996cdbf2e7930b4e5598fcbbd43aae53 Author: Konstantin Belousov AuthorDate: 2025-05-19 23:56:37 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:49 +0000 amd64: add pcb_tlsbase (cherry picked from commit 68ba38dad388b566877ba79ff02ed12a53b0ff3f) --- sys/amd64/amd64/exec_machdep.c | 6 ++++-- sys/amd64/amd64/sys_machdep.c | 17 ++++++++++++++++- sys/amd64/amd64/vm_machdep.c | 8 ++++---- sys/amd64/ia32/ia32_signal.c | 1 + sys/amd64/include/pcb.h | 4 +++- sys/amd64/linux/linux_sysvec.c | 2 +- sys/amd64/linux32/linux32_sysvec.c | 7 ++++--- sys/x86/include/sysarch.h | 2 ++ 8 files changed, 35 insertions(+), 12 deletions(-) diff --git a/sys/amd64/amd64/exec_machdep.c b/sys/amd64/amd64/exec_machdep.c index cf635d822300..71e33e5b14c1 100644 --- a/sys/amd64/amd64/exec_machdep.c +++ b/sys/amd64/amd64/exec_machdep.c @@ -211,6 +211,8 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) regs->tf_fs = _ufssel; regs->tf_gs = _ugssel; regs->tf_flags = TF_HASSEGS; + if ((pcb->pcb_flags & PCB_TLSBASE) != 0) + pcb->pcb_fsbase = pcb->pcb_tlsbase; PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -381,9 +383,9 @@ exec_setregs(struct thread *td, struct image_params *imgp, uintptr_t stack) user_ldt_free(td); update_pcb_bases(pcb); - pcb->pcb_fsbase = 0; + pcb->pcb_fsbase = pcb->pcb_tlsbase = 0; pcb->pcb_gsbase = 0; - clear_pcb_flags(pcb, PCB_32BIT); + clear_pcb_flags(pcb, PCB_32BIT | PCB_TLSBASE); pcb->pcb_initial_fpucw = __INITIAL_FPUCW__; saved_rflags = regs->tf_rflags & PSL_T; diff --git a/sys/amd64/amd64/sys_machdep.c b/sys/amd64/amd64/sys_machdep.c index 39c89e2aad87..2acf410b9b1b 100644 --- a/sys/amd64/amd64/sys_machdep.c +++ b/sys/amd64/amd64/sys_machdep.c @@ -208,6 +208,8 @@ sysarch(struct thread *td, struct sysarch_args *uap) case AMD64_GET_XFPUSTATE: case AMD64_SET_PKRU: case AMD64_CLEAR_PKRU: + case AMD64_GET_TLSBASE: + case AMD64_SET_TLSBASE: break; case I386_SET_IOPERM: @@ -313,14 +315,27 @@ sysarch(struct thread *td, struct sysarch_args *uap) error = copyout(&pcb->pcb_fsbase, uap->parms, sizeof(pcb->pcb_fsbase)); break; - + case AMD64_GET_TLSBASE: + if ((pcb->pcb_flags & PCB_TLSBASE) == 0) { + error = ESRCH; + } else { + error = copyout(&pcb->pcb_tlsbase, uap->parms, + sizeof(pcb->pcb_tlsbase)); + } + break; + case AMD64_SET_FSBASE: + case AMD64_SET_TLSBASE: error = copyin(uap->parms, &a64base, sizeof(a64base)); if (error == 0) { if (a64base < curproc->p_sysent->sv_maxuser) { set_pcb_flags(pcb, PCB_FULL_IRET); pcb->pcb_fsbase = a64base; td->td_frame->tf_fs = _ufssel; + if (uap->op == AMD64_SET_TLSBASE) { + pcb->pcb_tlsbase = a64base; + set_pcb_flags(pcb, PCB_TLSBASE); + } } else error = EINVAL; } diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index 36001bc5b5b6..8a2705a38c46 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -158,7 +158,7 @@ copy_thread(struct thread *td1, struct thread *td2) /* Kernel threads start with clean FPU and segment bases. */ if ((td2->td_pflags & TDP_KTHREAD) != 0) { - pcb2->pcb_fsbase = 0; + pcb2->pcb_fsbase = pcb2->pcb_tlsbase = 0; pcb2->pcb_gsbase = 0; clear_pcb_flags(pcb2, PCB_FPUINITDONE | PCB_USERFPUINITDONE | PCB_KERNFPU | PCB_KERNFPU_THR); @@ -184,7 +184,7 @@ copy_thread(struct thread *td1, struct thread *td2) * pcb2->pcb_savefpu: cloned above. * pcb2->pcb_flags: cloned above. * pcb2->pcb_onfault: cloned above (always NULL here?). - * pcb2->pcb_[fg]sbase: cloned above + * pcb2->pcb_[f,g,tls]sbase: cloned above */ pcb2->pcb_tssp = NULL; @@ -675,13 +675,13 @@ cpu_set_user_tls(struct thread *td, void *tls_base) return (EINVAL); pcb = td->td_pcb; - set_pcb_flags(pcb, PCB_FULL_IRET); + set_pcb_flags(pcb, PCB_FULL_IRET | PCB_TLSBASE); #ifdef COMPAT_FREEBSD32 if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) { pcb->pcb_gsbase = (register_t)tls_base; return (0); } #endif - pcb->pcb_fsbase = (register_t)tls_base; + pcb->pcb_fsbase = pcb->pcb_tlsbase = (register_t)tls_base; return (0); } diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c index b793c66a95ad..08f8d73c2334 100644 --- a/sys/amd64/ia32/ia32_signal.c +++ b/sys/amd64/ia32/ia32_signal.c @@ -959,4 +959,5 @@ ia32_setregs(struct thread *td, struct image_params *imgp, uintptr_t stack) /* Return via doreti so that we can change to a different %cs */ set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET); + clear_pcb_flags(pcb, PCB_TLSBASE); } diff --git a/sys/amd64/include/pcb.h b/sys/amd64/include/pcb.h index 2205607fa6fe..632181c1f75a 100644 --- a/sys/amd64/include/pcb.h +++ b/sys/amd64/include/pcb.h @@ -86,6 +86,7 @@ struct pcb { #define PCB_KERNFPU_THR 0x0020 /* fpu_kern_thread() */ #define PCB_32BIT 0x0040 /* process has 32 bit context (segs etc) */ #define PCB_FPUNOSAVE 0x0080 /* no save area for current FPU ctx */ +#define PCB_TLSBASE 0x0100 /* tlsbase was set */ uint16_t pcb_initial_fpucw; @@ -106,7 +107,8 @@ struct pcb { struct savefpu *pcb_save; - uint64_t pcb_pad[5]; + register_t pcb_tlsbase; /* not same as pcb_fsbase */ + uint64_t pcb_pad[4]; }; /* Per-CPU state saved during suspend and resume. */ diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 9c3d7e6405c1..3760a5455a73 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -247,7 +247,7 @@ linux_exec_setregs(struct thread *td, struct image_params *imgp, pcb->pcb_fsbase = 0; pcb->pcb_gsbase = 0; - clear_pcb_flags(pcb, PCB_32BIT); + clear_pcb_flags(pcb, PCB_32BIT | PCB_TLSBASE); pcb->pcb_initial_fpucw = __LINUX_NPXCW__; set_pcb_flags(pcb, PCB_FULL_IRET); diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index 19b4af7661f0..a8cc03ea8c71 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -580,6 +580,10 @@ linux_exec_setregs(struct thread *td, struct image_params *imgp, if (td->td_proc->p_md.md_ldt != NULL) user_ldt_free(td); + /* Do full restore on return so that we can change to a different %cs */ + set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET); + clear_pcb_flags(pcb, PCB_TLSBASE); + critical_enter(); wrmsr(MSR_FSBASE, 0); wrmsr(MSR_KGSBASE, 0); /* User value while we're in the kernel */ @@ -605,9 +609,6 @@ linux_exec_setregs(struct thread *td, struct image_params *imgp, x86_clear_dbregs(pcb); fpstate_drop(td); - - /* Do full restore on return so that we can change to a different %cs */ - set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET); } /* diff --git a/sys/x86/include/sysarch.h b/sys/x86/include/sysarch.h index 3226f3b9d93a..61f559f4bd23 100644 --- a/sys/x86/include/sysarch.h +++ b/sys/x86/include/sysarch.h @@ -61,6 +61,8 @@ #define AMD64_GET_XFPUSTATE 132 #define AMD64_SET_PKRU 133 #define AMD64_CLEAR_PKRU 134 +#define AMD64_GET_TLSBASE 135 +#define AMD64_SET_TLSBASE 136 /* Flags for AMD64_SET_PKRU */ #define AMD64_PKRU_EXCL 0x0001 From nobody Thu Jun 12 18:02:59 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P01kmXz5yBDF; Thu, 12 Jun 2025 18:03: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 4bJ9Nz4Q6tz4PYn; Thu, 12 Jun 2025 18:02:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6SMzQNaN2yDW4bhVQfDS80FdslCdxXndyCAgn64GM5c=; b=v8SRP4XM4HV/r0NnHNGUwVny99Ifnt9Tz7sx2LFUM5BHkZKONrxMBjGxsxbhjhgBJhLhB6 Jih3t4ZcE/+wDPMUai8ulGW6Wjq2W43+8PtwML/UmW2lsfpRqg19tsiYNDX20Fa9PoGYfH 4JpKqsdKcjHzKEoOmlwpPAW12w2EH+mOCKmf09lLsjnwakeWpeGT6C6lEPIo1TQYCbkyhr PESXk1vg3l0P4wQx9pAcuZgywukU0izV3Kz6KB7GD23uWqhPC/1/1VnmzUBRKKR9pgS1Yu JqQxxB39RwtMyJSNl0HUBSt1cITMQbM3GlYMW1El+455nk/mD5GgXl3yITr5Bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6SMzQNaN2yDW4bhVQfDS80FdslCdxXndyCAgn64GM5c=; b=qsNAJ79n7LGgw26500xp0HrYN/EKfa0O6ucPUoagwBsAwYC8H8/iGgq/+BE7gx4VpbgBD7 xQMyyrf6KpLnCDc4hYpPE+kIfyCjSCYELyiqM87QixGgp5nOxJ7WafD+VI1ofkhwvJx9iX zROwxxch6aqZzGY+L5pqNkmM63oB1wbKtAogIZBm7c3CFMJpOG/LugvpzaH0zXsrMJyvXc 5KX8QPX9M/JelodgCLc2yp6/cdUGu/jYScee4dXUu/2uKKH3IxrPOWBiXCCmEOl20l04QQ 0q+kVBNCG6AbWFaeoGL4Yyn1kV3cOA4sSMjVKhbmQIFmjpucYgIfEi7F+0xKyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751379; a=rsa-sha256; cv=none; b=ussBjG+QHot2FUmGJTe+85gsIlv1G5G/vKKu1wq1KO6SJlpETK/EXo/yIP/RUU3i1fCAvR 35Iy46g5VwVoZlcl4yiDvcf08vRihAjsh9oao0C36y2+/OE97bSLQQMWBq9xTWVCzAVBrf mvN/xe0Eq7gwdqj0uOGKlWRHpgYemAJbbZycFVgNKXnFGlI58GwQ192mmMjUOg8/YUqABh CVq2bZdW7KxIg9iXUB2zgGF9g93xWzt5IygmazxyZR8MZnZbjwR+UAm4Ev+NO0Mtf4BMzG gV2slsqMJrNXLRMW/EfqxckbzjP9PPdlG4bL4Eix+FH3R/XUaqK57RH7QC1WiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9Nz3mS1z7Yt; Thu, 12 Jun 2025 18:02:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55CI2xQB067041; Thu, 12 Jun 2025 18:02:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI2xMf067038; Thu, 12 Jun 2025 18:02:59 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:02:59 GMT Message-Id: <202506121802.55CI2xMf067038@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b7291e0da6ff - stable/14 - Bump __FreeBSD_version and provide P_OSREL_TLSBASE for amd64 set_tlsbase List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b7291e0da6ff485854ba07a0f8e18fb7b60ef5ba Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b7291e0da6ff485854ba07a0f8e18fb7b60ef5ba commit b7291e0da6ff485854ba07a0f8e18fb7b60ef5ba Author: Konstantin Belousov AuthorDate: 2025-05-22 04:25:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:50 +0000 Bump __FreeBSD_version and provide P_OSREL_TLSBASE for amd64 set_tlsbase (cherry picked from commit 0ec732913fceb9aae2d56c2dd667203711b76550) --- sys/sys/param.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index fc418aac90a5..4d26484e3bb2 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -75,7 +75,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1403501 +#define __FreeBSD_version 1403502 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, @@ -108,6 +108,7 @@ #define P_OSREL_POWERPC_NEW_AUX_ARGS 1300070 #define P_OSREL_TIDPID 1400079 #define P_OSREL_ARM64_SPSR 1400084 +#define P_OSREL_TLSBASE 1500044 #define P_OSREL_MAJOR(x) ((x) / 100000) #endif From nobody Thu Jun 12 18:03:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P147pNz5yBLq; Thu, 12 Jun 2025 18:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJ9P04vvmz4Pgs; Thu, 12 Jun 2025 18:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Fw8GRt+CyqtLt/CP/PGDo0YejxBqdlArpKNVopXWOU=; b=F+W4s/xwZHXhqT3nO/PQEQCHkdr+8uLc4TiP0KSQt4c7hzZ8AIISITMf+9ZrknvVmlgF71 smM1VEJtapoyWwkUD1KSjfvBLBJt/tPvPbN470J+sc9PFq7negWe6oso0UpoILSy5avgBt KrHDiYem3WZCglf+3hkdYfaR2uD4YBbte9NTi7kghiYP+uzMoBGfLA5xkGGn5LLXul47zG aT6VsE4rRi9TrmdBkkN6/LdNHgl+Pxr2wt9wwsjAbsQWAelQQcENsYXMlNpkoFv2bkXSmp LqRlBBUDHifFn84LCMIz0Q9WUwpVsq5QPm4kiPdzqZP6l5eybeCuy3Q+Bn7zSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Fw8GRt+CyqtLt/CP/PGDo0YejxBqdlArpKNVopXWOU=; b=RVTdDSwQW5Yhrv4KdwiS1vFbmzEcYeDKh3jjTYBAHcwagX7XwoJakmSRRNXZWetWhowt75 bFH5T1jtdM1CD6xXrxaECgN2rGH/ppP232SQ002QwP2V2RjEM46ozF3SCWSk+/HfWeFEA+ bjTdpw7KfBWbQk81fSy61+jZLEacogb7voOytB6UyiCxa3rLtuycLuUIjxLerogZTgdT9O +oed2Fukwp7xCgJwLNTTB0lqeP9xc7SuXFKlwHeoHwWBYKgSTzUuaw6zqWn4mVEIRFSYe8 bC+ZSaGA7Plb3J3chlrIAd1Le9CYsSD6wkoYJ3nHf+R4y+Y7PQ5wVoCmUHaXkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751380; a=rsa-sha256; cv=none; b=MLMLVEdI5VcRFg17T9sJRVLcQOlzWw/famrv6ReIjDnLS26wOij5O2scVhjP953tKniWBZ 20EIu2ziyKljuQeDreXyvn023jItUzd0b7z2YknFXRrE9Pu/vJRDxuweGuwm7GwikrUAOD 3PiPWE71Ns1QEa/L9pRHuiopfBtB6A1LviZCNR/NCerFmNOCezMr5SMvLSS/yY8/ljpRi9 dCseFKFhDrI2q7dVITPdPqy21hqUxAHRwUFDIJVTzuqpJzb7T2PQA4iL7zI1Dd0PUVBFw3 OrMVu4ufLgz270AKLJUMUhhFOetBXpMlguz3jU3gjTOAiZZRuUZNUErCphe3TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P04PZ6z7WW; Thu, 12 Jun 2025 18:03: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 55CI30lw067081; Thu, 12 Jun 2025 18:03:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI30Je067078; Thu, 12 Jun 2025 18:03:00 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:00 GMT Message-Id: <202506121803.55CI30Je067078@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: fa10e2fb8822 - stable/14 - amd64: add mc_tlsbase member to mcontext List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fa10e2fb88224b1b30abb6c94a9cf4c99ce5103f Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fa10e2fb88224b1b30abb6c94a9cf4c99ce5103f commit fa10e2fb88224b1b30abb6c94a9cf4c99ce5103f Author: Konstantin Belousov AuthorDate: 2025-05-22 06:55:50 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:50 +0000 amd64: add mc_tlsbase member to mcontext (cherry picked from commit eea3e4dd9703a252509d75814049aa8da5007ebb) --- sys/amd64/amd64/exec_machdep.c | 6 ++++++ sys/x86/include/frame.h | 1 + sys/x86/include/ucontext.h | 8 ++++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/exec_machdep.c b/sys/amd64/amd64/exec_machdep.c index 71e33e5b14c1..b9c69b7d5a2f 100644 --- a/sys/amd64/amd64/exec_machdep.c +++ b/sys/amd64/amd64/exec_machdep.c @@ -637,6 +637,8 @@ get_mcontext(struct thread *td, mcontext_t *mcp, int flags) mcp->mc_gsbase = pcb->pcb_gsbase; mcp->mc_xfpustate = 0; mcp->mc_xfpustate_len = 0; + mcp->mc_tlsbase = (pcb->pcb_flags & PCB_TLSBASE) != 0 ? + pcb->pcb_tlsbase : 0; bzero(mcp->mc_spare, sizeof(mcp->mc_spare)); return (0); } @@ -711,6 +713,10 @@ set_mcontext(struct thread *td, mcontext_t *mcp) pcb->pcb_fsbase = mcp->mc_fsbase; pcb->pcb_gsbase = mcp->mc_gsbase; } + if ((mcp->mc_flags & _MC_HASTLSBASE) != 0) { + pcb->pcb_tlsbase = mcp->mc_tlsbase; + set_pcb_flags(pcb, PCB_TLSBASE); + } return (0); } diff --git a/sys/x86/include/frame.h b/sys/x86/include/frame.h index 80e4a968ed60..a8836a705d39 100644 --- a/sys/x86/include/frame.h +++ b/sys/x86/include/frame.h @@ -154,6 +154,7 @@ struct trapframe { #define TF_HASSEGS 0x1 #define TF_HASBASES 0x2 #define TF_HASFPXSTATE 0x4 +#define TF_RESERV0 0x8 /* no tlsbase in the trapframe */ #endif /* __amd64__ */ #endif /* _MACHINE_FRAME_H_ */ diff --git a/sys/x86/include/ucontext.h b/sys/x86/include/ucontext.h index b7964e8c7141..00edc8c16bce 100644 --- a/sys/x86/include/ucontext.h +++ b/sys/x86/include/ucontext.h @@ -99,7 +99,9 @@ typedef struct __mcontext { #define _MC_HASSEGS 0x1 #define _MC_HASBASES 0x2 #define _MC_HASFPXSTATE 0x4 -#define _MC_FLAG_MASK (_MC_HASSEGS | _MC_HASBASES | _MC_HASFPXSTATE) +#define _MC_HASTLSBASE 0x8 +#define _MC_FLAG_MASK (_MC_HASSEGS | _MC_HASBASES | _MC_HASFPXSTATE | \ + _MC_HASTLSBASE) typedef struct __mcontext { /* @@ -158,7 +160,9 @@ typedef struct __mcontext { __register_t mc_xfpustate; __register_t mc_xfpustate_len; - long mc_spare[4]; + __register_t mc_tlsbase; + + long mc_spare[3]; } mcontext_t; #endif /* __amd64__ */ From nobody Thu Jun 12 18:03:02 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P31j9nz5yBNv; Thu, 12 Jun 2025 18:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJ9P26ZqCz4Pf0; Thu, 12 Jun 2025 18:03:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6VKaY/ZxGlB7RHiK4BFZB+Nu5GuUpnghd5kK7dEo8c=; b=KOtDKwyY25ock7XojC2d1nuIueW0r/4t5zYsXPmt16qrJeIe326FpPglYrlopJo88J3IJu dOxV0fCGMqbXlnvs+8Cq8IHK4hgHcuGJtsT3mvMuBXH4RU30g0RWvfPBX3WlsZ/xpN3oI3 TDX5ea7wFDimGAlUz94p2af3pk7+lCAQVIITSZzNY7TDehn+05OQ5wAiZCWBVczmx4aAm5 L/Tr6XFJ+NKk8u7mfYJZNXY0KPe14t8DTzBYjL9kNxP5dAsrdFtF2ugRjIsB5IZdisBaTB yXe4xj44dz/1mN1t9UWyTlJ9ioOIfDP6NBedJzhZW1lhKLyg9yZi+um3rTArmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6VKaY/ZxGlB7RHiK4BFZB+Nu5GuUpnghd5kK7dEo8c=; b=VzBhmTiGRCndHYaRR8z2vtkBFgw0z+maK1g9b5aW5E9IlokhrzROEcG0In6W1BzrHYbDQO 8mo1v/wXL6XzsziG/rSaWGcfMGsJNVitX9eAgeZiHMV45Oz2xg9XA7boJsdekMX07+k8KS FmG37nQak6ORfzLmRnxS0BQyZhFu2Wv5S/yN8YvGD88qD25914JMqaNur8nWrtY31KseOV wZjLD71b/6B3zLVKW+aZCFnpKUTxp313pfxnh4qHX0mBe16Nl3/1OLBZcHrf94edHddOwL 2pMlhq02uysfwE4ZEPz/bNAcVMMxk/FEJQ8imDUP2UNv7jkvgzKVgxx1ZsWiyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751382; a=rsa-sha256; cv=none; b=DTPfR2FXOxHqI0BsXC8XfkwBg8wiXteft4/WeHNXWiVjJO1yIb3wzkjzd3DRsEJtVBFVFC EcCb/rn96yz201OkO8lwf0Q0NyTwmPJ21UgVv+DwFsMjCbBJIOV8vBhM4cggF0mplBFeSi usfKCT23C5p4O7SEIPqhw0v/fFq4HCpGrjyxL59d+Ty2wat9YJsjQ2UVhzaexF5YYMTTrZ CBXRnIl8eX82Q+mnjtxruJPDnYsE59W0b4vJBvrog9/TUJ4llRHmNBLSISWRO5DNgvpRqh 90MuQApbUTKpPDtboietjpIAiUQzRNdxQu3v9zZ/R38zWzspiDNLr5WqYBmH5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P25vw3z7WX; Thu, 12 Jun 2025 18:03: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 55CI3283067158; Thu, 12 Jun 2025 18:03:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI328j067155; Thu, 12 Jun 2025 18:03:02 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:02 GMT Message-Id: <202506121803.55CI328j067155@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 9bac318a7d7a - stable/14 - amd64: add amd64_set_tlsbase(3) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9bac318a7d7ad52a0acdf53b28935f749f8c1283 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9bac318a7d7ad52a0acdf53b28935f749f8c1283 commit 9bac318a7d7ad52a0acdf53b28935f749f8c1283 Author: Konstantin Belousov AuthorDate: 2025-05-22 04:32:03 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:50 +0000 amd64: add amd64_set_tlsbase(3) (cherry picked from commit 2e7cf772a4114b78eb0ab2687d91d563de89e206) --- lib/libc/amd64/Symbol.map | 4 +++ lib/libc/amd64/sys/Makefile.inc | 3 +- lib/libc/amd64/sys/amd64_set_tlsbase.c | 55 ++++++++++++++++++++++++++++++++++ sys/x86/include/sysarch.h | 1 + 4 files changed, 62 insertions(+), 1 deletion(-) diff --git a/lib/libc/amd64/Symbol.map b/lib/libc/amd64/Symbol.map index aa2744b15a74..4286d71e908c 100644 --- a/lib/libc/amd64/Symbol.map +++ b/lib/libc/amd64/Symbol.map @@ -29,6 +29,10 @@ FBSD_1.6 { x86_pkru_unprotect_range; }; +FBSD_1.8 { + amd64_set_tlsbase; +}; + /* * * FreeBSD private ABI diff --git a/lib/libc/amd64/sys/Makefile.inc b/lib/libc/amd64/sys/Makefile.inc index d4a767c90a5f..49579788e740 100644 --- a/lib/libc/amd64/sys/Makefile.inc +++ b/lib/libc/amd64/sys/Makefile.inc @@ -2,6 +2,7 @@ SRCS+= \ amd64_get_fsbase.c \ amd64_get_gsbase.c \ amd64_set_fsbase.c \ - amd64_set_gsbase.c + amd64_set_gsbase.c \ + amd64_set_tlsbase.c MDASM= vfork.S cerror.S getcontext.S diff --git a/lib/libc/amd64/sys/amd64_set_tlsbase.c b/lib/libc/amd64/sys/amd64_set_tlsbase.c new file mode 100644 index 000000000000..292c3a2a8bf4 --- /dev/null +++ b/lib/libc/amd64/sys/amd64_set_tlsbase.c @@ -0,0 +1,55 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 The FreeBSD Foundation + * All rights reserved. + * + * 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. + */ + +#define _WANT_P_OSREL +#include +#include +#include +#include +#include +#include "libc_private.h" + +static int +amd64_set_tlsbase_syscall(void *addr) +{ + return (sysarch(AMD64_SET_TLSBASE, &addr)); +} + +DEFINE_UIFUNC(, int, amd64_set_tlsbase, (void *)) +{ + int osrel; + + osrel = __getosreldate(); + if (osrel >= P_OSREL_TLSBASE || + (P_OSREL_MAJOR(osrel) == 14 && osrel >= 1403502)) + return (amd64_set_tlsbase_syscall); + return (amd64_set_fsbase); +} diff --git a/sys/x86/include/sysarch.h b/sys/x86/include/sysarch.h index 61f559f4bd23..a67e5c2265a3 100644 --- a/sys/x86/include/sysarch.h +++ b/sys/x86/include/sysarch.h @@ -142,6 +142,7 @@ int amd64_get_fsbase(void **); int amd64_get_gsbase(void **); int amd64_set_fsbase(void *); int amd64_set_gsbase(void *); +int amd64_set_tlsbase(void *); int x86_pkru_get_perm(unsigned int keyidx, int *access, int *modify); int x86_pkru_set_perm(unsigned int keyidx, int access, int modify); int x86_pkru_protect_range(void *addr, unsigned long len, unsigned int keyidx, From nobody Thu Jun 12 18:03:01 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P20nkjz5y9rH; Thu, 12 Jun 2025 18:03: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 4bJ9P15ftTz4PkM; Thu, 12 Jun 2025 18:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HmxTNTGHlIMnbZPz0lVZQ2Xra6wWJLZLw8XqBdXdQ08=; b=A3OneyB4bfnbu2hFE9lLb+a0dYQLgG6Jswv0j3Ke9DLZQ9I1TXvvFKEwZ68AiSxYSw74kd qjYtsXiUPVheLv4xOx71Q3lOpGOkOuNJVswc6785JM74Gy6B/jat040iNMnrKnLoaBSFyg FzM6eebDlinf3gh9glrtg/8xFeagb13e5HscF0/TtXRqoNnHHEw1ddpW2duez8odD8LPFO xqNXhdKqvtRzHGEStA+i98wfVUM1mH2o8s5sAD68t+jxLGV9I4misP5Lzt/LrW1Ozv22ql z72CIcZMmld7+FnoxcShuuMwSPI8rC1PozsupEJYTHqkMABCFL5aKjs9/ybNvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HmxTNTGHlIMnbZPz0lVZQ2Xra6wWJLZLw8XqBdXdQ08=; b=EF5G8ew3cHKSY7ffJLEoYoBm/wpOvq5DJ86PZZEm/z/E/RZPkiADw020wqy13HirZpfyEB oqf5v/3PcCgBVvVMhbWyKYfgph/0M+cVx6GaXFX+dn5M5nTYnNpRdbawYzabyH/f7qPhOC P1m/u4cA36m+cbDN42JclCmzY2p8imN3uuAMdv1+Mw+p6nwl73DiWrFFI3DPVAL4MxAYdG xotAgq6SYiuzRo3c2RfdfcXRItVL6m5vnn9O7juSaPi6CbcQzzmK5tXqvVrMo6WfWHkXJe NMik25GHxZTPFNhm0yyhfrFYFSRA3imn1+PlC2MICp8QiJ1Wa1XvstBp9zJojw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751381; a=rsa-sha256; cv=none; b=xmDMSqO0Ky5E8e1f9i9UAzOliaY1pQAiLO0SK2Q9E9yuZ2771+DD5MUlMk41v/yrmz6AtB px9a8qooiFeQCjs5qRrWU3tZu1/FOrVr4VXi6AH4rFQF6mIvYrG69kuQpFg7e7/jonN8YM iYAHI847rHapDFy9x2xXC/+n8+MYe8lcb1ROIqcZ0R/SaP1PRBGUltqJGxGaPXFcBWpwn7 kU2hoP822Jwag/+oxe2fy+elky5yIZ4cdnAc14BbpjzwctctEFNtX0UBeNPN0B9GfDxZpH XFsAIvP5Cw93CUGxY1Ka6vNZga2r/1M/ZpIZjPYcs5DtqR13MEyE6/xeh5u0jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P150tWz7XR; Thu, 12 Jun 2025 18:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55CI31K1067115; Thu, 12 Jun 2025 18:03:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI31Wr067112; Thu, 12 Jun 2025 18:03:01 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:01 GMT Message-Id: <202506121803.55CI31Wr067112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 4937026659c6 - stable/14 - amd64: add ptrace PT_{GET,SET}TLSBASE requests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4937026659c6b2bfad27ad5392c439048fc03b76 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4937026659c6b2bfad27ad5392c439048fc03b76 commit 4937026659c6b2bfad27ad5392c439048fc03b76 Author: Konstantin Belousov AuthorDate: 2025-05-22 06:56:24 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:50 +0000 amd64: add ptrace PT_{GET,SET}TLSBASE requests (cherry picked from commit 7171e591a4c70eb4ee616e33373fd62773ad5a08) --- sys/amd64/amd64/ptrace_machdep.c | 21 +++++++++++++++++++++ sys/x86/include/ptrace.h | 2 ++ 2 files changed, 23 insertions(+) diff --git a/sys/amd64/amd64/ptrace_machdep.c b/sys/amd64/amd64/ptrace_machdep.c index 3fce9826b882..0159c6de49d9 100644 --- a/sys/amd64/amd64/ptrace_machdep.c +++ b/sys/amd64/amd64/ptrace_machdep.c @@ -373,6 +373,27 @@ cpu_ptrace(struct thread *td, int req, void *addr, int data) cpu_ptrace_setbase(td, req, rv); break; + case PT_GETTLSBASE: + pcb = td->td_pcb; + if ((pcb->pcb_flags & PCB_TLSBASE) != 0) + error = copyout(&pcb->pcb_tlsbase, addr, sizeof(*r)); + else + error = ESRCH; + break; + + case PT_SETTLSBASE: + pcb = td->td_pcb; + error = copyin(addr, &rv, sizeof(rv)); + if (error != 0) + break; + if (rv >= td->td_proc->p_sysent->sv_maxuser) { + error = EINVAL; + break; + } + pcb->pcb_tlsbase = rv; + set_pcb_flags(pcb, PCB_TLSBASE); + break; + default: error = EINVAL; break; diff --git a/sys/x86/include/ptrace.h b/sys/x86/include/ptrace.h index 36ce8870df35..0d5b57234523 100644 --- a/sys/x86/include/ptrace.h +++ b/sys/x86/include/ptrace.h @@ -56,6 +56,8 @@ #define PT_SETFSBASE (PT_FIRSTMACH + 8) #define PT_GETGSBASE (PT_FIRSTMACH + 9) #define PT_SETGSBASE (PT_FIRSTMACH + 10) +#define PT_GETTLSBASE (PT_FIRSTMACH + 11) +#define PT_SETTLSBASE (PT_FIRSTMACH + 12) /* Argument structure for PT_GETXSTATE_INFO. */ struct ptrace_xstate_info { From nobody Thu Jun 12 18:03:03 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P447sqz5y9wv; Thu, 12 Jun 2025 18:03: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 4bJ9P40QfNz4Pyf; Thu, 12 Jun 2025 18:03:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GKl0544UDATG3EcYfZZuoc4fvq3NBDXk+x2suGuZYkw=; b=MZm0nzyl/ckwl/hKBCzQZRTBueyZCfrFjdioNdua5cBVW/SRamJqRsPqAC8T/vowNB46Zg 6RMVCwSpUH7OKUvE8aivAGrwznm51XMIOSYPKsmNeNuIxFTHiHsuIpBDgJLn2Du0Miv9W1 rvTfMbVIGO9enCjNUg8byHR7IGzZWI5xmbg9JdjDlrSpPRoBH203wCAiFWQtEctkWlzp4y unUfT36vhOETC+gwI730ID9/wKMp73VWZc+PilcsavMof1bf23dP8hLTieULYmXJdk8LbU iGQV1jacvbYCb0kbY0yVrc+hnFL6PtUz0wu4HDpaQUk8+rqmy0L4D286nGohEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GKl0544UDATG3EcYfZZuoc4fvq3NBDXk+x2suGuZYkw=; b=nyjl13vQT3Z6wYCY9mIU9RczssiZgJm5JnPWwbmBvCvkIoHilyFAppnxNDddDNzxFkVbH+ KUkv4/AoTzAWD+OdjsvtWF8P6eFC3GMbzJUQJqOX9BaFtiZ6klRmelq/pHgJug+sE0wfIJ N9JkdWzN9ZnhdYAz8yxJ/ACxJWZgmalYKxOSo999TdIEpa6y1qj+Cv43hI2gKGLRWavi/g qXmzhqAEaqsgYOiOrirNjo1Qe5AmQnu5ww0ShVvBgFOqaOljhzOcpNttMXzMZtcpQ2d0ho n6TbttI5nCFrQ5Kd9/ps0tD1oMhhRzlgj8ImMPLFybdR9kjSkiWzNxnCI5KHpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751384; a=rsa-sha256; cv=none; b=Ahze1GAKp2A6OiFdt3fw7IgQDwdbXfXn2vUMnkh8/r/m2yw1v4S7wUU94byhMNYMOhiEAw lpTJKtFh9ceY4d1LoY9CRkHpNlU4mkmo2XSJ3vMlccSLTycN4sbVa2I2lDVx/GygvOszdQ 1YnOnWmaaztxPLDdCDycoTsmun8XbqePjl78/iLea4STpKm0eKYWahSXfQJAnlDb/iRy6p yPUkZ+HBZZ9OcA48q8YkjCyRKLUt/Y6LOqAacOvFkqq3J8sdG/zOy0RBx7HHaHkzs/uzF8 OiPR4scPvvKiJhhfWZe9gnjX5mN6xkiF1g9A8n1HGgb7AhfspZp3W5WpyVS7gQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P36rtSz7X9; Thu, 12 Jun 2025 18:03: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 55CI33NV067194; Thu, 12 Jun 2025 18:03:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI33Tf067191; Thu, 12 Jun 2025 18:03:03 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:03 GMT Message-Id: <202506121803.55CI33Tf067191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 883596411327 - stable/14 - amd64: switch to amd64_set_tlsbase to set tls base List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 88359641132766cc0a8eed283a7a704595c7c119 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=88359641132766cc0a8eed283a7a704595c7c119 commit 88359641132766cc0a8eed283a7a704595c7c119 Author: Konstantin Belousov AuthorDate: 2025-05-22 04:32:25 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:50 +0000 amd64: switch to amd64_set_tlsbase to set tls base (cherry picked from commit aef025fc9b6c8b06677086a93c866ee09622f6fa) --- libexec/rtld-elf/amd64/reloc.c | 6 ++++-- sys/x86/include/tls.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libexec/rtld-elf/amd64/reloc.c b/libexec/rtld-elf/amd64/reloc.c index 7e7f01a5d186..74693d35ba1d 100644 --- a/libexec/rtld-elf/amd64/reloc.c +++ b/libexec/rtld-elf/amd64/reloc.c @@ -530,10 +530,12 @@ allocate_initial_tls(Obj_Entry *objs) addr = allocate_tls(objs, 0, TLS_TCB_SIZE, TLS_TCB_ALIGN); /* - * This does not use _tcb_set() as it calls amd64_set_fsbase() + * This does not use _tcb_set() as it calls amd64_set_tlsbase() * which is an ifunc and rtld must not use ifuncs. */ - if (__getosreldate() >= P_OSREL_WRFSBASE && + if (__getosreldate() >= P_OSREL_TLSBASE) + sysarch(AMD64_SET_TLSBASE, &addr); + else if (__getosreldate() >= P_OSREL_WRFSBASE && (cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0) wrfsbase((uintptr_t)addr); else diff --git a/sys/x86/include/tls.h b/sys/x86/include/tls.h index 4b6b58b4a5e3..b431c336122c 100644 --- a/sys/x86/include/tls.h +++ b/sys/x86/include/tls.h @@ -59,7 +59,7 @@ static __inline void _tcb_set(struct tcb *tcb) { #ifdef __amd64__ - amd64_set_fsbase(tcb); + amd64_set_tlsbase(tcb); #else i386_set_gsbase(tcb); #endif From nobody Thu Jun 12 18:03:04 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P56tPSz5yBDM; Thu, 12 Jun 2025 18:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJ9P519Mtz4PfW; Thu, 12 Jun 2025 18:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xdfO2OkXWWL8JQ9Wo5An4fRpZ1P7TWGKMWEt6oWLMC8=; b=qvy2KXCVlsCAQ4DgDAlFW2Ib8kxZ6TgBoK2xnmrXVOl8iT9EewAb4abTqEmw/FX60KGL1Z hIXs42ziTL20ObuUadn23ftCcpx0VaD1XyGhfT/gSbXlifRZ2j7aV3JhfDRC0ojCiwwucc hSqrZqI6+IqgL9p+XETHTmLCezN7KZ0g+HxlfP4YDmalnfRGJojyFUQ8n2PJ467WmKJ0Pq QQ81uony7JY2QDT5V+eXq8y5KJqjkg0hBxkSYM1SlbIDYyRqLqV3r8L8fYgFAIv+UWDNn2 or4z/fez31B/mVwIaCCmJtt4h+y6KC3ZdokztYr4YFUsEzGiNSg/FiEwTl5WtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xdfO2OkXWWL8JQ9Wo5An4fRpZ1P7TWGKMWEt6oWLMC8=; b=WDAlS/vIDsjPn2N3VXZCA5ppPN8bsWQgaiANoyB/RpQwQpEBZC3lvQ99u2r9OvYNL39uau q0tzxGQ9h0dWQZ4WBzRGuqbPz6p0ho29rSVIK6VhSes0RnX44Huq2h/C+wtYwtiEe+7IEC 2EHm+0hnUoWQhxkeNS0EbhQ0Vr9gGlL3jPAx4ZbuFkhbx1Ay5MzubJH7sNDSlpF8eOXamf vMhvqN0nsJMCeK7IGUK7ZzBwJB7oC+2jRfWmXHwkT8svnf8LseN05fZ7iu5ojFhCTzyFHV ZkkQSDZkamQBa6J2rUFVQLlXYuU2Xp4sBaHO+l7QI3Vy/JHGJ8wZNLHjjDSUJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751385; a=rsa-sha256; cv=none; b=h1q4qxCO/nDJhru7uzWFaoaXlTL9v+qVMQi2zC3Hz/uB+G8/chBJlaTQ7Anc/2XdeW3vqM xg85GC4xPNsZw0h3gj6gAxchIjFjCy0uLufr7GSEhwU2QAN4esCe0qyrVjuEoI7UUTDGib OJhFbrAHgXaaAnOagHSF7Tg9neK+psnc4ACF97+d5vOxwehL+VYwX7c7Txik97M2EelV+C /Rpl1Es8vBYWv6xFeuXTWjGT/coB+0z7RfobkL/JZwsG0S6MIIc6RIBUJuu5oxe+HUp04N RrB5hQXvZJvbtH03yHzCtJJUv9jMke1L1mZpUIZ0nS0prrF6F5etkYowNqsH3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P50hqbz7XB; Thu, 12 Jun 2025 18:03: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 55CI34KE067227; Thu, 12 Jun 2025 18:03:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI34gQ067224; Thu, 12 Jun 2025 18:03:04 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:04 GMT Message-Id: <202506121803.55CI34gQ067224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 011c1f2f06bb - stable/14 - amd64: revert unintended changes in ia32_exception.S List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 011c1f2f06bb434aa6e8064158f5c17fd8bb2139 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=011c1f2f06bb434aa6e8064158f5c17fd8bb2139 commit 011c1f2f06bb434aa6e8064158f5c17fd8bb2139 Author: Konstantin Belousov AuthorDate: 2025-05-28 11:58:48 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:50 +0000 amd64: revert unintended changes in ia32_exception.S (cherry picked from commit 71186b6eaa070dda5229af374b584e5f65ce5fb3) --- sys/amd64/ia32/ia32_exception.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/amd64/ia32/ia32_exception.S b/sys/amd64/ia32/ia32_exception.S index ef1a2c59a0af..42d0ff6c638b 100644 --- a/sys/amd64/ia32/ia32_exception.S +++ b/sys/amd64/ia32/ia32_exception.S @@ -54,10 +54,10 @@ int0x80_syscall_common: movq %rax,TF_RAX(%rsp) movq %rdx,TF_RDX(%rsp) movq %rcx,TF_RCX(%rsp) - movq %r15,TF_R15(%rsp) call handle_ibrs_entry sti movq %rsi,TF_RSI(%rsp) + movq %r8,TF_R8(%rsp) movq %r9,TF_R9(%rsp) movq %rbx,TF_RBX(%rsp) movq %rbp,TF_RBP(%rsp) @@ -66,6 +66,7 @@ int0x80_syscall_common: movq %r12,TF_R12(%rsp) movq %r13,TF_R13(%rsp) movq %r14,TF_R14(%rsp) + movq %r15,TF_R15(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) pushfq andq $~(PSL_D | PSL_AC),(%rsp) From nobody Thu Jun 12 18:03:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P76L5zz5yBKR; Thu, 12 Jun 2025 18:03: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 4bJ9P73VTLz4PtS; Thu, 12 Jun 2025 18:03:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KnEkQmTlJHdJo6N6m0Hjeajo/Ii3LsO34CJWsZLKo6Y=; b=hwcpW7kwnIAYf6/sBg/lEAx12vlU7kOfO2uurZlDNTyQ30slBOvuDjhr9mR02B6TAjBWbY kKi10UGqtmZtTs/Vu7T84OVtxA4+0UVVAEnpx6AO1eon4CfGsaNJK1ripoxQyEq2bXCIy7 lSQj9w6ZkEfam7tYUWArDmhHPXw+XUVWKEZ0a0Knrak8etmUG/XIPjWv1KiBo9NtW0jw7G lItEtCPN9o60iKx6aqli0c5G7nl3on38TTIsbXZXdxIEoxXUliGFrRVDtHmH6SwU4ltI8l aId000N7VGkPdVgJ9KJyFX/oVPnhZlFWRptfNNPGcxAVSisUSThJZRsd/PxDcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KnEkQmTlJHdJo6N6m0Hjeajo/Ii3LsO34CJWsZLKo6Y=; b=gJNMuQAHlIBqlsP+caNxyfl8h3M1AIZTGflud+7Sdti8NyGWQ7OI9eODUA2wEiW4ddyUVt pRzyu02ntTc4KPXbkAu4HfXy+hKLDx/+ODdSN0sjOVdaNg84IlQFgwcM2VRxB+Xax85NeF o6dpfMoU4So74EkZq5cp6PPdv0lpL1hHkIUH7SdpniXA0WMCtK1r0JurkeLGrjHMqzF4B+ Yy1gPmjBt7tYIkj0mwGmUsbLWzflu1nu5O6bxGDcF+xHHpBadpDyJT4p7AJ11Xdz980XGu w30dHJqRMGYbqs723Jo6kWuaFscNHE6UeWHAng8cFdYueZFm7e43TYeiqJJVUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751387; a=rsa-sha256; cv=none; b=lRCInV3FDu4KOr6KdFkKp8I9Qu9FAjkQGA7yz1hYAX/pbJxm/qMzBNx/qFWzAxcmZh4Qq7 JW5HOespvVUOX8ZZEFI3mCeZ3XTUSABwirH42BunkkvjBrGa2OMQ0KqnqUoWXJYsgptHiY avUrWp3FJSZcOLZexAH60v7O8YDY4C42CCMyqQqrfPLALaEvgWRO5EzMRxB0pJdoyo+kvA Gi1NUkpzSLV+tP17mpsRNF5A237jPoIu14ap7oCs3+AxMiFoP952C1zXEfV6zMuNqa8v5z g4YL9xG4g4QIiIowjHgQwf2KMK2172grQeDHaZBVidpAQOFtYzJZ4EC1AVX0qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P72hSQz7XC; Thu, 12 Jun 2025 18:03: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 55CI37he067293; Thu, 12 Jun 2025 18:03:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI37df067290; Thu, 12 Jun 2025 18:03:07 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:07 GMT Message-Id: <202506121803.55CI37df067290@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 94285af19eae - stable/14 - cpu_machdep.9: update documentation for cpu_set_user_tls() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94285af19eaef053de3b6d77d2a4f30c6a07618c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=94285af19eaef053de3b6d77d2a4f30c6a07618c commit 94285af19eaef053de3b6d77d2a4f30c6a07618c Author: Konstantin Belousov AuthorDate: 2025-05-30 18:28:22 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:51 +0000 cpu_machdep.9: update documentation for cpu_set_user_tls() (cherry picked from commit 461afb106107f38b4af23f42f5f99470ceef0877) --- share/man/man9/cpu_machdep.9 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/share/man/man9/cpu_machdep.9 b/share/man/man9/cpu_machdep.9 index 9ab42807eac1..5fcd7b26875b 100644 --- a/share/man/man9/cpu_machdep.9 +++ b/share/man/man9/cpu_machdep.9 @@ -69,7 +69,7 @@ .Fa "struct thread *td" "void (*entry)(void *)" "void *arg" "stack_t *stack" .Fc .Ft int -.Fn cpu_set_user_tls "struct thread *td" "void *tls_base" +.Fn cpu_set_user_tls "struct thread *td" "void *tls_base" "int thr_flags" .Ft void .Fn cpu_switch "struct thread *old" "struct thread *new" "struct mtx *mtx" .Ft void @@ -182,6 +182,15 @@ as the sole argument using the user stack described in sets a new thread's initial user thread pointer register to reference the user TLS base pointer .Fa tls_base . +The +.Fa thr_flags +argument provides flags bits, from the same namespace as +.Va flags +member of the +.Vt struct thr_param +argument to the +.Xr thr_new 2 +syscall. .Pp .Fn cpu_fetch_syscall_args fetches the current system call arguments for the native FreeBSD ABI from the From nobody Thu Jun 12 18:03:08 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P90pjJz5yBDS; Thu, 12 Jun 2025 18:03: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 4bJ9P83ysgz4Pnq; Thu, 12 Jun 2025 18:03:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751388; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aWmKhu5d1m2Ps/RhS+akexOXs3G5Ny6Ixi2vhtkzNwA=; b=bnWhy9B33mtBQ7cm3eu9m8bSNELG7p1hu3p0DR3oYejYvNrzcgsy4dgVoCXFmdOCLfs0Ip uygsfFqzBDxmCFX6yX84jrA40qxQI7AXHIozVRcGBe8rBs4NlwUi0KMnHjBeUTTScyae9M 1RrjTf3rpW9JADHDolgZjoCfxGlH/CWdZithg93oCZvmIqjbqHDssZgVElOUAeUjCFbWKx YADIWclUCEvsdvRIyzQSqbeNRRhtbBVOmeyqysUyrYJ6dRc8ctsILra4tWHCbx2L/gFOhp yA6NMKPJiOoq+6uVaGiQR2l1LOkb55a0SJCUAqJZO6bFPlscybvEmsmGM20euw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751388; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aWmKhu5d1m2Ps/RhS+akexOXs3G5Ny6Ixi2vhtkzNwA=; b=hHslOFjf7MYdDtk9mFefUTe/jFM+3ty+OMr6mpnz9iU9a/2RGdYFJGgDmSZsF2jUMCDtYa bsZqFJIu64+2ih7Q/dtS5T6AxBew68MFb3W9ZtZRJ+8Jm33sMdw9Ix9gCd+9soA/o8oPkN ksw+h3eJSJvu14AGKesdw7XpcvvdPa/zpTqfUFs8S+YQGcBslV7KE5/97zAHpVj7HqXinN H7SnZJJVRlq35UcuV6V1vkJQO8UOJYgiY6z3IpSo1BI8D3ZskTCQxnh8aNYt1IoB7S+Pzl sUsoV4VdByrsvu0XzwAmRn1ZcvxCrxdXH/l1BRmk8X+2KFDU0S3aEH5JsVooCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751388; a=rsa-sha256; cv=none; b=cGJ1agJTVJpElZKywmw8mMA6+rDFQ24y/JAbOmGimkVgvwUKoy7TKfWbCMpem03h/809r4 3//3X3UBihqgPwCOTLdzLjz/0Z5kWzuTQMFF8Z0OjDdUhRk8EMwLaxmfPYeihbIkWIHBbA n7CobyGlVHUzwYWoIJHMHfoFjr3wsYqUAs0b6ueUSuuOkAJY3hC4zsK7zO7+FFTS6qAg0k qSQ3ooleMWovFEeLAvAe8nuUwZx2l/L3wvEgMUnyEXwSdkbnpM68eHqif0gArEHgbpa9o7 43ZRlYa153DgSJHg4CVHbToprvQEJUSfUHsoH4pfOCVwuYr4lp8dG35DKqtJ1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P83Tv2z7Yv; Thu, 12 Jun 2025 18:03: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 55CI38AR067329; Thu, 12 Jun 2025 18:03:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI388V067326; Thu, 12 Jun 2025 18:03:08 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:08 GMT Message-Id: <202506121803.55CI388V067326@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: ebf989f4010b - stable/14 - thr_new: add a flag indicating that the thread is created by C runtime List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ebf989f4010b537ee55e8e4680594511c73f06d8 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ebf989f4010b537ee55e8e4680594511c73f06d8 commit ebf989f4010b537ee55e8e4680594511c73f06d8 Author: Konstantin Belousov AuthorDate: 2025-05-30 11:25:17 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:51 +0000 thr_new: add a flag indicating that the thread is created by C runtime (cherry picked from commit 89ca5cddec22f5676e9f9a91c2adfdbc574c78ca) --- lib/libthr/thread/thr_create.c | 2 +- sys/sys/thr.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libthr/thread/thr_create.c b/lib/libthr/thread/thr_create.c index 2ae7cf0cd7b2..84bbd36ed28d 100644 --- a/lib/libthr/thread/thr_create.c +++ b/lib/libthr/thread/thr_create.c @@ -160,7 +160,7 @@ _pthread_create(pthread_t * __restrict thread, param.tls_size = sizeof(struct tcb); param.child_tid = &new_thread->tid; param.parent_tid = &new_thread->tid; - param.flags = 0; + param.flags = THR_C_RUNTIME; if (new_thread->attr.flags & PTHREAD_SCOPE_SYSTEM) param.flags |= THR_SYSTEM_SCOPE; if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED) diff --git a/sys/sys/thr.h b/sys/sys/thr.h index 5e83ec208f07..54766668c929 100644 --- a/sys/sys/thr.h +++ b/sys/sys/thr.h @@ -43,6 +43,7 @@ typedef __size_t size_t; #define THR_SUSPENDED 0x0001 /* Create the system scope thread. */ #define THR_SYSTEM_SCOPE 0x0002 +#define THR_C_RUNTIME 0x0004 struct thr_param { void (*start_func)(void *); /* thread entry function. */ From nobody Thu Jun 12 18:03:06 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9P71nxNz5yBRV; Thu, 12 Jun 2025 18:03: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 4bJ9P62BvFz4Pr1; Thu, 12 Jun 2025 18:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IDGU7E1BKEqC9WJklt6+9p/GcD+N44rRWM8mLAfQ8fY=; b=odA0WaqUivhUdkR4k/ao8je2/jwNpLrRN4pTW/VOym9Vob1nBTCL8ox5RWf05UNvN6phGc cphKQueLgP3QbX5emeHxC+AilKg/LXnoG2K5qydQFZPZmsx8QaDC5h9WazV1/tpm1A+5yh RnEJ7XNMEEj9UwhIL9IQj2Uv0xzxLHsZTStfJekraFVhHCMOJUhntFVjFDSWwwAA69affL KbAStQasbuOmJFUXdzkSMucJO6gorMbhAAwuY3FGRFjlaFG1Y4GKNaH/yiz3xQ745ypXn7 2GHZzJUIHkNu2zfNCs40ov8d3SuT4prPOIq/S4A7ps7A+2Qa+ihUKKZT3OhCUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IDGU7E1BKEqC9WJklt6+9p/GcD+N44rRWM8mLAfQ8fY=; b=mX8lgKbo3xU5kP9sfzUGbtCWmS+1N3sBHk4hAP21GhyulDW9MdIgg6bE1MV8FQpTuVRJsk 8MrNsGkoqcHrhhhJfEbmjjJaS4KOXDbsaeYscnkq/Gr1PCwUZ5X+GKdyJ3nkaToMZpg4ao fzC7idieUZMW5Xe4M3tx1lAaHVoHAFy3DkQzucsuMx5l2UXBpEOZxwP2VD+5w05JnRJxz8 8VezRamJEHcvboOcwPj+9cvuif/2c06WKfECcMeB7P0OZjdNz1HiU8HFTVo6p5D+SUVqro RAwKoPgYNDOvNLrSWeUMgvJ0LuLP7QxAYJrW5HFFMacaOFA4HZttRcn9Qdh8kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751386; a=rsa-sha256; cv=none; b=NqJlj5M8G4D6AiG2mJ8QGLtxgWmJdxDDKLOKOiRips6/fqDMTBnWb23qmVk+dE7is3DWcw aqFzIb/Uu99biwJRRizrPQ9ycNy+iw6NsdcILJw1Yy167s3ADIpHeVFtnRXZuwVVBK0a4m d7Jy+OGa1zG8j2Eld7rQaXERd6rJkxUBSTaPSjhw+Nn4G4j9AK0QQtysJ+IKuAE6G4wBhy flY6fwA7dXJeoNcjs2MG+mrji7ik2bsxJE/VnnnKcMs0YbkskvpBrVkFyZzGWK8r1uTHnd 1edTtZ1BsA53OpXjM7DvMDNEQntruEPNKwFA468gc9R6G/CTw+8P3eUqzyIoFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P61j0Qz7XS; Thu, 12 Jun 2025 18:03: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 55CI36do067260; Thu, 12 Jun 2025 18:03:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI36lC067257; Thu, 12 Jun 2025 18:03:06 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:06 GMT Message-Id: <202506121803.55CI36lC067257@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f89a24766cb8 - stable/14 - thr_new: pass params.flags to cpu_set_user_tls() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f89a24766cb811dba1aa74a65f70df72bc1fe00a Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f89a24766cb811dba1aa74a65f70df72bc1fe00a commit f89a24766cb811dba1aa74a65f70df72bc1fe00a Author: Konstantin Belousov AuthorDate: 2025-05-30 11:24:12 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:50 +0000 thr_new: pass params.flags to cpu_set_user_tls() (cherry picked from commit 2b8b37c8f516a5955f81a6fc35c7aac01ddf4a3a) --- sys/amd64/amd64/vm_machdep.c | 2 +- sys/arm/arm/vm_machdep.c | 2 +- sys/arm64/arm64/vm_machdep.c | 2 +- sys/arm64/linux/linux_machdep.c | 2 +- sys/i386/i386/vm_machdep.c | 2 +- sys/kern/kern_thr.c | 2 +- sys/powerpc/powerpc/exec_machdep.c | 2 +- sys/riscv/riscv/vm_machdep.c | 2 +- sys/sys/proc.h | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index 8a2705a38c46..e069df9a375f 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -667,7 +667,7 @@ cpu_set_upcall(struct thread *td, void (*entry)(void *), void *arg, } int -cpu_set_user_tls(struct thread *td, void *tls_base) +cpu_set_user_tls(struct thread *td, void *tls_base, int thr_flags) { struct pcb *pcb; diff --git a/sys/arm/arm/vm_machdep.c b/sys/arm/arm/vm_machdep.c index 3fd39d3f7a97..e5018a0bc007 100644 --- a/sys/arm/arm/vm_machdep.c +++ b/sys/arm/arm/vm_machdep.c @@ -243,7 +243,7 @@ cpu_set_upcall(struct thread *td, void (*entry)(void *), void *arg, } int -cpu_set_user_tls(struct thread *td, void *tls_base) +cpu_set_user_tls(struct thread *td, void *tls_base, int thr_flags __unused) { td->td_pcb->pcb_regs.sf_tpidrurw = (register_t)tls_base; diff --git a/sys/arm64/arm64/vm_machdep.c b/sys/arm64/arm64/vm_machdep.c index 40f5e7da8f8c..906179d6f655 100644 --- a/sys/arm64/arm64/vm_machdep.c +++ b/sys/arm64/arm64/vm_machdep.c @@ -229,7 +229,7 @@ cpu_set_upcall(struct thread *td, void (*entry)(void *), void *arg, } int -cpu_set_user_tls(struct thread *td, void *tls_base) +cpu_set_user_tls(struct thread *td, void *tls_base, int thr_flags __unused) { struct pcb *pcb; diff --git a/sys/arm64/linux/linux_machdep.c b/sys/arm64/linux/linux_machdep.c index 3bc2923b9d4d..9f370f04b5c5 100644 --- a/sys/arm64/linux/linux_machdep.c +++ b/sys/arm64/linux/linux_machdep.c @@ -64,7 +64,7 @@ linux_set_cloned_tls(struct thread *td, void *desc) if ((uint64_t)desc >= VM_MAXUSER_ADDRESS) return (EPERM); - return (cpu_set_user_tls(td, desc)); + return (cpu_set_user_tls(td, desc, 0)); } void diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c index d252438dc186..c12afbfd4891 100644 --- a/sys/i386/i386/vm_machdep.c +++ b/sys/i386/i386/vm_machdep.c @@ -513,7 +513,7 @@ cpu_set_upcall(struct thread *td, void (*entry)(void *), void *arg, } int -cpu_set_user_tls(struct thread *td, void *tls_base) +cpu_set_user_tls(struct thread *td, void *tls_base, int thr_flags __unused) { struct segment_descriptor sd; uint32_t base; diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c index 7c6d00692009..1dd4d6915546 100644 --- a/sys/kern/kern_thr.c +++ b/sys/kern/kern_thr.c @@ -173,7 +173,7 @@ thr_new_initthr(struct thread *td, void *thunk) if (error != 0) return (error); /* Setup user TLS address and TLS pointer register. */ - return (cpu_set_user_tls(td, param->tls_base)); + return (cpu_set_user_tls(td, param->tls_base, param->flags)); } int diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index 94e561ddd33a..2e4e0ebfd7ed 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -1091,7 +1091,7 @@ cpu_thread_free(struct thread *td) } int -cpu_set_user_tls(struct thread *td, void *tls_base) +cpu_set_user_tls(struct thread *td, void *tls_base, int thr_flags __unused) { if (SV_PROC_FLAG(td->td_proc, SV_LP64)) diff --git a/sys/riscv/riscv/vm_machdep.c b/sys/riscv/riscv/vm_machdep.c index 043093960edf..26b8c0dffcde 100644 --- a/sys/riscv/riscv/vm_machdep.c +++ b/sys/riscv/riscv/vm_machdep.c @@ -194,7 +194,7 @@ cpu_set_upcall(struct thread *td, void (*entry)(void *), void *arg, } int -cpu_set_user_tls(struct thread *td, void *tls_base) +cpu_set_user_tls(struct thread *td, void *tls_base, int thr_flags __unused) { if ((uintptr_t)tls_base >= VM_MAXUSER_ADDRESS) diff --git a/sys/sys/proc.h b/sys/sys/proc.h index e37f0521861a..4981a5894941 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -1252,7 +1252,7 @@ int cpu_procctl(struct thread *td, int idtype, id_t id, int com, void cpu_set_syscall_retval(struct thread *, int); int cpu_set_upcall(struct thread *, void (*)(void *), void *, stack_t *); -int cpu_set_user_tls(struct thread *, void *tls_base); +int cpu_set_user_tls(struct thread *, void *tls_base, int flags); void cpu_thread_alloc(struct thread *); void cpu_thread_clean(struct thread *); void cpu_thread_exit(struct thread *); From nobody Thu Jun 12 18:03:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9PB3lkHz5y9x0; Thu, 12 Jun 2025 18:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJ9P95KvPz4Pp1; Thu, 12 Jun 2025 18:03:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJ+ZvTUe4QEO8jDjR/0m9TfmkmYhB5/6wz/jY4pO+MY=; b=hlK4iqVb5fMF2Y1/8rMStiDR3cs2uFq9r4kxg4Y+bSKE/ZgXcU/OQoFfbwXgf9+UdRSMZG 7X8dMfbJD9Wh9L4g5rhnnOuptqTh0sWsJGab+pVcI0LollUPbSO/+/Orspqmyw7HWDDXiD df7XCIpiXPvl5Wi6PKigromOk9sDOwFopetfGdkDpLt0r6fOnuvxzlr7N9RUmnow+jCi+d DQ/v8kjrS4Y7qoO5/w1aCG0g54xioHdlCZgdG9Yq4hiCgtxeHtofaaSYugUsGhn5oobz28 lsk4C5b4k8VhuAJJKaQYAUBy8LzfhDzkAVpM++F7oueSjfxWBUxyKnTpoY2fRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJ+ZvTUe4QEO8jDjR/0m9TfmkmYhB5/6wz/jY4pO+MY=; b=Zg/OzU3VCWVP2NXvXeVWxf6sSsqWdSjyqKqmlXQqrzoMPHLJuENHH4c0hDFuwR4wBNbmoH sXtTDbVCzgEIVCWqeHvaqrUTFJppr4+hl+JCqJMFifSKQd7afkNIC1xXJyFuyV29xjZ+SY q4+bXZzzUqhLmyP37XXsp5SO/QuvAIGTKAXHSqTLhCBFQPEvggf3GOY2Iord/gzZeKqJtw SEb4QlMY/KViN4gYWox0K06oQCjh/jt1o6O8K5A6+zjrMscQ46HAhFfMLsq+0soJUzuA/V frIDvmzGpblXV8F4cUi1/b8K5q5cHVCK2tvwIVE05zNV1WO+MAZGckVpybrE7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751389; a=rsa-sha256; cv=none; b=RYHlD2FP+hZd+H25QQ4//kTeKb23SLkRHt+LWnsijWc76vdmmtjU0PLj4IkPrpji9U3nAs JGoBCA8jNgBFUbX2EUg0MbqBPTFvQqY3Runuuwz6cTA6/6riDjMQnBixM/k2YlyapvlEPV QC8bzO+jHoxTc8e/0Z/xTiWK0QKM2FFot56ewxka4v60i7kfqYC1l86ZUfaLtbKLqdj3bH 1u6NgKh0bMQYmJiNLL5NwRae3g2V6NJ/fhL/N0DK9gh0Be9UbwVuXpZ6ZiWpnPBTeQl1LL KikNXj7wuSvcEBSZwoJYXjmRbblKXcRXduhZGWwbPNP4IVtUrAVjy306/0qECw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9P94Y7xz7WY; Thu, 12 Jun 2025 18:03: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 55CI39JQ067364; Thu, 12 Jun 2025 18:03:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI39b4067361; Thu, 12 Jun 2025 18:03:09 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:09 GMT Message-Id: <202506121803.55CI39b4067361@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 29b1c09ab477 - stable/14 - thr_new.2: document THR_C_RUNTIME List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 29b1c09ab4770970f7f6497213c120e7c7a55c1f Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=29b1c09ab4770970f7f6497213c120e7c7a55c1f commit 29b1c09ab4770970f7f6497213c120e7c7a55c1f Author: Konstantin Belousov AuthorDate: 2025-05-30 18:31:57 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:51 +0000 thr_new.2: document THR_C_RUNTIME (cherry picked from commit 6fd3288c39c493c4f252b715e8354e0d27d5ef90) --- lib/libc/sys/thr_new.2 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/libc/sys/thr_new.2 b/lib/libc/sys/thr_new.2 index c0bcc8bbc7c2..a04327723c34 100644 --- a/lib/libc/sys/thr_new.2 +++ b/lib/libc/sys/thr_new.2 @@ -133,6 +133,15 @@ The flag is not currently implemented. .It Dv THR_SYSTEM_SCOPE Create the system scope thread. The flag is not currently implemented. +.It Dv THR_C_RUNTIME +Indicate that the new thread is created by the C language runtime. +It has architecture-specific meaning. +.Pp +On amd64, the flag requests that the specified +.Fa tls_base +was loaded into the +.Va %fsbase +register before calling a signal handler. .El .It Va rtp Real-time scheduling priority for the new thread. From nobody Thu Jun 12 18:03:11 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9PD5QyYz5yBKT; Thu, 12 Jun 2025 18:03: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 4bJ9PD0YcJz4PpQ; Thu, 12 Jun 2025 18:03:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLDgE1lI0c60edeYXorHu8+zYgaiSJtTREa8UAt3GRg=; b=M4N5e/+8Pe8yu2hO5gIv8B0ap7v6OYUiLHGdGD08vh+HlfwgP7u98vJd0Pm1LZ49L/RW4T r5PMEW1rYQVWL+1+WCurwlDKmWk6eY5exf5YtAHUiI31Mvh/IoYUn7wwehbKsc9Ji2OYoo +rQqWHTWbDSexxkhiHytvSGLoHHJAfT47LM9cSnO2WOZfsgpGFa4O1XdYcZ72DJdg9fOUX S+3F6/LqyIUahvCN0ux+F1TOMJR5GlXxowipMIPhErvLLzp6scrOTF5szMQeFWunAZ/kS0 /RAKMB57N+qGtdHa16WJbvpDQetvEpCfHN+lHVQUDiIPfvzipN1mUUZc+D+6Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oLDgE1lI0c60edeYXorHu8+zYgaiSJtTREa8UAt3GRg=; b=MSzKde4GkEWkvQ+LBzpiPSa6fP8MKbcwlGLXYCUaz8PP8XIvtv1uKzLRPiBCSEXELLIfZ0 gnuOizqeohY+YgQ38TY9GGu7TWWFwvEs769zKCLw0LX+uJdqY60HCNRnyQnb6RoDT7jutr m9ASEfH3rmL9LjHFrKlOwU/p5yhI8kk5H1yBG1LkO3VR7Dvvwmyc97IFcm3EF+y+l/aotv N3byl888aDGt0McT4ITKx+NEDtwxJXlJSXpI8L8ZF3M1ei+utZo7n30UT6/bDwAGFCjyvJ 6HqSxxR81IAIcOo7ukAIXCfYEiruEPofWYb31dZVpzUQzBEzDuYza+PXdNwB0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751392; a=rsa-sha256; cv=none; b=SKUb522QZxHdG5BfgIfkhcvQGr7Cn3T04a7dZq6YBJ3mSS69exiF5WztA0k4N2mL1enKKI uBGDG9MfQ0U8nPqbVpsMbntQlleEx2fxp7DTLmeuGhS+ErlSWaJ9ag2SwIfhtOwLFclPFj xNS9PPtGpDAvCW4k7gGhXDmEpWJpSoZSUw/WZd/2N+bPZheiSbsoQnA22p7eXnR5dRgISk dhR02r98+5T+RA1l4AN8YJ7UO5NSn3Jlg1FYLTTo4a1WTkxLwm44Iy2qUsYQsjgX6ZtSy1 0Mn4+H3W3yJqiNwyY+brnYjwyd8zdD4X0rhgx5c7ifeBmNeuohYuORnIPsxDaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9PC6jnfz7Yw; Thu, 12 Jun 2025 18:03: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 55CI3Bm9067430; Thu, 12 Jun 2025 18:03:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI3B8o067427; Thu, 12 Jun 2025 18:03:11 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:11 GMT Message-Id: <202506121803.55CI3B8o067427@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 49e940dbc6ce - stable/14 - amd64: Add AMD64_DISABLE_TLSBASE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 49e940dbc6ce2e9a97798b0662af49a7705cb79a Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=49e940dbc6ce2e9a97798b0662af49a7705cb79a commit 49e940dbc6ce2e9a97798b0662af49a7705cb79a Author: Konstantin Belousov AuthorDate: 2025-05-30 21:58:33 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:51 +0000 amd64: Add AMD64_DISABLE_TLSBASE (cherry picked from commit 3a94bbfdcd09c655031e2a1ae343af6292d97d5d) --- sys/amd64/amd64/sys_machdep.c | 6 ++++++ sys/x86/include/sysarch.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sys/amd64/amd64/sys_machdep.c b/sys/amd64/amd64/sys_machdep.c index 2acf410b9b1b..a7ee1f49887c 100644 --- a/sys/amd64/amd64/sys_machdep.c +++ b/sys/amd64/amd64/sys_machdep.c @@ -210,6 +210,7 @@ sysarch(struct thread *td, struct sysarch_args *uap) case AMD64_CLEAR_PKRU: case AMD64_GET_TLSBASE: case AMD64_SET_TLSBASE: + case AMD64_DISABLE_TLSBASE: break; case I386_SET_IOPERM: @@ -397,6 +398,11 @@ sysarch(struct thread *td, struct sysarch_args *uap) vm_map_unlock_read(map); break; + case AMD64_DISABLE_TLSBASE: + clear_pcb_flags(pcb, PCB_TLSBASE); + update_pcb_bases(pcb); + break; + default: error = EINVAL; break; diff --git a/sys/x86/include/sysarch.h b/sys/x86/include/sysarch.h index a67e5c2265a3..cf7ee9ee5518 100644 --- a/sys/x86/include/sysarch.h +++ b/sys/x86/include/sysarch.h @@ -63,6 +63,7 @@ #define AMD64_CLEAR_PKRU 134 #define AMD64_GET_TLSBASE 135 #define AMD64_SET_TLSBASE 136 +#define AMD64_DISABLE_TLSBASE 137 /* Flags for AMD64_SET_PKRU */ #define AMD64_PKRU_EXCL 0x0001 From nobody Thu Jun 12 18:03:10 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9PC33Tgz5yBDW; Thu, 12 Jun 2025 18:03: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 4bJ9PB61Xfz4Q2T; Thu, 12 Jun 2025 18:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g/Gejhjmi4xEQQKpg1udaMvpz+7ohg1uHgtXIkBy2dM=; b=bbtUd8jrQshkEcrro0zXlqSc1T5S8KMPsdPSKTL6EPsIdkl/imdi4MT3XB05ovTKpogteW 1X62YXu5jvYo6uw5knZpV9ZbYk0EY02cRU/Ob9gd+sBIS2vyQPkIJ0EUywkZ/NvEYWVEXu kkDonqh3QqR8U9yLlnVpImukF5unmEYGoqvc7XDG/nYw26c8XhX6h2Q9VKODhU/xN2mYRP EtObvbhLvXvirexiibBeeXxfGff2/JZgZCPJWZvDSJmCWnSsmmOgJCphd5EiO9KHV0LYug kW77NSelzIAqYEm6YD3I+i+fG5RfIkbFAmpYdF/dNfmmSSuHuhRu31WtB0Xnbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g/Gejhjmi4xEQQKpg1udaMvpz+7ohg1uHgtXIkBy2dM=; b=veV3Eg6VuuRLMGSdQ2yGFqil5FGZXtoml9wybpKtU42qSzhJ0zZs/XExgoREkvKq10DnW7 G6uyNyNFPsBzK7+TScXMI0e8ovC1j7WRhyhZT2DGyVk0Z2qShS/9WQ2iM6xQq/IM6FYSar bce1EVeYyODQSkv2qNCtQFtuKMSPSezhocrLPa/qNxr0wCpUYZ8XTAPqZPGvpDJwzzsQ+f bYcCwisRGkTGGVWgwe+OlFbO2b7nwz13wXQnfr1yCMeR4hQob3VSokt6vaLrDKhhUVBL3m c9yIqTlLsmmzxUMhKaDiy1DQDgVzs74G4v8PMUXX0QgC344k0ZhaK9gda1YBeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751390; a=rsa-sha256; cv=none; b=ATuBcanHooMAhDltJbCcUdWIbm/32H4IS3+vxELxr9JDJPt5nRw0U4EZREyf+n65VnlVz5 sw0m7AfCWXan80f7rm/OoE48VLuksMgZBBZpIGCpWKJ2JWBQo1uvpfo6HtgQsDqCHZZut1 PtgB/osUy3VYB4VHfWwddnupspc1kCvcZxx5A3rMnBb+NqCgwio5NdCtXL2Nu1Sc8ss6G+ vNW6U1etgj5/5bx55mdBKendNXIEU4QOoxUQ2N8kLdZkkfoAwPuHaCndXztEiTSGYYoBUn Zkj5Gx9bLMg2+9Gz5X3VObpYdkjncT23GT9Li9agpHDyMWHMerZYdw+RhmWdTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9PB5bSrz7XT; Thu, 12 Jun 2025 18:03: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 55CI3AaX067398; Thu, 12 Jun 2025 18:03:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI3Avf067395; Thu, 12 Jun 2025 18:03:10 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:10 GMT Message-Id: <202506121803.55CI3Avf067395@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c9c7058c319b - stable/14 - amd64: set PCB_TLSBASE pcb flag only for new C runtime threads List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c9c7058c319beaaef7538833d8d3f464f71885ad Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c9c7058c319beaaef7538833d8d3f464f71885ad commit c9c7058c319beaaef7538833d8d3f464f71885ad Author: Konstantin Belousov AuthorDate: 2025-05-30 11:25:50 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:51 +0000 amd64: set PCB_TLSBASE pcb flag only for new C runtime threads (cherry picked from commit 16ce7f1a3603fce5262cf0656a01c4177c75fa50) --- sys/amd64/amd64/vm_machdep.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index e069df9a375f..1739c2b57afd 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -166,6 +167,7 @@ copy_thread(struct thread *td1, struct thread *td2) MPASS((pcb2->pcb_flags & (PCB_KERNFPU | PCB_KERNFPU_THR)) == 0); bcopy(get_pcb_user_save_td(td1), get_pcb_user_save_pcb(pcb2), cpu_max_ext_state_size); + clear_pcb_flags(pcb2, PCB_TLSBASE); } td2->td_frame = (struct trapframe *)td2->td_md.md_stack_base - 1; @@ -675,7 +677,8 @@ cpu_set_user_tls(struct thread *td, void *tls_base, int thr_flags) return (EINVAL); pcb = td->td_pcb; - set_pcb_flags(pcb, PCB_FULL_IRET | PCB_TLSBASE); + set_pcb_flags(pcb, PCB_FULL_IRET | ((thr_flags & + THR_C_RUNTIME) != 0 ? PCB_TLSBASE : 0)); #ifdef COMPAT_FREEBSD32 if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) { pcb->pcb_gsbase = (register_t)tls_base; From nobody Thu Jun 12 18:03:14 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9PG73vnz5yBMJ; Thu, 12 Jun 2025 18:03: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 4bJ9PG475xz4QJh; Thu, 12 Jun 2025 18:03:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sfcpTqGmh1n6GHqvCmYZ3P1wt7T7nCNi/6Vg5RbJ/yA=; b=bcVgdgZcjlOvv9v2+ftV7dU+HCKtkwCGGRJFzAx8YWKng4ZfNlUfUXbel7YcOwUJonsUSX akrqh6yQ3SUpi5HpBm2k4s+8zFifexvWZHl4i78ZS/RktzU56ID657MS1PWZE1y90tDF59 beNqXFZDBxz3EW4UMDhEjrAlhbCItzkwYeEO7GTeH/PrqnKYaE8ArCvng18f++fQFtl3+K 85SzGERWDGutA+/47tvM5W29eKg81tvi0swy8jP2tduScClmypMLN5AZRIcDWQfq7AZ1nV i/AVkkEXiGO+9JQy8MNKgux2UFC+IImGZa6eXH+V2kTqFvalyg2H8lLElbPHfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sfcpTqGmh1n6GHqvCmYZ3P1wt7T7nCNi/6Vg5RbJ/yA=; b=vVxcjozrPUDqhebPsRHNWMJQE7pP9nJ0pjuM5gVBUMUxbT1+d2AWpxVIjYeIwWUdMl7bdm 6ykBeMEoneJPsnT8JPUGJErq4Lvs+sFC2PMAP+BQjIGI/xELJIfzNj8tP1uzOcLiVHBCmd OYMfa12z5exTu7i31E3cYfdw5HKqUVh8oCRCY2/jz6siChXEtTzPMNgFtGsNBBL2vtmNUs rRB/pnkZv/tPvPORvqHZCqGlgcP3Mz8/Y9QfDaoGeh4EooS/9wmmyhQz6Q746mCyhQv79R DwzZWN8E0RbJXMwAzd2a5EHdZGLmPHC4bKzpgrRREGPUOxETiyPGYMjQpv3d8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751394; a=rsa-sha256; cv=none; b=uSjMxzQHBcWkDHqrMkRJWcd2Xtfk3/Dacaw/BnMbdzqzT+QV80COZoMJmL1dLtUvlOHsZ+ kCLPUEenB90lHEumJXp4fyxcWvfEsuEjPy8B28wcjxRlThdhnHPAt5N07n+0A0BGg3eQ6u cL1iccHKzCnpx6McjfEEMuNXUYp+kdYWFJCi25q4PYZBYVoO+a2gHs1ZNNjAX4Ms7uO72d hUSSQJrf9pYsPKDkJM7ZIhfKLZnpvVXVtDMGClEuZtkpgp3gaGOgJuTuoiTDYLH38HrWOc js2oMyLIKkxpEse4Joi1LY4iV/q/xWvZ1wG2u99Apw8Mz5KWuHFm4nRQH5tZ9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9PG1yVfz6hw; Thu, 12 Jun 2025 18:03: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 55CI3E29067498; Thu, 12 Jun 2025 18:03:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI3E63067495; Thu, 12 Jun 2025 18:03:14 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:14 GMT Message-Id: <202506121803.55CI3E63067495@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: d752f91d7f0a - stable/14 - kern_thr.c: fix typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d752f91d7f0aa33654f4564c732b70ef2daec0bf Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d752f91d7f0aa33654f4564c732b70ef2daec0bf commit d752f91d7f0aa33654f4564c732b70ef2daec0bf Author: Konstantin Belousov AuthorDate: 2025-05-31 15:31:07 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:51 +0000 kern_thr.c: fix typo (cherry picked from commit 3556ffa6adff34ed689185ac8c68a2fc9432741a) --- sys/kern/kern_thr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c index 19ee082ad7f0..8ad885b42ebe 100644 --- a/sys/kern/kern_thr.c +++ b/sys/kern/kern_thr.c @@ -182,7 +182,7 @@ kern_thr_new(struct thread *td, struct thr_param *param) struct rtprio rtp, *rtpp; int error; - if ((param->flags & (THR_SUSPENDED | THR_SYSTEM_SCOPE | + if ((param->flags & ~(THR_SUSPENDED | THR_SYSTEM_SCOPE | THR_C_RUNTIME)) != 0) return (EINVAL); rtpp = NULL; From nobody Thu Jun 12 18:03:12 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJ9PH0gm8z5yBDY; Thu, 12 Jun 2025 18:03: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 4bJ9PG23Kcz4Q7H; Thu, 12 Jun 2025 18:03:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5Cqp/UiMHLnTF9d3aykikxZsMEGHqzeDNrbgF651kQ4=; b=oDci4HAX29yy/0YBEUSo0xJrBO3K05hcgRksV3GnZsVQ011ZoYeVAzMuZE7M0XYSx7pH0b nMVW0lwcQcG7YzBiq2p2criMCV/kLu51OdpEwAQhjF6+O1VPQeKkUEWp+pVp/RACIx67/m H0yCrp7KvG2TIBA2Vz0kEVxeET36yeTiyH4fkVZ7utNwA0fU/M1MqcgESW1y2Qz0De5kdB 5FM+uVfqkk/aHXpvphFPn/ZynuhBl5S2k9KX758eBwHU/a6swfWMtd0Lf0Sg7F3SAQsi7Y 84d4Sp8QFXEhyVRFMZKsfrw4M2tyST5Q4/6mvOTb2iezgFydd0pawj9D7r/zYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749751394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5Cqp/UiMHLnTF9d3aykikxZsMEGHqzeDNrbgF651kQ4=; b=dGflXe77c8J7bpemw0krtN01VFvZnii5Gs8p9SKGl8mf9U5ttKRdkeGUoTw1ZRD9w9C5ce yU1sSYsFWduJ2DLBjuYHbgOjGxTGFUtt0iKa/Tgk7qXIrxlEWWOQJCFl/EAF1JJ7z/kmoM UlzNhpWKv3SBL6uaAmnR64FTto//ZkatphWqoTOMqpDU6dxMnbGYN5eVT2wfxP+q3C/j39 jrjflZQt63swVNKqQqmlKJF44AZ1K+wMkFBNE/2cxwQlAoJbaAovODgV4jdsjqu/XkMPQa 7746lRXibqzgs5phVd3cyewbYc+2huppF3PiUm3YvV34qHGd5OMV6T3y8kMpww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749751394; a=rsa-sha256; cv=none; b=f3yO+0ZAJMNyrpg5PUtuwkvwuZj3YH0nIWdeDf/ggN5x0CJgEbmMXseMqlhuDTghVVsHPF dZ+c3VDMBxkIREW/1hXWt9TgqMUtHamfx3AwGq+C8AauMHgUx0G576wUbihVYCYOEJ6Enw 0xxXeKap8fmzdkv3btVTox3BJZsJZqq7I2hiBCm+OIQo3ITHe+uLDg26YIqtdapHdNLruO CZFz/aDyrnjQbMHgh+FPf5VJ2eVgXPpY/fWXlkF048Ts0UdYTgI01x7+BgDTQ1yTjAVHhS sz5IOUQB0fuPHnTXDqAJZfTr6J7dQXuBRy6nJeP45DIW8yuqKt9/qfXwPylpYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJ9PF0hKrz6xX; Thu, 12 Jun 2025 18:03: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 55CI3CBx067462; Thu, 12 Jun 2025 18:03:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CI3C9n067459; Thu, 12 Jun 2025 18:03:12 GMT (envelope-from git) Date: Thu, 12 Jun 2025 18:03:12 GMT Message-Id: <202506121803.55CI3C9n067459@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a24bbfb09f43 - stable/14 - thr_new(2): check param.flags for reserved bits List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a24bbfb09f43303bfaa65c774bcbe7bdde07dddd Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a24bbfb09f43303bfaa65c774bcbe7bdde07dddd commit a24bbfb09f43303bfaa65c774bcbe7bdde07dddd Author: Konstantin Belousov AuthorDate: 2025-05-30 22:40:47 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 18:02:51 +0000 thr_new(2): check param.flags for reserved bits (cherry picked from commit c25ddffc51a1e2c0e03fa6f168abc022955d598f) --- sys/kern/kern_thr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c index 1dd4d6915546..19ee082ad7f0 100644 --- a/sys/kern/kern_thr.c +++ b/sys/kern/kern_thr.c @@ -182,6 +182,9 @@ kern_thr_new(struct thread *td, struct thr_param *param) struct rtprio rtp, *rtpp; int error; + if ((param->flags & (THR_SUSPENDED | THR_SYSTEM_SCOPE | + THR_C_RUNTIME)) != 0) + return (EINVAL); rtpp = NULL; if (param->rtp != 0) { error = copyin(param->rtp, &rtp, sizeof(struct rtprio)); From nobody Thu Jun 12 19:31:13 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJCLp1mS6z5yJFr; Thu, 12 Jun 2025 19:31: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 4bJCLp0N70z3Lmw; Thu, 12 Jun 2025 19:31:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749756674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cx5Jnvbc4vkevDCrpOUEzVni45RzLqx0ZrdpUA0neJA=; b=szLMc9SDtzp9x0yOwlYwSYOsPTIjCcErKd2JkUoEODN7zRhhVByG+J/F0/fhhOyNHlca+v WR5miTVhDKEePToOhH/TF+gXBeQUw2nITqL4XNMK8dgdphPcTVVuyHQcmzSMb5XCnPHXNz ZSSrynAu9Tkkflj+Zd29Mm64mLiuzqRvGTcSMwznibr/VvvGuwP++puXNzekb2mmO6jbTc 2LJxBdOZ+mqOW5MRsxxJdP0yfNNcrfWZYXeh0FlRmr17oZ+2IoB8Z/HSbwfvxAr8dCwy7s SBKdr3UZQZbZgLNbj1yOkN6Vtm5zDkn8yEIGHUZiEFj5BWLZasfoZi5t5cgchQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749756674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cx5Jnvbc4vkevDCrpOUEzVni45RzLqx0ZrdpUA0neJA=; b=Ck/SamC57rrT8EO6rqBZiRR1p9XJEWaChXdp1HQOnxWv0xhzD6yvArGW8LWDWsE91z2m7f vfGV5PIx9JE15Bs81C1ksZ8XQGQOFCqHA4DeoVtStGKrMUhBtj1YDy47+QuPWz2p3jQmrt GtnAfD/vpI4DLV+PKFhai+T2uZwN+pjp6zUTyZrKVZjPnA9Dx8RvYqbnq4dF6QJGxX0Wrn 7B6dNKu5eBMEKkTKNjT9fj/gkWaQKgIkSp5zcj5JU9qPOSh/yuMHKMrhXT6no9eZ5m13Ui c6XZnvhtLI3bUCXEHB3wsOOX23QfRkDtkEJVKYWdBMW7ZbhE6HPvNdIUuEedcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749756674; a=rsa-sha256; cv=none; b=tmXkcSY6gFvYm8XdhL7EryP5hGK2LyqBj0zZCUCA3GvVGT5zBtiQGpPDf2gpAFwPMwdp9L QgSEc85m06C+MjFZyJOKxI1pnRuFMXKt4OAYtYlmq+a4979kNXGrjR59R3erQcilDqX1yy nt86rVfGxkGchUJggZqi2w9uNMJ78JblFKary04UjG6idvtXjtvLqZsvQWaSGNcoq56mLp aeBB0Bszg/Xp3hCC3/E9NJgXNCyQlKCgJfZ+z4wWLxj4gIvMRaOTHrd7gwWs1lzrdaX6Ie VdIu7r2Piw/SHKeemt1yHJFIomi7V4QLbwHZB8pGeWaAQYNaChtpp0/Z+n+UfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJCLn74bjz8mn; Thu, 12 Jun 2025 19:31: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 55CJVDws032881; Thu, 12 Jun 2025 19:31:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55CJVDI1032878; Thu, 12 Jun 2025 19:31:13 GMT (envelope-from git) Date: Thu, 12 Jun 2025 19:31:13 GMT Message-Id: <202506121931.55CJVDI1032878@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f1830ad9e727 - stable/14 - rtld amd64: extend osrel check to enable tlsbase op on stable/14 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f1830ad9e727f990d0124e89d9a9f7cd759d42a6 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f1830ad9e727f990d0124e89d9a9f7cd759d42a6 commit f1830ad9e727f990d0124e89d9a9f7cd759d42a6 Author: Konstantin Belousov AuthorDate: 2025-06-12 19:29:19 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-12 19:29:19 +0000 rtld amd64: extend osrel check to enable tlsbase op on stable/14 This is a direct commit to stable/14. Reported by: Mark Millard Sponsored by: The FreeBSD Foundation --- libexec/rtld-elf/amd64/reloc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libexec/rtld-elf/amd64/reloc.c b/libexec/rtld-elf/amd64/reloc.c index 74693d35ba1d..e46f6bc2e9b5 100644 --- a/libexec/rtld-elf/amd64/reloc.c +++ b/libexec/rtld-elf/amd64/reloc.c @@ -519,6 +519,8 @@ void allocate_initial_tls(Obj_Entry *objs) { void *addr; + int osrel; + /* * Fix the size of the static TLS block by using the maximum @@ -533,7 +535,9 @@ allocate_initial_tls(Obj_Entry *objs) * This does not use _tcb_set() as it calls amd64_set_tlsbase() * which is an ifunc and rtld must not use ifuncs. */ - if (__getosreldate() >= P_OSREL_TLSBASE) + osrel = __getosreldate(); + if (osrel >= P_OSREL_TLSBASE || + (P_OSREL_MAJOR(osrel) == 14 && osrel >= 1403502)) sysarch(AMD64_SET_TLSBASE, &addr); else if (__getosreldate() >= P_OSREL_WRFSBASE && (cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0) From nobody Fri Jun 13 12:30:39 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJdz36QdYz5pvM2; Fri, 13 Jun 2025 12:30: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 4bJdz35v5Fz3CPs; Fri, 13 Jun 2025 12:30:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749817839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3/IDKoMjIcvZwynKOjc0OILywsWT3N/CHHeaLc4dX6w=; b=owAUCLV0Vm9/h/RXlCGqzLpQSOZDmuVFuuMHLr65q9MPewJxHuofD6WiDla9HTaGTwH+Hy 23PnDP0lynW8aOTCKDOVXiS7balNG+lxv+5ag/biwIRGPxkLnKuKOT8ToX2uqhN4j+i3Qe QAPmTisa+eScSQ7UFRo1a+81ED+58e846Zz3pl85S7it5lISCQIoDlCbaoCqqW64OhGHrB s7M89t49S78csydoDONJxagMZCATP+N7Ha2KTJePXRes9oRS0g1LzCL1oy9zqs4yJ1DWi+ 9nrrBQd0FNX4Ch2opFZ0y1TI4Pj2A7TnbXrS/+ErSylCQypw8ODlXUIszMzZvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749817839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3/IDKoMjIcvZwynKOjc0OILywsWT3N/CHHeaLc4dX6w=; b=iNBQFC0ILrSAO5CQ7ivBVaaQzgBba1xAMkShMxrGTCbnRbecd4RSLH80BOTiLMQlLfx3Ya 5i55cTdh9T49H9ijmQUXBGvUZ+Vxue8h+2wTUB/pFDEBTCredGm13cDD3kzm8JoCizOs49 Y1Uz9iXfMbDNMtvVjIsD+OQPj+EvHnGEuzoQ/tO81iQ7tvEdZrEXb74LGSNjCimGOb148g 9TKgYb5Ljrgbi7rS5QGsDOUqQVOaQOlBhPWE1DStNET7XBAbXbAPR20V2wDK/wuE6Ao3++ 3g5y3KeUv/DlnLTDf4Hzpab2wa1P0Bsb842Ga+RCR7O1qjXeS7Fm8Artwg6XTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749817839; a=rsa-sha256; cv=none; b=KcLdW/G/71i2qPUam++KRnTAkqyqezcMRnRxUkT6tznqNDVjezRVUeD4Ate2BcvWF93wfi I9RajACePm/zhKRirZ90VS9S+y5O6pZxbrlc4RRVue+sT2dV2sYWCWtsHUGq+shsdUqjpa au8g7VmImuqKJHfMp3BG74VpkEghFa34Q3Aen4tzD17bBgl9T2xzo2t2dgJpsZJ5W0UKyW 90cCeecPf9goDN0HOMOKRYPdPSaGWXRzBIazUni8hF1H1BlhxSaNShMnj9DnIU20/a3BjH rHyyp3cl9b9CgYd2MpBKT7MrlhbJHyK2jwf8FK8VIbWWDoxAaW0iUJsXixeVPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJdz35HzGzxYt; Fri, 13 Jun 2025 12:30: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 55DCUdFS039165; Fri, 13 Jun 2025 12:30:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55DCUdt3039162; Fri, 13 Jun 2025 12:30:39 GMT (envelope-from git) Date: Fri, 13 Jun 2025 12:30:39 GMT Message-Id: <202506131230.55DCUdt3039162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: f482411563d6 - stable/14 - snd_hda: fix attaching to some AMD Radeon GPUs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f482411563d6c9ef1dfef3e59bb9e7fe3b6b4d91 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=f482411563d6c9ef1dfef3e59bb9e7fe3b6b4d91 commit f482411563d6c9ef1dfef3e59bb9e7fe3b6b4d91 Author: Stefan Eßer AuthorDate: 2025-06-12 07:47:57 +0000 Commit: Christos Margiolis CommitDate: 2025-06-13 12:30:22 +0000 snd_hda: fix attaching to some AMD Radeon GPUs HDMI audio did not work on my older Radeon GPU, the error message during attach was: hdac0: hdac_get_capabilities: Invalid corb size (0) This is fixed by calling hdac_reset() before the HDA device capabilities are retrieved. This solution was proposed by Andriy Gapon in 2010, but apparently did not solve the problem reported at the time. Approved by: christos Differential Revision: https://reviews.freebsd.org/D50737 (cherry picked from commit dab9ef5448682c3c35e34d857b17ac1c23445321) --- sys/dev/sound/pci/hda/hdac.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index be143ccd54c3..89742a0e4ebc 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -1278,6 +1278,7 @@ hdac_attach(device_t dev) goto hdac_attach_fail; /* Get Capabilities */ + hdac_reset(sc, 1); result = hdac_get_capabilities(sc); if (result != 0) goto hdac_attach_fail; From nobody Fri Jun 13 12:30:40 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJdz46q1rz5pvNc; Fri, 13 Jun 2025 12:30: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 4bJdz461XGz3CPt; Fri, 13 Jun 2025 12:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749817840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rv1hZou4Qa5vF/swhKUO6IBym/TZIPWJISCirnNh02A=; b=YOClZqlCOjfj0bI1mr5RMIvcQtvmmhfdw8pZOHEoBTeNvDbSD9S5noZ/w2PBhgz1UhQHj9 jx/ujdmbzf3d/+urpQZ+3WD2PIIMjMjCbNJTbmYmlCQurcbLqsm2tNKEybbUxmWi/r09e5 2rcuXvnDz4QRQ/2fMd9olKmUKn/e98hpVkvIMEl7zO3E6JhlZ2RLoCyDfXvY5LSgscmh2V zbhU/kwQguBixk9bA1gkAZc+DrjIcttjfVgi941fu/inbA03ba7DpC0QPDN/hK8lmJ3VAP NvmaAvDXf1sRe4aVtjU4TqzXj7NzezF/llawFxv6nwYmBen7eHwTNwXdKRc0vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749817840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rv1hZou4Qa5vF/swhKUO6IBym/TZIPWJISCirnNh02A=; b=r8NariKtjbIC839kd1XHJ9Z0lGMSdMzfl6/kg33axrYMpkWpzQWEFnMsHri+aZ04vsX3F5 OXENFZ3i3h0wHL5ycYknXTzdWb4H7ZtxsucTVWiWMthdi+el+VMZ1Rkv5lD1WCI1YAZz8x 58GJjJdaXIgJYQqia+8x1H1Mi3YHJhiwecJzq34+5xODGGBokdqv1WvV7BfNWcAgQmVpQ4 id8RLJ9CWupBW0VkGeoJQjsIAMnJXXapIx6+huRp77mAdghbS0hivfciVXgt7gQcVx0g1T PduxnWl4ruUSBZdwev2Bx3XJph6M3PEM7OEyAjNqmEPpFxdmUoi/H+UEKK3oaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749817840; a=rsa-sha256; cv=none; b=VkI/dhPeRfDkqcQzG+shP3qCIN+lQwSV1Eb1nb7TlPgS5dJM70MxLFLh9FIhesEdM3QD8v q+Zk3dBmrNuJtcfFu8lYer/AGmR8ygqjkfF/tn35bBenQIf9wZFBhJkW4w8yEV8v4xRsMm iHjQnsVkBzUnN/kgDSwhj6gh9p8alTMOm7t0kocYRJojAWG2vnPGhuthUlxSYHahSGtcRK QR0CefMtQRCu9dgPRG7gSlFR0G6wgs1Wx/32kK80wXFCNmWTsExg5+XnCw8ABOFpKssF+s EihPpJGl+us6NzJc8UnXphIGmw20SD8ZvOZlmDhYvp3UQO9mfJ67HS2c1Gzmnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJdz45Z1GzxVq; Fri, 13 Jun 2025 12:30: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 55DCUe20039199; Fri, 13 Jun 2025 12:30:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55DCUe2q039196; Fri, 13 Jun 2025 12:30:40 GMT (envelope-from git) Date: Fri, 13 Jun 2025 12:30:40 GMT Message-Id: <202506131230.55DCUe2q039196@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 4027e17c1795 - stable/14 - snd_hda: Patch Lenovo T420s List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4027e17c179573c428143d3c3cb2aeef3f446b42 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4027e17c179573c428143d3c3cb2aeef3f446b42 commit 4027e17c179573c428143d3c3cb2aeef3f446b42 Author: Christos Margiolis AuthorDate: 2025-06-11 17:28:40 +0000 Commit: Christos Margiolis CommitDate: 2025-06-13 12:30:22 +0000 snd_hda: Patch Lenovo T420s PR: 222636 Tested by: vermaden@interia.pl Sponsored by: The FreeBSD Foundation MFC after: 1 day (cherry picked from commit 84e73074412719ec83143fb514625c09d27f468c) --- sys/dev/sound/pci/hda/hdaa_patches.c | 16 ++++++++++++++++ sys/dev/sound/pci/hda/hdac.h | 1 + 2 files changed, 17 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c index 233ba1ae8d13..ae609e60eea2 100644 --- a/sys/dev/sound/pci/hda/hdaa_patches.c +++ b/sys/dev/sound/pci/hda/hdaa_patches.c @@ -300,6 +300,22 @@ hdac_pin_patch(struct hdaa_widget *w) patch_str = "as=2"; break; } + } else if (id == HDA_CODEC_CX20590 && + subid == LENOVO_T420S_SUBVENDOR) { + switch (nid) { + case 25: + patch_str = "as=1 seq=15"; + break; + case 27: + patch_str = "as=2 seq=15"; + break; + case 31: + patch_str = "as=1 seq=0"; + break; + case 35: + patch_str = "as=2 seq=0"; + break; + } } else if (id == HDA_CODEC_ALC235 && subid == ASUS_GL553VE_SUBVENDOR) { switch (nid) { case 33: diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index cb383d3be498..e19508ea3535 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -373,6 +373,7 @@ #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) #define LENOVO_T400_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2) #define LENOVO_T420_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce) +#define LENOVO_T420S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21d2) #define LENOVO_T430_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3) #define LENOVO_T430S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb) #define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf)