From nobody Sun Dec 31 02:43:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T2k245TyCz55vJj; Sun, 31 Dec 2023 02:43:24 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T2k236LsJz3ck7; Sun, 31 Dec 2023 02:43:23 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.208.181 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com; dmarc=none Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2ccb923c4d2so52916121fa.1; Sat, 30 Dec 2023 18:43:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703990601; x=1704595401; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FntsomTgtwwl/etg4zmLGyhvLZJ9xs85faK+wYnp//c=; b=B3HKiq56U9auerJvwH8SEQVPZbXnUtTKTxCyS294BsTy/xe2MFyHx5v7+6jayigUIH 0039e3IyCvCXFRDg3MZV+dYuj7w4p2h7dwB7dYKNPnG5mqBZvV/n5cfiOJ10LLpAqVFw cR/HJA0BGfz+ggpoIbfhgqmuSo76w5fdGPD6TjmKZyieWEf9o57rfE/3yhgzRVIEPqwN Qqvwnw+OYsOIW3BYFCc3RoNzTro+K4jL3VB+qnwuz9lW4acWhA3rAJSMsZvmZE2o21QQ XGr8qsfsnoUaH1cqfKS3x/A2aA5RUL7pEvUTPky1gv+iD6IV//hrVvfGabfN6QlLiKZ9 lvCA== X-Gm-Message-State: AOJu0YzpgFLM6VXRI33FajBQJlJbRV0LScBroABcXnGYUzA6mx8hRn0s xizFyUYxf5xc4GjGSi5HF1TYOwwupKXQhMjF1Vw3TlX17GI= X-Google-Smtp-Source: AGHT+IEZ1j7/JtcgJS3/N183lfoHnP8CNmhC+wjgh0gFXJb73t6yB451v3oJsWAK8MAMm+ZonTL5eHX6uK0unuy7loY= X-Received: by 2002:a2e:6e04:0:b0:2cc:89ef:23f9 with SMTP id j4-20020a2e6e04000000b002cc89ef23f9mr4149183ljc.17.1703990600880; Sat, 30 Dec 2023 18:43:20 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202312291451.3BTEpC3w047326@gitrepo.freebsd.org> In-Reply-To: From: Ed Maste Date: Sat, 30 Dec 2023 21:43:15 -0500 Message-ID: Subject: Re: git: 56c202de785a - main - tegra210: change to UTF-8 (from ISO-8859) To: Alexey Dokuchaev Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-1.52 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_SPAM_SHORT(0.48)[0.477]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FREEMAIL_ENVFROM(0.00)[gmail.com]; R_DKIM_NA(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.181:from]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.181:from]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FREEFALL_USER(0.00)[carpeddiem]; ARC_NA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com] X-Rspamd-Queue-Id: 4T2k236LsJz3ck7 X-Spamd-Bar: - On Fri, 29 Dec 2023 at 11:56, Alexey Dokuchaev wrote: > > On Fri, Dec 29, 2023 at 02:51:12PM +0000, Ed Maste wrote: > > commit 56c202de785a5701831ae345a1a5c906e0b2c3e6 > > > > tegra210: change to UTF-8 (from ISO-8859) > > Why not to plain ASCII? We could use u instead of =CE=BC, but we already have a number of UTF-8 files in the tree and =CE=BC is more correct. From nobody Sun Dec 31 03:14:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T2kkf4CLWz55yZ6; Sun, 31 Dec 2023 03:15:06 +0000 (UTC) (envelope-from vladimir@kondratyev.su) Received: from corp.infotel.ru (corp.infotel.ru [195.170.219.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4T2kkd3j1Nz4Hf0; Sun, 31 Dec 2023 03:15:05 +0000 (UTC) (envelope-from vladimir@kondratyev.su) Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of vladimir@kondratyev.su has no SPF policy when checking 195.170.219.3) smtp.mailfrom=vladimir@kondratyev.su; dmarc=none Received: from corp (corp.infotel.ru [195.170.219.3]) by corp.infotel.ru (Postfix) with ESMTP id 39EF54A0A74; Sun, 31 Dec 2023 06:14:58 +0300 (MSK) X-Virus-Scanned: amavisd-new at corp.infotel.ru Received: from corp.infotel.ru ([195.170.219.3]) by corp (corp.infotel.ru [195.170.219.3]) (amavisd-new, port 10024) with ESMTP id 7cUI_Mi9mVEH; Sun, 31 Dec 2023 06:14:57 +0300 (MSK) Received: from mail.cicgroup.ru (unknown [195.170.219.74]) by corp.infotel.ru (Postfix) with ESMTP id 81F894A0DDE; Sun, 31 Dec 2023 06:14:57 +0300 (MSK) Received: from mail.cicgroup.ru (localhost [127.0.0.1]) by mail.cicgroup.ru (Postfix) with ESMTP id 6DDE742211F; Sun, 31 Dec 2023 06:14:53 +0300 (MSK) Received: from mail.cicgroup.ru ([127.0.0.1]) by mail.cicgroup.ru (mail.cicgroup.ru [127.0.0.1]) (amavisd-new, port 10024) with SMTP id HpGR300GS_ph; Sun, 31 Dec 2023 06:14:46 +0300 (MSK) Received: from kondratyev.su (localhost [127.0.0.1]) by mail.cicgroup.ru (Postfix) with ESMTPA id 27D2D42211C; Sun, 31 Dec 2023 06:14:46 +0300 (MSK) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Date: Sun, 31 Dec 2023 06:14:45 +0300 From: Vladimir Kondratyev To: John Baldwin , Vladimir Kondratyev , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: b4efc6277634 - main - LinuxKPI: Do not use explicit context in FPU sections on powerpc64 In-Reply-To: References: <202312241320.3BODK2DA076069@gitrepo.freebsd.org> Message-ID: X-Sender: vladimir@kondratyev.su User-Agent: Roundcube Webmail/1.3.5 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-2.00 / 15.00]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.997]; MIME_GOOD(-0.10)[text/plain]; RCVD_NO_TLS_LAST(0.10)[]; R_SPF_NA(0.00)[no SPF record]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_VIA_SMTP_AUTH(0.00)[]; DMARC_NA(0.00)[kondratyev.su]; RCVD_COUNT_FIVE(0.00)[6]; ARC_NA(0.00)[]; ASN(0.00)[asn:8299, ipnet:195.170.192.0/19, country:RU]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4T2kkd3j1Nz4Hf0 X-Spamd-Bar: - On 27.12.2023 20:05, John Baldwin wrote: > On 12/24/23 5:20 AM, Vladimir Kondratyev wrote: >> The branch main has been updated by wulf: >>=20 >> URL:=20 >> https://cgit.FreeBSD.org/src/commit/?id=3Db4efc62776344a9aaada5a0866e4= 53e528a0e977 >>=20 >> commit b4efc62776344a9aaada5a0866e453e528a0e977 >> Author:=C2=A0=C2=A0=C2=A0=C2=A0 Vladimir Kondratyev >> AuthorDate: 2023-12-24 12:48:06 +0000 >> Commit:=C2=A0=C2=A0=C2=A0=C2=A0 Vladimir Kondratyev >> CommitDate: 2023-12-24 12:48:06 +0000 >>=20 >> =C2=A0=C2=A0=C2=A0=C2=A0 LinuxKPI: Do not use explicit context in FPU = sections on=20 >> powerpc64 >> =C2=A0=C2=A0=C2=A0=C2=A0 It is not supported yet. >> =C2=A0=C2=A0=C2=A0=C2=A0 Sponsored by:=C2=A0=C2=A0 Serenity Cyber Secu= rity, LLC >> =C2=A0=C2=A0=C2=A0=C2=A0 Fixes:=C2=A0 5a3bd281672b ("LinuxKPI: Add exp= licit software context to=20 >> FPU sections") >> =C2=A0=C2=A0=C2=A0=C2=A0 MFC after:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 we= ek >> --- >> =C2=A0 sys/compat/linuxkpi/common/include/linux/compat.h | 5 ----- >> =C2=A0 sys/compat/linuxkpi/common/src/linux_current.c=C2=A0=C2=A0=C2=A0= | 9 ++++++--- >> =C2=A0 sys/compat/linuxkpi/common/src/linux_fpu.c=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 | 3 ++- >> =C2=A0 3 files changed, 8 insertions(+), 9 deletions(-) >=20 > Do you need explicit contexts at all? Original version of https://reviews.freebsd.org/D42822 did not use explicit contexts. =C2=A0 That is, can you not just > use FPU_KERN_NOCTX all the time?=C2=A0 Most code in the tree now uses > FPU_KERN_NOCTX now (all the crypto drivers for example), and I've > been thinking about removing support for the !FPU_KERN_NOCTX case. > Is there a reason drm-kmod can't use FPU_KERN_NOCTX?=C2=A0 Do you reall= y > need to save FPU registers in one block of code wrapped by fpu_kern_* > and then use those register values in a future section wrapped by > fpu_kern_*? >=20 I can revert current code end use previous version. Just give me some=20 time. I will be AFK till the end of january. --=20 WBR Vladimir Kondratyev From nobody Sun Dec 31 10:17:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T2w5Y724Fz55QYg; Sun, 31 Dec 2023 10:17: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T2w5Y6Cq6z3PbQ; Sun, 31 Dec 2023 10:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704017825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SQCDAeNP/2Jh/LwWSulSqndvyPrDKsfUUVKwX+R9xew=; b=cpKqxBG58S7MdHD+UZ6WNZGzmJtITWIOMZ8sXWsJiSugTvxJ3cIs+A3IBU6yN7J8TuNePL Z558ZehJLwUp4nZHpWhnvQngC5HJ+TfagtV7Vd7OL5t9sscAjtXf14o4dRuNOP/u9+slAK RSb/Y92Pn58O+Qrr91NwBfGhrz9Sf1pAM+Fck9BFc9FyaE4hRAk4xoO6VY/7TeYGJYnvXi 9zdx/WH1LayitXYJZpMqbIPWA8y7G5Dx+nifvXwWbXwhNNAR3M+6g6JwFk4rnkN4TvS8Vp z0l1ioWitKGgP6yxHblYN4CS+Yv3/vWYPRKVWA0vvQ8BS59WPdOkau/UqbmCYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704017825; a=rsa-sha256; cv=none; b=mmFoG+tuBi2mNI60boDFNLfcx97SLEYpMVl0jz1Cv18g1E/wpTVuvynSjeIP4t2p/lXjLg bylio0x6myUj7pFc2Tya/89akrd6AFPhrZxQfVfzbGYXLl9VOyUFewtpnSaOwIaqWR3/Ro jfpTGr/eHuzR8nihfjNaJpSIARc1/rUxkV0KsPi+8ddTe7Tjd8Ww9FkHYQb3nKUZREsMEA qb65diaLB9PxD5Lzmi9peVNg1HfdKajaibGizFSUK/HAQrGPPZM4v3fRgj/oU18qsWKQ6p 7TyOlLWCDbyCLMMx7Tycv44k7I0JMFS7f8yCFZyi9SJ/uekKmBwPlBhxTcY2nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704017825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SQCDAeNP/2Jh/LwWSulSqndvyPrDKsfUUVKwX+R9xew=; b=cAsgaV4Qm3LWaGoqj6vtAwUrqfddN/xctF95vdSH+PcXmipQWJlfavDst+CwfFx8LXy1Vl p5trq+kVzFxfC8Ik00zEtFmBLD15G4BGdSupdwoFyL6K0qb/ZitpotfAtFWGQDPC9IJt6f Kfvho/hOV2biYV8/AYDeQoohQ6aoV4emeD40uzvFVrucEHdXtUb/iw5Y2taJ5GIXc6Wb78 OINs4qvWq9aiU2ayKEeor0CvjjqIJzC9crgmko40LftFlvabPYMc6VgtEQxZ19/goginvv 7/hwB00o8Gy1dF+cHUk7EIlE/dA6+IIfX0p7Trcbu+T9uYLQHQ6IgFfwAxwbAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T2w5Y53LZzVsY; Sun, 31 Dec 2023 10:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVAH5EF021643; Sun, 31 Dec 2023 10:17:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVAH5Qb021640; Sun, 31 Dec 2023 10:17:05 GMT (envelope-from git) Date: Sun, 31 Dec 2023 10:17:05 GMT Message-Id: <202312311017.3BVAH5Qb021640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: 3aa71ea7c231 - main - periodic: Make security diff(1) output as small is possible List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3aa71ea7c231a4e60a7e1b9b677e379e17432fc8 Auto-Submitted: auto-generated The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=3aa71ea7c231a4e60a7e1b9b677e379e17432fc8 commit 3aa71ea7c231a4e60a7e1b9b677e379e17432fc8 Author: Michael Osipov AuthorDate: 2023-11-24 09:26:41 +0000 Commit: Michael Osipov CommitDate: 2023-12-31 10:16:30 +0000 periodic: Make security diff(1) output as small is possible Make, by default, security diff(1) produce a unified output with a context of zero (0) lines. This reduces output of unrelated lines in e-mails delivered to root. PR: 270266 Approved by: jrm (mentor), karels MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D43071 --- share/man/man5/periodic.conf.5 | 5 +++-- usr.sbin/periodic/periodic.conf | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 index 3ad39070839f..f434069bc96e 100644 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 9, 2022 +.Dd December 31, 2023 .Dt PERIODIC.CONF 5 .Os .Sh NAME @@ -807,7 +807,8 @@ Set to the arguments to pass to the .Xr diff 1 utility when generating differences. The default is -.Fl b u . +.Fl b +.Fl U Cm 0 . .It Va security_status_chksetuid_enable .Pq Vt bool Set to diff --git a/usr.sbin/periodic/periodic.conf b/usr.sbin/periodic/periodic.conf index 8a69a7e703aa..0c35d33b63aa 100644 --- a/usr.sbin/periodic/periodic.conf +++ b/usr.sbin/periodic/periodic.conf @@ -248,7 +248,7 @@ security_show_badconfig="NO" # scripts returning 2 # These options are used by the security periodic(8) scripts spawned in # daily and weekly 450.status-security. security_status_logdir="/var/log" # Directory for logs -security_status_diff_flags="-b -u" # flags for diff output +security_status_diff_flags="-b -U 0" # flags for diff output # Each of the security_status_*_period options below can have one of the # following values: From nobody Sun Dec 31 10:23:00 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T2wDN6cX9z55RVN; Sun, 31 Dec 2023 10:23: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T2wDN66G5z3QFd; Sun, 31 Dec 2023 10:23:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704018180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wiY1G6SiUzhlpBFj4ur6nOsbX2iDVRP5LxBVKdKKx/U=; b=u+oeic7xvL+a4uFNaJsyQ6ATU/cmtnbjueqQ2YxS3YFnEF+81c2UVDNlnhlsGmsL4ygEMR 296d93f6wrGyarlBb/3piKzvO4/tpTjJRdArYajXIOAz7ZEIEB/WkwdGlKL+seK3BnrGhG 1jufe9W41UavciKvbZfhAtIfjiczufKstFYo3dtCM/hqbxH40ixsZi2BfmJCYMGpUPS2En tjQ4jOWuBlLPVp2Eg3Pi2UAi8gwZMA44lhSz4dE3PkwB2cB1fA/nXTGuIOPPwnAWjK91t/ uPpy0hvdGpkiuc91IObGWdorovBXeX8Cof+CuUxyktfwhjiT20PqsFaGRo9M+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704018180; a=rsa-sha256; cv=none; b=vSLIT0OxZxX6iz4seL4U7XTBytgFzufI0TH6whbOR5bSANJp4o04r9iSaG8/huj8pc1VmK jDOzVFRe4SgBeVs7xUTLUFWidl2cw22LH4hQmHdwvnqRpCr8i74of03DRKe/7w99pYsyfD kAlT5d6F9hgpBr6E8lZKy+29OJoHOVpF7IOap9ilqD0eYzuhvLL/9dx1aqoHujqUXhtTp0 GrBwLQtN3rKvyh0z9UKgapmCP3MUaCFD0urDRyyoU9PM+mvVIrl+FmRHOPalAl3k1RoCZN JMr3WdbXgirjbekzjOujv3ecoO0/8gf8Uag24u8pbJYVwoBTRgWJrbSyofNMFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704018180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wiY1G6SiUzhlpBFj4ur6nOsbX2iDVRP5LxBVKdKKx/U=; b=KP9G1/p3HQBIVjj0Tb6ZlK5UEl3yHIrMWHyKdnCr5Bl2Uoy4P7xZmzV2g/sQ7XVu9XjYFU /IewCcSTq7ZNfFANhctF237vFnJiU8JEtSB4bKYnVVjBSBcBmIT1ZYa2HfHe/6h/a6otYS 2GU/MRSkccNf+eeeFnQ2c7XnJg7VUIfwWmYaN7WjZ5Z5Imk3aByx72m+s7hx5B9mcamcKj 7Rn6qMoh4Y8cJ684wbhnn5nZKJZc+beypR64WuSDtjHxej2nilk3OzAWXAfjyvf4dnGvlC cz6+gnGGnjqqm92tXZC3Wf5HaoOEheH98BXmXnDFfZm2yti07dNxjfkoWDtNcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T2wDN5BxszVZw; Sun, 31 Dec 2023 10:23:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVAN0Um037688; Sun, 31 Dec 2023 10:23:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVAN0N4037685; Sun, 31 Dec 2023 10:23:00 GMT (envelope-from git) Date: Sun, 31 Dec 2023 10:23:00 GMT Message-Id: <202312311023.3BVAN0N4037685@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: 15e35d058cff - main - periodic: Make daily diff(1) flags configurable with daily_diff_flags List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 15e35d058cff847d1a7bc671fcf48b99f5d2f73b Auto-Submitted: auto-generated The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=15e35d058cff847d1a7bc671fcf48b99f5d2f73b commit 15e35d058cff847d1a7bc671fcf48b99f5d2f73b Author: Michael Osipov AuthorDate: 2023-11-24 09:26:41 +0000 Commit: Michael Osipov CommitDate: 2023-12-31 10:22:19 +0000 periodic: Make daily diff(1) flags configurable with daily_diff_flags PR: 270266 Approved by: jrm (mentor), karels MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D42900 --- share/man/man5/periodic.conf.5 | 5 +++++ usr.sbin/periodic/etc/daily/200.backup-passwd | 4 ++-- usr.sbin/periodic/etc/daily/210.backup-aliases | 2 +- usr.sbin/periodic/etc/daily/221.backup-gpart | 2 +- usr.sbin/periodic/etc/daily/222.backup-gmirror | 2 +- usr.sbin/periodic/etc/daily/223.backup-zfs | 2 +- usr.sbin/periodic/periodic.conf | 1 + 7 files changed, 12 insertions(+), 6 deletions(-) diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 index f434069bc96e..da1eb355d7db 100644 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -639,6 +639,11 @@ but specific to the pool Set to a list of extra scripts that should be run after all other daily scripts. All scripts must be absolute path names. +.It Va daily_diff_flags +.Pq Vt str +Set to the arguments to pass to the +.Xr diff 1 +utility when generating differences. .El .Pp The following variables are used by the standard scripts that reside in diff --git a/usr.sbin/periodic/etc/daily/200.backup-passwd b/usr.sbin/periodic/etc/daily/200.backup-passwd index 44da5993a3a6..e165e7f0f0ed 100755 --- a/usr.sbin/periodic/etc/daily/200.backup-passwd +++ b/usr.sbin/periodic/etc/daily/200.backup-passwd @@ -40,7 +40,7 @@ case "$daily_backup_passwd_enable" in then [ $rc -lt 1 ] && rc=1 echo "$host passwd diffs:" - diff -uI '^#' $bak/master.passwd.bak /etc/master.passwd |\ + diff ${daily_diff_flags:--u} -I '^#' $bak/master.passwd.bak /etc/master.passwd |\ sed 's/^\([-+ ][^:]*\):[^:]*:/\1:(password):/' mv $bak/master.passwd.bak $bak/master.passwd.bak2 cp -p /etc/master.passwd $bak/master.passwd.bak || rc=3 @@ -57,7 +57,7 @@ case "$daily_backup_passwd_enable" in then [ $rc -lt 1 ] && rc=1 echo "$host group diffs:" - diff -u $bak/group.bak /etc/group + diff ${daily_diff_flags:--u} $bak/group.bak /etc/group mv $bak/group.bak $bak/group.bak2 cp -p /etc/group $bak/group.bak || rc=3 fi diff --git a/usr.sbin/periodic/etc/daily/210.backup-aliases b/usr.sbin/periodic/etc/daily/210.backup-aliases index 3b689e3eaa1b..25e2bd021a84 100755 --- a/usr.sbin/periodic/etc/daily/210.backup-aliases +++ b/usr.sbin/periodic/etc/daily/210.backup-aliases @@ -34,7 +34,7 @@ case "$daily_backup_aliases_enable" in then [ $rc -lt 1 ] && rc=1 echo "$host aliases diffs:" - diff -u $bak/aliases.bak /etc/mail/aliases + diff ${daily_diff_flags:--u} $bak/aliases.bak /etc/mail/aliases mv $bak/aliases.bak $bak/aliases.bak2 cp -p /etc/mail/aliases $bak/aliases.bak || rc=3 fi diff --git a/usr.sbin/periodic/etc/daily/221.backup-gpart b/usr.sbin/periodic/etc/daily/221.backup-gpart index da59a6d5d724..50096e38f118 100755 --- a/usr.sbin/periodic/etc/daily/221.backup-gpart +++ b/usr.sbin/periodic/etc/daily/221.backup-gpart @@ -27,7 +27,7 @@ rotate() { rm "${file}.tmp" else rc=1 - [ -n "$show_diff" ] && diff "${file}.bak" "${file}.tmp" + [ -n "$show_diff" ] && diff ${daily_diff_flags} "${file}.bak" "${file}.tmp" mv "${file}.bak" "${file}.bak2" || rc=3 mv "${file}.tmp" "${file}.bak" || rc=3 fi diff --git a/usr.sbin/periodic/etc/daily/222.backup-gmirror b/usr.sbin/periodic/etc/daily/222.backup-gmirror index 866a00497759..45c656dc4f41 100755 --- a/usr.sbin/periodic/etc/daily/222.backup-gmirror +++ b/usr.sbin/periodic/etc/daily/222.backup-gmirror @@ -25,7 +25,7 @@ rotate() { rm "${file}.tmp" else rc=1 - [ -n "$show_diff" ] && diff "${file}.bak" "${file}.tmp" + [ -n "$show_diff" ] && diff ${daily_diff_flags} "${file}.bak" "${file}.tmp" mv "${file}.bak" "${file}.bak2" || rc=3 mv "${file}.tmp" "${file}.bak" || rc=3 fi diff --git a/usr.sbin/periodic/etc/daily/223.backup-zfs b/usr.sbin/periodic/etc/daily/223.backup-zfs index 03876df53f13..a49bbb2eaa04 100755 --- a/usr.sbin/periodic/etc/daily/223.backup-zfs +++ b/usr.sbin/periodic/etc/daily/223.backup-zfs @@ -25,7 +25,7 @@ rotate() { rm "${file}.tmp" else rc=1 - [ -n "$show_diff" ] && diff "${file}.bak" "${file}.tmp" + [ -n "$show_diff" ] && diff ${daily_diff_flags} "${file}.bak" "${file}.tmp" mv "${file}.bak" "${file}.bak2" || rc=3 mv "${file}.tmp" "${file}.bak" || rc=3 fi diff --git a/usr.sbin/periodic/periodic.conf b/usr.sbin/periodic/periodic.conf index 0c35d33b63aa..0a8f7961c2f9 100644 --- a/usr.sbin/periodic/periodic.conf +++ b/usr.sbin/periodic/periodic.conf @@ -31,6 +31,7 @@ anticongestion_sleeptime=3600 # that output. $daily_output might be set to /var/log/daily.log if you # wish to log the daily output and have the files rotated by newsyslog(8) # +daily_diff_flags="" # flags for diff output daily_output="root" # user or /file daily_show_success="YES" # scripts returning 0 daily_show_info="YES" # scripts returning 1 From nobody Sun Dec 31 10:25:56 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T2wHm4Xpkz55RQ4; Sun, 31 Dec 2023 10:25: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T2wHm3ycqz3QkZ; Sun, 31 Dec 2023 10:25:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704018356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLoQ4AahrX7qB5EkYSSCNHPsNf9MJvmBCyFXYssI+RU=; b=ZQlV9WOeqMQk6m7HQhEiujYWT4NufpQguFMDG0+90XU/3ujdajLPIoSzBlUYHc67u7iZwO VU6OurpDHVH5xfQbmRcWqelIP4q2pxZpejLocA09X4xDPTBlggrnSmDkr7qFTok8xfDQTK 6/Sow31NqwuAnQPOUvP7cXEodsu0Xzo+3l9cOSTypsLLDLZmDfHA2DD23IoHKMMwEy6n5J /oHeYmMusq/4MsDvUYSC0wn9SJu72oKxZj1KpbaADoefp8ouJYkKnQWeyL7T4xWje1s3tH nN8vAEHfikIlR1AjlcSAA3icw2o6mboFqtvu7GEL/k6e2pIbS6X24+MTuNImwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704018356; a=rsa-sha256; cv=none; b=uXzaLOszz91ne7K8/6O937Y2xaybgP9j0bWF3hGMbtK29qQ/dK//qVVF3ZPI7uF79xDfzg A9JY7bzyOnRHAhob0RBW4lQRDXJQaVxPqH4jz4bKK4syIeEzEM6NF0oInRF2TFJs7a6jPm CZrvgyFqezVH3WlqwT2si3mpoV4h61lMuUvJ2xZmpuy+13WUW0Prph5xDjScS8Xb9y0xcr IK6m6ZJnK5R5pqR0Sa3VIvQXA/FzWr8y6+vCLZIonIUwAUg/iMC5ZLH4b2EqLnSTuqrcT2 9ZoKclcUjxvzDE/kPX7phGFdfAUJ7cTVTP1zFeZwFlVw+3QwyLg90MdXT9N/Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704018356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLoQ4AahrX7qB5EkYSSCNHPsNf9MJvmBCyFXYssI+RU=; b=vkQwPjIEjXoXYR9r9sHuwSDjLAGjAIdHfhJBRLqZV3Cks/e4El64SyuU2WTV7ptBCEvYM1 VObVJK7ynygGttMxJVD7+eMs/jgXl2fxf3G2ZiQRY/lXsOZDP1z0u1tvZruVmx3YaVVM/s XiZYxYc9Sz5fKoeqh8O2fDZeXkMQKxyhCFtYAyuFMPxNLDXCi7/G9gXQeSkGBafM9VUjO1 Jeb5WjP+kfYrMOQjjvQGfwsJGEkZ7m5KQMAzQY140hXmeKoWtdSEIpSguOQBwDe5r79o39 7+1xogCj2qsfWfiNC74WogIj2Y1ANi7NAwnEH9P0CWtNrU5t4TKSW9VXRQ2OKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T2wHm32K5zWbK; Sun, 31 Dec 2023 10:25:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVAPuMj038203; Sun, 31 Dec 2023 10:25:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVAPuea038200; Sun, 31 Dec 2023 10:25:56 GMT (envelope-from git) Date: Sun, 31 Dec 2023 10:25:56 GMT Message-Id: <202312311025.3BVAPuea038200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: e2f6bafc3887 - main - periodic: Make daily diff(1) output as small is possible List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e2f6bafc3887c7752986526f3758525d24701fce Auto-Submitted: auto-generated The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=e2f6bafc3887c7752986526f3758525d24701fce commit e2f6bafc3887c7752986526f3758525d24701fce Author: Michael Osipov AuthorDate: 2023-11-24 09:26:41 +0000 Commit: Michael Osipov CommitDate: 2023-12-31 10:24:43 +0000 periodic: Make daily diff(1) output as small is possible Make, by default, daily diff(1) ignore whitespace changes and the unified output a context of zero (0) lines. This reduces output of unrelated lines in e-mails delivered to root. PR: 270266 Approved by: jrm (mentor), karels MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D42762 --- share/man/man5/periodic.conf.5 | 3 +++ usr.sbin/periodic/etc/daily/200.backup-passwd | 4 ++-- usr.sbin/periodic/etc/daily/210.backup-aliases | 2 +- usr.sbin/periodic/periodic.conf | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 index da1eb355d7db..29fff146c212 100644 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -644,6 +644,9 @@ All scripts must be absolute path names. Set to the arguments to pass to the .Xr diff 1 utility when generating differences. +The default is +.Fl b +.Fl U Cm 0 . .El .Pp The following variables are used by the standard scripts that reside in diff --git a/usr.sbin/periodic/etc/daily/200.backup-passwd b/usr.sbin/periodic/etc/daily/200.backup-passwd index e165e7f0f0ed..7cd52fc7be4b 100755 --- a/usr.sbin/periodic/etc/daily/200.backup-passwd +++ b/usr.sbin/periodic/etc/daily/200.backup-passwd @@ -40,7 +40,7 @@ case "$daily_backup_passwd_enable" in then [ $rc -lt 1 ] && rc=1 echo "$host passwd diffs:" - diff ${daily_diff_flags:--u} -I '^#' $bak/master.passwd.bak /etc/master.passwd |\ + diff ${daily_diff_flags} -I '^#' $bak/master.passwd.bak /etc/master.passwd |\ sed 's/^\([-+ ][^:]*\):[^:]*:/\1:(password):/' mv $bak/master.passwd.bak $bak/master.passwd.bak2 cp -p /etc/master.passwd $bak/master.passwd.bak || rc=3 @@ -57,7 +57,7 @@ case "$daily_backup_passwd_enable" in then [ $rc -lt 1 ] && rc=1 echo "$host group diffs:" - diff ${daily_diff_flags:--u} $bak/group.bak /etc/group + diff ${daily_diff_flags} $bak/group.bak /etc/group mv $bak/group.bak $bak/group.bak2 cp -p /etc/group $bak/group.bak || rc=3 fi diff --git a/usr.sbin/periodic/etc/daily/210.backup-aliases b/usr.sbin/periodic/etc/daily/210.backup-aliases index 25e2bd021a84..d236d9615dba 100755 --- a/usr.sbin/periodic/etc/daily/210.backup-aliases +++ b/usr.sbin/periodic/etc/daily/210.backup-aliases @@ -34,7 +34,7 @@ case "$daily_backup_aliases_enable" in then [ $rc -lt 1 ] && rc=1 echo "$host aliases diffs:" - diff ${daily_diff_flags:--u} $bak/aliases.bak /etc/mail/aliases + diff ${daily_diff_flags} $bak/aliases.bak /etc/mail/aliases mv $bak/aliases.bak $bak/aliases.bak2 cp -p /etc/mail/aliases $bak/aliases.bak || rc=3 fi diff --git a/usr.sbin/periodic/periodic.conf b/usr.sbin/periodic/periodic.conf index 0a8f7961c2f9..5e3a7837c6b4 100644 --- a/usr.sbin/periodic/periodic.conf +++ b/usr.sbin/periodic/periodic.conf @@ -31,7 +31,7 @@ anticongestion_sleeptime=3600 # that output. $daily_output might be set to /var/log/daily.log if you # wish to log the daily output and have the files rotated by newsyslog(8) # -daily_diff_flags="" # flags for diff output +daily_diff_flags="-b -U 0" # flags for diff output daily_output="root" # user or /file daily_show_success="YES" # scripts returning 0 daily_show_info="YES" # scripts returning 1 From nobody Sun Dec 31 16:24:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T34FK6lj9z563gw; Sun, 31 Dec 2023 16:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T34FK6D0Xz4Ywv; Sun, 31 Dec 2023 16:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704039861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1sIWid9lIhWqRBVfuBO+3UvIufAnNQXdaBkxkvHRKFQ=; b=WjbascLXnuctNu87GAM/Zofgz6Nd+0RhD+wq/lityMOr69dXgmnWwsJRzmN26yrlbGp9El s1sATb287uyLDlLbYjfOJZs0pDqLhpqJ5IbiPXj//UWlQhUKNjnpXDhKnmRDlt+Km15iqz BRqeSrsUmKaS1kREBLLANEbaB+4rN8VM/rldUcI+tlQAZOkt3JLi/OZhiJDJw4Hc1AFdvl RfoUeRkk1ZU3rWU3u34V1QYvScMf98iCmmQR4nkBxcUwzbQgynlg6JHbcIHV5/HXPNk0pX SAJS7nm5OEuVC4HmZSGpj58g6PKUCC9gKINjsVBxVCzx71StxvcuAS8g9G0CPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704039861; a=rsa-sha256; cv=none; b=sNG6aKoMH2m6zKLO4lIxiyW3vo/TeeI4Vlfh1hXMTMZIVu1zj2tYBN7LBqdxrd0GYmG6Id v9eF5LY1xzg0bjbxjvbIwKis/NOIZok0vbdP+vzC4w9lw5bDE5DP8JGlaiBtY1suRt6SBn Yu+X24sdyYC+RXvY/IBjbB2sObwTheXAuySzUh87od35sgV2NXf9wzLnZ1sfglOYDGz53J UV7tNCOB4KJtFewTwkOIITxHkZfgpXFB0FbUVHLM5C1rtVdlEU2GsRF+XeTXN2+Xn9uFM8 PJF4nBZ/1Cn7cIn9522Pqr952rZUzCRU3mpFGJdjGlKeJnRaWQ6CImhhRjGwDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704039861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1sIWid9lIhWqRBVfuBO+3UvIufAnNQXdaBkxkvHRKFQ=; b=TuL4Rf2nZdY2trT83zwO2c2yOWTVwyj+4BMcfzbeyq42YVsTavpk0McHrGiZUhgZiJUTqC MeykZrL+guJkrermmdfck0vcGgZYGQn9zhf2ZoFcKRQn8LjghT9IMIBxzbekS3881bpZXQ BxnmKE0xq696PRS91gjvrzOTMgxPjfVYv+qBEFVyVol3wpupS5ZbJ6Q3LH4ZrYT7bf14Wo GSV0JayKiFc0NGZnJ7ucO6AFpW0nXSX+p8o/Wx+3ZHmojhsDFK7lYArQHSq4rEiPWCx0fX IodZk0NXlKbwTYeBVLVhQEUPHiURY5P+4h6z48HNJbOydBm7ocKthZTfpKQSzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T34FK5GYszhH2; Sun, 31 Dec 2023 16:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVGOLN6042586; Sun, 31 Dec 2023 16:24:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVGOLdt042583; Sun, 31 Dec 2023 16:24:21 GMT (envelope-from git) Date: Sun, 31 Dec 2023 16:24:21 GMT Message-Id: <202312311624.3BVGOLdt042583@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: f12a9a4c041a - main - frag6: Drop unneeded casts from malloc calls List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f12a9a4c041a4dbce7dccc85aa5fad155e137d7e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f12a9a4c041a4dbce7dccc85aa5fad155e137d7e commit f12a9a4c041a4dbce7dccc85aa5fad155e137d7e Author: Mark Johnston AuthorDate: 2023-12-31 16:15:22 +0000 Commit: Mark Johnston CommitDate: 2023-12-31 16:15:22 +0000 frag6: Drop unneeded casts from malloc calls No functional change intended. MFC after: 1 week --- sys/netinet6/frag6.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index 82d4239777da..a3a6e7eca14a 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -588,8 +588,7 @@ frag6_input(struct mbuf **mp, int *offp, int proto) goto dropfrag; /* Allocate IPv6 fragement packet queue entry. */ - q6 = (struct ip6q *)malloc(sizeof(struct ip6q), M_FRAG6, - M_NOWAIT | M_ZERO); + q6 = malloc(sizeof(struct ip6q), M_FRAG6, M_NOWAIT | M_ZERO); if (q6 == NULL) goto dropfrag; #ifdef MAC @@ -715,8 +714,7 @@ frag6_input(struct mbuf **mp, int *offp, int proto) } /* Allocate an IPv6 fragement queue entry for this fragmented part. */ - ip6af = (struct ip6asfrag *)malloc(sizeof(struct ip6asfrag), M_FRAG6, - M_NOWAIT | M_ZERO); + ip6af = malloc(sizeof(struct ip6asfrag), M_FRAG6, M_NOWAIT | M_ZERO); if (ip6af == NULL) goto dropfrag; ip6af->ip6af_mff = (ip6f->ip6f_offlg & IP6F_MORE_FRAG) ? true : false; From nobody Sun Dec 31 16:24:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T34FM0hVDz563yb; Sun, 31 Dec 2023 16:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T34FM0DFhz4YjR; Sun, 31 Dec 2023 16:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704039863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vHzo5A5xGfkPHH1UBGY/s8KMPWfLes3Lf9a+1jz8amI=; b=weKiFRntInW4vvAbs2O+TSdTS7UQZmzKOn47lOPGVtmcEoirWzo5Xxdv82MR4HFWp2bIIT OPnjABD9lEL9CaA/4n7BVoUgB2dEUQIzusKEKzY9JQ/3Q/hM7/sy1fNO1z1N88gKiRcSEF 8vS/tNayEqgtWbuLaHhVmTA2O6uB8v9m00AAQ4TREbuM+7k/EKk9ZtiNeB3ouyRF6TlePt bcUGEzL7GECU8OOo78kcyMw3jI5G7JJNE79iys0cXsn/PI9DeRSu9lbGJ9sgRmKhrmKiQo D6MPJZ/smJ6wIJS0BFzOzSannCSerFRWchWCZX6ExG0gTxvIRoWY389t8DC24A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704039863; a=rsa-sha256; cv=none; b=HgGCuSsA1UKFc10SEN4Pizz8k+WnhkznAcnoUSsHws4HIyD6yBWJkWd3TzeIfHRD2ha1o5 gJozvRscw0GgO0mjxnisNx7vYDHRUrEmXzaekfIY8a3lAij4DJDSq310+lwe9nHp/pmhwE ZwquMVFOPNXrQYiNK8UQm66kS893X+MGeY987lXGO27oNjx8mrLSD7KPWGtdRvoxtIje8M 5nR5wTPbLSLboCQHuF1oSZmE6qEX+Thw6u4/JOJH4ixTZ3H0TK1qAcwcfouUHShuRmR/oP 6+k1sxoxb4h3o8DXIOO6yuJDPcIGEm3YmSeS2e4UAKKuagjKvOUOSCduuSwMkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704039863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vHzo5A5xGfkPHH1UBGY/s8KMPWfLes3Lf9a+1jz8amI=; b=au64A5GQN9KZ3H3pQMHB17NDbA1kbs0E80yEqaMcWjTgj1jca0NIzij5H9p/hWoIKVTQj0 hDcUZYgKFG3TUpDVp1qw/BIpugFsvNk3Vy+j8LwUzw4e1e6SL7FZlCWr/Ae7f66cSN1ENB sQrVru+nGw5R1kAUt9FIZHq+jWAbDSfvdxbiXVYGA+GWyAR2vi/FVhUuKQn0UdwzV4/FO1 0JK36eZfw3pAqpy82KDV4LEYUt0ZaZMn5Nt9bEeS8tyXgVKbcYNiRNDjY2abkIQKH9XgMh W2RphY54WVTn+FRcHEHvNlEFbYmGI64KdiVVLfSP1/EuE8dflo/zY2O2/FmSaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T34FL66Bnzh4s; Sun, 31 Dec 2023 16:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVGOMJ3042625; Sun, 31 Dec 2023 16:24:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVGOMvA042622; Sun, 31 Dec 2023 16:24:22 GMT (envelope-from git) Date: Sun, 31 Dec 2023 16:24:22 GMT Message-Id: <202312311624.3BVGOMvA042622@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0736a38072b5 - main - frag6: Reduce code duplication List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0736a38072b52204289c669770a34d0b801a8a7e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0736a38072b52204289c669770a34d0b801a8a7e commit 0736a38072b52204289c669770a34d0b801a8a7e Author: Mark Johnston AuthorDate: 2023-12-31 16:15:48 +0000 Commit: Mark Johnston CommitDate: 2023-12-31 16:15:48 +0000 frag6: Reduce code duplication The code which removes a fragment queue from the per-VNET hash table was duplicated three times. Factor it out into a function. No functional change intended. Reviewed by: kp, bz MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43228 --- sys/netinet6/frag6.c | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index a3a6e7eca14a..fbdbc3ef2f28 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -288,6 +288,20 @@ ip6_deletefraghdr(struct mbuf *m, int offset, int wait __unused) return (0); } +static void +frag6_rmqueue(struct ip6q *q6, uint32_t bucket) +{ + IP6QB_LOCK_ASSERT(bucket); + + TAILQ_REMOVE(IP6QB_HEAD(bucket), q6, ip6q_tq); + V_ip6qb[bucket].count--; +#ifdef MAC + mac_ip6q_destroy(q6); +#endif + free(q6, M_FRAG6); + atomic_subtract_int(&V_frag6_nfragpackets, 1); +} + /* * Free a fragment reassembly header and all associated datagrams. */ @@ -324,14 +338,8 @@ frag6_freef(struct ip6q *q6, uint32_t bucket) free(af6, M_FRAG6); } - TAILQ_REMOVE(IP6QB_HEAD(bucket), q6, ip6q_tq); - V_ip6qb[bucket].count--; atomic_subtract_int(&frag6_nfrags, q6->ip6q_nfrag); -#ifdef MAC - mac_ip6q_destroy(q6); -#endif - free(q6, M_FRAG6); - atomic_subtract_int(&V_frag6_nfragpackets, 1); + frag6_rmqueue(q6, bucket); } /* @@ -637,15 +645,8 @@ frag6_input(struct mbuf **mp, int *offp, int proto) if (q6->ip6q_unfrglen >= 0) { /* The 1st fragment has already arrived. */ if (q6->ip6q_unfrglen + fragoff + frgpartlen > IPV6_MAXPACKET) { - if (only_frag) { - TAILQ_REMOVE(head, q6, ip6q_tq); - V_ip6qb[bucket].count--; - atomic_subtract_int(&V_frag6_nfragpackets, 1); -#ifdef MAC - mac_ip6q_destroy(q6); -#endif - free(q6, M_FRAG6); - } + if (only_frag) + frag6_rmqueue(q6, bucket); IP6QB_UNLOCK(bucket); icmp6_error(m, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_HEADER, offset - sizeof(struct ip6_frag) + @@ -654,15 +655,8 @@ frag6_input(struct mbuf **mp, int *offp, int proto) return (IPPROTO_DONE); } } else if (fragoff + frgpartlen > IPV6_MAXPACKET) { - if (only_frag) { - TAILQ_REMOVE(head, q6, ip6q_tq); - V_ip6qb[bucket].count--; - atomic_subtract_int(&V_frag6_nfragpackets, 1); -#ifdef MAC - mac_ip6q_destroy(q6); -#endif - free(q6, M_FRAG6); - } + if (only_frag) + frag6_rmqueue(q6, bucket); IP6QB_UNLOCK(bucket); icmp6_error(m, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_HEADER, offset - sizeof(struct ip6_frag) + From nobody Sun Dec 31 16:24:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T34FN4pxFz563h1; Sun, 31 Dec 2023 16:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T34FN0ttgz4Ygg; Sun, 31 Dec 2023 16:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704039864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FZHgB8baaeVMYKmwelY/Hfm81S0YqxSiQfJt27z9blk=; b=agwD4at8UA3y0MWvWDQVLBo7folzY3TJfu7RJz0bSjzenRXdEzawIVDVKFDwWGzKyKKPC4 o6wkqKSkP8OXQ6t3/A7pD/tVBWezZCQmtjjwOCBGD8wruTgmRILd606Bd87a2kW1+pyTjs E5AWqtjI2VoceJ9NlLN0g2T2I3iRWxIRnkNMDvyXqbGBaMsaYwgU91dMJUkCCw1axg7X/L S9y1YIu5nTxsrRGgfYCnFGQg/dq+z4Mc0d5SPu76QSAujulpmJvL+AnSx20vckrHFMSXen ZcFtkYgBcKsr3jrTesdAEhNO6gJAuaIXOmbgjI5fmjnkUuB0HfsQyym9jVcCsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704039864; a=rsa-sha256; cv=none; b=OwwDfblMVF/DvvK/GO2KpgA82/EcsMzmGxhEwfXV4B4kTZZyjGtDBvDN6Nc+jeIecDffCQ vRWSip1PXjlkMkpJrjaPa7yqbMFrxl6Ge8Aq2c8RxT3YX7RIA61W24jjb02sR+R9U6lQyM yqGx5iziJZXlGazOkQULuL8yNi/+gCykGgg2H6sT10GPopfRbuj/sN1saWwvMU5aBRO3JS AGs5p5iCv/+/8LDJnlNuQl1Y/9Tuw554i6HhsfpXMreN1B4o9xWgky0Gc6HZdXbjoqq3Bk r+FPAEU47druIcyVOoK/Ib9R9q+gujsA1SJbyWH33GBq+p8AYRPcefPvDvgJyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704039864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FZHgB8baaeVMYKmwelY/Hfm81S0YqxSiQfJt27z9blk=; b=bTRbg7kpny9J18Wjd9nlHfY0pLgojpw4aAyLj+XBOZqEiLgOrQy+it14iNzPfF9DfcA3A1 sJCIN5+S9xaYxOheZeq+GD9gg09WoIRGcyyPepQvFivpL68Cblzz9fub4/3kogoZe4Gb0E Aaax7OpaPbhAHPD/3cR4oqdGAuw4Zi2uEZ/lmS6hARg9F6Cu7gcohTDEVz1IVq3DhnO03d pm8ZKl0tWWU5V/ZX/5ITJB4FkSf7/Jb8VTrzrYzrgLnwlDXC4XVuT2udRQplliA0GcfnUg JsAmvwl7nLVPlcIPUrXYZ+jslWO6LpuUc690UHRbalin2B8dn4zg/GPeorIyEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T34FN009xzhKJ; Sun, 31 Dec 2023 16:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVGONEO042661; Sun, 31 Dec 2023 16:24:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVGONw5042658; Sun, 31 Dec 2023 16:24:23 GMT (envelope-from git) Date: Sun, 31 Dec 2023 16:24:23 GMT Message-Id: <202312311624.3BVGONw5042658@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8b57b2a98b64 - main - frag6 tests: Serialize List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b57b2a98b641794538980aed2cd16c94aedaf4d Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8b57b2a98b641794538980aed2cd16c94aedaf4d commit 8b57b2a98b641794538980aed2cd16c94aedaf4d Author: Mark Johnston AuthorDate: 2023-06-18 18:14:43 +0000 Commit: Mark Johnston CommitDate: 2023-12-31 16:22:45 +0000 frag6 tests: Serialize I'm not sure exactly why, but these tests consistently fail when run in parallel. Serialize them for now. MFC after: 1 week --- tests/sys/netinet6/frag6/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/sys/netinet6/frag6/Makefile b/tests/sys/netinet6/frag6/Makefile index f3eef9305a16..d1661060368b 100644 --- a/tests/sys/netinet6/frag6/Makefile +++ b/tests/sys/netinet6/frag6/Makefile @@ -29,6 +29,8 @@ ATF_TESTS_SH= \ frag6_19 \ frag6_20 +TEST_METADATA+= is_exclusive=true + ${PACKAGE}FILES+= frag6.subr ${PACKAGE}FILES+= sniffer.py ${PACKAGE}FILES+= frag6_01.py From nobody Sun Dec 31 16:49:24 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T34pD2WSqz5664f; Sun, 31 Dec 2023 16:49:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T34pD1zvKz4dKm; Sun, 31 Dec 2023 16:49:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704041364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0Iea6QIgXk/GHcZ659MrguQGeMqQZfaVGCUL710GJM=; b=qEqSl1UgIhpz5fW98hs7RWzFpOSuGqRrJBa9z3u3VnQgHGmIgEmI/5oaWd9dz9tQcUVIgU W3Ip9iFQi8Dy7TCtQVsFDIT3cdKZO/ODbCc3IEzObkTos47Z/D4O2WGGvtWNXO/1vrTrOf 92SHJwcOmuDW+u1R+jX64/8YWOC7K0dtoVnhc1Kz2bEKRI98RlajDaeKV9bWWa/qGPRkTA 19COGLjTuZ+g2eVDO1k0+ryF1uOsNQ0DK4T62IVB8wkvc5av9meR85jyH+P0Pi4P3V7fh5 5gcNDC/2mR+cXeVceFsrIvVQptQiNh/WpJGJ8oiqsqmuMevFMEJanIlKJHiBiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704041364; a=rsa-sha256; cv=none; b=iwzalsW5lZ7lvKOqBHeghvdeu7DMdOZnGoMoc1DI8NLU2R9F2P+AT5Daz+Ba7UqROB0lA9 +CD81nX6HFUn7FZfKPyQg8r3kg//DMVJ83ODWu5XMzg4TbJpebYJM3HBvIBcQZYva0MKIX jSpNrBsKImRJW1ArPUfBfGIlr31i9Le7yayMi4HhvjcVY25pAYKnUMQ1Aj+utJxqBhHdHg 8fGgclwUftJZmWsrmtoZJaH1yrUBJqrdGeEQRUNCE5096zY2/hosy2RqOamdGO3ttuzDo4 O4F3qvHH7qCrcDnffWzrV7Fwq35899oqDeGKWMrDO7/UbyxF17ADx6u2zr1lhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704041364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i0Iea6QIgXk/GHcZ659MrguQGeMqQZfaVGCUL710GJM=; b=faN6KOHoGbuY47HHhLOnei9syqG/M5cXkSTPgYPKcgHpeydp49KS1IdpBcQjvnoBtf2Z9o HCNbHES5p7z10VCElcFBcQwJuyt30aE0orFFmncHveU1qrYxtH+zl4YllGQvb9H83NCAKZ 99Z3tRUhbf7K3lhd8Cl2Yz3TLKoClodosMA5FM8sV499fCkDs9877iXJi6xF4jA6DOWTvE 6keaRH75w1P53mFJb9y+118+czPX4PMgTaef3fnEU4CzH0CrNIpV1Pb5OnyhHnAM/loFpz H8whFnKbCWVjmKhIyJoa3JZjYWmvZUcgdrs7fkYi8TCaX24zVmC7tOGVAaMzPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T34pD13Vxzj6F; Sun, 31 Dec 2023 16:49:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVGnO6w077061; Sun, 31 Dec 2023 16:49:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVGnOva077058; Sun, 31 Dec 2023 16:49:24 GMT (envelope-from git) Date: Sun, 31 Dec 2023 16:49:24 GMT Message-Id: <202312311649.3BVGnOva077058@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: e1f336704d30 - main - gtaskqueue: Fix a typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e1f336704d308679d4178fd5063dba854b22a07b Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e1f336704d308679d4178fd5063dba854b22a07b commit e1f336704d308679d4178fd5063dba854b22a07b Author: Mark Johnston AuthorDate: 2023-12-31 16:36:12 +0000 Commit: Mark Johnston CommitDate: 2023-12-31 16:49:08 +0000 gtaskqueue: Fix a typo This is a no-op in practice since gtaskqueue_thread_enqueue() and taskqueue_thread_enqueue() are identical, and while _gtaskqueue_create() compares the enqueue callback pointer with gtaskqueue_thread_enqueue(), the result has no effect since TQ_FLAGS_UNLOCKED_ENQUEUE was copied directly from subr_taskqueue.c and is unused in the gtaskqueue code. Fix it anyway since it's a bug. More generally we really need to consolidate subr_taskqueue.c and subr_gtaskqueue.c. PR: 270661 MFC after: 1 week --- sys/kern/subr_gtaskqueue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/subr_gtaskqueue.c b/sys/kern/subr_gtaskqueue.c index e68e1b9318fa..120ffaba874a 100644 --- a/sys/kern/subr_gtaskqueue.c +++ b/sys/kern/subr_gtaskqueue.c @@ -613,7 +613,7 @@ taskqgroup_cpu_create(struct taskqgroup *qgroup, int idx, int cpu) qcpu = &qgroup->tqg_queue[idx]; LIST_INIT(&qcpu->tgc_tasks); qcpu->tgc_taskq = gtaskqueue_create_fast(NULL, M_WAITOK, - taskqueue_thread_enqueue, &qcpu->tgc_taskq); + gtaskqueue_thread_enqueue, &qcpu->tgc_taskq); gtaskqueue_start_threads(&qcpu->tgc_taskq, 1, PI_SOFT, "%s_%d", qgroup->tqg_name, idx); qcpu->tgc_cpu = cpu; From nobody Sun Dec 31 18:01:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T36Pn3TS1z56ClQ; Sun, 31 Dec 2023 18:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T36Pn2zttz3GWg; Sun, 31 Dec 2023 18:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704045709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dHWxbnm7xoLC/exXNP28N9bDeerzJd+2g01N7mdj6Y=; b=rcC1tRlgVrYmH0TSdF2RbataI30XrA8kaVQQ+6a+azgCKfcq4+YkLRUQGQ43XsJ2NPdWQR LR4ZRnu1xt86PljjIuT4EjyQrHfwHPK61DgR754KpHLde4Aah7+nwzaPdIwskrDmQDs3eq /l21jbrzKTyj+IWu3c7IzgOP6OfItfA6ulADEKWuAYsyhLCkrvL17/Jr/alUlgx3B8gkVk vVYLmtnYObpz4QeHVZQcSH7D2l3DrkXGQqJjKUULODBea2vPvW+JmlVIJ/7gt3URKD1N66 MqMSXlVkhQaMcqYnYB+NHE9jQanYMyqvOtUxhRPV66CGldtAfqDqQTcR2GbFig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704045709; a=rsa-sha256; cv=none; b=rPTSwT7WhREThNmocNLzpyYkPnsewImNEi0UqOFgp53F3pTGJ6UD94kbQeXW5tmho3GbfE 4HzD2gnuKnt519pmRVKSx4iQMNl9R2Jkq+cQrOoqb753Oml8IszMWa78jK5ju8ipjyQXgg ngWHO2ghgo76+OVgmXHWEx9PS2tbbktwNmUQ7fIbTzPxAhB572Zd2tkEajAKJ7PMOQ9K3s kgGVgEmvdO5TN1HT75Ls0bBJNraopWTZTt3NxHPPGlNKyztZtffS0zleJ7K6U/0wWQkphV jNGJWtyPsUKm2NS/v0bsXZ/e8vxt/0eP/PHpllvsV4LIgqLUWJ//iVMNZuqmDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704045709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dHWxbnm7xoLC/exXNP28N9bDeerzJd+2g01N7mdj6Y=; b=arvH+g+xzsheXytAfeVExU+xp/NIeorjx32WoMuVa8Wbsh79cFbErDXW9pOfT2xOShrqCi rFI4YmVbLBotTqj/ST9twHMRGCUY10ScEWJFA/PpBS2kgx4I3UcLcN8gH2IU2af7PgFXML T6AZkUk5prfir8I14meZakOmNNeFF1Td5kgLdBbiPE81q2yykwMlQc5l5wrcZjEHc7nRcp /eWgrz6Ivchk63G27cYXWCTGHOyo3vgA1laNPOHJli5rhxxDVOeWj9XKPCvNR8X0WrkjB0 Uyhcof/LvfIXXyhHUsRJQaXSld5fEDsA8Hy9AzlWz7qpZMkYGrrz6Yqf8YP/tQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T36Pn22t9zkpl; Sun, 31 Dec 2023 18:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVI1nXc010899; Sun, 31 Dec 2023 18:01:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVI1nqM010896; Sun, 31 Dec 2023 18:01:49 GMT (envelope-from git) Date: Sun, 31 Dec 2023 18:01:49 GMT Message-Id: <202312311801.3BVI1nqM010896@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: ad3174ecea33 - main - libdtrace: Fix line number reporting in error messages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ad3174ecea3374442b3504149fe2b5a9d9ec6f1e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ad3174ecea3374442b3504149fe2b5a9d9ec6f1e commit ad3174ecea3374442b3504149fe2b5a9d9ec6f1e Author: Mark Johnston AuthorDate: 2023-12-31 17:37:06 +0000 Commit: Mark Johnston CommitDate: 2023-12-31 17:47:30 +0000 libdtrace: Fix line number reporting in error messages MFC after: 1 week --- cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l index 7dcf21652586..d50369bb57c9 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l @@ -97,6 +97,8 @@ static void unput(int); */ %} +%option yylineno + %e 1500 /* maximum nodes */ %p 4900 /* maximum positions */ %n 600 /* maximum states */ From nobody Sun Dec 31 18:40:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T37Gr0j5hz56Gw4; Sun, 31 Dec 2023 18:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T37Gr03R9z3Jwd; Sun, 31 Dec 2023 18:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704048052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rhtmf5DdymImVQMElKxER5MPSS6/9YU5A9esNukEB0c=; b=C8CE8cO+5JSt+oEQNE61fesdhnqVvU6woloxpWXmCR5ko3SG2/IowULoSDnFn1fF7dmJ4X e2BsYK/xRN5ENLpPd3rsQ4ACEBl5H+KJpQKpeP6FAwrDip7SiI7Cve/U6P35a/8nUXWqdn 4qX9m8tpviDjUnZr8QeO9S2qgcxurw9Oa1hKyIIBZ6MJ4uvV7zxEXACOVP9JM++t6GRqUi QYFGXELiJui7Q9iHcK956rqyvQxRXrdOcfiaVfVfVH7t6fcpSIzpWIKZ8UBLMFEb2Jx2uS vOixJXyTOxjb+iYPpHMMpjW0JJ7UM2LB3h6Use8+QwYOkiAOdqDUW8H7oAYkJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704048052; a=rsa-sha256; cv=none; b=LY2oiD9vY7sY6Uwd9RVI9D9OVkYSijQvk6ydbRiooEiWC3gCSt3bLOPzvp0PW46OCAPXBk wrMVINqCXYn6/aON8QdnUvf1WNQCyPP5S/u+otESFciRaN2EPcriOsNn6h7SXRw4WXS6FV 0+YnK9+5czeLg5VZohm4DPhAtXK0AO9M1m7gRozBYUnzFL6fp8Uc3dSNKgwRyWU2beY0Du cYtWj+RzP1Uz6QKIfd9ah5UVWt+4tkVaY7uHLKFTVrPy9/U9d+NbpVKKDNdGnc3txfYpXy Yhhn5LgORqS3ojmA6dME9k6AIPEbmQmUy3r1uof0NuPeEF7enRn3kBa9VFXSxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704048052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rhtmf5DdymImVQMElKxER5MPSS6/9YU5A9esNukEB0c=; b=kSWWRtfPyr7LdN1u/lyU+Jq2GMTcA6jIqtxQp7CbRZq8L/6fbU1sBxukaLAejwaSKPkH6K 7wHSzpHVLX31Y9UN+mA3pzkcCPCVlHMdo2wSQSsXjWiyX6y9kwagHhMjCrHgKCTDTaENjt ttkG6eczJ/8O4wgQEMjdpKDdnlMzIY6Mn9GbI8gQyBbtOC7zmPVnhrRkVtuu91RCiQbbOF /8mZ9+hVF5tYIjA/atvVnQSq2WRkOIzw3zytIJodo71Of16KGDNP3Gl6lZFY7m+qdmOcpL ygSDK+p5vozdT4/FnCWXQq4TSfckVWqRuY8a6yJ0tMhGXDT0kwaRQA+iqGUJMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T37Gq6F54zlmP; Sun, 31 Dec 2023 18:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVIepHm070462; Sun, 31 Dec 2023 18:40:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVIepaK070460; Sun, 31 Dec 2023 18:40:51 GMT (envelope-from git) Date: Sun, 31 Dec 2023 18:40:51 GMT Message-Id: <202312311840.3BVIepaK070460@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: a04ca1c22919 - main - rc.initdiskless: Remove bogus plus sign List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a04ca1c229195c7089b878a94fbe76505ea693b5 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a04ca1c229195c7089b878a94fbe76505ea693b5 commit a04ca1c229195c7089b878a94fbe76505ea693b5 Author: Jose Luis Duran AuthorDate: 2023-12-31 18:39:37 +0000 Commit: Mark Johnston CommitDate: 2023-12-31 18:39:37 +0000 rc.initdiskless: Remove bogus plus sign Reviewed by: imp, dab Fixes: Fixes: 93b7818226cf ("libexec/rc/rc.initdiskless: make tar's path flexible") Differential Revision: https://reviews.freebsd.org/D43241 --- libexec/rc/rc.initdiskless | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.initdiskless b/libexec/rc/rc.initdiskless index ee891c3f782e..8b4a01187636 100644 --- a/libexec/rc/rc.initdiskless +++ b/libexec/rc/rc.initdiskless @@ -362,7 +362,7 @@ done # so if the cpio archive is present, it prevents the files from dir/ # from being copied. -+PATH=${PATH}:/rescue +PATH=${PATH}:/rescue for i in ${templates} ; do for j in /conf/$i/* ; do From nobody Sun Dec 31 21:04:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3BSF0tnBz55JHX; Sun, 31 Dec 2023 21:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3BSF01w4z3chq; Sun, 31 Dec 2023 21:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704056653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pz65Tt2jCpaTGn9ZdDrdkrXunEMLPABkOkjYdw1Mshc=; b=HhvJTKBXvHJTcuMn0+87yEOM/H61S4eGTopSFk8eQ5W2+Is8xVQOeRkOdduP5MRZ38/G35 +BUxq3HgtERDxquy84tvqzO9iu6wT83VT1k0kPJC2yFFSD+rDP1xQgDo1z8Wv3gdu9gLn0 MpklPguNcg8zxFy7+/Ng2B+Nlx4v8iKsx4rkIJfBWbNb0bzzWWDFUgsL9g9fv0a0XZV/IV ql68lgNtBLH24FnFPnOHVYc+Kxn/i0r4gTPWd6S7VRpty+fXQIxHP6aMXeu+1HiZUeswvq dszZsbhF6jVSc0EEJQn/ygcL8FMVUW1YKpn+dZma7vcjZrI/G9+IWc8E56s8QQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704056653; a=rsa-sha256; cv=none; b=R+m8u0FVuUBdOJy74MP8UD8AtZ5/6LLW5bgmGYeLYlGHjA+jXvgA1uu2lFhgQNEKrSw79Y RMqR7gcEwJL3E2ORKP0E3k94J+Z6aIDFkPIBJ7xMpbAhhT1swSNSEtrY3JIVpgak6j40E4 6EuI5mh9LpEhyhht5XalubvnmXWKZDHJE1RbyftVkCu7mI8/ns+pWK8nd7tmsvHu1u0RHh wCrL0srb3+exZ+YBQcc2Fl8p8I1rJ7ZFe4Ki6ku+ZwLwey4SzU5KN/xjBBgdMS/cnaWOQV 70gBUYZqAL4tpIIwa2Kn9bHBDORglG+EACf6todSmxMs08e6rhaDgGxmAvIh7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704056653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pz65Tt2jCpaTGn9ZdDrdkrXunEMLPABkOkjYdw1Mshc=; b=CUpFJaiBWW/qJod0cUkXWBD5wQM7NiQywiCXAOg/ze3HnNTxPF0uLmn5l9668gSuMn9qtU rtcQO/0OOsQgC2cEqEK1rlkjWZ3ai+dEI4epntgN49+fjQL5uJSsMfN1VcsJrfwOfDTqS/ 1i2tWlBYUUAHgAvaRtIo9BKVpRld0raMDuGYre9l8qS3CBOJzA90iTwAYX4m7fiJsgOgjd h3pkneCaUc7HpiiaDJfYOJW2/17pLxH5Cr17k+bNRZAG18pKznKWRJchA3cWuLXcxZ1cjv q5A8QAL7Me2CN/UdrPftyvBxiWepwBuuQANOUksrUBdRVId3sl35Zcs7F3xpcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3BSD6B0HzqHL; Sun, 31 Dec 2023 21:04:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVL4CGG012480; Sun, 31 Dec 2023 21:04:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVL4CHe012477; Sun, 31 Dec 2023 21:04:12 GMT (envelope-from git) Date: Sun, 31 Dec 2023 21:04:12 GMT Message-Id: <202312312104.3BVL4CHe012477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 38c63bdc4625 - main - libdtrace: decode all tcp header flags and add decoding capability of TH_AE to dtrace, including the example provided with tcpdebug. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38c63bdc46252d4d8cd313dff4183ec4546d26d9 Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=38c63bdc46252d4d8cd313dff4183ec4546d26d9 commit 38c63bdc46252d4d8cd313dff4183ec4546d26d9 Author: Richard Scheffenegger AuthorDate: 2023-12-31 14:00:21 +0000 Commit: Richard Scheffenegger CommitDate: 2023-12-31 14:02:03 +0000 libdtrace: decode all tcp header flags and add decoding capability of TH_AE to dtrace, including the example provided with tcpdebug. MFC after: 1 week Reviewed By: markj, mav Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43243 --- cddl/lib/libdtrace/tcp.d | 35 +++++++++++++++++++---------------- share/dtrace/tcpdebug | 9 ++++++--- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/cddl/lib/libdtrace/tcp.d b/cddl/lib/libdtrace/tcp.d index ea3a553ebf53..a91f2cd2b0b4 100644 --- a/cddl/lib/libdtrace/tcp.d +++ b/cddl/lib/libdtrace/tcp.d @@ -81,21 +81,23 @@ inline int TCP_STATE_TIME_WAIT = TCPS_TIME_WAIT; /* TCP segment flags. */ #pragma D binding "1.6.3" TH_FIN -inline uint8_t TH_FIN = 0x01; +inline uint16_t TH_FIN = 0x01; #pragma D binding "1.6.3" TH_SYN -inline uint8_t TH_SYN = 0x02; +inline uint16_t TH_SYN = 0x02; #pragma D binding "1.6.3" TH_RST -inline uint8_t TH_RST = 0x04; +inline uint16_t TH_RST = 0x04; #pragma D binding "1.6.3" TH_PUSH -inline uint8_t TH_PUSH = 0x08; +inline uint16_t TH_PUSH = 0x08; #pragma D binding "1.6.3" TH_ACK -inline uint8_t TH_ACK = 0x10; +inline uint16_t TH_ACK = 0x10; #pragma D binding "1.6.3" TH_URG -inline uint8_t TH_URG = 0x20; +inline uint16_t TH_URG = 0x20; #pragma D binding "1.6.3" TH_ECE -inline uint8_t TH_ECE = 0x40; +inline uint16_t TH_ECE = 0x40; #pragma D binding "1.6.3" TH_CWR -inline uint8_t TH_CWR = 0x80; +inline uint16_t TH_CWR = 0x80; +#pragma D binding "1.6.3" TH_AE +inline uint16_t TH_AE = 0x100; /* TCP connection state strings. */ #pragma D binding "1.6.3" tcp_state_string @@ -173,7 +175,7 @@ typedef struct tcpinfo { uint32_t tcp_seq; /* sequence number */ uint32_t tcp_ack; /* acknowledgment number */ uint8_t tcp_offset; /* data offset, in bytes */ - uint8_t tcp_flags; /* flags */ + uint16_t tcp_flags; /* flags */ uint16_t tcp_window; /* window size */ uint16_t tcp_checksum; /* checksum */ uint16_t tcp_urgent; /* urgent data pointer */ @@ -192,7 +194,7 @@ typedef struct tcpinfoh { uint32_t tcp_seq; /* sequence number */ uint32_t tcp_ack; /* acknowledgment number */ uint8_t tcp_offset; /* data offset, in bytes */ - uint8_t tcp_flags; /* flags */ + uint16_t tcp_flags; /* flags */ uint16_t tcp_window; /* window size */ uint16_t tcp_checksum; /* checksum */ uint16_t tcp_urgent; /* urgent data pointer */ @@ -264,7 +266,7 @@ translator tcpinfo_t < struct tcphdr *p > { tcp_seq = p == NULL ? -1 : ntohl(p->th_seq); tcp_ack = p == NULL ? -1 : ntohl(p->th_ack); tcp_offset = p == NULL ? -1 : (p->th_off >> 2); - tcp_flags = p == NULL ? 0 : p->th_flags; + tcp_flags = p == NULL ? 0 : ((p->th_x2 << 8) | p->th_flags); tcp_window = p == NULL ? 0 : ntohs(p->th_win); tcp_checksum = p == NULL ? 0 : ntohs(p->th_sum); tcp_urgent = p == NULL ? 0 : ntohs(p->th_urp); @@ -283,7 +285,7 @@ translator tcpinfoh_t < struct tcphdr *p > { tcp_seq = p == NULL ? -1 : p->th_seq; tcp_ack = p == NULL ? -1 : p->th_ack; tcp_offset = p == NULL ? -1 : (p->th_off >> 2); - tcp_flags = p == NULL ? 0 : p->th_flags; + tcp_flags = p == NULL ? 0 : ((p->th_x2 << 8) | p->th_flags); tcp_window = p == NULL ? 0 : p->th_win; tcp_checksum = p == NULL ? 0 : ntohs(p->th_sum); tcp_urgent = p == NULL ? 0 : p->th_urp; @@ -311,17 +313,17 @@ inline int TA_DROP = 4; /* direction strings. */ -#pragma D binding "1.12.1" tcpdebug_dir_string +#pragma D binding "1.13" tcpdebug_dir_string inline string tcpdebug_dir_string[uint8_t direction] = direction == TA_INPUT ? "input" : direction == TA_OUTPUT ? "output" : direction == TA_USER ? "user" : direction == TA_RESPOND ? "respond" : - direction == TA_OUTPUT ? "drop" : + direction == TA_DROP ? "drop" : "unknown" ; -#pragma D binding "1.12.1" tcpflag_string -inline string tcpflag_string[uint8_t flags] = +#pragma D binding "1.13" tcpflag_string +inline string tcpflag_string[uint16_t flags] = flags & TH_FIN ? "FIN" : flags & TH_SYN ? "SYN" : flags & TH_RST ? "RST" : @@ -330,6 +332,7 @@ inline string tcpflag_string[uint8_t flags] = flags & TH_URG ? "URG" : flags & TH_ECE ? "ECE" : flags & TH_CWR ? "CWR" : + flags & TH_AE ? "AE" : "unknown" ; #pragma D binding "1.12.1" PRU_ATTACH diff --git a/share/dtrace/tcpdebug b/share/dtrace/tcpdebug index e6ba394743e6..07367b7637f5 100755 --- a/share/dtrace/tcpdebug +++ b/share/dtrace/tcpdebug @@ -64,7 +64,8 @@ tcp:kernel::debug-input printf("%s", flags & TH_PUSH ? "PUSH," :""); printf("%s", flags & TH_URG ? "URG," :""); printf("%s", flags & TH_ECE ? "ECE," :""); - printf("%s", flags & TH_CWR ? "CWR" :""); + printf("%s", flags & TH_CWR ? "CWR," :""); + printf("%s", flags & TH_AE ? "AE" :""); printf("%s", flags != 0 ? ">" : ""); printf("\n"); @@ -97,7 +98,8 @@ tcp:kernel::debug-output printf("%s", flags & TH_PUSH ? "PUSH," :""); printf("%s", flags & TH_URG ? "URG," :""); printf("%s", flags & TH_ECE ? "ECE," :""); - printf("%s", flags & TH_CWR ? "CWR" :""); + printf("%s", flags & TH_CWR ? "CWR," :""); + printf("%s", flags & TH_AE ? "AE" :""); printf("%s", flags != 0 ? ">" : ""); printf("\n"); @@ -135,7 +137,8 @@ tcp:kernel::debug-drop printf("%s", flags & TH_PUSH ? "PUSH," :""); printf("%s", flags & TH_URG ? "URG," :""); printf("%s", flags & TH_ECE ? "ECE," :""); - printf("%s", flags & TH_CWR ? "CWR" :""); + printf("%s", flags & TH_CWR ? "CWR," :""); + printf("%s", flags & TH_AE ? "AE" :""); printf("%s", flags != 0 ? ">" : ""); printf("\n"); From nobody Sun Dec 31 23:57:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3GJd05LZz55cLJ; Sun, 31 Dec 2023 23:57:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3GJc6gNqz4Qrg; Sun, 31 Dec 2023 23:57:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704067072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dF8WuFHLI7OoD8onfRJyx4/0ljwKUQJ0aWJIHjU9ar4=; b=sOLVWuaZTIo6xygf6umIO2I7EVO49Aj/pkCFl5Hf4/11Xmzo/cdqyCBPLpVJpshaRb7CvK AF/bfmtZ5RDJRmXPvSmTWwYCEVFOrBxNdtNaubTaWLzVYACRD+WJWVUzf509EGhDrWvbQp G9wBgjb6ZSbGU9unP4IDUj2HaRMEqQf9Z09q+NcDU0UA1Ab+8xN3oRzPQ3wsidUOhH0xVH 5S0wEaIpF2iJhhJFPwVqp+oUAsX36kyT3UKXSMkYT9FIpd0j0Tb8wPYNLpXoRS+3N6+1Y3 6Ft+o0g6uaPr9v6xOLWOqTOKwExCtfh3yVlpdhoaqBb3FUEcd4dLykDJGBonxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704067072; a=rsa-sha256; cv=none; b=XmlkAc01EUYtKBlQU/VOsyKXMpx/0ISHYs03ArKYmIEI0ov56oxpNjL4L+Xb40vbalj2H0 dRzsM3KrqfMt1ATjY6skatAPiE2cERXX13slebxandtkVBSbzpdCrYpdtbGpI/zuKan5JE Ubaqu1fzmzV51WDTP64E14yLhUoz0Lih64GMevRsYkUdd6If8zqM2llE4aJrofIWLFsyba ZlDrucM4+2Jya7wzQmq7DFFqlHbsnpZP4fMbgeGr/N6jbx/wX6Ss8JNqtsmoQpluB/X5G3 8pNv3x8VLVYMTsNjnX/PtXTSqKdyNFP87lphHWo4Ba4WI53K+qFEMHI3ItWvPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704067072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dF8WuFHLI7OoD8onfRJyx4/0ljwKUQJ0aWJIHjU9ar4=; b=fMuBEHRpcglY4pOfz+4jxvYMBwVAqvPtAs8BD3CVI6/KXeLE19NhpThg/lkCKQCqThw1Uu 3oWxjlU21N46MWq4O//juQwtjtFnNpePKFfe7yszag+Aiu9EnJkHV/0BofJ2obMGzSuQpq jaqYtAyi8DQqYic9MsngEqveagShdeRd/gqrjBLzBdwZ6AUUTSj9DV74Nc0MFf6MUr+ato J1gdmYpeyu2AWnzRYxfnaQCBRW/f5FccdgQk9IxUNnKt13AxcDLVUyoNfu2QKPaMt6Pylx 7MGjY/j8NFJni8at1QyjB9cRrTWmCtR5f5zZFbRviBSIflHSyZQ6mwXZXjLixw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3GJc5QhnzvGM; Sun, 31 Dec 2023 23:57:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BVNvqoK097361; Sun, 31 Dec 2023 23:57:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BVNvq4c097358; Sun, 31 Dec 2023 23:57:52 GMT (envelope-from git) Date: Sun, 31 Dec 2023 23:57:52 GMT Message-Id: <202312312357.3BVNvq4c097358@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 2319ca6a0181 - main - vfs_vnops.c: Fix vn_generic_copy_file_range() for truncation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2319ca6a01816f7fc85d623097c639f239e18c6a Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=2319ca6a01816f7fc85d623097c639f239e18c6a commit 2319ca6a01816f7fc85d623097c639f239e18c6a Author: Rick Macklem AuthorDate: 2023-12-31 23:55:24 +0000 Commit: Rick Macklem CommitDate: 2023-12-31 23:55:24 +0000 vfs_vnops.c: Fix vn_generic_copy_file_range() for truncation When copy_file_range(2) was first being developed, *inoffp + len had to be <= infile_size or an error was returned. This semantic (as defined by Linux) changed to allow *inoffp + len to be greater than infile_size and the copy would end at *inoffp + infile_size. Unfortunately, the code that decided if the outfd should be truncated in length did not get updated for this semantics change. As such, if a copy_file_range(2) is done, where infile_size - *inoffp is less that outfile_size but len is large, the outfd file is truncated when it should not be. (The semantics for this for Linux is to not truncate outfd in this case.) This patch fixes the problem. I believe the calculation is safe for all non-negative values of outsize, *outoffp, *inoffp and insize, which should be ok, since they are all guaranteed to be non-negative. Note that this bug is not observed over NFSv4.2, since it truncates len to infile_size - *inoffp. PR: 276045 Reviewed by: asomers, kib MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D43258 --- sys/kern/vfs_vnops.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 7fe861ccaee7..1852f2b1ef00 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3361,8 +3361,7 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, goto out; if (VOP_PATHCONF(invp, _PC_MIN_HOLE_SIZE, &holein) != 0) holein = 0; - if (holein > 0) - error = vn_getsize_locked(invp, &insize, incred); + error = vn_getsize_locked(invp, &insize, incred); VOP_UNLOCK(invp); if (error != 0) goto out; @@ -3398,7 +3397,11 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, */ if (error == 0) error = vn_getsize_locked(outvp, &outsize, outcred); - if (error == 0 && outsize > *outoffp && outsize <= *outoffp + len) { + if (error == 0 && outsize > *outoffp && + *outoffp <= OFF_MAX - len && outsize <= *outoffp + len && + *inoffp < insize && + *outoffp <= OFF_MAX - (insize - *inoffp) && + outsize <= *outoffp + (insize - *inoffp)) { #ifdef MAC error = mac_vnode_check_write(curthread->td_ucred, outcred, outvp); From nobody Mon Jan 1 00:10:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3GZq6Nqrz55djm; Mon, 1 Jan 2024 00:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3GZq5gFvz4RwV; Mon, 1 Jan 2024 00:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704067811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dFG9uGAd3pChV4On/4da1fbVcWm0doQKdORZhT7acWU=; b=K0DDwnYAMHefRaW7CMPNbBJSzesr5dd7ngr9awqRtA3wqqPqyV73cAl7ckrX8ji7LDH+Ee fNHWBzhk7QYpY15+hdYTsiidAIw5JWnXuaMy65oVCj9BrWxRQDA7lfP9smO7302N0Y1YXO tbs63zvsbLHO2T4BLqju+ZNdRrZdman4wu7DS02Yk/KYMvJsMeqWgD0DUgQMuGQD5tKAQE A7+N5AAaURXv1ysy46zUMjAKqQ6vlIbOzak0oa98NAMNH3AfuowUeMtjQHIz/HZRdoLZKC 5UrQzBuYkMZGpu1jFB9VvPgsTxeQ1UzQL8d3terZfs3wUIvohId79j7KnxATzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704067811; a=rsa-sha256; cv=none; b=IjY9ruMvOnwcTOAY9n5D5Qh/wKd+TyEyJ0A36DFZwNvLdzgYCUuZmNGnqLGRj64RZJiOVS 8aS3JXco36oJKiD8bikep6+CEycboQN+OgHUnhsOTrIxRzeU2rm4ImjHXjBl81h38GBReg JXHyNJFYSJQNObC7B20SFJw1qjx52hlU2YHTgfChwFB1q8J0iKn8aLQIeK3uYCMfjyWZSv 8fOU+WQsNAUFJnch41WV4azzse6SwHoOX00jBFAjOLy7xzO8kRFszlOR6Pvt1fJpC0lLdt QxB2O0OTbEibGto6Gr7pJ0saouB7dIE2ARjS7v2Uz7UTGYafek95QU521ST+BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704067811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dFG9uGAd3pChV4On/4da1fbVcWm0doQKdORZhT7acWU=; b=hh7c8+RjFYK/P/49cvDnOjEZyhu62Zu/++sbbu39vCJT8YG0S7EoT2RwVO9QhwsDsvQjOz CWJYtr2Pjs5VyIq3eI3BwT8gAolwD7nI7+yMxQqH3RGK+pJJ7tbRafTaSVMR4otyIdtWVW MBE48+HcbMZto8oMCs9yAxugC4R07WBoAeYdhlpesqJNFFlN5z/3Qv1sNwdZkzuNV4MXBb /mdr08no8wAdqhA7fORXLo9SRhj4ar+UvZjLSwFs+akQFijfuJnP6iltQGWLU8CAiKY9AV r8ArVPyCgXJzhrXCDt4g41UcF7V3TjTR15u89JLCICjQM+3TiVrAydLaMCLdsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3GZq4lS4zw1Y; Mon, 1 Jan 2024 00:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4010ABnA020147; Mon, 1 Jan 2024 00:10:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4010AB7Q020141; Mon, 1 Jan 2024 00:10:11 GMT (envelope-from git) Date: Mon, 1 Jan 2024 00:10:11 GMT Message-Id: <202401010010.4010AB7Q020141@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 91d2a093dfac - main - isp: Fix endianness conversion in isp_read_flash_data() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91d2a093dfaccdf288db663b6e9d47539ea1c1bf Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=91d2a093dfaccdf288db663b6e9d47539ea1c1bf commit 91d2a093dfaccdf288db663b6e9d47539ea1c1bf Author: Mark Johnston AuthorDate: 2023-12-31 23:52:52 +0000 Commit: Mark Johnston CommitDate: 2023-12-31 23:59:06 +0000 isp: Fix endianness conversion in isp_read_flash_data() Reported by: Jenkins Fixes: 10ed63fc06cb ("isp(4): Rework firmware handling/loading") --- sys/dev/isp/isp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c index aa2f1fb74c59..b53171add5f5 100644 --- a/sys/dev/isp/isp.c +++ b/sys/dev/isp/isp.c @@ -4575,7 +4575,7 @@ isp_read_flash_data(ispsoftc_t *isp, uint32_t *dwptr, uint32_t faddr, uint32_t d rval = isp_read_flash_dword(isp, faddr, dwptr); if (rval != ISP_SUCCESS) break; - htole32(*((uint32_t *)(dwptr))); + *dwptr = htole32(*dwptr); } return (rval); From nobody Mon Jan 1 06:15:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3QhT3YFGz564LJ; Mon, 1 Jan 2024 06:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3QhT2xnLz3W3L; Mon, 1 Jan 2024 06:15:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704089737; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sWdaz5NKfTZFVD/DNEboOpLalxAbhSAGv5nnSI6UPW8=; b=auG/MZ+NSOUE6no+o0sXrK92RLjovTMsRC6j+jg/uOf+LNo4aSX2wT0JMtG24QEd0dFPYz 6fc2BBhmWUQ5n2sktJXWkAtolMggWwv9LEdyMGZB0E1HCWQPlXyQuPlihWvpTcBDJQ1ANg sOqll9yGH3djrWzO0OqmephVRZx2AWQdtQRqWOSKQvXVrmpSFg/WXKu0Qbqn1CSD5EVsls +KlTEZUfmjq17b7pBwSURMfyxEscZCeJIpQe3/V1cPKsNaDTdBQE93wODkaBA+23M/4ebM c77893Vp/h6FdNe1KvX2dOO+EzHofUEhECpIxqR16SmkAF2VkhUBwf8HuhFIrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704089737; a=rsa-sha256; cv=none; b=j2GxFglQivPcs7SIR6e9EuVpn7nz5oYUWbwJBRlQMTpHURKgR3ErYQzbMyhkGVgJHR5SHY ZgqYeehzY/IypP+EpsFLqxeFgdMAuLFYjDPmkZP2DMK2JMU+6qSmQt2RmXj96ivzIFWtCc js2vDj3h4NHAj431vKLMDilw67psPbQh+WmSdnjdtWjZnLkqJsIJuWJrbefA992qfbF4gO jkZ9CZthEhvbMfoDOwkDJ+Hj04uDhCeG/y1c56rZuQgUberqbpFH5F7Wsdr8uJ49rjXHk5 GDGb50RnQDzv6fs9+OTh85QYn3eHJChyfgwTZ2KYVxyFwO528ou4mliUREtmXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704089737; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sWdaz5NKfTZFVD/DNEboOpLalxAbhSAGv5nnSI6UPW8=; b=vejhn/I4nD01PPbCWwmC+goeaNHcROPAZZeIl45C1ePOS/e6rqyCwNkfGMlxPDzXh/GZmD h2IEo2+Qw19+KuCRBkYFXwvhu0w1zVJdyWTcfxbDeRnpeKvrg9NNv2s6bIkBzXa2mMgfat FGiilteE09+jbiOByfaM++W+TR/TLzLm69yRM6sRSquI6lNorIdWRxCUWyXH+riAu5yeUu AldMMA2t6bHI40/61FOq0RoBqp+VH7Ln9t/2Ee68TREAJV+c5Qh6dKe3xt+tLxlCiczOK9 F/WI7ZdQHfftqmD541xhzWlSxrsgaRGIZMwHVjRJuMCzkIE5XQcyCgGy5apsOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3QhT1sLgz15l9; Mon, 1 Jan 2024 06:15:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4016Fbiq036339; Mon, 1 Jan 2024 06:15:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4016Fbou036336; Mon, 1 Jan 2024 06:15:37 GMT (envelope-from git) Date: Mon, 1 Jan 2024 06:15:37 GMT Message-Id: <202401010615.4016Fbou036336@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 39e39ba05672 - main - nanobsd: Revert back to 1G (really 927M) partitions for rescue. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39e39ba0567215e7836b93ee33f08b5f154858bd Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=39e39ba0567215e7836b93ee33f08b5f154858bd commit 39e39ba0567215e7836b93ee33f08b5f154858bd Author: Warner Losh AuthorDate: 2024-01-01 06:12:42 +0000 Commit: Warner Losh CommitDate: 2024-01-01 06:13:57 +0000 nanobsd: Revert back to 1G (really 927M) partitions for rescue. The last bump to 8G was caused by all the new symbols and debug info we install by default. Turning those off gets us back to a reasonable size: Filesystem Size Used Avail Capacity Mounted on /dev/md1s1a 927M 771M 83M 90% /mnt Sponsored by: Netflix Reviewed by: jlduran@gmail.com Differential Revision: https://reviews.freebsd.org/D43232 --- tools/tools/nanobsd/rescue/common | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/tools/nanobsd/rescue/common b/tools/tools/nanobsd/rescue/common index a6eec2a11ebb..5fcf5c19b882 100644 --- a/tools/tools/nanobsd/rescue/common +++ b/tools/tools/nanobsd/rescue/common @@ -9,8 +9,7 @@ NANO_RAM_TMPVARSIZE=40960 NANO_PMAKE="make -j 8" NANO_LABEL="rescue" NANO_RAM_TMPVARSIZE=40960 -#NANO_MEDIASIZE="3932160" -NANO_MEDIASIZE="16384000" +NANO_MEDIASIZE="3932160" NANO_SECTS="63" NANO_HEADS="16" NANO_IMAGES="2" @@ -30,10 +29,12 @@ CONF_INSTALL=' ' # Options to put in make.conf during both build- & installworld. CONF_WORLD=' -#TARGET_ARCH=i386 CFLAGS=-O -pipe -WITHOUT_TESTS=YES -ALL_MODULES=YES +# We do not need these for rescue +WITHOUT_LIB32=true +WITHOUT_TESTS=true +WITHOUT_DEBUG_FILES=t +WITHOUT_KERNEL_SYMBOLS=t ' # Functions From nobody Mon Jan 1 06:15:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3QhV56CNz5649j; Mon, 1 Jan 2024 06:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3QhV3m9mz3WBl; Mon, 1 Jan 2024 06:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704089738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IH1AOLT7mvuN98AdzAWGO2jtmr+n1lyemUJQVVgFvdM=; b=wvTRXVNPk/2Lb4EqjHqm6IJ3aJvgFCvatOF6funRCds6IhuFGnvpIraJdBkJx+TAqakUsR 72tTPaQOCzgKBFggz9lOaD4jn2ATx9EyCz4sHt9lAlZtIE1QlV17uuQgPHvVGhRAteWq01 pHMZZQXVSOnCdrBPILXJzRREWfMXB1wWpdK49dRkcBjtQF/tJ+L1R/e5sOUGoiXIikpu8r cqrF7VoMnsoalu2Wqt2dCpKjOfn5Z0LjEp6FEEw6yPA8B7CN0JT/3SCVxV9ALc5K2Ju/yP YylxvA8jLt+n0AyM2f6L5mTqj5pEtWCAJvtfqizbk6ULrGiF//k6W5+6F++KHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704089738; a=rsa-sha256; cv=none; b=imQeER5QlnCzGp62BllpIF/fYm2hGcATH29cspQffT0J4ZvcivG8rs7CI/rrM199TcTwi4 ASfkw06WqzndEJ5gUdLTpbVL9NZBOmCxNaUEoVVJZBVwD90GYRY8GEMDPNIGBfwYdIaz9M p4Ds5J3c/vQ7X7TLQnFBgx8CBpwD/LRQFj35lJW+IjHvBGsmxw6y2DrPieY01WZA6bIc6q WAtkxOPpFAH2GA2/AMbFmZ+pMj8SThd6t746qwlpMQ+iab2SshoKAc4Mm6/kvMhtBgv0Cc qdrA/yqmeKIJ4fuZR+DYRzfTYyCJZVWid9rynTZJcX2lcNfVy9x++ARNPE9d6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704089738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IH1AOLT7mvuN98AdzAWGO2jtmr+n1lyemUJQVVgFvdM=; b=S+F6qHgE89LcJFVSE9x2nAvhygxxRX6ZplnGIw3MHcrpZY9E6RjYEnOWVH03aOtE/uX1RZ d3CXqMqwqnT4i1R4oAHEduaXbvlb/nrddRYsfYaf5SnaW66j2+tGCy6E0YdcNqbX6bQVkn OZVSqfJ6lHz4udGfnnjFk8+/luvBPBG9j1PpiUZPZsvU5K2sVK5G7pAERWyCyFS9UopgIP aFELdarzSQuHIOA5JsCuZYWCtojNhIlHZ0q4veQFaKO5gJ+v8KGqSOthyIa4XK+BKPg2Bu dqaCaMV+sI4ZA1K7w67Si6XgELHeLGbNngTmdwsmF7CJ8F4aarrjn58LAJmJPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3QhV2sz1z15pR; Mon, 1 Jan 2024 06:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4016Fco7036396; Mon, 1 Jan 2024 06:15:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4016Fcba036393; Mon, 1 Jan 2024 06:15:38 GMT (envelope-from git) Date: Mon, 1 Jan 2024 06:15:38 GMT Message-Id: <202401010615.4016Fcba036393@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 259e6fefc0ad - main - test-includes: Add -ansi to the compile line to catch problems List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 259e6fefc0adc5f253920922653e868ab2cbe373 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=259e6fefc0adc5f253920922653e868ab2cbe373 commit 259e6fefc0adc5f253920922653e868ab2cbe373 Author: Warner Losh AuthorDate: 2024-01-01 06:12:54 +0000 Commit: Warner Losh CommitDate: 2024-01-01 06:14:08 +0000 test-includes: Add -ansi to the compile line to catch problems We support C89 files, but compile everything in the tree with C99 or newer. By compiling these -ansi, that will force C89 which doesn't understand inline. All our header files must use __inline instead of inline when they define inline functions. Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43235 --- tools/build/test-includes/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/build/test-includes/Makefile b/tools/build/test-includes/Makefile index 174c4341331c..2c25e0fb32ce 100644 --- a/tools/build/test-includes/Makefile +++ b/tools/build/test-includes/Makefile @@ -22,6 +22,10 @@ NO_PIC= yes # Some files have to be clean for extra defines too... CFLAGS.event.c= -D_WANT_KEVENT32 -D_WANT_FREEBSD11_KEVENT +# We currently support C89 and newer compilers. Catch the odd little fussy +# details like __inline that the header files must follow to support C89. +CFLAGS+=-ansi + .include "badfiles.inc" .for h c in ${HDRS:@x@$x ${x:S,/,_,g:R}.c@} From nobody Mon Jan 1 06:17:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3QkJ3s27z564LS; Mon, 1 Jan 2024 06:17: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3QkJ2tV8z3XB6; Mon, 1 Jan 2024 06:17:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704089832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FMDjuR4kJQvms9zGRNqU223+WL9tA4WWr3bwxhwGkx0=; b=UZZDwcllldd7fsSxt6icca4Y7nYbIWvGmaoNj9VJloSQmVIzysU1+fWnHtOyEmBrZNRvI6 dvtJvmd1PvsYREtC7ChjUAG6wAirZLnT+JgLsVxs/uVZ4rRa25Q6KP/zRvEu8pHL1NMHDH rjuDdmbyFcFfcRxHxLX3bKt8CNriWEJys/pQb5naPeCbl0HMmjGtFsKUA971yTbpCVKTt4 LPaBAVpnyOEhNm/ybDheJZrcWJKByFXBhblDTFmVopvxhj9Wgker+wPMMK7tVOYNlhY8km 7XZriERlDHXrkZiabmatRySMgQb4EC9x5cmdSxMQT52DB1aN56bEE5mvaczlWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704089832; a=rsa-sha256; cv=none; b=S8M+SC+skedB4iIFdDH31OFNggXIdyWh882omhlezftW2sTbtxv7qC78suxxOqt6zNDiYW TDl9cZzuYtRi5EY4E/efkizq0esW8QVSt0cm0JULQ9FMFWpa3B2J7mSS2y+j75qnp95aSH hppdD8aXctrnIFZaBrJrHjbf7HmjErXvF7ExJ1v+z5bXPFJinINLcFANjJNleX2skdrJg2 HaFOUzKXRAfJmPYMDNagU3H4TwZBLQlUOAFeWr2Io6RAY1/tYpijLCDqnLGYG95mZ0GsxF MBiFx/tZuZE688uiVD6yS0BpHa/DM1yMQVS/BAYjxAqgZgciqr/h3d9z8SDBBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704089832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FMDjuR4kJQvms9zGRNqU223+WL9tA4WWr3bwxhwGkx0=; b=Z4b+8YsynwGfsa0zYHx9xXLZtXXwjhqg2QcU3V37dyTQxgtdnFIW0tC/irdNgf5FX3JKMj HHAcmv204MXBaCfSmtJmpg89J/EJAfWH7GMkYSJlQyxOpp26vYnR3IsNl1R1uLdUs0imUp 3XJbHn0OixO+Vkein02+ZulxvTt4evqUBZZIxWQMrGyYjgU073R1k8b+n9VoTMROQ2buyB oD2hWBzAgooIfeKDzIbIT9Bxh4UoM2yrNPf8F0v60Y8/vokoWrHYQ7HdYqCpepE9aAYBvp BcjcfVEuTmQH4BHpjeQaSCbJ0CPz4LRU622orD3iEWJpeX4rGV206ptc2zQlMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3QkJ1Y5dz15pT; Mon, 1 Jan 2024 06:17:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4016HCte036733; Mon, 1 Jan 2024 06:17:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4016HCW1036730; Mon, 1 Jan 2024 06:17:12 GMT (envelope-from git) Date: Mon, 1 Jan 2024 06:17:12 GMT Message-Id: <202401010617.4016HCW1036730@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 499e84e16f56 - main - copyright: Bump the copyright date. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 499e84e16f56013e24fb69ae8ecfe75180e8d704 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=499e84e16f56013e24fb69ae8ecfe75180e8d704 commit 499e84e16f56013e24fb69ae8ecfe75180e8d704 Author: Warner Losh AuthorDate: 2024-01-01 06:15:08 +0000 Commit: Warner Losh CommitDate: 2024-01-01 06:15:43 +0000 copyright: Bump the copyright date. Sponsored by: Netflix --- COPYRIGHT | 2 +- sys/sys/copyright.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/COPYRIGHT b/COPYRIGHT index 9bc4e3c04fc9..a91bc042150c 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -2,7 +2,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2023 The FreeBSD Project. +Copyright (c) 1992-2024 The FreeBSD Project. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/sys/sys/copyright.h b/sys/sys/copyright.h index ee6f5b805164..0da33cec4eb8 100644 --- a/sys/sys/copyright.h +++ b/sys/sys/copyright.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (C) 1992-2023 The FreeBSD Project. All rights reserved. + * Copyright (C) 1992-2024 The FreeBSD Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -35,7 +35,7 @@ /* FreeBSD */ #define COPYRIGHT_FreeBSD \ - "Copyright (c) 1992-2023 The FreeBSD Project.\n" + "Copyright (c) 1992-2024 The FreeBSD Project.\n" /* Foundation */ #define TRADEMARK_Foundation \ From nobody Mon Jan 1 19:00:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3lfZ6m86z55Khq; Mon, 1 Jan 2024 19:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3lfZ6Fz7z3VLH; Mon, 1 Jan 2024 19:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704135606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oGJkxtyMnQhR6VImmG+gJMHNvKik9WmTI3PjYI9MXiE=; b=Ft21wGZLQ2B+hlg0Y/HTl2DWl8FyrR9GGCmPPWIu5Oo/lzHiPUwQa3xFAmTBRe0Y/S97OM qyKVrj5jeJ2Y728L/P9NIqjDQ6affCosNVnvQ9hz+oBpEbAky7kuqEGWHlnhVKRQSm3wsj /psu0xSQsnKQ31C4Or1th+2ljR/vCtnPCPtOGyAqAY9JWgNQABwl8nsUOYzyXwknd6/cXt 2HIm9JR2UH6xLCpw690r8livnFEcRlsbYB2Z8+l0b7t5kqMa1bElLrjsPbnP5SSv+f0z0l hrSYsPI4hnSw5B1vem0Dt8+jwDRqhm1Rfz4MiP8qJzemxWvDMzYAtqzZwoVLXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704135606; a=rsa-sha256; cv=none; b=uzc+vZHIwEyvLIsTrS5XmP/SUGW3u1va7lN5zi8B4ofIFuboc3HmRXx3v9MJAnlZ60q7b9 lb0eEFweEJxZ7WaJX5srRccogVqlEIUc23ovTD9RxxEfKKRlfHo3Cxy+2I997/6f77Hbmv FVGEHkWtbWP1bxexrIeX2EwU2pF3ZZC2HoKyFnM4uP7i18PSK8GQ/3uhcVyT4SDk8M0Wcu wD94nvwoSxLBJh/vaFaSsq5BdWA9loVMf+24uG6yglwPSjMw+6nXJCKBCok+8zs+AeiOk5 //j0Lr/zgRSDxEkLZYWeHt+cJGQXlRZpxDoNL9A9ezA0JxpQXJ6f9ARIB5V8JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704135606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oGJkxtyMnQhR6VImmG+gJMHNvKik9WmTI3PjYI9MXiE=; b=CQLjhDut3WRMKDeaiZRjAPL2axO6YZ01ZQnLweEy5JpjpLEqq3XBFRFMDVguu5Hkjb6Is1 75QiXHSpcOCp/kMX67bRWgkd/J03Ri+wEpoIwzZEY1GyvuIzLFUP/BfNhbmiIjp7ZXy0nM KpesqiqGK4Kvrhz4xqWKPCHLINZOv2Gb9FaKwv9hwPvSPmNAOuCBHUdzp4Tegf4v6rVboi KBx0qlR4kpwTiMfh6LZJAyLFXOBMeXeN39n95+ztl+sUnl2E20Okk+1195397mmhXsbb0x 8FFH+5JI7P5om0pA/tn/ARu3mkrteLfncAVhVNBUAKErDrovM/pcawrDQAaT3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3lfZ5JhGzTvv; Mon, 1 Jan 2024 19:00:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 401J06n3015961; Mon, 1 Jan 2024 19:00:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 401J065s015955; Mon, 1 Jan 2024 19:00:06 GMT (envelope-from git) Date: Mon, 1 Jan 2024 19:00:06 GMT Message-Id: <202401011900.401J065s015955@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 09af4bf2c987 - main - zfs: Fix SPA sysctl handlers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09af4bf2c987f6f57804162cef8aeee05575ad1d Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=09af4bf2c987f6f57804162cef8aeee05575ad1d commit 09af4bf2c987f6f57804162cef8aeee05575ad1d Author: Mark Johnston AuthorDate: 2024-01-01 18:54:15 +0000 Commit: Mark Johnston CommitDate: 2024-01-01 18:59:03 +0000 zfs: Fix SPA sysctl handlers sbuf_cpy() resets the sbuf state, which is wrong for sbufs allocated by sbuf_new_for_sysctl(). In particular, this code triggers an assertion failure in sbuf_clear(). Simplify by just using sysctl_handle_string() for both reading and setting the tunable. Apply to FreeBSD directly since this bug causes "sysctl -a" to crash the kernel. PR: 276039 Reported by: pho Reviewed by: mav Pull Request: https://github.com/openzfs/zfs/pull/15719 --- sys/contrib/openzfs/module/zfs/spa.c | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/sys/contrib/openzfs/module/zfs/spa.c b/sys/contrib/openzfs/module/zfs/spa.c index a21b0decf6a3..dc8a99e7bd25 100644 --- a/sys/contrib/openzfs/module/zfs/spa.c +++ b/sys/contrib/openzfs/module/zfs/spa.c @@ -1445,8 +1445,6 @@ spa_taskq_write_param_get(char *buf, zfs_kernel_param_t *kp) return (spa_taskq_param_get(ZIO_TYPE_WRITE, buf)); } #else -#include - /* * On FreeBSD load-time parameters can be set up before malloc() is available, * so we have to do all the parsing work on the stack. @@ -1457,19 +1455,11 @@ static int spa_taskq_read_param(ZFS_MODULE_PARAM_ARGS) { char buf[SPA_TASKQ_PARAM_MAX]; - int err = 0; - - if (req->newptr == NULL) { - int len = spa_taskq_param_get(ZIO_TYPE_READ, buf); - struct sbuf *s = sbuf_new_for_sysctl(NULL, NULL, len+1, req); - sbuf_cpy(s, buf); - err = sbuf_finish(s); - sbuf_delete(s); - return (err); - } + int err; + (void) spa_taskq_param_get(ZIO_TYPE_READ, buf); err = sysctl_handle_string(oidp, buf, sizeof (buf), req); - if (err) + if (err || req->newptr == NULL) return (err); return (spa_taskq_param_set(ZIO_TYPE_READ, buf)); } @@ -1478,19 +1468,11 @@ static int spa_taskq_write_param(ZFS_MODULE_PARAM_ARGS) { char buf[SPA_TASKQ_PARAM_MAX]; - int err = 0; - - if (req->newptr == NULL) { - int len = spa_taskq_param_get(ZIO_TYPE_WRITE, buf); - struct sbuf *s = sbuf_new_for_sysctl(NULL, NULL, len+1, req); - sbuf_cpy(s, buf); - err = sbuf_finish(s); - sbuf_delete(s); - return (err); - } + int err; + (void) spa_taskq_param_get(ZIO_TYPE_WRITE, buf); err = sysctl_handle_string(oidp, buf, sizeof (buf), req); - if (err) + if (err || req->newptr == NULL) return (err); return (spa_taskq_param_set(ZIO_TYPE_WRITE, buf)); } From nobody Mon Jan 1 23:16:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3sLf0FCKz55pyP; Mon, 1 Jan 2024 23:16:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3sLd5ss5z4ZST; Mon, 1 Jan 2024 23:16:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704151001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vL4qdhul/vGFsSl2ImjQuDj+RBDZh9zUI9AGwCyqLIs=; b=w0d7/65ApCYdrmNCU32A7F7Dj+rucNL/x/qgWxu4C9nkZD3KzYjw/X5GzlRJBd1o2ypsC4 PePoymCgdMIlsuw0mB7a37yHSpsnhKGYec3Fb8qHiIDbUMp9v8LhhpbkQaFJsHGf5GAH+W 1u7kP8kWkP2LcjJQawCjAHi5UpIX9v0HdDsPrxI40HSUCxLwsWEVkX5aC+q4lJ0habLGuQ k17OAoK8ILhno1xWc/6z6zkwKuyKBrnF7xt6nRLcZAMHQIUL17DH1+Co4rYOtTne5PsjTB ayAPiDqAhFVypW7VBHLFGY0u2KpqNtfvca+7O/ziQiGBNRyrRgBvXKOIGK/oKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704151001; a=rsa-sha256; cv=none; b=tBMKRlwRnBpY5ZgB6EaPCsrexrhuf04mTtB5lUjOrLqvLIHPIajmwEBV3YiD83QjHzECfi AFI0iZUIy5FJJ0U8zPuHbXf5Dqzhb3ZmugvOe6BmBWEOX1MpU2kddbtkLtmJSIXW/eeN1o XV8PCYMB9Wq4/tGvGOlrDLQqHq3ojA8xBZ1TB2MNycmjswis59z1Fri8Xlvov0mUiduRuM lo+toUPH02gFMJi05FiRXGHkQWnu9sYI8QpiXUnEyDZsjlgj0Z1CQOPz/TAof3W/790ELq aS35mwYhaZtoFzYGuqZZuIHn5TOdEtd69onrSs5cnCkjP5E4jRFzJwKPshK1Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704151001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vL4qdhul/vGFsSl2ImjQuDj+RBDZh9zUI9AGwCyqLIs=; b=swTHfSuwOquufFBPof3Fx9bclJ6c6oOGGnE9A6WJacDDroEEvtwWJVdj2BsyhNPxkVJHGX S9Vq1/p1awyDVf3AZGUb8pl7Aw3kSqdxzlGc+b9gqzFxP84duKaLy9p8Bpqu+VOOx8YIeY zk1lc3hx1Eun1DrDAhBdxJTmeQyJUCdIbwSXE6RAH5K1AOxyyQz53LqLEf0ipN8PCGM/Gp Z4VaoBs8UX3TJyWzES1bll5MuvG8xIgxYYxHLkP/JwsTA8xIG5yt31jXn9N2bx81h1Jdx2 nu9hLqVge1zxvi/MKMPcb5uyQAubRh5c0arlOv2qkQobBjvCz1N3LgtRrxJu8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3sLd4rKpzcpf; Mon, 1 Jan 2024 23:16:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 401NGfSc049981; Mon, 1 Jan 2024 23:16:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 401NGfvp049978; Mon, 1 Jan 2024 23:16:41 GMT (envelope-from git) Date: Mon, 1 Jan 2024 23:16:41 GMT Message-Id: <202401012316.401NGfvp049978@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c3268c23de45 - main - libdtrace: Fix TCP data offset handling in the tcpinfo_t translator List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c3268c23de45b75b44102a02e96f44b0ff2f6ba7 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c3268c23de45b75b44102a02e96f44b0ff2f6ba7 commit c3268c23de45b75b44102a02e96f44b0ff2f6ba7 Author: Mark Johnston AuthorDate: 2024-01-01 21:33:30 +0000 Commit: Mark Johnston CommitDate: 2024-01-01 23:03:54 +0000 libdtrace: Fix TCP data offset handling in the tcpinfo_t translator The header gives an offset in 32-bit words, and the translator is supposed to convert that to a byte count. But, the conversion was incorrect. Reviewed by: tuexen, rscheff MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43264 --- cddl/lib/libdtrace/tcp.d | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cddl/lib/libdtrace/tcp.d b/cddl/lib/libdtrace/tcp.d index a91f2cd2b0b4..0df4e16d41d0 100644 --- a/cddl/lib/libdtrace/tcp.d +++ b/cddl/lib/libdtrace/tcp.d @@ -265,7 +265,7 @@ translator tcpinfo_t < struct tcphdr *p > { tcp_dport = p == NULL ? 0 : ntohs(p->th_dport); tcp_seq = p == NULL ? -1 : ntohl(p->th_seq); tcp_ack = p == NULL ? -1 : ntohl(p->th_ack); - tcp_offset = p == NULL ? -1 : (p->th_off >> 2); + tcp_offset = p == NULL ? -1 : (p->th_off << 2); tcp_flags = p == NULL ? 0 : ((p->th_x2 << 8) | p->th_flags); tcp_window = p == NULL ? 0 : ntohs(p->th_win); tcp_checksum = p == NULL ? 0 : ntohs(p->th_sum); @@ -284,7 +284,7 @@ translator tcpinfoh_t < struct tcphdr *p > { tcp_dport = p == NULL ? 0 : ntohs(p->th_dport); tcp_seq = p == NULL ? -1 : p->th_seq; tcp_ack = p == NULL ? -1 : p->th_ack; - tcp_offset = p == NULL ? -1 : (p->th_off >> 2); + tcp_offset = p == NULL ? -1 : (p->th_off << 2); tcp_flags = p == NULL ? 0 : ((p->th_x2 << 8) | p->th_flags); tcp_window = p == NULL ? 0 : p->th_win; tcp_checksum = p == NULL ? 0 : ntohs(p->th_sum); From nobody Tue Jan 2 04:13:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3zwq1w5Sz568v2; Tue, 2 Jan 2024 04:13: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3zwp6m91z4cKt; Tue, 2 Jan 2024 04:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704168794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbkozz9wNoDwqYdXqXS2IYxae1MJX+deA+V4Ik+5eac=; b=VFLnPe3UevUaxM+VYGGXuAF1ss7/hFbRFL/bjxGg2FU9eE/PuaYUqLOvkDUer7cjpSOBUW immwhD769EhRWRsmYI7b4gZEqESWXx+9mDl2FJZds2aBR/sL6K7VHLFebmOhv5P6ytJp44 tXBWHtMvpSK39mLYAaOKXZSSy74QEq2svp6y87CztKcYL9WaK8FtgB6B1JW2wMd63OGrPA LwPDx/ZHAaZurKXenIVw0QPayF/AX6GCRMRNgtp0vOugCEEqwUjk7sfjbLD3ZqUtoWGo3i NrLDiTmGOyi8tiPyxwxcquw17YGKRHCqpvsfO6BOZrrw6cUqa8zDIzOACzPRqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704168794; a=rsa-sha256; cv=none; b=KAQEeBQmeuBxQQ1VRd13MPVcMMCbaqDBA0oxzsdmiOD9ALn7eyWU6EocElatJcsk2hrlpB //E0KCp8F3WJGvpLoEmMPIatx3GomhKKQmbew6OIJ9s0GoahOrdXKGE80CNclra8E5nBM9 FhXMP/4Sqj431OTRqtXdfW1qcr2TYwjeGXKLflWkR/h5wbB4RD+HYmQpVE2D7UGbQcCq4J C12IrbNFuuZLMhRrrggubYrzPVLniX/LoVdNG69WZSEvdM4XkUUkt6HzgtF8W4UifBpZZl okJ1EL7hyQkQ1Bmjc/scDXUOr0u2mxxyXOdVJg7qXZ8hjyAG3e33+Z+TI49c0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704168794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbkozz9wNoDwqYdXqXS2IYxae1MJX+deA+V4Ik+5eac=; b=T44qMwrmsjMHdMWyX4ReOwGajddv1ef8MJ7uxcbnD/YGx7D46NpQqk0LNfv7kKRSOfxZOI 8Rnd4Sn9e6QDnKG61FkXCa9MuilC7GVZkHQN7L1VkxjOShiqBMt2sa3x7DRYawZpmHdwui +sVte1ikqiPQ75qMFgiOT2btVJwWgw6mO/fQvRcPNMqo5sq1krPUIA36pC7Go6em4dPk6i rLgb6bb/EqZtNBJrAjBcVCekiczRNCsfh5erHSy6ArfyQ0iforcqCjAFrrV4dSJne4raH8 iHqQnmDBhXL9LLEm8Q+HH6wkLib7QCZbm8+DP2Mx7DXOLwRapQLTeZic2TpeVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3zwp5q91zlvs; Tue, 2 Jan 2024 04:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4024DERi059225; Tue, 2 Jan 2024 04:13:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4024DEaT059222; Tue, 2 Jan 2024 04:13:14 GMT (envelope-from git) Date: Tue, 2 Jan 2024 04:13:14 GMT Message-Id: <202401020413.4024DEaT059222@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 78cd75393ec7 - main - ctfconvert: Handle DW_AT_data_bit_offset List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 78cd75393ec79565c63927bf200f06f839a1dc05 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=78cd75393ec79565c63927bf200f06f839a1dc05 commit 78cd75393ec79565c63927bf200f06f839a1dc05 Author: Mark Johnston AuthorDate: 2024-01-02 04:12:29 +0000 Commit: Mark Johnston CommitDate: 2024-01-02 04:12:29 +0000 ctfconvert: Handle DW_AT_data_bit_offset This attribute is new in DWARF 4 and supersedes DW_AT_bit_offset. PR: 276059 Reported by: rscheff Tested by: rscheff MFC after: 1 week --- cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c b/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c index ec5a3c58856d..42faaad65db5 100644 --- a/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c +++ b/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c @@ -1004,7 +1004,9 @@ die_sou_create(dwarf_t *dw, Dwarf_Die str, Dwarf_Off off, tdesc_t *tdp, else ml->ml_size = tdesc_bitsize(ml->ml_type); - if (die_unsigned(dw, mem, DW_AT_bit_offset, &bitoff, 0)) { + if (die_unsigned(dw, mem, DW_AT_data_bit_offset, &bitoff, 0)) { + ml->ml_offset += bitoff; + } else if (die_unsigned(dw, mem, DW_AT_bit_offset, &bitoff, 0)) { #if BYTE_ORDER == _BIG_ENDIAN ml->ml_offset += bitoff; #else From nobody Tue Jan 2 06:50:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T43QF5v4Pz56QjZ; Tue, 2 Jan 2024 06:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T43QF5R9Bz3Ps5; Tue, 2 Jan 2024 06:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704178229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YZq6M4HsSDg9TcEtgR6cAs6KconDIBU3FcNzXGUQ4V0=; b=PSXHMWc1NDHwRaRvZpp8G1YIqv8a623GY1gEJWOGQW7OTE3xbYvB8o/AttxGgbbfIQ9L1H mJv0pSQKmInWUtAyg87p2imobnC7TITZ1u2kpwPaLckxY2BqmzwqMFkV2MiWYMXFTmA16D HJ81TFZEGRFdnqmmYWEx7c55+ZhhKIqa9LNVQczv5Hgmigx+b5DRxH8GuPhw9p47XKxRug uY+gGBs669zb1UrifPNMbLryvDxozoON+Gmmk8RGSurGaCOnceJ7MV3QaUqsd01yafO5VJ +UOnnM/bIzPJx1RxX/a4IncZNBTC3IHdp/eOM6OINUEB0fm5ieEBYYFgK6uFvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704178229; a=rsa-sha256; cv=none; b=gwbk/Yc7g00l9BcPpqe4KaNGznVmXYQaJ05ezTaFHBUfi8EgZMA2+KnSWp8bPG2BoimuSh Zkk2LDp0pdB2MkomGJexSzncyy42Y39zaeQKhv9F6lgU72JbdxmzQ2jwoJLqOJP8whViY3 FgDXyXMjmqXG38+gSPUXvp6Uge5GASzSoVq0pTO6Ix1HcecNg55JbQrXxUJIoq6BV/i4Ug RDR98l6Ktwj/nOv4QVksnMgqorUF9BEHyGfyI2ntnwb4K0y/avUHAQb3qlBhp4Rulc13fM t5FO9OQ4GpYV0MKfMepmpQdu6R1k4hXaT2wvPf9j7Cg2mqX+Tyy9uU9ab1oXDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704178229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YZq6M4HsSDg9TcEtgR6cAs6KconDIBU3FcNzXGUQ4V0=; b=gN+6a2GEvVSEEUoFDUZKPrZeotPZF8iScvCxSGYIHzDAx/Wd+mo5xXjC7KKq+zu0l64bYu FILFYOk2p6mhKrlRs4T3D7fVBc5+/livAOjkgrCHerZBbSZzeU1OQ0InBZRr3Ve8pCkNNr vZ0vvvG4/AXAQYgUbcK68a1L0vFuniKhz2ZofGbzV/jOwKeBl1YxwXW0dLebGOwVuwQZX1 s7PMxK+BW4X0KwhRlYEYEonq+lwxVoICOcA5LlGc/sTcuUtWdywPVnShBDLWaBw4MUssF5 NeeT1us6CChRT6ma5sEMF5MKLFh4H9TuI3jJDOpf6cl5vhwJ8j4gOolcDR2mZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T43QF4Vlpzqbw; Tue, 2 Jan 2024 06:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4026oT7d020044; Tue, 2 Jan 2024 06:50:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4026oTCA020041; Tue, 2 Jan 2024 06:50:29 GMT (envelope-from git) Date: Tue, 2 Jan 2024 06:50:29 GMT Message-Id: <202401020650.4026oTCA020041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 7df9da47e8f0 - main - Fix udp IPv4-mapped address List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7df9da47e8f04267330e1baa751f07c0c4aaf2ac Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=7df9da47e8f04267330e1baa751f07c0c4aaf2ac commit 7df9da47e8f04267330e1baa751f07c0c4aaf2ac Author: Richard Kümmel AuthorDate: 2023-12-15 11:49:45 +0000 Commit: Emmanuel Vadot CommitDate: 2024-01-02 06:49:12 +0000 Fix udp IPv4-mapped address Do not use the cached route if the destination isn't the same. This fix a problem where an UDP packet will be sent via the wrong route and interface if a previous one was sent via them. PR: 275774 Reviewed by: glebius, tuexen Sponsored by: Beckhoff Automation GmbH & Co. KG --- sys/netinet/udp_usrreq.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index f7e0f7417818..affdb3b1f4c7 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1061,6 +1061,7 @@ udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, uint16_t cscov = 0; uint32_t flowid = 0; uint8_t flowtype = M_HASHTYPE_NONE; + bool use_cached_route; inp = sotoinpcb(so); KASSERT(inp != NULL, ("udp_send: inp == NULL")); @@ -1097,9 +1098,8 @@ udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, * We will need network epoch in either case, to safely lookup into * pcb hash. */ - if (sin == NULL || - (inp->inp_laddr.s_addr == INADDR_ANY && inp->inp_lport == 0) || - (flags & PRUS_IPV6) != 0) + use_cached_route = sin == NULL || (inp->inp_laddr.s_addr == INADDR_ANY && inp->inp_lport == 0); + if (use_cached_route || (flags & PRUS_IPV6) != 0) INP_WLOCK(inp); else INP_RLOCK(inp); @@ -1450,7 +1450,7 @@ udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, else UDP_PROBE(send, NULL, inp, &ui->ui_i, inp, &ui->ui_u); error = ip_output(m, inp->inp_options, - INP_WLOCKED(inp) ? &inp->inp_route : NULL, ipflags, + use_cached_route ? &inp->inp_route : NULL, ipflags, inp->inp_moptions, inp); INP_UNLOCK(inp); NET_EPOCH_EXIT(et); From nobody Tue Jan 2 13:44:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4DcJ1HyHz55RrD; Tue, 2 Jan 2024 13:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4DcH6QRwz4fmv; Tue, 2 Jan 2024 13:44:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704203087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rm7GuWM2G4mhmo0BB+PoG8gfgxbHJLAPFogytz6RAqE=; b=jPR6kd6ZZZu5y2N7Fj4umB/DtcNVoVdbPz4WzHfNqt2kIoetcD2rtsUi0/MtdYiXZo9TIl EYDSVgCPbjyNZ2wfABZagcNPsBRMzl2g/yrMm3Xns2sa9I1ec1fro8axymMqsCYtPzGFDu 6ZOzyEMW+1iORh2dtSOnv0fupYsypKPcALXi4no5/wNoBsMNLbIXmj4fZfMdpb1seWAaFA QHeuuRcxCHjCoLG3PZqUD0geKhDAu53bfwuwl3VPLZyBSMZHwyiBy41rYvW9ppBLaqlMER z3pd7T8p8RyyqZhGBylEZVNSticcyAsTWDh9nWuOFvwWUHfiPUvsOge+zdGF7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704203087; a=rsa-sha256; cv=none; b=Bam2slpjYdeIA0s5qPZbw/zgCpfwQiM4oLFUakZZ00KqaBgRfW4gsSZb1oLttOsnXK4byS 5D6XLpGQlBI6i5Xw00j2NF6wLq2Xg5vD+0LejVc1V1wicWA6NUm+G3rUrzGdPq/vxfMfOB iHTNXymjsAknzltDMod2Kk9N0O9vVJ9L5Ig6HKRreIbhj0kqjqVZB/CY5liNROLpQilmmy j17xX9MyHr6hXK98eR86DgcExNBUqKi/JYHyO1yAppQdse/2Gh4O/tQW3UEgE4QtN33qkK bMMdrHx9aGlPCh+Da7bWrB68NVRhZX5Mgux43Vr9X5rvl7OGs3+dm6WdfCZzXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704203087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rm7GuWM2G4mhmo0BB+PoG8gfgxbHJLAPFogytz6RAqE=; b=QVn+3wgreXvFj2rZuee5J0nbXuWAUUlewSpULlRRxOMuhgav5bew3HQD7xkaulwF99VHib Fr4r8kWgq9OsanfHeif1MqX4bHnFLr1lAjJDorAel3QqFykztVgCEObRbeBa+68a2Pemep FwAxlb93GS5KD4gDTQiBcD2os7sPUXOhDLHboqlLz68FceJV8IRIU6aQ+1Y0ONSyVT38Mk e1xRHayDf6GH3fAe4fgcQxR0PtWu//RiPFY3Fj7VOh/uVRFsQ1JQneAV8j3yL5EXyHrBDC 41hgJBbz/Sed0uf/c0EYeUPwaoVNMusll+srS+bj30QsB3QD/V8c05ndTQTxnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4DcH5DRbz12wZ; Tue, 2 Jan 2024 13:44:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402DilX3015702; Tue, 2 Jan 2024 13:44:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402Dilob015699; Tue, 2 Jan 2024 13:44:47 GMT (envelope-from git) Date: Tue, 2 Jan 2024 13:44:47 GMT Message-Id: <202401021344.402Dilob015699@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 1db45a406688 - main - stress2: Handle the new output format of vmstat(8) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1db45a406688e4bdc1f47773bc8f662b1ded2b3f Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=1db45a406688e4bdc1f47773bc8f662b1ded2b3f commit 1db45a406688e4bdc1f47773bc8f662b1ded2b3f Author: Peter Holm AuthorDate: 2024-01-02 13:43:46 +0000 Commit: Peter Holm CommitDate: 2024-01-02 13:43:46 +0000 stress2: Handle the new output format of vmstat(8) --- tools/test/stress2/tools/vmstat.sh | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/tools/test/stress2/tools/vmstat.sh b/tools/test/stress2/tools/vmstat.sh index 89ff1e331fc5..f7006669a7c0 100755 --- a/tools/test/stress2/tools/vmstat.sh +++ b/tools/test/stress2/tools/vmstat.sh @@ -45,34 +45,28 @@ OIFS=$IFS while true; do # Type InUse MemUse [ -z "$optm" ] && vmstat -m | sed 1d | - sed 's/\(.* \)\([0-9][0-9]*\) *\(.*\)K .*/\1:\2:\3/' | - while IFS=: read -r p1 p2 p3; do - name=`echo $p1 | sed 's/^ *//;s/ *$//'` - memuse=$p3 + while read l; do + name=`echo $l | sed -E 's/ [0-9]+ .*//; s/^ *//'` + memuse=`echo $l | sed -E "s#$name##" | \ + awk '{print int(($2 + 1023) / 1024)}'` [ "$memuse" -ne 0 ] && echo "vmstat -m $name,$memuse" - done + done # ITEM SIZE LIMIT USED - [ -z "$optz" ] && vmstat -z | - grep -vE '(rl_entry):' | - sed "1,2d;/^$/d;s/: /, /" | - sed -E 's/[^[:print:]\r\t]/ /g' | + [ -z "$optz" ] && vmstat -z | sed 1d | while read l; do - IFS=',' - set $l - [ $# -lt 8 ] && - { echo "# args must be >= 8, but is $# in $l" 1>&2; - continue; } - size=$2 - used=$4 + name=`echo $l | sed 's/:.*//'` + l=`echo $l | sed 's/.*://'` + size=`echo $l | awk -F ',' '{print $1}'` + used=`echo $l | awk -F ',' '{print $3}'` [ -z "$used" -o -z "$size" ] && { echo "used/size not set $l" 1>&2; continue; } echo $used | egrep -q '^ *[0-9]{1,10}$' || { echo "Bad used: $used. l=$l" 1>&2; continue; } tot=$((((size * used) + 1023) / 1024)) [ $tot -ne 0 ] && - echo "vmstat -z $1,$tot" - done + echo "vmstat -z $name,$tot" + done r=`sysctl -n vm.stats.vm.v_wire_count` [ -n "$r" ] && @@ -98,6 +92,7 @@ done | awk $debug -F, ' close(cmd); printf "%s \"%s\" %'\''dK\r\n", t, name, size; + fflush n[name] = 0; } s[name] = size; From nobody Tue Jan 2 14:21:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4FQg3jkPz55W2J; Tue, 2 Jan 2024 14:21: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4FQg3H9gz3FRk; Tue, 2 Jan 2024 14:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704205291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MT96HU6ewvBSLgLcF8EDNOvWxL2qomMZ44mVWNQjzzM=; b=XULOjS0tJsSt4RwEGb4GI/m7l/4OHyicKtZ7b5acs29HiKnGv5pBAQDvrLMd0DV7JZbmxk YlGYG3TCEWSrYZ+Yw6Eg4EyrnX5HKoEqMg+1isbaeWDJjXFrKrr9E9gNI3wEfngOq+UpP/ IcM8IrSB2Um1eHihGhfwISzS6mChMYiGkSOwUd0rHfIgvt6p143jq2UkbRVxq7tFXbt2TT vjeLWDy2mB0Ffsk/rUQmelm4/w1R1bobtTNFX/E86Jx5crAnPp25trstYqzMJL/gPj1Jh9 eGO2IWjetoZ1ZNNHru8Bgs8BtzZb7M4M2MtXuPGDkuLSlCOpaqQPVbnuY/sr1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704205291; a=rsa-sha256; cv=none; b=Tzqd09ZcHTwQzpK6z2GA+b33V7jltydTa4zQJbYPEk7VlqrA8f7FzV7Asp67EeOGl6wqUv oLJEiieI0Kug9/5/wvPyiVN+zUT2JOs4Knt/+6MACrmtttK7Kb/cbGkSmlvHe7aNgPrwnT a3aj4BwH3axzDPtfi2SzlpaXU6QLJlOpXJ0EMULsEZ2956ml6FlN+NloiE1dVD++m6Hl9r RBQ0URo0AjqIp64UNVf5YXveVa0/R24JdMmIulg/pPIzXVEFq4l8XwX/qx7k5PAQRm+xAJ s/FbLk6PObUysCSs1oVvkFVM5nrhu+knrLfu0njfmzh9T2V2uzPupPcFohPAvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704205291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MT96HU6ewvBSLgLcF8EDNOvWxL2qomMZ44mVWNQjzzM=; b=bV0JjG3IqUry2iVlurwhU4fMJDyY/3SstT3pncHE7oLMMgdv1PyDJ4OtHNRhVgWA++6Q44 gNhPpeEbx6FL1sDbC1DX5VKydxEyzeR62XaPtyWvuP+jz6u3rLmeCEpJhA619OrM7KDc4c H/z98oTGmonQXMu44QAH827KWgnbNp9XSKACfbUi2NmMOIn8vweaJwaAh1X+gBtVyUonWA ZDqOhkAcevd0EmISc8QKj1ea6zEkUWOGWGwa05MJkGRODCBR+yRahg9lOEeVLqr1MxVNz2 W6u360ENOk/wEekk0mrLAsLeLX3DDOGWPyxzJKa1a/I3f33iMuggkk/MDJpe5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4FQg2Kjrz14GK; Tue, 2 Jan 2024 14:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402ELVF3078709; Tue, 2 Jan 2024 14:21:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402ELVjY078706; Tue, 2 Jan 2024 14:21:31 GMT (envelope-from git) Date: Tue, 2 Jan 2024 14:21:31 GMT Message-Id: <202401021421.402ELVjY078706@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 518a1fd7d349 - main - makefs: Fix ZFS cross-reference sections List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 518a1fd7d3492b8caa8a97d2027c3e7b17abbb0c Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=518a1fd7d3492b8caa8a97d2027c3e7b17abbb0c commit 518a1fd7d3492b8caa8a97d2027c3e7b17abbb0c Author: Jose Luis Duran AuthorDate: 2024-01-02 13:30:29 +0000 Commit: Mark Johnston CommitDate: 2024-01-02 14:20:26 +0000 makefs: Fix ZFS cross-reference sections MFC after: 1 week Fixes: 240afd8c1fcc ("makefs: Add ZFS support") Pull Request: https://github.com/freebsd/freebsd-src/pull/979 --- usr.sbin/makefs/makefs.8 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8 index 18fd01adadda..fde375885a37 100644 --- a/usr.sbin/makefs/makefs.8 +++ b/usr.sbin/makefs/makefs.8 @@ -33,7 +33,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd March 31, 2023 +.Dd January 2, 2024 .Dt MAKEFS 8 .Os @@ -566,7 +566,7 @@ The root of the staged directory tree is mapped to .Va rootpath . .Pp Dataset properties, as described in -.Xr zfsprops 8 , +.Xr zfsprops 7 , may be specified following the dataset name. The following properties may be set for a dataset: .Pp @@ -580,11 +580,11 @@ The following properties may be set for a dataset: .El .Sh SEE ALSO .Xr mtree 5 , +.Xr zfsconcepts 7 , +.Xr zfsprops 7 , +.Xr zpoolprops 7 , .Xr mtree 8 , -.Xr newfs 8 , -.Xr zfsconcepts 8 , -.Xr zfsprops 8 , -.Xr zpoolprops 8 +.Xr newfs 8 .Sh HISTORY The .Nm From nobody Tue Jan 2 17:51:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4L563sSLz55wpB; Tue, 2 Jan 2024 17:51:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4L5623Njz3ccd; Tue, 2 Jan 2024 17:51:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704217898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UjV3s4v+N1p/cI57m0JIe9DG+kO7cstgWkdAaGC1wSA=; b=rJlrbE6VI042Xsbhjn8M7l2auhFUdJys6cQkFyAc9kw5JLx6U9m76d7bIJGCS1KZlg7t2R Iy/NJCZMuTH2fMg8OMKHOzCWQHn/pROzyPqIoBeWlnFuQaSnVC4AgDzcHFEUJT63YZrgUJ p7R4Ds2i356BdXZ2BiPiGwOAc0NP7vCs9PH9/xCV916KWsb+TdJ9U4tUnJKVtq+zf1SQ7w faPY73qmBruYXXlEc9Z+/byEYZV6h2lGLnQ8yqJwVontx6drglc9sGA7IWVKVcQb54baZs jIuT6pdyrMHnKiQ0Mz6tetFLxg9K4H1sPQmUtgnmPbjDmnOEPnngvwlymB5hqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704217898; a=rsa-sha256; cv=none; b=cn2e6x0/wwSDZN0L1W4jbsdUwswsbHKbMejpP8wBpPuecRyKgGCeI6Vxj3Qf6HqYwEsoYS Lv1ScjuDro9THjh3nh5TT61LA9QRpfa7Z2EsUByLUkTOunL88Zy4CM2p/lCngwDr67rW9k R1ir1X74jIMDJ4CTMKdR6S1nmXBQ2aBfEB7wdpw6SX7B0UdNF+kmo9wE09Mz3nGebq9wHp zcP0Q6Quy8/xWEW4KleQFzaDGtbbugFxhOHTLJMFBZGVOAu7xNxgVFcYkYjUi801/UkhjI JCXa+go0ZSZJpuRnN64ja5X173QKzOS24XDeTEsKjXDbI/he1uLaw0eTarlMGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704217898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UjV3s4v+N1p/cI57m0JIe9DG+kO7cstgWkdAaGC1wSA=; b=xrIjrMoIZGPj9XQmW05TjvkPzBhxAgGBXxrMLVvOhGOZyoM8n478Z65bZO3D85fzj2Lz6F wQFA1MAAbSn9IJG8SsqlKgFo6ffEK/ah2Ga3ieqMETWdUaWUyofQuQNCPPhVvwqWPMZlvL XFKSxXnR1ptWmF6d4l5f9poMSVHcR21s2+bOTcf1Zl3urrNGpfRY7jaUOJhEKoVW7Kjpv8 KJ6tWBkudQAQt7O5osre+vA2LhtUMLAPh6w6vIO+XoweoHcdI1us117hgrI5pE1/mE/ed1 yk7eDZGnm0vqia+NxcrGrkkge8wAi8FnNHuSQi0D0FWBSH3Nuolt9jYUc2np7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4L5616J5z19Ms; Tue, 2 Jan 2024 17:51:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402Hpcf9033320; Tue, 2 Jan 2024 17:51:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402HpcLa033317; Tue, 2 Jan 2024 17:51:38 GMT (envelope-from git) Date: Tue, 2 Jan 2024 17:51:38 GMT Message-Id: <202401021751.402HpcLa033317@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: adc215de9cab - main - release: Add missing /var/crash ZFS dataset List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: adc215de9cabadb89eb4a1c99e047906eacaa58a Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=adc215de9cabadb89eb4a1c99e047906eacaa58a commit adc215de9cabadb89eb4a1c99e047906eacaa58a Author: Jose Luis Duran AuthorDate: 2024-01-02 17:38:55 +0000 Commit: Mark Johnston CommitDate: 2024-01-02 17:51:13 +0000 release: Add missing /var/crash ZFS dataset This matches the layout from bsdinstall. MFC after: 1 week Fixes: 89585511cc05 ("release: Add support for creating ZFS-based VM images") Pull Request: https://github.com/freebsd/freebsd-src/pull/981 --- release/tools/vmimage.subr | 1 + 1 file changed, 1 insertion(+) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 6db8bea7c978..f6a0ace21564 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -197,6 +197,7 @@ buildfs() { -o fs=zroot/usr/obj \ -o fs=zroot/var\;mountpoint=/var\;canmount=off \ -o fs=zroot/var/audit\;setuid=off\;exec=off \ + -o fs=zroot/var/crash\;setuid=off\;exec=off \ -o fs=zroot/var/log\;setuid=off\;exec=off \ -o fs=zroot/var/mail\;atime=on \ -o fs=zroot/var/tmp\;setuid=off \ From nobody Tue Jan 2 17:55:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4L9j4NLYz55xqF; Tue, 2 Jan 2024 17:55: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4L9j3x9Vz3dVV; Tue, 2 Jan 2024 17:55:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704218137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wEZNbdKYe7MuEKb1wN2IYSDOPQjQIV9/vn03hxBi0Zk=; b=A4WkKFtWKshOdjb6H1KEAzaupcGEq/vN4CLbVSPS96kIYUri9cEjB5GYobMMXvKQ+AezdW tCkFtIqxCSJP3Kg98ZJRnepR1P1yaM9ZpWHnk1beDTlA4AHaieuwhadEooeEW3vKdhBqys kDDETgWWh/4HAKgpgObbdSIOARqnTGf7EQSIMlnQLMN+Nk+PhfztoIAHxHSra48ZVKaoVs TlBT5wl1ys4cIGUHyBwkKFwYcvKXdBCVK1KCZ8cv7x2H5xmRMXb108zcmMcLvYQgSEHFel rE1i6J4PpWfjQ2+N/0NRpEL5HAZzsj6gkgalP/+lfDlL6K9y1iW2Oxzk1BXL7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704218137; a=rsa-sha256; cv=none; b=X3zXiugIotsliezTJ/8lxnLbp39b6pBVIbK8XwEXicmYwzX0eLi9dftx9liVRcELOMenLz OsrtOeq3o9TiFPfS/gSDtscrBOUG5pQhOJONh8ekfTh2rg2Pj+QTTx89pwV8KaxlavvTui LA5qdUqHPQe2+QBCX7PzYYcDPpvxfQNm3nTpZ5o3QwsJt8SFnk25LovYWq/mi752Ae2zhQ XR0AKdBOfhDmkwBsBEci1sb8ot69tuqDwf1+YsM+5G9dG+28Out5PBXtxlHG7B+z59smvk +k9Kr6EkNLevoK5IgwRhr/BSc65b6/skf+I33TLgGGTfU+KE4AV1qXZSOBz3WQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704218137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wEZNbdKYe7MuEKb1wN2IYSDOPQjQIV9/vn03hxBi0Zk=; b=B7Ra02H0vL15dYXq25sUu/GTLNOUM6mk4h8MSMduMJ4a1qsf07fHpzUc5XdvTtWxsGWmmv +c/+beALUZJ0wfSDL4yRygaKcBLFFTreVrh6V625IZgDdIXKalbn/afKcCgbsku6E25Cqo MwwOTwvOtb0N8S0Aym0vuokp36OtkeU+1Mh+WpVHT3qYY5uc3jonqXRFISozEZrxxK7Hws ktIiUYY2OZSjPh152l7T+7UcKOgT7xN1XR6K4VYxcJgIszopbZg04NZ5YltY3Rx26tJp/d lEqvU249Q41mAr3fQDxY1MStX7VliOZApQoYID9N7wbomSfswrRJOfOLmLbBWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4L9j2zfnz19HX; Tue, 2 Jan 2024 17:55:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402HtbKs034912; Tue, 2 Jan 2024 17:55:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402HtbC7034909; Tue, 2 Jan 2024 17:55:37 GMT (envelope-from git) Date: Tue, 2 Jan 2024 17:55:37 GMT Message-Id: <202401021755.402HtbC7034909@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Benedict Reuschling Subject: git: ffc4f93e960d - main - Fix typos in man pages under /share/man List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bcr X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ffc4f93e960d38b6f70d59409127f7562e40f916 Auto-Submitted: auto-generated The branch main has been updated by bcr: URL: https://cgit.FreeBSD.org/src/commit/?id=ffc4f93e960d38b6f70d59409127f7562e40f916 commit ffc4f93e960d38b6f70d59409127f7562e40f916 Author: Benedict Reuschling AuthorDate: 2024-01-02 17:53:25 +0000 Commit: Benedict Reuschling CommitDate: 2024-01-02 17:53:25 +0000 Fix typos in man pages under /share/man Found using: devel/py-proselint --- share/man/man3/arb.3 | 2 +- share/man/man4/acpi_asus_wmi.4 | 2 +- share/man/man4/ads111x.4 | 2 +- share/man/man4/atkbdc.4 | 2 +- share/man/man4/bxe.4 | 2 +- share/man/man4/cgem.4 | 2 +- share/man/man4/crypto.4 | 2 +- share/man/man4/firewire.4 | 2 +- share/man/man4/fwohci.4 | 2 +- share/man/man4/genetlink.4 | 2 +- share/man/man4/gve.4 | 2 +- share/man/man4/hv_storvsc.4 | 2 +- share/man/man4/hv_vss.4 | 2 +- share/man/man4/iflib.4 | 2 +- share/man/man4/ip.4 | 4 ++-- share/man/man4/mlx5io.4 | 4 ++-- share/man/man4/mod_cc.4 | 2 +- share/man/man4/ng_bridge.4 | 2 +- share/man/man4/ng_macfilter.4 | 2 +- share/man/man4/ng_pptpgre.4 | 2 +- share/man/man4/ng_vlan_rotate.4 | 2 +- share/man/man4/otus.4 | 2 +- share/man/man4/proto.4 | 8 ++++---- share/man/man4/rsu.4 | 2 +- share/man/man4/rtnetlink.4 | 12 ++++++------ share/man/man4/sndstat.4 | 2 +- share/man/man4/tcp.4 | 6 +++--- share/man/man4/watchdog.4 | 2 +- share/man/man4/wg.4 | 2 +- share/man/man5/elf.5 | 2 +- share/man/man7/build.7 | 2 +- share/man/man7/mitigations.7 | 4 ++-- 32 files changed, 45 insertions(+), 45 deletions(-) diff --git a/share/man/man3/arb.3 b/share/man/man3/arb.3 index 9cce8940cdd1..e33ef3a37f7d 100644 --- a/share/man/man3/arb.3 +++ b/share/man/man3/arb.3 @@ -264,7 +264,7 @@ variant includes a suffix denoting the signed integer data type size used to store array indices. For example, .Fn ARB_HEAD8 -creates a red-black tree head strucutre with 8-bit signed array indices capable +creates a red-black tree head structure with 8-bit signed array indices capable of indexing up to 128 entries. .Pp The diff --git a/share/man/man4/acpi_asus_wmi.4 b/share/man/man4/acpi_asus_wmi.4 index 10db9ba6ca59..7d6aeaca948b 100644 --- a/share/man/man4/acpi_asus_wmi.4 +++ b/share/man/man4/acpi_asus_wmi.4 @@ -63,7 +63,7 @@ handled inside the driver. The following sysctls are currently implemented: .Bl -tag -width indent .It Va dev.acpi_asus_wmi.0.handle_keys -Specifies whether driver should handle some harwdare keys, such as keyboard +Specifies whether driver should handle some hardware keys, such as keyboard backlight, internally. .El .Pp diff --git a/share/man/man4/ads111x.4 b/share/man/man4/ads111x.4 index d140f6e95106..03468a4442da 100644 --- a/share/man/man4/ads111x.4 +++ b/share/man/man4/ads111x.4 @@ -71,7 +71,7 @@ For example, if the sample rate were configured as 125 samples per second, a single measurement would require 8 milliseconds. .Pp For devices that support multiple input pins, the device datasheet -describes mux settings to control how those pins are interpeted when +describes mux settings to control how those pins are interpreted when making either single-ended or differential measurements. There are eight possible ways to combine the inputs from the four pins. The diff --git a/share/man/man4/atkbdc.4 b/share/man/man4/atkbdc.4 index 2de2a14a640e..48067c98a5be 100644 --- a/share/man/man4/atkbdc.4 +++ b/share/man/man4/atkbdc.4 @@ -91,7 +91,7 @@ and 5 for .Fa Y . .It Em KBD_DELAY1=X, KBD_DELAY2=Y -DELAY1 sets the intitial key repeat delay to +DELAY1 sets the initial key repeat delay to .Fa X . The default value is 500ms. DELAY2 sets the key repeat delay to diff --git a/share/man/man4/bxe.4 b/share/man/man4/bxe.4 index c174b813bcc6..c82565e19583 100644 --- a/share/man/man4/bxe.4 +++ b/share/man/man4/bxe.4 @@ -142,7 +142,7 @@ scheduled taskqueue. .It Va hw.bxe.max_aggregation_size DEFAULT = 32768 .br -Sets the maximum LRO aggregration byte size. +Sets the maximum LRO aggregation byte size. The higher the value the more packets the hardware will aggregate. Maximum is 65K. diff --git a/share/man/man4/cgem.4 b/share/man/man4/cgem.4 index 7937c2d818d9..1ca4f8fae9e8 100644 --- a/share/man/man4/cgem.4 +++ b/share/man/man4/cgem.4 @@ -199,7 +199,7 @@ Counter of broadcast frames receive without error excluding pause frames. .It Va dev.cgem.%d.stats.rx_frames_multi Counter of multicast frames receive without error excluding pause frames. .It Va dev.cgem.%d.stats.rx_frames_pause -Counter of pause frames recevied without error. +Counter of pause frames received without error. .It Va dev.cgem.%d.stats.rx_frames_64b Counter of 64-byte frames received without error. .It Va dev.cgem.%d.stats.rx_frames_65to127b diff --git a/share/man/man4/crypto.4 b/share/man/man4/crypto.4 index 930be4ab5ee8..b1423752718e 100644 --- a/share/man/man4/crypto.4 +++ b/share/man/man4/crypto.4 @@ -128,7 +128,7 @@ Close the .Pa /dev/crypto device. This will automatically close any remaining sessions associated with the -file desriptor. +file descriptor. .El .Sh SYMMETRIC-KEY OPERATION .Nm cryptodev diff --git a/share/man/man4/firewire.4 b/share/man/man4/firewire.4 index 4195d4da694c..8c4b65eb25bb 100644 --- a/share/man/man4/firewire.4 +++ b/share/man/man4/firewire.4 @@ -10,7 +10,7 @@ .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software -.\" must display the acknowledgement as bellow: +.\" must display the acknowledgement as below: .\" .\" This product includes software developed by K. Kobayashi and H. Shimokawa .\" diff --git a/share/man/man4/fwohci.4 b/share/man/man4/fwohci.4 index 42c038f8cf60..ec14ddfdec85 100644 --- a/share/man/man4/fwohci.4 +++ b/share/man/man4/fwohci.4 @@ -10,7 +10,7 @@ .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software -.\" must display the acknowledgement as bellow: +.\" must display the acknowledgement as below: .\" .\" This product includes software developed by K. Kobayashi and H. Shimokawa .\" diff --git a/share/man/man4/genetlink.4 b/share/man/man4/genetlink.4 index b650e0fabbea..9cc5f3b9cbc1 100644 --- a/share/man/man4/genetlink.4 +++ b/share/man/man4/genetlink.4 @@ -138,7 +138,7 @@ The protocol family appeared in .Fx 13.2 . .Sh AUTHORS -The netlink was implementated by +The netlink was implemented by .An -nosplit .An Alexander Chernikov Aq Mt melifaro@FreeBSD.org . It was derived from the Google Summer of Code 2021 project by diff --git a/share/man/man4/gve.4 b/share/man/man4/gve.4 index 9bb1be1b9a53..54e59b86108b 100644 --- a/share/man/man4/gve.4 +++ b/share/man/man4/gve.4 @@ -185,7 +185,7 @@ If the reset fails during the reinitialization phase, this message is recorded: .It "Restore failed!" .El .Pp -These two messages correspoond to the NIC alerting the driver to link state changes: +These two messages correspond to the NIC alerting the driver to link state changes: .Bl -diag .It "Device link is up." .It "Device link is down." diff --git a/share/man/man4/hv_storvsc.4 b/share/man/man4/hv_storvsc.4 index bcc704167f7e..dc77a822757f 100644 --- a/share/man/man4/hv_storvsc.4 +++ b/share/man/man4/hv_storvsc.4 @@ -62,7 +62,7 @@ driver. The VSP in the root partition then forwards the storage related requests to the physical storage device. .Pp -This driver functions by presenting a SCSI HBA interface to the Comman Access +This driver functions by presenting a SCSI HBA interface to the Common Access Method (CAM) layer. CAM control blocks (CCBs) are converted into VSCSI protocol messages which are delivered to the root diff --git a/share/man/man4/hv_vss.4 b/share/man/man4/hv_vss.4 index 600fd10eb426..33c7c2abb3c1 100644 --- a/share/man/man4/hv_vss.4 +++ b/share/man/man4/hv_vss.4 @@ -90,7 +90,7 @@ In addition, there is a default timeout limit before sending response to Hyper-V If the total response time from application and .Xr hv_vss_daemon 8 exceeds this value, timeout -will occurs and VSS unsupported is responsed to Hyper-V host. +will occur and VSS unsupported is responded to Hyper-V host. .Pp After Hyper-V host confirmed the .Fx diff --git a/share/man/man4/iflib.4 b/share/man/man4/iflib.4 index 4fad38d2c01f..0114263e6ca2 100644 --- a/share/man/man4/iflib.4 +++ b/share/man/man4/iflib.4 @@ -139,7 +139,7 @@ no available space. Number of entries which have been enqueued to the MP ring for this queue. .It Va ring_state MP (soft) ring state. -This privides a snapshot of the current MP ring state, including the producer +This provides a snapshot of the current MP ring state, including the producer head and tail indexes, the consumer index, and the state. The state is one of "IDLE", "BUSY", "STALLED", or "ABDICATED". diff --git a/share/man/man4/ip.4 b/share/man/man4/ip.4 index 8e9ed6725a80..c52715a43380 100644 --- a/share/man/man4/ip.4 +++ b/share/man/man4/ip.4 @@ -88,7 +88,7 @@ setsockopt(s, IPPROTO_IP, IP_OPTIONS, NULL, 0); .Pp .Dv IP_TOS may be used to set the differential service codepoint (DSCP) and the -explicit congestion notfication (ECN) codepoint. +explicit congestion notification (ECN) codepoint. Setting the ECN codepoint - the two least significant bits - on a socket using a transport protocol implementing ECN has no effect. .Pp @@ -227,7 +227,7 @@ The socket should be either bound to .Dv INADDR_ANY and a local port, and the address supplied with .Dv IP_SENDSRCADDR -should't be +shouldn't be .Dv INADDR_ANY , or the socket should be bound to a local address and the address supplied with .Dv IP_SENDSRCADDR diff --git a/share/man/man4/mlx5io.4 b/share/man/man4/mlx5io.4 index 4ccbf7f99b0b..66a767d97d31 100644 --- a/share/man/man4/mlx5io.4 +++ b/share/man/man4/mlx5io.4 @@ -93,7 +93,7 @@ struct mlx5_fwdump_get { }; .Ed .Pp -On successfull return, the +On successful return, the .Dv reg_filled field reports the number of the .Dv buf @@ -161,7 +161,7 @@ struct mlx5_eeprom_get { }; .Ed .Pp -On successfull return, the +On successful return, the .Dv eeprom_info_out_len field reports the length of the EEPROM information. .Dv eeprom_info_buf diff --git a/share/man/man4/mod_cc.4 b/share/man/man4/mod_cc.4 index cbc98bd6803a..f17c6100ce23 100644 --- a/share/man/man4/mod_cc.4 +++ b/share/man/man4/mod_cc.4 @@ -128,7 +128,7 @@ to control their behaviour. Note that both NewReno and CUBIC now support Hystart++ based on the version 3 of the internet-draft. .Sh Kernel Configuration All of the available congestion control modules may also be loaded -via kernel configutation options. +via kernel configuration options. A kernel configuration is required to have at least one congestion control algorithm built into it via kernel option and a system default specified. Compilation of the kernel will fail if these two conditions are not met. diff --git a/share/man/man4/ng_bridge.4 b/share/man/man4/ng_bridge.4 index 1999214c30bc..45bc6b3cb6a7 100644 --- a/share/man/man4/ng_bridge.4 +++ b/share/man/man4/ng_bridge.4 @@ -113,7 +113,7 @@ available hook, unless the first connected hook is an .Ar uplink hook. In this case the node assumes, that all unknown MAC addresses are -located soley on the +located solely on the .Ar uplink hooks and only those hooks will be used to send out frames with unknown destination MACs. diff --git a/share/man/man4/ng_macfilter.4 b/share/man/man4/ng_macfilter.4 index 9a5c4b6885e0..904f194f7fec 100644 --- a/share/man/man4/ng_macfilter.4 +++ b/share/man/man4/ng_macfilter.4 @@ -67,7 +67,7 @@ hook, to be connected to the .Dv lower hook of the NIC, and a .Dv default -hook where packets are sent if the MAC adddress is not found in the table. +hook where packets are sent if the MAC address is not found in the table. .Nm macfilter supports up to .Dv NG_MACFILTER_UPPER_NUM diff --git a/share/man/man4/ng_pptpgre.4 b/share/man/man4/ng_pptpgre.4 index c97dc313d369..935b9ec9334b 100644 --- a/share/man/man4/ng_pptpgre.4 +++ b/share/man/man4/ng_pptpgre.4 @@ -158,7 +158,7 @@ in transit. Greater values allow the node to deliver packets being late after more packets in sequence at cost of increased kernel memory usage. .It Va net.graph.pptpgre.reorder_timeout: 1 -Defines time value in miliseconds used to wait for late packets. +Defines time value in milliseconds used to wait for late packets. .El .Sh SEE ALSO .Xr netgraph 4 , diff --git a/share/man/man4/ng_vlan_rotate.4 b/share/man/man4/ng_vlan_rotate.4 index f1ed605c46b6..37bd6c17122a 100644 --- a/share/man/man4/ng_vlan_rotate.4 +++ b/share/man/man4/ng_vlan_rotate.4 @@ -157,7 +157,7 @@ The first example demonstrates how to rotate double or triple tagged frames so that the innermost C-VLAN can be used as service discriminator. The single or double tagged frames (C-VLAN removed) are sent out to an -interface pointing to different infrastucture. +interface pointing to different infrastructure. .Bd -literal #!/bin/sh diff --git a/share/man/man4/otus.4 b/share/man/man4/otus.4 index 1e2d1e0a402f..040d4b14cb01 100644 --- a/share/man/man4/otus.4 +++ b/share/man/man4/otus.4 @@ -90,7 +90,7 @@ which is loaded when an interface is attached: .Sh HARDWARE The .Nm -driver provices support for Atheros AR9170 USB IEEE 802.11b/g/n +driver provides support for Atheros AR9170 USB IEEE 802.11b/g/n wireless network adapters, including: .Pp .Bl -tag -width Ds -offset indent -compact diff --git a/share/man/man4/proto.4 b/share/man/man4/proto.4 index a76f830b7bb3..889c07cdef81 100644 --- a/share/man/man4/proto.4 +++ b/share/man/man4/proto.4 @@ -245,7 +245,7 @@ in the and .Va virt_size fields. -The number of contigous physical memory segments and the address of the first +The number of contiguous physical memory segments and the address of the first segment are returned in the .Va phys_nsegs and @@ -261,8 +261,8 @@ fields. The behaviour of this operation banks heavily on how .Xr bus_dmamem_alloc 9 is implemented, which means that memory is currently always allocated as a -single contigous region of physical memory. -In practice this also tends to give a single contigous region in bus space. +single contiguous region of physical memory. +In practice this also tends to give a single contiguous region in bus space. This may change over time. .It PROTO_IOC_BUSDMA_MEM_FREE Free previously allocated memory and destroy the memory descriptor. @@ -293,7 +293,7 @@ Destroy the previously created memory descriptor specified by the field. When the memory descriptor is still loaded, it is unloaded first. .It PROTO_IOC_BUSDMA_MD_LOAD -Load a contigous region of memory in the memory descriptor specified by the +Load a contiguous region of memory in the memory descriptor specified by the .Va key field. The size and address in the process' virtual address space are specified diff --git a/share/man/man4/rsu.4 b/share/man/man4/rsu.4 index 34cebc598c0a..b523bfe4aa0e 100644 --- a/share/man/man4/rsu.4 +++ b/share/man/man4/rsu.4 @@ -109,7 +109,7 @@ which is loaded when an interface is attached: .Sh HARDWARE The .Nm -driver provices support for Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n +driver provides support for Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n wireless network adapters, including: .Pp .Bl -tag -width Ds -offset indent -compact diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 index 720a9cc75ef2..83521b50c9b5 100644 --- a/share/man/man4/rtnetlink.4 +++ b/share/man/man4/rtnetlink.4 @@ -175,7 +175,7 @@ RTA_KNH_ID Kernel-specific index of the nexthop (uint32_t) Fib number of the route. Default route table is .Dv RT_TABLE_MAIN . -To explicitely specify "all tables" one needs to set the value to +To explicitly specify "all tables" one needs to set the value to .Dv RT_TABLE_UNSPEC . .It Dv RTA_EXPIRES (uint32_t) seconds till path expiration. @@ -201,7 +201,7 @@ struct nhmsg { .Ed The .Va nh_family -specificies the gateway address family. +specifies the gateway address family. It can be different from route address family for IPv4 routes with IPv6 nexthops. The @@ -273,7 +273,7 @@ struct ifinfomsg { unsigned char ifi_family; /* not used, set to 0 */ unsigned char __ifi_pad; unsigned short ifi_type; /* ARPHRD_* */ - int ifi_index; /* Inteface index */ + int ifi_index; /* Interface index */ unsigned ifi_flags; /* IFF_* flags */ unsigned ifi_change; /* IFF_* change mask */ }; @@ -428,7 +428,7 @@ Set for IPv4 and p2p addresses. .It Dv IFA_LABEL (string) interface name. .It Dv IFA_BROADCAST -(binary) broacast interface address. +(binary) broadcast interface address. .El .Ss Groups The following groups are defined: @@ -476,7 +476,7 @@ Available flags: .Bd -literal -offset indent -compact NTF_SELF local station (LLE_IFADDR) NTF_PROXY proxy entry (LLE_PUB) -NTF_STICKY permament entry (LLE_STATIC) +NTF_STICKY permanent entry (LLE_STATIC) NTF_ROUTER dst indicated itself as a router .Ed .Ss RTM_NEWNEIGH @@ -532,7 +532,7 @@ The protocol family appeared in .Fx 13.2 . .Sh AUTHORS -The netlink was implementated by +The netlink was implemented by .An -nosplit .An Alexander Chernikov Aq Mt melifaro@FreeBSD.org . It was derived from the Google Summer of Code 2021 project by diff --git a/share/man/man4/sndstat.4 b/share/man/man4/sndstat.4 index ba130dacaecb..8325490da162 100644 --- a/share/man/man4/sndstat.4 +++ b/share/man/man4/sndstat.4 @@ -89,7 +89,7 @@ The device identification in the form of subsystem plus a unit number. .It Dv devnode The PCM audio device node relative path in devfs. .It Dv desc -The descripton of the PCM audio device. +The description of the PCM audio device. .It Dv pchan The number of playback channels supported by hardware. This can be 0 if this PCM audio device does not support playback at all. diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4 index 4ebdbac3a3ca..39db12752937 100644 --- a/share/man/man4/tcp.4 +++ b/share/man/man4/tcp.4 @@ -172,7 +172,7 @@ socket option set. .Pp In addition to the facilities defined in RFC7413, this implementation supports a pre-shared key (PSK) mode of operation in which the TFO server requires the -client to be in posession of a shared secret in order for the client to be able +client to be in possession of a shared secret in order for the client to be able to successfully open TFO connections with the server. This is useful, for example, in environments where TFO servers are exposed to both internal and external clients and only wish to allow TFO connections from @@ -380,7 +380,7 @@ Changes NUMA affinity filtering for an established TCP listen socket. This option takes a single integer argument which specifies the NUMA domain to filter on for this listen socket. -The argument can also have the follwing special values: +The argument can also have the following special values: .Bl -tag -width "Dv TCP_REUSPORT_LB_NUMA" .It Dv TCP_REUSPORT_LB_NUMA_NODOM Remove NUMA filtering for this listen socket. @@ -662,7 +662,7 @@ cache. Time in seconds between pruning expired host cache entries. Defaults to 300 (5 minutes). .It Va hostcache.purge -Expire all entires on next pruning of host cache entries. +Expire all entries on next pruning of host cache entries. Any non-zero setting will be reset to zero, once the purge is running. .Bl -tag -compact diff --git a/share/man/man4/watchdog.4 b/share/man/man4/watchdog.4 index f711d4d176d1..2cd66bb8ba85 100644 --- a/share/man/man4/watchdog.4 +++ b/share/man/man4/watchdog.4 @@ -108,7 +108,7 @@ Use an internal software watchdog instead of hardware. There is also an external software watchdog, which is used by default if no hardware watchdog was attached. .It Dv WDIOC_SETSOFTTIMEOUTACT Fa int -Set the action whan a soft timeout occurs. +Set the action when a soft timeout occurs. .El .Pp The actions that may be specified for the pre-timeout or the internal software diff --git a/share/man/man4/wg.4 b/share/man/man4/wg.4 index d0d871e52220..7682d4c37147 100644 --- a/share/man/man4/wg.4 +++ b/share/man/man4/wg.4 @@ -61,7 +61,7 @@ terminology: Peers exchange IPv4 or IPv6 traffic over secure tunnels. Each .Nm -interface may be configured to recognise one or more peers. +interface may be configured to recognize one or more peers. .It Key Each peer uses its private key and corresponding public key to identify itself to others. diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5 index 2aebd1b27702..7ad469a03c3b 100644 --- a/share/man/man5/elf.5 +++ b/share/man/man5/elf.5 @@ -1339,7 +1339,7 @@ The .Va name and .Va desc -fields are padded to ensure 4-byte alignemnt. +fields are padded to ensure 4-byte alignment. .Va namesz and .Va descsz diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 6846b38c99a6..596c64da0673 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -670,7 +670,7 @@ and will only build the specified directory as was done historically. When combined with .Cm buildworld -it is necesarry to override +it is necessary to override .Va LOCAL_LIB_DIRS with any custom directories containing libraries. This allows building a subset of the system in the same way as diff --git a/share/man/man7/mitigations.7 b/share/man/man7/mitigations.7 index 950d84042c71..1cea86e352c5 100644 --- a/share/man/man7/mitigations.7 +++ b/share/man/man7/mitigations.7 @@ -112,7 +112,7 @@ Global controls for 32-bit processes: .Bl -tag -width kern.elf32.aslr.pie_enable .It Va kern.elf32.aslr.enable Enable ASLR for 32-bit ELF binaries, other than Position Independent -Exectutable (PIE) binaries. +Executable (PIE) binaries. .It Va kern.elf32.aslr.pie_enable Enable ASLR for 32-bit Position Independent Executable (PIE) ELF binaries. .It Va kern.elf32.aslr.honor_sbrk @@ -127,7 +127,7 @@ Global controls for 64-bit processes: .Bl -tag -width kern.elf64.aslr.pie_enable .It Va kern.elf64.aslr.enable Enable ASLR for 64-bit ELF binaries, other than Position Independent -Exectutable (PIE) binaries. +Executable (PIE) binaries. .It Va kern.elf64.aslr.pie_enable Enable ASLR for 64-bit Position Independent Executable (PIE) ELF binaries. .It Va kern.elf64.aslr.honor_sbrk From nobody Tue Jan 2 18:20:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4Lkq1GSTz561ZG; Tue, 2 Jan 2024 18:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4Lkq0jZVz3gQG; Tue, 2 Jan 2024 18:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704219651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XswEDc//YladvjTWn4smhKN5O5eBYT6MEa58qQ90mmI=; b=Gl2REG+pwcmnvKLhA5AZOsmxbdt9CIEtI1kDAnXHQ+hD5cZ0Cb5m9ns7wo+hZZPyDJHXG+ BORtWwcAgw4CWJokR3yzZrA1e4EBI/+n+xZnWxTikqF/3dYz569MoPgeBnnTOiO8lSUrgM Msrx2PSL5so1CH5EyFYn0Hko2VEsdLlpbrTclf985QJ6aP9dovTovNNsK0rPNXCvpTFlY3 hyiUiyIL1DmTo3RY3I39jk8CbBfW/e5W7/FQiszyLec/ibKeSlokGsWdRaXOMTB/CUp6gj Mp0+mUYxLFecnNokd+wmsayxt+FkAKY0LIhtxOAQa85wLtwVFt+/YsKsTgUrdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704219651; a=rsa-sha256; cv=none; b=vynOQvb8m2Hq25wccyzhl/a58VWrxAgSvAMdJoLr4iD3Pha/GaSwP3o3kzxMBLxplofVdz XnBPHV3CvOjAC5chaHsxbjfxJNK4XC7EBhRzMKxVe7qatzCMidhxauG3q6qniXkQU5J5mo 2uRgAJu1qgaYOsvYnPz95cUMSr6cgc+iZ15hCzp5JxMmxTowzDXVkVBtRGmSFbQlpvwVIY MuGKT0naSAS64LYkhwWZ0SrTT/Sn7OBdFx8/ptxE/1SZt1xqxKW2I8omtEK25/ffvaQs4y UT3oy7pcgSDiVK4dcukYGSo2/LRbR/OwF19RU2V6PxOfsuGiEoA/aWCE9SrHig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704219651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XswEDc//YladvjTWn4smhKN5O5eBYT6MEa58qQ90mmI=; b=hx2b1fvzC95/XL9p5rQNSzqY47GWtDk4FYvPOUlM2XlAHLpCLHdceYYzFT0QeESCk9F+Yb sgqnLlGLtK2YmFcqYBLUzA2f5713/ixKDxNK2x+PJZH9ZgE1AmzFkDZ+zQGkPLi3bIQlpu qSpA5p3q0fOFKEvwKdpMLoT+idUPngM887ZLSY4fVc+T6qxFtONiGTtEIYboDxvkfkLSOI mFmVQtF4C5odtLDUj2pSW215jBPx6go5lbT9A8sjMy1W8bd8Mpd5xjvBrYAUsBsARitC9C Sz94W2Sq77EppsoO5SMKO1l1qfLBc40qcgWwerK2ICH2ta3pPsv6NtZ+WS7QGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4Lkp6vVSz19dH; Tue, 2 Jan 2024 18:20:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402IKoS1078452; Tue, 2 Jan 2024 18:20:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402IKoT1078449; Tue, 2 Jan 2024 18:20:50 GMT (envelope-from git) Date: Tue, 2 Jan 2024 18:20:50 GMT Message-Id: <202401021820.402IKoT1078449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 029b10b16a4f - main - vmrun.sh: add missing options in usage message List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 029b10b16a4f1823b2546aa51e8f200ab23e929f Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=029b10b16a4f1823b2546aa51e8f200ab23e929f commit 029b10b16a4f1823b2546aa51e8f200ab23e929f Author: Christos Margiolis AuthorDate: 2024-01-02 18:20:08 +0000 Commit: Christos Margiolis CommitDate: 2024-01-02 18:20:08 +0000 vmrun.sh: add missing options in usage message Reviewed by: markj Sponsored by; The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43269 --- share/examples/bhyve/vmrun.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/examples/bhyve/vmrun.sh b/share/examples/bhyve/vmrun.sh index ff568b1da71c..d2cc371e472f 100755 --- a/share/examples/bhyve/vmrun.sh +++ b/share/examples/bhyve/vmrun.sh @@ -53,7 +53,7 @@ errmsg() { usage() { local msg=$1 - echo "Usage: vmrun.sh [-aAEhiTv] [-c ] [-C ]" \ + echo "Usage: vmrun.sh [-aAEhiTuvw] [-c ] [-C ]" \ "[-d ]" echo " [-e ] [-f ]" \ "[-F ]" @@ -62,6 +62,7 @@ usage() { echo " [-L ]" echo " [-m ]" \ "[-n ]" + echo " [-p ]" echo " [-P ] [-t ] " echo "" echo " -h: display this help message" From nobody Tue Jan 2 18:20:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4Lkr45Lwz561Jy; Tue, 2 Jan 2024 18:20:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4Lkr2Fn5z3gQH; Tue, 2 Jan 2024 18:20:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704219652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DDbsiT5wYPJ3MbIHqBC32hDu42uYCE7VQhv+reXSmLA=; b=lrj/WLBjuTYpopd7eF9y2rrCr+QvVIGTr/O6b2Rv8N9EUJUqfVBIJ6N5jEqXOrlf0wrk0M Vtb6Lr0JIXrJbxREoP5pgxCUPctvEDqgbiw3qbL+JIR3pkutlVHc8CQZV7pmegjtDdQhfn 4MaTM2Jx6yoWOTqQSFIIdczUvLTlksPQKpdHcZYKAZXd3X4gsq5s+beDlb7sIP/vL4vMUy fWlq78Z3SGZQ5snZS6NFxaoJNRKEJP/rK4+4kmen195JEFBnq/8DFDvG8QEi7GeuJRMRuX CvdbyRmaefJnknysHF/6ydm76/W/o5Jt6WfDPQE5s1Mtp6z98ji07yzARn/YmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704219652; a=rsa-sha256; cv=none; b=JTCCZqAr4ZgNQxPqtCyWFaPwwMK7gFS2EXYfkIgnL58ojpx5cKXYvWlwYjBVWQyfnhUU18 2rR9GVpJ+M4fOOVseXi8irjXZFHny/EXvpRJsVryWpYbWBcAEy9WPmshqrXURqU1weu9y5 wsjdYTf2tG+qdkLyLM0zSkudI+nPPNYh0ijcbMAm7IuBM/WiackX/mBnYFONVbe9rYLXew izZge0rxJ6wkkmhr7OpcEdi1znLBhalgTU0k8KzI73+0WVVcyy6psXr6cyrGt7VzlekN8V dPWIM09GeukUwwd9N5/Mf40nyqgw5db5n1yWTE7Vh2VStQxxUkOscupJcpmPwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704219652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DDbsiT5wYPJ3MbIHqBC32hDu42uYCE7VQhv+reXSmLA=; b=QvorE043eIhI+vvuHcPza5HsyL6guWpmOubYN8EkFjvzPAjYK5hkfTo+WyDX1G7XflF8Ud dXX+jX5mrERdKQW6LBNIa83ilTupzry8RHeJNd4lq6p1ozVHkmU7yss+7KgBWJYCD/9ff6 xiZPl2OQLoGggff1ijd2JE+H79HpVi8pVsqVRPhAem7tPS22gfcth4X+xGPC2hwNBa9VpH 040A37PYQS8ENdE2F24n+eD2GIB1AvDENpq1oYgN4raoQqgsC5ZLP0TrTQgyk86UJSwM75 uKJaCqBozKHfC7RuwT2/yZmB8GVoll7CGM9YMHAnVyCIk2oxcD1yDoDhPdkDSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4Lkr12N0z19c0; Tue, 2 Jan 2024 18:20:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402IKqbX078505; Tue, 2 Jan 2024 18:20:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402IKqsm078502; Tue, 2 Jan 2024 18:20:52 GMT (envelope-from git) Date: Tue, 2 Jan 2024 18:20:52 GMT Message-Id: <202401021820.402IKqsm078502@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 2ee77056d2d4 - main - vmrun.sh: allow device name arguments in pci-passthru option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2ee77056d2d4f9d43bd316ce6dc91bf5e4b0848b Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=2ee77056d2d4f9d43bd316ce6dc91bf5e4b0848b commit 2ee77056d2d4f9d43bd316ce6dc91bf5e4b0848b Author: Christos Margiolis AuthorDate: 2024-01-02 18:20:42 +0000 Commit: Christos Margiolis CommitDate: 2024-01-02 18:20:42 +0000 vmrun.sh: allow device name arguments in pci-passthru option This is more intuitive than having to run `pciconf -l` and figure out the bus/slot/func entry manually. Reviewed by: markj Sponsored by; The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43270 --- share/examples/bhyve/vmrun.sh | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/share/examples/bhyve/vmrun.sh b/share/examples/bhyve/vmrun.sh index d2cc371e472f..323d8e22a041 100755 --- a/share/examples/bhyve/vmrun.sh +++ b/share/examples/bhyve/vmrun.sh @@ -62,7 +62,7 @@ usage() { echo " [-L ]" echo " [-m ]" \ "[-n ]" - echo " [-p ]" + echo " [-p ]" echo " [-P ] [-t ] " echo "" echo " -h: display this help message" @@ -87,8 +87,8 @@ usage() { echo " -m: memory size (default: ${DEFAULT_MEMSIZE})" echo " -n: network adapter emulation type" \ "(default: ${DEFAULT_NIC})" - echo " -p: pass-through a host PCI device at bus/slot/func" \ - "(e.g. 10/0/0)" + echo " -p: pass-through a host PCI device (e.g ppt0 or" \ + "bus/slot/func)" echo " -P: UEFI GOP VNC port (default: ${DEFAULT_VNCPORT})" echo " -t: tap device for virtio-net (default: $DEFAULT_TAPDEV)" echo " -T: Enable tablet device (for UEFI GOP)" @@ -351,10 +351,21 @@ while [ 1 ]; do i=0 while [ $i -lt $pass_total ] ; do - eval "pass=\$pass_dev${i}" - devargs="$devargs -s $nextslot:0,passthru,${pass} " - nextslot=$(($nextslot + 1)) - i=$(($i + 1)) + eval "pass=\$pass_dev${i}" + bsfform="$(echo "${pass}" | grep "^[0-9]\+/[0-9]\+/[0-9]\+$")" + if [ -z "${bsfform}" ]; then + bsf="$(pciconf -l "${pass}" 2>/dev/null)" + if [ $? -ne 0 ]; then + errmsg "${pass} is not a host PCI device" + exit 1 + fi + bsf="$(echo "${bsf}" | awk -F: '{print $2"/"$3"/"$4}')" + else + bsf="${pass}" + fi + devargs="$devargs -s $nextslot:0,passthru,${bsf} " + nextslot=$(($nextslot + 1)) + i=$(($i + 1)) done efiargs="" From nobody Tue Jan 2 19:11:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4MsJ1nLfz5665n; Tue, 2 Jan 2024 19:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4MsJ1PHDz4Krw; Tue, 2 Jan 2024 19:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704222692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8W5+JH95nMu0zwN4UJ8fcdmH/FSL6luainloXdu45AQ=; b=Qgn2L7r4Bd6Dd19LHp2CChsvWuYnpM4x6ojr4L4odvrqKp0i5pKRNLPLaRKzfU9CGinfVJ npt6P0zwceTu4tyAylaC3dPzAlfnWR6SC77BO9pwCNhWjpwRY5eGV0IOX7ykM1hKFe1sCn qun8RIKNBM//XwfbhJZk1dJw7KgmX86fhQvWmgC2+4iKeWVNEJLNUr4GCJpJrjweS0ywaL T8M7H7xplB71QrU0DRhKKhmYoHwcsVWwmmYzu97wC79F+nUKNdZZPAWP3ZN6AnY/8Gm5IB 00gIX56zVIdp9ckLN8xuo3s5CtAwYvV367UXWGm2sZ4L2PbSquYb6FbXHk0Ljw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704222692; a=rsa-sha256; cv=none; b=wVWCjZROAYZOuuOYMLv8GnkcshCbJmuJJyD//1gMjQf7tBCduHVxXD3nBqt97E3ZHh3qn1 KO2uEx0tSxKTMMayHNQ+FPaOXUd5MBFaT5u3bC6EU7sZlKMpgqm+5FzMw3ZLS7LczxBGg9 FYx4oJmJYRLNQejHKbz7eGcYQragbY3Tj2Cf+dBCElYuExPpHBYkoaLTI30aG1keT6i1x5 gG39Yn1oHQ9XP/gqEwbdGGHP2sR+gc34q0wy4aAV2kKRsZbXia6vB7OAUb6L3IX0tf6qUL 5H8JEjIPc0cyTYdQB2tTct4xcU+hIXLa6tyrHjZ1SyeVGbMTF5ZeQJ+TfWxb2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704222692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8W5+JH95nMu0zwN4UJ8fcdmH/FSL6luainloXdu45AQ=; b=e0hAUao0EPOpwpH6CsNd7xSdAFPZsb5pY6PBdWjoRw6hUqtzPyi7sozFYH8zH19gOTS88t 8xqs5la4YuL1efLE8LXJzIaB44bSf9zouf+kXAzTq7d0Chgwn/ATUXrQLC1BrqpPH0Ubwa d/RvtAyAl2dtHjBGW6279n0wbE+7YvFA7CSKNrPrL77Jkvd3nbVJyJUDduMsJBj2IU5E5o F+fjB02JwDZh5GTACRDw5Qeso2LuIHJlEfLLtHt0VkUct1XOXvXFjw/y0wXrccKkSnd1vs NxjEHiEHEwkduOnGbjFEGDlR8+oqzBi83C01Kbe6e2lvku2VMj/C9Rgzm7/2lw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4MsJ0TcXz1BwQ; Tue, 2 Jan 2024 19:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402JBVvo066579; Tue, 2 Jan 2024 19:11:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402JBVDZ066576; Tue, 2 Jan 2024 19:11:31 GMT (envelope-from git) Date: Tue, 2 Jan 2024 19:11:31 GMT Message-Id: <202401021911.402JBVDZ066576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alex Richardson Subject: git: 30887c7d48ea - main - kldxref: fix bootstrapping on Linux with Clang 16 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: arichardson X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30887c7d48ead8a9151627228244dd3ed95c4c6d Auto-Submitted: auto-generated The branch main has been updated by arichardson: URL: https://cgit.FreeBSD.org/src/commit/?id=30887c7d48ead8a9151627228244dd3ed95c4c6d commit 30887c7d48ead8a9151627228244dd3ed95c4c6d Author: Alex Richardson AuthorDate: 2024-01-02 19:06:51 +0000 Commit: Alex Richardson CommitDate: 2024-01-02 19:06:51 +0000 kldxref: fix bootstrapping on Linux with Clang 16 The glibc fts_open() callback type does not have the second const qualifier and it appears that Clang 16 errors by default for mismatched function pointer types. Add an ifdef to handle this case. --- usr.sbin/kldxref/kldxref.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c index 68f010a6db98..1694f069564b 100644 --- a/usr.sbin/kldxref/kldxref.c +++ b/usr.sbin/kldxref/kldxref.c @@ -748,7 +748,11 @@ usage(void) } static int +#ifdef __GLIBC__ +compare(const FTSENT **a, const FTSENT **b) +#else compare(const FTSENT *const *a, const FTSENT *const *b) +#endif { if ((*a)->fts_info == FTS_D && (*b)->fts_info != FTS_D) From nobody Tue Jan 2 19:17:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4N0Z46tlz566gy; Tue, 2 Jan 2024 19:17:50 +0000 (UTC) (envelope-from jhb@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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4N0Z3Zzfz4LSX; Tue, 2 Jan 2024 19:17:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704223070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l6LkYQIP1rF/eqVn6XcxQaqtwgZw/dxFoZNurQA4lE4=; b=qr6l6/lBPrmQPcWbcddhNMpl8dUPtSGPTEhubMzB351LUSliMTNLvVcQuDCnn8RN9D6myP ojo3HxNXqDyKvrVreIbLg1XJDXe2iELn8BZtL93QF11BL9TSRiNiiABxkSEexQ7YjlTYnN Y7fp1uZrIvVbSsPkmvhCUDlTDDFK2sCqwKYpWc1piyUa6T+6QH+V8fj3+fHyGGVBhpaDG3 Gf99fwj6btwY+cWw2zd5nQAwXqQ1lEcTkoKkhQ5XvRhGBtqYVGconBGYD0XRSXzFOzJpW5 45AvqHinVmMmVswcL51maXS3PYRqjdwkBH4Ny/PrQtoJu/d7lDP3vOTSQhMHoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704223070; a=rsa-sha256; cv=none; b=pxfJZ4cdOTHJSUTI7eIE8qISMjnrUT881ip766pY47DgmZbjwl/TAput641fkg9vJcoi+j o8fMSFYMy8roxChPsgGWdM+TjntYJE2ias3uc0CWBnl1dBl1JsyEA69viVrf5PiWns/PRO ELaNjvWp3k11MOtPdruxJydGdchctzsp5nGBgMnOxGpo9AO5gXStqLupsb0r3ROFgtGH7F s8yl1EecFQxUdcNiOgpTkRNm3s4wbMNcECzrXMRDxf3LZrH4dy76ChvNLFnnuRdLxudG5B UxGB6fxHN2fdeT0kDu6B22lxnpUvjLocvrOuzqlDbc4wGI7ZJJl/IlN6SdMzIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704223070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l6LkYQIP1rF/eqVn6XcxQaqtwgZw/dxFoZNurQA4lE4=; b=UJsLzuoEZfIPitn+eei934olFwcpslWGXrAXgqZdJea5Gy+jjYJfK6VZMy8i9NwvE61YRV v6gwTMI3s1rX3TFwTNbbAkhhyBR5AMqQcNPBK2HyNhn7a+JGmMbTEbov+ljpOedD0aVxCI uOMFShOIAPTafDCX8d6eaKlwPmyZCLeh5WuMKUeJNhFrMwvefg+8SzQtvj6rk7mkyLNIC3 hvfaqggJrG3Zc46F1XJGvQ8ssfBpG4ItERDhuNDGVi9cSTxYbXrFxJMxnQezYDL/7Gh77q neWadbSgsyTTHshKVfTCRiDVevg/A9RWKFa697DLmxkDxweLBe5t3Dl4hAWpwQ== Received: from [IPV6:2601:644:9381:f410:9dec:66dd:91f5:f125] (unknown [IPv6:2601:644:9381:f410:9dec:66dd:91f5:f125]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4T4N0Y626NznFb; Tue, 2 Jan 2024 19:17:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <886e1a57-2e2e-4869-ae8d-0427ef771d41@FreeBSD.org> Date: Tue, 2 Jan 2024 11:17:48 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b4efc6277634 - main - LinuxKPI: Do not use explicit context in FPU sections on powerpc64 Content-Language: en-US To: Vladimir Kondratyev , Vladimir Kondratyev , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202312241320.3BODK2DA076069@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 12/30/23 7:14 PM, Vladimir Kondratyev wrote: > On 27.12.2023 20:05, John Baldwin wrote: >> On 12/24/23 5:20 AM, Vladimir Kondratyev wrote: >>> The branch main has been updated by wulf: >>> >>> URL: >>> https://cgit.FreeBSD.org/src/commit/?id=b4efc62776344a9aaada5a0866e453e528a0e977 >>> >>> commit b4efc62776344a9aaada5a0866e453e528a0e977 >>> Author:     Vladimir Kondratyev >>> AuthorDate: 2023-12-24 12:48:06 +0000 >>> Commit:     Vladimir Kondratyev >>> CommitDate: 2023-12-24 12:48:06 +0000 >>> >>>      LinuxKPI: Do not use explicit context in FPU sections on >>> powerpc64 >>>      It is not supported yet. >>>      Sponsored by:   Serenity Cyber Security, LLC >>>      Fixes:  5a3bd281672b ("LinuxKPI: Add explicit software context to >>> FPU sections") >>>      MFC after:      1 week >>> --- >>>   sys/compat/linuxkpi/common/include/linux/compat.h | 5 ----- >>>   sys/compat/linuxkpi/common/src/linux_current.c    | 9 ++++++--- >>>   sys/compat/linuxkpi/common/src/linux_fpu.c        | 3 ++- >>>   3 files changed, 8 insertions(+), 9 deletions(-) >> >> Do you need explicit contexts at all? > > Original version of https://reviews.freebsd.org/D42822 did not use > explicit contexts. > >   That is, can you not just >> use FPU_KERN_NOCTX all the time?  Most code in the tree now uses >> FPU_KERN_NOCTX now (all the crypto drivers for example), and I've >> been thinking about removing support for the !FPU_KERN_NOCTX case. >> Is there a reason drm-kmod can't use FPU_KERN_NOCTX?  Do you really >> need to save FPU registers in one block of code wrapped by fpu_kern_* >> and then use those register values in a future section wrapped by >> fpu_kern_*? >> > > I can revert current code end use previous version. Just give me some > time. > I will be AFK till the end of january. Hmm, well the review for that answers my question which is that there is GPU driver code that calls malloc() while in an FPU section. So the answer to my original question is, no, you can't just use FPU_KERN_NOCTX. Or if you did you would need to patch the driver code instead to narrow the FPU context usage so it wasn't enabled when malloc() is called. I don't know how feasible it would be to fix the drivers to narrow the FPU sections, but I think you would have to do that if you wanted to go back to always using FPU_KERN_NOCTX. -- John Baldwin From nobody Tue Jan 2 21:06:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QQR086Kz56KLH; Tue, 2 Jan 2024 21:06: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QQQ55Lzz4c9v; Tue, 2 Jan 2024 21:06:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5vWzyolf+7a+bN1eFMAHR4PDHDtv7Nc89+CoEwaIvBU=; b=CH/SbeQP388+oX51rwZnqGSZTuS54m0ksbgoe+42QZZvVDC+1OAvXFTSTjlDo2QHAmJd67 LSTVTRf4GTxN1PK+bqt/Rk4dZWA2vClYbPlV4WQ1D3xrEduQFH4Yvl16lri1h2mHebQg56 bE7wQOCWVxWgk9apJh18aVgbjyb+TsVcQg6I+iXBSjRGmSogCIRugOf51tpf275aoPTDvy iUzQ/FqgmKRCw/0Afp67eGT3lkRo2JEFzmgojjwo7lt+98mjI8tq6Jn79tNvy46eutr19Q SBVq3wSJY4jXoicKWK91n66jbmNAnKmidSnN78/pCL/uoyctd9YMMWfFBMTsJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704229614; a=rsa-sha256; cv=none; b=VHeJhh+m8EzQBL6aWNAMIrRr217EWd5B7M8jWSvyibwjIVurrPmwDfaimDUqn2dHiVPYdh o2ycpEdrVhXMVe57CkqVxjODqdUeDUyICtEwN0FwWcHsxdAO7GnFhX8lO+RL3Uiy96dIcZ 4tKe4y7ZJks7lR3WSHaeMowi6utea5d0dxm9QoIVnx+BeCrP5yMrTppfiBem/whc7Wnbgk qTPhX8TjsxesT36KZgrY7WTHZYRYOiav/67/wQrl4P0XMkrsXwNTbydfsWnZDrt7U/ecL2 +wCaeDcjk3FgWa5l1ZDpOVUepfXXmd79aMw4bRrUYm+bjEqGjDhhMqY/+wSqiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5vWzyolf+7a+bN1eFMAHR4PDHDtv7Nc89+CoEwaIvBU=; b=hFnXIwa0Tlz4z6AV8wbDIPCOQA4UAmgsNvCkno20QbJPjOJG+y/ALuzj4kxRFyPXIpkxMg k8jzDirzdmgliOYuxJv68TCjyr/vPgraupyjCneY7gLPVQxUu2mB3kUoQB+v7qIbsqcxyh y1hid1kodKVggpl3oguMx957+zw5sJgpNv2iHj1IC4pB2AE3nnBN03npx8xC7XNgLXfVHi PB7+A42BHCVEWB4TPdZbbAsGi5gjc69pSa2x83w+XCLih5k6dsityZX0sxqqc69YOiTrRh BE+xAz8BDYiBpN16q+9xoCFOxygIokQINEUAwt/Cf4XuSQE+EBsZWDLWCXVPaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QQQ49c7z1G2Y; Tue, 2 Jan 2024 21:06:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402L6sTj055882; Tue, 2 Jan 2024 21:06:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402L6sLd055879; Tue, 2 Jan 2024 21:06:54 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:06:54 GMT Message-Id: <202401022106.402L6sLd055879@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 660bd40a598a - main - netlink: use domain specific send buffer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 660bd40a598a498ad850911772fcff3f2511875a Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=660bd40a598a498ad850911772fcff3f2511875a commit 660bd40a598a498ad850911772fcff3f2511875a Author: Gleb Smirnoff AuthorDate: 2024-01-02 21:03:21 +0000 Commit: Gleb Smirnoff CommitDate: 2024-01-02 21:03:21 +0000 netlink: use domain specific send buffer Instead of using generic socket code, create Netlink specific socket buffer. It is a simple TAILQ of writes that came from userland. This saves us one memory allocation that could fail and one memory copy. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D42522 --- sys/netlink/netlink_domain.c | 102 +++++++++++++++++++++++-------- sys/netlink/netlink_io.c | 139 ++++++++++++------------------------------- sys/netlink/netlink_var.h | 12 +++- sys/sys/sockbuf.h | 6 ++ 4 files changed, 129 insertions(+), 130 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 38f4a2dfed94..ecd110d62c1f 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -47,6 +47,7 @@ #include #include #include /* priv_check */ +#include #include #include @@ -330,6 +331,8 @@ nl_pru_attach(struct socket *so, int proto, struct thread *td) free(nlp, M_PCB); return (error); } + so->so_rcv.sb_mtx = &so->so_rcv_mtx; + TAILQ_INIT(&so->so_snd.nl_queue); so->so_pcb = nlp; nlp->nl_socket = so; /* Copy so_cred to avoid having socket_var.h in every header */ @@ -337,7 +340,6 @@ nl_pru_attach(struct socket *so, int proto, struct thread *td) nlp->nl_proto = proto; nlp->nl_process_id = curproc->p_pid; nlp->nl_linux = is_linux; - nlp->nl_active = true; nlp->nl_unconstrained_vnet = !jailed_without_vnet(so->so_cred); nlp->nl_need_thread_setup = true; NLP_LOCK_INIT(nlp); @@ -491,6 +493,7 @@ nl_close(struct socket *so) struct nl_control *ctl = atomic_load_ptr(&V_nl_ctl); MPASS(sotonlpcb(so) != NULL); struct nlpcb *nlp; + struct nl_buf *nb; NL_LOG(LOG_DEBUG2, "detaching socket %p, PID %d", so, curproc->p_pid); nlp = sotonlpcb(so); @@ -498,7 +501,6 @@ nl_close(struct socket *so) /* Mark as inactive so no new work can be enqueued */ NLP_LOCK(nlp); bool was_bound = nlp->nl_bound; - nlp->nl_active = false; NLP_UNLOCK(nlp); /* Wait till all scheduled work has been completed */ @@ -518,6 +520,12 @@ nl_close(struct socket *so) so->so_pcb = NULL; + while ((nb = TAILQ_FIRST(&so->so_snd.nl_queue)) != NULL) { + TAILQ_REMOVE(&so->so_snd.nl_queue, nb, tailq); + free(nb, M_NETLINK); + } + sbdestroy(so, SO_RCV); + NL_LOG(LOG_DEBUG3, "socket %p, detached", so); /* XXX: is delayed free needed? */ @@ -556,36 +564,79 @@ nl_sockaddr(struct socket *so, struct sockaddr *sa) } static int -nl_pru_output(struct mbuf *m, struct socket *so, ...) +nl_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio, + struct mbuf *m, struct mbuf *control, int flags, struct thread *td) { + struct nlpcb *nlp = sotonlpcb(so); + struct sockbuf *sb = &so->so_snd; + struct nl_buf *nb; + u_int len; + int error; - if (__predict_false(m == NULL || - ((m->m_len < sizeof(struct nlmsghdr)) && - (m = m_pullup(m, sizeof(struct nlmsghdr))) == NULL))) - return (ENOBUFS); - MPASS((m->m_flags & M_PKTHDR) != 0); - - NL_LOG(LOG_DEBUG3, "sending message to kernel async processing"); - nl_receive_async(m, so); - return (0); -} - + MPASS(m == NULL && uio != NULL); -static int -nl_pru_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *sa, - struct mbuf *control, struct thread *td) -{ NL_LOG(LOG_DEBUG2, "sending message to kernel"); if (__predict_false(control != NULL)) { - if (control->m_len) { - m_freem(control); - return (EINVAL); - } m_freem(control); + return (EINVAL); } - return (nl_pru_output(m, so)); + if (__predict_false(flags & MSG_OOB)) /* XXXGL: or just ignore? */ + return (EOPNOTSUPP); + + if (__predict_false(uio->uio_resid < sizeof(struct nlmsghdr))) + return (ENOBUFS); /* XXXGL: any better error? */ + + NL_LOG(LOG_DEBUG3, "sending message to kernel async processing"); + + error = SOCK_IO_SEND_LOCK(so, SBLOCKWAIT(flags)); + if (error) + return (error); + + len = roundup2(uio->uio_resid, 8) + SCRATCH_BUFFER_SIZE; + if (nlp->nl_linux) + len += roundup2(uio->uio_resid, 8); + nb = malloc(sizeof(*nb) + len, M_NETLINK, M_WAITOK); + nb->datalen = uio->uio_resid; + nb->buflen = len; + nb->offset = 0; + error = uiomove(&nb->data[0], uio->uio_resid, uio); + if (__predict_false(error)) + goto out; + + SOCK_SENDBUF_LOCK(so); +restart: + if (sb->sb_hiwat - sb->sb_ccc >= nb->datalen) { + TAILQ_INSERT_TAIL(&sb->nl_queue, nb, tailq); + sb->sb_acc += nb->datalen; + sb->sb_ccc += nb->datalen; + nb = NULL; + } else if ((so->so_state & SS_NBIO) || + (flags & (MSG_NBIO | MSG_DONTWAIT)) != 0) { + SOCK_SENDBUF_UNLOCK(so); + error = EWOULDBLOCK; + goto out; + } else { + if ((error = sbwait(so, SO_SND)) != 0) { + SOCK_SENDBUF_UNLOCK(so); + goto out; + } else + goto restart; + } + SOCK_SENDBUF_UNLOCK(so); + + if (nb == NULL) { + NL_LOG(LOG_DEBUG3, "enqueue %u bytes", nb->datalen); + NLP_LOCK(nlp); + nl_schedule_taskqueue(nlp); + NLP_UNLOCK(nlp); + } + +out: + SOCK_IO_SEND_UNLOCK(so); + free(nb, M_NETLINK); + return (error); } static int @@ -747,14 +798,15 @@ nl_setsbopt(struct socket *so, struct sockopt *sopt) } #define NETLINK_PROTOSW \ - .pr_flags = PR_ATOMIC | PR_ADDR | PR_WANTRCVD, \ + .pr_flags = PR_ATOMIC | PR_ADDR | PR_WANTRCVD | \ + PR_SOCKBUF, \ .pr_ctloutput = nl_ctloutput, \ .pr_setsbopt = nl_setsbopt, \ .pr_attach = nl_pru_attach, \ .pr_bind = nl_pru_bind, \ .pr_connect = nl_pru_connect, \ .pr_disconnect = nl_pru_disconnect, \ - .pr_send = nl_pru_send, \ + .pr_sosend = nl_sosend, \ .pr_rcvd = nl_pru_rcvd, \ .pr_shutdown = nl_pru_shutdown, \ .pr_sockaddr = nl_sockaddr, \ diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index 3fe01bb443a1..7e2e098e4a9a 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -58,8 +58,7 @@ static const struct sockaddr_nl _nl_empty_src = { }; static const struct sockaddr *nl_empty_src = (const struct sockaddr *)&_nl_empty_src; -static struct mbuf *nl_process_mbuf(struct mbuf *m, struct nlpcb *nlp); - +static bool nl_process_nbuf(struct nl_buf *nb, struct nlpcb *nlp); static void queue_push(struct nl_io_queue *q, struct mbuf *mq) @@ -74,15 +73,6 @@ queue_push(struct nl_io_queue *q, struct mbuf *mq) } } -static void -queue_push_head(struct nl_io_queue *q, struct mbuf *m) -{ - MPASS(m->m_nextpkt == NULL); - - q->length += m_length(m, NULL); - STAILQ_INSERT_HEAD(&q->head, m, m_stailqpkt); -} - static struct mbuf * queue_pop(struct nl_io_queue *q) { @@ -172,7 +162,7 @@ extract_msg_info(struct mbuf *m) return (NULL); } -static void +void nl_schedule_taskqueue(struct nlpcb *nlp) { if (!nlp->nl_task_pending) { @@ -184,32 +174,6 @@ nl_schedule_taskqueue(struct nlpcb *nlp) } } -int -nl_receive_async(struct mbuf *m, struct socket *so) -{ - struct nlpcb *nlp = sotonlpcb(so); - int error = 0; - - m->m_nextpkt = NULL; - - NLP_LOCK(nlp); - - if ((__predict_true(nlp->nl_active))) { - sbappend(&so->so_snd, m, 0); - NL_LOG(LOG_DEBUG3, "enqueue %u bytes", m_length(m, NULL)); - nl_schedule_taskqueue(nlp); - } else { - NL_LOG(LOG_DEBUG, "ignoring %u bytes on non-active socket", - m_length(m, NULL)); - m_free(m); - error = EINVAL; - } - - NLP_UNLOCK(nlp); - - return (error); -} - static bool tx_check_locked(struct nlpcb *nlp) { @@ -252,6 +216,9 @@ tx_check_locked(struct nlpcb *nlp) static bool nl_process_received_one(struct nlpcb *nlp) { + struct socket *so = nlp->nl_socket; + struct sockbuf *sb = &so->so_snd; + struct nl_buf *nb; bool reschedule = false; NLP_LOCK(nlp); @@ -263,39 +230,28 @@ nl_process_received_one(struct nlpcb *nlp) return (false); } - if (queue_empty(&nlp->rx_queue)) { - /* - * Grab all data we have from the socket TX queue - * and store it the internal queue, so it can be worked on - * w/o holding socket lock. - */ - struct sockbuf *sb = &nlp->nl_socket->so_snd; - - SOCKBUF_LOCK(sb); - unsigned int avail = sbavail(sb); - if (avail > 0) { - NL_LOG(LOG_DEBUG3, "grabbed %u bytes", avail); - queue_push(&nlp->rx_queue, sbcut_locked(sb, avail)); - } - SOCKBUF_UNLOCK(sb); - } else { - /* Schedule another pass to read from the socket queue */ - reschedule = true; - } - int prev_hiwat = nlp->tx_queue.hiwat; NLP_UNLOCK(nlp); - while (!queue_empty(&nlp->rx_queue)) { - struct mbuf *m = queue_pop(&nlp->rx_queue); - - m = nl_process_mbuf(m, nlp); - if (m != NULL) { - queue_push_head(&nlp->rx_queue, m); - reschedule = false; + SOCK_SENDBUF_LOCK(so); + while ((nb = TAILQ_FIRST(&sb->nl_queue)) != NULL) { + TAILQ_REMOVE(&sb->nl_queue, nb, tailq); + SOCK_SENDBUF_UNLOCK(so); + reschedule = nl_process_nbuf(nb, nlp); + SOCK_SENDBUF_LOCK(so); + if (reschedule) { + sb->sb_acc -= nb->datalen; + sb->sb_ccc -= nb->datalen; + /* XXXGL: potentially can reduce lock&unlock count. */ + sowwakeup_locked(so); + free(nb, M_NETLINK); + SOCK_SENDBUF_LOCK(so); + } else { + TAILQ_INSERT_HEAD(&sb->nl_queue, nb, tailq); break; } } + SOCK_SENDBUF_UNLOCK(so); if (nlp->tx_queue.hiwat > prev_hiwat) { NLP_LOG(LOG_DEBUG, nlp, "TX override peaked to %d", nlp->tx_queue.hiwat); @@ -323,14 +279,12 @@ nl_process_received(struct nlpcb *nlp) void nl_init_io(struct nlpcb *nlp) { - STAILQ_INIT(&nlp->rx_queue.head); STAILQ_INIT(&nlp->tx_queue.head); } void nl_free_io(struct nlpcb *nlp) { - queue_free(&nlp->rx_queue); queue_free(&nlp->tx_queue); } @@ -529,70 +483,51 @@ npt_clear(struct nl_pstate *npt) /* * Processes an incoming packet, which can contain multiple netlink messages */ -static struct mbuf * -nl_process_mbuf(struct mbuf *m, struct nlpcb *nlp) +static bool +nl_process_nbuf(struct nl_buf *nb, struct nlpcb *nlp) { - int offset, buffer_length; struct nlmsghdr *hdr; - char *buffer; int error; - NL_LOG(LOG_DEBUG3, "RX netlink mbuf %p on %p", m, nlp->nl_socket); + NL_LOG(LOG_DEBUG3, "RX netlink buf %p on %p", nb, nlp->nl_socket); struct nl_writer nw = {}; if (!nlmsg_get_unicast_writer(&nw, NLMSG_SMALL, nlp)) { - m_freem(m); NL_LOG(LOG_DEBUG, "error allocating socket writer"); - return (NULL); + return (true); } nlmsg_ignore_limit(&nw); - /* TODO: alloc this buf once for nlp */ - int data_length = m_length(m, NULL); - buffer_length = roundup2(data_length, 8) + SCRATCH_BUFFER_SIZE; - if (nlp->nl_linux) - buffer_length += roundup2(data_length, 8); - buffer = malloc(buffer_length, M_NETLINK, M_NOWAIT | M_ZERO); - if (buffer == NULL) { - m_freem(m); - nlmsg_flush(&nw); - NL_LOG(LOG_DEBUG, "Unable to allocate %d bytes of memory", - buffer_length); - return (NULL); - } - m_copydata(m, 0, data_length, buffer); struct nl_pstate npt = { .nlp = nlp, - .lb.base = &buffer[roundup2(data_length, 8)], - .lb.size = buffer_length - roundup2(data_length, 8), + .lb.base = &nb->data[roundup2(nb->datalen, 8)], + .lb.size = nb->buflen - roundup2(nb->datalen, 8), .nw = &nw, .strict = nlp->nl_flags & NLF_STRICT, }; - for (offset = 0; offset + sizeof(struct nlmsghdr) <= data_length;) { - hdr = (struct nlmsghdr *)&buffer[offset]; + for (; nb->offset + sizeof(struct nlmsghdr) <= nb->datalen;) { + hdr = (struct nlmsghdr *)&nb->data[nb->offset]; /* Save length prior to calling handler */ int msglen = NLMSG_ALIGN(hdr->nlmsg_len); - NL_LOG(LOG_DEBUG3, "parsing offset %d/%d", offset, data_length); + NL_LOG(LOG_DEBUG3, "parsing offset %d/%d", + nb->offset, nb->datalen); npt_clear(&npt); - error = nl_receive_message(hdr, data_length - offset, nlp, &npt); - offset += msglen; + error = nl_receive_message(hdr, nb->datalen - nb->offset, nlp, + &npt); + nb->offset += msglen; if (__predict_false(error != 0 || nlp->nl_tx_blocked)) break; } NL_LOG(LOG_DEBUG3, "packet parsing done"); - free(buffer, M_NETLINK); nlmsg_flush(&nw); if (nlp->nl_tx_blocked) { NLP_LOCK(nlp); nlp->nl_tx_blocked = false; NLP_UNLOCK(nlp); - m_adj(m, offset); - return (m); - } else { - m_freem(m); - return (NULL); - } + return (false); + } else + return (true); } diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 36b7c61974c9..ec174e17d1a2 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -49,6 +49,14 @@ struct nl_io_queue { int hiwat; }; +struct nl_buf { + TAILQ_ENTRY(nl_buf) tailq; + u_int buflen; + u_int datalen; + u_int offset; + char data[]; +}; + #define NLP_MAX_GROUPS 128 struct nlpcb { @@ -58,14 +66,12 @@ struct nlpcb { uint32_t nl_flags; uint32_t nl_process_id; int nl_proto; - bool nl_active; bool nl_bound; bool nl_task_pending; bool nl_tx_blocked; /* No new requests accepted */ bool nl_linux; /* true if running under compat */ bool nl_unconstrained_vnet; /* true if running under VNET jail (or without jail) */ bool nl_need_thread_setup; - struct nl_io_queue rx_queue; struct nl_io_queue tx_queue; struct taskqueue *nl_taskqueue; struct task nl_task; @@ -141,7 +147,7 @@ void nl_init_io(struct nlpcb *nlp); void nl_free_io(struct nlpcb *nlp); void nl_taskqueue_handler(void *_arg, int pending); -int nl_receive_async(struct mbuf *m, struct socket *so); +void nl_schedule_taskqueue(struct nlpcb *nlp); void nl_process_receive_locked(struct nlpcb *nlp); void nl_set_source_metadata(struct mbuf *m, int num_messages); void nl_add_msg_info(struct mbuf *m); diff --git a/sys/sys/sockbuf.h b/sys/sys/sockbuf.h index 92b9964072fb..c6093883be4a 100644 --- a/sys/sys/sockbuf.h +++ b/sys/sys/sockbuf.h @@ -163,6 +163,12 @@ struct sockbuf { u_int uxdg_ctl; u_int uxdg_mbcnt; }; + /* + * Netlink socket. + */ + struct { + TAILQ_HEAD(, nl_buf) nl_queue; + }; }; }; From nobody Tue Jan 2 21:06:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QQS1YT2z56KLN; Tue, 2 Jan 2024 21:06: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QQR68t4z4c9w; Tue, 2 Jan 2024 21:06:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/M0dX5DYG6QtMGowX1I8qx57YlVYjaOVLNRXnP9QbAs=; b=csSkRWbP93ImzyrfJ1QpK2UInKs0tGsmbe9K6Xx7bUP4UokKbHZB5YFsQSFu7laA7youp1 Vu6f1Db2QA25s/2gq9uMJjBVeld1T09uy+UpKv8W8+N3Ua3X6ehkh73FmK4v65/PbEntKw a+9ZpBhrWgjm0JJxcmk+txiETDRcHv0hJUjv9Bxhq+x/Z22xxOWal0zJ0NYgWhocGrJMIb MV6lDW1LyAErF3QgnuU5bbS0pB79WwKsXDCdQ44EevsQnfLNmFuHsAXmeHoGPYkM2LjF5/ /RYgD/u54Kc7jcpP6u2REU51N+5pO+rzVoT3k5yrob1sGIuF0xgRJlEINBPCiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704229615; a=rsa-sha256; cv=none; b=YAyie8j7TKES2fqWHBv5xS7ICAW+7j6M7b6lV7DrIuca5XbjzfKNfWsfSmLzeh67tvskI2 9MFVZKvQLy9zJbJoszwi3Y1NhzdWnxbjS7Ex7hlcrVfNx5zHmSJEhA9HtyRsNEjnT9ebln F+oiM1SmpUwxdw9w6mBotnfXPtWTq4U2CuzLlJF2mNThZCbsGfLNIADNy142uJPriHTmg1 643YHCdJRz234ly7BTkvr/SGUl4x3AiUlxoS2RtSQli3j3awRFCkOaxUmPuMAwChMDjSpL ZqZDWoCHbAHz3MNcvaeFN/sKqpJ7DAvjOyXR3yQ0dQHnRK/Ea6yhsyUhy0ffXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/M0dX5DYG6QtMGowX1I8qx57YlVYjaOVLNRXnP9QbAs=; b=JQxX0cpCwnycP9yi909H+RhlcCwIBPEb2NhraANcSO+tAtPqROWFyJS8QEAO2vDihwO/Iq aAUvff2ChdoBMhCJSP/YOzq8abQE1EIZuZv9BosWtqOAO5pxvMXJnuCN49sasHZKc3iBbQ hVbKG/6dMcsczz98XEWYprZUxZ8Sulu3Y9tXNQ4dGQklumNIXcz9g1fvJ0m4oh7F1eUKc7 sg+hnueS36tKn47ujhqiO2Y3eWJkLMpUvjgIIeYNBSFJkM3JkIYoIO3gidUzyyrJss2V9J ihPjPyFy9fdIxwKhVvPiRRi9aAXp237+dCi+le0xBdeFdXKZOvKQRdJxTwsOuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QQR5BLXz1G9Z; Tue, 2 Jan 2024 21:06:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402L6tDF055946; Tue, 2 Jan 2024 21:06:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402L6teG055943; Tue, 2 Jan 2024 21:06:55 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:06:55 GMT Message-Id: <202401022106.402L6teG055943@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 67d9023f07a4 - main - netlink: uninline some KPI functions that work with struct nl_writer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67d9023f07a495ca626fa7fec005713cbbd01ba2 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=67d9023f07a495ca626fa7fec005713cbbd01ba2 commit 67d9023f07a495ca626fa7fec005713cbbd01ba2 Author: Gleb Smirnoff AuthorDate: 2024-01-02 21:03:40 +0000 Commit: Gleb Smirnoff CommitDate: 2024-01-02 21:03:40 +0000 netlink: uninline some KPI functions that work with struct nl_writer These functions work with a buffer embedded into nl_writer, which is going to go opaque with upcoming changes. Make them private to the netlink module. No functional change intended. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D42523 --- sys/netlink/netlink_message_writer.c | 52 ++++++++++++++++++++++++++++++++++++ sys/netlink/netlink_message_writer.h | 49 +++------------------------------ 2 files changed, 56 insertions(+), 45 deletions(-) diff --git a/sys/netlink/netlink_message_writer.c b/sys/netlink/netlink_message_writer.c index 00c7f84cbc0a..dafcca6ef038 100644 --- a/sys/netlink/netlink_message_writer.c +++ b/sys/netlink/netlink_message_writer.c @@ -783,4 +783,56 @@ _nlmsg_end_dump(struct nl_writer *nw, int error, struct nlmsghdr *hdr) return (true); } +/* + * KPI functions. + */ + +int +nlattr_save_offset(const struct nl_writer *nw) +{ + return (nw->offset - ((char *)nw->hdr - nw->data)); +} + +void * +nlmsg_reserve_data_raw(struct nl_writer *nw, size_t sz) +{ + sz = NETLINK_ALIGN(sz); + + if (__predict_false(nw->offset + sz > nw->alloc_len)) { + if (!nlmsg_refill_buffer(nw, sz)) + return (NULL); + } + + void *data_ptr = &nw->data[nw->offset]; + nw->offset += sz; + bzero(data_ptr, sz); + + return (data_ptr); +} + +bool +nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, const void *data) +{ + int required_len = NLA_ALIGN(attr_len + sizeof(struct nlattr)); + + if (__predict_false(nw->offset + required_len > nw->alloc_len)) { + if (!nlmsg_refill_buffer(nw, required_len)) + return (false); + } + + struct nlattr *nla = (struct nlattr *)(&nw->data[nw->offset]); + + nla->nla_len = attr_len + sizeof(struct nlattr); + nla->nla_type = attr_type; + if (attr_len > 0) { + if ((attr_len % 4) != 0) { + /* clear padding bytes */ + bzero((char *)nla + required_len - 4, 4); + } + memcpy((nla + 1), data, attr_len); + } + nw->offset += required_len; + return (true); +} + #include diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index 97e5f828788a..68e434094678 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -193,11 +193,7 @@ nlmsg_reply(struct nl_writer *nw, const struct nlmsghdr *hdr, int payload_len) * current (uncompleted) header is guaranteed to be contiguous, * but can be reallocated, thus pointers may need to be readjusted. */ -static inline int -nlattr_save_offset(const struct nl_writer *nw) -{ - return (nw->offset - ((char *)nw->hdr - nw->data)); -} +u_int nlattr_save_offset(const struct nl_writer *nw); static inline void * _nlattr_restore_offset(const struct nl_writer *nw, int off) @@ -213,22 +209,7 @@ nlattr_set_len(const struct nl_writer *nw, int off) nla->nla_len = nlattr_save_offset(nw) - off; } -static inline void * -nlmsg_reserve_data_raw(struct nl_writer *nw, size_t sz) -{ - sz = NETLINK_ALIGN(sz); - - if (__predict_false(nw->offset + sz > nw->alloc_len)) { - if (!nlmsg_refill_buffer(nw, sz)) - return (NULL); - } - - void *data_ptr = &nw->data[nw->offset]; - nw->offset += sz; - bzero(data_ptr, sz); - - return (data_ptr); -} +void *nlmsg_reserve_data_raw(struct nl_writer *nw, size_t sz); #define nlmsg_reserve_object(_ns, _t) ((_t *)nlmsg_reserve_data_raw(_ns, sizeof(_t))) #define nlmsg_reserve_data(_ns, _sz, _t) ((_t *)nlmsg_reserve_data_raw(_ns, _sz)) @@ -258,30 +239,8 @@ _nlmsg_reserve_attr(struct nl_writer *nw, uint16_t nla_type, uint16_t sz) } #define nlmsg_reserve_attr(_ns, _at, _t) ((_t *)_nlmsg_reserve_attr(_ns, _at, NLA_ALIGN(sizeof(_t)))) -static inline bool -nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, const void *data) -{ - int required_len = NLA_ALIGN(attr_len + sizeof(struct nlattr)); - - if (__predict_false(nw->offset + required_len > nw->alloc_len)) { - if (!nlmsg_refill_buffer(nw, required_len)) - return (false); - } - - struct nlattr *nla = (struct nlattr *)(&nw->data[nw->offset]); - - nla->nla_len = attr_len + sizeof(struct nlattr); - nla->nla_type = attr_type; - if (attr_len > 0) { - if ((attr_len % 4) != 0) { - /* clear padding bytes */ - bzero((char *)nla + required_len - 4, 4); - } - memcpy((nla + 1), data, attr_len); - } - nw->offset += required_len; - return (true); -} +bool nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, + const void *data); static inline bool nlattr_add_raw(struct nl_writer *nw, const struct nlattr *nla_src) From nobody Tue Jan 2 21:06:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QQT36gHz56KSs; Tue, 2 Jan 2024 21:06: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QQT02Dwz4bxP; Tue, 2 Jan 2024 21:06:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=01fTYb93E6X1gNn835hLjjeFDpojfoWljKCx/IPv7z8=; b=p5/BKOgiUl9rxpfvazV+9avJy8cpoIIkT9Xy8dJ+HgTjhm0PRzlgY6lyqpMp5iTrx5k4dA nptJBCRoJySwIk5M/iYqEC6F9lbaORhENbYZQ2hlZtMhAVrafYbPgGhiIa9mhpOJkLGms+ RYJ68lpISm/0S+HiQZ7eBjhGfAszKKv0MXpaALUwdi8ZzEPGKzcumc9M33NI3VECWdVyHW 9MWpuzyMHJpa53v/TUieXMWI7L8PZ5nlVggTqg5QBYDw3rwY0sz2Ft08RsfvsfiRs02ajt iT1BROyYrNeyZYyU+edPo9yqifmr8ss1M5/KtqhYohQRQREgLHayzaAnHsMhug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704229617; a=rsa-sha256; cv=none; b=D3C055/2qX1+JafO5H/OKTc2wuqponOaaz194Ld8gRFMOGby0nL6TN3kR/m+bNjZZRxLEv 2UFsSndLNe/OE81UMt4lDmIStL1UDLGa9QXE685xbVSudGLNxSzCU9UPS1c0HYqpP2w1ON h9wtrB+x0S8P3i1FDYwG2GMxZAgkzz066sLvJ5JxWQZvPNzZiNH8kMrg6qqxyobmiV7/c6 bIDI8Pb6s98zUTtau6EdTssN8ybI8S7nyHRA2lpSw7LsbdXWW2QmVP4wYkgc19T2OPvrBl k2bARaRxBpkKCesDEOPafn5SaboBZesujRDv9HOhV/2NVVKaCU4iFpahSCzr5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=01fTYb93E6X1gNn835hLjjeFDpojfoWljKCx/IPv7z8=; b=rkqAMCVzvaneqzERjrv2e1fKdHSa36JxMiAB0rhQt3gnK9VuBtEBbl7TmO7si9Xalnhw3Z cTL5+TRJV4kiKHpbGHeRPBK9OUumhnzRTw2zp3e6ycmf69hICrX6JKdsNxa2Fv0LUg41yU vrJapuFC6qGM+E/uTXwg1JV9Xpv+4K/ueE/FZRVtgcqSGAtaX/v4M21qPGngHfdE7D5VQQ avlEr6J5M6hAJaUVK60II+nYBdmCkgH2D7hLvvJPdgTtQcc9WWf18NVBcs6ptHpF/Op7R5 K98GmivqUPFFAU7qz2tKZmP2ThtxqzkNg0hyrj+3yJ9OtXN212Cqcbb9rnNaKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QQS6BTKz1GKZ; Tue, 2 Jan 2024 21:06:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402L6uok055991; Tue, 2 Jan 2024 21:06:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402L6uw4055988; Tue, 2 Jan 2024 21:06:56 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:06:56 GMT Message-Id: <202401022106.402L6uw4055988@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 0ad011ececb9 - main - tests/netlink: add netlink socket buffer test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ad011ececb978e22a9bff2acf76633b094f1ff6 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=0ad011ececb978e22a9bff2acf76633b094f1ff6 commit 0ad011ececb978e22a9bff2acf76633b094f1ff6 Author: Gleb Smirnoff AuthorDate: 2024-01-02 21:03:49 +0000 Commit: Gleb Smirnoff CommitDate: 2024-01-02 21:03:49 +0000 tests/netlink: add netlink socket buffer test With upcoming protocol specific socket buffer for Netlink we need some additional tests that cover basic socket operations, w/o much of actual Netlink knowledge. Following tests are performed: 1) Overflow. If an application keeps sending messages to the kernel, but doesn't read out the replies, then first the receive buffer shall fill and after that further messages from applications will be queued on the send buffer until it is filled. After that socket operations should block. However, reading from the receive buffer some data should wake up the taskqueue and the send buffer should start draining again. 2) Peek & trunc. Check that socket correctly reports amount of readable data with MSG_PEEK & MSG_TRUNC. This is typical pattern of Netlink apps. 3) Sizes. Check that zero size read doesn't affect the socket, undersize read will return one truncated message and the message is removed from the buffer. Check that large buffer will be filled in one read, without any boundaries imposed by internal representation of the buffer. Check that any meaningful read is amended with control data if requested so. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D42525 --- tests/sys/netlink/Makefile | 3 +- tests/sys/netlink/netlink_socket.c | 266 +++++++++++++++++++++++++++++++++++++ 2 files changed, 268 insertions(+), 1 deletion(-) diff --git a/tests/sys/netlink/Makefile b/tests/sys/netlink/Makefile index 7a80b4de21d0..c52149674ceb 100644 --- a/tests/sys/netlink/Makefile +++ b/tests/sys/netlink/Makefile @@ -4,7 +4,8 @@ WARNS?= 1 TESTSDIR= ${TESTSBASE}/sys/netlink -ATF_TESTS_C += test_snl test_snl_generic +ATF_TESTS_C+= netlink_socket +ATF_TESTS_C+= test_snl test_snl_generic ATF_TESTS_PYTEST += test_nl_core.py ATF_TESTS_PYTEST += test_rtnl_iface.py ATF_TESTS_PYTEST += test_rtnl_ifaddr.py diff --git a/tests/sys/netlink/netlink_socket.c b/tests/sys/netlink/netlink_socket.c new file mode 100644 index 000000000000..51a3824a31f2 --- /dev/null +++ b/tests/sys/netlink/netlink_socket.c @@ -0,0 +1,266 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Gleb Smirnoff + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +static struct itimerval itv = { + .it_interval = { 0, 0 }, + .it_value = { 1, 0 }, /* one second */ +}; +static sig_atomic_t timer_done = 0; +static void +sigalarm(int sig __unused) +{ + + timer_done = 1; +} + +static struct sigaction sigact = { + .sa_handler = sigalarm, +}; + +static struct nlmsghdr hdr = (struct nlmsghdr) { + .nlmsg_type = RTM_GETLINK, + .nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK, + .nlmsg_len = sizeof(struct nlmsghdr), +}; + +#define BUFLEN 1000 + +static int +fullsocket(void) +{ + char buf[BUFLEN]; + socklen_t slen = sizeof(int); + int fd, sendspace, recvspace, sendavail, recvavail, rsize; + u_int cnt = 0; + + ATF_REQUIRE((fd = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) != -1); + ATF_REQUIRE(getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sendspace, + &slen) == 0); + ATF_REQUIRE(getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &recvspace, + &slen) == 0); + + /* Check the expected size of reply on a single RTM_GETLINK. */ + ATF_REQUIRE(send(fd, &hdr, sizeof(hdr), 0) == sizeof(hdr)); + ATF_REQUIRE(recv(fd, buf, sizeof(hdr), MSG_WAITALL | MSG_PEEK) == + sizeof(hdr)); + ATF_REQUIRE(ioctl(fd, FIONREAD, &rsize) != -1); + + + /* + * Flood the socket with requests, without reading out the replies. + * While we are flooding, the kernel tries to process the requests. + * Kernel takes off requests from the send buffer and puts replies + * on receive buffer. Once the receive buffer is full it stops working + * on queue in the send buffer. At this point we must get a solid + * failure. However, if we flood faster than kernel taskqueue runs, + * we may get intermittent failures. + */ + do { + ssize_t rv; + + rv = send(fd, &hdr, sizeof(hdr), MSG_DONTWAIT); + if (__predict_true(rv == sizeof(hdr))) + cnt++; + else { + ATF_REQUIRE(errno == EAGAIN); + ATF_REQUIRE(sizeof(hdr) * cnt > sendspace); + } + ATF_REQUIRE(ioctl(fd, FIONREAD, &recvavail) != -1); + ATF_REQUIRE(ioctl(fd, FIONWRITE, &sendavail) != -1); + } while (recvavail <= recvspace - rsize || + sendavail <= sendspace - sizeof(hdr)); + + return (fd); +} + +ATF_TC_WITHOUT_HEAD(overflow); +ATF_TC_BODY(overflow, tc) +{ + char buf[BUFLEN]; + int fd; + + fd = fullsocket(); + + /* Both buffers full: block. */ + timer_done = 0; + ATF_REQUIRE(sigaction(SIGALRM, &sigact, NULL) == 0); + ATF_REQUIRE(setitimer(ITIMER_REAL, &itv, NULL) == 0); + ATF_REQUIRE(send(fd, &hdr, sizeof(hdr), 0) == -1); + ATF_REQUIRE(errno == EINTR); + ATF_REQUIRE(timer_done == 1); + + /* + * Now, reading something from the receive buffer should wake up the + * taskqueue and send buffer should start getting drained. + */ + ATF_REQUIRE(recv(fd, buf, BUFLEN, 0) > sizeof(hdr)); + timer_done = 0; + ATF_REQUIRE(setitimer(ITIMER_REAL, &itv, NULL) == 0); + ATF_REQUIRE(send(fd, &hdr, sizeof(hdr), 0) == sizeof(hdr)); + ATF_REQUIRE(timer_done == 0); +} + +ATF_TC_WITHOUT_HEAD(peek); +ATF_TC_BODY(peek, tc) +{ + char *buf; + ssize_t ss, ss1; + int fd; + + ATF_REQUIRE((fd = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) != -1); + + ATF_REQUIRE(send(fd, &hdr, sizeof(hdr), 0) == sizeof(hdr)); + ss = recv(fd, buf, 0, MSG_WAITALL | MSG_PEEK | MSG_TRUNC); + ATF_REQUIRE((buf = malloc(ss)) != NULL); + ATF_REQUIRE(recv(fd, buf, ss, MSG_WAITALL) == ss); +} + +struct nl_control { + struct nlattr nla; + uint32_t val; +}; + +static void +cmsg_check(struct msghdr *msg) +{ + static pid_t pid = 0; + struct cmsghdr *cmsg; + struct nl_control *nlc; + + ATF_REQUIRE((cmsg = CMSG_FIRSTHDR(msg)) != NULL); + ATF_REQUIRE(cmsg->cmsg_level == SOL_NETLINK); + ATF_REQUIRE(cmsg->cmsg_type == NETLINK_MSG_INFO); + nlc = (struct nl_control *)CMSG_DATA(cmsg); + ATF_REQUIRE(nlc[0].nla.nla_type == NLMSGINFO_ATTR_PROCESS_ID); + if (pid == 0) + pid = getpid(); + ATF_REQUIRE(nlc[0].val == pid); + ATF_REQUIRE(nlc[1].nla.nla_type == NLMSGINFO_ATTR_PORT_ID); + /* XXX need another test to test port id */ + ATF_REQUIRE(nlc[1].val == 0); + ATF_REQUIRE(CMSG_NXTHDR(msg, cmsg) == NULL); + ATF_REQUIRE((msg->msg_flags & MSG_CTRUNC) == 0); +} + +ATF_TC_WITHOUT_HEAD(sizes); +ATF_TC_BODY(sizes, tc) +{ +#define NLMSG_LARGE 2048 /* XXX: match kernel nl_buf */ + char buf[NLMSG_LARGE * 10]; + char cbuf[CMSG_SPACE(sizeof(struct nl_control) * 2)]; + struct iovec iov; + struct msghdr msg = { + .msg_iov = &iov, + .msg_iovlen = 1, + .msg_control = cbuf, + .msg_controllen = sizeof(cbuf), + }; + ssize_t ss; + int fd, size, rsize; + + fd = fullsocket(); + + /* + * Set NETLINK_MSG_INFO, so that later cmsg_check will check that any + * read is accompanied with control data. + */ + ATF_REQUIRE(setsockopt(fd, SOL_NETLINK, NETLINK_MSG_INFO, + &(int){1}, sizeof(int)) == 0); + + iov = (struct iovec ){ + .iov_base = &hdr, + .iov_len = sizeof(hdr), + }; + /* Obtain size of the first message in the socket. */ + ss = recvmsg(fd, &msg, MSG_WAITALL | MSG_PEEK | MSG_TRUNC); + ATF_REQUIRE(ss == hdr.nlmsg_len); + /* And overall amount of data in the socket. */ + ATF_REQUIRE(ioctl(fd, FIONREAD, &rsize) != -1); + cmsg_check(&msg); + + /* Zero-sized read should not affect state of the socket buffer. */ + ATF_REQUIRE(recv(fd, buf, 0, 0) == 0); + ATF_REQUIRE(ioctl(fd, FIONREAD, &size) != -1); + ATF_REQUIRE(size == rsize); + + /* + * Undersized read should lose a message. This isn't exactly + * pronounced in the Netlink RFC, but it always says that Netlink + * socket is an analog of the BSD routing socket, and this is how + * a route(4) socket deals with undersized read. + */ + iov = (struct iovec ){ + .iov_base = buf, + .iov_len = sizeof(hdr), + }; + ATF_REQUIRE(recvmsg(fd, &msg, 0) == sizeof(hdr)); + ATF_REQUIRE(msg.msg_flags & MSG_TRUNC); + ATF_REQUIRE(hdr.nlmsg_len > sizeof(hdr)); + size = rsize - hdr.nlmsg_len; + ATF_REQUIRE(ioctl(fd, FIONREAD, &rsize) != -1); + ATF_REQUIRE(size == rsize); + cmsg_check(&msg); + + /* + * Large read should span several nl_bufs, seeing no boundaries. + */ + iov = (struct iovec ){ + .iov_base = buf, + .iov_len = sizeof(buf) < rsize ? sizeof(buf) : rsize, + }; + ss = recvmsg(fd, &msg, 0); + ATF_REQUIRE(ss > NLMSG_LARGE * 9 || ss == rsize); + cmsg_check(&msg); +} + +ATF_TP_ADD_TCS(tp) +{ + if (modfind("netlink") == -1) + atf_tc_skip("netlink module not loaded"); + + ATF_TP_ADD_TC(tp, overflow); + ATF_TP_ADD_TC(tp, peek); + ATF_TP_ADD_TC(tp, sizes); + + return (atf_no_error()); +} From nobody Tue Jan 2 21:06:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QQV33fzz56KQw; Tue, 2 Jan 2024 21:06:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QQV1Gqbz4cFf; Tue, 2 Jan 2024 21:06:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zOrL018J/CelKJ16EmSNfnoIZbA+Nb86/UJoX0ImC1M=; b=iMbeiMdOdzo0PBnpYcoNZaKugW/jM47bsG32LrIF0geASk/z3SiZJ10gQi/E5tYn0Af/JP TdbWtlSiMDLpdsFtjGp7IuvyXlehdvp0nBXqg0z3BSqxOxU4+N9S1+xNV8mDX7O2SyFNZt HHhENTzdr2rJKmgbQlFfeFRs1hEd1HMMm1y6NXgDyt8L1bZMW0/a8MGNnkN5EGALalKGk/ JGvxwQmSB6F3DuZKYvK+tEUCnyQ3LWcyTZAupOueBPTAnik+OkCr+hR+uVlyZWwDekktAz Lc4iFIDr3+UNH5CgfwzVsCnogY3FNlgX/EsCZvETezGNCVFYnyraGW4gPEjF6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704229618; a=rsa-sha256; cv=none; b=hiGUF1uLOnW9/IIxJ0cCsx+8w5oILBqUIsCAxD06OJR93ogs/LS7b43c/ak+hVoXxtG8tD aZ1obxE76yQOExZrihA2w3HiInCCF4p31rzGRR1cLtkDL0r28x6ncTf00Cm6eyx21nY2Zr CYZafKpIhgEsljVsp7sVf/UVaqOCcfgcCRJGM8RCdpTWV9ewUpVsVtuyHyZOUhRg/+Arke I98/MfPemoesCENqyOIqU8q8csPupGOkx5G9Jbw+g8YgtDyIV+4WaCvw+ZbgRcPEP75+Q9 LBLV5T0Q5S95YSeNpMBoy5+2jF1tsWGCbJesgtEPSqDXMKQHLa+MPaBD+06jPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zOrL018J/CelKJ16EmSNfnoIZbA+Nb86/UJoX0ImC1M=; b=R59/UmMGJmTCgpjJbUVyXQSI56kCKfxhEZNIq/6x5gjGqi9wtSVB5xKHVR7Urj2upO6raV OCR4oc5EeCQ+Tu4GTstegvjImJIFSuwuyN09BiAv/IqcSnTEhei6n4mSK4DFsfS8RqsPGf zkib6YfxSQEWfDASQWYjsAsO4cngTL0imVRzkiNVh4q4SvuV1m5sQZ6VksBsqFk3hRoSxA NMGGsRj/SzrLey9TLp0YczTtyE3KJwuuR3XYAa3ViJn/oIELygIJYMlNd7kaytcZN/Fd+9 SoUWysDSYbprueSaro1vHn+Nj7OfEvKEru1OvJs99jZ1z45bJ2vZ2L/yREgmnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QQT74MBz1GKb; Tue, 2 Jan 2024 21:06:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402L6vDS056036; Tue, 2 Jan 2024 21:06:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402L6v93056033; Tue, 2 Jan 2024 21:06:57 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:06:57 GMT Message-Id: <202401022106.402L6v93056033@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 17083b94a915 - main - netlink: use protocol specific receive buffer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17083b94a91563aba15ba03d1c74796a35bb1c26 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=17083b94a91563aba15ba03d1c74796a35bb1c26 commit 17083b94a91563aba15ba03d1c74796a35bb1c26 Author: Gleb Smirnoff AuthorDate: 2024-01-02 21:04:01 +0000 Commit: Gleb Smirnoff CommitDate: 2024-01-02 21:04:01 +0000 netlink: use protocol specific receive buffer Implement Netlink socket receive buffer as a simple TAILQ of nl_buf's, same part of struct sockbuf that is used for send buffer already. This shaves a lot of code and a lot of extra processing. The pcb rids of the I/O queues as the socket buffer is exactly the queue. The message writer is simplified a lot, as we now always deal with linear buf. Notion of different buffer types goes away as way as different kinds of writers. The only things remaining are: a socket writer and a group writer. The impact on the network stack is that we no longer use mbufs, so a workaround from d18715475071 disappears. Note on message throttling. Now the taskqueue throttling mechanism needs to look at both socket buffers protected by their respective locks and on flags in the pcb that are protected by the pcb lock. There is definitely some room for optimization, but this changes tries to preserve as much as possible. Note on new nl_soreceive(). It emulates soreceive_generic(). It must undergo further optimization, see large comment put in there. Note on tests/sys/netlink/test_netlink_message_writer.py. This test boiled down almost to nothing with mbufs removed. However, I left it with minimal functionality (it basically checks that allocating N bytes we get N bytes) as it is one of not so many examples of ktest framework that allows to test KPIs with python. Note on Linux support. It got much simplier: Netlink message writer loses notion of Linux support lifetime, it is same regardless of process ABI. On socket write from Linux process we perform conversion immediately in nl_receive_message() and on an output conversion to Linux happens in in nl_send_one(). XXX: both conversions use M_NOWAIT allocation, which used to be the case before this change, too. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D42524 --- sys/compat/linux/linux_netlink.c | 83 ++- sys/netlink/ktest_netlink_message_writer.c | 94 +--- sys/netlink/ktest_netlink_message_writer.h | 20 +- sys/netlink/netlink_domain.c | 199 +++++-- sys/netlink/netlink_glue.c | 1 - sys/netlink/netlink_io.c | 281 +++------- sys/netlink/netlink_linux.h | 9 +- sys/netlink/netlink_message_writer.c | 638 ++++------------------- sys/netlink/netlink_message_writer.h | 53 +- sys/netlink/netlink_module.c | 3 - sys/netlink/netlink_var.h | 22 +- sys/netlink/route/rt.c | 6 +- tests/sys/netlink/test_netlink_message_writer.py | 54 +- 13 files changed, 406 insertions(+), 1057 deletions(-) diff --git a/sys/compat/linux/linux_netlink.c b/sys/compat/linux/linux_netlink.c index 807cdc7a14bc..af172fb27ba7 100644 --- a/sys/compat/linux/linux_netlink.c +++ b/sys/compat/linux/linux_netlink.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include @@ -44,6 +43,7 @@ #include #include #include +#include #include #include @@ -187,6 +187,7 @@ handle_default_out(struct nlmsghdr *hdr, struct nl_writer *nw) if (out_hdr != NULL) { memcpy(out_hdr, hdr, hdr->nlmsg_len); + nw->num_messages++; return (true); } return (false); @@ -518,8 +519,7 @@ nlmsg_error_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_writer * } static bool -nlmsg_to_linux(int netlink_family, struct nlmsghdr *hdr, struct nlpcb *nlp, - struct nl_writer *nw) +nlmsg_to_linux(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_writer *nw) { if (hdr->nlmsg_type < NLMSG_MIN_TYPE) { switch (hdr->nlmsg_type) { @@ -536,7 +536,7 @@ nlmsg_to_linux(int netlink_family, struct nlmsghdr *hdr, struct nlpcb *nlp, } } - switch (netlink_family) { + switch (nlp->nl_proto) { case NETLINK_ROUTE: return (rtnl_to_linux(hdr, nlp, nw)); default: @@ -544,64 +544,49 @@ nlmsg_to_linux(int netlink_family, struct nlmsghdr *hdr, struct nlpcb *nlp, } } -static struct mbuf * -nlmsgs_to_linux(int netlink_family, char *buf, int data_length, struct nlpcb *nlp) +static bool +nlmsgs_to_linux(struct nl_writer *nw, struct nlpcb *nlp) { - RT_LOG(LOG_DEBUG3, "LINUX: get %p size %d", buf, data_length); - struct nl_writer nw = {}; - - struct mbuf *m = NULL; - if (!nlmsg_get_chain_writer(&nw, data_length, &m)) { - RT_LOG(LOG_DEBUG, "unable to setup chain writer for size %d", - data_length); - return (NULL); - } + struct nl_buf *nb, *orig; + u_int offset, msglen, orig_messages __diagused; + + RT_LOG(LOG_DEBUG3, "%p: in %u bytes %u messages", __func__, + nw->buf->datalen, nw->num_messages); + + orig = nw->buf; + nb = nl_buf_alloc(orig->datalen + SCRATCH_BUFFER_SIZE, M_NOWAIT); + if (__predict_false(nb == NULL)) + return (false); + nw->buf = nb; +#ifdef INVARIANTS + orig_messages = nw->num_messages; +#endif + nw->num_messages = 0; /* Assume correct headers. Buffer IS mutable */ - int count = 0; - for (int offset = 0; offset + sizeof(struct nlmsghdr) <= data_length;) { - struct nlmsghdr *hdr = (struct nlmsghdr *)&buf[offset]; - int msglen = NLMSG_ALIGN(hdr->nlmsg_len); - count++; + for (offset = 0; + offset + sizeof(struct nlmsghdr) <= orig->datalen; + offset += msglen) { + struct nlmsghdr *hdr = (struct nlmsghdr *)&orig->data[offset]; - if (!nlmsg_to_linux(netlink_family, hdr, nlp, &nw)) { + msglen = NLMSG_ALIGN(hdr->nlmsg_len); + if (!nlmsg_to_linux(hdr, nlp, nw)) { RT_LOG(LOG_DEBUG, "failed to process msg type %d", hdr->nlmsg_type); - m_freem(m); - return (NULL); + nl_buf_free(nb); + return (false); } - offset += msglen; } - nlmsg_flush(&nw); - RT_LOG(LOG_DEBUG3, "Processed %d messages, chain size %d", count, - m ? m_length(m, NULL) : 0); - return (m); -} + MPASS(nw->num_messages == orig_messages); + MPASS(nw->buf == nb); + nl_buf_free(orig); + RT_LOG(LOG_DEBUG3, "%p: out %u bytes", __func__, offset); -static struct mbuf * -mbufs_to_linux(int netlink_family, struct mbuf *m, struct nlpcb *nlp) -{ - /* XXX: easiest solution, not optimized for performance */ - int data_length = m_length(m, NULL); - char *buf = malloc(data_length, M_LINUX, M_NOWAIT); - if (buf == NULL) { - RT_LOG(LOG_DEBUG, "unable to allocate %d bytes, dropping message", - data_length); - m_freem(m); - return (NULL); - } - m_copydata(m, 0, data_length, buf); - m_freem(m); - - m = nlmsgs_to_linux(netlink_family, buf, data_length, nlp); - free(buf, M_LINUX); - - return (m); + return (true); } static struct linux_netlink_provider linux_netlink_v1 = { - .mbufs_to_linux = mbufs_to_linux, .msgs_to_linux = nlmsgs_to_linux, .msg_from_linux = nlmsg_from_linux, }; diff --git a/sys/netlink/ktest_netlink_message_writer.c b/sys/netlink/ktest_netlink_message_writer.c index e46065dd4bd2..805f52197f69 100644 --- a/sys/netlink/ktest_netlink_message_writer.c +++ b/sys/netlink/ktest_netlink_message_writer.c @@ -29,9 +29,9 @@ #include #include #include -#include #include #include +#include #include #define KTEST_CALLER @@ -39,54 +39,47 @@ #ifdef INVARIANTS -struct test_mbuf_attrs { +struct test_nlbuf_attrs { uint32_t size; uint32_t expected_avail; - uint32_t expected_count; - uint32_t wtype; int waitok; }; -#define _OUT(_field) offsetof(struct test_mbuf_attrs, _field) -static const struct nlattr_parser nla_p_mbuf_w[] = { +#define _OUT(_field) offsetof(struct test_nlbuf_attrs, _field) +static const struct nlattr_parser nla_p_nlbuf_w[] = { { .type = 1, .off = _OUT(size), .cb = nlattr_get_uint32 }, { .type = 2, .off = _OUT(expected_avail), .cb = nlattr_get_uint32 }, - { .type = 3, .off = _OUT(expected_count), .cb = nlattr_get_uint32 }, - { .type = 4, .off = _OUT(wtype), .cb = nlattr_get_uint32 }, - { .type = 5, .off = _OUT(waitok), .cb = nlattr_get_uint32 }, + { .type = 3, .off = _OUT(waitok), .cb = nlattr_get_uint32 }, }; #undef _OUT -NL_DECLARE_ATTR_PARSER(mbuf_w_parser, nla_p_mbuf_w); +NL_DECLARE_ATTR_PARSER(nlbuf_w_parser, nla_p_nlbuf_w); static int -test_mbuf_parser(struct ktest_test_context *ctx, struct nlattr *nla) +test_nlbuf_parser(struct ktest_test_context *ctx, struct nlattr *nla) { - struct test_mbuf_attrs *attrs = npt_alloc(ctx->npt, sizeof(*attrs)); + struct test_nlbuf_attrs *attrs = npt_alloc(ctx->npt, sizeof(*attrs)); ctx->arg = attrs; if (attrs != NULL) - return (nl_parse_nested(nla, &mbuf_w_parser, ctx->npt, attrs)); + return (nl_parse_nested(nla, &nlbuf_w_parser, ctx->npt, attrs)); return (ENOMEM); } static int -test_mbuf_writer_allocation(struct ktest_test_context *ctx) +test_nlbuf_writer_allocation(struct ktest_test_context *ctx) { - struct test_mbuf_attrs *attrs = ctx->arg; - bool ret; + struct test_nlbuf_attrs *attrs = ctx->arg; struct nl_writer nw = {}; + u_int alloc_len; + bool ret; - ret = nlmsg_get_buf_type_wrapper(&nw, attrs->size, attrs->wtype, attrs->waitok); + ret = nlmsg_get_buf_wrapper(&nw, attrs->size, attrs->waitok); if (!ret) return (EINVAL); - int alloc_len = nw.alloc_len; + alloc_len = nw.buf->buflen; KTEST_LOG(ctx, "requested %u, allocated %d", attrs->size, alloc_len); - /* Set cleanup callback */ - nw.writer_target = NS_WRITER_TARGET_SOCKET; - nlmsg_set_callback_wrapper(&nw); - /* Mark enomem to avoid reallocation */ nw.enomem = true; @@ -95,9 +88,7 @@ test_mbuf_writer_allocation(struct ktest_test_context *ctx) return (EINVAL); } - /* Mark as empty to free the storage */ - nw.offset = 0; - nlmsg_flush(&nw); + nl_buf_free(nw.buf); if (alloc_len < attrs->expected_avail) { KTEST_LOG(ctx, "alloc_len %d, expected %u", @@ -107,60 +98,15 @@ test_mbuf_writer_allocation(struct ktest_test_context *ctx) return (0); } - -static int -test_mbuf_chain_allocation(struct ktest_test_context *ctx) -{ - struct test_mbuf_attrs *attrs = ctx->arg; - int mflags = attrs->waitok ? M_WAITOK : M_NOWAIT; - struct mbuf *chain = nl_get_mbuf_chain_wrapper(attrs->size, mflags); - - if (chain == NULL) { - KTEST_LOG(ctx, "nl_get_mbuf_chain(%u) returned NULL", attrs->size); - return (EINVAL); - } - - /* Iterate and check number of mbufs and space */ - uint32_t allocated_count = 0, allocated_size = 0; - for (struct mbuf *m = chain; m != NULL; m = m->m_next) { - allocated_count++; - allocated_size += M_SIZE(m); - } - m_freem(chain); - - if (attrs->expected_avail > allocated_size) { - KTEST_LOG(ctx, "expected/allocated avail(bytes) %u/%u" - " expected/allocated count %u/%u", - attrs->expected_avail, allocated_size, - attrs->expected_count, allocated_count); - return (EINVAL); - } - - if (attrs->expected_count > 0 && (attrs->expected_count != allocated_count)) { - KTEST_LOG(ctx, "expected/allocated avail(bytes) %u/%u" - " expected/allocated count %u/%u", - attrs->expected_avail, allocated_size, - attrs->expected_count, allocated_count); - return (EINVAL); - } - - return (0); -} #endif static const struct ktest_test_info tests[] = { #ifdef INVARIANTS { - .name = "test_mbuf_writer_allocation", - .desc = "test different mbuf sizes in the mbuf writer", - .func = &test_mbuf_writer_allocation, - .parse = &test_mbuf_parser, - }, - { - .name = "test_mbuf_chain_allocation", - .desc = "verify allocation different chain sizes", - .func = &test_mbuf_chain_allocation, - .parse = &test_mbuf_parser, + .name = "test_nlbuf_writer_allocation", + .desc = "test different buffer sizes in the netlink writer", + .func = &test_nlbuf_writer_allocation, + .parse = &test_nlbuf_parser, }, #endif }; diff --git a/sys/netlink/ktest_netlink_message_writer.h b/sys/netlink/ktest_netlink_message_writer.h index b7864bea59c9..39d2c5e597d6 100644 --- a/sys/netlink/ktest_netlink_message_writer.h +++ b/sys/netlink/ktest_netlink_message_writer.h @@ -30,28 +30,14 @@ #if defined(_KERNEL) && defined(INVARIANTS) -bool nlmsg_get_buf_type_wrapper(struct nl_writer *nw, int size, int type, bool waitok); -void nlmsg_set_callback_wrapper(struct nl_writer *nw); -struct mbuf *nl_get_mbuf_chain_wrapper(int len, int malloc_flags); +bool nlmsg_get_buf_wrapper(struct nl_writer *nw, u_int size, bool waitok); #ifndef KTEST_CALLER bool -nlmsg_get_buf_type_wrapper(struct nl_writer *nw, int size, int type, bool waitok) +nlmsg_get_buf_wrapper(struct nl_writer *nw, u_int size, bool waitok) { - return (nlmsg_get_buf_type(nw, size, type, waitok)); -} - -void -nlmsg_set_callback_wrapper(struct nl_writer *nw) -{ - nlmsg_set_callback(nw); -} - -struct mbuf * -nl_get_mbuf_chain_wrapper(int len, int malloc_flags) -{ - return (nl_get_mbuf_chain(len, malloc_flags)); + return (nlmsg_get_buf(nw, size, waitok)); } #endif diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index ecd110d62c1f..3914d402fc04 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -179,53 +179,76 @@ nl_get_groups_compat(struct nlpcb *nlp) } static void -nl_send_one_group(struct mbuf *m, struct nlpcb *nlp, int num_messages, - int io_flags) +nl_send_one_group(struct nl_writer *nw, struct nl_buf *nb, struct nlpcb *nlp) { if (__predict_false(nlp->nl_flags & NLF_MSG_INFO)) - nl_add_msg_info(m); - nl_send_one(m, nlp, num_messages, io_flags); + nl_add_msg_info(nb); + nw->buf = nb; + (void)nl_send_one(nw); +} + +static struct nl_buf * +nl_buf_copy(struct nl_buf *nb) +{ + struct nl_buf *copy; + + copy = nl_buf_alloc(nb->buflen, M_NOWAIT); + if (__predict_false(copy == NULL)) + return (NULL); + memcpy(copy, nb, sizeof(*nb) + nb->buflen); + if (nb->control != NULL) { + copy->control = m_copym(nb->control, 0, M_COPYALL, M_NOWAIT); + if (__predict_false(copy->control == NULL)) { + nl_buf_free(copy); + return (NULL); + } + } + + return (copy); } /* - * Broadcasts message @m to the protocol @proto group specified by @group_id + * Broadcasts in the writer's buffer. */ -void -nl_send_group(struct mbuf *m, int num_messages, int proto, int group_id) +bool +nl_send_group(struct nl_writer *nw) { + struct nl_buf *nb = nw->buf; struct nlpcb *nlp_last = NULL; struct nlpcb *nlp; NLCTL_TRACKER; IF_DEBUG_LEVEL(LOG_DEBUG2) { - struct nlmsghdr *hdr = mtod(m, struct nlmsghdr *); - NL_LOG(LOG_DEBUG2, "MCAST mbuf len %u msg type %d len %u to group %d/%d", - m->m_len, hdr->nlmsg_type, hdr->nlmsg_len, proto, group_id); + struct nlmsghdr *hdr = (struct nlmsghdr *)nb->data; + NL_LOG(LOG_DEBUG2, "MCAST len %u msg type %d len %u to group %d/%d", + nb->datalen, hdr->nlmsg_type, hdr->nlmsg_len, + nw->group.proto, nw->group.id); } + nw->buf = NULL; + struct nl_control *ctl = atomic_load_ptr(&V_nl_ctl); if (__predict_false(ctl == NULL)) { /* * Can be the case when notification is sent within VNET * which doesn't have any netlink sockets. */ - m_freem(m); - return; + nl_buf_free(nb); + return (false); } NLCTL_RLOCK(ctl); - int io_flags = NL_IOF_UNTRANSLATED; - CK_LIST_FOREACH(nlp, &ctl->ctl_pcb_head, nl_next) { - if (nl_isset_group_locked(nlp, group_id) && nlp->nl_proto == proto) { + if (nl_isset_group_locked(nlp, nw->group.id) && + nlp->nl_proto == nw->group.proto) { if (nlp_last != NULL) { - struct mbuf *m_copy; - m_copy = m_copym(m, 0, M_COPYALL, M_NOWAIT); - if (m_copy != NULL) - nl_send_one_group(m_copy, nlp_last, - num_messages, io_flags); - else { + struct nl_buf *copy; + + copy = nl_buf_copy(nb); + if (copy != NULL) { + nl_send_one_group(nw, copy, nlp_last); + } else { NLP_LOCK(nlp_last); if (nlp_last->nl_socket != NULL) sorwakeup(nlp_last->nl_socket); @@ -236,11 +259,13 @@ nl_send_group(struct mbuf *m, int num_messages, int proto, int group_id) } } if (nlp_last != NULL) - nl_send_one_group(m, nlp_last, num_messages, io_flags); + nl_send_one_group(nw, nb, nlp_last); else - m_freem(m); + nl_buf_free(nb); NLCTL_RUNLOCK(ctl); + + return (true); } bool @@ -331,7 +356,7 @@ nl_pru_attach(struct socket *so, int proto, struct thread *td) free(nlp, M_PCB); return (error); } - so->so_rcv.sb_mtx = &so->so_rcv_mtx; + TAILQ_INIT(&so->so_rcv.nl_queue); TAILQ_INIT(&so->so_snd.nl_queue); so->so_pcb = nlp; nlp->nl_socket = so; @@ -344,7 +369,6 @@ nl_pru_attach(struct socket *so, int proto, struct thread *td) nlp->nl_need_thread_setup = true; NLP_LOCK_INIT(nlp); refcount_init(&nlp->nl_refcount, 1); - nl_init_io(nlp); nlp->nl_taskqueue = taskqueue_create("netlink_socket", M_WAITOK, taskqueue_thread_enqueue, &nlp->nl_taskqueue); @@ -467,15 +491,6 @@ nl_pru_connect(struct socket *so, struct sockaddr *sa, struct thread *td) return (0); } -static void -destroy_nlpcb(struct nlpcb *nlp) -{ - NLP_LOCK(nlp); - nl_free_io(nlp); - NLP_LOCK_DESTROY(nlp); - free(nlp, M_PCB); -} - static void destroy_nlpcb_epoch(epoch_context_t ctx) { @@ -483,10 +498,10 @@ destroy_nlpcb_epoch(epoch_context_t ctx) nlp = __containerof(ctx, struct nlpcb, nl_epoch_ctx); - destroy_nlpcb(nlp); + NLP_LOCK_DESTROY(nlp); + free(nlp, M_PCB); } - static void nl_close(struct socket *so) { @@ -522,9 +537,12 @@ nl_close(struct socket *so) while ((nb = TAILQ_FIRST(&so->so_snd.nl_queue)) != NULL) { TAILQ_REMOVE(&so->so_snd.nl_queue, nb, tailq); - free(nb, M_NETLINK); + nl_buf_free(nb); + } + while ((nb = TAILQ_FIRST(&so->so_rcv.nl_queue)) != NULL) { + TAILQ_REMOVE(&so->so_rcv.nl_queue, nb, tailq); + nl_buf_free(nb); } - sbdestroy(so, SO_RCV); NL_LOG(LOG_DEBUG3, "socket %p, detached", so); @@ -597,10 +615,8 @@ nl_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio, len = roundup2(uio->uio_resid, 8) + SCRATCH_BUFFER_SIZE; if (nlp->nl_linux) len += roundup2(uio->uio_resid, 8); - nb = malloc(sizeof(*nb) + len, M_NETLINK, M_WAITOK); + nb = nl_buf_alloc(len, M_WAITOK); nb->datalen = uio->uio_resid; - nb->buflen = len; - nb->offset = 0; error = uiomove(&nb->data[0], uio->uio_resid, uio); if (__predict_false(error)) goto out; @@ -635,19 +651,107 @@ restart: out: SOCK_IO_SEND_UNLOCK(so); - free(nb, M_NETLINK); + if (nb != NULL) + nl_buf_free(nb); return (error); } static int -nl_pru_rcvd(struct socket *so, int flags) +nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, + struct mbuf **mp, struct mbuf **controlp, int *flagsp) { + static const struct sockaddr_nl nl_empty_src = { + .nl_len = sizeof(struct sockaddr_nl), + .nl_family = PF_NETLINK, + .nl_pid = 0 /* comes from the kernel */ + }; + struct sockbuf *sb = &so->so_rcv; + struct nl_buf *nb; + int flags, error; + u_int overflow; + bool nonblock, trunc, peek; + + MPASS(mp == NULL && uio != NULL); + NL_LOG(LOG_DEBUG3, "socket %p, PID %d", so, curproc->p_pid); - MPASS(sotonlpcb(so) != NULL); + + if (psa != NULL) + *psa = sodupsockaddr((const struct sockaddr *)&nl_empty_src, + M_WAITOK); + + flags = flagsp != NULL ? *flagsp & ~MSG_TRUNC : 0; + trunc = flagsp != NULL ? *flagsp & MSG_TRUNC : false; + nonblock = (so->so_state & SS_NBIO) || + (flags & (MSG_DONTWAIT | MSG_NBIO)); + peek = flags & MSG_PEEK; + + error = SOCK_IO_RECV_LOCK(so, SBLOCKWAIT(flags)); + if (__predict_false(error)) + return (error); + + SOCK_RECVBUF_LOCK(so); + while ((nb = TAILQ_FIRST(&sb->nl_queue)) == NULL) { + if (nonblock) { + SOCK_RECVBUF_UNLOCK(so); + SOCK_IO_RECV_UNLOCK(so); + return (EWOULDBLOCK); + } + error = sbwait(so, SO_RCV); + if (error) { + SOCK_RECVBUF_UNLOCK(so); + SOCK_IO_RECV_UNLOCK(so); + return (error); + } + } + + /* + * XXXGL + * Here we emulate a PR_ATOMIC behavior of soreceive_generic() where + * we take only the first "record" in the socket buffer and send it + * to uio whole or truncated ignoring how many netlink messages are + * in the record and how much space is left in the uio. + * This needs to be fixed at next refactoring. First, we should perform + * truncation only if the very first message doesn't fit into uio. + * That will help an application with small buffer not to lose data. + * Second, we should continue working on the sb->nl_queue as long as + * there is more space in the uio. That will boost applications with + * large buffers. + */ + if (__predict_true(!peek)) { + TAILQ_REMOVE(&sb->nl_queue, nb, tailq); + sb->sb_acc -= nb->datalen; + sb->sb_ccc -= nb->datalen; + } + SOCK_RECVBUF_UNLOCK(so); + + overflow = __predict_false(nb->datalen > uio->uio_resid) ? + nb->datalen - uio->uio_resid : 0; + error = uiomove(nb->data, (int)nb->datalen, uio); + if (__predict_false(overflow > 0)) { + flags |= MSG_TRUNC; + if (trunc) + uio->uio_resid -= overflow; + } + + if (controlp != NULL) { + *controlp = nb->control; + nb->control = NULL; + } + + if (__predict_true(!peek)) + nl_buf_free(nb); + + if (uio->uio_td) + uio->uio_td->td_ru.ru_msgrcv++; + + if (flagsp != NULL) + *flagsp |= flags; + + SOCK_IO_RECV_UNLOCK(so); nl_on_transmit(sotonlpcb(so)); - return (0); + return (error); } static int @@ -798,8 +902,7 @@ nl_setsbopt(struct socket *so, struct sockopt *sopt) } #define NETLINK_PROTOSW \ - .pr_flags = PR_ATOMIC | PR_ADDR | PR_WANTRCVD | \ - PR_SOCKBUF, \ + .pr_flags = PR_ATOMIC | PR_ADDR | PR_SOCKBUF, \ .pr_ctloutput = nl_ctloutput, \ .pr_setsbopt = nl_setsbopt, \ .pr_attach = nl_pru_attach, \ @@ -807,7 +910,7 @@ nl_setsbopt(struct socket *so, struct sockopt *sopt) .pr_connect = nl_pru_connect, \ .pr_disconnect = nl_pru_disconnect, \ .pr_sosend = nl_sosend, \ - .pr_rcvd = nl_pru_rcvd, \ + .pr_soreceive = nl_soreceive, \ .pr_shutdown = nl_pru_shutdown, \ .pr_sockaddr = nl_sockaddr, \ .pr_close = nl_close diff --git a/sys/netlink/netlink_glue.c b/sys/netlink/netlink_glue.c index e7649c6b13dc..e4b52ffb191b 100644 --- a/sys/netlink/netlink_glue.c +++ b/sys/netlink/netlink_glue.c @@ -111,7 +111,6 @@ static bool get_stub_writer(struct nl_writer *nw) { bzero(nw, sizeof(*nw)); - nw->writer_type = NS_WRITER_TYPE_STUB; nw->enomem = true; return (false); diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index 7e2e098e4a9a..56e430cdcfa8 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -51,69 +51,36 @@ _DECLARE_DEBUG(LOG_INFO); * sending netlink data between the kernel and userland. */ -static const struct sockaddr_nl _nl_empty_src = { - .nl_len = sizeof(struct sockaddr_nl), - .nl_family = PF_NETLINK, - .nl_pid = 0 /* comes from the kernel */ -}; -static const struct sockaddr *nl_empty_src = (const struct sockaddr *)&_nl_empty_src; - static bool nl_process_nbuf(struct nl_buf *nb, struct nlpcb *nlp); -static void -queue_push(struct nl_io_queue *q, struct mbuf *mq) -{ - while (mq != NULL) { - struct mbuf *m = mq; - mq = mq->m_nextpkt; - m->m_nextpkt = NULL; - - q->length += m_length(m, NULL); - STAILQ_INSERT_TAIL(&q->head, m, m_stailqpkt); - } -} - -static struct mbuf * -queue_pop(struct nl_io_queue *q) +struct nl_buf * +nl_buf_alloc(size_t len, int mflag) { - if (!STAILQ_EMPTY(&q->head)) { - struct mbuf *m = STAILQ_FIRST(&q->head); - STAILQ_REMOVE_HEAD(&q->head, m_stailqpkt); - m->m_nextpkt = NULL; - q->length -= m_length(m, NULL); + struct nl_buf *nb; - return (m); + nb = malloc(sizeof(struct nl_buf) + len, M_NETLINK, mflag); + if (__predict_true(nb != NULL)) { + nb->buflen = len; + nb->datalen = nb->offset = 0; + nb->control = NULL; } - return (NULL); -} -static struct mbuf * -queue_head(const struct nl_io_queue *q) -{ - return (STAILQ_FIRST(&q->head)); + return (nb); } -static inline bool -queue_empty(const struct nl_io_queue *q) +void +nl_buf_free(struct nl_buf *nb) { - return (q->length == 0); -} -static void -queue_free(struct nl_io_queue *q) -{ - while (!STAILQ_EMPTY(&q->head)) { - struct mbuf *m = STAILQ_FIRST(&q->head); - STAILQ_REMOVE_HEAD(&q->head, m_stailqpkt); - m->m_nextpkt = NULL; - m_freem(m); - } - q->length = 0; + if (nb->control) + m_freem(nb->control); + free(nb, M_NETLINK); } void -nl_add_msg_info(struct mbuf *m) +nl_add_msg_info(struct nl_buf *nb) { + /* XXXGL pass nlp as arg? */ struct nlpcb *nlp = nl_get_thread_nlp(curthread); NL_LOG(LOG_DEBUG2, "Trying to recover nlp from thread %p: %p", curthread, nlp); @@ -139,27 +106,15 @@ nl_add_msg_info(struct mbuf *m) }; - while (m->m_next != NULL) - m = m->m_next; - m->m_next = sbcreatecontrol(data, sizeof(data), + nb->control = sbcreatecontrol(data, sizeof(data), NETLINK_MSG_INFO, SOL_NETLINK, M_NOWAIT); - NL_LOG(LOG_DEBUG2, "Storing %u bytes of data, ctl: %p", - (unsigned)sizeof(data), m->m_next); -} - -static __noinline struct mbuf * -extract_msg_info(struct mbuf *m) -{ - while (m->m_next != NULL) { - if (m->m_next->m_type == MT_CONTROL) { - struct mbuf *ctl = m->m_next; - m->m_next = NULL; - return (ctl); - } - m = m->m_next; - } - return (NULL); + if (__predict_true(nb->control != NULL)) + NL_LOG(LOG_DEBUG2, "Storing %u bytes of control data, ctl: %p", + (unsigned)sizeof(data), nb->control); + else + NL_LOG(LOG_DEBUG2, "Failed to allocate %u bytes of control", + (unsigned)sizeof(data)); } void @@ -174,65 +129,31 @@ nl_schedule_taskqueue(struct nlpcb *nlp) } } -static bool -tx_check_locked(struct nlpcb *nlp) -{ - if (queue_empty(&nlp->tx_queue)) - return (true); - - /* - * Check if something can be moved from the internal TX queue - * to the socket queue. - */ - - bool appended = false; - struct sockbuf *sb = &nlp->nl_socket->so_rcv; - SOCKBUF_LOCK(sb); - - while (true) { - struct mbuf *m = queue_head(&nlp->tx_queue); - if (m != NULL) { - struct mbuf *ctl = NULL; - if (__predict_false(m->m_next != NULL)) - ctl = extract_msg_info(m); - if (sbappendaddr_locked(sb, nl_empty_src, m, ctl) != 0) { - /* appended successfully */ - queue_pop(&nlp->tx_queue); - appended = true; - } else - break; - } else - break; - } - - SOCKBUF_UNLOCK(sb); - - if (appended) - sorwakeup(nlp->nl_socket); - - return (queue_empty(&nlp->tx_queue)); -} - static bool nl_process_received_one(struct nlpcb *nlp) { struct socket *so = nlp->nl_socket; - struct sockbuf *sb = &so->so_snd; + struct sockbuf *sb; struct nl_buf *nb; bool reschedule = false; NLP_LOCK(nlp); nlp->nl_task_pending = false; + NLP_UNLOCK(nlp); - if (!tx_check_locked(nlp)) { - /* TX overflow queue still not empty, ignore RX */ - NLP_UNLOCK(nlp); + /* + * Do not process queued up requests if there is no space to queue + * replies. + */ + sb = &so->so_rcv; + SOCK_RECVBUF_LOCK(so); + if (sb->sb_hiwat <= sb->sb_ccc) { + SOCK_RECVBUF_UNLOCK(so); return (false); } + SOCK_RECVBUF_UNLOCK(so); - int prev_hiwat = nlp->tx_queue.hiwat; - NLP_UNLOCK(nlp); - + sb = &so->so_snd; SOCK_SENDBUF_LOCK(so); while ((nb = TAILQ_FIRST(&sb->nl_queue)) != NULL) { TAILQ_REMOVE(&sb->nl_queue, nb, tailq); @@ -244,7 +165,7 @@ nl_process_received_one(struct nlpcb *nlp) sb->sb_ccc -= nb->datalen; /* XXXGL: potentially can reduce lock&unlock count. */ sowwakeup_locked(so); - free(nb, M_NETLINK); + nl_buf_free(nb); SOCK_SENDBUF_LOCK(so); } else { TAILQ_INSERT_HEAD(&sb->nl_queue, nb, tailq); @@ -252,10 +173,6 @@ nl_process_received_one(struct nlpcb *nlp) } } SOCK_SENDBUF_UNLOCK(so); - if (nlp->tx_queue.hiwat > prev_hiwat) { - NLP_LOG(LOG_DEBUG, nlp, "TX override peaked to %d", nlp->tx_queue.hiwat); - - } return (reschedule); } @@ -276,18 +193,6 @@ nl_process_received(struct nlpcb *nlp) ; } -void -nl_init_io(struct nlpcb *nlp) -{ - STAILQ_INIT(&nlp->tx_queue.head); -} - -void -nl_free_io(struct nlpcb *nlp) -{ - queue_free(&nlp->tx_queue); -} - /* * Called after some data have been read from the socket. */ @@ -306,8 +211,8 @@ nl_on_transmit(struct nlpcb *nlp) struct sockbuf *sb = &so->so_rcv; NLP_LOG(LOG_DEBUG, nlp, "socket RX overflowed, %lu messages (%lu bytes) dropped. " - "bytes: [%u/%u] mbufs: [%u/%u]", dropped_messages, dropped_bytes, - sb->sb_ccc, sb->sb_hiwat, sb->sb_mbcnt, sb->sb_mbmax); + "bytes: [%u/%u]", dropped_messages, dropped_bytes, + sb->sb_ccc, sb->sb_hiwat); *** 1285 LINES SKIPPED *** From nobody Tue Jan 2 21:06:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QQW5MRFz56KLf; Tue, 2 Jan 2024 21:06: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QQW1tPHz4c5C; Tue, 2 Jan 2024 21:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yuCBRuTCax087JEZdazjwjgIVlpkRoY//zGKDmAEs/Y=; b=oQt40WJDuzfo8+jVEDL0DniL7nzMTVsB2qPQdoY12bsBTP7jQU4mz7RokxfnMWbMMLDQYM b9zlpc/At9l299aKxJo3yvUhmla8oBJphpvK8yFPoq8OiH7emVjSYN808/gSuHy5NnqdLW C+omzzKi5CFJHatuChJTanSTK6B5bdznxZU69cV8T+W8+nBbmjmYPRoFZ/TTdhncfcpKeW Mi+tmSwuKviW7r+da4J4jPeq9d7QaJ/ONLgzMFSaFiEK/E3nG13SnSPkF6U9aym8aEhTC1 gmeC9TMdfBad6puuzElAV2GbTiEHyADEDdA5xc7ryqXTsRTiBQUVLTo9c9XTyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704229619; a=rsa-sha256; cv=none; b=bMXjEGrMk2Tvf+kQ+WHv/4+u6RThiofg9U5ohJFGcXgoXF4fVBNA6s3LQz/xHnZqawQtSB 077gR8YPeTLn+2K6YUuiOCEXWuyywPjprLF5KC89H8Rqny5fHNkDicDTH7q/fl5OZdM4+S 6n2/K04W5BD2EhANQB4uWlNbZTAG65lTwGgOK3ScB3KqCzDAXCPgeAWqkUz3/+zqS/oydq eOoGmyLUBrkko696mg85UpZxukA4949OArQPaJejvpK5mfgOcZKNM5oB3GlkZ/3rNZhRuu d/h2PtPEc6haPp6hNnFIvYFA3gKlLoJ1UMkFp8G4Fs/V7Zwb7nRTMyoIz2N8iA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yuCBRuTCax087JEZdazjwjgIVlpkRoY//zGKDmAEs/Y=; b=QXMY4nc1PXwHZP8mtgDcEs/ar9qSWK1L7c2DARXoQ4/7eWA7arxQ4ra8DbA4F3VyoF9W/h Mab/xyc6WV2t9ynR5LlRyFw0L9U73QezYgx/lWJZypwaNmB4SSxfgUZUB/Uma/zf6XcOqG yDJa9So1be5WHuOOt9G0jnCkyqYiWGSZ1AkH3aUs+jDc78S/+nDAXKbZpqaFP+OjU0H8Wg N832gT1y9FVYnKNosBk6YyHI1OXQHCfZmZePOFXV/eiMm4aF/z/pA/6wEMSVJy1NuATBR7 BzfJPKTQ0/e7i720MbbLOSMu9/gMZxVWw1MhcJ7hyYIOC55CMa7MMD681O6jSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QQW0xdMz1G9b; Tue, 2 Jan 2024 21:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402L6xpA056072; Tue, 2 Jan 2024 21:06:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402L6xj5056069; Tue, 2 Jan 2024 21:06:59 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:06:59 GMT Message-Id: <202401022106.402L6xj5056069@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 7e19c0186f00 - main - netlink: improve nl_soreceive() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e19c0186f001902efdc265139a9233b7a37eef1 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=7e19c0186f001902efdc265139a9233b7a37eef1 commit 7e19c0186f001902efdc265139a9233b7a37eef1 Author: Gleb Smirnoff AuthorDate: 2024-01-02 21:05:25 +0000 Commit: Gleb Smirnoff CommitDate: 2024-01-02 21:05:25 +0000 netlink: improve nl_soreceive() The previous commit conservatively mimiced operation of soreceive_generic(). The new code does two things: - parses Netlink message headers and always returns at least one full nlmsg - hides nl_buf boundaries from the userland, copying out several at once More details can be found in the large comment block added. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D42785 --- sys/netlink/netlink_domain.c | 143 +++++++++++++++++++++++++++++++++---------- 1 file changed, 111 insertions(+), 32 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 3914d402fc04..94d8377b9e15 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -3,6 +3,7 @@ * * Copyright (c) 2021 Ng Peng Nam Sean * Copyright (c) 2022 Alexander V. Chernikov + * Copyright (c) 2023 Gleb Smirnoff * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -666,9 +667,10 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, .nl_pid = 0 /* comes from the kernel */ }; struct sockbuf *sb = &so->so_rcv; - struct nl_buf *nb; + struct nl_buf *first, *last, *nb, *next; + struct nlmsghdr *hdr; int flags, error; - u_int overflow; + u_int len, overflow, partoff, partlen, msgrcv, datalen; bool nonblock, trunc, peek; MPASS(mp == NULL && uio != NULL); @@ -689,8 +691,16 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, if (__predict_false(error)) return (error); + if (controlp != NULL) + *controlp = NULL; + + len = 0; + overflow = 0; + msgrcv = 0; + datalen = 0; + SOCK_RECVBUF_LOCK(so); - while ((nb = TAILQ_FIRST(&sb->nl_queue)) == NULL) { + while ((first = TAILQ_FIRST(&sb->nl_queue)) == NULL) { if (nonblock) { SOCK_RECVBUF_UNLOCK(so); SOCK_IO_RECV_UNLOCK(so); @@ -705,44 +715,113 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, } /* - * XXXGL - * Here we emulate a PR_ATOMIC behavior of soreceive_generic() where - * we take only the first "record" in the socket buffer and send it - * to uio whole or truncated ignoring how many netlink messages are - * in the record and how much space is left in the uio. - * This needs to be fixed at next refactoring. First, we should perform - * truncation only if the very first message doesn't fit into uio. - * That will help an application with small buffer not to lose data. - * Second, we should continue working on the sb->nl_queue as long as - * there is more space in the uio. That will boost applications with - * large buffers. + * Netlink socket buffer consists of a queue of nl_bufs, but for the + * userland there should be no boundaries. However, there are Netlink + * messages, that shouldn't be split. Internal invariant is that a + * message never spans two nl_bufs. + * If a large userland buffer is provided, we would traverse the queue + * until either queue end is reached or the buffer is fulfilled. If + * an application provides a buffer that isn't able to fit a single + * message, we would truncate it and lose its tail. This is the only + * condition where we would lose data. If buffer is able to fit at + * least one message, we would return it and won't truncate the next. + * + * We use same code for normal and MSG_PEEK case. At first queue pass + * we scan nl_bufs and count lenght. In case we can read entire buffer + * at one write everything is trivial. In case we can not, we save + * pointer to the last (or partial) nl_buf and in the !peek case we + * split the queue into two pieces. We can safely drop the queue lock, + * as kernel would only append nl_bufs to the end of the queue, and + * we are the exclusive owner of queue beginning due to sleepable lock. + * At the second pass we copy data out and in !peek case free nl_bufs. + * + * XXX: current implementation of control data implies one chunk of + * data per one nl_buf. This doesn't map well with idea of no + * boundaries between nl_bufs. */ - if (__predict_true(!peek)) { - TAILQ_REMOVE(&sb->nl_queue, nb, tailq); - sb->sb_acc -= nb->datalen; - sb->sb_ccc -= nb->datalen; + TAILQ_FOREACH(nb, &sb->nl_queue, tailq) { + u_int offset; + + /* + * XXXGL: zero length buffer may be at the tail of a queue + * when a writer overflows socket buffer. When this is + * improved, use MPASS(nb->offset < nb->datalen). + */ + MPASS(nb->offset <= nb->datalen); + offset = nb->offset; + while (offset < nb->datalen) { + hdr = (struct nlmsghdr *)&nb->data[offset]; + if (uio->uio_resid < len + hdr->nlmsg_len) { + overflow = len + hdr->nlmsg_len - + uio->uio_resid; + partoff = nb->offset; + if (offset > partoff) { + partlen = offset - partoff; + if (!peek) { + nb->offset = offset; + datalen += partlen; + } + } else if (len == 0 && uio->uio_resid > 0) { + flags |= MSG_TRUNC; + partlen = uio->uio_resid; + if (!peek) { + /* XXX: may leave empty nb */ + nb->offset += hdr->nlmsg_len; + datalen += hdr->nlmsg_len; + } + } else + partlen = 0; + goto nospace; + } + len += hdr->nlmsg_len; + offset += hdr->nlmsg_len; + MPASS(offset <= nb->buflen); + msgrcv++; + } + MPASS(offset == nb->datalen); + datalen += nb->datalen; + } +nospace: + last = nb; + if (!peek) { + if (last == NULL) + TAILQ_INIT(&sb->nl_queue); + else { + /* XXXGL: create TAILQ_SPLIT */ + TAILQ_FIRST(&sb->nl_queue) = last; + last->tailq.tqe_prev = &TAILQ_FIRST(&sb->nl_queue); + } + sb->sb_acc -= datalen; + sb->sb_ccc -= datalen; } SOCK_RECVBUF_UNLOCK(so); - overflow = __predict_false(nb->datalen > uio->uio_resid) ? - nb->datalen - uio->uio_resid : 0; - error = uiomove(nb->data, (int)nb->datalen, uio); - if (__predict_false(overflow > 0)) { - flags |= MSG_TRUNC; - if (trunc) - uio->uio_resid -= overflow; - } + for (nb = first; nb != last; nb = next) { + next = TAILQ_NEXT(nb, tailq); - if (controlp != NULL) { - *controlp = nb->control; - nb->control = NULL; + /* XXXGL multiple controls??? */ + if (controlp != NULL && *controlp == NULL && + nb->control != NULL && !peek) { + *controlp = nb->control; + nb->control = NULL; + } + if (__predict_true(error == 0)) + error = uiomove(&nb->data[nb->offset], + (int)(nb->datalen - nb->offset), uio); + if (!peek) + nl_buf_free(nb); } + if (last != NULL && partlen > 0 && __predict_true(error == 0)) + error = uiomove(&nb->data[partoff], (int)partlen, uio); - if (__predict_true(!peek)) - nl_buf_free(nb); + if (trunc && overflow > 0) { + uio->uio_resid -= overflow; + MPASS(uio->uio_resid < 0); + } else + MPASS(uio->uio_resid >= 0); if (uio->uio_td) - uio->uio_td->td_ru.ru_msgrcv++; + uio->uio_td->td_ru.ru_msgrcv += msgrcv; if (flagsp != NULL) *flagsp |= flags; From nobody Tue Jan 2 21:07:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QQX5X6Xz56KSw; Tue, 2 Jan 2024 21:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QQX2tWZz4c3V; Tue, 2 Jan 2024 21:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=feByXhSQ/r5Znr3kLHz2PNiMcasaJEwklAip+N7WLOw=; b=A7VXfJdVq95VI0CAnFBWQtcT6upsS3SatzzIWdTQFyI4zSF9A9O4n/ku68HtVtkP8bXEMe zDeCu1f1mYQUk+MTCUkfXPcv6e97LS8qdZQDJyw4EDTpUVx854f49UtddOK5WedDM6gSlV EtKChj0CL/OW/Hsabx5jyO1FrAC/DSxEK4v/nkvB0JGsZWb/o1lr5JLgacVLtze4b4vbSd uXZPyDRMTIoawGlfB/kAGHIL3hMssHknWR8hQcTWYQxi0CHKWIPD5Ne4azB4bQm6qmVUV0 9USoQ6h2Ru69OPt6Bhkqeh0uNG7tmBlVrEmKZTF78dJByPQjzIvH159zEIKDOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704229620; a=rsa-sha256; cv=none; b=Wc1jjEDAjF8Qr5jttMGlukd9qKa7Fn0+ny0UxXr1fnEZpH5GwJgWmMbcXYd1e4X9Gdqisx bf+hKLDuDvz40+vOwm6hRJ816ThR4sUrPURTCz9nuzSdeHnt5vLs71bbhQeuiEv7hUn+T9 6sTdZ170pEOG42ourFu0YsESkdqWYWjbOq7xh68pAKoIvUD4YZKVVAhHedB9S89ngTNa6h o9KpbYDEAYnp0r6lB+1k3sxOPseUgjlQZUnF8Gwr1IVIgNtU3uqkdurmqiDeSEPq+6ONYl MbTFDoEdi0vSg+mwph3ShBWR3YKE2uGC+QmiY6AemLjZNn5DH2SoRlczYWdt+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=feByXhSQ/r5Znr3kLHz2PNiMcasaJEwklAip+N7WLOw=; b=qrOGYcduOOZLAP6woy7CWlAoYfa91XFtVNOoio4eeO3qkW2x0IKm0nSpFnM3SjSMYABkmb 9+fzADR7R9H5zjhebQMJ227YTjcbCwFAOcm7k7erRRE2rnMiCvSVu7+1jM4dY8fROlprI/ OO0bPgNlg3tmgha8CkiycL0PviJOJAv+VP61knZ5oxqJCYDXVzN7wB3mKEd2wm0qwd0orx GQni8u9iByrsyHgUEAx6/okpL8hK2ym4iZrEmgQMEksRdqNc/IQGBS8JVIXf/xwNrj26xR rOAF8+mYpHgy7uZLcwqyVPK+RA95/gsbl2IEiHmWS92d5VVDCsjkpQHcfb3S5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QQX1zg9z1FNs; Tue, 2 Jan 2024 21:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402L70vt056127; Tue, 2 Jan 2024 21:07:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402L70Kj056124; Tue, 2 Jan 2024 21:07:00 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:07:00 GMT Message-Id: <202401022107.402L70Kj056124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: ff5ad900d2a0 - main - netlink: refactor control data generation for recvmsg(2) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ff5ad900d2a0793659241eee96be53e6053b5081 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=ff5ad900d2a0793659241eee96be53e6053b5081 commit ff5ad900d2a0793659241eee96be53e6053b5081 Author: Gleb Smirnoff AuthorDate: 2024-01-02 21:05:46 +0000 Commit: Gleb Smirnoff CommitDate: 2024-01-02 21:05:46 +0000 netlink: refactor control data generation for recvmsg(2) Netlink should return a very simple control data on every recvmsg(2) syscall. This data is associated with a syscall, not with an nlmsg, neither with internal our internal representation (nl_bufs). There is no need to pre-allocate it in non-sleepable context and attach to nl_buf. Allocate right in the syscall with M_WAITOK. This also shaves lots of code and simplifies things. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D42989 --- sys/netlink/netlink_domain.c | 64 +++++++++++++++++++++++--------------------- sys/netlink/netlink_io.c | 43 ----------------------------- sys/netlink/netlink_var.h | 2 -- 3 files changed, 34 insertions(+), 75 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 94d8377b9e15..cc7018ed2582 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -179,15 +179,6 @@ nl_get_groups_compat(struct nlpcb *nlp) return (groups_mask); } -static void -nl_send_one_group(struct nl_writer *nw, struct nl_buf *nb, struct nlpcb *nlp) -{ - if (__predict_false(nlp->nl_flags & NLF_MSG_INFO)) - nl_add_msg_info(nb); - nw->buf = nb; - (void)nl_send_one(nw); -} - static struct nl_buf * nl_buf_copy(struct nl_buf *nb) { @@ -197,13 +188,6 @@ nl_buf_copy(struct nl_buf *nb) if (__predict_false(copy == NULL)) return (NULL); memcpy(copy, nb, sizeof(*nb) + nb->buflen); - if (nb->control != NULL) { - copy->control = m_copym(nb->control, 0, M_COPYALL, M_NOWAIT); - if (__predict_false(copy->control == NULL)) { - nl_buf_free(copy); - return (NULL); - } - } return (copy); } @@ -248,7 +232,8 @@ nl_send_group(struct nl_writer *nw) copy = nl_buf_copy(nb); if (copy != NULL) { - nl_send_one_group(nw, copy, nlp_last); + nw->buf = copy; + (void)nl_send_one(nw); } else { NLP_LOCK(nlp_last); if (nlp_last->nl_socket != NULL) @@ -259,9 +244,10 @@ nl_send_group(struct nl_writer *nw) nlp_last = nlp; } } - if (nlp_last != NULL) - nl_send_one_group(nw, nb, nlp_last); - else + if (nlp_last != NULL) { + nw->buf = nb; + (void)nl_send_one(nw); + } else nl_buf_free(nb); NLCTL_RUNLOCK(ctl); @@ -657,6 +643,30 @@ out: return (error); } +/* Create control data for recvmsg(2) on Netlink socket. */ +static struct mbuf * +nl_createcontrol(struct nlpcb *nlp) +{ + struct { + struct nlattr nla; + uint32_t val; + } data[] = { + { + .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), + .nla.nla_type = NLMSGINFO_ATTR_PROCESS_ID, + .val = nlp->nl_process_id, + }, + { + .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), + .nla.nla_type = NLMSGINFO_ATTR_PORT_ID, + .val = nlp->nl_port, + }, + }; + + return (sbcreatecontrol(data, sizeof(data), NETLINK_MSG_INFO, + SOL_NETLINK, M_WAITOK)); +} + static int nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, struct mbuf **mp, struct mbuf **controlp, int *flagsp) @@ -667,6 +677,7 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, .nl_pid = 0 /* comes from the kernel */ }; struct sockbuf *sb = &so->so_rcv; + struct nlpcb *nlp = sotonlpcb(so); struct nl_buf *first, *last, *nb, *next; struct nlmsghdr *hdr; int flags, error; @@ -681,6 +692,9 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, *psa = sodupsockaddr((const struct sockaddr *)&nl_empty_src, M_WAITOK); + if (controlp != NULL && (nlp->nl_flags & NLF_MSG_INFO)) + *controlp = nl_createcontrol(nlp); + flags = flagsp != NULL ? *flagsp & ~MSG_TRUNC : 0; trunc = flagsp != NULL ? *flagsp & MSG_TRUNC : false; nonblock = (so->so_state & SS_NBIO) || @@ -691,9 +705,6 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, if (__predict_false(error)) return (error); - if (controlp != NULL) - *controlp = NULL; - len = 0; overflow = 0; msgrcv = 0; @@ -798,13 +809,6 @@ nospace: for (nb = first; nb != last; nb = next) { next = TAILQ_NEXT(nb, tailq); - - /* XXXGL multiple controls??? */ - if (controlp != NULL && *controlp == NULL && - nb->control != NULL && !peek) { - *controlp = nb->control; - nb->control = NULL; - } if (__predict_true(error == 0)) error = uiomove(&nb->data[nb->offset], (int)(nb->datalen - nb->offset), uio); diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index 56e430cdcfa8..fb8e0a46e8dd 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -62,7 +62,6 @@ nl_buf_alloc(size_t len, int mflag) if (__predict_true(nb != NULL)) { nb->buflen = len; nb->datalen = nb->offset = 0; - nb->control = NULL; } return (nb); @@ -72,51 +71,9 @@ void nl_buf_free(struct nl_buf *nb) { - if (nb->control) - m_freem(nb->control); free(nb, M_NETLINK); } -void -nl_add_msg_info(struct nl_buf *nb) -{ - /* XXXGL pass nlp as arg? */ - struct nlpcb *nlp = nl_get_thread_nlp(curthread); - NL_LOG(LOG_DEBUG2, "Trying to recover nlp from thread %p: %p", - curthread, nlp); - - if (nlp == NULL) - return; - - /* Prepare what we want to encode - PID, socket PID & msg seq */ - struct { - struct nlattr nla; - uint32_t val; - } data[] = { - { - .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), - .nla.nla_type = NLMSGINFO_ATTR_PROCESS_ID, - .val = nlp->nl_process_id, - }, - { - .nla.nla_len = sizeof(struct nlattr) + sizeof(uint32_t), - .nla.nla_type = NLMSGINFO_ATTR_PORT_ID, - .val = nlp->nl_port, - }, - }; - - - nb->control = sbcreatecontrol(data, sizeof(data), - NETLINK_MSG_INFO, SOL_NETLINK, M_NOWAIT); - - if (__predict_true(nb->control != NULL)) - NL_LOG(LOG_DEBUG2, "Storing %u bytes of control data, ctl: %p", - (unsigned)sizeof(data), nb->control); - else - NL_LOG(LOG_DEBUG2, "Failed to allocate %u bytes of control", - (unsigned)sizeof(data)); -} - void nl_schedule_taskqueue(struct nlpcb *nlp) { diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 97532c31e54b..c8f0d02a0dab 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -45,7 +45,6 @@ struct ucred; struct nl_buf { TAILQ_ENTRY(nl_buf) tailq; - struct mbuf *control; u_int buflen; u_int datalen; u_int offset; @@ -142,7 +141,6 @@ void nl_taskqueue_handler(void *_arg, int pending); void nl_schedule_taskqueue(struct nlpcb *nlp); void nl_process_receive_locked(struct nlpcb *nlp); void nl_set_source_metadata(struct mbuf *m, int num_messages); -void nl_add_msg_info(struct nl_buf *nb); struct nl_buf *nl_buf_alloc(size_t len, int mflag); void nl_buf_free(struct nl_buf *nb); From nobody Tue Jan 2 21:10:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QV6223Lz56KHm; Tue, 2 Jan 2024 21:10: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QV61RpNz4fJh; Tue, 2 Jan 2024 21:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9a8PUxkmg8Ju1n1B5sQfgpLvFofs3pJkJoj+PdqiNz0=; b=biH4sC8/d4Hfrb5SBQzyfT1BVuyaocqrBFjfdGFJ5Pn/I8xZrEfBGphmJLjDakJH/vmcyO 6cJTGrHiyTrYR5hrLAfUXER21bErlwYp3Dah545FNW6sPcS4qISUfn7k2aPWMljIaVRK/3 KWmQ9nqUqE+wPZYuUNIjzElBL9vW7+Sua0ObsPKv/0byiTfXM7h9uS8YWHc0Ayl9Mjg2LD o91pKECk3EfRM/qaqLkjOkWq8MIFv0ayD5ez/4mbNkqNfz9WLGcSQJC9uq/Sr6kntoQsVM wWGtN3SNQ/tTIQkOigGgMO8/C6PldFis3RTAaQyZQ+M/Dw9Kmph1K2HvWmzkQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704229806; a=rsa-sha256; cv=none; b=kXKT+ZKmMwFd+iEODCjAd6GPqgeyLkO007EuuhmRhVFmC3GQBLFnsvUzpJrIFKUIjyOJsT YtN1XJUg2K7uTsYHmSR4TBSPrUDli87vGZEvwMSMRMZ75ALHODSLqxHx9CAIoBuzmpksqR eM9ky0CMpBUkPvQG0EQvIrulNJn1UtpwqPoXT26nNAaAkehl6qxiF5NFAcUyF/LWVAdtdm t1fGWBEu/plPnFBBmyIT/I1A3pdyYb2S/xSajBdNiqAVDyXVvuoJ95wjCZh3joHZHkvNRQ obV9vvgHccVKWRmBn43uUzZ/i4sp+rPdA3drsBJwieIRpnVSoXvBGCvjwAhxLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704229806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9a8PUxkmg8Ju1n1B5sQfgpLvFofs3pJkJoj+PdqiNz0=; b=q/Gi3+CPPG1NVS5Txp2WXxpHGyVEi4vhSh+JK0uaJVx6Uye4WFdnOuwoVmzRK/knAztMMF H10y4r6HNT+3dFh1LccaVvlV/Whip3gyiOqb6w+fVr3SW7E30tzXc9O1vQ4oi+psitageI XppS3mEdW79bqcvpKWvmCQH3dagcmBWNji+ofylVJO3Dy/SPjX0AvYxXpci+AOCgCA4oD4 1X8K07W7UEIjuZ1WjhcuxouM0hGpCbJZpaQ+3Cu+d488G875OrwkCBkEgvooDs9YNWJIQg mkP9lTh7lMniWLldsQ2Exa1cAiQPS6UKA6vrUrnreLTtZK3HL5NoEm9vnyQPGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QV60Ws6z1GV3; Tue, 2 Jan 2024 21:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402LA5ge059480; Tue, 2 Jan 2024 21:10:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402LA56i059475; Tue, 2 Jan 2024 21:10:05 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:10:05 GMT Message-Id: <202401022110.402LA56i059475@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 025007f39145 - main - netlink: remove stale comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 025007f39145ce98ae874c6bef947668c7f63a16 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=025007f39145ce98ae874c6bef947668c7f63a16 commit 025007f39145ce98ae874c6bef947668c7f63a16 Author: Gleb Smirnoff AuthorDate: 2024-01-02 21:09:37 +0000 Commit: Gleb Smirnoff CommitDate: 2024-01-02 21:09:37 +0000 netlink: remove stale comment Fixes: ff5ad900d2a0793659241eee96be53e6053b5081 --- sys/netlink/netlink_domain.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index cc7018ed2582..4630c12b54a8 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -745,10 +745,6 @@ nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, * as kernel would only append nl_bufs to the end of the queue, and * we are the exclusive owner of queue beginning due to sleepable lock. * At the second pass we copy data out and in !peek case free nl_bufs. - * - * XXX: current implementation of control data implies one chunk of - * data per one nl_buf. This doesn't map well with idea of no - * boundaries between nl_bufs. */ TAILQ_FOREACH(nb, &sb->nl_queue, tailq) { u_int offset; From nobody Tue Jan 2 21:15:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4QcL3zJZz55qmt; Tue, 2 Jan 2024 21:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4QcL2rGHz4gDj; Tue, 2 Jan 2024 21:15:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704230130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiJquB+Wcv5A8gv617I83YBFAOZNVWdcseVNJQ9GTuc=; b=UkaafGuTkmLj3lFuyJrVgdkvicl/SH1+rqGprngls0pgZGc20LiJEPHUHMC5F3/jurVdW4 bdlax/Bi57LXnzmnPeaPnUPwdFtCOaCo8oANe9PhypyjpUIfpz5Y302GHWi/rpwk1ujaUB hxVvbjnuzNEYN0M21TH7Z6dMmSN0WuFQI712qEeID4tydDtxoZAEo2R/Lp2tT6PoMxY+2t COAlykQ+oZZVVnu1i835Y0pYULeC0J51j1gifOBizWm53ekT+FMB3zh7MYeZDo6bKROG0+ /3tpkk3Pr4ZoHQllwGu9Pq0N9UcKg1sD5dMSFTTJEGfxEsiWkbDOLJ3l8PISbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704230130; a=rsa-sha256; cv=none; b=g6BSv5TXrXMRyiTiYUtVeBVk3eUr3cWcpY2hFnHMPUwSIfQqQAb2512uthTQbjbPEtwZhJ fiis8DxiIEFQEEhUkMY8SI0eXvxxP3y3RrDorqVxJRJW7uQkVSzECbq46EycokyUBM8ctE 6DHa6japGEOZkc1AhuXAUlN4/c+aOG0gADFgxK5zrPOoUifMIYWEn3hY62S59794VJAhtR 1EE6hY67W2VoImPv9mQrk7QgHs8/BDEERmzu3hXNDuC7PjdE8YJopBW/Wkz+IomKdi+K7j M4eyOw3//pViRZ/mIBmQKx6U+H3v1AP5M5+nSJs3lsuiGd7h6ncm/y8Tubbm9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704230130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiJquB+Wcv5A8gv617I83YBFAOZNVWdcseVNJQ9GTuc=; b=u4VWaIe+2qfj/N79V4Irm3ZnKJAoR4hQbP+aQHxMH4/ETwwPaMImWfN9UrswfknhoNjbHT flWs4JcuLZLiVLCVUoj0GPGkOM11Gw7IXkRilPFBWvN2llKF1LFLSooZxLRZTzs1Q+rB9J RUfePCixEeJklqc+LX4exDDihGDvCzgaJhvHgozxOqnb+sSDlQUyE5Du1URz4HBwqkvd/u 9fJHq+uNqB1GKSskITnSmcSgAYHmV3axT3vg/AejRymvN86Ldd2SsirT3F8VTA3pk+hGeg ERrjqq0clOFyg0rSEYkLz3WdsnGCTGK79OOlRLgco3haOrVzybZEANTHf9HpWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4QcL1dRVz1GYJ; Tue, 2 Jan 2024 21:15:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402LFUk7072704; Tue, 2 Jan 2024 21:15:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402LFUAQ072701; Tue, 2 Jan 2024 21:15:30 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:15:30 GMT Message-Id: <202401022115.402LFUAQ072701@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 67b0b907854a - main - i386: Always bounce DMA requests above 4G for !PAE kernels List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67b0b907854af42788ec0ae24d5bd4d5c70b72d7 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=67b0b907854af42788ec0ae24d5bd4d5c70b72d7 commit 67b0b907854af42788ec0ae24d5bd4d5c70b72d7 Author: John Baldwin AuthorDate: 2024-01-02 21:15:13 +0000 Commit: John Baldwin CommitDate: 2024-01-02 21:15:13 +0000 i386: Always bounce DMA requests above 4G for !PAE kernels i386 kernels without 'options PAE' will still use PAE page tables if the CPU supports PAE both to support larger amounts of RAM and for PG_NX permissions. However, to avoid changing the API, bus_addr_t and related constants (e.g. BUS_SPACE_MAXADDR) are still limited to 32 bits. To cope with this, the x86 bus_dma code included an extra check to bounce requests for addresses above BUS_SPACE_MAXADDR. This check was elided (probably because it looks always-true on its face and had no comment explaining its purpose) in recent refactoring. To fix, restore a custom address-validation function for i386 kernels without options PAE that includes this check. Reported by: ci.freebsd.org Reviewed by: markj Fixes: 3933ff56f9b6 busdma: tidy bus_dma_run_filter() functions Differential Revision: https://reviews.freebsd.org/D43277 --- sys/x86/x86/busdma_bounce.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/sys/x86/x86/busdma_bounce.c b/sys/x86/x86/busdma_bounce.c index 10e9e0b36602..f56ecd9e7e1e 100644 --- a/sys/x86/x86/busdma_bounce.c +++ b/sys/x86/x86/busdma_bounce.c @@ -117,6 +117,23 @@ static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); #include "../../kern/subr_busdma_bounce.c" +/* + * On i386 kernels without 'options PAE' we need to also bounce any + * physical addresses above 4G. + * + * NB: vm_paddr_t is required here since bus_addr_t is only 32 bits in + * i386 kernels without 'options PAE'. + */ +static __inline bool +must_bounce(bus_dma_tag_t dmat, vm_paddr_t paddr) +{ +#if defined(__i386__) && !defined(PAE) + if (paddr > BUS_SPACE_MAXADDR) + return (true); +#endif + return (addr_needs_bounce(dmat, paddr)); +} + static int bounce_bus_dma_zone_setup(bus_dma_tag_t dmat) { @@ -491,7 +508,7 @@ _bus_dmamap_pagesneeded(bus_dma_tag_t dmat, vm_paddr_t buf, bus_size_t buflen, curaddr = buf; while (buflen != 0) { sgsize = MIN(buflen, dmat->common.maxsegsz); - if (addr_needs_bounce(dmat, curaddr)) { + if (must_bounce(dmat, curaddr)) { sgsize = MIN(sgsize, PAGE_SIZE - (curaddr & PAGE_MASK)); if (pagesneeded == NULL) @@ -547,7 +564,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dmamap_t map, pmap_t pmap, paddr = pmap_kextract(vaddr); else paddr = pmap_extract(pmap, vaddr); - if (addr_needs_bounce(dmat, paddr)) { + if (must_bounce(dmat, paddr)) { sg_len = roundup2(sg_len, dmat->common.alignment); map->pagesneeded++; @@ -584,7 +601,7 @@ _bus_dmamap_count_ma(bus_dma_tag_t dmat, bus_dmamap_t map, struct vm_page **ma, sg_len = PAGE_SIZE - ma_offs; max_sgsize = MIN(buflen, dmat->common.maxsegsz); sg_len = MIN(sg_len, max_sgsize); - if (addr_needs_bounce(dmat, paddr)) { + if (must_bounce(dmat, paddr)) { sg_len = roundup2(sg_len, dmat->common.alignment); sg_len = MIN(sg_len, max_sgsize); @@ -685,7 +702,7 @@ bounce_bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map, sgsize = MIN(buflen, dmat->common.maxsegsz); if ((dmat->bounce_flags & BUS_DMA_COULD_BOUNCE) != 0 && map->pagesneeded != 0 && - addr_needs_bounce(dmat, curaddr)) { + must_bounce(dmat, curaddr)) { sgsize = MIN(sgsize, PAGE_SIZE - (curaddr & PAGE_MASK)); curaddr = add_bounce_page(dmat, map, 0, curaddr, 0, sgsize); @@ -753,7 +770,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, sgsize = PAGE_SIZE - (curaddr & PAGE_MASK); if ((dmat->bounce_flags & BUS_DMA_COULD_BOUNCE) != 0 && map->pagesneeded != 0 && - addr_needs_bounce(dmat, curaddr)) { + must_bounce(dmat, curaddr)) { sgsize = roundup2(sgsize, dmat->common.alignment); sgsize = MIN(sgsize, max_sgsize); curaddr = add_bounce_page(dmat, map, kvaddr, curaddr, 0, @@ -820,7 +837,7 @@ bounce_bus_dmamap_load_ma(bus_dma_tag_t dmat, bus_dmamap_t map, sgsize = PAGE_SIZE - ma_offs; if ((dmat->bounce_flags & BUS_DMA_COULD_BOUNCE) != 0 && map->pagesneeded != 0 && - addr_needs_bounce(dmat, paddr)) { + must_bounce(dmat, paddr)) { sgsize = roundup2(sgsize, dmat->common.alignment); sgsize = MIN(sgsize, max_sgsize); KASSERT(vm_addr_align_ok(sgsize, From nobody Tue Jan 2 21:43:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4RDg1bKfz55tpL; Tue, 2 Jan 2024 21:43: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4RDg0sSrz3Fw1; Tue, 2 Jan 2024 21:43:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704231811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qbQqRC+S3dcbPjr2kony+V287EMsmkQQnsz6boNjyrY=; b=SV2nDNvSkMwAuAuo19u1WTbIz2zlXsEHwz7SrEO4FYNBuKuKxw/wGJGKU42SqhM18e6mFx 9d06ccLgF2+lKFw8hNPYeLmRN1FDMNeRy8DAqf/g5fnznhLSQPTJke6ixK01yUZtC9QoVr 6m17tlOyA0UtpBgTO4cfaJxvrpOhSR/bW/cJY3Tq4MS3pTIjxNkCNgvbcvKtHKAF5RyjsO bErSqL2LL9xyF4a11awQhiayfx+Gdp0RPdyWryLCP+C0S3ICuDb+RHrWKX1eDIhPHY0iHZ Jx47ZkJ/VoW3aKXCoIuLp9gD3v/rlSkzna3H/KgePzFdXzUapwJ+BYRBUOZ9jA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704231811; a=rsa-sha256; cv=none; b=V5r5z567wa6YlQvvmTK9C5BuwjSWlrVF2PGDJV+gM0vuiJ8/X/u7Ye4u/pZ62vRF9WeOZL eP4GWEHDJWk2HA55QsPg+a9g6b+H3JvLcCTuLdqPD8ujfda7UBADaNDnPqhxlAYwL5H52u 4oeNgsBffVBKVz41tjrcpL1rVN+CDVUxbHNLcF3w/HQ45u8J82Kh62dHO1P1kBbskCj9ZO 4Ao7ufnhMukfjAYbcGwTZ3bIyllcRkz83VHMe9jk8nDMuqnOsP/IffrSGFiufc8t4pbaYj nDM9zcPUoIrResMqogat5H0wFqxnMBmIGmjN83pmIxnVR3SrooG7NkShTxeT8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704231811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qbQqRC+S3dcbPjr2kony+V287EMsmkQQnsz6boNjyrY=; b=xtK9SlP1N37GBgiVXZQzj5zYWNWPwF85gJCGFVpWJ1DZEQYprwkOrSUi6AHjkTgqDoxydA BHseOZ8tUilAU36MpLUVQUrSWwUcdlmSM3XWYdngExVbdw3c10yfwXiSfToeI0yBkmC4nt 2jcTKwSNKgwR4nyvOmZy+dR26ijTFXO+j/3UFlRPocoibh3ogLzlWVYHvuqsc30yFQW+Es pY4NWvS+BlEzN8bGqCAfh9L92B0qR1BTDl4gonoIBYVxKX0732I36CrE0bZhsp5Lx9E/oL 0oKq04JSLoq5QIOBsWSA6NqGUhzGFlw+8WZRf71woFhPW6tMsnXx/2hi0qw6Pg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4RDf71z0z1HMv; Tue, 2 Jan 2024 21:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 402LhU7s022180; Tue, 2 Jan 2024 21:43:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 402LhUku022177; Tue, 2 Jan 2024 21:43:30 GMT (envelope-from git) Date: Tue, 2 Jan 2024 21:43:30 GMT Message-Id: <202401022143.402LhUku022177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Jason A. Harmening" Subject: git: 10f2e94acc1e - main - vm_page_reclaim_contig(): update comment to chase recent changes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 10f2e94acc1e1f01f9342a99cbf28708525885c3 Auto-Submitted: auto-generated The branch main has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=10f2e94acc1e1f01f9342a99cbf28708525885c3 commit 10f2e94acc1e1f01f9342a99cbf28708525885c3 Author: Jason A. Harmening AuthorDate: 2024-01-02 21:33:59 +0000 Commit: Jason A. Harmening CommitDate: 2024-01-02 21:39:36 +0000 vm_page_reclaim_contig(): update comment to chase recent changes Commit 2619c5ccfe ("Avoid waiting on physical allocations that can't possibly be satisfied") changed the return value from bool to errno. Adjust the function description to match reality. --- sys/vm/vm_page.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 72057f2fc9f5..4429ec067673 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -3014,11 +3014,13 @@ unlock: * * Reclaim allocated, contiguous physical memory satisfying the specified * conditions by relocating the virtual pages using that physical memory. - * Returns true if reclamation is successful and false otherwise. Since + * Returns 0 if reclamation is successful, ERANGE if the specified domain + * can't possibly satisfy the reclamation request, or ENOMEM if not + * currently able to reclaim the requested number of pages. Since * relocation requires the allocation of physical pages, reclamation may - * fail due to a shortage of free pages. When reclamation fails, callers - * are expected to perform vm_wait() before retrying a failed allocation - * operation, e.g., vm_page_alloc_contig(). + * fail with ENOMEM due to a shortage of free pages. When reclamation + * fails in this manner, callers are expected to perform vm_wait() before + * retrying a failed allocation operation, e.g., vm_page_alloc_contig(). * * The caller must always specify an allocation class through "req". * From nobody Wed Jan 3 00:06:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4VQ71JNwz56Bq8; Wed, 3 Jan 2024 00:06: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4VQ70n7cz3ZNP; Wed, 3 Jan 2024 00:06:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704240415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=moY9WeWYVT5mz9pXrplS7fyWpxbLbbVOQeBQ4+69PNQ=; b=L8Ritkzwaf7TdnhUzvHn0oB1Ubfs1ae6U3CxhSVYnIWpsZvHZdtfrKsZ7BOyo/MX0pZDp2 0gJvtmuK7ZFBN/kVBHlAokLbtdROzlPPgmQaeU8kSl1Cww2ZR7E3osctK+ye4Mai5AkAdn hKGZTQfcLUDG0wVrwwe+zLAZCoe9klcdGAHkktCflWKYUkJbyOBrx/D8SEPH33w9GP404i lqljI2iiwcagZ/yRRDYAIFKQCuXBEDWhyEEV74ULXktoS3xHCUZZSFSoMJ/MvEIEokzqqg CRaZ0GrOMgcl7EPpfncnsTW5Y1J5+UFyb1W5fDZnxFdQzSezpwoyhPc/N74BXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704240415; a=rsa-sha256; cv=none; b=RHX8tedmOwwgQirlwFP2oKLXk6C2Hb/wWNdk/7weYr5EQT/ev8Dr76yrtAX5dAmkRzepov +XAU4/OnS0LOhY+UuJvCOy42v8PPjnZcDsQ3odTubLPNqjIs/xqlHD11altwXziMUAp2R4 z2S+08F+8NxFxnVH31pKHLx2FGLPbc4Nk1zchKaTKTws0HNbp8g6SWwVLpmaFNPNNsyK6k 4hzP9ks7czBuRyZ3i/O/B5Hgeg4z1W7/qoRwS/zTgijLLudv0n5nQ3uV9o8vIgS42g3J2t Av9GtjUaCKj4ekX+I2mTeE5E1zXg6O6jlUST2DCqukzgYwP+9F71xNXCFjihMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704240415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=moY9WeWYVT5mz9pXrplS7fyWpxbLbbVOQeBQ4+69PNQ=; b=Kla6c9LAPlajW/Ds7lCYCyQDlfuGuLFouru4V+U3PQyNO6yxvCE6tpBgeNGCVyMLuy2xW4 QJfoG5NW7CLNI/DOQARlhRmAqtGlLTrI3j5ikN/tWioGHMFbpwXVfs1bJVFxv/CF0gq1IW t2+IC7UTZbNHU92sc2lypvBs/5PTUslusyija3NLvUr6nywEWcKjtSrFyCIEcqPEXWeU58 lWgR9fOOC4/bwGQA4Dy0zpwlotHLglSecnnzsM2MTWETBHQSa/0vb/PkvX3zFbbDt2MVAK kfPIeo+VK3iksXOc89F23Y8l6vZiirJbzdk3b4f6I8J/q71ENvKR4lWNGdD5jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4VQ66xr0z1Lws; Wed, 3 Jan 2024 00:06:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40306sfq057189; Wed, 3 Jan 2024 00:06:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40306sNc057187; Wed, 3 Jan 2024 00:06:54 GMT (envelope-from git) Date: Wed, 3 Jan 2024 00:06:54 GMT Message-Id: <202401030006.40306sNc057187@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 8b144c015c9c - main - cxgbe(4): Destroy the tick mutex during VI detach. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b144c015c9cce0bc99a7fbdc43f22f51a946d2c Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=8b144c015c9cce0bc99a7fbdc43f22f51a946d2c commit 8b144c015c9cce0bc99a7fbdc43f22f51a946d2c Author: Navdeep Parhar AuthorDate: 2023-12-27 21:00:29 +0000 Commit: Navdeep Parhar CommitDate: 2024-01-02 22:08:00 +0000 cxgbe(4): Destroy the tick mutex during VI detach. This avoids a mutex reinitialization when the VI is detached and reattached. Fixes: 516fe911a6b7 cxgbe(4): Always use the per-VI callout to read interface stats. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index a32cd9a3f2df..570208e2c562 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -2733,6 +2733,7 @@ cxgbe_vi_detach(struct vi_info *vi) #endif cxgbe_uninit_synchronized(vi); callout_drain(&vi->tick); + mtx_destroy(&vi->tick_mtx); sysctl_ctx_free(&vi->ctx); vi_full_uninit(vi); From nobody Wed Jan 3 13:52:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4rlY0M9qz55w0t; Wed, 3 Jan 2024 13:53:13 +0000 (UTC) (envelope-from vladimir@kondratyev.su) Received: from corp.infotel.ru (corp.infotel.ru [195.170.219.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4T4rlX2b0sz4MVD; Wed, 3 Jan 2024 13:53:12 +0000 (UTC) (envelope-from vladimir@kondratyev.su) Authentication-Results: mx1.freebsd.org; none Received: from corp (corp.infotel.ru [195.170.219.3]) by corp.infotel.ru (Postfix) with ESMTP id C12BF482BA3; Wed, 3 Jan 2024 16:53:04 +0300 (MSK) X-Virus-Scanned: amavisd-new at corp.infotel.ru Received: from corp.infotel.ru ([195.170.219.3]) by corp (corp.infotel.ru [195.170.219.3]) (amavisd-new, port 10024) with ESMTP id Jyf2hSLkGXeR; Wed, 3 Jan 2024 16:53:03 +0300 (MSK) Received: from mail.cicgroup.ru (unknown [195.170.219.74]) by corp.infotel.ru (Postfix) with ESMTP id C3462482BA2; Wed, 3 Jan 2024 16:53:03 +0300 (MSK) Received: from mail.cicgroup.ru (localhost [127.0.0.1]) by mail.cicgroup.ru (Postfix) with ESMTP id ED91B42211F; Wed, 3 Jan 2024 16:53:01 +0300 (MSK) Received: from mail.cicgroup.ru ([127.0.0.1]) by mail.cicgroup.ru (mail.cicgroup.ru [127.0.0.1]) (amavisd-new, port 10024) with SMTP id YKZDxuYlLw7L; Wed, 3 Jan 2024 16:52:55 +0300 (MSK) Received: from localhost (localhost [127.0.0.1]) by mail.cicgroup.ru (Postfix) with ESMTPA id D23AB42211C; Wed, 3 Jan 2024 16:52:54 +0300 (MSK) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Date: Wed, 03 Jan 2024 16:52:54 +0300 From: Vladimir Kondratyev To: John Baldwin Cc: Vladimir Kondratyev , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, owner-src-committers@freebsd.org Subject: Re: git: b4efc6277634 - main - LinuxKPI: Do not use explicit context in FPU sections on powerpc64 In-Reply-To: <886e1a57-2e2e-4869-ae8d-0427ef771d41@FreeBSD.org> References: <202312241320.3BODK2DA076069@gitrepo.freebsd.org> <886e1a57-2e2e-4869-ae8d-0427ef771d41@FreeBSD.org> Message-ID: X-Sender: vladimir@kondratyev.su User-Agent: Roundcube Webmail/1.3.5 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4T4rlX2b0sz4MVD X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8299, ipnet:195.170.192.0/19, country:RU] On 2024-01-02 22:17, John Baldwin wrote: > On 12/30/23 7:14 PM, Vladimir Kondratyev wrote: >> On 27.12.2023 20:05, John Baldwin wrote: >>> On 12/24/23 5:20 AM, Vladimir Kondratyev wrote: >>>> The branch main has been updated by wulf: >>>>=20 >>>> URL: >>>> https://cgit.FreeBSD.org/src/commit/?id=3Db4efc62776344a9aaada5a0866= e453e528a0e977 >>>>=20 >>>> commit b4efc62776344a9aaada5a0866e453e528a0e977 >>>> Author:=C2=A0=C2=A0=C2=A0=C2=A0 Vladimir Kondratyev >>>> AuthorDate: 2023-12-24 12:48:06 +0000 >>>> Commit:=C2=A0=C2=A0=C2=A0=C2=A0 Vladimir Kondratyev >>>> CommitDate: 2023-12-24 12:48:06 +0000 >>>>=20 >>>> =C2=A0=C2=A0=C2=A0=C2=A0 LinuxKPI: Do not use explicit context in F= PU sections on >>>> powerpc64 >>>> =C2=A0=C2=A0=C2=A0=C2=A0 It is not supported yet. >>>> =C2=A0=C2=A0=C2=A0=C2=A0 Sponsored by:=C2=A0=C2=A0 Serenity Cyber S= ecurity, LLC >>>> =C2=A0=C2=A0=C2=A0=C2=A0 Fixes:=C2=A0 5a3bd281672b ("LinuxKPI: Add = explicit software context=20 >>>> to >>>> FPU sections") >>>> =C2=A0=C2=A0=C2=A0=C2=A0 MFC after:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1= week >>>> --- >>>> =C2=A0 sys/compat/linuxkpi/common/include/linux/compat.h | 5 ----- >>>> =C2=A0 sys/compat/linuxkpi/common/src/linux_current.c=C2=A0=C2=A0=C2= =A0 | 9 ++++++--- >>>> =C2=A0 sys/compat/linuxkpi/common/src/linux_fpu.c=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 | 3 ++- >>>> =C2=A0 3 files changed, 8 insertions(+), 9 deletions(-) >>>=20 >>> Do you need explicit contexts at all? >>=20 >> Original version of https://reviews.freebsd.org/D42822 did not use >> explicit contexts. >>=20 >> =C2=A0 That is, can you not just >>> use FPU_KERN_NOCTX all the time?=C2=A0 Most code in the tree now uses >>> FPU_KERN_NOCTX now (all the crypto drivers for example), and I've >>> been thinking about removing support for the !FPU_KERN_NOCTX case. >>> Is there a reason drm-kmod can't use FPU_KERN_NOCTX?=C2=A0 Do you rea= lly >>> need to save FPU registers in one block of code wrapped by fpu_kern_* >>> and then use those register values in a future section wrapped by >>> fpu_kern_*? >>>=20 >>=20 >> I can revert current code end use previous version. Just give me some >> time. >> I will be AFK till the end of january. >=20 > Hmm, well the review for that answers my question which is that > there is GPU driver code that calls malloc() while in an FPU > section. So the answer to my original question is, no, you can't > just use FPU_KERN_NOCTX. Or if you did you would need to patch > the driver code instead to narrow the FPU context usage so it > wasn't enabled when malloc() is called. I don't know how feasible > it would be to fix the drivers to narrow the FPU sections, but I > think you would have to do that if you wanted to go back to always > using FPU_KERN_NOCTX. FPU_KERN_NOCTX is what LKPI uses for years for FPU sections. Original version of revision changes LKPI kmalloc() to automatically=20 detect and than temporarily exit from FPU section for FreeBSD malloc()=20 execution. --=20 WBR Vladimir Kondratyev From nobody Wed Jan 3 16:50:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4whQ48wsz56FnM; Wed, 3 Jan 2024 16:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4whQ3XxLz4l25; Wed, 3 Jan 2024 16:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704300646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ozHjCIZz6+QBtpY/ox1ypNOr1I1wR5TUV30wc5newx0=; b=HVuYA4Mhsv8RlU2w3arE59KNoIYPJWp0q+5CKxnZZjLW1hQznSUtqHlfsIR5CxqJ44/hFg zExRyD9y/bcGRm2XSZxE3LqvUXN65TbAKPXSUWyCK4EL50rfCbdCA1libZ5awUEAvL92zK Q9/Ufr9oPMGjcPyEL74k8l+OtTvfbobSWSpjiCJen+o7leh/jerVYGecwq2yWK+SXLQeDE w7fzUy8gqj9Qzjlz0s5bXa1YBufXuO5WY1Zzv6acIRtp2/vnHpjm0FYqSWutNWi0Xl60xk AZDW2AIegMk8DTvAb0hzjjJOEipiw8Ia6PKntNsPjYmRhwxXzRuIMixp7E5PXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704300646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ozHjCIZz6+QBtpY/ox1ypNOr1I1wR5TUV30wc5newx0=; b=vF/Hnj9aHRNZdWNmKFPcfvxVVO37dz/eFw/2NzbBwfM9/QfdkkpqjIVWvW6kY3Hk2qz9Ht 5BSri2KNVFBZncELqpLgiSHexRQaKRyzeBNRoEOyPFH88xnMaBg2y0b+WUyDfjxOq8uAQ+ ZnP4WRkxsTnu5rzcaoes0lHYDt9GRaOGeV0Z64/RPeT+p3YzEQM/se67pviVYXLqA8kOA+ TifNru4tjwWO6NoDPCx/to0jFWJU9RvHkvl2xdtSCHxSsCYO48Vf8R/6eWLIn5pfEIOyHh fIhP1L3iW0UWPqtMmDp048Db+52Jg7YBBsPlmlQABR1ucH3w6gabQKLzUC+n4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704300646; a=rsa-sha256; cv=none; b=tiGFRZ42+Yv+n8k1qGih1pByZ9n/tH7Fg65TuxVUmwRPq01W7LM4/hWjxfBLg+ZPcS3aSK zmofsOrfywuzt8HZY/rUp8OYbr1Q8ghsiehrc4xIiVpo5bvK7EhSqeLyvDsUaTEXgfe5ic PQl7MO7gw3kKZa2qw+SP2XrPWEq7wf9wwTcw4JGpvC5NsdZciwdCN3y6cycoQFvMj2pJb2 5xDjng6OHWCeO1eY8k6ajDDhvwtyfhWi1fwyGoApxQGlFY+I8Qtg5SHsYZb/iLyQq8+KsP XC5rsNAQw4vDAkTQsur7fM99zOMhGFHd4vutxn1a4LZFPpCX/1noV4ilUzg2Xg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4whQ2cRvzsrL; Wed, 3 Jan 2024 16:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403Gokaf042297; Wed, 3 Jan 2024 16:50:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403Goki9042293; Wed, 3 Jan 2024 16:50:46 GMT (envelope-from git) Date: Wed, 3 Jan 2024 16:50:46 GMT Message-Id: <202401031650.403Goki9042293@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 85c9d36497fc - main - acl_equiv_mode_np: zero mode on just inited ACL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 85c9d36497fc3a6e82932e1cb46df2670a0b9e64 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=85c9d36497fc3a6e82932e1cb46df2670a0b9e64 commit 85c9d36497fc3a6e82932e1cb46df2670a0b9e64 Author: Brooks Davis AuthorDate: 2024-01-03 16:34:39 +0000 Commit: Brooks Davis CommitDate: 2024-01-03 16:34:39 +0000 acl_equiv_mode_np: zero mode on just inited ACL You can't return 0 and not write the mode if mode_p is non-NULL. That violates the API contract and in common usage leaves stack trash in *mode_p. The acl_equiv_mode_test test passed by accident. Reviewed by: kevans, markj Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D43278 --- lib/libc/posix1e/acl_equiv_mode_np.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libc/posix1e/acl_equiv_mode_np.c b/lib/libc/posix1e/acl_equiv_mode_np.c index b3bf5280493a..333b010541ee 100644 --- a/lib/libc/posix1e/acl_equiv_mode_np.c +++ b/lib/libc/posix1e/acl_equiv_mode_np.c @@ -49,7 +49,7 @@ acl_equiv_mode_np(acl_t acl, mode_t *mode_p) /* Linux returns 0 for ACL returned by acl_init() */ if (_acl_brand(acl) == ACL_BRAND_UNKNOWN && acl->ats_acl.acl_cnt == 0) - return (0); + goto done; // TODO: Do we want to handle ACL_BRAND_NFS4 in this function? */ if (_acl_brand(acl) != ACL_BRAND_POSIX) @@ -91,6 +91,7 @@ acl_equiv_mode_np(acl_t acl, mode_t *mode_p) } } +done: if (mode_p != NULL) *mode_p = ret_mode; From nobody Wed Jan 3 16:50:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4whR4qN7z56FrH; Wed, 3 Jan 2024 16:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4whR4DKnz4lNW; Wed, 3 Jan 2024 16:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704300647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NBDm3N+0t0M3IQre2Md+uSEONKr81w7I+UKHUvFjsaQ=; b=HAuIJ0hg/azF0yDqBdhNksG/0xXtdGQqJV4563yjPZbIiRIE7X7xcrnZAON6616xxrcHhe 5WbK095qFBIyAlCXSOHtI+yoACuzpFfnSUV4ZR9qMvCNuAGP445dl66fCXExVPUOx52N93 LcYzp/C9ZJUdkDuWR3aE3ezgFAm8Kazg6E4Xx697kVEjB4hUX/Cu8QDBffIqnquVS9Ti5C 0r9lnjcucstPOjetZ/y6dRbZ4frlLMdQWvs583u9zw900Vpg3V+/GDrf1iA1Jf03ON1bHi z1dqX/6O7P2gKjw/+IGs+t1JqUAESjm+0uayOekkogrBjDp2tQivJoWH59FuyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704300647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NBDm3N+0t0M3IQre2Md+uSEONKr81w7I+UKHUvFjsaQ=; b=fXWV6dAORzwLDTlilYiP1v5aJiF/BMsj+GasSYv0w4i3MLmSxg/bqDPczY4OSpIXjilW/e resuWsUdv1ha6Qdo66fZQ76R+sk8pOVpqf1NHINrQdiKQW0bZdOFh+k+puIU/8c+hbZE0c /BgrGmGtfWins8TfT+WQOopvNr0PXEUeu+v5bakyoCE3JFz08Z4ttVi2zMMEQ9Tx2L3Q3H TmJV47Lw5dWT3E6f8mDbdu45FbWXG3HUqpWRqXqUEfJElUq+rmdoEGwIwr8IPRuNsYW9S+ M1q8Msy9QIAvzUVc/RumXS05ugU0lXxg4k+UKZrfntGAhzDypBQI47HKjNgfkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704300647; a=rsa-sha256; cv=none; b=jlqtdRXyEgZTQCWSWp5/oXsuZbHMARDJ0Y5+GcojY2Jtm0oMCSV9lEscBkCe7E1Nm5HKsa 0x7Ld69gFleFID1nylUk5ytek53aZ/RKLPxnAlggA7IQNOyJ+T25SJnjdd76JcSPAaaNuc DvF5HCeNdvsfpOrVhXIJtuHSRA7FdsairxZXI0GtynTsmKZIoPWBx/QbhkI+7VUlLPJcoy /R61luhKRSFuk0mWxudzBouIAyglCtJ4VPF8ULUejVorZJyYxPnNctzWLUqDM/AjEqynvh 1Gu79fQwAbEGDsbMo4fkwSxTvwwtCJ30Df5hkXsPUwhdWLbeot13BXpHyqR6sg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4whR3LHXzsLr; Wed, 3 Jan 2024 16:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403GolD7042349; Wed, 3 Jan 2024 16:50:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403Gollb042346; Wed, 3 Jan 2024 16:50:47 GMT (envelope-from git) Date: Wed, 3 Jan 2024 16:50:47 GMT Message-Id: <202401031650.403Gollb042346@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: a9174861eab9 - main - posixshm largepage_mmap: fix a racy test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9174861eab9e786f6873fbe6374a1ac19a5e46a Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=a9174861eab9e786f6873fbe6374a1ac19a5e46a commit a9174861eab9e786f6873fbe6374a1ac19a5e46a Author: Brooks Davis AuthorDate: 2024-01-03 16:39:53 +0000 Commit: Brooks Davis CommitDate: 2024-01-03 16:39:53 +0000 posixshm largepage_mmap: fix a racy test You can't ever safely map a single page and then map a superpage sized mapping over it with MAP_FIXED. Even in a single-threaded program, ASLR might mean you land too close to another mapping and on CheriBSD we don't allow the initial reservation to grow because doing so requires program changes that are hard to automate. To avoid this, map the entire region we want to use upfront. Reviewed by: markj Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D43282 --- tests/sys/posixshm/posixshm_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/posixshm/posixshm_test.c b/tests/sys/posixshm/posixshm_test.c index efc903d4ee04..ade07a118707 100644 --- a/tests/sys/posixshm/posixshm_test.c +++ b/tests/sys/posixshm/posixshm_test.c @@ -1407,7 +1407,7 @@ ATF_TC_BODY(largepage_mmap, tc) ATF_REQUIRE(munmap(addr, ps[i] == 0)); /* Clobber an anonymous mapping with a superpage. */ - addr1 = mmap(NULL, ps[0], PROT_READ | PROT_WRITE, + addr1 = mmap(NULL, ps[i], PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE | MAP_ALIGNED(ffsl(ps[i]) - 1), -1, 0); ATF_REQUIRE_MSG(addr1 != MAP_FAILED, From nobody Wed Jan 3 18:32:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4yyF6P7Jz56R8s; Wed, 3 Jan 2024 18:32:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4yyF5z77z423R; Wed, 3 Jan 2024 18:32:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RfKmz8lS17E/y4QLHkjIMCStkD15QB8d1q9g+jRzLlY=; b=K+w52U9l0yj7R/KxXIrYUibFr8pyoV9SwC2rL386odPkjwP8+UkDn7wyrJS7yrPM/5p5hs P38mLDGGxBSkiaMi6fCMoiaMWGi983CibPtWXc5l5dQAOUFc8KpiHBDDtgJnngL5Bg16s4 Og5tDoYmb5sxIYuivK6n+XeepGYUp60c91coIwG+Fl7eSxne4QKVnZ6+HOrMiIkTcSp2IC 7dj+jNMg/1vUv1DpDhbTogEpp9GSWSjzskG99fQ6QQOuabg73EudFKLUx+2UtzwtHKmCO4 fQ5M4prdzELPS62vSIfFRMt7HbKqZgQBc8hRUEw0W27LbizOiyCPXZ4rqecpRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RfKmz8lS17E/y4QLHkjIMCStkD15QB8d1q9g+jRzLlY=; b=TVdjuiSCoSfrFRHG2T3/Sn4EaYDQuGxv2561Wl7+3b+OQx+jCJPBU/myYYNUfzknRftwUh IBShrGY2Zz/3Jmg02ctQvFoSIdoelD/L04v74PZwpNT9EPQDSgyZCjG4VK4wmhHltaR8Vt GSCrAY7Y0osxHs/Py6bWBwy8Xb88A5t6HoFtAKgzUQpSK6DVG5Zzdixl5rvrMTYRweW2q1 x6ha5h+EjN4720AlmPioJm3EgS2jJRbv/wc0ZwPaGA6vUuzCwNsnm3FD4YRl5wMyjYNTVz hzo2DHH2CiK+AJE8gD9CZWqN+foJXbuWtE+wiHK8Kw88qzFovPVJ6ij3Ppksdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704306773; a=rsa-sha256; cv=none; b=lLQYpQMnqLmB5mJ0XHWfOwkvd1BQuxhsAmk2pn0qarHeEjZ75NJpjgRGlIU8je27l928mb 6alEvdSbr28otC/hk2bgswuaayk9U7LZr1ukMT63nY6z6sn8C2tC58o5PYHoOUXdZnJ+ls pO9tL1N4BNfHO5OCzhy7gLjA0ZoAtIK4fr9TD1faYQC8zAl001WQbJ7vfZi0sdtwCKZtGV Ezjk1x3YRwsKZf2epbSkHJCneNSXodjbOgMfYzlWyqmA+fu5qt+R27rsXZWRnTPRa09eKy bcgfrFqYy3ltQb11NgQUt6Y6trqtGOH/F3XZlNXnwRCytll3CSbwq1MQ6jYQgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4yyF531GzwBn; Wed, 3 Jan 2024 18:32:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403IWr5j018791; Wed, 3 Jan 2024 18:32:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403IWrhD018788; Wed, 3 Jan 2024 18:32:53 GMT (envelope-from git) Date: Wed, 3 Jan 2024 18:32:53 GMT Message-Id: <202401031832.403IWrhD018788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b023e965dc05 - main - traceroute: Remove the $FreeBSD$ pattern List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b023e965dc0576c3254510e47abc8565800d1ab5 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b023e965dc0576c3254510e47abc8565800d1ab5 commit b023e965dc0576c3254510e47abc8565800d1ab5 Author: Jose Luis Duran AuthorDate: 2023-10-28 00:20:22 +0000 Commit: Mark Johnston CommitDate: 2024-01-03 17:54:18 +0000 traceroute: Remove the $FreeBSD$ pattern Reviewed by: imp, markj MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/879 --- contrib/traceroute/VERSION | 1 - contrib/traceroute/findsaddr-socket.c | 2 -- contrib/traceroute/traceroute.8 | 1 - 3 files changed, 4 deletions(-) diff --git a/contrib/traceroute/VERSION b/contrib/traceroute/VERSION index 26e2f7609197..4044959ea471 100644 --- a/contrib/traceroute/VERSION +++ b/contrib/traceroute/VERSION @@ -1,2 +1 @@ 1.4a12+FreeBSD -$FreeBSD$ diff --git a/contrib/traceroute/findsaddr-socket.c b/contrib/traceroute/findsaddr-socket.c index b1a2903f4636..b15c2e43a407 100644 --- a/contrib/traceroute/findsaddr-socket.c +++ b/contrib/traceroute/findsaddr-socket.c @@ -29,8 +29,6 @@ * 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. - * - * $FreeBSD$ */ /* XXX Yes this is WAY too complicated */ diff --git a/contrib/traceroute/traceroute.8 b/contrib/traceroute/traceroute.8 index 85a7e9d3a17e..d177413738dc 100644 --- a/contrib/traceroute/traceroute.8 +++ b/contrib/traceroute/traceroute.8 @@ -14,7 +14,6 @@ .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" $Id: traceroute.8,v 1.19 2000/09/21 08:44:19 leres Exp $ -.\" $FreeBSD$ .\" .Dd November 25, 2020 .Dt TRACEROUTE 8 From nobody Wed Jan 3 18:32:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4yyH0gthz56R72; Wed, 3 Jan 2024 18:32:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4yyH03QBz423S; Wed, 3 Jan 2024 18:32:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tR1F3cS7QqbJDa+o7P/Ppxie6OxzkYdl7k9Jet6wLHc=; b=cA1nqLL7F90ra8uA6gY67/DchAwKBhHwv5sdwhy3w3zbYI3tIaBM0Pqk+p5plh8hEtzJo2 +YSwamQtbEiNbb6hLiqootqCOsVHsyS2elj8LW1eSVbMT1xcXxWTQYo+09syVXnRsQ85eq mNbpgPY5azK2SQYeZWbIWxTTWHfOSRS52xrSKbnwisrmttZZjZnKYkfjL8npvmg8/WotjO Yo6h1DtJRFaBMZbzUkCN1s2ickYQQHDVItelU86H/S+MDFEKm0D2FmT4yi1LHbjnUPSiwC NWDtb4LG3Ptd1YGVpi5Tt8i0BEvfw/oqLIqeCf0xopai04eposvML4tvLsOsqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tR1F3cS7QqbJDa+o7P/Ppxie6OxzkYdl7k9Jet6wLHc=; b=mhLdcZzfE/saTRJRQvaJqxTWAVTuuWVS1MEXX4lZhluuf6fLylJrC6xWcbG1eOV7SsAol3 IHPbmkRZ/AP8QF2a472KFfHKB9ZWinfO+t0AP9tsHIH1KU6mm+WmUHExGbZPTOdURF4nOA xyQQBHBRCswb8gIFavYtFAiMCxFVun3fWuo1HI84nJq61Nque+u9DQ9/6EWsPp5jf6n4n3 ZC5tVnYYCgoamdggymYnvW7S7ltzxHDS6DIScxKC5MfiGoWo5BzCFhfnyE0O+W/68CbF1J gCK3wPmobJfSCQwGNzN9rd12Uy/Dj9GUML84EMvE3GVxv1q6aeCi8zb/9MiHQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704306775; a=rsa-sha256; cv=none; b=AZH0YObeUUduBIxJjTh/XgR1L06szJYFuC1HIPHM1xh3SdRUFZ+V9WKT+B8vs1BQzyPrQp /hxLTc100AUdfOZOFtrje2EjUU2me1wwGdjisbwQpxYmTTWknxTVegLLDoXJpFCYkzl1wN 9ReU4o8e6RsGsg0jXnmslAxNfLHxNMs+R5z8BJ/Os29e6PmFxANTJPN6V0UfgTtvm8+eUl yZRer9mC3SPqQkpNtM3M9U3Oo7AdiRjfCoYA6egazHFySVIlzDHWyOTvI5baNKzVqpMnxL GiBifVOxTDkXrOGS2fegsNBNy4W/+3YPk7tqijl19JvEKn7DEH/oqnh1sRPCAg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4yyG6Gm6zwhG; Wed, 3 Jan 2024 18:32:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403IWsDJ018827; Wed, 3 Jan 2024 18:32:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403IWsuZ018824; Wed, 3 Jan 2024 18:32:54 GMT (envelope-from git) Date: Wed, 3 Jan 2024 18:32:54 GMT Message-Id: <202401031832.403IWsuZ018824@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 777e494a7634 - main - traceroute6: style(9) fixes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 777e494a7634bbdd8ab0cf403ae22a464669d804 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=777e494a7634bbdd8ab0cf403ae22a464669d804 commit 777e494a7634bbdd8ab0cf403ae22a464669d804 Author: Jose Luis Duran AuthorDate: 2023-10-27 23:53:44 +0000 Commit: Mark Johnston CommitDate: 2024-01-03 17:54:53 +0000 traceroute6: style(9) fixes No functional change intended. Reviewed by: imp, markj MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/879 --- usr.sbin/traceroute6/traceroute6.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/usr.sbin/traceroute6/traceroute6.c b/usr.sbin/traceroute6/traceroute6.c index c6f7279691de..925020546f27 100644 --- a/usr.sbin/traceroute6/traceroute6.c +++ b/usr.sbin/traceroute6/traceroute6.c @@ -330,7 +330,7 @@ static u_long nprobes = 3; static u_long first_hop = 1; static u_long max_hops = 30; static u_int16_t srcport; -static u_int16_t port = 32768+666; /* start udp dest port # for probe packets */ +static u_int16_t port = 32768 + 666; /* start udp dest port # for probe packets */ static u_int16_t ident; static int tclass = -1; static int options; /* socket options */ @@ -373,7 +373,7 @@ main(int argc, char *argv[]) } size = sizeof(i); - (void) sysctl(mib, sizeof(mib)/sizeof(mib[0]), &i, &size, NULL, 0); + (void) sysctl(mib, sizeof(mib) / sizeof(mib[0]), &i, &size, NULL, 0); max_hops = i; /* specify to tell receiving interface */ @@ -681,7 +681,7 @@ main(int argc, char *argv[]) exit(1); } if ((useproto == IPPROTO_SCTP) && (datalen & 3)) { - fprintf(stderr, + fprintf(stderr, "traceroute6: packet size must be a multiple of 4.\n"); exit(1); } @@ -1042,7 +1042,7 @@ wait_for_reply(int sock, struct msghdr *mhdr) FD_SET(sock, fdsp); wait.tv_sec = waittime; wait.tv_usec = 0; - if (select(sock+1, fdsp, (fd_set *)0, (fd_set *)0, &wait) > 0) + if (select(sock + 1, fdsp, (fd_set *)0, (fd_set *)0, &wait) > 0) cc = recvmsg(rcvsock, mhdr, 0); free(fdsp); @@ -1059,14 +1059,14 @@ setpolicy(int so, char *policy) buf = ipsec_set_policy(policy, strlen(policy)); if (buf == NULL) { warnx("%s", ipsec_strerror()); - return -1; + return (-1); } (void)setsockopt(so, IPPROTO_IPV6, IPV6_IPSEC_POLICY, buf, ipsec_get_policylen(buf)); free(buf); - return 0; + return (0); } #endif @@ -1103,7 +1103,7 @@ send_probe(int seq, u_long hops) case IPPROTO_UDP: outudp = (struct udphdr *) outpacket; outudp->uh_sport = htons(ident); - outudp->uh_dport = htons(port+seq); + outudp->uh_dport = htons(port + seq); outudp->uh_ulen = htons(datalen); outudp->uh_sum = 0; outudp->uh_sum = udp_cksum(&Src, &Dst, outpacket, datalen); @@ -1193,7 +1193,7 @@ send_probe(int seq, u_long hops) fprintf(stderr, "Unknown probe protocol %d.\n", useproto); exit(1); } - + i = send(sndsock, (char *)outpacket, datalen, 0); if (i < 0 || (u_long)i != datalen) { if (i < 0) @@ -1286,7 +1286,7 @@ pr_type(int t0) cp = "Unknown"; break; } - return cp; + return (cp); } int @@ -1354,8 +1354,7 @@ packet_ok(struct msghdr *mhdr, int cc, int seq, u_char *type, u_char *code) #else rcvhlim = 0; /*XXX*/ #endif - } - else + } else rcvhlim = *hlimp; *type = icp->icmp6_type; @@ -1440,7 +1439,7 @@ packet_ok(struct msghdr *mhdr, int cc, int seq, u_char *type, u_char *code) return (1); } if (verbose) { - char sbuf[NI_MAXHOST+1], dbuf[INET6_ADDRSTRLEN]; + char sbuf[NI_MAXHOST + 1], dbuf[INET6_ADDRSTRLEN]; u_int8_t *p; int i; @@ -1602,19 +1601,19 @@ inetname(struct sockaddr *sa) } } if (cp) - return cp; + return (cp); if (cap_getnameinfo(capdns, sa, sa->sa_len, line, sizeof(line), NULL, 0, NI_NUMERICHOST) != 0) strlcpy(line, "invalid", sizeof(line)); - return line; + return (line); } /* * CRC32C routine for the Stream Control Transmission Protocol */ -#define CRC32C(c, d) (c = (c>>8) ^ crc_c[(c^(d))&0xFF]) +#define CRC32C(c, d) (c = (c >> 8) ^ crc_c[(c ^ (d)) & 0xFF]) static u_int32_t crc_c[256] = { 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, @@ -1695,11 +1694,11 @@ sctp_crc32c(void *pack, u_int32_t len) CRC32C(crc32c, buf[i]); crc32c = ~crc32c; byte0 = crc32c & 0xff; - byte1 = (crc32c>>8) & 0xff; - byte2 = (crc32c>>16) & 0xff; - byte3 = (crc32c>>24) & 0xff; + byte1 = (crc32c >> 8) & 0xff; + byte2 = (crc32c >> 16) & 0xff; + byte3 = (crc32c >> 24) & 0xff; crc32c = ((byte0 << 24) | (byte1 << 16) | (byte2 << 8) | byte3); - return htonl(crc32c); + return (htonl(crc32c)); } u_int16_t From nobody Wed Jan 3 18:32:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4yyJ2857z56R76; Wed, 3 Jan 2024 18:32: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4yyJ15DMz423W; Wed, 3 Jan 2024 18:32:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1WwGef5gynCIc+ISwNBv3nYp1qn07oHoOm2ROzTAGDs=; b=fqYZ9lQv1FaBZXIvhv/r6BKYUROxdMNQg/2/WUePw3dwDpnV4ar++Q7rH29cHvG6xJX2p+ JTwkV3XuIk9XxabHXeicpT8RCvpScHEQdFSlvfTRyxYnX6x+g1tnVUfz0i2msTG0/ikKeu xMDKsrI24No5XVxsilJ9mfVB2Nq5QYI4Prk41t1R80MCInmiCktR2NMfqw8peLCFjC9grb mcdEjbRc/28rQ2yIEGAHcBCNKFzG/SLv4QjrlrXmzy42srfCXMgMKmD4QL7XMcHFq5PWr6 m3o/xXWQD7+aGYXxqX1i5K26s8KJsea68ioFLFIRmGsaarkOgPYb46QEehDKng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1WwGef5gynCIc+ISwNBv3nYp1qn07oHoOm2ROzTAGDs=; b=XE3KNxRx4Vq0SPgYtlF4mTe+BLl4MuxnKuaVrCNX9Ja8nbbPvBBC7PaOk9G1GUUGDFCIvt uQ62wGxb7GBngErx45JRyAwVAtm/RO5NiSMsKHCs5W2OTq/pUuGva/8/AnEUqJfdDcNk0F VbKel1aB0u1+3FirGcWRy9S42SjkHCIq4WRnu1+Vm74GZWYSuLtOLQ9hDGc38BApODYyT3 DJa9RTFpJ6+RSYIgeWKUWwvcLilO4hBqYN8X1LKfczgz/qWUDlj7EZVuxD3ZrXEXH7bzyR nBi8VGIXI9uBrLBGA0iT4I5Dy05vkUL23HRUz8rXpaHhlflcR6y4mCXH6ML+mA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704306776; a=rsa-sha256; cv=none; b=hT3OxLPPfSjoelDyHZa87QTUKY/njLvs4FcTb9u2zzgFJ3QFQ5+iHu6sTvVew3X7iS1wF4 Leu5GVRBwHdRdIloRwgp4GMeCpC27Ei0T+VHAWJmcyzg/82K0q7vI5XlgjmEPAKtPsGtxU L7KICTZLFhhVSIDfFn2Y4Jea1gZnw9Sys7mmMFvEbjgDJd1H2FS08Rb/3Flc3yRTMXxv0N Qvpc8r6/Xt8FeZJlfksE7OfusT9DDTPCTK32E+h5ENixNhpFsaEbazRP6vdJZREKPxA0xZ 9hPt2EqBd2phyxJcCp2DQeFiRbfQwIzsdOO0lWLXnrMxFMBJt5ry3o6rqb/ifw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4yyJ07RTzvp6; Wed, 3 Jan 2024 18:32:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403IWtdR018863; Wed, 3 Jan 2024 18:32:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403IWtuB018860; Wed, 3 Jan 2024 18:32:55 GMT (envelope-from git) Date: Wed, 3 Jan 2024 18:32:55 GMT Message-Id: <202401031832.403IWtuB018860@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 943a9f4e470c - main - traceroute: style(9) fixes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 943a9f4e470c3d45e4e93e3c91449b8c369c27ab Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=943a9f4e470c3d45e4e93e3c91449b8c369c27ab commit 943a9f4e470c3d45e4e93e3c91449b8c369c27ab Author: Jose Luis Duran AuthorDate: 2023-10-28 00:13:19 +0000 Commit: Mark Johnston CommitDate: 2024-01-03 17:56:10 +0000 traceroute: style(9) fixes No functional change intended. Reviewed by: imp, markj MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/879 --- contrib/traceroute/traceroute.c | 55 +++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/contrib/traceroute/traceroute.c b/contrib/traceroute/traceroute.c index 38fd812b17f6..282d4b2af929 100644 --- a/contrib/traceroute/traceroute.c +++ b/contrib/traceroute/traceroute.c @@ -539,7 +539,7 @@ main(int argc, char **argv) exit(1); } /* - * Do the setuid-required stuff first, then lose priveleges ASAP. + * Do the setuid-required stuff first, then lose privileges ASAP. * Do error checking for these two calls where they appeared in * the original code. */ @@ -762,7 +762,7 @@ main(int argc, char **argv) } #ifdef HAVE_SETLINEBUF - setlinebuf (stdout); + setlinebuf(stdout); #else setvbuf(stdout, NULL, _IOLBF, 0); #endif @@ -988,7 +988,7 @@ main(int argc, char **argv) if (bind(sndsock, (struct sockaddr *)from, sizeof(*from)) < 0) { Fprintf(stderr, "%s: bind: %s\n", prog, strerror(errno)); - exit (1); + exit(1); } if (as_path) { @@ -1104,7 +1104,8 @@ main(int argc, char **argv) continue; if (!gotlastaddr || from->sin_addr.s_addr != lastaddr) { - if (gotlastaddr) printf("\n "); + if (gotlastaddr) + printf("\n "); print(packet, cc, from); lastaddr = from->sin_addr.s_addr; ++gotlastaddr; @@ -1292,7 +1293,7 @@ wait_for_reply(register int sock, register struct sockaddr_in *fromp, (struct sockaddr *)fromp, &fromlen); free(fdsp); - return(cc); + return (cc); } void @@ -1354,14 +1355,14 @@ setpolicy(int so, char *policy) buf = ipsec_set_policy(policy, strlen(policy)); if (buf == NULL) { warnx("%s", ipsec_strerror()); - return -1; + return (-1); } (void)setsockopt(so, IPPROTO_IP, IP_IPSEC_POLICY, buf, ipsec_get_policylen(buf)); free(buf); - return 0; + return (0); } #endif @@ -1390,9 +1391,9 @@ pr_type(register u_char t) }; if (t > 16) - return("OUT-OF-RANGE"); + return ("OUT-OF-RANGE"); - return(ttab[t]); + return (ttab[t]); } int @@ -1433,7 +1434,7 @@ packet_ok(register u_char *buf, int cc, register struct sockaddr_in *from, if (type == ICMP_ECHOREPLY && proto->num == IPPROTO_ICMP && (*proto->check)((u_char *)icp, (u_char)seq)) - return -2; + return (-2); if ((type == ICMP_TIMXCEED && code == ICMP_TIMXCEED_INTRANS) || type == ICMP_UNREACH) { u_char *inner; @@ -1459,7 +1460,7 @@ packet_ok(register u_char *buf, int cc, register struct sockaddr_in *from, Printf("%2d: %8.8x\n", i, ntohl(*lp++)); } #endif - return(0); + return (0); } void @@ -1495,7 +1496,7 @@ udp_prep(struct outdata *outdata) outudp->uh_ulen = htons((u_short)protlen); outudp->uh_sum = 0; if (doipcksum) { - u_short sum = p_cksum(outip, (u_short*)outudp, protlen, protlen); + u_short sum = p_cksum(outip, (u_short *)outudp, protlen, protlen); outudp->uh_sum = (sum) ? sum : 0xffff; } @@ -1521,7 +1522,7 @@ udplite_prep(struct outdata *outdata) outudp->uh_ulen = htons(8); outudp->uh_sum = 0; if (doipcksum) { - u_short sum = p_cksum(outip, (u_short*)outudp, protlen, 8); + u_short sum = p_cksum(outip, (u_short *)outudp, protlen, 8); outudp->uh_sum = (sum) ? sum : 0xffff; } @@ -1551,7 +1552,7 @@ tcp_prep(struct outdata *outdata) tcp->th_sum = 0; if (doipcksum) - tcp->th_sum = p_cksum(outip, (u_short*)tcp, protlen, protlen); + tcp->th_sum = p_cksum(outip, (u_short *)tcp, protlen, protlen); } int @@ -1676,7 +1677,7 @@ gre_check(const u_char *data, int seq) { struct grehdr *const gre = (struct grehdr *) data; - return(ntohs(gre->proto) == port + return (ntohs(gre->proto) == port && ntohs(gre->callId) == ident + seq); } @@ -1694,7 +1695,7 @@ gen_check(const u_char *data, int seq) { u_int16_t *const ptr = (u_int16_t *) data; - return(ntohs(ptr[0]) == ident + return (ntohs(ptr[0]) == ident && ntohs(ptr[1]) == port + seq); } @@ -1720,7 +1721,7 @@ print(register u_char *buf, register int cc, register struct sockaddr_in *from) Printf(" %s (%s)", inetname(from->sin_addr), addr); if (verbose) - Printf(" %d bytes to %s", cc, inet_ntoa (ip->ip_dst)); + Printf(" %d bytes to %s", cc, inet_ntoa(ip->ip_dst)); } /* @@ -1737,10 +1738,10 @@ p_cksum(struct ip *ip, u_short *data, int len, int cov) ipo.ih_src = ip->ip_src; ipo.ih_dst = ip->ip_dst; - sum[1] = in_cksum((u_short*)&ipo, sizeof(ipo)); /* pseudo ip hdr cksum */ - sum[0] = in_cksum(data, cov); /* payload data cksum */ + sum[1] = in_cksum((u_short *)&ipo, sizeof(ipo)); /* pseudo ip hdr cksum */ + sum[0] = in_cksum(data, cov); /* payload data cksum */ - return ~in_cksum(sum, sizeof(sum)); + return (~in_cksum(sum, sizeof(sum))); } /* @@ -1782,7 +1783,7 @@ in_cksum(register u_short *addr, register int len) * CRC32C routine for the Stream Control Transmission Protocol */ -#define CRC32C(c, d) (c = (c>>8) ^ crc_c[(c^(d))&0xFF]) +#define CRC32C(c, d) (c = (c >> 8) ^ crc_c[(c ^ (d)) & 0xFF]) static u_int32_t crc_c[256] = { 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, @@ -1863,11 +1864,11 @@ sctp_crc32c(const void *packet, u_int32_t len) CRC32C(crc32c, buf[i]); crc32c = ~crc32c; byte0 = crc32c & 0xff; - byte1 = (crc32c>>8) & 0xff; - byte2 = (crc32c>>16) & 0xff; - byte3 = (crc32c>>24) & 0xff; + byte1 = (crc32c >> 8) & 0xff; + byte2 = (crc32c >> 16) & 0xff; + byte3 = (crc32c >> 24) & 0xff; crc32c = ((byte0 << 24) | (byte1 << 16) | (byte2 << 8) | byte3); - return htonl(crc32c); + return (htonl(crc32c)); } /* @@ -2052,7 +2053,7 @@ str2val(register const char *str, register const char *what, } else val = (int)strtol(str, &ep, 10); if (*ep != '\0') { - Fprintf(stderr, "%s: \"%s\" bad value for %s \n", + Fprintf(stderr, "%s: \"%s\" bad value for %s\n", prog, str, what); exit(1); } @@ -2095,7 +2096,7 @@ setproto(char *pname) pnum = str2val(optarg, "proto number", 1, 255); proto->num = pnum; } - return proto; + return (proto); } void From nobody Wed Jan 3 18:32:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4yyK3Fhdz56RL9; Wed, 3 Jan 2024 18:32: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4yyK1KD4z41mK; Wed, 3 Jan 2024 18:32:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u75BhSl0kRRCF9MRweaIExKuoiCV0KjBSKMOJVVrovE=; b=wvK9ccOrQW/CTK0K6h5sRsxuh4KoCVCa1hDDRHX4Er601SB6ydrqvk0A/lSEHpGqxDLUxt oWKZ0NNeoKC66A5F88/srlVW1uZ7Ojccf0sW7x2gUSFFH6daQXmBYb3TT1qK0fRCMbHnwn IB8WOg206F/O0Jqk9P8jMANXiBnFExDwLfiJdOIbbXpXBKobYHewsRPVtbYubD6adJPjUB 9pi7SEvHdOdzyvrUVOg0887ny+Sq/4BhjvqzI6QTPXlTQHTnWmdBzaYthH7rtgT4JGTMNW akRm41LSZNl0csqMYlX7idITjgyswXTqJWxIq1LxsENIZCDBAfpM+6Ua16/NPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u75BhSl0kRRCF9MRweaIExKuoiCV0KjBSKMOJVVrovE=; b=nSuPvvFSOduLPWfTpdkUTlStlS4VAsQWwazl/RNXUKPmZob0O2ffa1o+gJ7kcxhqg9dPfS wPFQb5QS2bsYg6DIA1jftwCJoz7nRtQChf9SzsYdYcjkseSPuxQR8t7dB1HaKlv4hrCKjH lcECqs+vVjroFoWIcGv2pWk7OS6HpFivci1ryNBVGG7E0OktWzJKUSu7EeJyl9Vs+9ea6f /+SYEmL862FspHTnqzI51D4/PGLnlfRvIxJoufdV2P1NXahnEp/8Z0rXgo85uZ4lI+cIzk F5BMOyaapCVx0yDULfEkZEyhhlhWiCNJa/b4W3i6K2/zyNXyKQZVwiVd0OukNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704306777; a=rsa-sha256; cv=none; b=pDbivSmcMgO78YSlIhJuGKpGmK8Zirq5A5lUTrqpmYHTvqUXvkhwVZjU+lFbCatsu8VqZz gWaWS58Eko2DByBSxACBiatubw7VV0bm3XtZ+DiIe1D5yZz+zykuglvyJvBOriCRVwF9Qu hsrGXI4ZWnFqHiAMNbdN86EwiSLltycgB0L3xQCE+nefmbzD1kXj1dWNGHSkV/4PtFMV8a 1EeGyErjWRFmyg6b8StBXHA4jXQbeCdHZKxBiWI2jGrPfLb3MbpLYiLJmmq5rVfjca+ZFf pHj2iVrk4m7DWvDaXnvW27xmWlHEFnGzNOdeptnoaGu2/gTIdbMYEIAeJF2EBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4yyK0QbXzvp7; Wed, 3 Jan 2024 18:32:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403IWvCZ018912; Wed, 3 Jan 2024 18:32:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403IWu1A018909; Wed, 3 Jan 2024 18:32:56 GMT (envelope-from git) Date: Wed, 3 Jan 2024 18:32:56 GMT Message-Id: <202401031832.403IWu1A018909@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b0e13f785b33 - main - netinet: Define IPv6 ECN mask List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0e13f785b336670bdf39b83a78435b00d00f43c Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b0e13f785b336670bdf39b83a78435b00d00f43c commit b0e13f785b336670bdf39b83a78435b00d00f43c Author: Jose Luis Duran AuthorDate: 2023-10-28 02:50:18 +0000 Commit: Mark Johnston CommitDate: 2024-01-03 17:56:28 +0000 netinet: Define IPv6 ECN mask Define a mask for the code point used for ECN in the Traffic Class field (2 bits) of an IPv6 header. BE: 0 0 3 0 0 0 0 0 Bit: 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | For BE (Big Endian), or network-byte order, this corresponds to 0x00300000. For Little Endian, it corresponds to 0x00003000. Reviewed by: imp, markj MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/879 --- sys/netinet/ip6.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/ip6.h b/sys/netinet/ip6.h index 9807e6a1780a..2f61d594e59d 100644 --- a/sys/netinet/ip6.h +++ b/sys/netinet/ip6.h @@ -95,10 +95,12 @@ struct ip6_hdr { #if BYTE_ORDER == BIG_ENDIAN #define IPV6_FLOWINFO_MASK 0x0fffffff /* flow info (28 bits) */ #define IPV6_FLOWLABEL_MASK 0x000fffff /* flow label (20 bits) */ +#define IPV6_ECN_MASK 0x00300000 /* ECN code point (2 bits) */ #else #if BYTE_ORDER == LITTLE_ENDIAN #define IPV6_FLOWINFO_MASK 0xffffff0f /* flow info (28 bits) */ #define IPV6_FLOWLABEL_MASK 0xffff0f00 /* flow label (20 bits) */ +#define IPV6_ECN_MASK 0x00003000 /* ECN code point (2 bits) */ #endif /* LITTLE_ENDIAN */ #endif #define IPV6_FLOWLABEL_LEN 20 From nobody Wed Jan 3 18:32:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4yyL4CTyz56R4C; Wed, 3 Jan 2024 18:32:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4yyL3ChPz41k7; Wed, 3 Jan 2024 18:32:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NmTnJXFRbtgCrtmFr/U/apKejjY/oq75ObBGGM6Jpb8=; b=I2K57XC0V1/NTDZJqnvMkZZJmg9uwP8bf9Ttqu/oD9Y+KSm1TcTq/2f2AKgAmiCnOpo3aC jfte1E4YQbGhTlnSfoFwLeujrsWamra7y/05mKk4iddz0Xpyn9YhvGq9QJISyKGUqKkhVY ICWndo4N176JODtkg77KqVEkc72o/J6mcfKx+XWSCU6ZbDyEY1YMYsj6A4AVEJvPx/9prZ nLLw3TFzLS2fDCGlsmIJdE9IQOaU7KBMP2Dqn9KzTI4B0XJQ/i68xpCC04kBizPAncY/kn jF6oSwR24+EY3Khe6wUppeRXKEbBd0Dqyb4E3BXczg1LAnUxFiloe5sxO4MvGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NmTnJXFRbtgCrtmFr/U/apKejjY/oq75ObBGGM6Jpb8=; b=LXsi+PTgEAc5NUiLteKW1xI57R7qHn4aAQZbaytkI3loxZwLfZNmj3YPp7DxW13HHoFo+w ikA8v+oA4niEZhppNTdCKD6TezR5Q6OHnztvZhACZ/1/M2HKQHGB3iV6rCUrw6njxsWe2Z iowX7qZQEombu9KXVKx151EMyEof2egP8dwK+INiWdhgpA0ju1Yj8kqjVg73K8w+OWNC5b SfLrh1KRm8qYwVORLaugNiZrn8e99FuNk4jDCNghSLZm75KB6wVwaCBWf9ueGBmsIRUP0b qxxHeYdeCJOjrVqnlLi4RIzSs31boQ4IV+dIRAu9XCjRKmAM+26COehcfJUNAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704306778; a=rsa-sha256; cv=none; b=HO3+Fi29/IiOK41ok3OuYLrpRWETKnzHk8VOsOhOUUCTBd7CqL/8WR4VdlZ2WWEPYddjvm qVjqlE+ZcNTqFqD9Gz8VUbd+YJzY3tDuUOGYwxYKegleCVo0+FftoYkwTCDHRT9qm8/JmV JFuQayHXur0viR/J9lK8zh9SPXkBVNEmCSbmdo9nrSnimMF1pz6EAM8wxdcvFj0T46pCCD R+WemTrZ6ow/PKGm72kY4I2FsP1+97j787eL4AHGBgqysopertQOMHu0j9tca+IFBCUr1z CatorNg9oPdSt63GNwmYCOFi96ntzKNSxqvnZV4SBDQTCFmkaTEePiZSifG3ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4yyL1h5TzwL0; Wed, 3 Jan 2024 18:32:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403IWwdL018954; Wed, 3 Jan 2024 18:32:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403IWwSd018951; Wed, 3 Jan 2024 18:32:58 GMT (envelope-from git) Date: Wed, 3 Jan 2024 18:32:58 GMT Message-Id: <202401031832.403IWwSd018951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0c2218d1d5fd - main - traceroute6: Implement ECN bleaching detection List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0c2218d1d5fda2c579d3d33f1fd3af9ad447e160 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0c2218d1d5fda2c579d3d33f1fd3af9ad447e160 commit 0c2218d1d5fda2c579d3d33f1fd3af9ad447e160 Author: Jose Luis Duran AuthorDate: 2023-10-27 23:59:28 +0000 Commit: Mark Johnston CommitDate: 2024-01-03 17:57:29 +0000 traceroute6: Implement ECN bleaching detection Explicit Congestion Notification (ECN) is a mechanism that allows end-to-end notification of network congestion without dropping packets by explicitly setting the ECN code point (2 bits). Per RFC 8087, section 3.5, network devices should not be configured to change the ECN code point in the packets that they forward, except to set the CE (Congestion Experienced) code point ('11') to signal incipient congestion. The current commit adds an -E flag to traceroute6 that crafts a packet with an ECT(1) code point ('01'). If the packet is received back with a zero ECN code point ('00'), it outputs that the hop in question erases or "bleaches" the ECN code point values. Bleaching may occur for various reasons (including normalizing packets to hide which equipment supports ECN). This policy prevents the use of ECN by applications. If the packet is received back with an all-ones ECN code point ('11'), it outputs that the hop in question is experiencing "congestion". If the packet is received back with a different ECN code point ('10'), it outputs that the hop in question changes or "mangles" the ECN code point values. If the packet is received with the same ECN code point that was sent ('01'), it outputs that the hop has "passed" the ECN bits appropriately. Inspired by: Darwin Reviewed by: imp, markj MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/879 --- usr.sbin/traceroute6/traceroute6.8 | 20 +++++++++++++++-- usr.sbin/traceroute6/traceroute6.c | 44 ++++++++++++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 8 deletions(-) diff --git a/usr.sbin/traceroute6/traceroute6.8 b/usr.sbin/traceroute6/traceroute6.8 index f02b08872ea5..13917eb47c7f 100644 --- a/usr.sbin/traceroute6/traceroute6.8 +++ b/usr.sbin/traceroute6/traceroute6.8 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 25, 2020 +.Dd October 25, 2023 .Dt TRACEROUTE6 8 .Os .\" @@ -38,7 +38,7 @@ .Sh SYNOPSIS .Nm .Bk -words -.Op Fl adIlnNrSTUv +.Op Fl adEIlnNrSTUv .Ek .Bk -words .Op Fl f Ar firsthop @@ -94,6 +94,22 @@ Turn on AS# lookups for each hop encountered. Turn on AS# lookups and use the given server instead of the default. .It Fl d Debug mode. +.It Fl E +Detect ECN bleaching. +Set the +.Em IPTOS_ECN_ECT1 +Explicit Congestion Notification (ECN) bits +.Pq Dv 01 , +and report if the hop has bleached +.Pq Dv 00 +or mangled +.Pq Dv 10 +them, or if it is experiencing congestion +.Pq Dv 11 . +Otherwise, report that it passed the bits appropriately. +If +.Fl t +is also specified, the corresponding ECN bits will be replaced. .It Fl f Ar firsthop Specify how many hops to skip in trace. .It Fl g Ar gateway diff --git a/usr.sbin/traceroute6/traceroute6.c b/usr.sbin/traceroute6/traceroute6.c index 925020546f27..212564415d6c 100644 --- a/usr.sbin/traceroute6/traceroute6.c +++ b/usr.sbin/traceroute6/traceroute6.c @@ -262,6 +262,7 @@ #include #include +#include #include #include #include @@ -294,7 +295,7 @@ void capdns_open(void); int get_hoplim(struct msghdr *); double deltaT(struct timeval *, struct timeval *); const char *pr_type(int); -int packet_ok(struct msghdr *, int, int, u_char *, u_char *); +int packet_ok(struct msghdr *, int, int, u_char *, u_char *, u_char *); void print(struct msghdr *, int); const char *inetname(struct sockaddr *); u_int32_t sctp_crc32c(void *, u_int32_t); @@ -340,6 +341,7 @@ static int nflag; /* print addresses numerically */ static int useproto = IPPROTO_UDP; /* protocol to use to send packet */ static int lflag; /* print both numerical address & hostname */ static int as_path; /* print as numbers for each hop */ +static int ecnflag; /* ECN bleaching detection flag */ static char *as_server = NULL; static void *asn; @@ -355,7 +357,7 @@ main(int argc, char *argv[]) struct hostent *hp; size_t size, minlen; uid_t uid; - u_char type, code; + u_char type, code, ecn; #if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC) char ipsec_inpolicy[] = "in bypass"; char ipsec_outpolicy[] = "out bypass"; @@ -401,7 +403,7 @@ main(int argc, char *argv[]) seq = 0; ident = htons(getpid() & 0xffff); /* same as ping6 */ - while ((ch = getopt(argc, argv, "aA:df:g:Ilm:nNp:q:rs:St:TUvw:")) != -1) + while ((ch = getopt(argc, argv, "aA:dEf:g:Ilm:nNp:q:rs:St:TUvw:")) != -1) switch (ch) { case 'a': as_path = 1; @@ -413,6 +415,9 @@ main(int argc, char *argv[]) case 'd': options |= SO_DEBUG; break; + case 'E': + ecnflag = 1; + break; case 'f': ep = NULL; errno = 0; @@ -584,6 +589,15 @@ main(int argc, char *argv[]) exit(1); } + if (ecnflag) { + if (tclass != -1) { + tclass &= ~IPTOS_ECN_MASK; + } else { + tclass = 0; + } + tclass |= IPTOS_ECN_ECT1; + } + /* revoke privs */ uid = getuid(); if (setresuid(uid, uid, uid) == -1) { @@ -948,7 +962,7 @@ main(int argc, char *argv[]) send_probe(++seq, hops); while ((cc = wait_for_reply(rcvsock, &rcvmhdr))) { (void) gettimeofday(&t2, NULL); - if (packet_ok(&rcvmhdr, cc, seq, &type, &code)) { + if (packet_ok(&rcvmhdr, cc, seq, &type, &code, &ecn)) { if (!IN6_ARE_ADDR_EQUAL(&Rcv.sin6_addr, &lastaddr)) { if (probe > 0) @@ -957,6 +971,22 @@ main(int argc, char *argv[]) lastaddr = Rcv.sin6_addr; } printf(" %.3f ms", deltaT(&t1, &t2)); + if (ecnflag) { + switch (ecn) { + case IPTOS_ECN_ECT1: + printf(" (ecn=passed)"); + break; + case IPTOS_ECN_NOTECT: + printf(" (ecn=bleached)"); + break; + case IPTOS_ECN_CE: + printf(" (ecn=congested)"); + break; + default: + printf(" (ecn=mangled)"); + break; + } + } if (type == ICMP6_DST_UNREACH) { switch (code) { case ICMP6_DST_UNREACH_NOROUTE: @@ -1290,7 +1320,8 @@ pr_type(int t0) } int -packet_ok(struct msghdr *mhdr, int cc, int seq, u_char *type, u_char *code) +packet_ok(struct msghdr *mhdr, int cc, int seq, u_char *type, u_char *code, + u_char *ecn) { struct icmp6_hdr *icp; struct sockaddr_in6 *from = (struct sockaddr_in6 *)mhdr->msg_name; @@ -1373,6 +1404,7 @@ packet_ok(struct msghdr *mhdr, int cc, int seq, u_char *type, u_char *code) void *up; hip = (struct ip6_hdr *)(icp + 1); + *ecn = ntohl(hip->ip6_flow & IPV6_ECN_MASK) >> 20; if ((up = get_uphdr(hip, (u_char *)(buf + cc))) == NULL) { if (verbose) warnx("failed to get upper layer header"); @@ -1792,7 +1824,7 @@ usage(void) { fprintf(stderr, -"usage: traceroute6 [-adIlnNrSTUv] [-A as_server] [-f firsthop] [-g gateway]\n" +"usage: traceroute6 [-adEIlnNrSTUv] [-A as_server] [-f firsthop] [-g gateway]\n" " [-m hoplimit] [-p port] [-q probes] [-s src] [-w waittime] target\n" " [datalen]\n"); exit(1); From nobody Wed Jan 3 18:32:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4yyM5bjwz56RJ2; Wed, 3 Jan 2024 18:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4yyM3ctrz41kL; Wed, 3 Jan 2024 18:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MBn/rwYp3oF6jolUMxXFM9aVyIgSSmf/NJtp0l6gVlQ=; b=QSt9JAKZA5BBUT2dEMhET9T9OiC9vDXbz2JlI/mx53sNQg6L4MNUp5FgunCMjfU7tY22vu uCjogWhu9SAi1/R9QzI6fN4v3216tqL0ULRzxzrhGrg+E003mgiLyVd6U3SrV2xaj6NbxU A2JMnAX9IdSIOXINRpild6Dg0l5JpwltlTzA+ABDQUBA2PEAQvuCIr71dJU0UkYzjYnZDl Zy4qigBFZO3ZO0OtRb467qCx68/xEMHmY3OOfI6QSz7ipQEMwlXLRDksjViZch5h41Q74p s8hOBrHsaOctqm7hyy5sZZuopJ4+S286UylC8D60AUaFd3c8xbdirVYvOoaqDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704306779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MBn/rwYp3oF6jolUMxXFM9aVyIgSSmf/NJtp0l6gVlQ=; b=WswQcz21t9SlDNB3LCW53l7Bu6SLT8Tw8ZvwkIuHnteLfLNgc/X8webFKLRbfayPUr3WtD MtQSFmsXhJrXh1KLirD5lc3EF/yTvAqMEEdVcOX0G/phDcROMHCN6xWPcDA002c2o9BUeE ElDJZ2SuCMLO3FsnreG+avT1slN8cNeG2cn1UKuT9cgLeYMrVypao3MQRCuilKbRedOYF8 haOJkmBWVPgOiqZdKvXGZqMHCvrrJClDa0ZYDFBr5spg6yFNhfvD1hxGiaTBciUtOhEZkn 6NTypOgrR25OCzUzOUy9wIZ861hyIU8sRJQkUzGkwMfLKMp5x3DxwKoexJP9/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704306779; a=rsa-sha256; cv=none; b=Rr/i782kq7rDMUfrGXFfuqjd874Px/GzGv2Vp8wLQmwNlg51MlNfHKzQGh51wrczVqhPIl r6/2rH2H1gzmilZY1QC6qwr12+fJpem3vAxNjAjHf65nYkAXqkMaCNXhsBm1gw5fGIv9ym FJfnClq9DpcjJUepOSoXpvxXOtFV2lpTLCYYxWKPh/D5r4SDYgYfFoXK6IfqNc+kdn/LbR pfz1OuR1iICl5fEfCcb0likG6NYN8I5BBM3wcE/rg84Sh4vAjiGeUuMlgDwxDq4JrpfUkQ zZHfASK6N5jM7iyopChvgiDTQKnZuGpu3ZJGl4KGGZFhT9X303PuBShM/mPT9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4yyM2h8RzwWV; Wed, 3 Jan 2024 18:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403IWxUe019003; Wed, 3 Jan 2024 18:32:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403IWxWN019000; Wed, 3 Jan 2024 18:32:59 GMT (envelope-from git) Date: Wed, 3 Jan 2024 18:32:59 GMT Message-Id: <202401031832.403IWxWN019000@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8aafae66394f - main - traceroute: Implement ECN bleaching detection List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8aafae66394fe64489d6371c22da5a5fb7ee7c81 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8aafae66394fe64489d6371c22da5a5fb7ee7c81 commit 8aafae66394fe64489d6371c22da5a5fb7ee7c81 Author: Jose Luis Duran AuthorDate: 2023-10-28 00:28:52 +0000 Commit: Mark Johnston CommitDate: 2024-01-03 17:57:54 +0000 traceroute: Implement ECN bleaching detection Explicit Congestion Notification (ECN) is a mechanism that allows end-to-end notification of network congestion without dropping packets by explicitly setting the ECN code point (2 bits). Per RFC 8087, section 3.5, network devices should not be configured to change the ECN code point in the packets that they forward, except to set the CE (Congestion Experienced) code point ('11') to signal incipient congestion. The current commit adds an -E flag to traceroute that crafts a packet with an ECT(1) code point ('01'). If the packet is received back with a zero ECN code point ('00'), it outputs that the hop in question erases or "bleaches" the ECN code point values. Bleaching may occur for various reasons (including normalizing packets to hide which equipment supports ECN). This policy prevents the use of ECN by applications. If the packet is received back with an all-ones ECN code point ('11'), it outputs that the hop in question is experiencing "congestion". If the packet is received back with a different ECN code point ('10'), it outputs that the hop in question changes or "mangles" the ECN code point values. If the packet is received with the same ECN code point that was sent ('01'), it outputs that the hop has "passed" the ECN bits appropriately. Inspired by: Darwin Reviewed by: imp, markj MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/879 --- contrib/traceroute/traceroute.8 | 20 ++++++++++++++++++-- contrib/traceroute/traceroute.c | 30 ++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/contrib/traceroute/traceroute.8 b/contrib/traceroute/traceroute.8 index d177413738dc..804306a11ca6 100644 --- a/contrib/traceroute/traceroute.8 +++ b/contrib/traceroute/traceroute.8 @@ -15,7 +15,7 @@ .\" .\" $Id: traceroute.8,v 1.19 2000/09/21 08:44:19 leres Exp $ .\" -.Dd November 25, 2020 +.Dd October 25, 2023 .Dt TRACEROUTE 8 .Os .Sh NAME @@ -24,7 +24,7 @@ .Sh SYNOPSIS .Nm .Bk -words -.Op Fl adDeFISnrvx +.Op Fl adDeEFISnrvx .Op Fl f Ar first_ttl .Op Fl g Ar gateway .Op Fl M Ar first_ttl @@ -66,6 +66,22 @@ default. Firewall evasion mode. Use fixed destination ports for UDP, UDP-Lite, TCP and SCTP probes. The destination port does NOT increment with each packet sent. +.It Fl E +Detect ECN bleaching. +Set the +.Em IPTOS_ECN_ECT1 +Explicit Congestion Notification (ECN) bits +.Pq Dv 01 , +and report if the hop has bleached +.Pq Dv 00 +or mangled +.Pq Dv 10 +them, or if it is experiencing congestion +.Pq Dv 11 . +Otherwise, report that it passed the bits appropriately. +If +.Fl t +is also specified, the corresponding ECN bits will be replaced. .It Fl f Ar first_ttl Set the initial time-to-live used in the first outgoing probe packet. .It Fl F diff --git a/contrib/traceroute/traceroute.c b/contrib/traceroute/traceroute.c index 282d4b2af929..03135e39837f 100644 --- a/contrib/traceroute/traceroute.c +++ b/contrib/traceroute/traceroute.c @@ -365,6 +365,7 @@ int doipcksum = 1; /* calculate ip checksums by default */ int optlen; /* length of ip options */ int fixedPort = 0; /* Use fixed destination port for TCP and UDP */ int printdiff = 0; /* Print the difference between sent and quoted */ +int ecnflag = 0; /* ECN bleaching detection flag */ extern int optind; extern int opterr; @@ -597,7 +598,7 @@ main(int argc, char **argv) prog = argv[0]; opterr = 0; - while ((op = getopt(argc, argv, "aA:edDFInrSvxf:g:i:M:m:P:p:q:s:t:w:z:")) != EOF) + while ((op = getopt(argc, argv, "aA:eEdDFInrSvxf:g:i:M:m:P:p:q:s:t:w:z:")) != EOF) switch (op) { case 'a': as_path = 1; @@ -620,6 +621,10 @@ main(int argc, char **argv) fixedPort = 1; break; + case 'E': + ecnflag = 1; + break; + case 'f': case 'M': /* FreeBSD compat. */ first_ttl = str2val(optarg, "first ttl", 1, 255); @@ -784,6 +789,10 @@ main(int argc, char **argv) outip->ip_v = IPVERSION; if (settos) outip->ip_tos = tos; + if (ecnflag) { + outip->ip_tos &= ~IPTOS_ECN_MASK; + outip->ip_tos |= IPTOS_ECN_ECT1; + } #ifdef BYTESWAP_IP_HDR outip->ip_len = htons(packlen); outip->ip_off = htons(off); @@ -1122,6 +1131,23 @@ main(int argc, char **argv) #endif precis = 3; Printf(" %.*f ms", precis, T); + if (ecnflag) { + u_char ecn = hip->ip_tos & IPTOS_ECN_MASK; + switch (ecn) { + case IPTOS_ECN_ECT1: + Printf(" (ecn=passed)"); + break; + case IPTOS_ECN_NOTECT: + Printf(" (ecn=bleached)"); + break; + case IPTOS_ECN_CE: + Printf(" (ecn=congested)"); + break; + default: + Printf(" (ecn=mangled)"); + break; + } + } if (printdiff) { Printf("\n"); Printf("%*.*s%s\n", @@ -2126,7 +2152,7 @@ usage(void) Fprintf(stderr, "Version %s\n", version); Fprintf(stderr, - "Usage: %s [-adDeFInrSvx] [-f first_ttl] [-g gateway] [-i iface]\n" + "Usage: %s [-adDeEFInrSvx] [-f first_ttl] [-g gateway] [-i iface]\n" "\t[-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]\n" "\t[-t tos] [-w waittime] [-A as_server] [-z pausemsecs] host [packetlen]\n", prog); exit(1); From nobody Wed Jan 3 18:37:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4z35115yz56RnJ; Wed, 3 Jan 2024 18:37: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4z350SJ3z43lH; Wed, 3 Jan 2024 18:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704307025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yip7tEQqRjOXyegNCjEkBzYxMbY7eClX1oRXRVyJ8bw=; b=nuVMlFiU+G0pHNjxqpXiHQZQh0G45zTYOOidYlR+c+GTQnDNeuqNsOnlKfz/XgFrK7Fxxz fxa30Ob1bOH1r7FHBJjTPFeRjew8GZOQtCJSbAtZ2CpZ/k+Ux4bVoM8DWQe/ZbwrQ7Cyft SZ+No/MZLJxmMP1Pll4j1SpWOxo0f0hUvTUzc/QApxLgyBBxzSvIWmj1Xy31CP9MyUsilW 4QiuMl/2VtWEmcnEFjvYcXUL0/rWoMSn6cu5AvWaA5rCXzHUUdX2Lflukr3zoPL+P4EWnj GI0lTssebtjkZJo7DjH4Nd4szoXkGXV8msWZNcTZi30FIVXhYy2vV3k9VcrJag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704307025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yip7tEQqRjOXyegNCjEkBzYxMbY7eClX1oRXRVyJ8bw=; b=fP8VNYyZ7muuTUgXpaayHNTIb52UmO3s2plSHHiBvAOo2LR2tcUE3qZ9q3vHiWOYC/UzKN ePoE96UYxAkWscCIl59M1VF8oHdpTYWsUuyRliPiQQfIoAyyLH3Fu2PbA8INgvylBUA0Az zPPT2zlaOyHtyap0d0DL5pJaQZnXKaU6XyXRmGVQM8d2TKDPwM6daB3G1tXX+8+iwpZBOH DPMFPk/qHiHiaxTvjHjKXiuSC9EyUjnHIlALY12c2vqElxTP0wUReWC0YA4D2Obu72yRl2 9+M2VDOjBiJ8JN9BiB+mXIVv0ikmJx5F5PBtafraR0c0tDZqxAnFtMZEbTf6YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704307025; a=rsa-sha256; cv=none; b=uIH6yvWVFe0Isul/4ZCz7iXLuQ3beCQz0k0vOaWVmx3K76e8O3sMj4AOFlJSoalmELZjYx kSi6uqQ+INUT5xEaf8I1zk1rFe2FsSKTAeZjYWe+EzJ6H3RUmDe2Jq2iISHM5B6jH1qSF4 +l+H/Wl2/xgkMBbW4FDnWnmkWwb79f2Muyqzq03qYec1sQpc2YVdHQ3wUEI4y5UpYksoIv x3q+dLRdFRAMDNTjSb3rzYy0ds5yEPmvGAApCE51n8vLcithex+EmTekwHuG619HoTT33+ HxJRMIHaolmYBABlAWJ7u5zWj32G8KMAZxlb6lcXyF9A9fXc8IIZTdUOP8JJ1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4z346ccjzwhH; Wed, 3 Jan 2024 18:37:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403Ib4j7019793; Wed, 3 Jan 2024 18:37:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403Ib4r0019790; Wed, 3 Jan 2024 18:37:04 GMT (envelope-from git) Date: Wed, 3 Jan 2024 18:37:04 GMT Message-Id: <202401031837.403Ib4r0019790@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: c3786ca8bc5b - main - capsicum(4): add cross-ref to capsicum_helpers(3) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c3786ca8bc5ba471edae059393bb7bac6400ac2a Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c3786ca8bc5ba471edae059393bb7bac6400ac2a commit c3786ca8bc5ba471edae059393bb7bac6400ac2a Author: Ed Maste AuthorDate: 2024-01-03 18:31:55 +0000 Commit: Ed Maste CommitDate: 2024-01-03 18:37:06 +0000 capsicum(4): add cross-ref to capsicum_helpers(3) Sponsored by: The FreeBSD Foundation --- share/man/man4/capsicum.4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/man/man4/capsicum.4 b/share/man/man4/capsicum.4 index 1ad4548a9784..3c3eab5d798b 100644 --- a/share/man/man4/capsicum.4 +++ b/share/man/man4/capsicum.4 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 19, 2022 +.Dd January 3, 2024 .Dt CAPSICUM 4 .Os .Sh NAME @@ -117,6 +117,7 @@ Processes can only act upon their own process ID with syscalls such as .Xr shm_open 2 , .Xr write 2 , .Xr cap_rights_get 3 , +.Xr capsicum_helpers 3 , .Xr libcasper 3 , .Xr procdesc 4 .Sh HISTORY From nobody Wed Jan 3 19:07:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zkC6syhz56V7S; Wed, 3 Jan 2024 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zkC6Njhz46pn; Wed, 3 Jan 2024 19:07:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704308851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MlJTjEOHk355LhwHL9dl14pqKBPNPjTUVvNzl0Lb4SU=; b=JYjOSWME0nHzJO1yeh/OreSKKcRr4nQpEl2qZMfW5T50zxvnEoxMDaZnOYI83oHZ60BlY8 K7DUce1+hmTBfwuuDhFKJxXUvoa1EMFC/ex2cPgJ+uGUe004OVDdCA+pR6Ea/TV1h5r0Qv 71RHiwJoFKkSPxK4rFO2jojdH+GhxUY9sQ/S7UIEjPK8vWAB8uesK6HvGKy9EX+Di46mrv DppD2zgThEvkUZcoTJJm65a3xn3ER4G+Cev+uY78xiJBmpEpBPwu09CdQ8YXBl2VniR0DB efOLiCTWlBRiOw+Z9uFEwIQvoih3TFW3a4SIX2WqClUlWGgQgYCl67rFKM4qKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704308851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MlJTjEOHk355LhwHL9dl14pqKBPNPjTUVvNzl0Lb4SU=; b=r0FfmOkvjy7mhooF53Q5JxOiMO1CuGIZWuJQcDiYwKt2F8EZfGStJgqGKiXHswX3W/liDd 39c1K1QQeKjVIp70LHwn+SSUBJBppNlxy0s10v25e1WoKhMsqMLWuP6GVxxP1PcTJxnOd2 mIkieaahABE1kq75YoMAGkGFw4Ik6gETCW5WqVJnaNOu+BAZqiWuz03KiefQBp1b3+P4i/ vkG39znVxYjjlV/8h3AiBZB+ZOxm93Rv10db9gBIq9rZSSvi0J42PNJF0OI0MANYfX+n2Y DTkiMFKC4hMmYKrQOAfSGUicWerVJvuBNwJDmZTusfxj9XhXSWVtGMVYgF/xAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704308851; a=rsa-sha256; cv=none; b=qYyDrJKUQD5tOzgKdqP7T4OjjmA6ZgBxhKsd97OOOlvHS4S7NKODAKXyC7a/R8N+f7EIoX O5f4A+prhSQoa3vWHx9X8t3Q75o0nonePp2/CcCCd++wXDYYbpR+evf945TYR6UjXttcW+ VPYnNXx5r0q8h2dK9sKN2twIMckAmfUUWFRIzTVa8guyB0yekx0BTn41TF6wJ1Hgnr4yRQ HUA38K7Uz+ClPRnHpQ4sRoAvNIaf5NVIII1NnFXrVu3a06+AjiGxYwUTNqXalfUuHm1Cka Y68BkXoI0/xiotWvPSiytUImfH8Ovp3EOvZ+bzOoMBZRsYmWUqNzQldfrqGJ/g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zkC5Rkfzx34; Wed, 3 Jan 2024 19:07:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403J7Vos070679; Wed, 3 Jan 2024 19:07:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403J7V6g070676; Wed, 3 Jan 2024 19:07:31 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:07:31 GMT Message-Id: <202401031907.403J7V6g070676@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e9910377a7a9 - main - bin/cp: remove unreachable break List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9910377a7a90d0c9da9055b33450778af23434a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e9910377a7a90d0c9da9055b33450778af23434a commit e9910377a7a90d0c9da9055b33450778af23434a Author: rilysh AuthorDate: 2024-01-03 19:03:51 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:05:50 +0000 bin/cp: remove unreachable break Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/872 --- bin/cp/cp.c | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index 1455979bdb6e..14d1cc2a3f75 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -149,7 +149,6 @@ main(int argc, char *argv[]) break; default: usage(); - break; } argc -= optind; argv += optind; From nobody Wed Jan 3 19:07:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zkF1TmRz56VPL; Wed, 3 Jan 2024 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zkF0XjRz46pt; Wed, 3 Jan 2024 19:07:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704308853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CwoM0W3Xd8fp1HMTbTVbGgGijfm0DzmdPrAW2plfFbM=; b=e5lhvXEDKhuA48sDh/BUSbvYL1fJ2FzWBcwPQfqPDULkPLtgkWrWsXFY2nXOvLbCKPsstM 3VsC/3u98xljpcN3ToMbxO56RXTrDzI1Qf+Ixr9PL0/Xqz0clqEKerVLej2EZT+iqaLhLH mtR9R1SXMdvIdxpUAWn5r+RQJfpJJoyduBUMiek38pcN5zLJ/o1Gf/1GXdnxBmJj7masjI I62/yEDhjcndxifygtFxJWW6qLau3M2IhWW3CerysCBmJLM6OQAigruxZLt45XWOET89pi r8h8vGr48XqTFH1ybTkFuE7SR4/fKPn2LnTdRqvbQ6ZGbn8Mej8Wwp2e1ExBzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704308853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CwoM0W3Xd8fp1HMTbTVbGgGijfm0DzmdPrAW2plfFbM=; b=Wt5rvDNApGDR8+Z+bLRyGjq4EKhYQYUL2ttvNRu3l8Fbg77gsbSxEWXtkuswXjAYOWz06E Lz4ZcqO2WzbLfu4Wf3akOcs/j+D0Ao4kd8S5xYxBpT89j7c4FQoXeXZKXf1zinqzsHW+DB /yVnkISIJiOZJ5iFnH0djLL/idjhhDbruMQ9vnqWw8xWj6li4VcxlU7G0udG+h9J6+VpKI FXVYxgFI8GnwKi/NNiw+tBVuf+JLorU8eYkEoIYJ/kdOX4RGTydwLkR0oNe5EzvxctpTS5 LwUZDDQgIfYNgrelXMjWbDmOq1q+Idef1HTDtAQ3FHB65euZXmBrL61yDJJMtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704308853; a=rsa-sha256; cv=none; b=M2gYeaKvntXAsYVKikT8lx/P9zs7lh61jlcJk7v71EDbp87jDmqyPkQZ+uwL1e1Omhisbe 6IZKkcvCnJJhG9K1zPNLlLR7ujWXuDbmUJurdrbmw7edK3tLl5lv/gmuWOs2ZtPIiMn1wb 3AlVgU3dzJagjTnlk+rqo+6hMEBSfXM91y2L13ZkwX+0Z6vFYaoLBzN1TabfN/AnPhbo79 CRbgQl+fj6v4JROVqmV8BcN9JFwOnYcAy8hHb73JeIEHcjYuO2kyUQacZI1P2SAYAvZyUK FW3Q+tOJTxMluUocrhsbIJy+gfcm7sq4nYcMOV6EnGltihiYfG6UQCoa9I1jYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zkD6hVHzx9Y; Wed, 3 Jan 2024 19:07:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403J7WgO070728; Wed, 3 Jan 2024 19:07:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403J7WBg070724; Wed, 3 Jan 2024 19:07:32 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:07:32 GMT Message-Id: <202401031907.403J7WBg070724@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 8312a902f98c - main - bin/setfacl: remove unreachable break after usage() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8312a902f98c8a1d991bcee86acbff2abc218d58 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8312a902f98c8a1d991bcee86acbff2abc218d58 commit 8312a902f98c8a1d991bcee86acbff2abc218d58 Author: rilysh AuthorDate: 2024-01-03 19:03:52 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:05:50 +0000 bin/setfacl: remove unreachable break after usage() Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/872 --- bin/setfacl/setfacl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/setfacl/setfacl.c b/bin/setfacl/setfacl.c index 02f10944f169..ef3f58b326a3 100644 --- a/bin/setfacl/setfacl.c +++ b/bin/setfacl/setfacl.c @@ -459,7 +459,6 @@ main(int argc, char *argv[]) break; default: usage(); - break; } argc -= optind; argv += optind; From nobody Wed Jan 3 19:07:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zkG1pVDz56Vcd; Wed, 3 Jan 2024 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zkG10DVz46my; Wed, 3 Jan 2024 19:07:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704308854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aR1YXlgXQksx7kMjTSJpH9IyTpIJmk+Dj08ncPTqu1o=; b=KtLNfcRMW5YVWyOTXPqhKwLHNYbh/VCxp3vXsve8+Lwzgn7ECGVRbhhxr4JDP03SvNBxfU pr6ojk5OBN0yBVo6ynZAwFcV6uOXqyEmiF5Z2VB84spTuTqXVPM0//qZ6gwgmY1OWXZps0 eFyj0RAN2x4F03+qmciHO29dBVHRWLdjsnA5jts/Aom48h+jc05NhDT+GcKfPtKA5URKP7 tJNNzTwDIsrfP2soc0a9e3+cuC82tN+9F08mJxOjGaOZBHWMTdO3vAXDod63aIGEbcbs1t d6gsML9cvNCpAHS2isWNa5Df7hLug9Zsigg8IT1Vl6S+oFJZLxm4NH/1DtWKoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704308854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aR1YXlgXQksx7kMjTSJpH9IyTpIJmk+Dj08ncPTqu1o=; b=MZKZpmei+tzMTwGcUJFkdbDlvMXCdAtpKvONv3aI6p15lBBu7COe/FmIcsPOjw/GfpBqXj bXSkG7LbvSeCEYrkHU6EXW4KI7S1NZVNawJ6+Hwn3q97JjFharbOMVCvAZkMI5ozrvCNfK n8OJJNxeMTFWrVHcCb/Ed34IbX3Vmy2h0nzNz0CuD6q6+oZHJPN50TZJqBVG6TqPE7lSyz IGDDy1K4bOulU1bwG84oVOC9eXwwn/4wnczJ/Y1Ue2V9ZcpZZDYyKyKCsPMOCzJnmw1EXu v/h9sGkNFUOp6RQy7dqChzchubGjYjG/8eywj81a0L4LxuZS1HkeRWL8R5F7Bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704308854; a=rsa-sha256; cv=none; b=Yxxx+SPpKneD5KCdJT+LEYiXH3fD4Dz38s0YeiKz9Ju83D2WJ12KpYB3Zn4FplVKmtwK3V YcC6fbTTbAAVs1zSuNmfXU1vkKC1ox2gKO7y59+7MWYXHZ7HyA6gNkNpqjqDXgOdUeeCDu RGw1TT95tXRmYodD6QlDr4BtUAotOzSur5ZNAr6JA4pRPl6nT86AQM5bQX352v71cNVfKx GdtLTpOqXz4vxj2G0sC/2NRWpwx4VBpOrKy/CGr1kuZrB5sMVaHR16REodtJzZoBzGb3Za Wx+GqlShUu9jYW8ZxcBU6bs3kSs4q8Ahu9iDbCLuBdi3Fjt/LSyIOlMzbeBtuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zkG05SzzwnN; Wed, 3 Jan 2024 19:07:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403J7X4E070777; Wed, 3 Jan 2024 19:07:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403J7XJp070774; Wed, 3 Jan 2024 19:07:33 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:07:33 GMT Message-Id: <202401031907.403J7XJp070774@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 4d8d9111a4bf - main - bin/timeout: remove unreachable break after usage() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4d8d9111a4bf79c6d5b41340b47cf768f2c6d080 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4d8d9111a4bf79c6d5b41340b47cf768f2c6d080 commit 4d8d9111a4bf79c6d5b41340b47cf768f2c6d080 Author: rilysh AuthorDate: 2024-01-03 19:03:52 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:05:50 +0000 bin/timeout: remove unreachable break after usage() Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/872 --- bin/timeout/timeout.c | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 7de255f30150..b1c3262bf711 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -209,7 +209,6 @@ main(int argc, char **argv) case 'h': default: usage(); - break; } } From nobody Wed Jan 3 19:16:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zw05jBmz56WMy; Wed, 3 Jan 2024 19:16: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zw03hnjz4BQ5; Wed, 3 Jan 2024 19:16:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uejLGusf8vThGZf08r9xqU3g/0YwnHQoOnCONj523dY=; b=uy16iLw96ID90vEB2gVTWfX7d3/i0h7n7jsliYMqD6vVnv9QrWHH0Uiil1cDLSFNizZrii HqrRNtnMDMVPKNmdcjaSO1aqozfrNJPpeFfyEpbd2hZNoEk1jbgTZIQYic4dM0wa3fFuF9 chHu2LaL7N94VVnkbOHgmOnypiGM74HVxBJxXMX0HiQ+TNGSRWOqE2H1dhU5fKUGa9g3+y GZ1jAbM5Gl/MIu87VjfvqtGCU86Slltz9I/HeRwh7paqElAF9rkfOVcMDOA1swkU7xvMfV gj/wA+bzOT9NvtGF6SAEngxF7w9IKb64tYlGPhBN6f+MLJe3YT0wUxHQ8B33lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uejLGusf8vThGZf08r9xqU3g/0YwnHQoOnCONj523dY=; b=SxFy5BGu7CVoaWTcd/iXmqcG7assQMQgjH30+pmODkm3Tlv8nlb5SIRXZjpL35/j+VJYAb Tfin/xnobqpqNImVKy85lrY8K9oVBkn5FcBpOr3bZ1rmK46qopnGBAo8cDXnfqVLaUEjfb 2Ka7WVugHs4bM/UjtI7v7XXCrB7ypEvXbJZ9jI5Kw7hlHPH/AvQ+KiK5plRnESC/109oX9 TkIxEwV7RfZoKs3Y8+O+Ys/k0mmf+2dHyKSBwzK2qbAuA6ylEFuJ4f4DqebYbXRW+nmUv2 lfNcB2EsQpL0ebAF58wOkNh7mHpEZwh20aBWQVL2p2BZMIpgs8jOLyZdrlGNxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704309360; a=rsa-sha256; cv=none; b=pPa9x2cgOOSTF7Ahkb7wGih7KUhsc5wNzOXQlms7SH+TKf9hlCzNRyzeXJL3gJMVJ9+1AM BAlAPSCcQtH4v1VCsVpFebSOIU9oMz5gP+s7UBaTYEktm7rHAomn4LPMLzVaYffeY8CP/I CQt9RfKwMYr3MMoaRXPkggzpwq/UTXwJ62S41nh0FMd+vjv/x0vrqaSt0crVBaTUfY6lcU TAhpPeZTkkjzWHxcDVKVhevTmNvG9cCbForhXdvPepasfpIdKSbmK1b4Y1antBdJBNXqz2 PsLxd7/t6kTvDyEy+0KwcJ7BVMleKXo/lBua2WZq8vPjpDr5JxMFrm7KuqUhWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zw02h4HzxMk; Wed, 3 Jan 2024 19:16:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403JG0Q0087238; Wed, 3 Jan 2024 19:16:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403JG04e087235; Wed, 3 Jan 2024 19:16:00 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:16:00 GMT Message-Id: <202401031916.403JG04e087235@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 883a1b00fd13 - main - Makefile: Deorbit fmake support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 883a1b00fd13dbc0e63ae49cdf73f88ee389d52a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=883a1b00fd13dbc0e63ae49cdf73f88ee389d52a commit 883a1b00fd13dbc0e63ae49cdf73f88ee389d52a Author: Warner Losh AuthorDate: 2024-01-02 16:17:21 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:13:26 +0000 Makefile: Deorbit fmake support fmake has been out of the tree for 10 years / 5 major releases now. The need to bootstrap from it has been gone for at least 6 if not 8 years. While we may still need to bootstrap bmake, we don't need to do it from fmake, so only retail the infrastructure to update from bmake to bmake. Retain, for now, the WANT_MAKE_VERSION stuff, though we're always up to date when building from supported and quasi-supported platforms. Also remove all the checks to see if .PARSEDIR is defined. It is always defined and was an early, fail-safe way to tell fmake from bmake during the transition. Adjust comments that refer to old fmake and remove those no longer relevant. Sponsored by: Netflix Reviewed by: brooks Pull Request: https://github.com/freebsd/freebsd-src/pull/980 --- Makefile | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index 4a6f4bfd425e..2c4f7aaebca0 100644 --- a/Makefile +++ b/Makefile @@ -137,15 +137,11 @@ __DO_WORLDS=no __DO_WORLDS?=yes __DO_KERNELS?=yes -# This is included so CC is set to ccache for -V, and COMPILER_TYPE/VERSION -# can be cached for sub-makes. We can't do this while still running on the -# old fmake from FreeBSD 9.x or older, so avoid including it then to avoid -# heartburn upgrading from older systems. The need for CC is done with new -# make later in the build, and caching COMPILER_TYPE/VERSION is only an -# optimization. Also sinclude it to be friendlier to foreign OS hosted builds. -.if ${MAKE_VERSION} >= 20140620 && defined(.PARSEDIR) +# This is included so CC is set to ccache for -V, and COMPILER_TYPE/VERSION can +# be cached for sub-makes. The need for CC is done with new make later in the +# build, and caching COMPILER_TYPE/VERSION is only an optimization. Also +# sinclude it to be friendlier to foreign OS hosted builds. .sinclude -.endif # Note: we use this awkward construct to be compatible with FreeBSD's # old make used in 10.0 and 9.2 and earlier. @@ -252,10 +248,6 @@ _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH:Q} ${MAKE} MK_AUTO_OBJ=no \ .endif # We often need to use the tree's version of make to build it. -# Choices add to complexity though. -# We cannot blindly use a make which may not be the one we want -# so be explicit - until all choice is removed. -WANT_MAKE= bmake .if !empty(.MAKE.MODE:Mmeta) # 20160604 - support missing-meta,missing-filemon and performance improvements WANT_MAKE_VERSION= 20160604 @@ -263,14 +255,8 @@ WANT_MAKE_VERSION= 20160604 # 20160220 - support .dinclude for FAST_DEPEND. WANT_MAKE_VERSION= 20160220 .endif -MYMAKE= ${OBJROOT}make.${MACHINE}/${WANT_MAKE} -.if defined(.PARSEDIR) -HAVE_MAKE= bmake -.else -HAVE_MAKE= fmake -.endif +MYMAKE= ${OBJROOT}make.${MACHINE}/bmake .if defined(ALWAYS_BOOTSTRAP_MAKE) || \ - ${HAVE_MAKE} != ${WANT_MAKE} || \ (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION}) NEED_MAKE_UPGRADE= t .endif @@ -278,7 +264,6 @@ NEED_MAKE_UPGRADE= t SUB_MAKE:= ${MYMAKE} -m ${.CURDIR}/share/mk .elif defined(NEED_MAKE_UPGRADE) # It may not exist yet but we may cause it to. -# In the case of fmake, upgrade_checks may cause a newer version to be built. SUB_MAKE= `test -x ${MYMAKE} && echo ${MYMAKE} || echo ${MAKE}` \ -m ${.CURDIR}/share/mk .else @@ -301,9 +286,7 @@ _CAN_USE_META_MODE?= yes .if !defined(_CAN_USE_META_MODE) _MAKE+= MK_META_MODE=no MK_META_MODE= no -.if defined(.PARSEDIR) .unexport META_MODE -.endif .endif # !defined(_CAN_USE_META_MODE) .endif # empty(.MAKEOVERRIDES:MMK_META_MODE) @@ -378,7 +361,7 @@ _assert_target: .PHONY .MAKE # The user can define ALWAYS_CHECK_MAKE to have this check performed # for all targets. # -.if defined(ALWAYS_CHECK_MAKE) || !defined(.PARSEDIR) +.if defined(ALWAYS_CHECK_MAKE) ${TGTS}: upgrade_checks .else buildworld: upgrade_checks @@ -470,7 +453,7 @@ kernel: buildkernel installkernel .PHONY # upgrade_checks: .PHONY .if defined(NEED_MAKE_UPGRADE) - @${_+_}(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,}) + @${_+_}(cd ${.CURDIR} && ${MAKE} bmake) .endif # @@ -802,7 +785,6 @@ universe_epilogue: .PHONY .endif .endif -.if defined(.PARSEDIR) # This makefile does not run in meta mode .MAKE.MODE= normal # Normally the things we run from here don't either. @@ -822,6 +804,5 @@ UPDATE_DEPENDFILE= NO MAKE_JOB_ERROR_TOKEN= no .export MAKE_JOB_ERROR_TOKEN .endif -.endif # bmake .endif # DIRDEPS_BUILD From nobody Wed Jan 3 19:16:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zw14vxxz56W6c; Wed, 3 Jan 2024 19:16: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zw14MmCz4BMy; Wed, 3 Jan 2024 19:16:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uFA3vm6i3DR/B4mYp+L5BfmzJ06UX1yYMlQpG619FR4=; b=el/uvhB2L4hP+95WawnHcVmEbRweyrakMPcB2VEBUaAKC0DrxVMeiPOp1ADPpjYKIrxYFg RdZoRVgIOFQbMSLoY/hPTeXUtId8LJ9r3ilWItjIrutriD06xO4L4yhEN2LSus99ZPp14v JuwYmR+KiiH+otD9wqDcUJwBw4QC61EeAIL0KKQ7Rsb0IaAPy4P6ZNYLbmJVZpcqIEM3Vk LveRoXl8SbZ68egvXzPfxR4MNQ4bMEPwfv2NuUpdIkCgmlXQeUgC2N2TYn9YisbpXDaAuC tc0iq5FdNfJ3qlqsco1FNHb2hpeSV9RlKmq3uvC71eX3HkmZlW/G/6pYzWtNSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uFA3vm6i3DR/B4mYp+L5BfmzJ06UX1yYMlQpG619FR4=; b=ZECWgUuEiW3vg3WmrMd/DRjERgYFDgZwcGZpfFaq13BTcRZ+DCQzEOx7UO1OheNll86udH +vs8TaQ20BSNF0BoUp/LZrUUnvSXrMBNFncQN021G3zLJfnc0uw1Ll5R6zEc2zPnbNVvcJ /s1u1ozfogt+da/j1tCqjSdQts8sXa1t+Yb479B6uyhNoaCL7R4MwuPrfIrSsEpE9Hth53 lLSTvD2f9HByr4erq+UQZuK71RDG9mrDg+XY7cw/NoGPnSvITEYaIpf3d3mprxQiemCynI 0VXnZziTcKyVm48bPR2TRv3b1jOrF7kWJ4wJ6u5zVS2TqNxZI0/EgXHImp9xBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704309361; a=rsa-sha256; cv=none; b=nCTz+WUYrV/H5i75swBZeJJa10c3sI3AflvbGF/xuSntO2/4zUoegaVmh8v3vBuouoGrB8 IfuyoXI2UH+g5MZhRwLlQsOmRi3BZJUdVRKmp2FoBjXczPqrnJsP39Me0dxiIdij2ZkGz+ w4oyuHzhqwBnE5znjzPK2AbhZB7X5C4ttCfdbgYYJ7ZeyBlkk5gE4XxmAHIwGRJEOWpSs2 o9qCfT9kUXCMRXrescdi5LR64mUWyQvEJlZGfVSs3vZgXgXWFBsAq0kRoyfBygiFQuKk99 MKICYr0GRvQOExAqGTjCLjiLi/uS+Aa54779AYiqJPP/DzVv5oQfdXJsviAJyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zw13Rkkzx7Q; Wed, 3 Jan 2024 19:16:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403JG1aw087280; Wed, 3 Jan 2024 19:16:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403JG14w087277; Wed, 3 Jan 2024 19:16:01 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:16:01 GMT Message-Id: <202401031916.403JG14w087277@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 01918855cfc9 - main - bsd.own.mk: Assume a modern make List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01918855cfc9e5ce4c324d11c6b3b9a149638174 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=01918855cfc9e5ce4c324d11c6b3b9a149638174 commit 01918855cfc9e5ce4c324d11c6b3b9a149638174 Author: Warner Losh AuthorDate: 2024-01-02 16:33:19 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:13:57 +0000 bsd.own.mk: Assume a modern make Commit 83cb5bae966d7 added a check for MAKE_VERSION being new enough to handle CTFCONVERT_CMD being an empty string since fmake of the time didn't support it until just a few commits before 83cb5bae966d7. Later, it was augmented with a check for .PARSEDIR to see if bmake was running. fmake and boostrapping from fmake haven't worked in maybe 6 or 8 years, so we can remove the check here. If you want to update from your FreeBSD 7 or FreeBSD 8 systems, you're even more out of luck than you were before and must jump to an older version before jumping to current for the source upgrade path. Sponsored by: Netflix Reviewed by: brooks, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/980 --- share/mk/bsd.own.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index aec88d64850f..bc53f3679e77 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -154,10 +154,8 @@ ____: .if ${MK_CTF} != "no" CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} -.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) -CTFCONVERT_CMD= .else -CTFCONVERT_CMD= @: +CTFCONVERT_CMD= .endif .endif # !_WITHOUT_SRCCONF From nobody Wed Jan 3 19:16:02 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zw30lpKz56WF2; Wed, 3 Jan 2024 19:16: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zw25ZR9z4Bfp; Wed, 3 Jan 2024 19:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7EEKb7g6sDsbZ+LIs0V2wgBgmavejbFQ9YK4Jknl5cQ=; b=bh1clmE+q6+5BL5+IY5WmcUpYhthjRqAh+QveeUCcnrKjf1cuJQx2MWnAlEMietiMx/M9g WwmXE3P+CriYO5EcRekcOfcdhMCyleRoTLDwilC2PxTSGGqXqEJrb6hfL/kj54mbYnvKt9 Agfl/92h2O5a/aCzmtT3CqyWvyi0xuDWGrzUl0uLVjuX69XdGDbHnEnP0Ep10N2wZOlJ1g 8Av1HXc1sxhJoH2dl31BWTBVlbtcr69eb94mLBHlcP4ex0VaqnwXhw3Amomt6ZdzPPnLmD CBTTEnSHleWOTmRcsG9x6A5l/Ns6Pw5GgCSUcDas6Wo2k4cG3BuG9dvKi3t6qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7EEKb7g6sDsbZ+LIs0V2wgBgmavejbFQ9YK4Jknl5cQ=; b=a+ssItEu3eQ7K+54V5JTzIHbwKO/i1qpCtpXg2/t39whUMt7HKA4rOYiuEXCa8KNH0ztNj 9zW2ArYQHpXuGAFBhTuwsUJUQEi8SHbqzYAwyjOFUGMkaZppJFj3NuNNX98WLV9ZRVcUyu lgaEQgGCkO4hgGH4UaPw11R394X18cJK1QrLlqofsddRRh2x0NFcvv0OMlz168/JONRztU H6E7VPqEanx6WsILLg8UOasOMo/Ocz/qO1Pil2EeOjmS5SUxJw6PQMTh23iv4uyHOdLqar XUh6AtncvJuUlxLFLB1J3Ek3g0u92kUBDAx3kpf8gFSrKBtWfaR9SsnYSHOxdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704309362; a=rsa-sha256; cv=none; b=AIKi793xDTtJJYk1NueWtyeP52c16uR9UC4VstQtATwZxqW/FF9O5qBcRwte+rShSto+dM krmG8FnZNtZWxIVg2Q5yyrDOeoznjTbULBPWpDDCfncRyk5+0OGNsdq1er//KiPqVToBRB rSSXhA64NNG60viO6mz7KznVy+D4EaXKdnh1Hd8Bm/+ADMwLbV+Sx2VZdOAMm9p+LsH4wC 9swT72A1GJRlA3IuZEwzWEzYof2nkr6tP0r6WY5pYFW/L9LsbbFLNjdXZoy2Nk6jEGpn28 w8RBYriZy2N7dlhEVAv31V2x6hNPqBX6Wd3mlylmadESV3GcD0Rk5mDJn9jtFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zw24Kw1zxn1; Wed, 3 Jan 2024 19:16:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403JG2Sm087328; Wed, 3 Jan 2024 19:16:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403JG2gJ087325; Wed, 3 Jan 2024 19:16:02 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:16:02 GMT Message-Id: <202401031916.403JG2gJ087325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5a4b548ab246 - main - bsd.port.mk: No need to support fmake anymore List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a4b548ab2460be5f456b2e4fe91bfc21d53862b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5a4b548ab2460be5f456b2e4fe91bfc21d53862b commit 5a4b548ab2460be5f456b2e4fe91bfc21d53862b Author: Warner Losh AuthorDate: 2024-01-02 16:38:27 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:14:07 +0000 bsd.port.mk: No need to support fmake anymore There's no need to support fmake anymore. Always assume we can use bmake's :tA modifier. The ports tree hasn't supported fmake in about a decade anyway. Simplify here. Sponsored by: Netflix Reviewed by: brooks, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/980 --- share/mk/bsd.port.mk | 4 ---- share/mk/bsd.port.subdir.mk | 4 ---- 2 files changed, 8 deletions(-) diff --git a/share/mk/bsd.port.mk b/share/mk/bsd.port.mk index 3ee3bdc8c42f..2a011ba93152 100644 --- a/share/mk/bsd.port.mk +++ b/share/mk/bsd.port.mk @@ -9,11 +9,7 @@ _PORTSDIR= ${.CURDIR}/${RELPATH} .endif .endfor _PORTSDIR?= /usr/ports -.if defined(.PARSEDIR) PORTSDIR= ${_PORTSDIR:tA} -.else # fmake doesn't have :tA -PORTSDIR!= realpath ${_PORTSDIR} -.endif .endif BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk diff --git a/share/mk/bsd.port.subdir.mk b/share/mk/bsd.port.subdir.mk index 17fd7f973c60..14c0857f04b2 100644 --- a/share/mk/bsd.port.subdir.mk +++ b/share/mk/bsd.port.subdir.mk @@ -9,11 +9,7 @@ _PORTSDIR= ${.CURDIR}/${RELPATH} .endif .endfor _PORTSDIR?= /usr/ports -.if defined(.PARSEDIR) PORTSDIR= ${_PORTSDIR:tA} -.else # fmake doesn't have :tA -PORTSDIR!= realpath ${_PORTSDIR} -.endif .endif BSDPORTSUBDIRMK?= ${PORTSDIR}/Mk/bsd.port.subdir.mk From nobody Wed Jan 3 19:16:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zw40jRnz56WN4; Wed, 3 Jan 2024 19:16: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zw36H6lz49x4; Wed, 3 Jan 2024 19:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fw5mhUqtf+6r6nSj+QonebQkPA3OdCusLXA29Qx73iU=; b=OdtiOAUAMO5iOjaSrKBuENfHuDjK7/bK4Lgv/NrvUu93JGTRGLnpeF1Ogt47hsv0pJVCyq I70Mrsdr843XVijC8UDBVHIv70lOucPR1YFee63uPI83zNTcdTaN5LUpWp5p8OFZj0DigF KmaufitzFryQyDcQhVikbfbn7ZkyNhmNwikpV2tp4maC3VqUu6ToFNEybwtvMwlgGxDmfG Ve5zOEt3ErzscsjppcF4v+M2qHZGPIsTOpAv+V2XeWR007BVIjTpTePk3TdCQWyDnV3C7K iyVBcZAuNLTL86jsJgXIJ75HNekS/uj/smWOHZWGcJaicajlsAxBxtzhgqcqIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fw5mhUqtf+6r6nSj+QonebQkPA3OdCusLXA29Qx73iU=; b=wJm3/cOmkgo1BHJ2phKTOuAbO3RabNtZGUDtUEZaIaJptLbnJbXjIJ6lYVMQX2sut33I3w UDSf3/mEEwMC8i+jD3XamQFEWGPryWUuVGTW/xM2aSx5hE1118aYZPQVdPHTLswLrp4g5L sQa+Q9ztiV52NccxXuno7WAkz+VmTNFDZHOp+oaAdIvLAOZgHgk/lm5C0q4+tkEbbIoR99 bBSi+v8I3oDXQlN2EVaYpjiZPJrQUoVW78Pw+/xWlsqR8RYyFMGeEtxgwdHYm9KW8wmgn4 kdvnaip9868hdtbcG8IKkVxprD5PRxaqzhpgv46A/c4ESa+LFWk/XxrVJJoPzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704309363; a=rsa-sha256; cv=none; b=pNHpjXOAT73wvICN1bbEQH+e8t2IGB63mwP+LfJACsy5d71+ZCYC8vPadgV3HF6z4nHPM2 Eej2wsY+1d00uQB0Mfs6imXjcFtdreAqiKSRwP0U/bcPCRta25RxMOl88FHeL18dyS+/xE gdG6SQPqhfdVw2RcU00I/wXu3TU6wbK/UpmGkJ62CG4RUjeAyW8MAt5UwUfHzFU+9Jzxdb m6H6jP/SxlkgcB7NzW/ddJwko9EngNIcGcrJVJk473o7p3CRVDfm7HDLVnrKrsCq95LRD3 o5x/0wvmNlWOjM3yeBg6Flba53z/oYsU4JRKgjuE0jTuUpmdh8JClTtda9aGNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zw35NJdzxYD; Wed, 3 Jan 2024 19:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403JG3nu087385; Wed, 3 Jan 2024 19:16:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403JG3il087382; Wed, 3 Jan 2024 19:16:03 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:16:03 GMT Message-Id: <202401031916.403JG3il087382@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 55197eade459 - main - sys.mk: Remove support for building with fmake on modern systems. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 55197eade45967410bbbb890468afe245c869b94 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=55197eade45967410bbbb890468afe245c869b94 commit 55197eade45967410bbbb890468afe245c869b94 Author: Warner Losh AuthorDate: 2024-01-02 16:43:44 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:14:13 +0000 sys.mk: Remove support for building with fmake on modern systems. We used to exclude a lot of extra hooks to allow for local customizations of the build which couldn't be done outside of sys.mk, but excluded that support for fmake. Remove those hacks. Sponsored by: Netflix Reviewed by: brooks Pull Request: https://github.com/freebsd/freebsd-src/pull/980 --- share/mk/sys.mk | 6 ------ 1 file changed, 6 deletions(-) diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 1b6ee05a58bf..d8c5809b0bed 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -43,9 +43,6 @@ __ENV_ONLY_OPTIONS:= \ # early include for customization # see local.sys.mk below -# Not included when building in fmake compatibility mode (still needed -# for older system support) -.if defined(.PARSEDIR) .sinclude .include @@ -108,9 +105,6 @@ NO_META_IGNORE_HOST_HEADERS= 1 .sinclude .endif .endif # ${MK_AUTO_OBJ} == "yes" -.else # bmake -.include -.endif # If the special target .POSIX appears (without prerequisites or # commands) before the first noncomment line in the makefile, make shall From nobody Wed Jan 3 19:16:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zw511fJz56WF6; Wed, 3 Jan 2024 19:16: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zw470x7z4BrL; Wed, 3 Jan 2024 19:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v3Rpycl8VtVCPwwhey4rnhzxIiURgtVYtlU4wjj4vwQ=; b=MkbEUL5CErULNhSiTJ+h2hl9N5vETvAwdZZ0dmeu89yl4acLdUJ5rQDndQvePfSwod2uNo c0sBiPxUX7T1BlsVmsrJZ54bkjiWo20FNg3PSBYeX0UGy7R/E9qob4QPIsmMgVnjoNKYsp F3/1+cRY3lRH+zRzebt7YyyOReGWd+m8UTdGuO51LHEBn9RQ3thWu84dSPssHIam1k0JQj LVIQ3cAZvENtVSHNTa07WEpfB8RJtSZ+XWA0tAEaEXhKq8tmDRJrxRYTmIGRiP+w7Oy1NF ryD77m0ZUJRY1PyHLmSa98PgUuLdMZuzdlwaMm+Hwnu/Rl7V2hYhqLkX1DRr2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v3Rpycl8VtVCPwwhey4rnhzxIiURgtVYtlU4wjj4vwQ=; b=fOez2DrDEPZD8qmocLBjfAocX9o4krBC++Pg+FiwkVr5Ln3F9AzfdA4QxXPWvgxH2OhX3H v9til3+kEutLQo3QacS0fB236G4Ws2CxrVpOocnR3jWiRUPPPlyEpdOvSHn8vZvJVc26PY 9XxtqH1qPigXqDbzoAwK3jeV/05uIoO0p0ARPQ0C2v7mJUNiDKWXWpNYlkGf65KrPeunss tujvTVSLeEOPwFbbGICDM3FWYplnLHN0rL/xDtUmZ1AFuzIAnjfWf77rAoSUZbr2ugFAq4 TmE4z+iWZ/udhR4PRfO58kH3rHLBrLfUI95i1GFG4tE6IcvRMWK3r8ErkeWLxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704309365; a=rsa-sha256; cv=none; b=CYZxtjaGRV2uz89/GmzMyOU0bL/USX35o0/x78o4sfWKU/29I+jUa0wTr4gdhNcIU9DG+K obyfjcxYVEq+wxbdpKngdH30dTHuILz/aqga6lRMet3m1CUZq+Hfa9wao5nz4s48k8/Cwm yeDzZcY2P3E20/b8AFtinMPJuUMcOXBftotq3olykYEedvkprIQ1Bj3I3nwNqpUHUJgG6E KNuvTs6o9WOmz4hZggYBudPugUlVpYRR7bnanTFvQf42lb0C3af7O7ZffADRJ8jDrP+4H4 2nWFyKl9VxUR6fmVcJVmzfy/3Pjl7qAA7EydFex9HicxvH26RySkO+etafJ5kg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T4zw465xCzwyy; Wed, 3 Jan 2024 19:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403JG4XO087425; Wed, 3 Jan 2024 19:16:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403JG4hE087422; Wed, 3 Jan 2024 19:16:04 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:16:04 GMT Message-Id: <202401031916.403JG4hE087422@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 2c5dcc54473f - main - make_check: Deobit fmake support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c5dcc54473f4136c872987b3126540d61808b07 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2c5dcc54473f4136c872987b3126540d61808b07 commit 2c5dcc54473f4136c872987b3126540d61808b07 Author: Warner Losh AuthorDate: 2024-01-02 16:47:10 +0000 Commit: Warner Losh CommitDate: 2024-01-03 19:14:17 +0000 make_check: Deobit fmake support We don't need make_check to work in a fmake world anymore (nor have we in the past decade). Just remove it here. Note in passing it's been 10 years since we've added a new test here and maybe we're past the need for this part of the build (or need to revamp it to include all the features added to bmake since 2016 that the build system silently depends on). Sponsored by: Netflix Reviewed by: brooks Pull Request: https://github.com/freebsd/freebsd-src/pull/980 --- tools/build/make_check/Makefile | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/tools/build/make_check/Makefile b/tools/build/make_check/Makefile index 9640a3755ecb..d9efa7e4f8ab 100644 --- a/tools/build/make_check/Makefile +++ b/tools/build/make_check/Makefile @@ -58,10 +58,6 @@ all: @echo "ok 14 shell # Test shell detected no regression." @${SMAKE} shell_1 || ${SMAKE} failure @echo "ok 15 shell_1 # Test shell_1 detected no regression." -.if !defined(.PARSEDIR) - @${SMAKE} shell_2 || ${SMAKE} failure - @echo "ok 16 shell_2 # Test shell_2 detected no regression." -.endif .if make(C_check) C_check: @@ -101,7 +97,6 @@ notdef: .endif .if make(modifiers) -.if defined(.PARSEDIR) # check if bmake can expand plain variables .MAKE.EXPAND_VARIABLES= yes x!= ${SMAKE} -V .CURDIR:H @@ -109,21 +104,6 @@ modifiers: .if ${.CURDIR:H} != "$x" @false .endif -.else -# See if make(1) supports the C modifier. -modifiers: dollarV - @if ${SMAKE} -V .CURDIR:C/.// 2>&1 >/dev/null | \ - grep -q "Unknown modifier 'C'"; then \ - false; \ - fi - -# check that make -V '${VAR}' works -V_expn != V_OK=ok ${SMAKE} -r -f /dev/null -V '$${V_OK}' -dollarV: -.if ${V_expn} == "" - @false -.endif -.endif .endif .if make(arith_expr) From nobody Wed Jan 3 19:16:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T4zwW4JC6z56WFF; Wed, 3 Jan 2024 19:16:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T4zwW3dTpz4DQm; Wed, 3 Jan 2024 19:16:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VeBfE+1DcJHIJAeEVIncJptgosbiY9JGdjeMPuuurLI=; b=IhOtTTGHQlMCU0uF4nGsZI7XinuZ/SMvEzsmUd9b9VOKE9ouDkj1Hrk7xvsUyNf39OqlTu yfbTUK1ODQoVl1ENufmWPDIZj2a0d8Q3cdYR3OmLxUVwlzvSjKHAhDAHTb/DRiBV9GfNbx KCXO4EWzhNfK7Ohkr0AkU6jgTxCJVjfy9yRMuyguxo36j90e2JuIuvTGXXsbKkfoy6d4nb EUSA3QKIDgwgEcW7o4loJ2C+LqJx4fNypTuHDJmWCeClk+MLSBzUHqrbW7uZn/825ZW+pE TDg32Dl/CappyVtCPKnQePSIaFrayJeKTzM1kKvYj+X3UduvL4ZOzWt9k5ZIHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VeBfE+1DcJHIJAeEVIncJptgosbiY9JGdjeMPuuurLI=; b=vGOx3QNN2OyvMBu9nDsr8C/jkmIDszliVTZa/dpGLI0iJREtgnaDBKR/bmoOKT8m7WtMiH xkMcsVjBqlONzMl3V/9PMf/XQ9ZQiUdzcEqh/ro6B8WTVM8bhXgFt6OWGvCtb0yXTq7fpj gMFq37oAZOuEKJUUkEh2mMAf03bJgso5W2CB8CYh7BdiIJJ4p2DqBkMOB7WZ3/TnCYr1/h Pjynp6fVP58uh8XBT3xUT2AZUhB17lvGqoys/Dxx4BhX2iMiaMJl3sle6b7UUYnY5/z62+ ynRJwp6FJQZZly6ff/F3Aznrw/TdrbO3fOfBEVkVWpE/oGYi/riSvAJgkpYyBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704309387; a=rsa-sha256; cv=none; b=L97NmkP2EGJXu+dxs1uasgxx86Id6DHkTQjG3bfVIBWJd+2wKPKXuB8UYsbEszIJESujwn LS7MFqT8WMUoY3jMwFfoi6ii9iEjCPy7Sw2RVvfYbsOKaOtLeX52waHjBz4dED01KRIbkq Jq5qqPn8eF428NqZt0uuT3SKWz64mGjHHyo/CB1ZFJbHa8LnPODaVpjOyhFE76Cnl0TOdx IJy1NE7V9TLNbo/4J9eLK4Di8oYnwdmBB5yeCGei+gEdMC18gPvCf3Lk7iA0zSEv1s8IDc J//jbdJ18kt840map8gf0MqxCeC6g07QXc+5LFsUsijNVE0hIww2pjpMbFEV3w== Received: from [IPV6:2601:644:9381:f410:71db:fcca:3a29:6836] (unknown [IPv6:2601:644:9381:f410:71db:fcca:3a29:6836]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4T4zwV0Qw3z168R; Wed, 3 Jan 2024 19:16:25 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <9aa04ad6-1948-48f7-be1b-e87e9806349d@FreeBSD.org> Date: Wed, 3 Jan 2024 11:16:24 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b4efc6277634 - main - LinuxKPI: Do not use explicit context in FPU sections on powerpc64 Content-Language: en-US To: Vladimir Kondratyev Cc: Vladimir Kondratyev , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, owner-src-committers@freebsd.org References: <202312241320.3BODK2DA076069@gitrepo.freebsd.org> <886e1a57-2e2e-4869-ae8d-0427ef771d41@FreeBSD.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 1/3/24 5:52 AM, Vladimir Kondratyev wrote: > On 2024-01-02 22:17, John Baldwin wrote: >> On 12/30/23 7:14 PM, Vladimir Kondratyev wrote: >>> On 27.12.2023 20:05, John Baldwin wrote: >>>> On 12/24/23 5:20 AM, Vladimir Kondratyev wrote: >>>>> The branch main has been updated by wulf: >>>>> >>>>> URL: >>>>> https://cgit.FreeBSD.org/src/commit/?id=b4efc62776344a9aaada5a0866e453e528a0e977 >>>>> >>>>> commit b4efc62776344a9aaada5a0866e453e528a0e977 >>>>> Author:     Vladimir Kondratyev >>>>> AuthorDate: 2023-12-24 12:48:06 +0000 >>>>> Commit:     Vladimir Kondratyev >>>>> CommitDate: 2023-12-24 12:48:06 +0000 >>>>> >>>>>      LinuxKPI: Do not use explicit context in FPU sections on >>>>> powerpc64 >>>>>      It is not supported yet. >>>>>      Sponsored by:   Serenity Cyber Security, LLC >>>>>      Fixes:  5a3bd281672b ("LinuxKPI: Add explicit software context >>>>> to >>>>> FPU sections") >>>>>      MFC after:      1 week >>>>> --- >>>>>   sys/compat/linuxkpi/common/include/linux/compat.h | 5 ----- >>>>>   sys/compat/linuxkpi/common/src/linux_current.c    | 9 ++++++--- >>>>>   sys/compat/linuxkpi/common/src/linux_fpu.c        | 3 ++- >>>>>   3 files changed, 8 insertions(+), 9 deletions(-) >>>> >>>> Do you need explicit contexts at all? >>> >>> Original version of https://reviews.freebsd.org/D42822 did not use >>> explicit contexts. >>> >>>   That is, can you not just >>>> use FPU_KERN_NOCTX all the time?  Most code in the tree now uses >>>> FPU_KERN_NOCTX now (all the crypto drivers for example), and I've >>>> been thinking about removing support for the !FPU_KERN_NOCTX case. >>>> Is there a reason drm-kmod can't use FPU_KERN_NOCTX?  Do you really >>>> need to save FPU registers in one block of code wrapped by fpu_kern_* >>>> and then use those register values in a future section wrapped by >>>> fpu_kern_*? >>>> >>> >>> I can revert current code end use previous version. Just give me some >>> time. >>> I will be AFK till the end of january. >> >> Hmm, well the review for that answers my question which is that >> there is GPU driver code that calls malloc() while in an FPU >> section. So the answer to my original question is, no, you can't >> just use FPU_KERN_NOCTX. Or if you did you would need to patch >> the driver code instead to narrow the FPU context usage so it >> wasn't enabled when malloc() is called. I don't know how feasible >> it would be to fix the drivers to narrow the FPU sections, but I >> think you would have to do that if you wanted to go back to always >> using FPU_KERN_NOCTX. > > FPU_KERN_NOCTX is what LKPI uses for years for FPU sections. > > Original version of revision changes LKPI kmalloc() to automatically > detect > and than temporarily exit from FPU section for FreeBSD malloc() > execution. That is only safe if the calling code is not relying on the value of FPU registers to be preserved across the call to malloc(). Probably that is true, but you'd want to check the calling code carefully to ensure it is. OTOH, since FPU_KERN_NOCTX disables preemption, it is desirable to narrow the scope when possible. Perhaps the GPU driver is making a tradeoff of trying to amortize the cost of XRSTOR at the start of an FPU section by entering the section across multiple FPU-using sections. -- John Baldwin From nobody Wed Jan 3 19:26:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T507Z2vLFz56XXq; Wed, 3 Jan 2024 19:26:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T507Z0m6Gz4HLB; Wed, 3 Jan 2024 19:26:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JTMTnCKVNcgcuBjjyzLpnvutr7oRMTJI+jWUStL6S7I=; b=LLrJYgZjn6TPBnZ5VYy2UvT1rFUm3b3SyTQVfPdw6lMK7FEb9lRNrgo0faUBpSKMzOUfeh cDej6C9xbxEh1zw3paVU/3vUfklRy4MPENOGOGUh+GPkQYxulfLmKVu16WVMGMGya0l4hT O3Q8u85imYEza07el6TdtWX8/WS9+40R7c8u13OxZZm7GEQE8WvWaTMEXKQYOJg9NQcZNR XBxz8RylMGv8UzI433GXbuyAi3sDr1mcN7hT599CpOlAQLB6nNLr9vfMObSIkblDnaHCKy JLd8vcR4TEA5//WafZ/RXcNW8OVRn63l5PQIktQqWZqz6saQs94cixlwCXtjBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704309962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JTMTnCKVNcgcuBjjyzLpnvutr7oRMTJI+jWUStL6S7I=; b=EXhRj0S1qWY1sUpQCPUDp8TfPFQQZLGE7LpG5jIECzeGJYJmKox76YyEBPGYzUeGDrVXQU pfZpqzr2vTen/TH9i0Ms3+LSW+iCDOOHdz1Nk50LRu4Vq2T8RoFWe4sJ9NQNyC4SW0lE0J Sr5/L8qjXQGxCAevL8Fd0o9dVVYL+46rKO6wwTXi+NdHLPdu1abPBDDqhOt1vRoQW5fOmD AayRtvGTeRYV5E20FFFwGI+isgcH+NsgZvcSROXND47Ob01/5JykbhMqn4wqo2g5B1Px43 M/8teCp/K/CQNjJAiaRwK+5V06zdZbDRYPWUHqwDfZkiND0r6QHICEF/H72EKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704309962; a=rsa-sha256; cv=none; b=qtQVcSAGnuRJOC1W08N6/hIGS6RaURhIPnlIWtBFuW6xWO+lGnmvyO3sVQ102MmJyE248k pgoE+KBOv3xUOK+IClU39GW8J+5TmZmEQbXRUJYhkk5DmublZuADesquUAdeZpjlNS+tUb bTuo2v3CvnpjZuFLsbtNWTRkMl0wnGuOnlguxgjMrEk9NMQgNgBAOJ6CblfyTsTk6W68k/ 6/v5AARLabZotegA+j1Di6xhtl4/vTg6Ee0zx4KMCCmGvyynZ13h70IXuBHVFd0ztEkmNf 5HusUN5xLxTdkmnUsTAsPXpM5BmPhZeQo06NWgMy5zhptqPjWOaD87a2SDlVpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T507Y6q9lzy2f; Wed, 3 Jan 2024 19:26:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403JQ1ps003722; Wed, 3 Jan 2024 19:26:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403JQ17O003719; Wed, 3 Jan 2024 19:26:01 GMT (envelope-from git) Date: Wed, 3 Jan 2024 19:26:01 GMT Message-Id: <202401031926.403JQ17O003719@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 0201eb29dde9 - main - cxgbe(4): Fix virtual interface reattach. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0201eb29dde9dccbf796f81fbf18f3b21798183d Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=0201eb29dde9dccbf796f81fbf18f3b21798183d commit 0201eb29dde9dccbf796f81fbf18f3b21798183d Author: Navdeep Parhar AuthorDate: 2024-01-02 21:20:45 +0000 Commit: Navdeep Parhar CommitDate: 2024-01-03 19:21:46 +0000 cxgbe(4): Fix virtual interface reattach. Replace the DOOMED flag with a transient DETACHING flag that is cleared when VI is detached. This fixes VI reattach when only the VI and not the parent nexus is detached. The old flag was never cleared and prevented subsequent synch op's related to the VI. PR: 275260 Reviewed by: jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43287 Sponsored by: Chelsio Communications --- sys/dev/cxgbe/adapter.h | 10 ++++++---- sys/dev/cxgbe/t4_main.c | 33 +++++++++++++++++++-------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index ddb8621a2300..c3105ecacffd 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -170,7 +170,7 @@ enum { FIXED_IFMEDIA = (1 << 4), /* ifmedia list doesn't change. */ /* VI flags */ - DOOMED = (1 << 0), + VI_DETACHING = (1 << 0), VI_INIT_DONE = (1 << 1), /* 1 << 2 is unused, was VI_SYSCTL_CTX */ TX_USES_VM_WR = (1 << 3), @@ -184,8 +184,9 @@ enum { DF_VERBOSE_SLOWINTR = (1 << 4), /* Chatty slow intr handler */ }; -#define IS_DOOMED(vi) ((vi)->flags & DOOMED) -#define SET_DOOMED(vi) do {(vi)->flags |= DOOMED;} while (0) +#define IS_DETACHING(vi) ((vi)->flags & VI_DETACHING) +#define SET_DETACHING(vi) do {(vi)->flags |= VI_DETACHING;} while (0) +#define CLR_DETACHING(vi) do {(vi)->flags &= ~VI_DETACHING;} while (0) #define IS_BUSY(sc) ((sc)->flags & CXGBE_BUSY) #define SET_BUSY(sc) do {(sc)->flags |= CXGBE_BUSY;} while (0) #define CLR_BUSY(sc) do {(sc)->flags &= ~CXGBE_BUSY;} while (0) @@ -1355,8 +1356,9 @@ int t4_map_bar_2(struct adapter *); int t4_setup_intr_handlers(struct adapter *); void t4_sysctls(struct adapter *); int begin_synchronized_op(struct adapter *, struct vi_info *, int, char *); -void doom_vi(struct adapter *, struct vi_info *); void end_synchronized_op(struct adapter *, int); +void begin_vi_detach(struct adapter *, struct vi_info *); +void end_vi_detach(struct adapter *, struct vi_info *); int update_mac_settings(if_t, int); int adapter_init(struct adapter *); int vi_init(struct vi_info *); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 570208e2c562..3b6cb7285e64 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -2755,17 +2755,14 @@ cxgbe_detach(device_t dev) device_delete_children(dev); sysctl_ctx_free(&pi->ctx); - doom_vi(sc, &pi->vi[0]); - + begin_vi_detach(sc, &pi->vi[0]); if (pi->flags & HAS_TRACEQ) { sc->traceq = -1; /* cloner should not create ifnet */ t4_tracer_port_detach(sc); } - cxgbe_vi_detach(&pi->vi[0]); ifmedia_removeall(&pi->media); - - end_synchronized_op(sc, 0); + end_vi_detach(sc, &pi->vi[0]); return (0); } @@ -3595,12 +3592,10 @@ vcxgbe_detach(device_t dev) vi = device_get_softc(dev); sc = vi->adapter; - doom_vi(sc, vi); - + begin_vi_detach(sc, vi); cxgbe_vi_detach(vi); t4_free_vi(sc, sc->mbox, sc->pf, 0, vi->viid); - - end_synchronized_op(sc, 0); + end_vi_detach(sc, vi); return (0); } @@ -6245,7 +6240,7 @@ begin_synchronized_op(struct adapter *sc, struct vi_info *vi, int flags, ADAPTER_LOCK(sc); for (;;) { - if (vi && IS_DOOMED(vi)) { + if (vi && IS_DETACHING(vi)) { rc = ENXIO; goto done; } @@ -6284,14 +6279,13 @@ done: /* * Tell if_ioctl and if_init that the VI is going away. This is * special variant of begin_synchronized_op and must be paired with a - * call to end_synchronized_op. + * call to end_vi_detach. */ void -doom_vi(struct adapter *sc, struct vi_info *vi) +begin_vi_detach(struct adapter *sc, struct vi_info *vi) { - ADAPTER_LOCK(sc); - SET_DOOMED(vi); + SET_DETACHING(vi); wakeup(&sc->flags); while (IS_BUSY(sc)) mtx_sleep(&sc->flags, &sc->sc_lock, 0, "t4detach", 0); @@ -6304,6 +6298,17 @@ doom_vi(struct adapter *sc, struct vi_info *vi) ADAPTER_UNLOCK(sc); } +void +end_vi_detach(struct adapter *sc, struct vi_info *vi) +{ + ADAPTER_LOCK(sc); + KASSERT(IS_BUSY(sc), ("%s: controller not busy.", __func__)); + CLR_BUSY(sc); + CLR_DETACHING(vi); + wakeup(&sc->flags); + ADAPTER_UNLOCK(sc); +} + /* * {begin|end}_synchronized_op must be called from the same thread. */ From nobody Wed Jan 3 21:25:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T52nS0S2Wz56kZm; Wed, 3 Jan 2024 21:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T52nR6vnZz4ThL; Wed, 3 Jan 2024 21:25:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704317132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9R8yzvpiW8dDQcAAaSWAFuwM4TdQfGjyUWc1I/Xf9i0=; b=H6icw1tySSTgMjAUG+AOGRt8Z0oDrkescrLE48UMEka6B3FDBrpKYNd2sJ2DcoJZaDqR7H gkhd6By6oL+MREsNiHN0aR27FCLHfryfwsaXbSWIvGIwmDeAZgjbDNvfGqKGXN4UPcq3LA p1CFChH6DwYIikdXSxMeoMXrMYb5ZFtkGM13Yo5SDAxscd7g9Jwkr8OxC4yp1sAKEEomgR goLyeJGIvKmPFyVvvT732k62npvNAGjIN4fKtxWf79s06FEdCxpo5NMVL9GjXqVgwhMwPx mSJ9IlyU4/QLLVpIweEdBkux+rbxKPhyOroUmgBYk03XfE9r23Ysew3C8T2DVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704317132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9R8yzvpiW8dDQcAAaSWAFuwM4TdQfGjyUWc1I/Xf9i0=; b=w+G++aM2FTqMdRiWCbN5WAT3gsQCkLPBYEhXddDObcflcoOhwMGXwhw4+isoBLR8GZSmSP OXwW1xvoQ0QdyUZA0YYPI2vY2hdxazdKlU/WJXh0rauTEDITi0Z46Qas/BaI7jFDyoaWef fcAIHxihVQhntErj2TF7DG+01UoGrvhJDlR4hOXH4+yyGoC3syZ6QDMnnCQB5YvIQqeaJx GYteLCUyWI21UTEH9ByF71+l6nKGWYptlOJK46ffTu4bmdF4rDfSNh+aXyPkoc8R1k2jRu yousmU8SPWPZRAVCa+EzeyXxe7dr+7/v+rZ1hoie7y+1asyDj6EaeX80K2zgMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704317132; a=rsa-sha256; cv=none; b=Iyh8016PIY/r0Ddi9i41/Ywvh7AzcFo4Eh73Sli4OpcL7Y7J5zPZTaYIBSoW/tT6HuVFuH ABCOiClYZ9JHGnZeACZ2pVX4zyv+MWcoL5r9YHGK7H91MNvLxcIhU9vKymDDss6qP85Wrl SK3Q79uul8A0hdNsb6uEqo64AiOlOQscsuU5wFzFTu+jaMh0Rocq/WSh9155DtWf6CrQHb 4sHPXJ/P8z8PGE9poKUoqQko8BGBhqz2uw/xDBfxjBZBhDOk+ApRly1xbYIi94gsbqZQDW 63dEOZwf5dFQnZggEqJ7TpeCuxba7rl3JDrEJ5O9XxeUTyJo2+03jrIAU5hWzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T52nR5yY2z11p2; Wed, 3 Jan 2024 21:25:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403LPVIO004536; Wed, 3 Jan 2024 21:25:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403LPVV8004533; Wed, 3 Jan 2024 21:25:31 GMT (envelope-from git) Date: Wed, 3 Jan 2024 21:25:31 GMT Message-Id: <202401032125.403LPVV8004533@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: ee7d5ba1b554 - main - setfib.2: Consistently capitalize "FIB" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee7d5ba1b55441476643983d3f70df5ee9ea97c4 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ee7d5ba1b55441476643983d3f70df5ee9ea97c4 commit ee7d5ba1b55441476643983d3f70df5ee9ea97c4 Author: Mark Johnston AuthorDate: 2024-01-03 20:19:41 +0000 Commit: Mark Johnston CommitDate: 2024-01-03 21:24:56 +0000 setfib.2: Consistently capitalize "FIB" MFC after: 1 week Sponsored by: Klara, Inc. --- lib/libc/sys/setfib.2 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/sys/setfib.2 b/lib/libc/sys/setfib.2 index efbb7bf171ae..32e2f64910cb 100644 --- a/lib/libc/sys/setfib.2 +++ b/lib/libc/sys/setfib.2 @@ -37,7 +37,7 @@ .Sh DESCRIPTION The .Fn setfib -system call sets the associated fib for all sockets opened +system call sets the associated FIB (routing table) for all sockets opened subsequent to the call, to be that of the argument .Fa fib . The @@ -69,9 +69,9 @@ packet header, however it is not suggested that one use such a large number as memory is allocated for every FIB regardless of whether it is used, and there are places where all FIBs are iterated over. .Pp -The default fib of the process will be applied to all protocol families -that support multiple fibs, and ignored by those that do not. -The default fib for a process may be overridden for a socket with the use +The default FIB of the process will be applied to all protocol families +that support multiple FIBs, and ignored by those that do not. +The default FIB for a process may be overridden for a socket with the use of the .Dv SO_SETFIB socket option. From nobody Wed Jan 3 22:19:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T53zg0mD0z56qGt; Wed, 3 Jan 2024 22:19: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T53zg0Fcfz4cFX; Wed, 3 Jan 2024 22:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xDprSmRJUQgD2LopH1LVsfbeCBtu8GurtnUuWEWNy/s=; b=fkzq1dB8PSV5oGuAIr6qpvbqplqX5J+2mD0J5ji0UVJgUcavq66li9K7yrozcf0X/eVJiI cWtGqVTk4amjwmOTnt5pDakFJelrBdmseit6sQA/TsZGvKlhHXAWj59935vBsPfe5UvnvC BFeDheUo3QOF0tDQsL5oNbmJt7noCdN0P0ZMoEs9RchiWNtqAduPVDg+Sl5SmdKNmkPA6b /M7QpkL16NGIKAB4DZT0vthSW6LnTfu4fS6qzlblt/tv1kXB5kp1xX3S15rXO7qohk03Eb ZTq/Dc+ixZx+7JN2dMQeHxcSELaFi4jCKAOU/Gfe2f9jSkgX53MlAJiytqBGbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xDprSmRJUQgD2LopH1LVsfbeCBtu8GurtnUuWEWNy/s=; b=pvg63e1O/J5g2o2Foui7fmWse+915v9tCYTBS++eRcR49MyX+5u5lezOQn8UBuQNL1RAjO M5zveoL6Zsb2waHyc3extLE9LkGrxyiIzHdlinFFfLqBNTviDEvaF8IDRWY4oeKc55Gt6f tlUhGAeHSWMjD/fy+hKUz+rukJ93OE0ygtpopo766SlIlL49ofHFOKvGToGMiKKCF+jn3j LVSO1lII/vPYZ/IbttY+IdF/wp0k9qZcMjJg+Gb5h5FzlY/kd3Djf+qHyI9kIzbcWGJUm4 Dc89z70OeJpAlp21G9DIHNjBEtkdaKSKyz78GcZ0W/rDJLomD+XS1dD2Fy/W/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704320367; a=rsa-sha256; cv=none; b=IhlkdEhH8H8kjLywLJuFUxcR2BmPeqmDLxo34h3zXsd4ISNsI41TjwXncM8iY+xw7RtuLf Ll4HQIPzF06617JzqPWBqCIzH/VWeW1vvXakNnmSLNfqTL6brd1vhYiHmFJ7VFLck41y/0 HtOf5qjuIae1I6RiGBIx91YteLf5F5Xpvy+xh3R2Ps8GGl62Jw6uM5fRK1Qod5IWPNJdMP i0Y3kBC3G+WfIVjTTaE0pG47BBnmfbIPgicv+oJ6aC6rsRdu6uCWJWs4ufVh+194QYLO/s GXC6eLs+4MY1utEA+bq+nAt5UsaDD2xlpe1dAsdYhPpAhEZNQaj/GcW3eCTVtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T53zf6J7lz135v; Wed, 3 Jan 2024 22:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403MJQg1090848; Wed, 3 Jan 2024 22:19:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403MJQwo090845; Wed, 3 Jan 2024 22:19:26 GMT (envelope-from git) Date: Wed, 3 Jan 2024 22:19:26 GMT Message-Id: <202401032219.403MJQwo090845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 6779d44bd878 - main - bhyveload: use a dirfd to support -h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6779d44bd878e3cf4723f7386b11da6508ab5431 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=6779d44bd878e3cf4723f7386b11da6508ab5431 commit 6779d44bd878e3cf4723f7386b11da6508ab5431 Author: Kyle Evans AuthorDate: 2024-01-03 22:17:59 +0000 Commit: Kyle Evans CommitDate: 2024-01-03 22:19:15 +0000 bhyveload: use a dirfd to support -h Don't allow lookups from the loader scripts, which in rare cases may be in guest control depending on the setup, to leave the specified host root. Open the root dir and strictly do RESOLVE_BENEATH lookups from there. cb_open() has been restructured a bit to work nicely with this, using fdopendir() in the directory case and just using the fd we already opened in the regular file case. hostbase_open() was split out to provide an obvious place to apply rights(4) if that's something we care to do. Reviewed by: allanjude (earlier version), markj Differential Revision: https://reviews.freebsd.org/D43284 --- usr.sbin/bhyveload/bhyveload.c | 84 ++++++++++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 27 deletions(-) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index 6b2633cac288..4c1dbd583e1f 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -88,11 +88,11 @@ #define NDISKS 32 -static char *host_base; static struct termios term, oldterm; static int disk_fd[NDISKS]; static int ndisks; static int consin_fd, consout_fd; +static int hostbase_fd = -1; static int need_reinit; @@ -159,42 +159,61 @@ static int cb_open(void *arg __unused, const char *filename, void **hp) { struct cb_file *cf; - char path[PATH_MAX]; + struct stat sb; + int fd, flags; - if (!host_base) + cf = NULL; + fd = -1; + flags = O_RDONLY | O_RESOLVE_BENEATH; + if (hostbase_fd == -1) return (ENOENT); - strlcpy(path, host_base, PATH_MAX); - if (path[strlen(path) - 1] == '/') - path[strlen(path) - 1] = 0; - strlcat(path, filename, PATH_MAX); - cf = malloc(sizeof(struct cb_file)); - if (stat(path, &cf->cf_stat) < 0) { - free(cf); + /* Absolute paths are relative to our hostbase, chop off leading /. */ + if (filename[0] == '/') + filename++; + + /* Lookup of /, use . instead. */ + if (filename[0] == '\0') + filename = "."; + + if (fstatat(hostbase_fd, filename, &sb, AT_RESOLVE_BENEATH) < 0) return (errno); + + if (!S_ISDIR(sb.st_mode) && !S_ISREG(sb.st_mode)) + return (EINVAL); + + if (S_ISDIR(sb.st_mode)) + flags |= O_DIRECTORY; + + /* May be opening the root dir */ + fd = openat(hostbase_fd, filename, flags); + if (fd < 0) + return (errno); + + cf = malloc(sizeof(struct cb_file)); + if (cf == NULL) { + close(fd); + return (ENOMEM); } + cf->cf_stat = sb; cf->cf_size = cf->cf_stat.st_size; + if (S_ISDIR(cf->cf_stat.st_mode)) { cf->cf_isdir = 1; - cf->cf_u.dir = opendir(path); - if (!cf->cf_u.dir) - goto out; - *hp = cf; - return (0); - } - if (S_ISREG(cf->cf_stat.st_mode)) { + cf->cf_u.dir = fdopendir(fd); + if (cf->cf_u.dir == NULL) { + close(fd); + free(cf); + return (ENOMEM); + } + } else { + assert(S_ISREG(cf->cf_stat.st_mode)); cf->cf_isdir = 0; - cf->cf_u.fd = open(path, O_RDONLY); - if (cf->cf_u.fd < 0) - goto out; - *hp = cf; - return (0); + cf->cf_u.fd = fd; } - -out: - free(cf); - return (EINVAL); + *hp = cf; + return (0); } static int @@ -714,6 +733,17 @@ usage(void) exit(1); } +static void +hostbase_open(const char *base) +{ + + if (hostbase_fd != -1) + close(hostbase_fd); + hostbase_fd = open(base, O_DIRECTORY | O_PATH); + if (hostbase_fd == -1) + err(EX_OSERR, "open"); +} + int main(int argc, char** argv) { @@ -748,7 +778,7 @@ main(int argc, char** argv) break; case 'h': - host_base = optarg; + hostbase_open(optarg); break; case 'l': From nobody Wed Jan 3 22:19:27 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T53zh1PBZz56q5m; Wed, 3 Jan 2024 22:19: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T53zh0sGkz4cT7; Wed, 3 Jan 2024 22:19:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2pO99qV7CGp/YxUI2rhYh5W37asdoUymMm7fgvJlPm4=; b=fII2apRax0mGOFTLL8AQ5Lu+A8OBKxwH9kKN2HJp8UdQPN2FJx2MgPhe9bGMukBtsRL7xm pa/5DHjOyvPTMpGUKqEhhbs9qdGR4XIvJ58NkFddS3HaYKHoIYa0jZB/V303e2hVIoOIuF inU31HStPzgzU6Yn+njonsqlu8dbLS3tGtcT1B+8v3XHO0JoKJdnERPzGGt/mkYpdBUuk+ 5BfoHb+yc4lxU/rKZDBCU01JKbQdXd4keAGtGjsg2CCXmAbHTY9OXF41OczEthZ/89F8fs RqsR6K/bgjaclUc/INNp8nh0VK3IAyceTXhMekySpctiH8uUY3IfTymsvDZd8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2pO99qV7CGp/YxUI2rhYh5W37asdoUymMm7fgvJlPm4=; b=LS4WNg04rQJMHQGfNbOlmraSuwetflXWoZ3ygxyrGAQFTkRCi0lJW/x2IMpxYmmrvAMTWN PZGv4/VwFlrsdRr7GAPClyZk3nZam+wKwQC5e7ADKrRoXHgMD92LvzhYox49zCrqYkkvFH /O32Ye8yF0c2N4iczE37Kvy2/obqR9pXVdmtmj4Gocr9XXMi8jE+gp27ck1B19qqqB0Qf+ ZA7WBWlPywteQ8KW6mqUiPYJZTi7HtVw5dknDqUj5G3ynPxF1N7CLQ0aCEJf4TzZSvLENV EdVujmgatECghuGmVdgzxpTV18vR2HIfJTOcIWovdBQElr2NXhAxbjoEikAxBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704320368; a=rsa-sha256; cv=none; b=dDPJiyRKyDbzn1g9XS5rhsX5x6gy3yM3rqVOECDU75E+7d0GbQnenMbjsiZXcS9emVthp3 mMekbIOUju5jZGWyr76FLlEOUOidAhaV61GnZGJa+yq5NnLIxJjsEHsmkQ3RCFak5kWjOA GOLz2EnxdsRivSGP8rMuMTStdlMneRfoBC511DhJLNig3wmrq19ftHolQjCqQ1fbPyIfOw EqRQvULNIaZCk46o378zIIkHy9vg1JF0oNKCdtrBrDjJjX9/OGe24nsgjSsIDh17F0iQNg WKxhR2kvImC2LOBoPpL6NeQKAw7rRuoNFQvAkMcy/TmriMhkVjcrbjFMQ+DV6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T53zg7450z135w; Wed, 3 Jan 2024 22:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403MJRGl090905; Wed, 3 Jan 2024 22:19:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403MJR4h090902; Wed, 3 Jan 2024 22:19:27 GMT (envelope-from git) Date: Wed, 3 Jan 2024 22:19:27 GMT Message-Id: <202401032219.403MJR4h090902@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: bf7c4fcbbb05 - main - bhyveload: hold /boot and do relative lookups for the loader List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf7c4fcbbb05ff99afde0744d013feeb35d77191 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=bf7c4fcbbb05ff99afde0744d013feeb35d77191 commit bf7c4fcbbb05ff99afde0744d013feeb35d77191 Author: Kyle Evans AuthorDate: 2024-01-03 22:17:59 +0000 Commit: Kyle Evans CommitDate: 2024-01-03 22:19:15 +0000 bhyveload: hold /boot and do relative lookups for the loader The next change will push bhyveload into capability mode right after we allocate vcpu state, before we've setup or entered the loader, to limit the surface area that a rogue loader script can touch. With an explicit -l loader, we don't need to preopen /boot because changing interpreters isn't allowed. We'll just dlopen() entirely in advance in that case to eliminate some complexity. Reviewed by: allanjude (earlier version), markj Differential Revision: https://reviews.freebsd.org/D43285 --- usr.sbin/bhyveload/bhyveload.c | 73 +++++++++++++++++++++++++++++------------- 1 file changed, 51 insertions(+), 22 deletions(-) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index 4c1dbd583e1f..855ce5947a93 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -94,11 +94,9 @@ static int ndisks; static int consin_fd, consout_fd; static int hostbase_fd = -1; -static int need_reinit; - static void *loader_hdl; static char *loader; -static int explicit_loader; +static int explicit_loader_fd; static jmp_buf jb; static char *vmname, *progname; @@ -618,7 +616,7 @@ cb_swap_interpreter(void *arg __unused, const char *interp_req) * not try to pivot to a different loader on them. */ free(loader); - if (explicit_loader == 1) { + if (explicit_loader_fd != -1) { perror("requested loader interpreter does not match guest userboot"); cb_exit(NULL, 1); } @@ -627,9 +625,8 @@ cb_swap_interpreter(void *arg __unused, const char *interp_req) cb_exit(NULL, 1); } - if (asprintf(&loader, "/boot/userboot_%s.so", interp_req) == -1) + if (asprintf(&loader, "userboot_%s.so", interp_req) == -1) err(EX_OSERR, "malloc"); - need_reinit = 1; longjmp(jb, 1); } @@ -744,13 +741,38 @@ hostbase_open(const char *base) err(EX_OSERR, "open"); } +static void +loader_open(int bootfd) +{ + int fd; + + if (loader == NULL) { + loader = strdup("userboot.so"); + if (loader == NULL) + err(EX_OSERR, "malloc"); + } + + assert(bootfd >= 0 || explicit_loader_fd >= 0); + if (explicit_loader_fd >= 0) + fd = explicit_loader_fd; + else + fd = openat(bootfd, loader, O_RDONLY | O_RESOLVE_BENEATH); + if (fd == -1) + err(EX_OSERR, "openat"); + + loader_hdl = fdlopen(fd, RTLD_LOCAL); + if (!loader_hdl) + errx(EX_OSERR, "dlopen: %s", dlerror()); +} + int main(int argc, char** argv) { void (*func)(struct loader_callbacks *, void *, int, int); uint64_t mem_size; - int opt, error, memflags; + int bootfd, opt, error, memflags, need_reinit; + bootfd = -1; progname = basename(argv[0]); memflags = 0; @@ -787,7 +809,9 @@ main(int argc, char** argv) loader = strdup(optarg); if (loader == NULL) err(EX_OSERR, "malloc"); - explicit_loader = 1; + explicit_loader_fd = open(loader, O_RDONLY); + if (explicit_loader_fd == -1) + err(EX_OSERR, "%s", loader); break; case 'm': @@ -830,6 +854,18 @@ main(int argc, char** argv) exit(1); } + /* + * If we weren't given an explicit loader to use, we need to support the + * guest requesting a different one. + */ + if (explicit_loader_fd == -1) { + bootfd = open("/boot", O_DIRECTORY | O_PATH); + if (bootfd == -1) { + perror("open"); + exit(1); + } + } + vcpu = vm_vcpu_open(ctx, BSP); /* @@ -837,7 +873,12 @@ main(int argc, char** argv) * cb_swap_interpreter will swap out loader as appropriate and set * need_reinit so that we end up in a clean state once again. */ - setjmp(jb); + if (setjmp(jb) != 0) { + dlclose(loader_hdl); + loader_hdl = NULL; + + need_reinit = 1; + } if (need_reinit) { error = vm_reinit(ctx); @@ -854,19 +895,7 @@ main(int argc, char** argv) exit(1); } - if (loader == NULL) { - loader = strdup("/boot/userboot.so"); - if (loader == NULL) - err(EX_OSERR, "malloc"); - } - if (loader_hdl != NULL) - dlclose(loader_hdl); - loader_hdl = dlopen(loader, RTLD_LOCAL); - if (!loader_hdl) { - printf("%s\n", dlerror()); - free(loader); - return (1); - } + loader_open(bootfd); func = dlsym(loader_hdl, "loader_main"); if (!func) { printf("%s\n", dlerror()); From nobody Wed Jan 3 22:19:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T53zj3Y8Pz56qKJ; Wed, 3 Jan 2024 22:19: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T53zj24cWz4cNX; Wed, 3 Jan 2024 22:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yk4M8i2vvOqVmn3p258cF9L/pYHllrg6w/qGN2cvfP4=; b=sz6KyVbWFXuj4xhnlK1cYRHG4sy1dPDuYO5ZZPtsB1eT80KiWHPL4y7uKEfBXT5QSLbLwn zPsw16L9mN3ovQQOALPK/5zM/POsSk7fQUdGlY8hOKXPbX/aTiHEkTSCd8goG6IyDqHXDa Lo3xVLUlf/RgiKC1KHJZLJDJq8LS2umlxKBBge0aGUYAAeJv64hLER6HS3CIjThKeUaXuE Z+zrxfWKOyJWa2dx4pyLR88zlrSNS458LlUFqsVCZnjxuk5B8KsUkXqGIceibrUTdKVP3/ WpayRCIc3FHzA8jUfuPkcpsxneNQfpcWEU3zujm5nvWAcZ17/TDQtSOH2Oq2EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Yk4M8i2vvOqVmn3p258cF9L/pYHllrg6w/qGN2cvfP4=; b=d06M5zgfoJEoz7qGwcpCQ3lua6QRmAP/Hw72XufpHqgTpl7WRadrwQ3bDFzWD0gIptqqWc 1amLJeNwTB+ZyA5JB+H0aKJnXpiWwi/zaZ6GClqnIadvKmnjF8ZOVoeQ+yY+KOtQCMQdzZ S/Ia64iwQrzy3s8sYXoON0GZsNBPKiOAdRoYigf30shCLl3hqRJfZ3UHmyAH5CtRD9PrkO hHatNvrhIfEPiwNAlgfwayj0lD6y7WYmQyiBtkw2huTbzH5bTnGfa2bfehY4BYuPD4exCe j9I4noTxKCqJaZOQ1EBuK7sWMif7t0Sr+F1lkBHEUIRo1esQsEIIuhjYkeGKwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704320369; a=rsa-sha256; cv=none; b=s5O/4RQJFBIzlVtIEGpyu5FtURX2xeVmrqmY8jAH/9Iytb1UQ5ykwTNau7lgWZ/gQZoIqd kt5yXBJX6lReMpRhfTQ72lfNkE3qieWaQ5S09Xx18nIBZMLdL6ZQ7Lzmue3oY9rnmrp+GL vlGOaF4YQO4+VNVpD1F5DkDsCNkStCMhAi1px7FYVHA1WMKBml/KpBDIFaL7EOfxevsxMc F+doc6f26hacpXWp2JI+CJEKqavzcho4CZLF+TFppqeABqfCj8r3T5g8mZrr3G3oCaAxxN CN4pBg2g5KNmnXXJQkrNOjH1c9BfRMf0mUEYpzjjTIbtmnvbrKtUlRsp3TrQMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T53zj110zz12bj; Wed, 3 Jan 2024 22:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 403MJTmh090959; Wed, 3 Jan 2024 22:19:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 403MJT7E090956; Wed, 3 Jan 2024 22:19:29 GMT (envelope-from git) Date: Wed, 3 Jan 2024 22:19:29 GMT Message-Id: <202401032219.403MJT7E090956@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 8bf0882e186e - main - bhyveload: enter capability mode after we setup the vcpu List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bf0882e186effbd3d742ce17613cf9dfb81ce0c Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8bf0882e186effbd3d742ce17613cf9dfb81ce0c commit 8bf0882e186effbd3d742ce17613cf9dfb81ce0c Author: Kyle Evans AuthorDate: 2024-01-03 22:18:00 +0000 Commit: Kyle Evans CommitDate: 2024-01-03 22:19:15 +0000 bhyveload: enter capability mode after we setup the vcpu Reviewed by: allanjude (earlier version), emaste, markj Differential Revision: https://reviews.freebsd.org/D43286 --- usr.sbin/bhyveload/bhyveload.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index 855ce5947a93..124c1141bffa 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -78,6 +78,7 @@ #include #include +#include #include #include "userboot.h" @@ -868,6 +869,12 @@ main(int argc, char** argv) vcpu = vm_vcpu_open(ctx, BSP); + caph_cache_catpages(); + if (caph_enter() < 0) { + perror("caph_enter"); + exit(1); + } + /* * setjmp in the case the guest wants to swap out interpreter, * cb_swap_interpreter will swap out loader as appropriate and set From nobody Wed Jan 3 22:21:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T542K31rzz56q8l; Wed, 3 Jan 2024 22:21:45 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T542K2Xj7z4dXv; Wed, 3 Jan 2024 22:21:45 +0000 (UTC) (envelope-from kevans@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RCxocExfnB53GEBRWwFsDKF7/MY645gA3JVWYBjH5UM=; b=Uguu/GI6OWFjrX+N7VLlui6bt9d93omNFJzzw0E97AoXrcZePCQWdqlKiPYipXu206cXWm UmTcIla2WdSnKXpMPx511Kfekk2P124CwdjejT2w/M01K8UZF9RO2pe8Qvrc2dgdRVQS8l bc0LMm3OWSKba2m8+YGWFGLUWd9rss0trVfgqFhuui27u2wGYtwmc5LhCt9KDhWozwbFLP JbkBPYjFt10gl0AcQaaoiRq0qigOdTuwbTXYtViuYXOEhuXorEW+83dDdq5C6klIivILLO ASc9hmRt9T/G+F3qZ7g2i8jXTORc9qShj42x3o3mIlqXRlBA/zu83MwCCYw7gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704320505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RCxocExfnB53GEBRWwFsDKF7/MY645gA3JVWYBjH5UM=; b=CVRNtULpmoV6TCz1UK37I3WabMF1NyVBV5iRBKfJcIo90pmrQmt0OeNUqdpeYmtyZfttJZ cUKnV6I7TNzEtE+mGy46Ch8J6EB/XT++ir5Xx3eSzEvSGKO+qtEgStNrtPF8DEPPsvj94N CLFrIxMN1zLwYboL+XEzuxurxdBo2Y/fjgfWHEe7Mc8JUUc+LVaBvNicImBZHSD4r5Vx6m WppFmXdOoexRlaqV0CorY9AzG+UOlzThumCK/ndkumoAgvp29imtQxrBdNlEdxVzBSB2KF /PkzqKi+pRdEaTnW8SlHGJ/qdvoAwHUtxSDoVEclJ6937LCXVgE8hepf9BHw+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704320505; a=rsa-sha256; cv=none; b=GorsTVyyWDyTS3C9sjzgn9lDdp/1uE/UfDz4axP+QJ29GeL4bUIYsLrI2AtGWiGefRcng5 E78WKzaijFiq9IUCmJN0OkGp3JNIsQ27N/FwHiDOfWJLVn3tarf5Alj8ElE0P+h6TkJORz PDjnYzMcBEVu8IrjV0hOws0oRM+2voaOJJ0Uen8PryOa7S+KrVGwmRFclWitrVGkre/ycY HmT9pXeBmTEV9YxoKN91GTzafxg8Anmx1Y8ztVgOVIIBU5HLbxEClVDuJOhDC1Gbw37dhb /L91AVRM0Mtoj/dMh5fPmlYgdfHttibPUnZabDDnzx71d25vpqeBdNCFOQNsrg== Received: from [10.9.4.95] (unknown [209.182.120.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: kevans/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4T542J6Jhmz1Bhf; Wed, 3 Jan 2024 22:21:44 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Message-ID: <151ec650-488a-4ec5-998c-c7a95228205b@FreeBSD.org> Date: Wed, 3 Jan 2024 16:21:42 -0600 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: bf7c4fcbbb05 - main - bhyveload: hold /boot and do relative lookups for the loader Content-Language: en-US From: Kyle Evans To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202401032219.403MJR4h090902@gitrepo.freebsd.org> In-Reply-To: <202401032219.403MJR4h090902@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/3/24 16:19, Kyle Evans wrote: > The branch main has been updated by kevans: > > URL: https://cgit.FreeBSD.org/src/commit/?id=bf7c4fcbbb05ff99afde0744d013feeb35d77191 > > commit bf7c4fcbbb05ff99afde0744d013feeb35d77191 > Author: Kyle Evans > AuthorDate: 2024-01-03 22:17:59 +0000 > Commit: Kyle Evans > CommitDate: 2024-01-03 22:19:15 +0000 > > bhyveload: hold /boot and do relative lookups for the loader > > The next change will push bhyveload into capability mode right after we > allocate vcpu state, before we've setup or entered the loader, to limit > the surface area that a rogue loader script can touch. > > With an explicit -l loader, we don't need to preopen /boot because > changing interpreters isn't allowed. We'll just dlopen() entirely in > advance in that case to eliminate some complexity. > Sigh, sorry, just realized I forgot to update this part... the final version just opens the file in advance, it didn't dlopen() it in advance so that, e.g., ctors run in the sandbox. The remark about not preopening /boot is still correct. > Reviewed by: allanjude (earlier version), markj > Differential Revision: https://reviews.freebsd.org/D43285 Thanks, Kyle Evans From nobody Thu Jan 4 01:37:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T58NC5YKdz55DG0; Thu, 4 Jan 2024 01:37: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T58NC3qT4z43B0; Thu, 4 Jan 2024 01:37:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704332251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JokGfpF+jAxbgwtOB+VjyEy78GxlAQXsbqdxmBcujZ4=; b=MxPaDK3wu+A6TtSt2JjIZzL3KJcGSpVY26byIq+YTvrX73VOvPImGTpMrUiOcNct/guhRH O0rpRKbELSSesLMpmnXCw5kG7p94DA+0lgQxvHW6SIVslTK9L6p2mSDFl0IYiJ7nUb/Ndc 3M0ySSg3q1+eYrXkcjRWot6nKBgJpx+G46+bYWZtCiTNR49nmN37gUhcveZsT6s+YspiMT STuueHUCzJ36JH5WSviWcwKoRWKgboDSsCUSf4IQx4NbBvl+hagRbuQt4PDs1QxTcpMXSf Y/5Y+f4ztltqbQxJFqDDcf2R8EidDOZbhJO63kfpSQpbmUTaP3uBSNZCHZUsJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704332251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JokGfpF+jAxbgwtOB+VjyEy78GxlAQXsbqdxmBcujZ4=; b=ylkJOFnZa90eAOhVVfsJt7J2Z7UF0BA+N9J0bA08/ERUXCJDPA/C+WvIS9UX+8cI/5ohkY iLhbRlYNWt6cBStKu6zOmiE+SdJgwrvpuqOlUCViDkYII7Ss/ewZags65WW1VxcFSg9Hl7 5kTBMidWvqWPL3YBNrLqXrQ7nko/awMzNshUdeEUmapos3sZ/pggmqgFJ62ADgRtONmNkM dghxzhMpx+zroe3shLGWSEr59BlN/LnosOguNpHxmGawxgn2WvB8Au2CDSqRBjd2da/iZY 65iOtGW4VTWAVTQ4u8mLQNMBDybnh/+J9zyc0Uu1ydUvsU7mAep/4K/ETzkIDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704332251; a=rsa-sha256; cv=none; b=AfEguWmsobjGbtfgeyhsL6MNfqCPbjg558SRZ+Hw09qpVoI9c2DodZa3fU0fpgFbseee7O /S0EixxVpiGVud4gSjILa12onYJ8QATDGHoOyCJXcDWXVmyIQ+bzUxIJhrkhPEvY3X4coM WjhQrct0sIFIxBKrN+uTnWSk4ePw5TGWc3Tp1uenId/0+Y5oAwmxXEyOUwbl8OavM+0XpK wIysi3DDYOGIzS082oc1asH+1kIr8xOMBJzhfspq4+nuPmz/f2nQy7LkWX9Vu+lZPgMsqo 0k4zyb02RSzSYOPNXT71XIH3dIJ+mJyKXHuQ/HRbAFzIjT1XFbVt4yE/7D43YQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T58NC2wZ3z186F; Thu, 4 Jan 2024 01:37:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4041bVaC024614; Thu, 4 Jan 2024 01:37:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4041bVai024611; Thu, 4 Jan 2024 01:37:31 GMT (envelope-from git) Date: Thu, 4 Jan 2024 01:37:31 GMT Message-Id: <202401040137.4041bVai024611@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 67082f077f39 - main - bhyveload: fix non -l use List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67082f077f39d9c7b7bd561c14622e6f3ef23681 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=67082f077f39d9c7b7bd561c14622e6f3ef23681 commit 67082f077f39d9c7b7bd561c14622e6f3ef23681 Author: Kyle Evans AuthorDate: 2024-01-04 01:36:06 +0000 Commit: Kyle Evans CommitDate: 2024-01-04 01:36:06 +0000 bhyveload: fix non -l use explicit_loader_fd should have been initialized to -1, not 0, but my last round of testing was only with -l... Fixes: bf7c4fcbbb ("bhyveload: hold /boot and do relative [...]") Pointy hat: kevans --- usr.sbin/bhyveload/bhyveload.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index 124c1141bffa..d4f930e8cc76 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -97,7 +97,7 @@ static int hostbase_fd = -1; static void *loader_hdl; static char *loader; -static int explicit_loader_fd; +static int explicit_loader_fd = -1; static jmp_buf jb; static char *vmname, *progname; From nobody Thu Jan 4 08:23:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5KNH6BPqz563DH; Thu, 4 Jan 2024 08:23: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5KNH5W8dz4gdk; Thu, 4 Jan 2024 08:23:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704356591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ejhHli/beqvE+eYEwasfFzGIUdzqvEETZXf7Pn1/wyk=; b=C9fYCtLdwzwzmRTNXoUwOqClWffFsqgYDorTpWje6qaml1dI3xEOrVcZfyIxsKjzc2xkqB L+noc8gilBo/F/qHALN3+HS0Iiz2Oy47btXMR6345IUF2+LPQu9woxoiH3wFSyAaHLIhPi +BLMWgbMC+mmbwIlT8y4btF8fcMAo0STjMeWJSGaq/zYTL/+QwA2llmqnfa0F07msLuMSz ZWv6Kh3tlItyyHVEGX3WWPgqAuj/kAfv9gDB/mpPWR4Hhy4Prsi/DwfrRxggXuAp5NL8Xh dyD+MaRjqsvAzY/QhutGnS7wBLIzTP4yuhUsGwOJxSdpL/PeuLTTjDkAFCVBIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704356591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ejhHli/beqvE+eYEwasfFzGIUdzqvEETZXf7Pn1/wyk=; b=LSw+XfhkaorcRfiXP1eUAkyo2Sqrd/8VwBU6gt+LaJ2qk5lfVvDlgRvWWBrD8Z3PY2Hxjg aadg+pJ/xSQsGPwA1RPnpRmpHTmXO+Ad2pv2zsto7RVgir1JM+K3GLqwO/8oPl4G9j/qGv 41VhA0CoFT12it78YOBLMqXxeUCmBIb+am5+ifDxowC5KG01rZC6VrJm8GNOUBgThFQHDQ 3Mjzk4EF4WE1EmxmxsveNmQuIEzZc42RyW6I+Q3zLpY+/Kb1CqpVyyI6irb896IO0al4SA scns+IcDp33w6Cgc4xdwybY202o59K3XuFntZA6/VH87MX5DHqoOVdB4whB16A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704356591; a=rsa-sha256; cv=none; b=X4R4tZ2jJB7szoyn4qPz4xc/kTkTxd6our2ny3+FNCHPfkkF1WdIsckGB2IUzrUx/ADlFZ 9iDYP6BR5IyuxC8GLR2WGrIFpiICJY42y1Gdx10mY5XCxhKsse02SMYJW/Hb0IKK/XOCoO mrV3MfvSmNCy0sHXsXWrirJv0PMSIxrzV1MS3nXFYDGh4UWiT1eSB40JyiQTDiI75alIi3 HRF7tCxxRBg1GsQS3Y5bz/SCdpYpLwBHED3PDd+70kTbtl/+AOLAQN33LgKNtaeFHQyLwc fowqNjrJbePQBSIfukC14M/x5BRmJ556sxtSN8RgY+2QBtPrg1xT1eHPUN3zNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5KNH4Z0Xz1Kvc; Thu, 4 Jan 2024 08:23:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4048NBuT013220; Thu, 4 Jan 2024 08:23:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4048NBM8013217; Thu, 4 Jan 2024 08:23:11 GMT (envelope-from git) Date: Thu, 4 Jan 2024 08:23:11 GMT Message-Id: <202401040823.4048NBM8013217@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: e23954bd42fe - main - hexdump: Do not trust st_size if it equals zero. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: e23954bd42fe4331b67ba8f6446bcccf751096f1 Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=e23954bd42fe4331b67ba8f6446bcccf751096f1 commit e23954bd42fe4331b67ba8f6446bcccf751096f1 Author: Ricardo Branco AuthorDate: 2024-01-03 20:17:58 +0000 Commit: Xin LI CommitDate: 2024-01-04 08:16:50 +0000 hexdump: Do not trust st_size if it equals zero. Fix for hexdump -s not being able to skip files residing in pseudo-filesystems that advertise a zero size value. Historically, many pseudofs-based filesystems (e.g., procfs) report a va_size of 0 for numerous files classified as regular files. Typically, the contents of these files are generated on demand from kernel data as sbuf(9) strings at the time they are read. Accurately reporting the size of these files is challenging, as it often involves generating their contents. These pseudofs implementations frequently report the size as 0. This is a historical behavior and also aligns with Linux behavior. To maintain compatibility, we have chosen to preserve the existing behavior and address it in the userland application, rather than modifying it in the kernel (by updating the correct value for va_size). PR: bin/276106 MFC after: 1 week --- usr.bin/hexdump/display.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.bin/hexdump/display.c b/usr.bin/hexdump/display.c index 2bef03626fe2..77de580983ca 100644 --- a/usr.bin/hexdump/display.c +++ b/usr.bin/hexdump/display.c @@ -391,13 +391,14 @@ doskip(const char *fname, int statok) if (statok) { if (fstat(fileno(stdin), &sb)) err(1, "%s", fname); - if (S_ISREG(sb.st_mode) && skip > sb.st_size) { + if (S_ISREG(sb.st_mode) && skip > sb.st_size && sb.st_size > 0) { address += sb.st_size; skip -= sb.st_size; return; } } - if (!statok || S_ISFIFO(sb.st_mode) || S_ISSOCK(sb.st_mode)) { + if (!statok || S_ISFIFO(sb.st_mode) || S_ISSOCK(sb.st_mode) || \ + (S_ISREG(sb.st_mode) && sb.st_size == 0)) { noseek(); return; } From nobody Thu Jan 4 09:01:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5LDT4gzCz567sP; Thu, 4 Jan 2024 09:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5LDT49cNz4lTx; Thu, 4 Jan 2024 09:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704358889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MDN0/xNR0BTY2HG+2Mi0GRh+0WRLwUc+4Dvf78oY8rs=; b=l18Ip10Lm4qpcM4jmIxR85CxAg81hGWJ00JMDSvMaPJ40VheFGbqPeBMRmEmH4bkjsa+25 RDr5zCuz6eTcw2mXczR/iriPYei3pIRmwIgrpgz6mNJ9Du9nQLsxbqYrSCpxiItRjmrz7Y QtDWXBbs/6ikffRT4xqVdrpYK3RhT5nA6zMYawzQT+xgBSHH0ud0sY0iHRONi+hAU2CnTu aAOKNDTfpjQoJqzrrXjWTIFz3zTd51n/zy4mV4valAzb+Zlwrf2+affxxAv7cszBgf3xjB XLTtpK2ic2EGZ59PUaiuY31Kb8BvZJY/63krqvgHYjbhyJJY7wB4W6aPjMEQRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704358889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MDN0/xNR0BTY2HG+2Mi0GRh+0WRLwUc+4Dvf78oY8rs=; b=FqqqN5WabfRYLW4HrHB+b1Z9Mlpra949+CqaeT1QK76KyZGRoBlJOVwZGxQqfWMzeXS5eX vHyKDaADpI4XKEE2440yhwu2//nwLCD2pZNeAJ/kMMADx+GL8GwX4c2WoE7TpF1OSrlhmk wDKJHM5rfJDQph1iY7EfWITeN14N8p0dgdoTo1p7l4Bpf1l7sauX9UmBF2z6o2gRvqdtZR i4IkXSDCJvC8M9u2SZtNVIq4MehlwQvym+5tFVp3hngSp46t/V9qNWTSnyFGb/HxwUZ8Zq DS5bGZtR4OsArAki+A4hVvyAy3jRJXnnIYmWHYeXOktDt8y2nxQszCovWCHm9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704358889; a=rsa-sha256; cv=none; b=P0SmVOqNn4CpNbEt1ApoH5q+DS/bkau4SH4D+g110LhJdE+tXGYym/aW7F8y9u0sMEYvA9 Tni6KpaDQVvbUgC498nIEWIauf8ei786/DlLIaNV8LiadTR3iFTW8uxYr2sptXyvtzc+8P GcHgE937/CR7eBsYMLF2pFCyTHuHx2QEbH0Pa7aP3R7LF3Ofc/nZ0N3azkb5sAd4ugTeiq XkVwqoGYVZ517g4uAs2qGnJL3ZhUJmp3S7LRvQxRdzPPMzuvSdjNrffsIf7z3ViWHD7r+r 8dx2EiF+hJznIPJhMRKEfjm0WS+UirErH/PTatLQOAwnAy5bIlBI5LJ3GXj5+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5LDT3GRDz1MB7; Thu, 4 Jan 2024 09:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40491Tap075859; Thu, 4 Jan 2024 09:01:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40491TwK075844; Thu, 4 Jan 2024 09:01:29 GMT (envelope-from git) Date: Thu, 4 Jan 2024 09:01:29 GMT Message-Id: <202401040901.40491TwK075844@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 1fb3caee7224 - main - tail: Do not trust st_size if it equals zero. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 1fb3caee72241b9b4dacbfb0109c972a86d4401f Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=1fb3caee72241b9b4dacbfb0109c972a86d4401f commit 1fb3caee72241b9b4dacbfb0109c972a86d4401f Author: Ricardo Branco AuthorDate: 2024-01-03 20:32:47 +0000 Commit: Xin LI CommitDate: 2024-01-04 09:00:23 +0000 tail: Do not trust st_size if it equals zero. PR: bin/276107 MFC after: 1 week --- usr.bin/tail/forward.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.bin/tail/forward.c b/usr.bin/tail/forward.c index 010a36b4c793..a5303385a74f 100644 --- a/usr.bin/tail/forward.c +++ b/usr.bin/tail/forward.c @@ -102,7 +102,7 @@ forward(FILE *fp, const char *fn, enum STYLE style, off_t off, struct stat *sbp) case FBYTES: if (off == 0) break; - if (S_ISREG(sbp->st_mode)) { + if (S_ISREG(sbp->st_mode) && sbp->st_size > 0) { if (sbp->st_size < off) off = sbp->st_size; if (fseeko(fp, off, SEEK_SET) == -1) { @@ -134,7 +134,7 @@ forward(FILE *fp, const char *fn, enum STYLE style, off_t off, struct stat *sbp) } break; case RBYTES: - if (S_ISREG(sbp->st_mode)) { + if (S_ISREG(sbp->st_mode) && sbp->st_size > 0) { if (sbp->st_size >= off && fseeko(fp, -off, SEEK_END) == -1) { ierr(fn); @@ -151,7 +151,7 @@ forward(FILE *fp, const char *fn, enum STYLE style, off_t off, struct stat *sbp) return; break; case RLINES: - if (S_ISREG(sbp->st_mode)) + if (S_ISREG(sbp->st_mode) && sbp->st_size > 0) if (!off) { if (fseeko(fp, (off_t)0, SEEK_END) == -1) { ierr(fn); From nobody Thu Jan 4 09:44:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5MBB3Dfkz56CL1; Thu, 4 Jan 2024 09:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5MBB30rxz4qVD; Thu, 4 Jan 2024 09:44:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704361474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xVR0db3g6nfjLsY8HT7Lu+qx3O0zZjv/2ZgJWJwjdBM=; b=AhSl9naugckh32Mm1vgQur0e0jAKnJDNVLR1fISvWSumseB6yj7BcbSq8GNX7/t3qfGMnV wPv0fhiahZD+ilbiLwIDbdfz/KKB+sCxn+Izun/foD4vPxXfWI6oIKbOTA+kiZ4KJBODSS qhAa7DjST/rpkdwSK37IbxjVJEAOqciNrz8SEOJtWi9S8Sl+UWhwxqJIaee/rc10cZUkee a3oMLN2NG85WZYA+mOo629jveDym0sehU6ZTzGhw1DJR6Rgz1qnJwSFZmwoGVoxOGnB1i+ 6xudCcer0wlCmFOkXOkODiiyFb/5qlUeyLtMwWzKjOiC6bfhTGBOA6RA0LRJ4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704361474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xVR0db3g6nfjLsY8HT7Lu+qx3O0zZjv/2ZgJWJwjdBM=; b=YwhTsbaYDO4wteBT1PGgkFlDFQqlR6iLtZ1vPWd1ShJDxZIYpjerrlJrJCBYKTiMsSvp/G 9dBhUZxQJ5VhxCPxNDEVbX8NshAFpnRUGt6Dx2mDKfKN+XnjzUw4KEfCO/mF28hthRZNlu yg6CgFGFE4WIEGZ5oNv5FOxsLb7W8njsl35/VF5gno8SOa3HCFTR6bhGMBE+W2lEVCAwck xo6ddkeX8OWXBVufwkHHjrceoMQwhSFaI3hbCparo23xIF9sjlteyx81yRxmif/gxvVBvD qP6T0mHOzR1LB3brgNm3GO0AZgE5GLT15WP6jc1LGFbbgEma3UitGRw/wHqfrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704361474; a=rsa-sha256; cv=none; b=WIPcT7PvDv7dM40oOv+X/ulPHS88FUWrJlkHglM07Lo/ZAYQrG8xJR0xEj+GuAG/kivIBN 1GVqHIx7n/SqWc+zgXVsmMntC2S11bxqINLkVtwfh3+Mm932dFSdNk4u1Dk6ICY8VtJgsW pesc82zQWH0ULNWV8N6Bf4yfUkvfh3wBBkJ/y3e7D4PKm9WwxmRzyte45vDOtI0gz/J1VG d6EQgZMz4NGuqYMR33SKEEiTL/0dqAddeX0yQLe2h320U53v5Yufi0202dAVU8wR9k7yru qA+TXHKEUSyu5MQp07qgnsNovY+2h+w7q4LnJERpiAPNChM1U1ndAL5gySM9yg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5MBB23KZz1NN8; Thu, 4 Jan 2024 09:44:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4049iY3R047480; Thu, 4 Jan 2024 09:44:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4049iYHW047477; Thu, 4 Jan 2024 09:44:34 GMT (envelope-from git) Date: Thu, 4 Jan 2024 09:44:34 GMT Message-Id: <202401040944.4049iYHW047477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: b6052c10fb4a - main - Setups with digital audio connections like SPDIF and ADAT require a designated master clock to stay in sync. Add a sysctl setting to control the preferred clock source for each HDSPe sound card. Complement this by sysctl values to list available clock sources, show the currently effective clock source and display the sync status of all connections. Clock sources are named according to RME user manuals. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b6052c10fb4ad70915e2f82ce606fd7715477eef Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=b6052c10fb4ad70915e2f82ce606fd7715477eef commit b6052c10fb4ad70915e2f82ce606fd7715477eef Author: Ruslan Bukin AuthorDate: 2024-01-04 09:35:00 +0000 Commit: Ruslan Bukin CommitDate: 2024-01-04 09:35:00 +0000 Setups with digital audio connections like SPDIF and ADAT require a designated master clock to stay in sync. Add a sysctl setting to control the preferred clock source for each HDSPe sound card. Complement this by sysctl values to list available clock sources, show the currently effective clock source and display the sync status of all connections. Clock sources are named according to RME user manuals. Submitted by: Florian Walpen Differential Revision: https://reviews.freebsd.org/D43252 --- share/man/man4/snd_hdspe.4 | 41 +++++++- sys/dev/sound/pci/hdspe-pcm.c | 4 +- sys/dev/sound/pci/hdspe.c | 226 ++++++++++++++++++++++++++++++++++++++++-- sys/dev/sound/pci/hdspe.h | 27 +++-- 4 files changed, 282 insertions(+), 16 deletions(-) diff --git a/share/man/man4/snd_hdspe.4 b/share/man/man4/snd_hdspe.4 index dba81f653d4b..4b925b14aef6 100644 --- a/share/man/man4/snd_hdspe.4 +++ b/share/man/man4/snd_hdspe.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 13, 2012 +.Dd December 30, 2023 .Dt SND_HDSPE 4 .Os .Sh NAME @@ -59,6 +59,45 @@ RME HDSPe AIO .It RME HDSPe RayDAT .El +.Sh SYSCTL TUNABLES +These settings and informational values can be accessed at runtime with the +.Xr sysctl 8 +command. +If multiple RME HDSPe sound cards are installed, each device has a separate +configuration. +To adjust the following sysctl identifiers for a specific sound card, insert +the respective device number in place of +.Ql 0 . +.Bl -tag -width indent +.It Va dev.hdspe.0.clock_list +Lists possible clock sources to sync with, depending on the hardware model. +This includes internal and external master clocks as well as incoming digital +audio signals like AES, S/PDIF and ADAT. +.It Va dev.hdspe.0.clock_preference +Select a preferred clock source from the clock list. +HDSPe cards will sync to this clock source when available, but fall back to +auto-sync with any other digital clock signal they receive. +Set this to +.Ql internal +if the HDSPe card should act as master clock. +.It Va dev.hdspe.0.clock_source +Shows the actual clock source in use (read only). +This differs from what is set as clock preference when in auto-sync mode. +.It Va dev.hdspe.0.sync_status +Display the current sync status of all external clock sources. +Status indications are +.Ql none +for no signal at all, +.Ql lock +for when a valid signal is present, and +.Ql sync +for accurately synchronized signals (required for recording digital +audio). +.El +.Pp +Where appropriate these sysctl values are modeled after official RME software on +other platforms, and adopt their terminology. +Consult the RME user manuals for additional information. .Sh SEE ALSO .Xr sound 4 .Sh HISTORY diff --git a/sys/dev/sound/pci/hdspe-pcm.c b/sys/dev/sound/pci/hdspe-pcm.c index 04ab7d2d35ce..b3daed4d9599 100644 --- a/sys/dev/sound/pci/hdspe-pcm.c +++ b/sys/dev/sound/pci/hdspe-pcm.c @@ -519,8 +519,8 @@ hdspechan_setspeed(kobj_t obj, void *data, uint32_t speed) } switch (sc->type) { - case RAYDAT: - case AIO: + case HDSPE_RAYDAT: + case HDSPE_AIO: period = HDSPE_FREQ_AIO; break; default: diff --git a/sys/dev/sound/pci/hdspe.c b/sys/dev/sound/pci/hdspe.c index 7124fb1f5c57..8a7cac87fc1a 100644 --- a/sys/dev/sound/pci/hdspe.c +++ b/sys/dev/sound/pci/hdspe.c @@ -31,6 +31,9 @@ * Supported cards: AIO, RayDAT. */ +#include +#include + #include #include #include @@ -40,6 +43,31 @@ #include +static struct hdspe_clock_source hdspe_clock_source_table_rd[] = { + { "internal", 0 << 1 | 1, HDSPE_STATUS1_CLOCK(15), 0, 0 }, + { "word", 0 << 1 | 0, HDSPE_STATUS1_CLOCK( 0), 1 << 24, 1 << 25 }, + { "aes", 1 << 1 | 0, HDSPE_STATUS1_CLOCK( 1), 1 << 0, 1 << 8 }, + { "spdif", 2 << 1 | 0, HDSPE_STATUS1_CLOCK( 2), 1 << 1, 1 << 9 }, + { "adat1", 3 << 1 | 0, HDSPE_STATUS1_CLOCK( 3), 1 << 2, 1 << 10 }, + { "adat2", 4 << 1 | 0, HDSPE_STATUS1_CLOCK( 4), 1 << 3, 1 << 11 }, + { "adat3", 5 << 1 | 0, HDSPE_STATUS1_CLOCK( 5), 1 << 4, 1 << 12 }, + { "adat4", 6 << 1 | 0, HDSPE_STATUS1_CLOCK( 6), 1 << 5, 1 << 13 }, + { "tco", 9 << 1 | 0, HDSPE_STATUS1_CLOCK( 9), 1 << 26, 1 << 27 }, + { "sync_in", 10 << 1 | 0, HDSPE_STATUS1_CLOCK(10), 0, 0 }, + { NULL, 0 << 1 | 0, HDSPE_STATUS1_CLOCK( 0), 0, 0 }, +}; + +static struct hdspe_clock_source hdspe_clock_source_table_aio[] = { + { "internal", 0 << 1 | 1, HDSPE_STATUS1_CLOCK(15), 0, 0 }, + { "word", 0 << 1 | 0, HDSPE_STATUS1_CLOCK( 0), 1 << 24, 1 << 25 }, + { "aes", 1 << 1 | 0, HDSPE_STATUS1_CLOCK( 1), 1 << 0, 1 << 8 }, + { "spdif", 2 << 1 | 0, HDSPE_STATUS1_CLOCK( 2), 1 << 1, 1 << 9 }, + { "adat", 3 << 1 | 0, HDSPE_STATUS1_CLOCK( 3), 1 << 2, 1 << 10 }, + { "tco", 9 << 1 | 0, HDSPE_STATUS1_CLOCK( 9), 1 << 26, 1 << 27 }, + { "sync_in", 10 << 1 | 0, HDSPE_STATUS1_CLOCK(10), 0, 0 }, + { NULL, 0 << 1 | 0, HDSPE_STATUS1_CLOCK( 0), 0, 0 }, +}; + static struct hdspe_channel chan_map_aio[] = { { 0, 1, "line", 1, 1 }, { 6, 7, "phone", 1, 0 }, @@ -224,6 +252,169 @@ hdspe_map_dmabuf(struct sc_info *sc) } } +static int +hdspe_sysctl_clock_preference(SYSCTL_HANDLER_ARGS) +{ + struct sc_info *sc; + struct hdspe_clock_source *clock_table, *clock; + char buf[16] = "invalid"; + int error; + uint32_t setting; + + sc = oidp->oid_arg1; + + /* Select sync ports table for device type. */ + if (sc->type == HDSPE_AIO) + clock_table = hdspe_clock_source_table_aio; + else if (sc->type == HDSPE_RAYDAT) + clock_table = hdspe_clock_source_table_rd; + else + return (ENXIO); + + /* Extract preferred clock source from settings register. */ + setting = sc->settings_register & HDSPE_SETTING_CLOCK_MASK; + for (clock = clock_table; clock->name != NULL; ++clock) { + if (clock->setting == setting) + break; + } + if (clock->name != NULL) + strlcpy(buf, clock->name, sizeof(buf)); + + /* Process sysctl string request. */ + error = sysctl_handle_string(oidp, buf, sizeof(buf), req); + if (error != 0 || req->newptr == NULL) + return (error); + + /* Find clock source matching the sysctl string. */ + for (clock = clock_table; clock->name != NULL; ++clock) { + if (strncasecmp(buf, clock->name, sizeof(buf)) == 0) + break; + } + + /* Set preferred clock source in settings register. */ + if (clock->name != NULL) { + setting = clock->setting & HDSPE_SETTING_CLOCK_MASK; + snd_mtxlock(sc->lock); + sc->settings_register &= ~HDSPE_SETTING_CLOCK_MASK; + sc->settings_register |= setting; + hdspe_write_4(sc, HDSPE_SETTINGS_REG, sc->settings_register); + snd_mtxunlock(sc->lock); + } + return (0); +} + +static int +hdspe_sysctl_clock_source(SYSCTL_HANDLER_ARGS) +{ + struct sc_info *sc; + struct hdspe_clock_source *clock_table, *clock; + char buf[16] = "invalid"; + uint32_t status; + + sc = oidp->oid_arg1; + + /* Select sync ports table for device type. */ + if (sc->type == HDSPE_AIO) + clock_table = hdspe_clock_source_table_aio; + else if (sc->type == HDSPE_RAYDAT) + clock_table = hdspe_clock_source_table_rd; + else + return (ENXIO); + + /* Read current (autosync) clock source from status register. */ + snd_mtxlock(sc->lock); + status = hdspe_read_4(sc, HDSPE_STATUS1_REG); + status &= HDSPE_STATUS1_CLOCK_MASK; + snd_mtxunlock(sc->lock); + + /* Translate status register value to clock source. */ + for (clock = clock_table; clock->name != NULL; ++clock) { + /* In clock master mode, override with internal clock source. */ + if (sc->settings_register & HDSPE_SETTING_MASTER) { + if (clock->setting & HDSPE_SETTING_MASTER) + break; + } else if (clock->status == status) + break; + } + + /* Process sysctl string request. */ + if (clock->name != NULL) + strlcpy(buf, clock->name, sizeof(buf)); + return (sysctl_handle_string(oidp, buf, sizeof(buf), req)); +} + +static int +hdspe_sysctl_clock_list(SYSCTL_HANDLER_ARGS) +{ + struct sc_info *sc; + struct hdspe_clock_source *clock_table, *clock; + char buf[256]; + int n; + + sc = oidp->oid_arg1; + n = 0; + + /* Select clock source table for device type. */ + if (sc->type == HDSPE_AIO) + clock_table = hdspe_clock_source_table_aio; + else if (sc->type == HDSPE_RAYDAT) + clock_table = hdspe_clock_source_table_rd; + else + return (ENXIO); + + /* List available clock sources. */ + buf[0] = 0; + for (clock = clock_table; clock->name != NULL; ++clock) { + if (n > 0) + n += strlcpy(buf + n, ",", sizeof(buf) - n); + n += strlcpy(buf + n, clock->name, sizeof(buf) - n); + } + return (sysctl_handle_string(oidp, buf, sizeof(buf), req)); +} + +static int +hdspe_sysctl_sync_status(SYSCTL_HANDLER_ARGS) +{ + struct sc_info *sc; + struct hdspe_clock_source *clock_table, *clock; + char buf[256]; + char *state; + int n; + uint32_t status; + + sc = oidp->oid_arg1; + n = 0; + + /* Select sync ports table for device type. */ + if (sc->type == HDSPE_AIO) + clock_table = hdspe_clock_source_table_aio; + else if (sc->type == HDSPE_RAYDAT) + clock_table = hdspe_clock_source_table_rd; + else + return (ENXIO); + + /* Read current lock and sync bits from status register. */ + snd_mtxlock(sc->lock); + status = hdspe_read_4(sc, HDSPE_STATUS1_REG); + snd_mtxunlock(sc->lock); + + /* List clock sources with lock and sync state. */ + for (clock = clock_table; clock->name != NULL; ++clock) { + if (clock->sync_bit != 0) { + if (n > 0) + n += strlcpy(buf + n, ",", sizeof(buf) - n); + state = "none"; + if ((clock->sync_bit & status) != 0) + state = "sync"; + else if ((clock->lock_bit & status) != 0) + state = "lock"; + n += snprintf(buf + n, sizeof(buf) - n, "%s(%s)", + clock->name, state); + } + } + return (sysctl_handle_string(oidp, buf, sizeof(buf), req)); +} + static int hdspe_probe(device_t dev) { @@ -250,9 +441,6 @@ hdspe_init(struct sc_info *sc) { long long period; - /* Set defaults. */ - sc->ctrl_register |= HDSPM_CLOCK_MODE_MASTER; - /* Set latency. */ sc->period = 32; sc->ctrl_register = hdspe_encode_latency(7); @@ -264,8 +452,8 @@ hdspe_init(struct sc_info *sc) hdspe_write_4(sc, HDSPE_CONTROL_REG, sc->ctrl_register); switch (sc->type) { - case RAYDAT: - case AIO: + case HDSPE_RAYDAT: + case HDSPE_AIO: period = HDSPE_FREQ_AIO; break; default: @@ -305,11 +493,11 @@ hdspe_attach(device_t dev) rev = pci_get_revid(dev); switch (rev) { case PCI_REVISION_AIO: - sc->type = AIO; + sc->type = HDSPE_AIO; chan_map = chan_map_aio; break; case PCI_REVISION_RAYDAT: - sc->type = RAYDAT; + sc->type = HDSPE_RAYDAT; chan_map = chan_map_rd; break; default: @@ -336,6 +524,30 @@ hdspe_attach(device_t dev) hdspe_map_dmabuf(sc); + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "sync_status", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + sc, 0, hdspe_sysctl_sync_status, "A", + "List clock source signal lock and sync status"); + + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "clock_source", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + sc, 0, hdspe_sysctl_clock_source, "A", + "Currently effective clock source"); + + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "clock_preference", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, + sc, 0, hdspe_sysctl_clock_preference, "A", + "Set 'internal' (master) or preferred autosync clock source"); + + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "clock_list", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + sc, 0, hdspe_sysctl_clock_list, "A", + "List of supported clock sources"); + return (bus_generic_attach(dev)); } diff --git a/sys/dev/sound/pci/hdspe.h b/sys/dev/sound/pci/hdspe.h index 7056a75a66c1..58362641cb01 100644 --- a/sys/dev/sound/pci/hdspe.h +++ b/sys/dev/sound/pci/hdspe.h @@ -32,8 +32,8 @@ #define PCI_REVISION_AIO 212 #define PCI_REVISION_RAYDAT 211 -#define AIO 0 -#define RAYDAT 1 +#define HDSPE_AIO 0 +#define HDSPE_RAYDAT 1 /* Hardware mixer */ #define HDSPE_OUT_ENABLE_BASE 512 @@ -95,15 +95,13 @@ #define HDSP_PhoneGainMinus6dB (HDSP_PhoneGain0) #define HDSP_PhoneGainMinus12dB 0 -#define HDSPM_statusRegister 0 -#define HDSPM_statusRegister2 192 - /* Settings */ #define HDSPE_SETTINGS_REG 0 #define HDSPE_CONTROL_REG 64 #define HDSPE_STATUS_REG 0 +#define HDSPE_STATUS1_REG 64 +#define HDSPE_STATUS2_REG 192 #define HDSPE_ENABLE (1 << 0) -#define HDSPM_CLOCK_MODE_MASTER (1 << 4) /* Interrupts */ #define HDSPE_AUDIO_IRQ_PENDING (1 << 0) @@ -126,6 +124,23 @@ struct hdspe_channel { uint32_t rec; }; +/* Clock sources */ +#define HDSPE_SETTING_MASTER (1 << 0) +#define HDSPE_SETTING_CLOCK_MASK 0x1f + +#define HDSPE_STATUS1_CLOCK_SHIFT 28 +#define HDSPE_STATUS1_CLOCK_MASK (0x0f << HDSPE_STATUS1_CLOCK_SHIFT) +#define HDSPE_STATUS1_CLOCK(n) (((n) << HDSPE_STATUS1_CLOCK_SHIFT) & \ + HDSPE_STATUS1_CLOCK_MASK) + +struct hdspe_clock_source { + char *name; + uint32_t setting; + uint32_t status; + uint32_t lock_bit; + uint32_t sync_bit; +}; + static MALLOC_DEFINE(M_HDSPE, "hdspe", "hdspe audio"); /* Channel registers */ From nobody Thu Jan 4 10:44:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5NW63k6cz56KHc; Thu, 4 Jan 2024 10:44:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5NW63NdHz4ycj; Thu, 4 Jan 2024 10:44:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704365058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7o//3rWTdvsRGngoffstidD1imNDQ4WDbyG/xkHSmlM=; b=FQfV01h5WBUIO4kvbidVWgv+1dRZ3anuluRVo3hC+6ZAYfl+AEgtxDwCA1Q5mLOVNJIfd1 dwoldT/kcSrYaNjFkIonIri+qlcD8utDHwUfwgSbznP/Yiug1I6nmn4mRPeoohU5DWBC8I rwf0Wu9ec87afoOmCAVz9gows4IznZiBpWoqvqDZSZVYfZLC0Avw/vUmTafThuEmiTydMC 5rl4Pp7QXbS+BkTGTwPKc2DqTji+N+cnDLL3lIHWzMNau39s/Ea/5HFcMMuoqAcauxDuko DfVitvZ/l56fRXxMDJSOjXPPWkhcmn9VSPTpVUbOlMVEMKXEpoftxRGD6MPoNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704365058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7o//3rWTdvsRGngoffstidD1imNDQ4WDbyG/xkHSmlM=; b=nczrYhxNMner/iv8WexHFFO4cuW6BmENOQgIpgbNFGOS+GBe8RARb5R1ViX9RyxkdOtSU0 GsWMDAPrPSrpQyNAwJSe5ZNaFtxbcIq7FPf9U+4J4Ib1ky/fWfGeiJd1Sz4Cxvs9xpL7AR kD3/rwKd/by7W/DTUXP4p5uN+ZnISOJ3DE62er+cRpZ+5y9i6/xcEyMLfmfRIyWw6PhA9f CQhWpcjyNr1NCqOv7QXX4aI0o3nxG8iAiADrDnk5FRWZ93iheNPKbTsRh/h2OTgQruwd6T 7i1jH4n1hvporW+7FhTEf9OdwpquA5Et8V6YKXW7il2QJ6YOFvQ2Pd3VD38MCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704365058; a=rsa-sha256; cv=none; b=VzNRvc05U2h75g+DlgczwmszfQEmOh8ln8rbeURqvsnw+1YnmcPkjQmMR18yQqv2hpVoSq Ct9aOnnnZqCtfrWvTcUQyTk4jVa3SGzeRUcoNYMe1WvkE7UwrWP+0Dwoktd93xx0zPbimd tkG0i8gT4/vLhFqRq+p7t5re+xfnq326pQAjqEPMAfO35DTOIuoviBOjh+41ci/QpviQry 8dsT948/EJ8QTOYIUbsCmnFhOTJdcvbYNwGfVD9Uly3qfPuEP9dKPy4jgxU10vvP4kQjXk Z0cBEU2UsQ9oX4axLGJ/rskCJbZi0oO6Ez8Dmx+0KvBgGuuSzdB2qLmIEEYUXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5NW62KBlz1Pb1; Thu, 4 Jan 2024 10:44:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404AiIqR047000; Thu, 4 Jan 2024 10:44:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404AiIN0046997; Thu, 4 Jan 2024 10:44:18 GMT (envelope-from git) Date: Thu, 4 Jan 2024 10:44:18 GMT Message-Id: <202401041044.404AiIN0046997@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: bd61c1e89dc4 - main - libthr: thr_attr.c: Clarity, whitespace and style List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd61c1e89dc4a40ba696de1785d423978e1c2147 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=bd61c1e89dc4a40ba696de1785d423978e1c2147 commit bd61c1e89dc4a40ba696de1785d423978e1c2147 Author: Olivier Certner AuthorDate: 2023-11-24 16:00:53 +0000 Commit: Olivier Certner CommitDate: 2024-01-04 10:42:03 +0000 libthr: thr_attr.c: Clarity, whitespace and style Also, remove most comments, which don't add value. Reviewed by: emaste Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43005 --- lib/libthr/thread/thr_attr.c | 471 ++++++++++++++++++------------------------- 1 file changed, 193 insertions(+), 278 deletions(-) diff --git a/lib/libthr/thread/thr_attr.c b/lib/libthr/thread/thr_attr.c index 9740bed6ebd3..decbcb949167 100644 --- a/lib/libthr/thread/thr_attr.c +++ b/lib/libthr/thread/thr_attr.c @@ -113,26 +113,15 @@ __weak_reference(_thr_attr_destroy, pthread_attr_destroy); int _thr_attr_destroy(pthread_attr_t *attr) { - int ret; - /* Check for invalid arguments: */ if (attr == NULL || *attr == NULL) - /* Invalid argument: */ - ret = EINVAL; - else { - if ((*attr)->cpuset != NULL) - free((*attr)->cpuset); - /* Free the memory allocated to the attribute object: */ - free(*attr); + return (EINVAL); - /* - * Leave the attribute pointer NULL now that the memory - * has been freed: - */ - *attr = NULL; - ret = 0; - } - return (ret); + if ((*attr)->cpuset != NULL) + free((*attr)->cpuset); + free(*attr); + *attr = NULL; + return (0); } __weak_reference(_thr_attr_get_np, pthread_attr_get_np); @@ -141,36 +130,44 @@ __weak_reference(_thr_attr_get_np, _pthread_attr_get_np); int _thr_attr_get_np(pthread_t pthread, pthread_attr_t *dstattr) { - struct pthread *curthread; struct pthread_attr attr, *dst; - int ret; - size_t kern_size; + struct pthread *curthread; + size_t kern_size; + int error; if (pthread == NULL || dstattr == NULL || (dst = *dstattr) == NULL) return (EINVAL); + kern_size = _get_kern_cpuset_size(); + if (dst->cpuset == NULL) { dst->cpuset = calloc(1, kern_size); dst->cpusetsize = kern_size; } + curthread = _get_curthread(); - if ((ret = _thr_find_thread(curthread, pthread, /*include dead*/0)) != 0) - return (ret); + /* Arg 0 is to include dead threads. */ + if ((error = _thr_find_thread(curthread, pthread, 0)) != 0) + return (error); + attr = pthread->attr; if (pthread->flags & THR_FLAGS_DETACHED) attr.flags |= PTHREAD_DETACHED; - ret = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, TID(pthread), - dst->cpusetsize, dst->cpuset); - if (ret == -1) - ret = errno; + + error = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, TID(pthread), + dst->cpusetsize, dst->cpuset); + if (error == -1) + error = errno; + THR_THREAD_UNLOCK(curthread, pthread); - if (ret == 0) { - memcpy(&dst->pthread_attr_start_copy, - &attr.pthread_attr_start_copy, - offsetof(struct pthread_attr, pthread_attr_end_copy) - - offsetof(struct pthread_attr, pthread_attr_start_copy)); - } - return (ret); + + if (error == 0) + memcpy(&dst->pthread_attr_start_copy, + &attr.pthread_attr_start_copy, + offsetof(struct pthread_attr, pthread_attr_end_copy) - + offsetof(struct pthread_attr, pthread_attr_start_copy)); + + return (0); } __weak_reference(_thr_attr_getdetachstate, pthread_attr_getdetachstate); @@ -179,22 +176,15 @@ __weak_reference(_thr_attr_getdetachstate, _pthread_attr_getdetachstate); int _thr_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate) { - int ret; - /* Check for invalid arguments: */ if (attr == NULL || *attr == NULL || detachstate == NULL) - ret = EINVAL; - else { - /* Check if the detached flag is set: */ - if ((*attr)->flags & PTHREAD_DETACHED) - /* Return detached: */ - *detachstate = PTHREAD_CREATE_DETACHED; - else - /* Return joinable: */ - *detachstate = PTHREAD_CREATE_JOINABLE; - ret = 0; - } - return (ret); + return (EINVAL); + + if ((*attr)->flags & PTHREAD_DETACHED) + *detachstate = PTHREAD_CREATE_DETACHED; + else + *detachstate = PTHREAD_CREATE_JOINABLE; + return (0); } __weak_reference(_thr_attr_getguardsize, pthread_attr_getguardsize); @@ -204,17 +194,12 @@ int _thr_attr_getguardsize(const pthread_attr_t * __restrict attr, size_t * __restrict guardsize) { - int ret; - /* Check for invalid arguments: */ if (attr == NULL || *attr == NULL || guardsize == NULL) - ret = EINVAL; - else { - /* Return the guard size: */ - *guardsize = (*attr)->guardsize_attr; - ret = 0; - } - return (ret); + return (EINVAL); + + *guardsize = (*attr)->guardsize_attr; + return (0); } __weak_reference(_thr_attr_getinheritsched, pthread_attr_getinheritsched); @@ -224,14 +209,12 @@ int _thr_attr_getinheritsched(const pthread_attr_t * __restrict attr, int * __restrict sched_inherit) { - int ret = 0; - if ((attr == NULL) || (*attr == NULL)) - ret = EINVAL; - else - *sched_inherit = (*attr)->sched_inherit; + if (attr == NULL || *attr == NULL) + return (EINVAL); - return (ret); + *sched_inherit = (*attr)->sched_inherit; + return (0); } __weak_reference(_thr_attr_getschedparam, pthread_attr_getschedparam); @@ -241,14 +224,12 @@ int _thr_attr_getschedparam(const pthread_attr_t * __restrict attr, struct sched_param * __restrict param) { - int ret = 0; - if ((attr == NULL) || (*attr == NULL) || (param == NULL)) - ret = EINVAL; - else - param->sched_priority = (*attr)->prio; + if (attr == NULL || *attr == NULL || param == NULL) + return (EINVAL); - return (ret); + param->sched_priority = (*attr)->prio; + return (0); } __weak_reference(_thr_attr_getschedpolicy, pthread_attr_getschedpolicy); @@ -258,14 +239,12 @@ int _thr_attr_getschedpolicy(const pthread_attr_t * __restrict attr, int * __restrict policy) { - int ret = 0; - if ((attr == NULL) || (*attr == NULL) || (policy == NULL)) - ret = EINVAL; - else - *policy = (*attr)->sched_policy; + if (attr == NULL || *attr == NULL || policy == NULL) + return (EINVAL); - return (ret); + *policy = (*attr)->sched_policy; + return (0); } __weak_reference(_thr_attr_getscope, pthread_attr_getscope); @@ -275,17 +254,13 @@ int _thr_attr_getscope(const pthread_attr_t * __restrict attr, int * __restrict contentionscope) { - int ret = 0; - - if ((attr == NULL) || (*attr == NULL) || (contentionscope == NULL)) - /* Return an invalid argument: */ - ret = EINVAL; - else - *contentionscope = (*attr)->flags & PTHREAD_SCOPE_SYSTEM ? - PTHREAD_SCOPE_SYSTEM : PTHREAD_SCOPE_PROCESS; + if (attr == NULL || *attr == NULL || contentionscope == NULL) + return (EINVAL); - return (ret); + *contentionscope = (*attr)->flags & PTHREAD_SCOPE_SYSTEM ? + PTHREAD_SCOPE_SYSTEM : PTHREAD_SCOPE_PROCESS; + return (0); } __weak_reference(_pthread_attr_getstack, pthread_attr_getstack); @@ -294,19 +269,14 @@ int _pthread_attr_getstack(const pthread_attr_t * __restrict attr, void ** __restrict stackaddr, size_t * __restrict stacksize) { - int ret; - - /* Check for invalid arguments: */ - if (attr == NULL || *attr == NULL || stackaddr == NULL - || stacksize == NULL ) - ret = EINVAL; - else { - /* Return the stack address and size */ - *stackaddr = (*attr)->stackaddr_attr; - *stacksize = (*attr)->stacksize_attr; - ret = 0; - } - return (ret); + + if (attr == NULL || *attr == NULL || stackaddr == NULL || + stacksize == NULL) + return (EINVAL); + + *stackaddr = (*attr)->stackaddr_attr; + *stacksize = (*attr)->stacksize_attr; + return (0); } __weak_reference(_thr_attr_getstackaddr, pthread_attr_getstackaddr); @@ -315,17 +285,12 @@ __weak_reference(_thr_attr_getstackaddr, _pthread_attr_getstackaddr); int _thr_attr_getstackaddr(const pthread_attr_t *attr, void **stackaddr) { - int ret; - /* Check for invalid arguments: */ if (attr == NULL || *attr == NULL || stackaddr == NULL) - ret = EINVAL; - else { - /* Return the stack address: */ - *stackaddr = (*attr)->stackaddr_attr; - ret = 0; - } - return (ret); + return (EINVAL); + + *stackaddr = (*attr)->stackaddr_attr; + return (0); } __weak_reference(_thr_attr_getstacksize, pthread_attr_getstacksize); @@ -335,17 +300,12 @@ int _thr_attr_getstacksize(const pthread_attr_t * __restrict attr, size_t * __restrict stacksize) { - int ret; - - /* Check for invalid arguments: */ - if (attr == NULL || *attr == NULL || stacksize == NULL) - ret = EINVAL; - else { - /* Return the stack size: */ - *stacksize = (*attr)->stacksize_attr; - ret = 0; - } - return (ret); + + if (attr == NULL || *attr == NULL || stacksize == NULL) + return (EINVAL); + + *stacksize = (*attr)->stacksize_attr; + return (0); } __weak_reference(_thr_attr_init, pthread_attr_init); @@ -354,40 +314,30 @@ __weak_reference(_thr_attr_init, _pthread_attr_init); int _thr_attr_init(pthread_attr_t *attr) { - int ret; - pthread_attr_t pattr; + pthread_attr_t pattr; _thr_check_init(); - /* Allocate memory for the attribute object: */ - if ((pattr = (pthread_attr_t) malloc(sizeof(struct pthread_attr))) == NULL) - /* Insufficient memory: */ - ret = ENOMEM; - else { - /* Initialise the attribute object with the defaults: */ - memcpy(pattr, &_pthread_attr_default, sizeof(struct pthread_attr)); - - /* Return a pointer to the attribute object: */ - *attr = pattr; - ret = 0; - } - return (ret); + if ((pattr = malloc(sizeof(*pattr))) == NULL) + return (ENOMEM); + + memcpy(pattr, &_pthread_attr_default, sizeof(struct pthread_attr)); + *attr = pattr; + return (0); } -__weak_reference(_pthread_attr_setcreatesuspend_np, pthread_attr_setcreatesuspend_np); +__weak_reference(_pthread_attr_setcreatesuspend_np, \ + pthread_attr_setcreatesuspend_np); int _pthread_attr_setcreatesuspend_np(pthread_attr_t *attr) { - int ret; - if (attr == NULL || *attr == NULL) { - ret = EINVAL; - } else { - (*attr)->suspend = THR_CREATE_SUSPENDED; - ret = 0; - } - return (ret); + if (attr == NULL || *attr == NULL) + return (EINVAL); + + (*attr)->suspend = THR_CREATE_SUSPENDED; + return (0); } __weak_reference(_thr_attr_setdetachstate, pthread_attr_setdetachstate); @@ -396,24 +346,17 @@ __weak_reference(_thr_attr_setdetachstate, _pthread_attr_setdetachstate); int _thr_attr_setdetachstate(pthread_attr_t *attr, int detachstate) { - int ret; - /* Check for invalid arguments: */ if (attr == NULL || *attr == NULL || (detachstate != PTHREAD_CREATE_DETACHED && detachstate != PTHREAD_CREATE_JOINABLE)) - ret = EINVAL; - else { - /* Check if detached state: */ - if (detachstate == PTHREAD_CREATE_DETACHED) - /* Set the detached flag: */ - (*attr)->flags |= PTHREAD_DETACHED; - else - /* Reset the detached flag: */ - (*attr)->flags &= ~PTHREAD_DETACHED; - ret = 0; - } - return (ret); + return (EINVAL); + + if (detachstate == PTHREAD_CREATE_DETACHED) + (*attr)->flags |= PTHREAD_DETACHED; + else + (*attr)->flags &= ~PTHREAD_DETACHED; + return (0); } __weak_reference(_thr_attr_setguardsize, pthread_attr_setguardsize); @@ -422,17 +365,12 @@ __weak_reference(_thr_attr_setguardsize, _pthread_attr_setguardsize); int _thr_attr_setguardsize(pthread_attr_t *attr, size_t guardsize) { - int ret; - /* Check for invalid arguments. */ if (attr == NULL || *attr == NULL) - ret = EINVAL; - else { - /* Save the stack size. */ - (*attr)->guardsize_attr = guardsize; - ret = 0; - } - return (ret); + return (EINVAL); + + (*attr)->guardsize_attr = guardsize; + return (0); } __weak_reference(_thr_attr_setinheritsched, pthread_attr_setinheritsched); @@ -441,17 +379,16 @@ __weak_reference(_thr_attr_setinheritsched, _pthread_attr_setinheritsched); int _thr_attr_setinheritsched(pthread_attr_t *attr, int sched_inherit) { - int ret = 0; - if ((attr == NULL) || (*attr == NULL)) - ret = EINVAL; - else if (sched_inherit != PTHREAD_INHERIT_SCHED && - sched_inherit != PTHREAD_EXPLICIT_SCHED) - ret = ENOTSUP; - else - (*attr)->sched_inherit = sched_inherit; + if (attr == NULL || *attr == NULL) + return (EINVAL); + + if (sched_inherit != PTHREAD_INHERIT_SCHED && + sched_inherit != PTHREAD_EXPLICIT_SCHED) + return (ENOTSUP); - return (ret); + (*attr)->sched_inherit = sched_inherit; + return (0); } __weak_reference(_thr_attr_setschedparam, pthread_attr_setschedparam); @@ -463,7 +400,7 @@ _thr_attr_setschedparam(pthread_attr_t * __restrict attr, { int policy; - if ((attr == NULL) || (*attr == NULL)) + if (attr == NULL || *attr == NULL) return (EINVAL); if (param == NULL) @@ -474,7 +411,7 @@ _thr_attr_setschedparam(pthread_attr_t * __restrict attr, if (policy == SCHED_FIFO || policy == SCHED_RR) { if (param->sched_priority < _thr_priorities[policy-1].pri_min || param->sched_priority > _thr_priorities[policy-1].pri_max) - return (ENOTSUP); + return (ENOTSUP); } else { /* * Ignore it for SCHED_OTHER now, patches for glib ports @@ -494,17 +431,15 @@ __weak_reference(_thr_attr_setschedpolicy, _pthread_attr_setschedpolicy); int _thr_attr_setschedpolicy(pthread_attr_t *attr, int policy) { - int ret = 0; - if ((attr == NULL) || (*attr == NULL)) - ret = EINVAL; - else if ((policy < SCHED_FIFO) || (policy > SCHED_RR)) { - ret = ENOTSUP; - } else { - (*attr)->sched_policy = policy; - (*attr)->prio = _thr_priorities[policy-1].pri_default; - } - return (ret); + if (attr == NULL || *attr == NULL) + return (EINVAL); + if (policy < SCHED_FIFO || policy > SCHED_RR) + return (ENOTSUP); + + (*attr)->sched_policy = policy; + (*attr)->prio = _thr_priorities[policy-1].pri_default; + return (0); } __weak_reference(_thr_attr_setscope, pthread_attr_setscope); @@ -513,41 +448,33 @@ __weak_reference(_thr_attr_setscope, _pthread_attr_setscope); int _thr_attr_setscope(pthread_attr_t *attr, int contentionscope) { - int ret = 0; - - if ((attr == NULL) || (*attr == NULL)) { - /* Return an invalid argument: */ - ret = EINVAL; - } else if ((contentionscope != PTHREAD_SCOPE_PROCESS) && - (contentionscope != PTHREAD_SCOPE_SYSTEM)) { - ret = EINVAL; - } else if (contentionscope == PTHREAD_SCOPE_SYSTEM) { + + if (attr == NULL || *attr == NULL || + (contentionscope != PTHREAD_SCOPE_PROCESS && + contentionscope != PTHREAD_SCOPE_SYSTEM)) + return (EINVAL); + + if (contentionscope == PTHREAD_SCOPE_SYSTEM) (*attr)->flags |= contentionscope; - } else { + else (*attr)->flags &= ~PTHREAD_SCOPE_SYSTEM; - } - return (ret); + return (0); } __weak_reference(_pthread_attr_setstack, pthread_attr_setstack); int _pthread_attr_setstack(pthread_attr_t *attr, void *stackaddr, - size_t stacksize) + size_t stacksize) { - int ret; - - /* Check for invalid arguments: */ - if (attr == NULL || *attr == NULL || stackaddr == NULL - || stacksize < PTHREAD_STACK_MIN) - ret = EINVAL; - else { - /* Save the stack address and stack size */ - (*attr)->stackaddr_attr = stackaddr; - (*attr)->stacksize_attr = stacksize; - ret = 0; - } - return (ret); + + if (attr == NULL || *attr == NULL || stackaddr == NULL || + stacksize < PTHREAD_STACK_MIN) + return (EINVAL); + + (*attr)->stackaddr_attr = stackaddr; + (*attr)->stacksize_attr = stacksize; + return (0); } __weak_reference(_thr_attr_setstackaddr, pthread_attr_setstackaddr); @@ -556,17 +483,12 @@ __weak_reference(_thr_attr_setstackaddr, _pthread_attr_setstackaddr); int _thr_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr) { - int ret; - /* Check for invalid arguments: */ if (attr == NULL || *attr == NULL || stackaddr == NULL) - ret = EINVAL; - else { - /* Save the stack address: */ - (*attr)->stackaddr_attr = stackaddr; - ret = 0; - } - return(ret); + return (EINVAL); + + (*attr)->stackaddr_attr = stackaddr; + return (0); } __weak_reference(_thr_attr_setstacksize, pthread_attr_setstacksize); @@ -575,17 +497,12 @@ __weak_reference(_thr_attr_setstacksize, _pthread_attr_setstacksize); int _thr_attr_setstacksize(pthread_attr_t *attr, size_t stacksize) { - int ret; - /* Check for invalid arguments: */ if (attr == NULL || *attr == NULL || stacksize < PTHREAD_STACK_MIN) - ret = EINVAL; - else { - /* Save the stack size: */ - (*attr)->stacksize_attr = stacksize; - ret = 0; - } - return (ret); + return (EINVAL); + + (*attr)->stacksize_attr = stacksize; + return (0); } static size_t @@ -608,71 +525,69 @@ _get_kern_cpuset_size(void) } __weak_reference(_pthread_attr_setaffinity_np, pthread_attr_setaffinity_np); + int _pthread_attr_setaffinity_np(pthread_attr_t *pattr, size_t cpusetsize, - const cpuset_t *cpusetp) + const cpuset_t *cpusetp) { pthread_attr_t attr; - int ret; + size_t kern_size; if (pattr == NULL || (attr = (*pattr)) == NULL) - ret = EINVAL; - else { - if (cpusetsize == 0 || cpusetp == NULL) { - if (attr->cpuset != NULL) { - free(attr->cpuset); - attr->cpuset = NULL; - attr->cpusetsize = 0; - } - return (0); - } - size_t kern_size = _get_kern_cpuset_size(); - /* Kernel rejects small set, we check it here too. */ - if (cpusetsize < kern_size) - return (ERANGE); - if (cpusetsize > kern_size) { - /* Kernel checks invalid bits, we check it here too. */ - size_t i; - for (i = kern_size; i < cpusetsize; ++i) { - if (((const char *)cpusetp)[i]) - return (EINVAL); - } - } - if (attr->cpuset == NULL) { - attr->cpuset = calloc(1, kern_size); - if (attr->cpuset == NULL) - return (errno); - attr->cpusetsize = kern_size; + return (EINVAL); + + if (cpusetsize == 0 || cpusetp == NULL) { + if (attr->cpuset != NULL) { + free(attr->cpuset); + attr->cpuset = NULL; + attr->cpusetsize = 0; } - memcpy(attr->cpuset, cpusetp, kern_size); - ret = 0; + return (0); + } + + kern_size = _get_kern_cpuset_size(); + /* Kernel rejects small set, we check it here too. */ + if (cpusetsize < kern_size) + return (ERANGE); + if (cpusetsize > kern_size) { + /* Kernel checks invalid bits, we check it here too. */ + size_t i; + for (i = kern_size; i < cpusetsize; ++i) + if (((const char *)cpusetp)[i] != 0) + return (EINVAL); + } + if (attr->cpuset == NULL) { + attr->cpuset = calloc(1, kern_size); + if (attr->cpuset == NULL) + return (errno); + attr->cpusetsize = kern_size; } - return (ret); + memcpy(attr->cpuset, cpusetp, kern_size); + return (0); } __weak_reference(_pthread_attr_getaffinity_np, pthread_attr_getaffinity_np); + int _pthread_attr_getaffinity_np(const pthread_attr_t *pattr, size_t cpusetsize, - cpuset_t *cpusetp) + cpuset_t *cpusetp) { pthread_attr_t attr; - int ret = 0; if (pattr == NULL || (attr = (*pattr)) == NULL) - ret = EINVAL; - else { - /* Kernel rejects small set, we check it here too. */ - size_t kern_size = _get_kern_cpuset_size(); - if (cpusetsize < kern_size) - return (ERANGE); - if (attr->cpuset != NULL) - memcpy(cpusetp, attr->cpuset, MIN(cpusetsize, - attr->cpusetsize)); - else - memset(cpusetp, -1, kern_size); - if (cpusetsize > kern_size) - memset(((char *)cpusetp) + kern_size, 0, - cpusetsize - kern_size); - } - return (ret); + return (EINVAL); + + /* Kernel rejects small set, we check it here too. */ + size_t kern_size = _get_kern_cpuset_size(); + if (cpusetsize < kern_size) + return (ERANGE); + if (attr->cpuset != NULL) + memcpy(cpusetp, attr->cpuset, MIN(cpusetsize, + attr->cpusetsize)); + else + memset(cpusetp, -1, kern_size); + if (cpusetsize > kern_size) + memset(((char *)cpusetp) + kern_size, 0, + cpusetsize - kern_size); + return (0); } From nobody Thu Jan 4 10:44:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5NW75qdNz56K8R; Thu, 4 Jan 2024 10:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5NW74Mz5z4yjN; Thu, 4 Jan 2024 10:44:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704365059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T+gTeITV39sM1Nq0lx5n5yZbaJ7XyFXIYj7s9IQfkg0=; b=frNnAIZcG/dZNqaeqatWbA9jezqiSqxSidkxXAW5IoAS8ECjOK9H/2zP7XXTivlEofuq29 HQU9qAeGLX8GzB73vB7Lkvq0VLssaTK7df5u6Oa5WEjmfRJOoPCP+SB/NKeZjs+NghJCo9 uILULy32F6WbrOG7KIc4LWRxnkEOzxdDZLuqTk3czu06Kp+bSo+MSFGRYMH2EHYDUyHuX6 PQzLSd+gZvWZlqUmhD4SS6vWNI8jN62Gs3+aoaOhKg49ydBVMyiYmY05AVcFagZPwUmGi9 He/4HSEpA3SyX0dfKNjHW99KfSdr1zxVzVGuZ8i7ltEEyW0PZpmUKigKXBxgtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704365059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T+gTeITV39sM1Nq0lx5n5yZbaJ7XyFXIYj7s9IQfkg0=; b=LfAvB3Gg/rLCrifiaFmFrm+0DNHgFILmz1UhWyURtsscaZ2sOfMj7EbTd1uNw2b5eWDT3m pRiOliQ8m9YZtbi8NHdpqSAiR7A5hYSbF8RXuhXCR/CfBPkBq9j0DhuDvMW+pZ9PRqr4S3 9WyCfeXMOI0s5W79BvJZQ2H/rrFzoElYfRAJYT+TRUV0OEMmzXPBh3ccxem1TBE6YdowQL +w7Ug8JHR07O+J5OYRZFrbw149tHA9byKxZPGV2LgCHfACNOm73DHpaWr9zadI5msaVf/6 mh0PI/CObndcaoYqOxW0LeLa648BpraMpXjASfIWLa3Ag6odnTJHok44ypsJrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704365059; a=rsa-sha256; cv=none; b=H5FxMqLS/FSNLtEXG1sQ4Hi4wD/YPkZ3fhyPs4nMIW/dXxsmHmY/BHd1mXumxsJUs3XDH/ hcwT9v7e7iOfyhNiCXgAt72IPgaUWn/S/dQQV23Xf8CYBvsnf+g3Fe+4xzMhLHUOa+XHWt zwAE0tisGkX2m+xf5zALaC9wOGtWOt1GBbHIauc7I++RIm/u6nVJPnhV9vxsrXnpda6/FV JonfwpXVRFh89lP8z6XCUQW7eoebi/hnKSo6vXPAXZ3iVrANpDIVH5neaiWbnt7KRzak1C cPdyPFEz9S0tyAPD73V8yseHeRZY/DwqfO0Fc9nnEGPsxkvmxSe+gB6bEanKxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5NW72t6bz1Pb2; Thu, 4 Jan 2024 10:44:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404AiJfG047051; Thu, 4 Jan 2024 10:44:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404AiJpY047048; Thu, 4 Jan 2024 10:44:19 GMT (envelope-from git) Date: Thu, 4 Jan 2024 10:44:19 GMT Message-Id: <202401041044.404AiJpY047048@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 0eccb45979a8 - main - libthr: thr_attr.c: EINVAL, not ENOTSUP, on invalid arguments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0eccb45979a8ee3129e11b638ebc4cfa00942b80 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0eccb45979a8ee3129e11b638ebc4cfa00942b80 commit 0eccb45979a8ee3129e11b638ebc4cfa00942b80 Author: Olivier Certner AuthorDate: 2023-11-24 21:21:16 +0000 Commit: Olivier Certner CommitDate: 2024-01-04 10:42:08 +0000 libthr: thr_attr.c: EINVAL, not ENOTSUP, on invalid arguments On first read, POSIX may seem ambiguous about the return code for some scheduling-related pthread functions on invalid arguments. But a more thorough reading and a bit of standards archeology strongly suggests that this case should be handled by EINVAL and that ENOTSUP is reserved for implementations providing only part of the functionality required by the POSIX option POSIX_PRIORITY_SCHEDULING (e.g., if an implementation doesn't support SCHED_FIFO, it should return ENOTSUP on a call to, e.g., sched_setscheduler() with 'policy' SCHED_FIFO). This reading is supported by the second sentence of the very definition of ENOTSUP, as worded in CAE/XSI Issue 5 and POSIX Issue 6: "The implementation does not support this feature of the Realtime Feature Group.", and the fact that an additional ENOTSUP case was added to pthread_setschedparam() in Issue 6, which introduces SCHED_SPORADIC, saying that pthread_setschedparam() may return it when attempting to dynamically switch to SCHED_SPORADIC on systems that doesn't support that. glibc, illumos and NetBSD also support that reading by always returning EINVAL, and OpenBSD as well, since it always returns EINVAL but the corresponding code has a comment suggesting returning ENOTSUP for SCHED_FIFO and SCHED_RR, which it effectively doesn't support. Additionally, always returning EINVAL fixes inconsistencies where EINVAL would be returned on some out-of-range values and ENOTSUP on others. Reviewed by: markj Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43006 --- lib/libthr/thread/thr_attr.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/lib/libthr/thread/thr_attr.c b/lib/libthr/thread/thr_attr.c index decbcb949167..0ccc31b22c13 100644 --- a/lib/libthr/thread/thr_attr.c +++ b/lib/libthr/thread/thr_attr.c @@ -380,13 +380,11 @@ int _thr_attr_setinheritsched(pthread_attr_t *attr, int sched_inherit) { - if (attr == NULL || *attr == NULL) + if (attr == NULL || *attr == NULL || + (sched_inherit != PTHREAD_INHERIT_SCHED && + sched_inherit != PTHREAD_EXPLICIT_SCHED)) return (EINVAL); - if (sched_inherit != PTHREAD_INHERIT_SCHED && - sched_inherit != PTHREAD_EXPLICIT_SCHED) - return (ENOTSUP); - (*attr)->sched_inherit = sched_inherit; return (0); } @@ -400,18 +398,15 @@ _thr_attr_setschedparam(pthread_attr_t * __restrict attr, { int policy; - if (attr == NULL || *attr == NULL) + if (attr == NULL || *attr == NULL || param == NULL) return (EINVAL); - if (param == NULL) - return (ENOTSUP); - policy = (*attr)->sched_policy; if (policy == SCHED_FIFO || policy == SCHED_RR) { if (param->sched_priority < _thr_priorities[policy-1].pri_min || param->sched_priority > _thr_priorities[policy-1].pri_max) - return (ENOTSUP); + return (EINVAL); } else { /* * Ignore it for SCHED_OTHER now, patches for glib ports @@ -432,10 +427,9 @@ int _thr_attr_setschedpolicy(pthread_attr_t *attr, int policy) { - if (attr == NULL || *attr == NULL) + if (attr == NULL || *attr == NULL || + policy < SCHED_FIFO || policy > SCHED_RR) return (EINVAL); - if (policy < SCHED_FIFO || policy > SCHED_RR) - return (ENOTSUP); (*attr)->sched_policy = policy; (*attr)->prio = _thr_priorities[policy-1].pri_default; From nobody Thu Jan 4 11:54:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5Q4s3w3Yz56Cj3; Thu, 4 Jan 2024 11:55:09 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5Q4s04pvz54Yv; Thu, 4 Jan 2024 11:55:08 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.17.1/8.17.1) with ESMTP id 404BssBv046033; Thu, 4 Jan 2024 13:54:57 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 404BssBv046033 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 404BssaJ046032; Thu, 4 Jan 2024 13:54:54 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 4 Jan 2024 13:54:54 +0200 From: Konstantin Belousov To: Olivier Certner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: bd61c1e89dc4 - main - libthr: thr_attr.c: Clarity, whitespace and style Message-ID: References: <202401041044.404AiIN0046997@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202401041044.404AiIN0046997@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4T5Q4s04pvz54Yv X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] On Thu, Jan 04, 2024 at 10:44:18AM +0000, Olivier Certner wrote: > The branch main has been updated by olce: > > URL: https://cgit.FreeBSD.org/src/commit/?id=bd61c1e89dc4a40ba696de1785d423978e1c2147 > > commit bd61c1e89dc4a40ba696de1785d423978e1c2147 > Author: Olivier Certner > AuthorDate: 2023-11-24 16:00:53 +0000 > Commit: Olivier Certner > CommitDate: 2024-01-04 10:42:03 +0000 > > libthr: thr_attr.c: Clarity, whitespace and style > > Also, remove most comments, which don't add value. > > Reviewed by: emaste > Approved by: markj (mentor) > MFC after: 2 weeks > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D43005 > --- > lib/libthr/thread/thr_attr.c | 471 ++++++++++++++++++------------------------- > 1 file changed, 193 insertions(+), 278 deletions(-) > > diff --git a/lib/libthr/thread/thr_attr.c b/lib/libthr/thread/thr_attr.c > index 9740bed6ebd3..decbcb949167 100644 > --- a/lib/libthr/thread/thr_attr.c > +++ b/lib/libthr/thread/thr_attr.c > @@ -113,26 +113,15 @@ __weak_reference(_thr_attr_destroy, pthread_attr_destroy); > int > _thr_attr_destroy(pthread_attr_t *attr) > { > - int ret; > > - /* Check for invalid arguments: */ > if (attr == NULL || *attr == NULL) > - /* Invalid argument: */ > - ret = EINVAL; > - else { > - if ((*attr)->cpuset != NULL) > - free((*attr)->cpuset); > - /* Free the memory allocated to the attribute object: */ > - free(*attr); > + return (EINVAL); > > - /* > - * Leave the attribute pointer NULL now that the memory > - * has been freed: > - */ > - *attr = NULL; > - ret = 0; > - } > - return (ret); > + if ((*attr)->cpuset != NULL) The check is not needed. > + free((*attr)->cpuset); > + free(*attr); > + *attr = NULL; > + return (0); > } > > __weak_reference(_thr_attr_get_np, pthread_attr_get_np); > @@ -141,36 +130,44 @@ __weak_reference(_thr_attr_get_np, _pthread_attr_get_np); > int > _thr_attr_get_np(pthread_t pthread, pthread_attr_t *dstattr) > { > - struct pthread *curthread; > struct pthread_attr attr, *dst; > - int ret; > - size_t kern_size; > + struct pthread *curthread; > + size_t kern_size; > + int error; > > if (pthread == NULL || dstattr == NULL || (dst = *dstattr) == NULL) > return (EINVAL); > + > kern_size = _get_kern_cpuset_size(); > + > if (dst->cpuset == NULL) { > dst->cpuset = calloc(1, kern_size); > dst->cpusetsize = kern_size; > } > + > curthread = _get_curthread(); > - if ((ret = _thr_find_thread(curthread, pthread, /*include dead*/0)) != 0) > - return (ret); > + /* Arg 0 is to include dead threads. */ > + if ((error = _thr_find_thread(curthread, pthread, 0)) != 0) > + return (error); > + > attr = pthread->attr; > if (pthread->flags & THR_FLAGS_DETACHED) if ((pthread->flags & THR_FLAGS_DETACHED) != 0) there and in all similar places that test a flag bit > attr.flags |= PTHREAD_DETACHED; > - ret = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, TID(pthread), > - dst->cpusetsize, dst->cpuset); > - if (ret == -1) > - ret = errno; > + > + error = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, TID(pthread), > + dst->cpusetsize, dst->cpuset); > + if (error == -1) > + error = errno; > + > THR_THREAD_UNLOCK(curthread, pthread); > - if (ret == 0) { > - memcpy(&dst->pthread_attr_start_copy, > - &attr.pthread_attr_start_copy, > - offsetof(struct pthread_attr, pthread_attr_end_copy) - > - offsetof(struct pthread_attr, pthread_attr_start_copy)); > - } > - return (ret); > + > + if (error == 0) > + memcpy(&dst->pthread_attr_start_copy, > + &attr.pthread_attr_start_copy, > + offsetof(struct pthread_attr, pthread_attr_end_copy) - > + offsetof(struct pthread_attr, pthread_attr_start_copy)); > + > + return (0); > } > > __weak_reference(_thr_attr_getdetachstate, pthread_attr_getdetachstate); > @@ -179,22 +176,15 @@ __weak_reference(_thr_attr_getdetachstate, _pthread_attr_getdetachstate); > int > _thr_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate) > { > - int ret; > > - /* Check for invalid arguments: */ > if (attr == NULL || *attr == NULL || detachstate == NULL) > - ret = EINVAL; > - else { > - /* Check if the detached flag is set: */ > - if ((*attr)->flags & PTHREAD_DETACHED) > - /* Return detached: */ > - *detachstate = PTHREAD_CREATE_DETACHED; > - else > - /* Return joinable: */ > - *detachstate = PTHREAD_CREATE_JOINABLE; > - ret = 0; > - } > - return (ret); > + return (EINVAL); > + > + if ((*attr)->flags & PTHREAD_DETACHED) For instance there. > + *detachstate = PTHREAD_CREATE_DETACHED; > + else > + *detachstate = PTHREAD_CREATE_JOINABLE; > + return (0); > } > > __weak_reference(_thr_attr_getguardsize, pthread_attr_getguardsize); > @@ -204,17 +194,12 @@ int > _thr_attr_getguardsize(const pthread_attr_t * __restrict attr, > size_t * __restrict guardsize) > { > - int ret; > > - /* Check for invalid arguments: */ > if (attr == NULL || *attr == NULL || guardsize == NULL) > - ret = EINVAL; > - else { > - /* Return the guard size: */ > - *guardsize = (*attr)->guardsize_attr; > - ret = 0; > - } > - return (ret); > + return (EINVAL); > + > + *guardsize = (*attr)->guardsize_attr; > + return (0); > } > > __weak_reference(_thr_attr_getinheritsched, pthread_attr_getinheritsched); > @@ -224,14 +209,12 @@ int > _thr_attr_getinheritsched(const pthread_attr_t * __restrict attr, > int * __restrict sched_inherit) > { > - int ret = 0; > > - if ((attr == NULL) || (*attr == NULL)) > - ret = EINVAL; > - else > - *sched_inherit = (*attr)->sched_inherit; > + if (attr == NULL || *attr == NULL) > + return (EINVAL); > > - return (ret); > + *sched_inherit = (*attr)->sched_inherit; > + return (0); > } > > __weak_reference(_thr_attr_getschedparam, pthread_attr_getschedparam); > @@ -241,14 +224,12 @@ int > _thr_attr_getschedparam(const pthread_attr_t * __restrict attr, > struct sched_param * __restrict param) > { > - int ret = 0; > > - if ((attr == NULL) || (*attr == NULL) || (param == NULL)) > - ret = EINVAL; > - else > - param->sched_priority = (*attr)->prio; > + if (attr == NULL || *attr == NULL || param == NULL) > + return (EINVAL); > > - return (ret); > + param->sched_priority = (*attr)->prio; > + return (0); > } > > __weak_reference(_thr_attr_getschedpolicy, pthread_attr_getschedpolicy); > @@ -258,14 +239,12 @@ int > _thr_attr_getschedpolicy(const pthread_attr_t * __restrict attr, > int * __restrict policy) > { > - int ret = 0; > > - if ((attr == NULL) || (*attr == NULL) || (policy == NULL)) > - ret = EINVAL; > - else > - *policy = (*attr)->sched_policy; > + if (attr == NULL || *attr == NULL || policy == NULL) > + return (EINVAL); > > - return (ret); > + *policy = (*attr)->sched_policy; > + return (0); > } > > __weak_reference(_thr_attr_getscope, pthread_attr_getscope); > @@ -275,17 +254,13 @@ int > _thr_attr_getscope(const pthread_attr_t * __restrict attr, > int * __restrict contentionscope) > { > - int ret = 0; > - > - if ((attr == NULL) || (*attr == NULL) || (contentionscope == NULL)) > - /* Return an invalid argument: */ > - ret = EINVAL; > > - else > - *contentionscope = (*attr)->flags & PTHREAD_SCOPE_SYSTEM ? > - PTHREAD_SCOPE_SYSTEM : PTHREAD_SCOPE_PROCESS; > + if (attr == NULL || *attr == NULL || contentionscope == NULL) > + return (EINVAL); > > - return (ret); > + *contentionscope = (*attr)->flags & PTHREAD_SCOPE_SYSTEM ? > + PTHREAD_SCOPE_SYSTEM : PTHREAD_SCOPE_PROCESS; > + return (0); > } > > __weak_reference(_pthread_attr_getstack, pthread_attr_getstack); > @@ -294,19 +269,14 @@ int > _pthread_attr_getstack(const pthread_attr_t * __restrict attr, > void ** __restrict stackaddr, size_t * __restrict stacksize) > { > - int ret; > - > - /* Check for invalid arguments: */ > - if (attr == NULL || *attr == NULL || stackaddr == NULL > - || stacksize == NULL ) > - ret = EINVAL; > - else { > - /* Return the stack address and size */ > - *stackaddr = (*attr)->stackaddr_attr; > - *stacksize = (*attr)->stacksize_attr; > - ret = 0; > - } > - return (ret); > + > + if (attr == NULL || *attr == NULL || stackaddr == NULL || > + stacksize == NULL) > + return (EINVAL); > + > + *stackaddr = (*attr)->stackaddr_attr; > + *stacksize = (*attr)->stacksize_attr; > + return (0); > } > > __weak_reference(_thr_attr_getstackaddr, pthread_attr_getstackaddr); > @@ -315,17 +285,12 @@ __weak_reference(_thr_attr_getstackaddr, _pthread_attr_getstackaddr); > int > _thr_attr_getstackaddr(const pthread_attr_t *attr, void **stackaddr) > { > - int ret; > > - /* Check for invalid arguments: */ > if (attr == NULL || *attr == NULL || stackaddr == NULL) > - ret = EINVAL; > - else { > - /* Return the stack address: */ > - *stackaddr = (*attr)->stackaddr_attr; > - ret = 0; > - } > - return (ret); > + return (EINVAL); > + > + *stackaddr = (*attr)->stackaddr_attr; > + return (0); > } > > __weak_reference(_thr_attr_getstacksize, pthread_attr_getstacksize); > @@ -335,17 +300,12 @@ int > _thr_attr_getstacksize(const pthread_attr_t * __restrict attr, > size_t * __restrict stacksize) > { > - int ret; > - > - /* Check for invalid arguments: */ > - if (attr == NULL || *attr == NULL || stacksize == NULL) > - ret = EINVAL; > - else { > - /* Return the stack size: */ > - *stacksize = (*attr)->stacksize_attr; > - ret = 0; > - } > - return (ret); > + > + if (attr == NULL || *attr == NULL || stacksize == NULL) > + return (EINVAL); > + > + *stacksize = (*attr)->stacksize_attr; > + return (0); > } > > __weak_reference(_thr_attr_init, pthread_attr_init); > @@ -354,40 +314,30 @@ __weak_reference(_thr_attr_init, _pthread_attr_init); > int > _thr_attr_init(pthread_attr_t *attr) > { > - int ret; > - pthread_attr_t pattr; > + pthread_attr_t pattr; > > _thr_check_init(); > > - /* Allocate memory for the attribute object: */ > - if ((pattr = (pthread_attr_t) malloc(sizeof(struct pthread_attr))) == NULL) > - /* Insufficient memory: */ > - ret = ENOMEM; > - else { > - /* Initialise the attribute object with the defaults: */ > - memcpy(pattr, &_pthread_attr_default, sizeof(struct pthread_attr)); > - > - /* Return a pointer to the attribute object: */ > - *attr = pattr; > - ret = 0; > - } > - return (ret); > + if ((pattr = malloc(sizeof(*pattr))) == NULL) > + return (ENOMEM); > + > + memcpy(pattr, &_pthread_attr_default, sizeof(struct pthread_attr)); Above you changed sizeeof(struct pthread_attr) to sizeof(*pattr), but there you left the type name. > + *attr = pattr; > + return (0); > } > > -__weak_reference(_pthread_attr_setcreatesuspend_np, pthread_attr_setcreatesuspend_np); > +__weak_reference(_pthread_attr_setcreatesuspend_np, \ > + pthread_attr_setcreatesuspend_np); > > int > _pthread_attr_setcreatesuspend_np(pthread_attr_t *attr) > { > - int ret; > > - if (attr == NULL || *attr == NULL) { > - ret = EINVAL; > - } else { > - (*attr)->suspend = THR_CREATE_SUSPENDED; > - ret = 0; > - } > - return (ret); > + if (attr == NULL || *attr == NULL) > + return (EINVAL); > + > + (*attr)->suspend = THR_CREATE_SUSPENDED; > + return (0); > } > > __weak_reference(_thr_attr_setdetachstate, pthread_attr_setdetachstate); > @@ -396,24 +346,17 @@ __weak_reference(_thr_attr_setdetachstate, _pthread_attr_setdetachstate); > int > _thr_attr_setdetachstate(pthread_attr_t *attr, int detachstate) > { > - int ret; > > - /* Check for invalid arguments: */ > if (attr == NULL || *attr == NULL || > (detachstate != PTHREAD_CREATE_DETACHED && > detachstate != PTHREAD_CREATE_JOINABLE)) > - ret = EINVAL; > - else { > - /* Check if detached state: */ > - if (detachstate == PTHREAD_CREATE_DETACHED) > - /* Set the detached flag: */ > - (*attr)->flags |= PTHREAD_DETACHED; > - else > - /* Reset the detached flag: */ > - (*attr)->flags &= ~PTHREAD_DETACHED; > - ret = 0; > - } > - return (ret); > + return (EINVAL); > + > + if (detachstate == PTHREAD_CREATE_DETACHED) > + (*attr)->flags |= PTHREAD_DETACHED; > + else > + (*attr)->flags &= ~PTHREAD_DETACHED; > + return (0); > } > > __weak_reference(_thr_attr_setguardsize, pthread_attr_setguardsize); > @@ -422,17 +365,12 @@ __weak_reference(_thr_attr_setguardsize, _pthread_attr_setguardsize); > int > _thr_attr_setguardsize(pthread_attr_t *attr, size_t guardsize) > { > - int ret; > > - /* Check for invalid arguments. */ > if (attr == NULL || *attr == NULL) > - ret = EINVAL; > - else { > - /* Save the stack size. */ > - (*attr)->guardsize_attr = guardsize; > - ret = 0; > - } > - return (ret); > + return (EINVAL); > + > + (*attr)->guardsize_attr = guardsize; > + return (0); > } > > __weak_reference(_thr_attr_setinheritsched, pthread_attr_setinheritsched); > @@ -441,17 +379,16 @@ __weak_reference(_thr_attr_setinheritsched, _pthread_attr_setinheritsched); > int > _thr_attr_setinheritsched(pthread_attr_t *attr, int sched_inherit) > { > - int ret = 0; > > - if ((attr == NULL) || (*attr == NULL)) > - ret = EINVAL; > - else if (sched_inherit != PTHREAD_INHERIT_SCHED && > - sched_inherit != PTHREAD_EXPLICIT_SCHED) > - ret = ENOTSUP; > - else > - (*attr)->sched_inherit = sched_inherit; > + if (attr == NULL || *attr == NULL) > + return (EINVAL); > + > + if (sched_inherit != PTHREAD_INHERIT_SCHED && > + sched_inherit != PTHREAD_EXPLICIT_SCHED) > + return (ENOTSUP); > > - return (ret); > + (*attr)->sched_inherit = sched_inherit; > + return (0); > } > > __weak_reference(_thr_attr_setschedparam, pthread_attr_setschedparam); > @@ -463,7 +400,7 @@ _thr_attr_setschedparam(pthread_attr_t * __restrict attr, > { > int policy; > > - if ((attr == NULL) || (*attr == NULL)) > + if (attr == NULL || *attr == NULL) > return (EINVAL); > > if (param == NULL) > @@ -474,7 +411,7 @@ _thr_attr_setschedparam(pthread_attr_t * __restrict attr, > if (policy == SCHED_FIFO || policy == SCHED_RR) { > if (param->sched_priority < _thr_priorities[policy-1].pri_min || > param->sched_priority > _thr_priorities[policy-1].pri_max) > - return (ENOTSUP); > + return (ENOTSUP); > } else { > /* > * Ignore it for SCHED_OTHER now, patches for glib ports > @@ -494,17 +431,15 @@ __weak_reference(_thr_attr_setschedpolicy, _pthread_attr_setschedpolicy); > int > _thr_attr_setschedpolicy(pthread_attr_t *attr, int policy) > { > - int ret = 0; > > - if ((attr == NULL) || (*attr == NULL)) > - ret = EINVAL; > - else if ((policy < SCHED_FIFO) || (policy > SCHED_RR)) { > - ret = ENOTSUP; > - } else { > - (*attr)->sched_policy = policy; > - (*attr)->prio = _thr_priorities[policy-1].pri_default; > - } > - return (ret); > + if (attr == NULL || *attr == NULL) > + return (EINVAL); > + if (policy < SCHED_FIFO || policy > SCHED_RR) > + return (ENOTSUP); > + > + (*attr)->sched_policy = policy; > + (*attr)->prio = _thr_priorities[policy-1].pri_default; > + return (0); > } > > __weak_reference(_thr_attr_setscope, pthread_attr_setscope); > @@ -513,41 +448,33 @@ __weak_reference(_thr_attr_setscope, _pthread_attr_setscope); > int > _thr_attr_setscope(pthread_attr_t *attr, int contentionscope) > { > - int ret = 0; > - > - if ((attr == NULL) || (*attr == NULL)) { > - /* Return an invalid argument: */ > - ret = EINVAL; > - } else if ((contentionscope != PTHREAD_SCOPE_PROCESS) && > - (contentionscope != PTHREAD_SCOPE_SYSTEM)) { > - ret = EINVAL; > - } else if (contentionscope == PTHREAD_SCOPE_SYSTEM) { > + > + if (attr == NULL || *attr == NULL || > + (contentionscope != PTHREAD_SCOPE_PROCESS && > + contentionscope != PTHREAD_SCOPE_SYSTEM)) > + return (EINVAL); > + > + if (contentionscope == PTHREAD_SCOPE_SYSTEM) > (*attr)->flags |= contentionscope; For me this looks somewhat confusing, in other places the explicit flag name symbol is used instead of a variable value. > - } else { > + else > (*attr)->flags &= ~PTHREAD_SCOPE_SYSTEM; > - } > - return (ret); > + return (0); > } > > __weak_reference(_pthread_attr_setstack, pthread_attr_setstack); > > int > _pthread_attr_setstack(pthread_attr_t *attr, void *stackaddr, > - size_t stacksize) > + size_t stacksize) > { > - int ret; > - > - /* Check for invalid arguments: */ > - if (attr == NULL || *attr == NULL || stackaddr == NULL > - || stacksize < PTHREAD_STACK_MIN) > - ret = EINVAL; > - else { > - /* Save the stack address and stack size */ > - (*attr)->stackaddr_attr = stackaddr; > - (*attr)->stacksize_attr = stacksize; > - ret = 0; > - } > - return (ret); > + > + if (attr == NULL || *attr == NULL || stackaddr == NULL || > + stacksize < PTHREAD_STACK_MIN) > + return (EINVAL); > + > + (*attr)->stackaddr_attr = stackaddr; > + (*attr)->stacksize_attr = stacksize; > + return (0); > } > > __weak_reference(_thr_attr_setstackaddr, pthread_attr_setstackaddr); > @@ -556,17 +483,12 @@ __weak_reference(_thr_attr_setstackaddr, _pthread_attr_setstackaddr); > int > _thr_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr) > { > - int ret; > > - /* Check for invalid arguments: */ > if (attr == NULL || *attr == NULL || stackaddr == NULL) > - ret = EINVAL; > - else { > - /* Save the stack address: */ > - (*attr)->stackaddr_attr = stackaddr; > - ret = 0; > - } > - return(ret); > + return (EINVAL); > + > + (*attr)->stackaddr_attr = stackaddr; > + return (0); > } > > __weak_reference(_thr_attr_setstacksize, pthread_attr_setstacksize); > @@ -575,17 +497,12 @@ __weak_reference(_thr_attr_setstacksize, _pthread_attr_setstacksize); > int > _thr_attr_setstacksize(pthread_attr_t *attr, size_t stacksize) > { > - int ret; > > - /* Check for invalid arguments: */ > if (attr == NULL || *attr == NULL || stacksize < PTHREAD_STACK_MIN) > - ret = EINVAL; > - else { > - /* Save the stack size: */ > - (*attr)->stacksize_attr = stacksize; > - ret = 0; > - } > - return (ret); > + return (EINVAL); > + > + (*attr)->stacksize_attr = stacksize; > + return (0); > } > > static size_t > @@ -608,71 +525,69 @@ _get_kern_cpuset_size(void) > } > > __weak_reference(_pthread_attr_setaffinity_np, pthread_attr_setaffinity_np); > + > int > _pthread_attr_setaffinity_np(pthread_attr_t *pattr, size_t cpusetsize, > - const cpuset_t *cpusetp) > + const cpuset_t *cpusetp) > { > pthread_attr_t attr; > - int ret; > + size_t kern_size; > > if (pattr == NULL || (attr = (*pattr)) == NULL) > - ret = EINVAL; > - else { > - if (cpusetsize == 0 || cpusetp == NULL) { > - if (attr->cpuset != NULL) { > - free(attr->cpuset); > - attr->cpuset = NULL; > - attr->cpusetsize = 0; > - } > - return (0); > - } > - size_t kern_size = _get_kern_cpuset_size(); > - /* Kernel rejects small set, we check it here too. */ > - if (cpusetsize < kern_size) > - return (ERANGE); > - if (cpusetsize > kern_size) { > - /* Kernel checks invalid bits, we check it here too. */ > - size_t i; > - for (i = kern_size; i < cpusetsize; ++i) { > - if (((const char *)cpusetp)[i]) > - return (EINVAL); > - } > - } > - if (attr->cpuset == NULL) { > - attr->cpuset = calloc(1, kern_size); > - if (attr->cpuset == NULL) > - return (errno); > - attr->cpusetsize = kern_size; > + return (EINVAL); > + > + if (cpusetsize == 0 || cpusetp == NULL) { > + if (attr->cpuset != NULL) { > + free(attr->cpuset); > + attr->cpuset = NULL; > + attr->cpusetsize = 0; > } > - memcpy(attr->cpuset, cpusetp, kern_size); > - ret = 0; > + return (0); > + } > + > + kern_size = _get_kern_cpuset_size(); > + /* Kernel rejects small set, we check it here too. */ > + if (cpusetsize < kern_size) > + return (ERANGE); > + if (cpusetsize > kern_size) { > + /* Kernel checks invalid bits, we check it here too. */ > + size_t i; There should be a blank line after the local vars declaration. > + for (i = kern_size; i < cpusetsize; ++i) > + if (((const char *)cpusetp)[i] != 0) > + return (EINVAL); > + } > + if (attr->cpuset == NULL) { > + attr->cpuset = calloc(1, kern_size); What is the point of doing calloc() if the whole allocated memory is overwritten by the memcpy() call below? > + if (attr->cpuset == NULL) > + return (errno); > + attr->cpusetsize = kern_size; > } > - return (ret); > + memcpy(attr->cpuset, cpusetp, kern_size); > + return (0); > } > > __weak_reference(_pthread_attr_getaffinity_np, pthread_attr_getaffinity_np); > + > int > _pthread_attr_getaffinity_np(const pthread_attr_t *pattr, size_t cpusetsize, > - cpuset_t *cpusetp) > + cpuset_t *cpusetp) > { > pthread_attr_t attr; > - int ret = 0; > > if (pattr == NULL || (attr = (*pattr)) == NULL) > - ret = EINVAL; > - else { > - /* Kernel rejects small set, we check it here too. */ > - size_t kern_size = _get_kern_cpuset_size(); > - if (cpusetsize < kern_size) > - return (ERANGE); > - if (attr->cpuset != NULL) > - memcpy(cpusetp, attr->cpuset, MIN(cpusetsize, > - attr->cpusetsize)); > - else > - memset(cpusetp, -1, kern_size); > - if (cpusetsize > kern_size) > - memset(((char *)cpusetp) + kern_size, 0, > - cpusetsize - kern_size); > - } > - return (ret); > + return (EINVAL); > + > + /* Kernel rejects small set, we check it here too. */ > + size_t kern_size = _get_kern_cpuset_size(); > + if (cpusetsize < kern_size) > + return (ERANGE); > + if (attr->cpuset != NULL) > + memcpy(cpusetp, attr->cpuset, MIN(cpusetsize, > + attr->cpusetsize)); > + else > + memset(cpusetp, -1, kern_size); > + if (cpusetsize > kern_size) > + memset(((char *)cpusetp) + kern_size, 0, > + cpusetsize - kern_size); > + return (0); > } From nobody Thu Jan 4 13:35:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SJX1VZlz56PrQ; Thu, 4 Jan 2024 13:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SJX0c49z40hW; Thu, 4 Jan 2024 13:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2+rcuOVkYZsW6syWw2sMC0nKx5EBVTZn5XRkQRPvrhk=; b=SYhG18fzPt4xZjYgaksxTKZN/f2ISxhX7FawuH0/Phi76RiOc4uM6UZ9Ss4jVLXfmzf+DU P8G5X8m0xxVKtJ+PpjcTii/DuoJpSGwYyOQNev+tbr+a5TGylmll6tAh8sA5jnlt+AhYI2 fIum3c68mf5B9qYUzQsJuufYPKlZzXWp9AdSB2e2dA2bJieWH2IjloxvsqsC0WipKct+N1 A7Kc5gL3KiKAYO8ZRajqL/ywW3i8OAX9TxwAFH3Z6yS6NbO1aDwkAEH84R6g7w0m4PMyKp 9jjP+J5euqT/8IJZuMSm+vLYuOFRInxPLqwV5aqajoe7WD0FedjddqMRK7ngfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2+rcuOVkYZsW6syWw2sMC0nKx5EBVTZn5XRkQRPvrhk=; b=GMaYe9v6GJsY6gZWCHDpzckEAzDgJqGt3yHDIGtjF5NAi1ksxr+W99JE7n2Z8TmZaEe9mN kxzqRa/TFnYK01zfd4ODNax9DW9QPqllh+zWZxtLdNGS7SO9j+RlR6aOsoKZaFh/7O3iZd esqqetZpamo5gHI6EARlA4YGNAR/YAVGzMh70kB4y+lK8KSnMq5kmPf+6fZV6NYEgByD59 DVZANWd33f4Xhn+1dfXyZve63nVg/OmzJXs9AZBqJUX32e5ES/VM7fGqCrapYpGcQ3tBLe hQAeq/6N2/T6x9M8tp+4OzDxHRA5jkCfnf28a8SM7JuIUOxpnv7477C/PKXOJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375324; a=rsa-sha256; cv=none; b=eLoTxZYay6d6+JW1E/BqX+cFQEkBbj2nIyI9eFmip/IJYQ0yFfpitM/5h0tFcWyTgPNYA1 h4uVB26E183NSiMwN2rlpTqNzRZVy99VXXOGd8kpuFcJkzHUgHEO/Tx+uxQNvuz6S9Z7yl bvyjQVdzcNYkGQtpXVyhNUHJfef8KTh/ln7b/S7oLtYZ7EQb3R4LTC+PDU7HSrMJ4i6tA7 39zDm7ft3Tsz2XQxkqbXER8MQqW8/jecp3UtzHQTT8LAapAdYX7GBCtza5sx+M3ZwF2HRu j/4Tmc4P10xsK4TEFuGFbXkJYqjYRdfpCy7brFA7E2tApRRh6j1Ac9NGF5WjaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SJW6ndCzFtY; Thu, 4 Jan 2024 13:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DZNX1032410; Thu, 4 Jan 2024 13:35:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DZN4a032407; Thu, 4 Jan 2024 13:35:23 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:35:23 GMT Message-Id: <202401041335.404DZN4a032407@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Oskar Holmlund Subject: git: a5e65981ca51 - main - sys/conf: Add backlight as a dependency to pwm_backlight.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a5e65981ca51956982fee9ab45c70d21948a97d8 Auto-Submitted: auto-generated The branch main has been updated by oh: URL: https://cgit.FreeBSD.org/src/commit/?id=a5e65981ca51956982fee9ab45c70d21948a97d8 commit a5e65981ca51956982fee9ab45c70d21948a97d8 Author: Oskar Holmlund AuthorDate: 2024-01-04 13:33:13 +0000 Commit: Oskar Holmlund CommitDate: 2024-01-04 13:33:13 +0000 sys/conf: Add backlight as a dependency to pwm_backlight.c Approved by: manu Differential revision: https://reviews.freebsd.org/D43312 --- sys/conf/files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/files b/sys/conf/files index 16e3c1ddb6dd..e2456d1c3a5f 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -2724,7 +2724,7 @@ dev/pwm/pwmbus.c optional pwm | pwmbus dev/pwm/pwmbus_if.m optional pwm | pwmbus dev/pwm/ofw_pwm.c optional pwm fdt | pwmbus fdt dev/pwm/ofw_pwmbus.c optional pwm fdt | pwmbus fdt -dev/pwm/pwm_backlight.c optional pwm pwm_backlight fdt +dev/pwm/pwm_backlight.c optional pwm pwm_backlight fdt backlight dev/quicc/quicc_core.c optional quicc dev/ral/rt2560.c optional ral dev/ral/rt2661.c optional ral From nobody Thu Jan 4 13:40:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQ63QYlz56Q97; Thu, 4 Jan 2024 13:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQ62x4kz41L1; Thu, 4 Jan 2024 13:40:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KhGh1HnhAOBiykt+o+MxKyaNe8unT/gWz+D3MjoI5BQ=; b=CmNZh1aQWJlwevpZPszd+Dxtrn/ijqZzdkhybPXNQzXqvkjztiVlqcPk9/4Wv44fD4SDDj yBGhaWWd2iquqwweC22ckFrCKFdARonaiILrrh9BJgkTAB+qzIHdnFLVlqBnBosDpKSEIr XwnaMcZDL4LOSeYb4vGuVJ5Cnb159GyEINmh1UEw6HJihDGVSAFsRI6kl1Ru2M4TP5H16E RvKvz4zLSIhDkNHPQ1hmb8Kwtv8SZmlLN3HUNBxo/iDa9wq0HKQAC4fo8O7Rt9DUSATbs9 mEzjBQffsfMKgpdReVEOUN0Ovh9KheNalkjCNNHMYxhH8smHoLh5fV5r8wWpcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KhGh1HnhAOBiykt+o+MxKyaNe8unT/gWz+D3MjoI5BQ=; b=d2u7vrMX5js15wvEcfONMHKv5iMaa894b5RnxJ4KSU5rsaI52rtC2MQHOgtvofNZTRJIxL K1eUq6w3iZyR15MjKtlU0JTkLpizcjeY9IKaAO2SlP7Yk/+b5vh4fR5TakebsQysWz22/A b5PvCdk/XnMZKPjFiYU1qd6Cbm2vKWlOhUvuLXUyms93cKxg6EcBgNI4wlK38ieup/kxbz OJah6ePamBWBLLnjPOwL8NKbtQEYovt8PqzDgYqbvFc+Di48uwK451RvsUDabF4CAHnJkU sgH/tW6/v30HSp+xiGUBahKW/7utGfdCzx2QQ9PlSe1ozFx/51FiwXCabjNhwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375614; a=rsa-sha256; cv=none; b=XTwTpvclB0rhgxsqZX+VnsoQjBJ4zpnFP3mTeGPV7sXwrcKcMtigj67GYUjz2CYrZAlX9p kpVVEDDVxMQcyojXaVxWS0VCMoZkEOY3uI34oQPcNrKc5H2sZe/6D9D5m5nVxsBf0m7+I4 gmqMyry17EjRFeOzBwJgEnnjmsBmkF/olwP7eZWE7dF5nrDPJX6OYEthwwQRbLrrYVi03l 5snC+LeiZKLqEjYZo8tx1uEyP8aDyeO3wghKdqS7Fq6KmSPzHZeoSei5XXrCrRKRYYyB0v QVnbO4DKxhsIbjoqQKs4ag+kqlMRFF9oDMEa4xBl+r3CJ+aQO3zYvFeUyQNVQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQ61zqxzFqN; Thu, 4 Jan 2024 13:40:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeENu039542; Thu, 4 Jan 2024 13:40:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeEJD039534; Thu, 4 Jan 2024 13:40:14 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:14 GMT Message-Id: <202401041340.404DeEJD039534@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8d01ecd8e9da - main - frag6: Add another use of frag6_rmqueue() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8d01ecd8e9da5192a8b2dfb6c7d58b4aae9ea358 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8d01ecd8e9da5192a8b2dfb6c7d58b4aae9ea358 commit 8d01ecd8e9da5192a8b2dfb6c7d58b4aae9ea358 Author: Mark Johnston AuthorDate: 2024-01-04 13:11:19 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:52 +0000 frag6: Add another use of frag6_rmqueue() No functional change intended. Reviewed by: kp, bz MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43256 --- sys/netinet6/frag6.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index fbdbc3ef2f28..e976298bf984 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -862,10 +862,6 @@ postinsert: ip6->ip6_flow |= htonl(IPTOS_ECN_CE << 20); nxt = q6->ip6q_nxt; - TAILQ_REMOVE(head, q6, ip6q_tq); - V_ip6qb[bucket].count--; - atomic_subtract_int(&frag6_nfrags, q6->ip6q_nfrag); - ip6_deletefraghdr(m, offset, M_NOWAIT); /* Set nxt(-hdr field value) to the original value. */ @@ -874,10 +870,9 @@ postinsert: #ifdef MAC mac_ip6q_reassemble(q6, m); - mac_ip6q_destroy(q6); #endif - free(q6, M_FRAG6); - atomic_subtract_int(&V_frag6_nfragpackets, 1); + atomic_subtract_int(&frag6_nfrags, q6->ip6q_nfrag); + frag6_rmqueue(q6, bucket); if (m->m_flags & M_PKTHDR) { /* Isn't it always true? */ From nobody Thu Jan 4 13:40:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQ73yChz56Q9B; Thu, 4 Jan 2024 13:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQ73Vvvz41R9; Thu, 4 Jan 2024 13:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+Q56XUNKC0HpZZrKq+qONXp9OgABfynGzvfe8DmyUU=; b=RYRQVKHDFgOSG8u9N+uA1yWTAr7jruthERtxZ4oeytukXaFCb0sBn58T7UqrMd05t3fs0w 8KnjMNltd/dfBA5tKHNDaC967fv7WaEN6V5NNYlru+vD0E0KSKPRDARe8dpmo7sL4MJXcj uBtz9r+Y5dUy03tjuGu7EwiLGaa/kz3WO6NQm/F+qbM5H/1lO9sENGYrEEYauYQ0wN9AE3 rJ/ND8BCpatHGFHFJ/KiZoQJnTl11WTwaGKx/cn7au5q95zQNHDeC//gSC47aHp7e4H54E telPY8zbG41UGIZt6FNfbbcHHT5cU3GWaotAFMMmf5WbK+I5NucfpPVRHH2mjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j+Q56XUNKC0HpZZrKq+qONXp9OgABfynGzvfe8DmyUU=; b=LFSZvuSCu35Q6dIoFsjm/Bc0jry1eNUCc+XAuZZr3F55IsLXomCHY/t3f0OXhfIWJcecMa b7XaTy+BpNB8OH+lJI+JhjWyln/Rs6Eiwi9Q6pDRDCryLjJvryC/UBN42U4ZMKJtGBp9+7 289MDRRMpaK9Rs+VDk/+mMy0g3Q2TpROrov+DPPZSq07A6bUAmHqM+3dDuawBbsjTDqcDW 0MJJP86ZSkWqSJ0p8jIM9vWBTPT/u09jLEv0NSYbbZGn/jvoMo6KaTBIoYpMaDUMnl2BOX KPXEn29Y4Nj90PVmS/CDvJk4IWM0MwfkRecGEQuBMd5uJndR4aTVRrqB7Y6geA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375615; a=rsa-sha256; cv=none; b=q4EWiNI0rOSN2rl/5UgVB3uA+ZqpugTWSPNvVQqassJeGSltpOReVcVkmXENq4WSIMYTZn rge9C2x9tc5Qhn7pJDVSevAnAXSDKcDogshNLzcSdGD5InGEUIseO03SVx0lfUC4cRxkH2 tt/e2Lf2BAfLGynukpewZzU/kCb5yLi6MyDvfabrEekJn8Dxw/EXBFFoN6mq8cEyoxuGC+ UuMfcE8kxhJYP2jb+0YYdNlg1PSvSaTVlNg3vAJaYuIjKcvhbolQ2JosnX0IkWWXABgvRG 07S59N7z4C+FaiUxbVUQP7qjq2ytd32aLibrbwUkOAz11FOo/vVde5to53TaBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQ72cv6zFqP; Thu, 4 Jan 2024 13:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeFcW040219; Thu, 4 Jan 2024 13:40:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeFDR040211; Thu, 4 Jan 2024 13:40:15 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:15 GMT Message-Id: <202401041340.404DeFDR040211@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 27f4eda3ddce - main - vfs: Simplify vrefact() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 27f4eda3ddce4009a0ec9be68f474fe3be38933f Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=27f4eda3ddce4009a0ec9be68f474fe3be38933f commit 27f4eda3ddce4009a0ec9be68f474fe3be38933f Author: Mark Johnston AuthorDate: 2024-01-04 13:11:44 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:52 +0000 vfs: Simplify vrefact() refcount_acquire() returns the old value, just use that. No functional change intended. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43255 --- sys/kern/vfs_subr.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index d2a245081f3d..eb82f2d86aff 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -3345,14 +3345,11 @@ vref(struct vnode *vp) void vrefact(struct vnode *vp) { + int old __diagused; CTR2(KTR_VFS, "%s: vp %p", __func__, vp); -#ifdef INVARIANTS - int old = atomic_fetchadd_int(&vp->v_usecount, 1); + old = refcount_acquire(&vp->v_usecount); VNASSERT(old > 0, vp, ("%s: wrong use count %d", __func__, old)); -#else - refcount_acquire(&vp->v_usecount); -#endif } void From nobody Thu Jan 4 13:40:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQ85FNsz56QLN; Thu, 4 Jan 2024 13:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQ848KGz41bk; Thu, 4 Jan 2024 13:40:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RlPRNj/z2DmlGZMuEL/gCrVhBKgnsT0FmDzC1/WdtFw=; b=xbROwUBR24jaGUdS26rSe8lAdpNOn1tea2xA5cF3vvntHuAaSAEAzqXNMoZIPyNQgpEkjg T5lK+qLwMKj5cPAhVASY0QUoesLBEzQQJBiWGiGi3XXl4OzVmoV4Od1H6dUghyA5TLzVtL 5IV/FM/0pi+pphcdcl3NGu+rEhmM4zfv7slStDMPRXKFarne7iIWf/+53WVZIYsn9cZMSF lOgNJcyIm3jRLMtLS1DIUWZuZVJ/dH+FF/dTse8nH0X5TuQ16iRTWoEjmJoWDhworhZ39g Uxnc0Uhw4nSmWp591CkHq3dg98+3omlZw8YzuxOwK0MMl41rrFg1X6hBOZg6hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RlPRNj/z2DmlGZMuEL/gCrVhBKgnsT0FmDzC1/WdtFw=; b=rqwkq8dlHv/cy0r8lY8TV04maQFhL509uzfZ8aqY0xCWsRG/T4GfKwRNFgB6wvPIxudrrH 4wX8LDAbyjFeSbUafknmNLV3nXOq7H5GSde9CKrinxLOgxT5CHSowVyl5o0qYKjy2Kw+O4 kh3KDBTgT8dnwx3UB+mJMLNvxphmcZefwrL/unW2wA3TZJ5Ze23IKzYFk/hn1Y05t8D2dC pTqLBzGxeGSL0SMkIWFqFDA4nOSwFU6xYqtprPKIw/GHGjoTv1LZZTSfpsKRG1Y+CLiqda czAKa417/ihdSu6wsWZN7Oc4WctLKZeSw+Y9Cj8je1FaD3PrYrNIjwpOpkuipw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375616; a=rsa-sha256; cv=none; b=cNwl43oSVSs5juR4ojKNmVNEw9tdqx0As7/1qUXy4aY1wUfhjvPBJWdPwU1lpjMCwFypc4 JdNn/rj7b18kBetqy1MoUzljTk6cUgmel+X+gQrKtwNhkh/0mj0iaQAdTTqoDQu9iwFZxR iaB8VERxkQxnsUc2zPQD5sTW5QZ0wzy2ep19GPqvfM0OEr7f7lGLqW1t/2UMJFqZsvCzT6 zVC6CO5ueEmfCtF7+tEcQ7gTiSmb/4DveZ3lCu7T3UQ6ua1fIc4KUHhIheSNUrtWEztYSe bxs9Ud93ma9r8E8dNxdEX7cIv7RwHN+cUS2Jrt5kvrmpC/i/83jpPPDyp6ES4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQ83GMxzFqQ; Thu, 4 Jan 2024 13:40:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeGBK040880; Thu, 4 Jan 2024 13:40:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeG5h040867; Thu, 4 Jan 2024 13:40:16 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:16 GMT Message-Id: <202401041340.404DeG5h040867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 55edc40e0c75 - main - file: Remove the fd parameter to fgetvp_lookup() and fgetvp_lookup_smr() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 55edc40e0c7543c6ea08a28d828bcbf0c8b5dad9 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=55edc40e0c7543c6ea08a28d828bcbf0c8b5dad9 commit 55edc40e0c7543c6ea08a28d828bcbf0c8b5dad9 Author: Mark Johnston AuthorDate: 2024-01-04 13:11:54 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 file: Remove the fd parameter to fgetvp_lookup() and fgetvp_lookup_smr() The fd is always obtained from nameidata, so just fetch it from there instead. No functional change intended. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43257 --- sys/kern/kern_descrip.c | 10 +++++++--- sys/kern/vfs_cache.c | 2 +- sys/kern/vfs_lookup.c | 2 +- sys/sys/file.h | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index eab21b3d2aaf..a0130842aacb 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -2962,7 +2962,7 @@ fget_cap(struct thread *td, int fd, cap_rights_t *needrightsp, #ifdef CAPABILITIES int -fgetvp_lookup_smr(int fd, struct nameidata *ndp, struct vnode **vpp, bool *fsearch) +fgetvp_lookup_smr(struct nameidata *ndp, struct vnode **vpp, bool *fsearch) { const struct filedescent *fde; const struct fdescenttbl *fdt; @@ -2972,9 +2972,11 @@ fgetvp_lookup_smr(int fd, struct nameidata *ndp, struct vnode **vpp, bool *fsear const cap_rights_t *haverights; cap_rights_t rights; seqc_t seq; + int fd; VFS_SMR_ASSERT_ENTERED(); + fd = ndp->ni_dirfd; rights = *ndp->ni_rightsneeded; cap_rights_set_one(&rights, CAP_LOOKUP); @@ -3028,15 +3030,17 @@ fgetvp_lookup_smr(int fd, struct nameidata *ndp, struct vnode **vpp, bool *fsear } #else int -fgetvp_lookup_smr(int fd, struct nameidata *ndp, struct vnode **vpp, bool *fsearch) +fgetvp_lookup_smr(struct nameidata *ndp, struct vnode **vpp, bool *fsearch) { const struct fdescenttbl *fdt; struct filedesc *fdp; struct file *fp; struct vnode *vp; + int fd; VFS_SMR_ASSERT_ENTERED(); + fd = ndp->ni_dirfd; fdp = curproc->p_fd; fdt = fdp->fd_files; if (__predict_false((u_int)fd >= fdt->fdt_nfiles)) @@ -3064,7 +3068,7 @@ fgetvp_lookup_smr(int fd, struct nameidata *ndp, struct vnode **vpp, bool *fsear #endif int -fgetvp_lookup(int fd, struct nameidata *ndp, struct vnode **vpp) +fgetvp_lookup(struct nameidata *ndp, struct vnode **vpp) { struct thread *td; struct file *fp; diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 93227be30dcf..f8626be7bda7 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -4509,7 +4509,7 @@ cache_fplookup_dirfd(struct cache_fpl *fpl, struct vnode **vpp) ndp = fpl->ndp; cnp = fpl->cnp; - error = fgetvp_lookup_smr(ndp->ni_dirfd, ndp, vpp, &fsearch); + error = fgetvp_lookup_smr(ndp, vpp, &fsearch); if (__predict_false(error != 0)) { return (cache_fpl_aborted(fpl)); } diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index 4229583a6968..4104400d77bb 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -358,7 +358,7 @@ namei_setup(struct nameidata *ndp, struct vnode **dpp, struct pwd **pwdp) if (cnp->cn_flags & AUDITVNODE2) AUDIT_ARG_ATFD2(ndp->ni_dirfd); - error = fgetvp_lookup(ndp->ni_dirfd, ndp, dpp); + error = fgetvp_lookup(ndp, dpp); } if (error == 0 && (*dpp)->v_type != VDIR && (cnp->cn_pnbuf[0] != '\0' || diff --git a/sys/sys/file.h b/sys/sys/file.h index 027b253a6af6..cfa0fc75443f 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -289,8 +289,8 @@ int fgetvp_read(struct thread *td, int fd, cap_rights_t *rightsp, struct vnode **vpp); int fgetvp_write(struct thread *td, int fd, cap_rights_t *rightsp, struct vnode **vpp); -int fgetvp_lookup_smr(int fd, struct nameidata *ndp, struct vnode **vpp, bool *fsearch); -int fgetvp_lookup(int fd, struct nameidata *ndp, struct vnode **vpp); +int fgetvp_lookup_smr(struct nameidata *ndp, struct vnode **vpp, bool *fsearch); +int fgetvp_lookup(struct nameidata *ndp, struct vnode **vpp); static __inline __result_use_check bool fhold(struct file *fp) From nobody Thu Jan 4 13:40:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQB0kkZz56Q2p; Thu, 4 Jan 2024 13:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQ951YCz41c0; Thu, 4 Jan 2024 13:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvyTw7HthhS1k8rWF0s4OQBi7ZyHAKOwdCKnmMW9gWM=; b=ZL5FO4MFsl02Ik2cLyP480xxGihKim8ru2WD+67Fj87WBm2SNhRmHIZgyiOufHHhtKL+w+ CVXrf+zCBn6qtwmm45WanL8UFmI4zawhmDUpmdcmPp4EVmRDSWapF5HAMayFuHXBjOPDqk dQzm7mH/ZZ+WptsXPQIBQRuzzwOjxVbtmeNzIPdv3gADlBWh5d5DKJBoMFx8Eb503M60J9 ku4ZX8q+ZetvY+2LS9ChyN7UsLJ12Goaixnct4tOdEXDjxI0yrLm+R6iFNZU3b+zX0Z/A9 dmkFhRsamc0CUw6aiIk16i+VD/MvaYN+K3edDbohLgvu3ieYonrb7AqA4NJ+sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvyTw7HthhS1k8rWF0s4OQBi7ZyHAKOwdCKnmMW9gWM=; b=pywGdhrwP4g+dfUuWhRHcGo2Mn9fjp2fjRcAK2C621DUUg2VVvMVYNzOxWot9NGKLMUwq5 6KI7oZ0R6a3ByOdg1CWBXoXQ6xkaP+M5vugQwPQmG4YB3CrOdap05brsf8/T8raRlMwKH1 Y70/5Q9sbONxpnu0A/INrzfXm/WKXHWquKARlJ4goF8dteqgvJ6lJEh9k8o8bIFa+slRSr XIZeCkj4PwIx60U6Kp+g+nea5OGCzTDTFPfnnHPvi0/knejtjBnZnDy4D88yZfbVoxiY60 YQRMuTa+cJCAlnw855lqJsUaZVOAlXf/doNi+En8GvCyc9vJ2AY0pj+gHGP4Aw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375617; a=rsa-sha256; cv=none; b=i+pma0RS2U9YHryimywNrlpoI2rkVRbe9aGSk7Ww4gfKriR6Z4YxOweXhdhJgt38h3mcyY BGJeedSQT883mMn+0Q3nEd/m6xPD5Zva2wU/xxTY1s0b2pyTnUdpuVjA9XXrqque3Q9ol/ FLUKjg7WC6Zok1wVrpD8eYFdB4YF1xIXgT6pMTmsq0VDLzudvEOi0+QlkJPvfo1ESlJsA7 ZccJCjz3/FaCrSwRwl9B5oDvR80G2vB53jdB/iCQIhVVio3BQxiWd+5ATkaXvl6Qv6qolZ wOpxmv0mS3E0Yrxdc+tT7J4+6t7x3EeSyqKNQ1uqYFMj68hljjXPif554PExrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQ946LmzFgv; Thu, 4 Jan 2024 13:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeH5C041496; Thu, 4 Jan 2024 13:40:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeHr7041488; Thu, 4 Jan 2024 13:40:17 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:17 GMT Message-Id: <202401041340.404DeHr7041488@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: d63ea0367400 - main - x86: Make cpu_model[] public List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d63ea03674007451682334fa3897918c5c3711a4 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d63ea03674007451682334fa3897918c5c3711a4 commit d63ea03674007451682334fa3897918c5c3711a4 Author: Mark Johnston AuthorDate: 2024-01-04 13:24:04 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 x86: Make cpu_model[] public No functional change intended. Reviewed by: emaste, imp, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43281 --- sys/x86/include/x86_var.h | 1 + sys/x86/x86/identcpu.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/x86/include/x86_var.h b/sys/x86/include/x86_var.h index 44314456d8bf..f3677d84570b 100644 --- a/sys/x86/include/x86_var.h +++ b/sys/x86/include/x86_var.h @@ -58,6 +58,7 @@ extern u_int cpu_mxcsr_mask; extern u_int cpu_procinfo; extern u_int cpu_procinfo2; extern char cpu_vendor[]; +extern char cpu_model[]; extern u_int cpu_vendor_id; extern u_int cpu_mon_mwait_flags; extern u_int cpu_mon_min_size; diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 7b06ecab2ad5..7fa35bd50244 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -157,7 +157,7 @@ SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); #endif -static char cpu_model[128]; +char cpu_model[128]; SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_MPSAFE, cpu_model, 0, "Machine model"); From nobody Thu Jan 4 13:40:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQC0MnCz56QLQ; Thu, 4 Jan 2024 13:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQB63v9z41km; Thu, 4 Jan 2024 13:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N/oPSErPEKrKtEqPsiuZd8FgE3xCYwZZO9iIZIAkqvo=; b=P91OukhxWt3y71wT5kiwJ8zDDXDLFngUYPZdVXvPMBVPNCwQ0uQtEl+2B1aY9e+vWIqE0A e9Oj0GgGDa0b2ETmjYgxPf0vCgccnxeYnnFznFR8PPwo/LfAZ5jcCH+9XSNDxFfA4qQjxZ X1FbNCOzAmk1n3SisB3VJYKpSfePf0UHOe6PyedNHngMBvfB7ky5ZGtGxmeUxeFiuuLuby bD0jDjORFJErnG14sD35G+pSEyJ3MpuzZoitYnrTW2Li9FeuD6ZBj5uFqV0oq6MZa929h7 vbWzOKZoI5WTnzEqHJHF8yoWkuVD1A3TPnFu9QRdXSkQg9FooABDmm8qLsy1jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N/oPSErPEKrKtEqPsiuZd8FgE3xCYwZZO9iIZIAkqvo=; b=exMVM748lWn66+T9yRlBR1tRSszM2awAuXUfvaEYSVvWJ3SoVckeSns91pp2aXv7nDp5ob 9c/mvcoG+03uBwC2X4CijabLq1m4nzwx84UcZBpmKz0lWs6+7ENL6BjwZMrqLrD9ah+KlI ggY5jsIaQBR8XBU1XF5NE2tSjXr12yoNchroR4j0Sg2VFKXLSw1Tg1owHBLuProvqOYjLD ntHtOCTCcHiwOK9PgPCOTy/+LOAgxLc53EXL5BJM63HIHCjMEYPxu+pR6IRmss7E1kd0Ds wFfBfdt9PpucbASmn42RFma41DjT8el0bXDsM3zuQOyLYW/yxbgbuSIj3UnyLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375618; a=rsa-sha256; cv=none; b=RtAn/Vc6epYYtZFX7+YtuJkVl5aDI3Fnh4eLm6FzJOU9g6QlAo7KXaktkFeAt8BePUZzmU vBV5LDWKKe1cEKNVGxxxgdoXiQrWpTRsMex/EDZzZdpg0G+LTEBHtAbTxaFI3ZHKC6Dvlh 0tk3UyqXKfhLFvbPcRE68PvMLJgg2+TUsE70qqELMUo1Gdatd1D+2wx65Jcn2Ff5w95UUt fYfwUw3XsdN4WzWma1c+XtVAnA+tTuXXh+vWwte33cx5AxuFaq7YA0XVGOW4xyDLlq0DWv i4mJb5uu4Kz1OgqfPqhMgTNXw6V5M+7WnrBvn2pdMjCWAchuLMZFBH1iPofLlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQB59lqzFwk; Thu, 4 Jan 2024 13:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeIV6041874; Thu, 4 Jan 2024 13:40:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeIFG041871; Thu, 4 Jan 2024 13:40:18 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:18 GMT Message-Id: <202401041340.404DeIFG041871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: d74a742704eb - main - linprocfs: Avoid using a sysctl to get the CPU model string List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d74a742704eb81f0c6f4aa83e4cb0de26a81c400 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d74a742704eb81f0c6f4aa83e4cb0de26a81c400 commit d74a742704eb81f0c6f4aa83e4cb0de26a81c400 Author: Mark Johnston AuthorDate: 2024-01-04 13:25:05 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 linprocfs: Avoid using a sysctl to get the CPU model string This will fail if the reading process is in capability mode. Just copy the string directly. PR: 276043 Reviewed by: emaste, imp, kib Reported and tested by: Ricardo Branco MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43281 --- sys/compat/linprocfs/linprocfs.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 3504b83dfde6..391d5f679ee5 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -199,10 +199,7 @@ linprocfs_domeminfo(PFS_FILL_ARGS) static int linprocfs_docpuinfo(PFS_FILL_ARGS) { - int hw_model[2]; - char model[128]; uint64_t freq; - size_t size; u_int cache_size[4]; u_int regs[4] = { 0 }; int fqmhz, fqkhz; @@ -302,12 +299,6 @@ linprocfs_docpuinfo(PFS_FILL_ARGS) "acc_power", }; - hw_model[0] = CTL_HW; - hw_model[1] = HW_MODEL; - model[0] = '\0'; - size = sizeof(model); - if (kernel_sysctl(td, hw_model, 2, &model, &size, 0, 0, 0, 0) != 0) - strcpy(model, "unknown"); #ifdef __i386__ switch (cpu_vendor_id) { case CPU_VENDOR_AMD: @@ -351,7 +342,7 @@ linprocfs_docpuinfo(PFS_FILL_ARGS) "cpuid level\t: %d\n" "wp\t\t: %s\n", i, cpu_vendor, CPUID_TO_FAMILY(cpu_id), - CPUID_TO_MODEL(cpu_id), model, cpu_id & CPUID_STEPPING, + CPUID_TO_MODEL(cpu_id), cpu_model, cpu_id & CPUID_STEPPING, fqmhz, fqkhz, (cache_size[2] >> 16), 0, mp_ncpus, i, mp_ncpus, i, i, /*cpu_id & CPUID_LOCAL_APIC_ID ??*/ From nobody Thu Jan 4 13:40:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQD4DZxz56Q5C; Thu, 4 Jan 2024 13:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQD05phz41g6; Thu, 4 Jan 2024 13:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WXvhc5OgyFe8JLBaAIskoUDaa0J26RhqHFxOmX2G2GQ=; b=iA9L8wkYco1ytuB1OVXvk+DwnxdiICgBwYBqWc6NyfbywoyEk1PRs79egjweZBrasowGuK IFmsvUgLKcqjpnLAxAvqubuwv8V10/5CixhCcIHQy5uMcZ6Z2nhydhMsIXg8psYjRtw2X6 D5brc6sQ7ffDCoviGLxblBat/jafQCEg0yEJrwsPLekaTKVxVD1WMFat/B4kU3DMy7aP6z /uPA1uuG0PQlDR+AF/nin0ojKPiQYNsXh3SSIOrGN2g9rg23mmvis57Cy9+r36uwC7kD6e Cvo0CsIrJa/nmycITpo/NsaXyy1SmhP+5zaOu/Z68hWYuPdXboweT+SPfR0gZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WXvhc5OgyFe8JLBaAIskoUDaa0J26RhqHFxOmX2G2GQ=; b=Y2Xf3Rj9nOZmvgPrqZmWo580WBIWmZ9rVcO7iSG8ZAP4NEy9QrEqtFldCLT+PYLQvFoW46 9k44AIjrygufJfNLLInYrzs1Evqu8QbAN7HT3ctI6p+dbhduwV9yWB1vdzjxJrUYTnX2Ue k07aNX0aPmwsxcHXUSfR0rJNExXim1oEudBe9c49GOOPmvqXF6vKW4VV9dMpdzPzHWWBIe BhL0xkPE37KLC199rZHVFB+b03Jp6CwVBwERE0pg+UvuaKh/TJtjlRjIjgJ9+gIP/aR/dd hCmqig0OYCrR5DSKCXBK59GuDouvSglpiPtVqf0a4p4AK6D810LQrQXklzP5Vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375620; a=rsa-sha256; cv=none; b=XlEheGRiGp6aFHGK3KicF7vle1VoEiAgK+UIPiHBtPtSACpQIc7baVhpmurvd+Rox9t/Qn nw7NZDh0zgrcOiTG2ZANRVtiKJRClL2dA3zurbWJqKggUZC8SnTr907rUIbHz1aXkIX8cE /efFv7B05IieyTizoQ9TbHpeGXZztlMrzgtwYBCVZEaO20egXASmxVE9EN4w14FKyXWG1f WvZlgydXnuKd9nEM4yiYaLtzsxa3EXVMQthAY11WtVDTntetNPF6qw0X+UmLR0flVUUizM 4Zmq+RyhignvxU2skdlKiLoThI8lnpsT+07tvruQs7/UHRduUNb3p/LRcHHXog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQC6FTpzFfQ; Thu, 4 Jan 2024 13:40:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeJhX041928; Thu, 4 Jan 2024 13:40:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeJbG041925; Thu, 4 Jan 2024 13:40:19 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:19 GMT Message-Id: <202401041340.404DeJbG041925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0aba5dd2af57 - main - identcpu: Let the hw.model be readable in capability mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0aba5dd2af57ea3ae90eb49d7745c4c5b6f0ab6b Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0aba5dd2af57ea3ae90eb49d7745c4c5b6f0ab6b commit 0aba5dd2af57ea3ae90eb49d7745c4c5b6f0ab6b Author: Mark Johnston AuthorDate: 2024-01-04 13:26:53 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 identcpu: Let the hw.model be readable in capability mode On some platforms this static information can be derived directly from the CPU, and there doesn't seem much use in restricting it. Reviewed by: emaste, imp, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43281 --- sys/arm/arm/identcpu-v6.c | 2 +- sys/arm64/arm64/identcpu.c | 2 +- sys/powerpc/powerpc/cpu.c | 2 +- sys/x86/x86/identcpu.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/arm/arm/identcpu-v6.c b/sys/arm/arm/identcpu-v6.c index 567f576826ee..34663dfa51e6 100644 --- a/sys/arm/arm/identcpu-v6.c +++ b/sys/arm/arm/identcpu-v6.c @@ -55,7 +55,7 @@ SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); static char cpu_model[64]; -SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, +SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, cpu_model, sizeof(cpu_model), "Machine model"); static char hw_buf[81]; diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index e7657e3aecf8..7cdcc9dfcb56 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -108,7 +108,7 @@ SYSCTL_PROC(_hw, HW_MACHINE, machine, CTLTYPE_STRING | CTLFLAG_RD | "Machine class"); static char cpu_model[64]; -SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, +SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, cpu_model, sizeof(cpu_model), "Machine model"); #define MAX_CACHES 8 /* Maximum number of caches supported diff --git a/sys/powerpc/powerpc/cpu.c b/sys/powerpc/powerpc/cpu.c index 518623af9de4..19907e3973e7 100644 --- a/sys/powerpc/powerpc/cpu.c +++ b/sys/powerpc/powerpc/cpu.c @@ -239,7 +239,7 @@ static void cpu_6xx_print_cacheinfo(u_int, uint16_t); static int cpu_feature_bit(SYSCTL_HANDLER_ARGS); static char model[64]; -SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, model, 0, ""); +SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, model, 0, ""); static const struct cputab *cput; diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 7fa35bd50244..3163053a123f 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -158,7 +158,7 @@ SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, #endif char cpu_model[128]; -SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_MPSAFE, +SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD | CTLFLAG_MPSAFE, cpu_model, 0, "Machine model"); static int hw_clockrate; From nobody Thu Jan 4 13:40:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQF2NkLz56QFq; Thu, 4 Jan 2024 13:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQF0pqgz41Zg; Thu, 4 Jan 2024 13:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nfu2vBH+ZguqWBBizv2DS/WDVyI6vGyBAcC5XjfLVr0=; b=EEb6duXJ0cIYdOVH6URpXHRn5fTUqArQ4dYk0s4OWEmaAn5p+QVevuaGzFJAKNpgqLaIkN 8NgOyouxZA5IkVglgwZNZkNxRlfdxA3yADZfq5s8s+eOM8z8kC/+DY7I6xLZDYjgGQ1qB3 Ij3Ba2+83GT/eSMp/46HafdWeXCLDq/T/C7KRXj5a8yDMup25w+IG5btwuVLFQeaU+hY1r 7u8e6bod0Q9eIWqcmH7B2L+m1oc/zrQHrtmO4wnNLy9fTHmynm8bPHMf7rh44+iXDCCaZF vTlzMtsQKNr6CpxwQR6X7g1uZpTIu+eTIJOJuz1Rsv1/F+kwVfMobWbRtVgkyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nfu2vBH+ZguqWBBizv2DS/WDVyI6vGyBAcC5XjfLVr0=; b=FTW9db/eKmAWEdTG7PwXdIYi25djg6jWbWctignOSKM2xF+u6C4lNKsAuuCvOZGbkIyYQ3 ktKO9JQp01VbrejOfLtCNFia2cireqlDP80q49xFtOFuunrOEpaJNECCiWZky/PCq2R0QT /NY5qEdfD3Br15brXbExYNRRn18CvrT/+GkJAuC6BTw+kK22GF3HlY/36A6HNSQpkxMEyx VoDH7e+gSy+8YWzl59fBzAXIDOXs7pKLJfR+PLswMtiMNNS2hZdleFiq+T4C/0uStiURlj k6HY0W8bF918RRiqp9AzLQg6BbT8O4Q6JuRuKFVYjyZDJf1XVEnZu8kFP7fSLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375621; a=rsa-sha256; cv=none; b=BkUmrmwaOEuvs1iMeOAEX0mnJ7QTn6s7d46I4LyTwKlFdk+JeK6hLpLzHQmt4u0nrLHBr+ SGolonb26KlqQYkYLB3Svx+CL0fwLwutI6u+DbYRk75b0KEQ5KWP+FvY/ngMrkguXoU90l 1pFDMwQD0wp8eWiT1N8TNk959WQUmdYbwgbFeaeCus3BgrUiIVUmzEYMybFILkCglO1s7P 2pu4+L30bwNweWdkApNXRL7Om6gSFLukSeWPQsXIJdRyJFkNmT+i3U+bzjP6Wj72vX3XyQ tj43mHetsgFdez5W8iHGGlNGwjfou9992nDPquKefODq0CseUuF62o25iGd1qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQD72N4zFfR; Thu, 4 Jan 2024 13:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeKHv041979; Thu, 4 Jan 2024 13:40:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeKYl041976; Thu, 4 Jan 2024 13:40:20 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:20 GMT Message-Id: <202401041340.404DeKYl041976@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 969fc091343e - main - sysctl: Don't pass CTLFLAG_MPSAFE to SYSCTL_STRING List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 969fc091343e593f15f0f3326f65292b435423d5 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=969fc091343e593f15f0f3326f65292b435423d5 commit 969fc091343e593f15f0f3326f65292b435423d5 Author: Mark Johnston AuthorDate: 2024-01-04 13:33:05 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 sysctl: Don't pass CTLFLAG_MPSAFE to SYSCTL_STRING It is redundant. No functional change intended. MFC after: 1 week --- sys/kern/kern_mib.c | 16 ++++++++-------- sys/x86/x86/identcpu.c | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index b7a801cd53c0..e4f557a3461d 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -92,20 +92,20 @@ SYSCTL_ROOT_NODE(OID_AUTO, regression, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Regression test MIB"); #endif -SYSCTL_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD|CTLFLAG_MPSAFE, +SYSCTL_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD, kern_ident, 0, "Kernel identifier"); -SYSCTL_INT(_kern, KERN_OSREV, osrevision, CTLFLAG_RD|CTLFLAG_CAPRD, +SYSCTL_INT(_kern, KERN_OSREV, osrevision, CTLFLAG_RD | CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, BSD, "Operating system revision"); -SYSCTL_STRING(_kern, KERN_VERSION, version, CTLFLAG_RD|CTLFLAG_MPSAFE, +SYSCTL_STRING(_kern, KERN_VERSION, version, CTLFLAG_RD, version, 0, "Kernel version"); -SYSCTL_STRING(_kern, OID_AUTO, compiler_version, CTLFLAG_RD|CTLFLAG_MPSAFE, +SYSCTL_STRING(_kern, OID_AUTO, compiler_version, CTLFLAG_RD, compiler_version, 0, "Version of compiler used to compile kernel"); -SYSCTL_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD|CTLFLAG_MPSAFE| - CTLFLAG_CAPRD, ostype, 0, "Operating system type"); +SYSCTL_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD | CTLFLAG_CAPRD, + ostype, 0, "Operating system type"); SYSCTL_INT(_kern, KERN_MAXPROC, maxproc, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, &maxproc, 0, "Maximum number of processes"); @@ -139,7 +139,7 @@ SYSCTL_INT(_kern, KERN_SAVED_IDS, saved_ids, CTLFLAG_RD|CTLFLAG_CAPRD, char kernelname[MAXPATHLEN] = PATH_KERNEL; /* XXX bloat */ -SYSCTL_STRING(_kern, KERN_BOOTFILE, bootfile, CTLFLAG_RW | CTLFLAG_MPSAFE, +SYSCTL_STRING(_kern, KERN_BOOTFILE, bootfile, CTLFLAG_RW, kernelname, sizeof kernelname, "Name of kernel file booted"); #ifdef COMPAT_FREEBSD12 @@ -456,7 +456,7 @@ SYSCTL_PROC(_kern, KERN_SECURELVL, securelevel, /* Actual kernel configuration options. */ extern char kernconfstring[]; -SYSCTL_STRING(_kern, OID_AUTO, conftxt, CTLFLAG_RD | CTLFLAG_MPSAFE, +SYSCTL_STRING(_kern, OID_AUTO, conftxt, CTLFLAG_RD, kernconfstring, 0, "Kernel configuration file"); #endif diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 3163053a123f..9c82f9f8a882 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -158,7 +158,7 @@ SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, #endif char cpu_model[128]; -SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD | CTLFLAG_MPSAFE, +SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD | CTLFLAG_CAPRD, cpu_model, 0, "Machine model"); static int hw_clockrate; @@ -168,7 +168,7 @@ SYSCTL_INT(_hw, OID_AUTO, clockrate, CTLFLAG_RD, u_int hv_base; u_int hv_high; char hv_vendor[16]; -SYSCTL_STRING(_hw, OID_AUTO, hv_vendor, CTLFLAG_RD | CTLFLAG_MPSAFE, hv_vendor, +SYSCTL_STRING(_hw, OID_AUTO, hv_vendor, CTLFLAG_RD, hv_vendor, 0, "Hypervisor vendor"); static eventhandler_tag tsc_post_tag; From nobody Thu Jan 4 13:40:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQG2yvXz56Q80; Thu, 4 Jan 2024 13:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQG1cVNz41d2; Thu, 4 Jan 2024 13:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HeiJTvglC/+aiLeD8j+V19newH+JYgadPSHC7mG2zU8=; b=bALWpd2UO+MSUDdsYmV/weIumzcnT0/oxmZ9PwDFb/zJRCo0kZY6l6hCDb7T66Cc/L+Vj4 PqNteRB0DQxKtIcPLrd65/rR2OwemlrgIhmDXLdqFyCq+kJPScryYtu6JbUCNO6381PsWH 7+oiiaLM4JdfhEkKbz/4EVYfHgdB5hYOy1duWqZC+r1GC6HWX+tErBdLh0GiVGA9KE8QXR qVk2qb0EgCVzMU9EbjaoR8UAH0zVf3vhD8hWiDVXwJNlnS3Y1gSyyGqmyQYUxtBVZMjnhL QSi3ynpMlAU6i3tVC1dCVpoEuyN0Rb6ywJThV7BnUxKpkhkaWCh/bkvBgKp4ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HeiJTvglC/+aiLeD8j+V19newH+JYgadPSHC7mG2zU8=; b=M0j+x+1KcwHzi3lJ0uBAa6+yPbM18hMGI+V1hfH0xloSWvPvgsdBS86foDQG0o1LqMffIP uGVF2JVPearoGIS6hwbLVtSDOPTn2/lOPPohNSw9l22/085dLSmITgKKvK784v1U+zQFR3 LQ1pTu4RHEcb68K6T+GiXOC2PkN3snvSwQwv9kL+w1cTrqLOkqq3Jb9xGz2CXVEYB6BRLk Ws0TAmNK4m9akE+Du7TZHI0bCrJlCuKF/4smWRlC3Iet5gHjR6xWITObRVfJ+/ppkBislj ObdpKUic0K0ZVxm8K+feXHow2TpxPk90F0bIyIfZplhBRxh6ivmHPvtJ32yLYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375622; a=rsa-sha256; cv=none; b=eLCl19sY/wuDBoYEUgk+yQVRWneu3Bs84xffop/B1u003xs1Pf0PZLC+nUGzXXkB74RcuV Kyro9wqoJ9vwBMsdmic/X5EtD8dcUdQL7DlNwsif2Ww8S7M7ReELeJo54f5yT6rDCmrlFi L2/sJJNiWPzHoqYqs0j5xr87cnMRPLMOuNT9DgIIES8OkJ0DiVpPImfFMvXcS6opjsxznb qhGRxBK6n3nX8PHnidx8LrhE5zSzWl+FWCRgFQgH/HKFTkn5YR49PYoKb/bXHT6/8b9uJn rC7GBhXjc2o56Q3b93UyJf5E9f4G1LBY6vPZB3g4st+WuEXQdM76fjV8Xi0k7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQG0kmLzFwl; Thu, 4 Jan 2024 13:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeMNH042024; Thu, 4 Jan 2024 13:40:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeMrc042021; Thu, 4 Jan 2024 13:40:22 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:22 GMT Message-Id: <202401041340.404DeMrc042021@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: a0993376ec5f - main - stats: Check for errors from copyout() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a0993376ec5f979272a62b140ec9f41bc02107b3 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a0993376ec5f979272a62b140ec9f41bc02107b3 commit a0993376ec5f979272a62b140ec9f41bc02107b3 Author: Mark Johnston AuthorDate: 2024-01-04 13:33:58 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 stats: Check for errors from copyout() This is in preparation for annotating copyin() and related functions with __result_use_check. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43179 --- sys/kern/subr_stats.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_stats.c b/sys/kern/subr_stats.c index 63fd785d9175..0f1b83a5783a 100644 --- a/sys/kern/subr_stats.c +++ b/sys/kern/subr_stats.c @@ -1107,13 +1107,19 @@ stats_v1_blob_clone(struct statsblobv1 **dst, size_t dstmaxsz, */ #ifdef _KERNEL if (flags & SB_CLONE_USRDSTNOFAULT) - copyout_nofault(src, *dst, + error = copyout_nofault(src, *dst, offsetof(struct statsblob, maxsz)); else if (flags & SB_CLONE_USRDST) - copyout(src, *dst, offsetof(struct statsblob, maxsz)); + error = copyout(src, *dst, + offsetof(struct statsblob, maxsz)); else #endif memcpy(*dst, src, offsetof(struct statsblob, maxsz)); +#ifdef _KERNEL + if (error != 0) + goto out; +#endif + if (dstmaxsz >= src->cursz) { postcurszlen = src->cursz - @@ -1125,14 +1131,18 @@ stats_v1_blob_clone(struct statsblobv1 **dst, size_t dstmaxsz, } #ifdef _KERNEL if (flags & SB_CLONE_USRDSTNOFAULT) - copyout_nofault(&(src->cursz), &((*dst)->cursz), + error = copyout_nofault(&(src->cursz), &((*dst)->cursz), postcurszlen); else if (flags & SB_CLONE_USRDST) - copyout(&(src->cursz), &((*dst)->cursz), postcurszlen); + error = copyout(&(src->cursz), &((*dst)->cursz), + postcurszlen); else #endif memcpy(&((*dst)->cursz), &(src->cursz), postcurszlen); } +#ifdef _KERNEL +out: +#endif return (error); } From nobody Thu Jan 4 13:40:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQH59Mcz56QJ8; Thu, 4 Jan 2024 13: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQH2Smqz41tY; Thu, 4 Jan 2024 13: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=1704375623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LjyaoAMxW0OGtYoUiWWPwePtcoLlu/PGWTcoQ7rbK08=; b=jYcF08P8L8pMpSP3LhFdSBuJ0mV+R4ELQba3fD3snhuTm76+27NNOdW02QCgbhI/Ulz0Ky 0tz2rL7VqO6JM1A+zRPrf4CCOTrR+zkEO+JMHLGXvIFEDNJvNzFypcSfKT+J3cAXF6hBTW hLtUfhqmKZ1HKa6+rMncszxKE0kB/IeSFMC7tHFiVZlSYie6CBuu5YnRJhxBcMTTACW15N AKlwpHogVJgoF1pqATyE78QmZDoT7es6L6rS7B4wDwLh8iXnO8zP1qDqd6vQThwYHv0k2L exj1+ookH8rnvdX7UIpIIHqHP6cswIHw2cBeI7DUU6bTiZ9H64mrIh0dV7JgjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LjyaoAMxW0OGtYoUiWWPwePtcoLlu/PGWTcoQ7rbK08=; b=Wu+kvdyQVhAW16qlXExYDFtp8P9BVS9SBaCSbI/NNXQ5+7flYnXMDzkcSJHwMpl/L5qjL5 J6ElUCm5OprRqKfatz4WBLAZ0w6eMk731CMN8FEAMpbzW8Ek9dmP5IqPzdvBy0AAAhvH31 434L01WfBtgz5asvMt0wwlSlQ7mkvIvHqX3drpaFZfraK5bd0R1G0GxdCpAMtQNF7VjH0s HX4OsReNfG/RPSZBwkmfGwzFOYjaKDr0C/wzxRub1TvMeKoN3fgnXlOkHiMTd9cDDFyUUx sYU16Kw7vqS6a6BVhZh9uhGQRc/9FLPWL2wPB8iOJOQrOHFd/uUAvjcNOWrygg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375623; a=rsa-sha256; cv=none; b=WesUeSDUBxR5ir6hLbk0xtPFlEGriSUeLRAmkYUst845YfdXE82ewBvKR3hk1Abz74eSuH e9PZizaFZ3MmyWhEx8fBPWWRJZjSNhMpWkoWCR9s/fRWyN0PU7H963mW1jqPOFXsj5u7eB ZAkGpLFevp2l14muYMleeSw+lu2LVUuMb3ZeI847WSliNiPeveYaCgZ4pqFQ+82yFQyqtM J4thy31/sUc47F7028kFBG89GAqExsH9cTbD3GfylFudyCa6Zsq7y1YpkckToPDjGAbobu dMnCM/8PL+qujS0FPEVWdFx4Xjsn9YCGhrhvm8zZD3bC7hq/KY3kvHfJYi5nfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQH1ZCZzFSX; Thu, 4 Jan 2024 13:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeN4o042067; Thu, 4 Jan 2024 13:40:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeNJb042064; Thu, 4 Jan 2024 13:40:23 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:23 GMT Message-Id: <202401041340.404DeNJb042064@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 904cd456f0f9 - main - targ: Handle errors from suword() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 904cd456f0f95c10fdb4c99a0118f30d23242dec Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=904cd456f0f95c10fdb4c99a0118f30d23242dec commit 904cd456f0f95c10fdb4c99a0118f30d23242dec Author: Mark Johnston AuthorDate: 2024-01-04 13:34:31 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 targ: Handle errors from suword() In targstart() we are already handling an error and have no go way to signal the failure to upper layers, so ignore the return value of suword() there. This is in preparation for annotating copyin() and related functions with __result_use_check. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43202 --- sys/cam/scsi/scsi_target.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/cam/scsi/scsi_target.c b/sys/cam/scsi/scsi_target.c index f1c01cab8638..034b528b415c 100644 --- a/sys/cam/scsi/scsi_target.c +++ b/sys/cam/scsi/scsi_target.c @@ -634,8 +634,8 @@ targstart(struct cam_periph *periph, union ccb *start_ccb) xpt_print(periph->path, "targsendccb failed, err %d\n", error); xpt_release_ccb(start_ccb); - suword(&descr->user_ccb->ccb_h.status, - CAM_REQ_CMP_ERR); + (void)suword(&descr->user_ccb->ccb_h.status, + CAM_REQ_CMP_ERR); TAILQ_INSERT_TAIL(&softc->abort_queue, descr, tqe); notify_user(softc); } @@ -867,7 +867,10 @@ targread(struct cdev *dev, struct uio *uio, int ioflag) CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("targread aborted descr %p (%p)\n", user_descr, user_ccb)); - suword(&user_ccb->ccb_h.status, CAM_REQ_ABORTED); + if (suword(&user_ccb->ccb_h.status, CAM_REQ_ABORTED) != 0) { + error = EFAULT; + goto read_fail; + } cam_periph_unlock(softc->periph); error = uiomove((caddr_t)&user_ccb, sizeof(user_ccb), uio); cam_periph_lock(softc->periph); From nobody Thu Jan 4 13:40:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5SQJ4qrSz56Q8B; Thu, 4 Jan 2024 13:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5SQJ3WbXz420J; Thu, 4 Jan 2024 13:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zBdpsk5Ml6AjQKAqCEkDRg8iHxXBsUQdNkS2rl7m0dk=; b=QUkeaADpCOLgq6DB5nPMuFc/0b3oXoXGiz3aaInTt7cJ89MAqHNOIWAuQ4KDeciE23YEHP FY91FoTdmiuC+5wKBaB12ypqYBMGw6iOxORgFNjdIblYGNlQK/Zllx9+j5NDNsojQO50au 7ceA4KGMmX5W049pg6OwhwauOsZWl8tlFTsVwkbq/8Y8DNrfkmDQQABaJ4Uu1fYXGleKfh W5Q+B4JeyWgBGb5T80TTaEzlfOUdI11fRSj51lS+L6HwVFj4F+tAeSTbquVK4+Owu3DE7Z 5Cxmv2btsxApIOFPNcsmmxBOSV/yWp09VLj4bt2rixkjNi+XBue7e3P96K44AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704375624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zBdpsk5Ml6AjQKAqCEkDRg8iHxXBsUQdNkS2rl7m0dk=; b=vgEN5D95tQ0upz+xtThjuC/4S/IMcmpoYcW3aDPcmcizH0XSmKeNz8k7CUGeB0sMwNYWi8 YSXe/NhAPKH/sqj9+hqY/L+0CovbdOk3ceHNS5IbaigRRDx+Y/95WjtlnBnj5jBP+BQPOL 9d8NDosva0286NlF2HIKVohuHcEEGwttGULBbqW2I5dyx22a7bhXc1nR63ebm26OWM6LMi 22uYNBXOzRBFNvTGBDuA9xdEGSelT8Q+S2MDls3HNH9q7dzvxOGz6XUTprbItWoWygeboM E//uRMiZ36jg+7O5FaOLv5/HWDE6P2jfdT/K0EFvFqo4Akdy+lNh/nK9rdIXYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704375624; a=rsa-sha256; cv=none; b=aAMtVnchssYpJ9/M3J6c331JNOXWNmdoDiXte1F5pz0X82P75iv2hPmWib9IgUXXAL838g +OQrkrwI4K2nSRBHoqcAuO9eex1HPo9UPs5EmKsClLVCGjvuoLlAht6cd+uuh/SWdURKXt ylCr3OWRt4/2L2VfvYH+WksSy4TjisXpDf9Q0S2s8ut/1jym+JNkh1ohqtjvCIMxmeHw/7 ELnj9VxSL2c4BUoil2Dyod4szlJWwbAo8F+fv6NamxbNG1WuHtK7uozpxAY+CKpmOla0/R iyCmvuzA0S8U86TR1C/jW/s3xWZdOtHr1EQvsA+zDnd9iOeBSoaCf41ckky/yQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5SQJ2cn2zFSY; Thu, 4 Jan 2024 13:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404DeORC042122; Thu, 4 Jan 2024 13:40:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404DeOAf042119; Thu, 4 Jan 2024 13:40:24 GMT (envelope-from git) Date: Thu, 4 Jan 2024 13:40:24 GMT Message-Id: <202401041340.404DeOAf042119@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 243e3ab3d34a - main - bnxt: Handle errors from copyout() in ioctl handlers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 243e3ab3d34ada9da4f202f8cab90da2d6c49e5e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=243e3ab3d34ada9da4f202f8cab90da2d6c49e5e commit 243e3ab3d34ada9da4f202f8cab90da2d6c49e5e Author: Mark Johnston AuthorDate: 2024-01-04 13:34:49 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 13:39:53 +0000 bnxt: Handle errors from copyout() in ioctl handlers This is in preparation for annotating copyin() and related functions with __result_use_check. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D43178 --- sys/dev/bnxt/if_bnxt.c | 112 +++++++++++++++++++------------------------------ 1 file changed, 44 insertions(+), 68 deletions(-) diff --git a/sys/dev/bnxt/if_bnxt.c b/sys/dev/bnxt/if_bnxt.c index b3cbdda78338..e3d82214a8a8 100644 --- a/sys/dev/bnxt/if_bnxt.c +++ b/sys/dev/bnxt/if_bnxt.c @@ -2568,15 +2568,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) &find->fw_ver); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_NVM_READ: @@ -2601,22 +2599,20 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) rd->offset + offset, csize, &dma_data); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); break; - } - else { - copyout(dma_data.idi_vaddr, + } else { + rc = copyout(dma_data.idi_vaddr, rd->data + offset, csize); - iod->hdr.rc = 0; + iod->hdr.rc = rc; } remain -= csize; } - if (iod->hdr.rc == 0) - copyout(iod, ioh, iol); + if (rc == 0) + rc = copyout(iod, ioh, iol); iflib_dma_free(&dma_data); - rc = 0; goto exit; } case BNXT_HWRM_FW_RESET: @@ -2628,15 +2624,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) &rst->selfreset); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_FW_QSTATUS: @@ -2648,15 +2642,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) &qstat->selfreset); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_NVM_WRITE: @@ -2670,15 +2662,14 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) &wr->item_length, &wr->index); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_NVM_ERASE_DIR_ENTRY: @@ -2689,15 +2680,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) rc = bnxt_hwrm_nvm_erase_dir_entry(softc, erase->index); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_NVM_GET_DIR_INFO: @@ -2709,15 +2698,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) &info->entry_length); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_NVM_GET_DIR_ENTRIES: @@ -2734,18 +2721,17 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) &get->entry_length, &dma_data); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { - copyout(dma_data.idi_vaddr, get->data, + } else { + rc = copyout(dma_data.idi_vaddr, get->data, get->entry_length * get->entries); - iod->hdr.rc = 0; - copyout(iod, ioh, iol); + iod->hdr.rc = rc; + if (rc == 0) + rc = copyout(iod, ioh, iol); } iflib_dma_free(&dma_data); - rc = 0; goto exit; } case BNXT_HWRM_NVM_VERIFY_UPDATE: @@ -2757,15 +2743,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) vrfy->ordinal, vrfy->ext); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_NVM_INSTALL_UPDATE: @@ -2779,15 +2763,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) &inst->reset_required); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_NVM_MODIFY: @@ -2798,15 +2780,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) mod->offset, mod->data, true, mod->length); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_FW_GET_TIME: @@ -2819,15 +2799,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) >m->second, >m->millisecond, >m->zone); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } case BNXT_HWRM_FW_SET_TIME: @@ -2840,15 +2818,13 @@ bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) stm->second, stm->millisecond, stm->zone); if (rc) { iod->hdr.rc = rc; - copyout(&iod->hdr.rc, &ioh->rc, + rc = copyout(&iod->hdr.rc, &ioh->rc, sizeof(ioh->rc)); - } - else { + } else { iod->hdr.rc = 0; - copyout(iod, ioh, iol); + rc = copyout(iod, ioh, iol); } - rc = 0; goto exit; } } From nobody Thu Jan 4 14:30:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5TXD0Dnvz56Vtg; Thu, 4 Jan 2024 14:30:36 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5TXC5QKgz4J0C; Thu, 4 Jan 2024 14:30:35 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704378635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=yq/SJSLxviDZ4QVuHZMuu4WFBN9yNJb9hOxOJPUy9y0=; b=pMtDbs0WiT7ChZ1sptiDAtRmpKFlXXRejMTX7FmtQiDhkS4dj+2+GUQqry9k3Mv71aO4Su OcrSVBUfy/SJxCgLPlGU/deqlqYJb7juDMIELemh1zEVxXZr9U6aZpb5503ZI9oMfav6XU Y3svbgLv7L6VYyoBP5zRfTcKBwe81cmOkIU6xh3WVqOL0MPvOjB3zUhf564Ao1YCPqdUO4 eVVx28bKlnGBafadfyCMAu44LGeY+ACVQXfjJKI/uOls2lCWEtfXOLesIT+FVKbdKZdhE6 MG56QlvDL6yqs7UNpIvxisCTgPMshVPlgRYXcSjvh3huAQMs4ZuwZRUx70ufaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704378635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=yq/SJSLxviDZ4QVuHZMuu4WFBN9yNJb9hOxOJPUy9y0=; b=D35aZjyztCpajWQSgRCJCywI0xa3zJDISWIATn33GuZIhiV1onZic8Jd4UaB+qH1gvZjly T5JuIqLKpmMLF8+ZAxNlYU0In9FBYlhEbN9gVzMzQmiEjLED1z3B3AjuZ1Zg2cDLsDCMa5 u2/XgoLPU0dBWRrwROt+CwJbSP7DREVsBFFLLoVkK5brsUaliLCcCniCkfOcm4pB1JuqIo QH2PpOCZQddDE1j1yMvn3oDqAcwFm/HlAlLy5fXVrg31dZUZEycuinsKvDvumScu9/MUcu xLKP4//M0fkZwM9MNMMQSUl+VuBekX0FbYnzXaItTSUlKd7Fo7Gb1Id65Z64HA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704378635; a=rsa-sha256; cv=none; b=nZUcOxFdQVr+Yf4bjVrpazBr/7u12C/pex8odEszc/j0xkTW8zVhIQ5zyVenV/NcB5dIRB nI52meZvEDcIF/8ETxCrFJpk3pHhrBS5IMlYMwfWidU8lEuu+MG4E3+jc0KiwuswIIu1rg 8k5WPwH3mIpeWzL3SbU5CKyhg9LjXA8YnBtTB3dhFivb+Gf8yski7/1HIBe8KwtZeqBLv2 GptarrwzrQgwf8jSRLYGsLeCapSrPzFhv+Qb2Owgte0f+wkbilU88zkDKToALK1LN8wfZ7 /F8EGB4KKQw9Z2GSV5sxJo5LxZpRSMh5KGau0hZcaCKm1DhqJOzxsIxDv5lBdw== Received: from ravel.localnet (lfbn-nic-1-525-172.w90-118.abo.wanadoo.fr [90.118.140.172]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4T5TX951SXz1Vxt; Thu, 4 Jan 2024 14:30:33 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: bd61c1e89dc4 - main - libthr: thr_attr.c: Clarity, whitespace and style Date: Thu, 04 Jan 2024 15:30:18 +0100 Message-ID: <2782916.iL6vRArjjl@ravel> In-Reply-To: References: <202401041044.404AiIN0046997@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart85221458.0ko45tJjV3"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart85221458.0ko45tJjV3 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="UTF-8"; protected-headers="v1" From: Olivier Certner To: Konstantin Belousov Date: Thu, 04 Jan 2024 15:30:18 +0100 Message-ID: <2782916.iL6vRArjjl@ravel> In-Reply-To: MIME-Version: 1.0 Hi Konstantin, This is the commit message: > > libthr: thr_attr.c: Clarity, whitespace and style > > > > Also, remove most comments, which don't add value. There was no intention on my side to make any other changes other than mostly mechanical ones to the existing code in this particular commit, which already is in itself a big diff. > The check is not needed. Indeed. It was there from the start. > there and in all similar places that test a flag bit I have already been told multiple times that testing a flag in an integer with '&' is to be assimilated as a boolean result, which per style(9) doesn't require explicit testing for non-zero. I think I even had to change code once in a review for this reason. I'm happy to change that if there can be a clear consensus on one way or the other. Additionally, this is not code I touched (except for indentation). > > + if ((pattr = malloc(sizeof(*pattr))) == NULL) > > + return (ENOMEM); > > + > > + memcpy(pattr, &_pthread_attr_default, sizeof(struct pthread_attr)); > Above you changed sizeeof(struct pthread_attr) to sizeof(*pattr), but > there you left the type name. Ah, indeed, thanks for spotting that inconsistency. > For me this looks somewhat confusing, in other places the explicit flag > name symbol is used instead of a variable value. With the assignment being in the preceding line, I'm not sure I share that sentiment, though I agree this is inconsistent with the 'else' branch. Happy to change it in a subsequent commit (original code is unchanged). > There should be a blank line after the local vars declaration. Yes, a style-fixup that I missed, thanks. > What is the point of doing calloc() if the whole allocated memory is > overwritten by the memcpy() call below? I agree this can be changed (in a subsequent pass, this is not a style issue, although arguably a clarity one). I'll make sure you're added to differential revisions changing this file. Thanks and regards. -- Olivier Certner --nextPart85221458.0ko45tJjV3 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmWWwPoACgkQjKEwQJce JicgkQ//QctR4O6qseGMiofKrhtOSa0NDXzUkp2iHyoxYTz7AnaCQN8P7f2tJB2t kuXXYt8h3Ct+0uulkDnsoy9vaXS1A5kSlQ0+vby30Atgewaw9Tcfm45Pti4euw3j OYmCb3J+OikyRfF5uI7diOcN2DFKm/qRK+5WqkaYBTm9Rc2fKchV34lMZtqBIXUX mSeQSkNVUCOU6b760YHDOCrCfOuV/tQUyB55lYbITBDQZKsvzEUCiJ9D2vdgTvOW CpE+n6bCp9nLuBdO59rd3THNMdjujcxNmNeaxlrliE6pA2LGHiXOyCdQFy6bLccF ZOuY7F5PM9743JCFpkqbiXKJMiiY96lkrVgU0srUbaoAmRlmCFwLpdjzrH/yiLN1 7Vmq+Fk2yuX9AdtyMDAslRpWhSNTC2lajY263IUHF3qcyv5Vg06dkRoEfncKtFFX TIOimWIgjWqEVJoR6t6Klssz92urgW/rPk8bAnNOT9nAQqZCzFpV4U7EXy1ltkE7 W9DJR8XDJ5OkTarDqLPSOK0GVuWx5+r+ni1MQtYBQFF0/Nrds+4wvg86cicPexD8 errksz++WGfj8HMDH+1d25EbGX+pzE+z4z2XJLGKYpy0/S3eL9nmgK5VIcWwc/ky /AA3RMrDYaB66MWEuovuGlxIf72SFx0n6Kq8qW0gecwJQcs17TM= =nVL9 -----END PGP SIGNATURE----- --nextPart85221458.0ko45tJjV3-- From nobody Thu Jan 4 14:59:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5V9N6xJ8z56YSy; Thu, 4 Jan 2024 14:59: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5V9N6Jjfz4NJD; Thu, 4 Jan 2024 14:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704380360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kko8cwaK+2SDA4b7P9SeuncNwdTeNsMVch/eb/iYD9Q=; b=RYKbz9x3/J97PqPvkAI9JXzi9+R+4yG7UDzcHhfyV6jzjBtfjAxDGDlt4fqVcL6WRBcfMR /Kz8hgez4seCcwBiGf01uWX1FJ32Z8p8fyibrVmGmNyW22Hvd+uKSXBNzo7d8dkSZVhsRK QrY/N/bWU7oyf2VVDSHo12nyJ4p5+YTWpH24rJUArUKfkPgSa15yQrZzXL7HubKYHHYON8 Feyex2Gkj7dFGiXY1Uf2JBPidC30XqS330YpyD49VS5gT73ObVy7bX6bpGb8Ayhui7Vx2/ e5X4z8g2NaRxlZuUWNRaC4vQgS1zTp1KlHgNHPtBdJGEr3lAaMCBDP21CevNBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704380360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kko8cwaK+2SDA4b7P9SeuncNwdTeNsMVch/eb/iYD9Q=; b=q+5zCMp7+DYQ/X8gEqMJutYV9geGKKKB5/8f8FZrX7qlVTpWpDRPnkutk8bp3CkExkz9oQ IISJIkM3sLhX8j6o8zOFAD0hyV3K6c3T+HQjb0Jy+Ffg5PPk2c+ol7lh82HXLOOaoatIE5 UmAkCqUNCfy6VScbH5RxqAurW5IJSHMY81psA7Y9JM3j7kvSyF/Oxye4dfEkrwnyD4NSCb WnESUdFJYYCUQAv9VaO7aoJlnFT2z64VT9ydub1Yhx5GYHP4N+AbkXkNRSYuf3ERW7BlOl uATJA5UALknHN+nIfQaaMvjahlrOsSAUQ+LUi6fCgAmneoYOJCxSJce6mT3vsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704380360; a=rsa-sha256; cv=none; b=WleSzMNqw/IQoMx/ebpb+riUUIvoN62e5i6Pz5aGKMCL8PTy4q7bIigdzFC8XP1Q/3Eu8/ TFp0RUAoKJ2/SytpUF962mb7bAN7eifpeqcfkKmHR+cBUs/+LTqviByP8gWJRAVDoLVDA9 28GBxWVjBDc7iS20gIt+9GbPgv0VHUlN/tPVmF6UhspgljeP+/CVme5QWpWxl1VhCvZ4Ue ONP13u8/Ty99KJ3sQRbS13bkw9HfG3c4veMlm4eEAEdcjyzqbmq4H9J0FUyexseU7y+sRI ocQcGkxELmQpG3e0VwQrZUWafkbQgw/h8UUcAQOqlGT/K9WjJb1cOjQYVWHIsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5V9N5MFrzHvL; Thu, 4 Jan 2024 14:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404ExKfO067933; Thu, 4 Jan 2024 14:59:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404ExK18067929; Thu, 4 Jan 2024 14:59:20 GMT (envelope-from git) Date: Thu, 4 Jan 2024 14:59:20 GMT Message-Id: <202401041459.404ExK18067929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: f66370b48309 - main - mailmap: Translate olce's personal address to olce@FreeBSD.org List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f66370b48309741b99c37303fb37c64fd9181741 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f66370b48309741b99c37303fb37c64fd9181741 commit f66370b48309741b99c37303fb37c64fd9181741 Author: Olivier Certner AuthorDate: 2024-01-04 11:04:00 +0000 Commit: Olivier Certner CommitDate: 2024-01-04 14:59:01 +0000 mailmap: Translate olce's personal address to olce@FreeBSD.org Approved by: markj (mentor) --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index b022419e8108..0d0231a3da68 100644 --- a/.mailmap +++ b/.mailmap @@ -1,5 +1,6 @@ + Mina Galić Mina Galić Mina Galić From nobody Thu Jan 4 17:03:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5XwG41Lkz56nF8; Thu, 4 Jan 2024 17: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5XwG37pjz4dWR; Thu, 4 Jan 2024 17: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=1704387790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V+aCKuCGht4rmh2yhbQf0gaa4oxd+UtYTqLcsfm+rDg=; b=P4uRiO8FsBrzcHHtkOakxGSJGQuKFdQYEcs5WUT4MTGnFty7kZPnkRT5/5iRkwVozbhyQ9 kiN5FO+3j29pteJN/fvlYKByGX2lq7uR5FXyKhj5mcihsYYflpC+LYYHh7LegsCjnU/C3R EmMqwUfvEvAyHsPPVWVrjgPP7rAkUNI21RfXa/V3sxiNxBQA9L3F/Ih5bFWaF8fn31OT5q nicptxWRqQIMtw3crCF6rOn1XyDASyNZvKgg2JwW6CMzzcAZZtA3Iu/Iwx9S2KCOJVirH8 fDA/TolqyjQr+XNJk/TPXeNf5GdNXp0lxFEHlzHyw4gi86XjfDTLzZlLOO3wHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704387790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V+aCKuCGht4rmh2yhbQf0gaa4oxd+UtYTqLcsfm+rDg=; b=pNrnK5KVJWzdHiGYtzvXtBwrdaj7sG+RV+o4X2IqqhhHyVPALKQbQWEVC4/vT1XNAArynl VRxJwpGlWEf5WYOMk8cOxpfQXk8HJ0J9kCSaNFjEgB+fCvBQ1B1RqiRJF4ncX+W0KZ5sai 2ISernQH53Lr+qi+6432jbQKSLGruaNrRPOBO/3M7tWvV2DNMlXHMRkl1NLhMWmDcnOv9I azaqDOJVAVSPupyaHtlMCTnz18HVNHUKoNv5k9rozmplSmzxRq0kcOqXTTZ5tVBatbdIdP BY/8FrmVCL6xJODl8XV2Cz4tIYckGuXd7mefjlolUzRx5eJvpYaQaEOGAog67g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704387790; a=rsa-sha256; cv=none; b=Th4VQALAqBQBjbN5lG92HcZ79/HB+DxvsWWWjPUKreCSWugWB5d20nSfiqz+MRa2HHLflx pN7qR6s+d6dCwmZ9JVGefL/j9X+82/W31fPtAXLl6bdpa/l/jdZlNhBAeIEWxBBmIc6dfn HG1QohuIJwLTZQSN2iW3YEhsupiP5KD8Ibsk1FQD1crvukRZNeZ1K7GuwJUvwsx+BzdybZ 2IvcxAHakv2oUFWDGlPoPncNtyCAxSwBsJk55E0i0oCVDfqY59TE2gsYYZ1DrwYfFzXW0J ofeLqt84iW8NUdp5QOSMvmpT5DADTTtdNxm7sLmCBiQpfJJl6IzfwDGmcupO9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5XwG2CqyzM4X; Thu, 4 Jan 2024 17:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404H3Ah3085522; Thu, 4 Jan 2024 17:03:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404H3ABw085519; Thu, 4 Jan 2024 17:03:10 GMT (envelope-from git) Date: Thu, 4 Jan 2024 17:03:10 GMT Message-Id: <202401041703.404H3ABw085519@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 8e36732e6eb5 - main - systm: Annotate copyin() and related functions with __result_use_check List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8e36732e6eb50976ecc139a9c499f1396d340d1a Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8e36732e6eb50976ecc139a9c499f1396d340d1a commit 8e36732e6eb50976ecc139a9c499f1396d340d1a Author: Mark Johnston AuthorDate: 2024-01-04 17:02:04 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 17:02:04 +0000 systm: Annotate copyin() and related functions with __result_use_check Now that all in-tree callers check for errors (or cast them away), we can ask the compiler to check that new code does the same. This was prompted by SA-23:18.nfsclient, which was caused by missing error handling. This change is a weak mitigation since code can easily fail to propagate error handling to the right place, but it's better than nothing. Reviewed by: kib, jhb MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D43223 --- sys/sys/systm.h | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 06d40481375f..2da177af91f0 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -282,17 +282,17 @@ void *memmove_early(void * _Nonnull dest, const void * _Nonnull src, size_t n); ((__r >= __len) ? ENAMETOOLONG : 0); \ }) -int copyinstr(const void * __restrict udaddr, - void * _Nonnull __restrict kaddr, size_t len, - size_t * __restrict lencopied); -int copyin(const void * __restrict udaddr, - void * _Nonnull __restrict kaddr, size_t len); -int copyin_nofault(const void * __restrict udaddr, - void * _Nonnull __restrict kaddr, size_t len); -int copyout(const void * _Nonnull __restrict kaddr, - void * __restrict udaddr, size_t len); -int copyout_nofault(const void * _Nonnull __restrict kaddr, - void * __restrict udaddr, size_t len); +int __result_use_check copyinstr(const void * __restrict udaddr, + void * _Nonnull __restrict kaddr, size_t len, + size_t * __restrict lencopied); +int __result_use_check copyin(const void * __restrict udaddr, + void * _Nonnull __restrict kaddr, size_t len); +int __result_use_check copyin_nofault(const void * __restrict udaddr, + void * _Nonnull __restrict kaddr, size_t len); +int __result_use_check copyout(const void * _Nonnull __restrict kaddr, + void * __restrict udaddr, size_t len); +int __result_use_check copyout_nofault(const void * _Nonnull __restrict kaddr, + void * __restrict udaddr, size_t len); #ifdef SAN_NEEDS_INTERCEPTORS int SAN_INTERCEPTOR(copyin)(const void *, void *, size_t); @@ -310,14 +310,14 @@ long fuword(volatile const void *base); int fuword16(volatile const void *base); int32_t fuword32(volatile const void *base); int64_t fuword64(volatile const void *base); -int fueword(volatile const void *base, long *val); -int fueword32(volatile const void *base, int32_t *val); -int fueword64(volatile const void *base, int64_t *val); -int subyte(volatile void *base, int byte); -int suword(volatile void *base, long word); -int suword16(volatile void *base, int word); -int suword32(volatile void *base, int32_t word); -int suword64(volatile void *base, int64_t word); +int __result_use_check fueword(volatile const void *base, long *val); +int __result_use_check fueword32(volatile const void *base, int32_t *val); +int __result_use_check fueword64(volatile const void *base, int64_t *val); +int __result_use_check subyte(volatile void *base, int byte); +int __result_use_check suword(volatile void *base, long word); +int __result_use_check suword16(volatile void *base, int word); +int __result_use_check suword32(volatile void *base, int32_t word); +int __result_use_check suword64(volatile void *base, int64_t word); uint32_t casuword32(volatile uint32_t *base, uint32_t oldval, uint32_t newval); u_long casuword(volatile u_long *p, u_long oldval, u_long newval); int casueword32(volatile uint32_t *base, uint32_t oldval, uint32_t *oldvalp, From nobody Thu Jan 4 18:18:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5ZZz2GCsz56vgt; Thu, 4 Jan 2024 18:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5ZZz1hLKz4pTg; Thu, 4 Jan 2024 18:18:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704392299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DkHVGla1B02yYxXKqD6rXyBVHURkYqGjBc4c9R4TWlI=; b=pcWnQjpzSRdJqC9BhOpfbD45Qd44hjk0UcycaD9+QkiMlUz6cjA2UFOc0iQ/dgn0uaFYE9 EgjVYKW8AGT9ReHWIxHSBEhJMfYZkGgfNmB7tv90ADdxm/AA5ndAxFqZ70xUqpGzLL/gEC nnaxZY0eI3Qx6t3idSIpn6LfhgsWhhucNcgjqP1JbWvm72VIZwSG3j1cSdIhBpRRpBz+83 4hxCoUp/zLRkhOtS3CKDG4JUGNrlzykp2i5DOhVyLB4TGX3/i9Z+mT5dyDDtbB4reAe2Ml O3sBMPw4gX5t/UYy68pMJI/0plnZqT2oZbS0P2yPrfNXSIchQ4kIXBOHvn2bHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704392299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DkHVGla1B02yYxXKqD6rXyBVHURkYqGjBc4c9R4TWlI=; b=qArhR3GiLC4m5/wN3VWStyTu0YuTYj+w9te3DHBU+h68UQNg5lZj/Pesbr+2l2NDToMVWE xilEHVUfmYv8OLd8N7Esd6adbf3zJ4qCWFqpl3BOaJRKp8gAFPLpqWBIzp4aHZd7QdIlUR FgaAl8PxdePRTZ1seW099we+vxmCEre6HwiSr/81D3AzzqPxO8BN7yy8G8VIB6ZDsn4Rm6 i8uWAdkVxygIU6DkanaZqfGTVCEKcJvZsQghlQmTwUUaHicwNvnc1rcNQu8trs6wp45E35 VvA7oWINrpBRq79M5EhvaQ9j8nQS/ID2VFdFzgzO0RD0nR5fyCUrSm4D6BTBlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704392299; a=rsa-sha256; cv=none; b=d3/TuqfowGW7CAtelOkfcSw8y8uT6PAGNf7dXMXNRCouiZCxp8kdBvktMaPBWGPNbQ6Ywu Oc9vC2VUH/boHWaq2i0kbPMfE4auxFd3fxYSG3nrNP6kSBKhhcM2llijelxUt/9VgasWea kxHeBo4U1PNiJNNBf6hf+BLJrDycu2DAduym+JYsGHvl0D76HLY+u2j9RrIUSOmu4enPDp DdJRnwoLGVEeBslZALvY4jroWDxRVjQCoYUwYmfpVEpbjG9es7/Drx25Hog99+3s+pkW1o BOrhzBAp4S0JXsm01MPbi6M0kKQ0qKiFckBMKJZE8NtkJp7G9Achg2uq5PHU7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5ZZz0ktjzPB3; Thu, 4 Jan 2024 18:18:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404IIJqC003973; Thu, 4 Jan 2024 18:18:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404IIJAj003970; Thu, 4 Jan 2024 18:18:19 GMT (envelope-from git) Date: Thu, 4 Jan 2024 18:18:19 GMT Message-Id: <202401041818.404IIJAj003970@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: 359fc7eb329b - main - Typos corrected; dependant, addres. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 359fc7eb329b1fcb10392fda68ea036929b0c7b4 Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=359fc7eb329b1fcb10392fda68ea036929b0c7b4 commit 359fc7eb329b1fcb10392fda68ea036929b0c7b4 Author: Jens Schweikhardt AuthorDate: 2024-01-04 18:17:24 +0000 Commit: Jens Schweikhardt CommitDate: 2024-01-04 18:17:24 +0000 Typos corrected; dependant, addres. --- sbin/ipf/ippool/ippool.5 | 2 +- share/man/man9/mod_cc.9 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/ipf/ippool/ippool.5 b/sbin/ipf/ippool/ippool.5 index 6ead9f7fbf3f..3b5c4d0f2bf6 100644 --- a/sbin/ipf/ippool/ippool.5 +++ b/sbin/ipf/ippool/ippool.5 @@ -108,7 +108,7 @@ only ever match an entry in a pool that is of the same address family. The address pool searches the list of addresses configured for the best match. The "best match" is considered to be the match that has the highest number of bits set in the mask. Thus if both 2.2.0.0/16 and 2.2.2.0/24 are -present in an address pool, the addres 2.2.2.1 will match 2.2.2.0/24 and +present in an address pool, the address 2.2.2.1 will match 2.2.2.0/24 and 2.2.1.1 will match 2.2.0.0/16. The reason for this is to allow exceptions to be added through the use of negative matching. In the following example, the pool contains "2.2.0.0/16" and "!2.2.2.0/24", meaning that all packets diff --git a/share/man/man9/mod_cc.9 b/share/man/man9/mod_cc.9 index 0d8488d7a92f..86d9c7b5312c 100644 --- a/share/man/man9/mod_cc.9 +++ b/share/man/man9/mod_cc.9 @@ -217,8 +217,8 @@ Note that currently not all TCP stacks call the .Va rttsample and .Va newround -function so dependancy on these functions is also -dependant upon which TCP stack is in use. +function so dependency on these functions is also +dependent upon which TCP stack is in use. .Pp The .Fn DECLARE_CC_MODULE @@ -259,7 +259,7 @@ function should return 0. .Pp The stack will skip calling any function pointer which is NULL, so there is no requirement to implement any of the function pointers (with the exception of -the cb_init <-> cc_data_sz dependancy noted above). +the cb_init <-> cc_data_sz dependency noted above). Using the C99 designated initialiser feature to set fields is encouraged. .Pp Each function pointer which deals with congestion control state is passed a From nobody Thu Jan 4 18:36:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5b0139Mhz56x6F; Thu, 4 Jan 2024 18:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5b012vtxz4qvd; Thu, 4 Jan 2024 18:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704393393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DeHZN6aRxcx9ZEtcdUiIi5GNzxRh2hBpyMJQB+gZ4Jg=; b=uUgdzixXYi9O5JUbFzrzzvvz5KIdWWvUDBN5nG8TIOroqlGreP9rQ4jvl6+cVEXiYUJd2b 2RwxOkh3XScbtngVPw2RpJuN/895d9aW72cOzgR6O2wWMJFF8mkY4zBa56VsPK1amWxAUi VFEZ2E5xDSRLNotY1XfRDnq6l5/K1Juc7tupNvu64uRceLBjjNJOnlam945pVSPxA5xy2G DjSGuizJXW8M+2bq8OII+7u2Rd6x3J8PCnWRLRrO7rNoSFDXZl0x0oJlRFDWAPI8IgpJQs I4MvcB6iSntItkeVhIpZFKnSoYAXkoQROlWG7U6xgL3t7lVQ72PLQzb+7CDzEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704393393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DeHZN6aRxcx9ZEtcdUiIi5GNzxRh2hBpyMJQB+gZ4Jg=; b=ORT6X/KFdpRhzRjDlXL7GHKpYPuTOe+DmNk5JRrAVQA/JtVSIcZ58UaMRr3/o19oNQsJZo qTYCljqXexmQxnZD9H/nfo7sSuq8Q4LyzQVXmJaBes5nlDN8dXy9LovkPKUZhXD0K+Kw3K Ub31dRuwpAR4HLyMSgjIU6s0kDMFE3QTPse7NKwFsXUtb0rpU33DiLCKgZO2CivhFoNFNN IT7HnQCsHCiq+Ax+wtbwaRKokzGjAyfd+RILyijIGihCTlgGMg38+q4QKOkgSoK0AccrKP ljoEnpS43/pqWG0RiZyxxKj0B44LBjnnxEkGg85Y+OX16zFUAlB17nK6PsFyFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704393393; a=rsa-sha256; cv=none; b=uff7oL09h/t8yWO65T/35LwdReAIiAZYbuq2SG3La6bbMSGVOi2CFi3neV7zgUQbMOPQl6 h/Fcesot+C10Dj/HK/nmMeeskrKASDJ2VAKgGcKd+dMe3mnhmXCh/eNi4JljIS9iRXaFGv gr/bOhgdXOKUQe2z1V7/vlhmQ+EZuNgOZBsCSHzWTAbJqo69jLxqfemZ07HQ9XBuWREOSs eDKh7zuGt9xyE8wrXvBvIawEwWNVV5hrgF42HuycwGm/rWoJPs++vkg47EWa/lUZW+2iTC GXE4JnxSj3xL3iqdAqMIEjeZDKox7s814R4tL0fbtbKe4PSxgYtHY25aKctSqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5b011yvbzQ2g; Thu, 4 Jan 2024 18:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404IaXHI037060; Thu, 4 Jan 2024 18:36:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404IaXHR037057; Thu, 4 Jan 2024 18:36:33 GMT (envelope-from git) Date: Thu, 4 Jan 2024 18:36:33 GMT Message-Id: <202401041836.404IaXHR037057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: fc55c20355d8 - main - heimdal: Fix man page and documentation typos List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fc55c20355d889bf3d3f81d94b3614a0c4253fa0 Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=fc55c20355d889bf3d3f81d94b3614a0c4253fa0 commit fc55c20355d889bf3d3f81d94b3614a0c4253fa0 Author: Cy Schubert AuthorDate: 2024-01-04 18:34:50 +0000 Commit: Cy Schubert CommitDate: 2024-01-04 18:35:59 +0000 heimdal: Fix man page and documentation typos Reported by: Jens Schweikhardt MFC: 1 week --- crypto/heimdal/appl/ftp/ftp/ftp.1 | 2 +- crypto/heimdal/appl/rsh/rsh.1 | 4 ++-- .../heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 | 6 +++--- crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 | 2 +- crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 | 18 +++++++++--------- .../heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 | 2 +- crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 | 4 ++-- .../heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 | 2 +- crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 | 4 ++-- .../doc/doxyout/krb5/man/man3/krb5_fileformats.3 | 2 +- .../heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 | 2 +- .../heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 | 4 ++-- crypto/heimdal/kdc/kdc.8 | 2 +- crypto/heimdal/lib/krb5/krb5_get_init_creds.3 | 2 +- crypto/heimdal/lib/krb5/krb5_principal.3 | 2 +- crypto/heimdal/lib/roken/getarg.3 | 4 ++-- 16 files changed, 31 insertions(+), 31 deletions(-) diff --git a/crypto/heimdal/appl/ftp/ftp/ftp.1 b/crypto/heimdal/appl/ftp/ftp/ftp.1 index b0a837d863f5..deca4ef62084 100644 --- a/crypto/heimdal/appl/ftp/ftp/ftp.1 +++ b/crypto/heimdal/appl/ftp/ftp/ftp.1 @@ -206,7 +206,7 @@ current remote machine working directory. Change the permission modes of the file .Ar file-name on the remote -sytem to +system to .Ar mode . .It Ic close Terminate the diff --git a/crypto/heimdal/appl/rsh/rsh.1 b/crypto/heimdal/appl/rsh/rsh.1 index 0b0701f43cb1..205afb05c8bc 100644 --- a/crypto/heimdal/appl/rsh/rsh.1 +++ b/crypto/heimdal/appl/rsh/rsh.1 @@ -171,7 +171,7 @@ section). .Xc Connect to this port instead of the default (which is 514 when using old port based authentication, 544 for Kerberos 5 and non-encrypted -Kerberos 4, and 545 for encrytpted Kerberos 4; subject of course to +Kerberos 4, and 545 for encrypted Kerberos 4; subject of course to the contents of .Pa /etc/services ) . .It Xo @@ -290,5 +290,5 @@ any secret information in the command line (which is probably a bad idea anyway, since the command line can usually be read with tools like .Xr ps 1 ) . -Forthermore in Kerberos 4 the command is not even integrity +Furthermore in Kerberos 4 the command is not even integrity protected, so anyone with the right tools can modify the command. diff --git a/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 b/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 index 0997d55d5090..8c4f1f48da52 100644 --- a/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 +++ b/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 @@ -1104,7 +1104,7 @@ Free the resources used by the EVP_MD context. .SS "EVP_MD_CTX* EVP_MD_CTX_create (void)" .PP -Allocate a messsage digest context object. Free with \fBEVP_MD_CTX_destroy()\fP. +Allocate a message digest context object. Free with \fBEVP_MD_CTX_destroy()\fP. .PP \fBReturns:\fP .RS 4 @@ -1114,7 +1114,7 @@ a newly allocated message digest context object. .SS "void EVP_MD_CTX_destroy (EVP_MD_CTX * ctx)" .PP -Free a messsage digest context object. +Free a message digest context object. .PP \fBParameters:\fP .RS 4 @@ -1124,7 +1124,7 @@ Free a messsage digest context object. .SS "void EVP_MD_CTX_init (EVP_MD_CTX * ctx)" .PP -Initiate a messsage digest context object. Deallocate with \fBEVP_MD_CTX_cleanup()\fP. Please use \fBEVP_MD_CTX_create()\fP instead. +Initiate a message digest context object. Deallocate with \fBEVP_MD_CTX_cleanup()\fP. Please use \fBEVP_MD_CTX_create()\fP instead. .PP \fBParameters:\fP .RS 4 diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 index d6de5e226bca..57db14f08576 100644 --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 @@ -552,7 +552,7 @@ Expand the the subject name in the to-be-signed certificate object using \fBhx50 .br \fItbs\fP object to be signed. .br -\fIenv\fP enviroment variable to expand variables in the subject name, see hx509_env_init(). +\fIenv\fP environment variable to expand variables in the subject name, see hx509_env_init(). .RE .PP \fBReturns:\fP diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 index e834fddcf8c8..e9535bba7048 100644 --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 @@ -1,8 +1,8 @@ -.TH "hx509 enviroment functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 environment functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME -hx509 enviroment functions \- +hx509 environment functions \- .SS "Functions" .in +1c @@ -38,7 +38,7 @@ Add a new key/value pair to the hx509_env. .RS 4 \fIcontext\fP A hx509 context. .br -\fIenv\fP enviroment to add the enviroment variable too. +\fIenv\fP environment to add the environment variable too. .br \fIkey\fP key to add .br @@ -59,7 +59,7 @@ Add a new key/binding pair to the hx509_env. .RS 4 \fIcontext\fP A hx509 context. .br -\fIenv\fP enviroment to add the enviroment variable too. +\fIenv\fP environment to add the environment variable too. .br \fIkey\fP key to add .br @@ -80,7 +80,7 @@ Search the hx509_env for a key. .RS 4 \fIcontext\fP A hx509 context. .br -\fIenv\fP enviroment to add the enviroment variable too. +\fIenv\fP environment to add the environment variable too. .br \fIkey\fP key to search for. .RE @@ -99,7 +99,7 @@ Search the hx509_env for a binding. .RS 4 \fIcontext\fP A hx509 context. .br -\fIenv\fP enviroment to add the enviroment variable too. +\fIenv\fP environment to add the environment variable too. .br \fIkey\fP key to search for. .RE @@ -112,11 +112,11 @@ the binding if the key is found, NULL if not found. .SS "void hx509_env_free (hx509_env * env)" .PP -Free an hx509_env enviroment context. +Free an hx509_env environment context. .PP \fBParameters:\fP .RS 4 -\fIenv\fP the enviroment to free. +\fIenv\fP the environment to free. .RE .PP @@ -128,7 +128,7 @@ Search the hx509_env for a length based key. .RS 4 \fIcontext\fP A hx509 context. .br -\fIenv\fP enviroment to add the enviroment variable too. +\fIenv\fP environment to add the environment variable too. .br \fIkey\fP key to search for. .br diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 index 6f0b86673e31..6555d653b361 100644 --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 @@ -285,7 +285,7 @@ Allow or deny the use of proxy certificates .SS "void hx509_verify_set_strict_rfc3280_verification (hx509_verify_ctx ctx, int boolean)" .PP -Select strict RFC3280 verification of certificiates. This means checking key usage on CA certificates, this will make version 1 certificiates unuseable. +Select strict RFC3280 verification of certificiates. This means checking key usage on CA certificates, this will make version 1 certificiates unusable. .PP \fBParameters:\fP .RS 4 diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 b/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 index 5b323242c9a4..1208522a3114 100644 --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 @@ -2,5 +2,5 @@ .ad l .nh .SH NAME -page_env \- Hx509 enviroment functions -See the library functions here: \fBhx509 enviroment functions\fP +page_env \- Hx509 environment functions +See the library functions here: \fBhx509 environment functions\fP diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 index 8d273c8a6f87..3559e2946622 100644 --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 @@ -263,7 +263,7 @@ krb5_free_address frees the data stored in the address that is alloced with any .RS 4 \fIcontext\fP a Keberos context .br -\fIaddress\fP addresss to be freed. +\fIaddress\fP address to be freed. .RE .PP \fBReturns:\fP diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 index 796640b93274..f173ad474e6d 100644 --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 @@ -385,7 +385,7 @@ Returns 0 or an error (and then *str is set to NULL). .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_kdc_offset (krb5_context context, krb5_ccache id, krb5_deltat * offset)" .PP -Get the time offset betwen the client and the KDC +Get the time offset between the client and the KDC .PP If the backend doesn't support KDC offset, use the context global setting. .PP @@ -625,7 +625,7 @@ Return an error code or 0, see krb5_get_error_message(). .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_kdc_offset (krb5_context context, krb5_ccache id, krb5_deltat offset)" .PP -Set the time offset betwen the client and the KDC +Set the time offset between the client and the KDC .PP If the backend doesn't support KDC offset, use the context global setting. .PP diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 index f601d942f121..05be7ef9973e 100644 --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 @@ -89,7 +89,7 @@ Fields and their types are: .PP .PP .nf - Quoted princial (quote character is \) [string] + Quoted principal (quote character is \) [string] Keys [keys] Created by [event] Modified by [event optional] diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 index cba91dd1d9ef..c2aebfb35486 100644 --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 @@ -382,7 +382,7 @@ Create a principal for the service running on hostname. If KRB5_NT_SRV_HST is us .br \fIsname\fP Service name to use .br -\fItype\fP name type of pricipal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. +\fItype\fP name type of principal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. .br \fIret_princ\fP return principal, free with \fBkrb5_free_principal()\fP. .RE diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 index ccc17a641a5a..02e68e4ac6f9 100644 --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 @@ -1,8 +1,8 @@ -.TH "Heimdal Kerberos 4 compatiblity functions" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalKerberos5library" \" -*- nroff -*- +.TH "Heimdal Kerberos 4 compatibility functions" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalKerberos5library" \" -*- nroff -*- .ad l .nh .SH NAME -Heimdal Kerberos 4 compatiblity functions \- +Heimdal Kerberos 4 compatibility functions \- .SS "Functions" .in +1c diff --git a/crypto/heimdal/kdc/kdc.8 b/crypto/heimdal/kdc/kdc.8 index 171c426a0c52..c668b923768b 100644 --- a/crypto/heimdal/kdc/kdc.8 +++ b/crypto/heimdal/kdc/kdc.8 @@ -76,7 +76,7 @@ Specifies the location of the config file, the default is .Pa /var/heimdal/kdc.conf . This is the only value that can't be specified in the config file. .It Fl p , Fl Fl no-require-preauth -Turn off the requirement for pre-autentication in the initial AS-REQ +Turn off the requirement for pre-authentication in the initial AS-REQ for all principals. The use of pre-authentication makes it more difficult to do offline password attacks. diff --git a/crypto/heimdal/lib/krb5/krb5_get_init_creds.3 b/crypto/heimdal/lib/krb5/krb5_get_init_creds.3 index 764efb47e441..fccad5c4c42a 100644 --- a/crypto/heimdal/lib/krb5/krb5_get_init_creds.3 +++ b/crypto/heimdal/lib/krb5/krb5_get_init_creds.3 @@ -386,7 +386,7 @@ sets the salt that is going to be used in the request. sets requested ticket lifetime. .Pp .Fn krb5_get_init_creds_opt_set_canonicalize -requests that the KDC canonicalize the client pricipal if possible. +requests that the KDC canonicalize the client principal if possible. .Pp .Fn krb5_get_init_creds_opt_set_win2k turns on compatibility with Windows 2000. diff --git a/crypto/heimdal/lib/krb5/krb5_principal.3 b/crypto/heimdal/lib/krb5/krb5_principal.3 index 2998130a80e3..61fdd5b11ea6 100644 --- a/crypto/heimdal/lib/krb5/krb5_principal.3 +++ b/crypto/heimdal/lib/krb5/krb5_principal.3 @@ -293,7 +293,7 @@ A reason to return .Dv krb5_data was that it was believed that principal components could contain binary data, but this belief was unfounded, and it has been decided -that principal components are infact UTF8, so it's safe to use zero +that principal components are in fact UTF8, so it's safe to use zero terminated strings. .Pp It's generally not necessary to look at the components of a principal. diff --git a/crypto/heimdal/lib/roken/getarg.3 b/crypto/heimdal/lib/roken/getarg.3 index dda6e7dbf3d3..d634944a90c6 100644 --- a/crypto/heimdal/lib/roken/getarg.3 +++ b/crypto/heimdal/lib/roken/getarg.3 @@ -106,7 +106,7 @@ is the long name of the option, it can be .Dv NULL , if you don't want a long name. .Fa short_name -is the characted to use as short option, it can be zero. If the option +is the character to use as short option, it can be zero. If the option has a value the .Fa value field gets filled in with that value interpreted as specified by the @@ -334,7 +334,7 @@ the options come in the correct order. .Pp Options with multiple arguments should be handled better. .Pp -Should be integreated with SL. +Should be integrated with SL. .Pp It's very confusing that the struct you pass in is called getargS. .Sh SEE ALSO From nobody Thu Jan 4 18:57:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5bS02w7cz5709H; Thu, 4 Jan 2024 18:57: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5bS02QP2z4t2m; Thu, 4 Jan 2024 18:57:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704394640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d49V6eu/SZmOvXXGIRiHsT8jcQME6olmIUKOfKPCoXg=; b=iIK8x4mudlGYdBec24io70gIIB8DD43O/qSIYB6OcQ88dBuM8O64WGZuUHmEq7FrSO/HeL ZdjaIE/ZA7S38+viRXmNAQSV06k2UWT46s+yl7Dk507XrxfaPfJTRPEEuxdp7Ol/3m10Y0 +VRcjkze24GkHNhgs9C/4ecSB2sKxSWaNvoYkY1XJC2fVzlQLpPogUIrTy6ABa5NiRuYds Sj+Cl3tExi+lCyt1jFBhzDswmxJo86Yd/+RGBEVTM1yQX20qR5hQXlGWa2kQ/b/8imhhtH orvpH+vM4nVU18fPuwb77eCW8K2SmBctMItcw0Kbyk3NUoGNaA0bR8bb56pbaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704394640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d49V6eu/SZmOvXXGIRiHsT8jcQME6olmIUKOfKPCoXg=; b=aGBa1pYeRwqpN7bTiV7zSCOXmlvtGPOQmtgCN922sLYPJ7cKwP3jg8A3Uh3q3qh7CZXa/z fAeR1zGZdpsjev4t/fJCXmSEhFufKvbBn/RE+GQ2oGBWpHFSCHBUGFaW9qPepkoLG2KY9D KYgtHlas3nRFaSX6mWxaaFz1K/sgCAj+aOmJtBosnAmHVzd9Pg54TRQpBfVBWfxlnGsaF1 kizHfOby4FWMvn+NIl2gWs9Hkso+VOwt1HpW4wmR6lFyUybe1uhpBNkMraRYK59EK741+o I02UZxYiQzi/DKHmSPHP6siHHHa1e/n60HpPCOhTYM/uOyepk3W+K9pfS4rXCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704394640; a=rsa-sha256; cv=none; b=hOAOjQ7v1W47Q+FDcppy6Tkim4To8SIqbQi6Mwk0KOrurGnDmb1Nfsu4ZqktHdyRbq0FUx EQM13XbPIDdQrMNpcb3dVx6/d5BvJgmKch59NbX60+40U4V4wiZPeszka+k0IUSr+gMq9R WJQ3VVeJ7EoJEJtIeRTwbsi+Y3P6zuWEzcK0UlZ0x/id50GAdXbF6aS13y1EUVT4JQYYyz depBpcTM0cWNf+7lpOTnUd4J13Hrv3G17TFnNJYKaX3WMMZbuJY9hIXHwJskhhM65MlBeh NIM+YMio/IBiQ16yyTp9hToU9hY1JjDeaVwu/z2tAHuIv/9O/pLAZj+9dkGjJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5bS01TynzQHl; Thu, 4 Jan 2024 18:57:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404IvKna071329; Thu, 4 Jan 2024 18:57:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404IvKU1071325; Thu, 4 Jan 2024 18:57:20 GMT (envelope-from git) Date: Thu, 4 Jan 2024 18:57:20 GMT Message-Id: <202401041857.404IvKU1071325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 1809089a9613 - main - rc.d: Process autobridge_* in vnet jails List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1809089a9613c6ebdb6861ee142fba90d6a20c45 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1809089a9613c6ebdb6861ee142fba90d6a20c45 commit 1809089a9613c6ebdb6861ee142fba90d6a20c45 Author: Mark Johnston AuthorDate: 2024-01-04 17:10:35 +0000 Commit: Mark Johnston CommitDate: 2024-01-04 18:57:05 +0000 rc.d: Process autobridge_* in vnet jails Reviewed by: kp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D43316 --- libexec/rc/rc.d/bridge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/bridge b/libexec/rc/rc.d/bridge index eba43a7d2e2a..a42d82adacc5 100755 --- a/libexec/rc/rc.d/bridge +++ b/libexec/rc/rc.d/bridge @@ -26,7 +26,7 @@ # PROVIDE: bridge # REQUIRE: netif ppp stf -# KEYWORD: nojail +# KEYWORD: nojailvnet . /etc/rc.subr . /etc/network.subr From nobody Thu Jan 4 19:44:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5cVM0hNcz574SN; Thu, 4 Jan 2024 19:44:27 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta002.cacentral1.a.cloudfilter.net (omta002.cacentral1.a.cloudfilter.net [3.97.99.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5cVL0l3Hz424S; Thu, 4 Jan 2024 19:44:26 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of cy.schubert@cschubert.com has no SPF policy when checking 3.97.99.33) smtp.mailfrom=cy.schubert@cschubert.com Received: from shw-obgw-4004a.ext.cloudfilter.net ([10.228.9.227]) by cmsmtp with ESMTPS id LJG7redFqGAIJLTdhr5HTc; Thu, 04 Jan 2024 19:44:25 +0000 Received: from spqr.komquats.com ([70.66.152.170]) by cmsmtp with ESMTPSA id LTdfrQHC6WIKPLTdgrrq5B; Thu, 04 Jan 2024 19:44:25 +0000 X-Authority-Analysis: v=2.4 cv=D+pUl9dj c=1 sm=1 tr=0 ts=65970a99 a=y8EK/9tc/U6QY+pUhnbtgQ==:117 a=y8EK/9tc/U6QY+pUhnbtgQ==:17 a=kj9zAlcOel0A:10 a=dEuoMetlWLkA:10 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=GLvYd5W_AAAA:8 a=nCU3I2xhLotqoV9nwDMA:9 a=CjuIK1q_8ugA:10 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 a=LK5xJRSDVpKd5WXXoEvA:22 a=uZBZLiZP7f6zx8VJvrKp:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id 94D341421; Thu, 4 Jan 2024 11:44:23 -0800 (PST) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 643F7448; Thu, 4 Jan 2024 11:44:23 -0800 (PST) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.8+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: fc55c20355d8 - main - heimdal: Fix man page and documentation typos In-reply-to: <202401041836.404IaXHR037057@gitrepo.freebsd.org> References: <202401041836.404IaXHR037057@gitrepo.freebsd.org> Comments: In-reply-to Cy Schubert message dated "Thu, 04 Jan 2024 18:36:33 +0000." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 04 Jan 2024 11:44:23 -0800 Message-Id: <20240104194423.643F7448@slippy.cwsent.com> X-CMAE-Envelope: MS4xfOyMhEmUN7vXICayFKhaaZL06PQ2ylJyxk6zsu5zbkg7eMEJdhsBsHDNo5I0Z504jhwMI9778tIECQnuvfhCE2nzLhrg2lQ9i7dkK3T97hYspNTvTyv3 b978A7x4NbX47dZA/1JE1ig2vjLn4sqR+Ds4/m694RPzZO8p4r3b7I9JM0GpGqUgIWKSJvCp3hk3Ghic6llV8T9CdO35vneeZ9rYZ+Em/LLn68p17SFJ0/4G 99efJdRA5yBzDMTbELXcJsXpNznq9bDZNaLLVPLptGt3Jp0RuIjQcM+ESPs0Br8LJuaeSNovVdYS8PhSz378FQ== X-Spamd-Bar: - X-Spamd-Result: default: False [-1.70 / 15.00]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.996]; MV_CASE(0.50)[]; RCVD_IN_DNSWL_LOW(-0.10)[3.97.99.33:from]; MIME_GOOD(-0.10)[text/plain]; R_SPF_NA(0.00)[no SPF record]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:16509, ipnet:3.96.0.0/15, country:US]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org,dev-commits-src-all@freebsd.org]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; RCPT_COUNT_THREE(0.00)[3]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[cschubert.com]; REPLYTO_EQ_FROM(0.00)[] X-Rspamd-Queue-Id: 4T5cVL0l3Hz424S Jens has pointed out I missed three. He will fix them. -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e^(i*pi)+1=0 In message <202401041836.404IaXHR037057@gitrepo.freebsd.org>, Cy Schubert write s: > The branch main has been updated by cy: > > URL: https://cgit.FreeBSD.org/src/commit/?id=fc55c20355d889bf3d3f81d94b3614a0 > c4253fa0 > > commit fc55c20355d889bf3d3f81d94b3614a0c4253fa0 > Author: Cy Schubert > AuthorDate: 2024-01-04 18:34:50 +0000 > Commit: Cy Schubert > CommitDate: 2024-01-04 18:35:59 +0000 > > heimdal: Fix man page and documentation typos > > Reported by: Jens Schweikhardt > MFC: 1 week > --- > crypto/heimdal/appl/ftp/ftp/ftp.1 | 2 +- > crypto/heimdal/appl/rsh/rsh.1 | 4 ++-- > .../heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 | 6 +++--- > crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 | 2 +- > crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 | 18 +++++++++------- > -- > .../heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 | 2 +- > crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 | 4 ++-- > .../heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 | 2 +- > crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 | 4 ++-- > .../doc/doxyout/krb5/man/man3/krb5_fileformats.3 | 2 +- > .../heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 | 2 +- > .../heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 | 4 ++-- > crypto/heimdal/kdc/kdc.8 | 2 +- > crypto/heimdal/lib/krb5/krb5_get_init_creds.3 | 2 +- > crypto/heimdal/lib/krb5/krb5_principal.3 | 2 +- > crypto/heimdal/lib/roken/getarg.3 | 4 ++-- > 16 files changed, 31 insertions(+), 31 deletions(-) > > diff --git a/crypto/heimdal/appl/ftp/ftp/ftp.1 b/crypto/heimdal/appl/ftp/ftp/ > ftp.1 > index b0a837d863f5..deca4ef62084 100644 > --- a/crypto/heimdal/appl/ftp/ftp/ftp.1 > +++ b/crypto/heimdal/appl/ftp/ftp/ftp.1 > @@ -206,7 +206,7 @@ current remote machine working directory. > Change the permission modes of the file > .Ar file-name > on the remote > -sytem to > +system to > .Ar mode . > .It Ic close > Terminate the > diff --git a/crypto/heimdal/appl/rsh/rsh.1 b/crypto/heimdal/appl/rsh/rsh.1 > index 0b0701f43cb1..205afb05c8bc 100644 > --- a/crypto/heimdal/appl/rsh/rsh.1 > +++ b/crypto/heimdal/appl/rsh/rsh.1 > @@ -171,7 +171,7 @@ section). > .Xc > Connect to this port instead of the default (which is 514 when using > old port based authentication, 544 for Kerberos 5 and non-encrypted > -Kerberos 4, and 545 for encrytpted Kerberos 4; subject of course to > +Kerberos 4, and 545 for encrypted Kerberos 4; subject of course to > the contents of > .Pa /etc/services ) . > .It Xo > @@ -290,5 +290,5 @@ any secret information in the command line (which is prob > ably a bad > idea anyway, since the command line can usually be read with tools > like > .Xr ps 1 ) . > -Forthermore in Kerberos 4 the command is not even integrity > +Furthermore in Kerberos 4 the command is not even integrity > protected, so anyone with the right tools can modify the command. > diff --git a/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 b/cryp > to/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 > index 0997d55d5090..8c4f1f48da52 100644 > --- a/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 > +++ b/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 > @@ -1104,7 +1104,7 @@ Free the resources used by the EVP_MD context. > > .SS "EVP_MD_CTX* EVP_MD_CTX_create (void)" > .PP > -Allocate a messsage digest context object. Free with \fBEVP_MD_CTX_destroy() > \fP. > +Allocate a message digest context object. Free with \fBEVP_MD_CTX_destroy()\ > fP. > .PP > \fBReturns:\fP > .RS 4 > @@ -1114,7 +1114,7 @@ a newly allocated message digest context object. > > .SS "void EVP_MD_CTX_destroy (EVP_MD_CTX * ctx)" > .PP > -Free a messsage digest context object. > +Free a message digest context object. > .PP > \fBParameters:\fP > .RS 4 > @@ -1124,7 +1124,7 @@ Free a messsage digest context object. > > .SS "void EVP_MD_CTX_init (EVP_MD_CTX * ctx)" > .PP > -Initiate a messsage digest context object. Deallocate with \fBEVP_MD_CTX_cle > anup()\fP. Please use \fBEVP_MD_CTX_create()\fP instead. > +Initiate a message digest context object. Deallocate with \fBEVP_MD_CTX_clea > nup()\fP. Please use \fBEVP_MD_CTX_create()\fP instead. > .PP > \fBParameters:\fP > .RS 4 > diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 b/crypto/he > imdal/doc/doxyout/hx509/man/man3/hx509_ca.3 > index d6de5e226bca..57db14f08576 100644 > --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 > +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 > @@ -552,7 +552,7 @@ Expand the the subject name in the to-be-signed certifica > te object using \fBhx50 > .br > \fItbs\fP object to be signed. > .br > -\fIenv\fP enviroment variable to expand variables in the subject name, see h > x509_env_init(). > +\fIenv\fP environment variable to expand variables in the subject name, see > hx509_env_init(). > .RE > .PP > \fBReturns:\fP > diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 b/crypto/h > eimdal/doc/doxyout/hx509/man/man3/hx509_env.3 > index e834fddcf8c8..e9535bba7048 100644 > --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 > +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 > @@ -1,8 +1,8 @@ > -.TH "hx509 enviroment functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx50 > 9library" \" -*- nroff -*- > +.TH "hx509 environment functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx5 > 09library" \" -*- nroff -*- > .ad l > .nh > .SH NAME > -hx509 enviroment functions \- > +hx509 environment functions \- > .SS "Functions" > > .in +1c > @@ -38,7 +38,7 @@ Add a new key/value pair to the hx509_env. > .RS 4 > \fIcontext\fP A hx509 context. > .br > -\fIenv\fP enviroment to add the enviroment variable too. > +\fIenv\fP environment to add the environment variable too. > .br > \fIkey\fP key to add > .br > @@ -59,7 +59,7 @@ Add a new key/binding pair to the hx509_env. > .RS 4 > \fIcontext\fP A hx509 context. > .br > -\fIenv\fP enviroment to add the enviroment variable too. > +\fIenv\fP environment to add the environment variable too. > .br > \fIkey\fP key to add > .br > @@ -80,7 +80,7 @@ Search the hx509_env for a key. > .RS 4 > \fIcontext\fP A hx509 context. > .br > -\fIenv\fP enviroment to add the enviroment variable too. > +\fIenv\fP environment to add the environment variable too. > .br > \fIkey\fP key to search for. > .RE > @@ -99,7 +99,7 @@ Search the hx509_env for a binding. > .RS 4 > \fIcontext\fP A hx509 context. > .br > -\fIenv\fP enviroment to add the enviroment variable too. > +\fIenv\fP environment to add the environment variable too. > .br > \fIkey\fP key to search for. > .RE > @@ -112,11 +112,11 @@ the binding if the key is found, NULL if not found. > > .SS "void hx509_env_free (hx509_env * env)" > .PP > -Free an hx509_env enviroment context. > +Free an hx509_env environment context. > .PP > \fBParameters:\fP > .RS 4 > -\fIenv\fP the enviroment to free. > +\fIenv\fP the environment to free. > .RE > .PP > > @@ -128,7 +128,7 @@ Search the hx509_env for a length based key. > .RS 4 > \fIcontext\fP A hx509 context. > .br > -\fIenv\fP enviroment to add the enviroment variable too. > +\fIenv\fP environment to add the environment variable too. > .br > \fIkey\fP key to search for. > .br > diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 b/crypt > o/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 > index 6f0b86673e31..6555d653b361 100644 > --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 > +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 > @@ -285,7 +285,7 @@ Allow or deny the use of proxy certificates > > .SS "void hx509_verify_set_strict_rfc3280_verification (hx509_verify_ctx ctx > , int boolean)" > .PP > -Select strict RFC3280 verification of certificiates. This means checking key > usage on CA certificates, this will make version 1 certificiates unuseable. > +Select strict RFC3280 verification of certificiates. This means checking key > usage on CA certificates, this will make version 1 certificiates unusable. > .PP > \fBParameters:\fP > .RS 4 > diff --git a/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 b/crypto/he > imdal/doc/doxyout/hx509/man/man3/page_env.3 > index 5b323242c9a4..1208522a3114 100644 > --- a/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 > +++ b/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 > @@ -2,5 +2,5 @@ > .ad l > .nh > .SH NAME > -page_env \- Hx509 enviroment functions > -See the library functions here: \fBhx509 enviroment functions\fP > +page_env \- Hx509 environment functions > +See the library functions here: \fBhx509 environment functions\fP > diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 b/crypto > /heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 > index 8d273c8a6f87..3559e2946622 100644 > --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 > +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 > @@ -263,7 +263,7 @@ krb5_free_address frees the data stored in the address th > at is alloced with any > .RS 4 > \fIcontext\fP a Keberos context > .br > -\fIaddress\fP addresss to be freed. > +\fIaddress\fP address to be freed. > .RE > .PP > \fBReturns:\fP > diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 b/crypto/ > heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 > index 796640b93274..f173ad474e6d 100644 > --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 > +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 > @@ -385,7 +385,7 @@ Returns 0 or an error (and then *str is set to NULL). > > .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_kdc_offset > (krb5_context context, krb5_ccache id, krb5_deltat * offset)" > .PP > -Get the time offset betwen the client and the KDC > +Get the time offset between the client and the KDC > .PP > If the backend doesn't support KDC offset, use the context global setting. > .PP > @@ -625,7 +625,7 @@ Return an error code or 0, see krb5_get_error_message(). > > .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_kdc_offset > (krb5_context context, krb5_ccache id, krb5_deltat offset)" > .PP > -Set the time offset betwen the client and the KDC > +Set the time offset between the client and the KDC > .PP > If the backend doesn't support KDC offset, use the context global setting. > .PP > diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 b/cr > ypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 > index f601d942f121..05be7ef9973e 100644 > --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 > +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 > @@ -89,7 +89,7 @@ Fields and their types are: > .PP > .PP > .nf > - Quoted princial (quote character is \) [string] > + Quoted principal (quote character is \) [string] > Keys [keys] > Created by [event] > Modified by [event optional] > diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 b/cryp > to/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 > index cba91dd1d9ef..c2aebfb35486 100644 > --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 > +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 > @@ -382,7 +382,7 @@ Create a principal for the service running on hostname. I > f KRB5_NT_SRV_HST is us > .br > \fIsname\fP Service name to use > .br > -\fItype\fP name type of pricipal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. > +\fItype\fP name type of principal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. > .br > \fIret_princ\fP return principal, free with \fBkrb5_free_principal()\fP. > .RE > diff --git a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 b/crypt > o/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 > index ccc17a641a5a..02e68e4ac6f9 100644 > --- a/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 > +++ b/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 > @@ -1,8 +1,8 @@ > -.TH "Heimdal Kerberos 4 compatiblity functions" 3 "11 Jan 2012" "Version 1.5 > .2" "HeimdalKerberos5library" \" -*- nroff -*- > +.TH "Heimdal Kerberos 4 compatibility functions" 3 "11 Jan 2012" "Version 1. > 5.2" "HeimdalKerberos5library" \" -*- nroff -*- > .ad l > .nh > .SH NAME > -Heimdal Kerberos 4 compatiblity functions \- > +Heimdal Kerberos 4 compatibility functions \- > .SS "Functions" > > .in +1c > diff --git a/crypto/heimdal/kdc/kdc.8 b/crypto/heimdal/kdc/kdc.8 > index 171c426a0c52..c668b923768b 100644 > --- a/crypto/heimdal/kdc/kdc.8 > +++ b/crypto/heimdal/kdc/kdc.8 > @@ -76,7 +76,7 @@ Specifies the location of the config file, the default is > .Pa /var/heimdal/kdc.conf . > This is the only value that can't be specified in the config file. > .It Fl p , Fl Fl no-require-preauth > -Turn off the requirement for pre-autentication in the initial AS-REQ > +Turn off the requirement for pre-authentication in the initial AS-REQ > for all principals. > The use of pre-authentication makes it more difficult to do offline > password attacks. > diff --git a/crypto/heimdal/lib/krb5/krb5_get_init_creds.3 b/crypto/heimdal/l > ib/krb5/krb5_get_init_creds.3 > index 764efb47e441..fccad5c4c42a 100644 > --- a/crypto/heimdal/lib/krb5/krb5_get_init_creds.3 > +++ b/crypto/heimdal/lib/krb5/krb5_get_init_creds.3 > @@ -386,7 +386,7 @@ sets the salt that is going to be used in the request. > sets requested ticket lifetime. > .Pp > .Fn krb5_get_init_creds_opt_set_canonicalize > -requests that the KDC canonicalize the client pricipal if possible. > +requests that the KDC canonicalize the client principal if possible. > .Pp > .Fn krb5_get_init_creds_opt_set_win2k > turns on compatibility with Windows 2000. > diff --git a/crypto/heimdal/lib/krb5/krb5_principal.3 b/crypto/heimdal/lib/kr > b5/krb5_principal.3 > index 2998130a80e3..61fdd5b11ea6 100644 > --- a/crypto/heimdal/lib/krb5/krb5_principal.3 > +++ b/crypto/heimdal/lib/krb5/krb5_principal.3 > @@ -293,7 +293,7 @@ A reason to return > .Dv krb5_data > was that it was believed that principal components could contain > binary data, but this belief was unfounded, and it has been decided > -that principal components are infact UTF8, so it's safe to use zero > +that principal components are in fact UTF8, so it's safe to use zero > terminated strings. > .Pp > It's generally not necessary to look at the components of a principal. > diff --git a/crypto/heimdal/lib/roken/getarg.3 b/crypto/heimdal/lib/roken/get > arg.3 > index dda6e7dbf3d3..d634944a90c6 100644 > --- a/crypto/heimdal/lib/roken/getarg.3 > +++ b/crypto/heimdal/lib/roken/getarg.3 > @@ -106,7 +106,7 @@ is the long name of the option, it can be > .Dv NULL , > if you don't want a long name. > .Fa short_name > -is the characted to use as short option, it can be zero. If the option > +is the character to use as short option, it can be zero. If the option > has a value the > .Fa value > field gets filled in with that value interpreted as specified by the > @@ -334,7 +334,7 @@ the options come in the correct order. > .Pp > Options with multiple arguments should be handled better. > .Pp > -Should be integreated with SL. > +Should be integrated with SL. > .Pp > It's very confusing that the struct you pass in is called getargS. > .Sh SEE ALSO > From nobody Thu Jan 4 20:36:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5ddv5fcKz55Bg3; Thu, 4 Jan 2024 20:36: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5ddv5C6dz49XW; Thu, 4 Jan 2024 20:36:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704400563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FWAiEKTIUZ+T2g5Pt+tqIUxLf/73IcGEe4ErYOGoluI=; b=njutMlDoGkIMNjmWLorFz4WrKEJEtPDm3orNxcVnK2Wr8Wr5ETJMAeV50f7sM0RXuB15Gs CVmGeqCwOmGxQZXSJ89Gc4EVUDWt19PIFE5Bha+bCU/WcKt81HBeTz2Yv9jv19ZW18i6BR kjfRFa8BYZFDzjgpbz38+hkZxGjshAlTttiSAe9R5Kbta77H8YZLFSXJA9aTodwiI7c1zj 844cWmmNZd+tFgLkNYSL6Hc/NaGPxvuVPyU6AVLONrOovCXurBx/qKPeVJ+3npFZqMSr05 sHPMni8pIfbBP8oxnuiFE+0PodgT2YU6C4u6/wbQzbE8U+DHMWJAZiJIF0fIZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704400563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FWAiEKTIUZ+T2g5Pt+tqIUxLf/73IcGEe4ErYOGoluI=; b=saKaUwfAXwx++2osmrh1sHn3IgyNd5mKJt/pCkvwPycyU2Umu5+9D6T4wxam+w1mpDbb/B 9NDtZcN/PFaS2TWfgekPNtCLkjvm5K8sgIn2ofEcyGbFb4jELs7uf9YlJRCvJWiERKAxzM 2UG6zRmXddn1SY4HWa7yDsnv0wbQVtFu1/GLcA1llWk+AEqgcrBQy3jN1X2+8RO+LhKLFK sMb3RE6fKn1a4YA+UnoNwJReAD16dDoIc+exMYUKGp1pmN87GIl96mcMONn4MLcv/JfQ9H o1XwS42YEaXX5M9t4xqlRSziXekyr+cY8Z+ngkh7YNKvKxnsKU65QOMLMC+s4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704400563; a=rsa-sha256; cv=none; b=NbLhn1+x3dHA6ywtXUMLIJzPyscmsk7V436ZERO6tPI9Ff8K6vicHKh8Wr4ZWIbnFvnHLb DsHc3Jb3pUfovX4Qbdb/gkIe509VYVKtaD0RmxjgJFj4MRI5dCVvnjKe1WYXbC9gdOj3xY pBZwt7UsuG/8uk+saXtHF1tc8rk/xZHTdbdc2hHn8PcgLBMQA9fd8GSkXyt1sdkMRW8mcr h738r+ptn+VGob8JKTDlICoRRw/Fef11ecBiDudLdon5zPlcuB6mzaQK3sBE1eCZxFYyrP 4smj2sA4UbaxTsftyuVrwStpvOoRkQbr4P57up+f7pDinwJEVkNEQjdbcBa8ZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5ddv4GB8zSNb; Thu, 4 Jan 2024 20:36:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404Ka3Fx038951; Thu, 4 Jan 2024 20:36:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404Ka3sW038948; Thu, 4 Jan 2024 20:36:03 GMT (envelope-from git) Date: Thu, 4 Jan 2024 20:36:03 GMT Message-Id: <202401042036.404Ka3sW038948@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: 53d908d6eb9d - main - Correct three typos in manuals. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 53d908d6eb9dc5b40c2c0179eeb85e1d21e32577 Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=53d908d6eb9dc5b40c2c0179eeb85e1d21e32577 commit 53d908d6eb9dc5b40c2c0179eeb85e1d21e32577 Author: Jens Schweikhardt AuthorDate: 2024-01-04 20:35:25 +0000 Commit: Jens Schweikhardt CommitDate: 2024-01-04 20:35:25 +0000 Correct three typos in manuals. --- crypto/heimdal/appl/login/login.access.5 | 2 +- crypto/heimdal/kcm/kcm.8 | 2 +- crypto/heimdal/kdc/kdc.8 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crypto/heimdal/appl/login/login.access.5 b/crypto/heimdal/appl/login/login.access.5 index 7edefa2019f3..7b9aa151fe44 100644 --- a/crypto/heimdal/appl/login/login.access.5 +++ b/crypto/heimdal/appl/login/login.access.5 @@ -31,7 +31,7 @@ or .It The second field is a comma separated list of users or groups for which the current entry applies. NIS netgroups can used (if -configured) if preceeded by @. The magic string ALL matches all users. +configured) if preceded by @. The magic string ALL matches all users. A group will match if the user is a member of that group, or it is the user's primary group. .It diff --git a/crypto/heimdal/kcm/kcm.8 b/crypto/heimdal/kcm/kcm.8 index 3ff9ea45abe1..32ac9cd221f1 100644 --- a/crypto/heimdal/kcm/kcm.8 +++ b/crypto/heimdal/kcm/kcm.8 @@ -95,7 +95,7 @@ is a process based credential cache. To use it, set the .Ev KRB5CCNAME -enviroment variable to +environment variable to .Ql KCM: Ns Ar uid or add the stanza .Bd -literal diff --git a/crypto/heimdal/kdc/kdc.8 b/crypto/heimdal/kdc/kdc.8 index c668b923768b..fa81814ae10a 100644 --- a/crypto/heimdal/kdc/kdc.8 +++ b/crypto/heimdal/kdc/kdc.8 @@ -84,7 +84,7 @@ You might want to turn it off if you have clients that don't support pre-authentication. Since the version 4 protocol doesn't support any pre-authentication, serving version 4 clients is just about the same as not requiring -pre-athentication. +pre-authentication. The default is to require pre-authentication. Adding the require-preauth per principal is a more flexible way of handling this. From nobody Thu Jan 4 20:41:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5dmc2zGZz55CWW; Thu, 4 Jan 2024 20:41:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5dmc1mH5z4Dds; Thu, 4 Jan 2024 20:41:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704400912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZL6YofpRKskthhJyB7hNYbLviHvYSmWP4uNSEHuT5xQ=; b=HxWmVBXBMjL77pHyuAZ3wCGkwfVCslyRbqOU1r2irS0DfO7b0ostzIbwNkPPnGp66tHsWG 69mhNowmURgtuXTUVtM1yEws9RijTvOZ0yvWdRuS+aF7X7BCfiOjRDG10n7Gft3XlWERrW BPv5ZYkBchJISWuG23mMtyf3xz5zhHEutNSNrvCdpUKpUpkrQkoxMK9R/9VU0i5QpNWW4o hGqqfemUr8Fc/X0HbDUEEHVPsZTn2BBL4dRQvI88d3ewNxUnCJSgzO0qAbRMep0HnaGsFh ro6bY8HQEVNCuxLLArp9Z5y2pKgzcwE+SSyl5KOmOSlDhRi4EwW0/0/o8xKt9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704400912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZL6YofpRKskthhJyB7hNYbLviHvYSmWP4uNSEHuT5xQ=; b=DioSV4w1kyjP2Qd/mMnRv0z0pgM9ADRCVkyhLGwv2Q7+zrd9wp1PBakrWiqBoq9P7Jgoxq TPKPswFTBnnQ9Q3D4k1vtEvddzQ/2jqhFheXqVH9jsel+t+zeN/VLFahn1hmvJanwW0Fqc NPp6bR230tTihR9LhGi+474ar1cX+7g9FB0Siect8+SACZBTzXNixpkbrOTY7RC7pBTDYR /s2P6jOJoLGWq2SOmI3vS8UqsUlkFvm0nQst0Lqhvwfj0Aamf/0F+Af8QwCerav8sfE0o3 zXYhb7n4eu/uv33i6CbP3XfW6zSZn+A89aTZyohgKd+ujCv6VN6hp0iD/A+0sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704400912; a=rsa-sha256; cv=none; b=hRGhh+FdOFC0dO2chDw+5Hmd0VUVepATVv+gP94+0IUm0Mxwzbk8EmxRETtF7o6Ne6TNxf hn3zyT9fUkNQ8pI3Gi0Ov6lXOhpgVqgPktqejcsM2oShGqhkesh6GtKHBtAM+lIzj7EMW1 pPEbbGbzrekrRVVWvalGtyjn80E+LtG02Q4HlC6J1EKbY8Z09jK0gwY9Mb2CxZ0S8Hyk/H iFx6mPdpQTH7fX4yv+3h36AI6BYPtI4tcjk3cIxgJXUu8+6V6VvVmbyBYkPX9Uz8vOIQEs ugYhRTMyvof8hrzv9xJtS4kLi+jx1GecERzz/OpUj48U7gKG67YL8w7ZplkUBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5dmc0rMlzT2F; Thu, 4 Jan 2024 20:41:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404KfqZE052429; Thu, 4 Jan 2024 20:41:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404KfpEB052418; Thu, 4 Jan 2024 20:41:51 GMT (envelope-from git) Date: Thu, 4 Jan 2024 20:41:51 GMT Message-Id: <202401042041.404KfpEB052418@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: b1e82d33193b - main - cxgbe(4): Update firmwares to 1.27.5.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b1e82d33193b83d86d46483b4ddfe295becd80c4 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=b1e82d33193b83d86d46483b4ddfe295becd80c4 commit b1e82d33193b83d86d46483b4ddfe295becd80c4 Author: Navdeep Parhar AuthorDate: 2024-01-04 19:37:21 +0000 Commit: Navdeep Parhar CommitDate: 2024-01-04 20:37:27 +0000 cxgbe(4): Update firmwares to 1.27.5.0 Version : 1.27.5.0 Date : 10/10/2023 ===================== Fixes ----- BASE: - Fixed handling the Remote Fault with AN, causing the link failure. ===================== Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications --- sys/conf/files | 6 +++--- .../{t4fw-1.27.4.0.bin => t4fw-1.27.5.0.bin} | Bin 570880 -> 570880 bytes sys/dev/cxgbe/firmware/t4fw_interface.h | 6 +++--- .../{t5fw-1.27.4.0.bin => t5fw-1.27.5.0.bin} | Bin 678912 -> 678912 bytes .../{t6fw-1.27.4.0.bin => t6fw-1.27.5.0.bin} | Bin 730624 -> 730624 bytes sys/modules/cxgbe/t4_firmware/Makefile | 2 +- sys/modules/cxgbe/t5_firmware/Makefile | 2 +- sys/modules/cxgbe/t6_firmware/Makefile | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index e2456d1c3a5f..cdc6f62edbc2 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1455,7 +1455,7 @@ t4fw.fwo optional cxgbe \ no-implicit-rule \ clean "t4fw.fwo" t4fw.fw optional cxgbe \ - dependency "$S/dev/cxgbe/firmware/t4fw-1.27.4.0.bin" \ + dependency "$S/dev/cxgbe/firmware/t4fw-1.27.5.0.bin" \ compile-with "${CP} ${.ALLSRC} ${.TARGET}" \ no-obj no-implicit-rule \ clean "t4fw.fw" @@ -1489,7 +1489,7 @@ t5fw.fwo optional cxgbe \ no-implicit-rule \ clean "t5fw.fwo" t5fw.fw optional cxgbe \ - dependency "$S/dev/cxgbe/firmware/t5fw-1.27.4.0.bin" \ + dependency "$S/dev/cxgbe/firmware/t5fw-1.27.5.0.bin" \ compile-with "${CP} ${.ALLSRC} ${.TARGET}" \ no-obj no-implicit-rule \ clean "t5fw.fw" @@ -1523,7 +1523,7 @@ t6fw.fwo optional cxgbe \ no-implicit-rule \ clean "t6fw.fwo" t6fw.fw optional cxgbe \ - dependency "$S/dev/cxgbe/firmware/t6fw-1.27.4.0.bin" \ + dependency "$S/dev/cxgbe/firmware/t6fw-1.27.5.0.bin" \ compile-with "${CP} ${.ALLSRC} ${.TARGET}" \ no-obj no-implicit-rule \ clean "t6fw.fw" diff --git a/sys/dev/cxgbe/firmware/t4fw-1.27.4.0.bin b/sys/dev/cxgbe/firmware/t4fw-1.27.5.0.bin similarity index 99% rename from sys/dev/cxgbe/firmware/t4fw-1.27.4.0.bin rename to sys/dev/cxgbe/firmware/t4fw-1.27.5.0.bin index 9addb9e25422..0c7842564913 100644 Binary files a/sys/dev/cxgbe/firmware/t4fw-1.27.4.0.bin and b/sys/dev/cxgbe/firmware/t4fw-1.27.5.0.bin differ diff --git a/sys/dev/cxgbe/firmware/t4fw_interface.h b/sys/dev/cxgbe/firmware/t4fw_interface.h index 0ebc404bb72e..686bb55d658b 100644 --- a/sys/dev/cxgbe/firmware/t4fw_interface.h +++ b/sys/dev/cxgbe/firmware/t4fw_interface.h @@ -10001,17 +10001,17 @@ enum fw_hdr_chip { enum { T4FW_VERSION_MAJOR = 1, T4FW_VERSION_MINOR = 27, - T4FW_VERSION_MICRO = 4, + T4FW_VERSION_MICRO = 5, T4FW_VERSION_BUILD = 0, T5FW_VERSION_MAJOR = 1, T5FW_VERSION_MINOR = 27, - T5FW_VERSION_MICRO = 4, + T5FW_VERSION_MICRO = 5, T5FW_VERSION_BUILD = 0, T6FW_VERSION_MAJOR = 1, T6FW_VERSION_MINOR = 27, - T6FW_VERSION_MICRO = 4, + T6FW_VERSION_MICRO = 5, T6FW_VERSION_BUILD = 0, }; diff --git a/sys/dev/cxgbe/firmware/t5fw-1.27.4.0.bin b/sys/dev/cxgbe/firmware/t5fw-1.27.5.0.bin similarity index 59% rename from sys/dev/cxgbe/firmware/t5fw-1.27.4.0.bin rename to sys/dev/cxgbe/firmware/t5fw-1.27.5.0.bin index b32f270b1866..875f421c7523 100644 Binary files a/sys/dev/cxgbe/firmware/t5fw-1.27.4.0.bin and b/sys/dev/cxgbe/firmware/t5fw-1.27.5.0.bin differ diff --git a/sys/dev/cxgbe/firmware/t6fw-1.27.4.0.bin b/sys/dev/cxgbe/firmware/t6fw-1.27.5.0.bin similarity index 76% rename from sys/dev/cxgbe/firmware/t6fw-1.27.4.0.bin rename to sys/dev/cxgbe/firmware/t6fw-1.27.5.0.bin index a47f287848f1..f951578d642b 100644 Binary files a/sys/dev/cxgbe/firmware/t6fw-1.27.4.0.bin and b/sys/dev/cxgbe/firmware/t6fw-1.27.5.0.bin differ diff --git a/sys/modules/cxgbe/t4_firmware/Makefile b/sys/modules/cxgbe/t4_firmware/Makefile index fb8eeb0d6c8e..15928bdb0207 100644 --- a/sys/modules/cxgbe/t4_firmware/Makefile +++ b/sys/modules/cxgbe/t4_firmware/Makefile @@ -16,7 +16,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0 .endif .endfor -T4FW_VER= 1.27.4.0 +T4FW_VER= 1.27.5.0 FIRMWS+= t4fw-${T4FW_VER}.bin:t4fw:${T4FW_VER} .include diff --git a/sys/modules/cxgbe/t5_firmware/Makefile b/sys/modules/cxgbe/t5_firmware/Makefile index 2876d1a6b041..cf2c3e9006bd 100644 --- a/sys/modules/cxgbe/t5_firmware/Makefile +++ b/sys/modules/cxgbe/t5_firmware/Makefile @@ -16,7 +16,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0 .endif .endfor -T5FW_VER= 1.27.4.0 +T5FW_VER= 1.27.5.0 FIRMWS+= t5fw-${T5FW_VER}.bin:t5fw:${T5FW_VER} .include diff --git a/sys/modules/cxgbe/t6_firmware/Makefile b/sys/modules/cxgbe/t6_firmware/Makefile index 7ac481c4bdb9..5bc7c8e8e0b6 100644 --- a/sys/modules/cxgbe/t6_firmware/Makefile +++ b/sys/modules/cxgbe/t6_firmware/Makefile @@ -16,7 +16,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0 .endif .endfor -T6FW_VER= 1.27.4.0 +T6FW_VER= 1.27.5.0 FIRMWS+= t6fw-${T6FW_VER}.bin:t6fw:${T6FW_VER} .include From nobody Thu Jan 4 22:08:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5ghw6jJlz55NQx; Thu, 4 Jan 2024 22:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5ghw4hkzz4MWc; Thu, 4 Jan 2024 22:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2wsm6BWsy3NbO38QhAbtz+HC64VmOt/q3LosQBBwkro=; b=uEOYJx0dvmw4n0hXdcNHlYGCrZ1e4WVaISudEJe3MMDapOitQyPkhKMdVC/Bz40ZGUbO5t eNO7DVZNXRE118mL4QdjDhtbZSIHS4IQ2nKbEYpI95sBaaBKnZM6XTlMBTTkFAiaGEu8b7 NaTcuEbofnTMNTEcYMWE8qnn94lzO/F6CENQzxw7ESg2QEO4r4i0I0D/fNpgxxObtk5TAO 7R4W6uge968QGOkLc64UNvXSTL6R0gR5jyx0y4IDcXFp3RprXuk4EolylWWljgQPKt9j9A xhlBAn81kDaGqHi/6sHn0JEiUX9I4xQvr+leKLAUeCaPO7otU5Rfl9G4MQsfRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2wsm6BWsy3NbO38QhAbtz+HC64VmOt/q3LosQBBwkro=; b=hFwPwpS08b8lTqhnddeDF85YaJgQ/FCnZ4KLcfobdgXSCTgMvXhQ8HmpNBTgSB1OsfyV/b 0/0gwbcUHYuTDWIRCUidnxQrsipfihuToKSzhwID552l5hdFPjbYpDNqmoBwh590srOmjg jdKOjqGpfAn+Oe2wklLFLtOoQcKyOkLMqfiqIEcB6VlbvNUFkXN97chOutPf2gkfn2RRQP 7qtpVbgRC9+7vamhvdrJowv2/b4XTzLLNAO/DP0TtOLrgAOvlKAtNkv0DQChwbRIvCH7Ax AslhqsG5RS0u3DCUb7OkhoWOMndhJl9ShK+EfpXGxp7zkBtsnUfILTqbsjilpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704406128; a=rsa-sha256; cv=none; b=a2Cj4Me5uX3KrqYhcEGXMU4joYBoILfsxOjYFgJUuSVCgqLugydIDyqjzLB2nreMO9dUhS a+/9p3tzAL+20SFrkZw+aDfAgGGl2xjbw5EoQGcW3EFv4iTbEYvLROg3423Q31QOgL4myl BK3/C1Jfjo00LtejbwFc6ivSKNClUjjR85S3clQrfi8SmS9gsdyDP8QbTXaR/3+XDlkEno Z08rCYoMG8hvX2SYVz+McHNEZv625LcH5/3oS/LSdtUv+/K8+JO3Id1naUYXZrcuNHD8V6 ssW8O7+q4x7icGLCoVXBNuWtRrPPx1UPdxjN2JgrzcJpQOEtoW/jO3T/XF7OTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5ghw3nKnzXTJ; Thu, 4 Jan 2024 22:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404M8m6g090954; Thu, 4 Jan 2024 22:08:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404M8mLe090951; Thu, 4 Jan 2024 22:08:48 GMT (envelope-from git) Date: Thu, 4 Jan 2024 22:08:48 GMT Message-Id: <202401042208.404M8mLe090951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 5f840a1758b4 - main - pf: don't clobber log flag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f840a1758b4bbb4892118f43f40c6487c17aeba Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=5f840a1758b4bbb4892118f43f40c6487c17aeba commit 5f840a1758b4bbb4892118f43f40c6487c17aeba Author: Kristof Provost AuthorDate: 2024-01-02 13:54:06 +0000 Commit: Kristof Provost CommitDate: 2024-01-04 22:08:08 +0000 pf: don't clobber log flag If we decide to discard a packet due to unexpected IP options or unsupported headers we set pd.act.log. However, this can later get overwritten when we copy the state's saved actions over. Merge the two log fields to ensure we log as expected. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index e19370cc7333..9e9743c1e5e0 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8210,7 +8210,9 @@ done: } if (s) { + uint8_t log = pd.act.log; memcpy(&pd.act, &s->act, sizeof(struct pf_rule_actions)); + pd.act.log |= log; tag = s->tag; rt = s->rt; } else { @@ -8819,7 +8821,9 @@ done: } if (s) { + uint8_t log = pd.act.log; memcpy(&pd.act, &s->act, sizeof(struct pf_rule_actions)); + pd.act.log |= log; tag = s->tag; rt = s->rt; } else { From nobody Thu Jan 4 22:08:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5ghy1t2Tz55NYb; Thu, 4 Jan 2024 22:08:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5ghx5lKkz4McG; Thu, 4 Jan 2024 22:08:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bQxMYNAN+f0bZQsGM6WdIRosn9MxeyWH9R1KEZ6d0a8=; b=qNLUR2R8K3ADsXD/UT9OPAVCme3DCqvAVTfX/W+0wRd1pLaXqItPJCqQTPvg2G9yRKH0zt oASrFJWhgPkOnEBev4PfG+OGytWg9BIiy6Ib/pcO2ZbgfSIQM2k0w18wIgfehTZqUVq6tE NkwXQJos9ZYjOO78uu7FfH+Pwi1aDc6RgkXzfmIN7SHBHjAlSzgByO+iLShDwk07Z0F56e eV/3IBZkXX/wSXMraK7QX1fT73+Bl0bero9KUprPtSbvSaij2/RpuLzvgCAMlXt5TCyQSs sbM0MfhlFJjQ0oM4VKGNfgcjbKi1BRpsKBFLCSUOLN7YHJXBRMWrvIF2r1Z7+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bQxMYNAN+f0bZQsGM6WdIRosn9MxeyWH9R1KEZ6d0a8=; b=BNpeFMOPwBBOyY2dBPNXS1MFreQpzWJS5R3SNt1JAwcNCDT1nuX38LNpfywy4t7Prdq5m0 wK1nOzUqsMchI7W4VqsMsCUm03SCldQlVRlIOMdbCeNjjI2XVMLkOyCLBPrSkTbrg+VV2y 69ZkAPlGgS4ugD7nibNdE+R9l5Ea9yKoiI8surJE7jRE7ZtbxPJqbXx+Ts3PBW7JaC5Khf ckHwiaHCKas2pBpyzR+i1KKl3+9Jtcpo8mzCaQZTGIjALsN/b4IbUVovtjOKkLPJ+QjFXP EFJtYyQ2XW2/2fyG9nVgTdcmOj+I5CwQBEpFgZ5zuM2jEaxzbvYHAHyAtWy/ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704406129; a=rsa-sha256; cv=none; b=qOUQbDRczpxuXP43WqZRfVrehQRMa/ghm8KdNxUIId4AUT9WwmDoAJFDBbT5AA050+GoHz b8etFy7IQQlemAmsaxQcsQ6Ci+/vwTI9kI2URc9rWdHoDF2QY0amgIMoDOCNOc6xWRP5Zg Nt8R88WpwvaZrPsJo3CuZsKUNhATyHcWzT6HV8THl4KlCEpKhZP3Pwlrk706dsnJyUmFtf nmC8N2fAIWcdDSL+Bv7UT5mZE314C1BKwO5l0TanJ/d7twfxBFnsqR1A368D9UXuZ5f6Ib 0CqfPC8R0GnkvrffbMks+V+63YDcxOQGjtKU7DFy6R8uaxaXWzi5lrIWB8Eelg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5ghx4rmRzW7T; Thu, 4 Jan 2024 22:08:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404M8nLU091002; Thu, 4 Jan 2024 22:08:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404M8nP5091000; Thu, 4 Jan 2024 22:08:49 GMT (envelope-from git) Date: Thu, 4 Jan 2024 22:08:49 GMT Message-Id: <202401042208.404M8nP5091000@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 948e8413aba0 - main - pflog: pass the action to pflog directly List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 948e8413aba0ee600ceb563cee048a6ef74a6a2c Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=948e8413aba0ee600ceb563cee048a6ef74a6a2c commit 948e8413aba0ee600ceb563cee048a6ef74a6a2c Author: Kristof Provost AuthorDate: 2024-01-02 14:52:39 +0000 Commit: Kristof Provost CommitDate: 2024-01-04 22:08:08 +0000 pflog: pass the action to pflog directly If a packet is malformed, it is dropped by pf(4). The rule referenced in pflog(4) is the default rule. As the default rule is a pass rule, tcpdump printed "pass" although the packet was actually dropped. Use the actual action, rather than the rule's action, or an attempt at guessing the correct action. Inspired by OpenBSD's 'pflog(4) logs packet dropped by default rule with block.' commit. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/if_pflog.h | 4 ++-- sys/net/pfvar.h | 2 +- sys/netpfil/pf/if_pflog.c | 4 ++-- sys/netpfil/pf/pf.c | 22 +++++++++++----------- sys/netpfil/pf/pf_norm.c | 10 +++++----- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/sys/net/if_pflog.h b/sys/net/if_pflog.h index c5ed062fb5f2..fb0d971d490c 100644 --- a/sys/net/if_pflog.h +++ b/sys/net/if_pflog.h @@ -69,9 +69,9 @@ struct pf_ruleset; struct pfi_kif; struct pf_pdesc; -#define PFLOG_PACKET(i,a,b,c,d,e,f,g,di) do { \ +#define PFLOG_PACKET(i,a,b,t,c,d,e,f,g,di) do { \ if (pflog_packet_ptr != NULL) \ - pflog_packet_ptr(i,a,b,c,d,e,f,g,di); \ + pflog_packet_ptr(i,a,b,t,c,d,e,f,g,di); \ } while (0) #endif /* _KERNEL */ #endif /* _NET_IF_PFLOG_H_ */ diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 48162b786a86..020b79ded94c 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1208,7 +1208,7 @@ void pf_state_export(struct pf_state_export *, struct pf_kruleset; struct pf_pdesc; typedef int pflog_packet_t(struct pfi_kkif *, struct mbuf *, sa_family_t, - u_int8_t, struct pf_krule *, struct pf_krule *, struct pf_kruleset *, + uint8_t, u_int8_t, struct pf_krule *, struct pf_krule *, struct pf_kruleset *, struct pf_pdesc *, int); extern pflog_packet_t *pflog_packet_ptr; diff --git a/sys/netpfil/pf/if_pflog.c b/sys/netpfil/pf/if_pflog.c index 82e0daa01898..7ac337a84c5d 100644 --- a/sys/netpfil/pf/if_pflog.c +++ b/sys/netpfil/pf/if_pflog.c @@ -216,7 +216,7 @@ pflogioctl(struct ifnet *ifp, u_long cmd, caddr_t data) static int pflog_packet(struct pfi_kkif *kif, struct mbuf *m, sa_family_t af, - u_int8_t reason, struct pf_krule *rm, struct pf_krule *am, + uint8_t action, u_int8_t reason, struct pf_krule *rm, struct pf_krule *am, struct pf_kruleset *ruleset, struct pf_pdesc *pd, int lookupsafe) { struct ifnet *ifn; @@ -231,7 +231,7 @@ pflog_packet(struct pfi_kkif *kif, struct mbuf *m, sa_family_t af, bzero(&hdr, sizeof(hdr)); hdr.length = PFLOG_REAL_HDRLEN; hdr.af = af; - hdr.action = rm->action; + hdr.action = action; hdr.reason = reason; memcpy(hdr.ifname, kif->pfik_name, sizeof(hdr.ifname)); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 9e9743c1e5e0..9489da0b3e53 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4475,7 +4475,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, KASSERT(nk != NULL, ("%s: null nk", __func__)); if (nr->log) { - PFLOG_PACKET(kif, m, af, PFRES_MATCH, nr, a, + PFLOG_PACKET(kif, m, af, PF_PASS, PFRES_MATCH, nr, a, ruleset, pd, 1); } @@ -4703,7 +4703,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, pf_rule_to_actions(r, &pd->act); if (r->log) PFLOG_PACKET(kif, m, af, - PFRES_MATCH, r, + r->action, PFRES_MATCH, r, a, ruleset, pd, 1); } else { match = 1; @@ -4735,7 +4735,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, if (r->log) { if (rewrite) m_copyback(m, off, hdrlen, pd->hdr.any); - PFLOG_PACKET(kif, m, af, reason, r, a, ruleset, pd, 1); + PFLOG_PACKET(kif, m, af, r->action, reason, r, a, ruleset, pd, 1); } if ((r->action == PF_DROP) && @@ -5149,7 +5149,7 @@ pf_test_fragment(struct pf_krule **rm, struct pfi_kkif *kif, pf_rule_to_actions(r, &pd->act); if (r->log) PFLOG_PACKET(kif, m, af, - PFRES_MATCH, r, + r->action, PFRES_MATCH, r, a, ruleset, pd, 1); } else { match = 1; @@ -5179,7 +5179,7 @@ pf_test_fragment(struct pf_krule **rm, struct pfi_kkif *kif, pf_rule_to_actions(r, &pd->act); if (r->log) - PFLOG_PACKET(kif, m, af, reason, r, a, ruleset, pd, 1); + PFLOG_PACKET(kif, m, af, r->action, reason, r, a, ruleset, pd, 1); if (r->action != PF_PASS) return (PF_DROP); @@ -8332,13 +8332,13 @@ done: lr = r; if (pd.act.log & PF_LOG_FORCE || lr->log & PF_LOG_ALL) - PFLOG_PACKET(kif, m, AF_INET, reason, lr, a, ruleset, - &pd, (s == NULL)); + PFLOG_PACKET(kif, m, AF_INET, action, reason, lr, a, + ruleset, &pd, (s == NULL)); if (s) { SLIST_FOREACH(ri, &s->match_rules, entry) if (ri->r->log & PF_LOG_ALL) - PFLOG_PACKET(kif, m, AF_INET, reason, - ri->r, a, ruleset, &pd, 0); + PFLOG_PACKET(kif, m, AF_INET, action, + reason, ri->r, a, ruleset, &pd, 0); } } @@ -8896,12 +8896,12 @@ done: lr = r; if (pd.act.log & PF_LOG_FORCE || lr->log & PF_LOG_ALL) - PFLOG_PACKET(kif, m, AF_INET6, reason, lr, a, ruleset, + PFLOG_PACKET(kif, m, AF_INET6, action, reason, lr, a, ruleset, &pd, (s == NULL)); if (s) { SLIST_FOREACH(ri, &s->match_rules, entry) if (ri->r->log & PF_LOG_ALL) - PFLOG_PACKET(kif, m, AF_INET6, reason, + PFLOG_PACKET(kif, m, AF_INET6, action, reason, ri->r, a, ruleset, &pd, 0); } } diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index a119d85f806e..3824e7b2f595 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1184,7 +1184,7 @@ pf_normalize_ip(struct mbuf **m0, struct pfi_kkif *kif, u_short *reason, REASON_SET(reason, PFRES_FRAG); drop: if (r != NULL && r->log) - PFLOG_PACKET(kif, m, AF_INET, *reason, r, NULL, NULL, pd, 1); + PFLOG_PACKET(kif, m, AF_INET, PF_DROP, *reason, r, NULL, NULL, pd, 1); return (PF_DROP); } @@ -1357,13 +1357,13 @@ again: shortpkt: REASON_SET(reason, PFRES_SHORT); if (r != NULL && r->log) - PFLOG_PACKET(kif, m, AF_INET6, *reason, r, NULL, NULL, pd, 1); + PFLOG_PACKET(kif, m, AF_INET6, PF_DROP, *reason, r, NULL, NULL, pd, 1); return (PF_DROP); drop: REASON_SET(reason, PFRES_NORM); if (r != NULL && r->log) - PFLOG_PACKET(kif, m, AF_INET6, *reason, r, NULL, NULL, pd, 1); + PFLOG_PACKET(kif, m, AF_INET6, PF_DROP, *reason, r, NULL, NULL, pd, 1); return (PF_DROP); } #endif /* INET6 */ @@ -1489,7 +1489,7 @@ pf_normalize_tcp(struct pfi_kkif *kif, struct mbuf *m, int ipoff, tcp_drop: REASON_SET(&reason, PFRES_NORM); if (rm != NULL && r->log) - PFLOG_PACKET(kif, m, AF_INET, reason, r, NULL, NULL, pd, 1); + PFLOG_PACKET(kif, m, AF_INET, PF_DROP, reason, r, NULL, NULL, pd, 1); return (PF_DROP); } @@ -2251,7 +2251,7 @@ pf_normalize_sctp(int dir, struct pfi_kkif *kif, struct mbuf *m, int ipoff, sctp_drop: REASON_SET(&reason, PFRES_NORM); if (rm != NULL && r->log) - PFLOG_PACKET(kif, m, AF_INET, reason, r, NULL, NULL, pd, + PFLOG_PACKET(kif, m, AF_INET, PF_DROP, reason, r, NULL, NULL, pd, 1); return (PF_DROP); From nobody Thu Jan 4 22:08:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5ghz1Gcpz55Nbp; Thu, 4 Jan 2024 22:08:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5ghy6pJYz4MJ7; Thu, 4 Jan 2024 22:08:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3g/zalcAiga+jtzyl7dkoGRjfqYFy2qJOXBL6FkMfxY=; b=RTUG2D7mM80OU+MTpOX/TGi+c/MwyPStUW9apCrjXWZ80L5WWzIDTCErbjGRkyQzSMgOv/ TLbzk7LXUVE/YBj5FyKafZZ/fhoDt4ohhQejZATjKtGLXrtdju4NF0LOR0U9nLFV68gRuA IMFv4TLU3luGbMZzAEvFL799lTNQ+AYsFZjPHocihnGEC1Qp9ufD47RIPyQsUy8cmFDSQO 0iSsFdHhtKtQ6LPAf+Ub+EVYajBCxryiYkJrfoVyrSy25lU7vOInOuK7vXOixjztopUymT IMEjNmz2+21sDBUOIHAGqRyzfYt1YieBAmzcc1S0DA0ZVjHwhWPEakPNkAHifg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3g/zalcAiga+jtzyl7dkoGRjfqYFy2qJOXBL6FkMfxY=; b=BoYQSKAsY91RJ3S+S7oLerTGuBj+lPWMpxytvYEH3xALwJdc6VbOw29SufV4YZ1WK79Fce sHvR6Y0Qpo4FAfXdL4emWxwMXMuZtlODgAFCyDoLVy6d7B42/ATvsOcgl8ryfaVggmX5wy 1Y2sv4esU7S+AgH4+ZAik8iJIfvmFOuUu1kYRBVKKT1sLYzvk+86xV59Bv5OoLvmP6Pg97 gZhJbd5aChj0WMbthj3yuuDLU8/nGF3dyyCwV/ph68gxRU+SxF80WfMXvGXubzbB79IDhz OG7ZBtnZKBK4dMeeHSzInfFdfU5hM9wFSX/T2Rka8Pw7vSKlXBfK/uN52Cwz4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704406131; a=rsa-sha256; cv=none; b=TAQ8dVv0w03KnpYhLkKgOrMl2A7BXbSx8Vpvl5V49OmNNUh8VThO01eUDvRVLIjL1246yP zELKwnSylBlPlZHZj6DGIZrCvI/V1wyblh4V35iaju/g55UL3BLdXdFU0Nb6ffvnzCZlv8 QwjMseAIy60oeE1cIJSqXNYOolK6fr4IMOvr6en1xnXNO7q7FkAd5F0/LJPLLif3AP9tHL lfuXKQWoCrJEZ0z9rC+8XwufCzyqqGZ0BaeUrPjEGQXJzy2BYZ5Ei0wsbqx/7fW0ILKF1f EQ5UkkCYRjL/PaCjKZEFOMaT2jrm0+KHqXenCvo2/Zwm5dXSmgnsBeP6VNYybg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5ghy5sYwzX4Y; Thu, 4 Jan 2024 22:08:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404M8o4T091065; Thu, 4 Jan 2024 22:08:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404M8oBf091062; Thu, 4 Jan 2024 22:08:50 GMT (envelope-from git) Date: Thu, 4 Jan 2024 22:08:50 GMT Message-Id: <202401042208.404M8oBf091062@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 32df0124f467 - main - pf tests: ensure that pflog shows malformed packets as blocked, not passed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 32df0124f467eff3e4691090fecb022dbdaa1e25 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=32df0124f467eff3e4691090fecb022dbdaa1e25 commit 32df0124f467eff3e4691090fecb022dbdaa1e25 Author: Kristof Provost AuthorDate: 2024-01-02 15:01:20 +0000 Commit: Kristof Provost CommitDate: 2024-01-04 22:08:08 +0000 pf tests: ensure that pflog shows malformed packets as blocked, not passed Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/common/pft_ping.py | 9 +++- tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/pflog.sh | 85 ++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+), 1 deletion(-) diff --git a/tests/sys/netpfil/common/pft_ping.py b/tests/sys/netpfil/common/pft_ping.py index 1abf4f609832..a24a1e00150a 100644 --- a/tests/sys/netpfil/common/pft_ping.py +++ b/tests/sys/netpfil/common/pft_ping.py @@ -68,7 +68,11 @@ def prepare_ipv4(dst_address, send_params): flags = send_params.get('flags') tos = send_params.get('tc') ttl = send_params.get('hlim') - ip = sp.IP(dst=dst_address) + opt = send_params.get('nop') + options = '' + if opt: + options='\x00' + ip = sp.IP(dst=dst_address, options=options) if src_address: ip.src = src_address if flags: @@ -443,6 +447,8 @@ def parse_args(): help='IPv6 Traffic Class or IPv4 DiffServ / ToS') parser_send.add_argument('--send-tcpopt-unaligned', action='store_true', help='Include unaligned TCP options') + parser_send.add_argument('--send-nop', action='store_true', + help='Include a NOP IPv4 option') # Expectations parser_expect = parser.add_argument_group('Values expected in sniffed packets') @@ -489,6 +495,7 @@ def main(): expect_params['length'] = send_params['length'] send_params['tcpopt_unaligned'] = args.send_tcpopt_unaligned + send_params['nop'] = args.send_nop send_params['src_address'] = args.fromaddr[0] if args.fromaddr else None # We may not have a default route. Tell scapy where to start looking for routes diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 1083f89a5502..5f18d7c5da35 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -24,6 +24,7 @@ ATF_TESTS_SH+= altq \ names \ nat \ pass_block \ + pflog \ pfsync \ prio \ proxy \ diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh new file mode 100644 index 000000000000..75b7c5c217bb --- /dev/null +++ b/tests/sys/netpfil/pf/pflog.sh @@ -0,0 +1,85 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2023 Rubicon Communications, LLC (Netgate) +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +. $(atf_get_srcdir)/utils.subr + +common_dir=$(atf_get_srcdir)/../common + +atf_test_case "malformed" "cleanup" +malformed_head() +{ + atf_set descr 'Test that we do not log malformed packets as passing' + atf_set require.user root + atf_set require.progs scapy +} + +malformed_body() +{ + pflog_init + + epair=$(vnet_mkepair) + + vnet_mkjail srv ${epair}b + jexec srv ifconfig ${epair}b 192.0.2.1/24 up + + vnet_mkjail cl ${epair}a + jexec cl ifconfig ${epair}a 192.0.2.2/24 up + + jexec cl pfctl -e + jexec cl ifconfig pflog0 up + pft_set_rules cl \ + "pass log keep state" + + # Not required, but the 'pf: dropping packet with ip options' kernel log can + # help when debugging the test. + jexec cl pfctl -x loud + + jexec cl tcpdump -n -e -ttt --immediate-mode -l -U -i pflog0 >> pflog.txt & + sleep 1 # Wait for tcpdump to start + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec srv ping -c 1 192.0.2.2 + + jexec srv ${common_dir}/pft_ping.py \ + --sendif ${epair}b \ + --to 192.0.2.2 \ + --send-nop \ + --recvif ${epair}b + + atf_check -o match:".*rule 0/8\(ip-option\): block in on ${epair}a: 192.0.2.1 > 192.0.2.2: ICMP echo request.*" \ + cat pflog.txt +} + +malformed_cleanup() +{ + pft_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "malformed" +} From nobody Thu Jan 4 22:11:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5glg2XGgz55NcR; Thu, 4 Jan 2024 22:11: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5glg2679z4NPx; Thu, 4 Jan 2024 22:11:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dzLv8V0cyandfFvJ9jdRVZEDeskwuAxbJFnxhR9CzaM=; b=Ua5OCc4612yqvPkr+yDZvRPVL7F9P1FBcMPvoVBj7xn8wn0TTMMRFfWEthWR+Qo6O555YM W3eYs1TSXNaRvdKM2oGNSN0pFDDOFV7Aioq3yrm3yEMr6vLAzZGXD59gXEVT3Btj8cOMh1 wnn5pk9o1bjiivh9UxIYKuMB7uaNYz97bEbsm80FkmmD93BXSQGTBon9jsci3RxWUeGIs7 zeIAs2eTBheXAWaa693Q3Ls3IYFUWdO6JiwyrPOLsxld8IxX/Yh3ADdB6a2he3k2Xe1tR+ 7vDajIG2/+nC4ZMBBmHOI4rU8DtNxzD8OaItphnQ3e+Uf83EPdTel/GuHyORHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dzLv8V0cyandfFvJ9jdRVZEDeskwuAxbJFnxhR9CzaM=; b=jqNfSq5Bi0Rc/Oip8VJSqdthozthg1gUptpadCJJSxrda3zn3Y7CgZK2l21CV06AfUkp5/ a4Blxwb/gsJRP8g8esduv0zsOBlXcZZq+ST5PiCDrEQHolnDezJoxphJxQY2Eoaqd+Nmmt EDxf5Yj444dMAWXIMCSwBJIJJehz+pKxsWWWVdKvpngi1EJQR8zJZNOqOQQYxQWkFhvZx9 peXnQJtzuObIA5L6dSgQk/h3/sGMTUJjU54mr3/xb+JRXLD4qr9MTnmpGTiabC6d6mtMqx ZmO1kwSyk96kUqbpS3XHyjtenv1F9bGdoe7K7/dNStAs1boP5gx0MvfZYzkdNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704406271; a=rsa-sha256; cv=none; b=VtzDebvaQwqGCGioxONJCFeqCe6qwEVlTtQ3116tSsS0bnDlHh6ihJBe9/N/JIpDA/b+RY AjUbwMkJLtP/76qcq7f/inqprlO6S7kL6dL8RzckqXk/5Gxp13yoTwAQ/nC/y/uCHTRudB /xNMUSa1oHOvSRPVfAXR40kD9bG57j2RxOnSwJlieAIqBctl6dnjNLm7qdjGSEf7LCYdC4 N5AQt+r6ePDvnDJjNzkhPPw3bXIAql/B+MUiINoLYBkL5GhtGRmHiTNUYZhq18APTGpY3H mepRB0fPVFoEXz+IrS21OEFpb+tFhW0ibLOHue31NnIAiY7yAW71iZLHoEZVtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5glg1C41zXJV; Thu, 4 Jan 2024 22:11:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404MBB4t002016; Thu, 4 Jan 2024 22:11:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404MBBVJ002013; Thu, 4 Jan 2024 22:11:11 GMT (envelope-from git) Date: Thu, 4 Jan 2024 22:11:11 GMT Message-Id: <202401042211.404MBBVJ002013@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 66cacc141d37 - main - libpfctl: introduce pfctl_handle List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66cacc141d372fdfa624a380bac6880ecf809994 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=66cacc141d372fdfa624a380bac6880ecf809994 commit 66cacc141d372fdfa624a380bac6880ecf809994 Author: Kristof Provost AuthorDate: 2024-01-04 09:50:14 +0000 Commit: Kristof Provost CommitDate: 2024-01-04 22:10:24 +0000 libpfctl: introduce pfctl_handle Consumers of libpfctl can (and in future, should) open a handle. This handle is an opaque object which contains the /dev/pf file descriptor and a netlink handle. This means that libpfctl users can open the handle as root, then drop privileges and still access pf. Already add the handle to pfctl_startstop() and pfctl_get_creatorids() as these are new in main, and not present on stable branches. Other calls will have handle-enabled alternatives implemented in subsequent commits. Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 58 ++++++++++++++++++++++++++++++++++++++----------- lib/libpfctl/libpfctl.h | 10 +++++++-- sbin/pfctl/pfctl.c | 12 ++++++---- 3 files changed, 61 insertions(+), 19 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index f915072c4ea1..94949a5a7337 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -50,11 +50,17 @@ #include #include #include +#include #include #include #include "libpfctl.h" +struct pfctl_handle { + int fd; + struct snl_state ss; +}; + const char* PFCTL_SYNCOOKIES_MODE_NAMES[] = { "never", "always", @@ -64,6 +70,38 @@ const char* PFCTL_SYNCOOKIES_MODE_NAMES[] = { static int _pfctl_clear_states(int , const struct pfctl_kill *, unsigned int *, uint64_t); +struct pfctl_handle * +pfctl_open(const char *pf_device) +{ + struct pfctl_handle *h; + + h = calloc(1, sizeof(struct pfctl_handle)); + h->fd = -1; + + h->fd = open(pf_device, O_RDWR); + if (h->fd < 0) + goto error; + + if (!snl_init(&h->ss, NETLINK_GENERIC)) + goto error; + + return (h); +error: + close(h->fd); + snl_free(&h->ss); + free(h); + + return (NULL); +} + +void +pfctl_close(struct pfctl_handle *h) +{ + close(h->fd); + snl_free(&h->ss); + free(h); +} + static int pfctl_do_ioctl(int dev, uint cmd, size_t size, nvlist_t **nvl) { @@ -183,21 +221,19 @@ pf_nvuint_64_array(const nvlist_t *nvl, const char *name, size_t maxelems, } int -pfctl_startstop(int start) +pfctl_startstop(struct pfctl_handle *h, int start) { - struct snl_state ss = {}; struct snl_errmsg_data e = {}; struct snl_writer nw; struct nlmsghdr *hdr; uint32_t seq_id; int family_id; - snl_init(&ss, NETLINK_GENERIC); - family_id = snl_get_genl_family(&ss, PFNL_FAMILY_NAME); + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); if (family_id == 0) return (ENOTSUP); - snl_init_writer(&ss, &nw); + snl_init_writer(&h->ss, &nw); hdr = snl_create_genl_msg_request(&nw, family_id, start ? PFNL_CMD_START : PFNL_CMD_STOP); @@ -206,9 +242,9 @@ pfctl_startstop(int start) return (ENOMEM); seq_id = hdr->nlmsg_seq; - snl_send_message(&ss, hdr); + snl_send_message(&h->ss, hdr); - while ((hdr = snl_read_reply_multi(&ss, seq_id, &e)) != NULL) { + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { } return (e.error); @@ -1288,17 +1324,13 @@ pfctl_get_creators_nl(struct snl_state *ss, uint32_t *creators, size_t *len) } int -pfctl_get_creatorids(uint32_t *creators, size_t *len) +pfctl_get_creatorids(struct pfctl_handle *h, uint32_t *creators, size_t *len) { - struct snl_state ss = {}; int error; - snl_init(&ss, NETLINK_GENERIC); - error = pfctl_get_creators_nl(&ss, creators, len); - snl_free(&ss); + error = pfctl_get_creators_nl(&h->ss, creators, len); return (error); - } static void diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 7f3b1b600db7..f128e5340891 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -385,7 +385,13 @@ struct pfctl_syncookies { uint32_t halfopen_states; }; -int pfctl_startstop(int start); +#define PF_DEVICE "/dev/pf" + +struct pfctl_handle; +struct pfctl_handle *pfctl_open(const char *pf_device); +void pfctl_close(struct pfctl_handle *); + +int pfctl_startstop(struct pfctl_handle *h, int start); struct pfctl_status* pfctl_get_status(int dev); uint64_t pfctl_status_counter(struct pfctl_status *status, int id); uint64_t pfctl_status_lcounter(struct pfctl_status *status, int id); @@ -416,7 +422,7 @@ int pfctl_add_rule(int dev, const struct pfctl_rule *r, const char *anchor, const char *anchor_call, uint32_t ticket, uint32_t pool_ticket); int pfctl_set_keepcounters(int dev, bool keep); -int pfctl_get_creatorids(uint32_t *creators, size_t *len); +int pfctl_get_creatorids(struct pfctl_handle *h, uint32_t *creators, size_t *len); struct pfctl_state_filter { char ifname[IFNAMSIZ]; diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 2702c701f9cc..217bf31b3301 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -132,7 +132,7 @@ static const char *showopt; static const char *debugopt; static char *anchoropt; static const char *optiopt = NULL; -static const char *pf_device = "/dev/pf"; +static const char *pf_device = PF_DEVICE; static char *ifaceopt; static char *tableopt; static const char *tblcmdopt; @@ -144,6 +144,7 @@ int loadopt; int altqsupport; int dev = -1; +struct pfctl_handle *pfh = NULL; static int first_title = 1; static int labels = 0; @@ -312,7 +313,7 @@ pfctl_enable(int dev, int opts) { int ret; - if ((ret = pfctl_startstop(1)) != 0) { + if ((ret = pfctl_startstop(pfh, 1)) != 0) { if (ret == EEXIST) errx(1, "pf already enabled"); else if (ret == ESRCH) @@ -335,7 +336,7 @@ pfctl_disable(int dev, int opts) { int ret; - if ((ret = pfctl_startstop(0)) != 0) { + if ((ret = pfctl_startstop(pfh, 0)) != 0) { if (ret == ENOENT) errx(1, "pf not enabled"); else @@ -1665,7 +1666,7 @@ pfctl_show_creators(int opts) uint32_t creators[16]; size_t count = nitems(creators); - ret = pfctl_get_creatorids(creators, &count); + ret = pfctl_get_creatorids(pfh, creators, &count); if (ret != 0) errx(ret, "Failed to retrieve creators"); @@ -3079,6 +3080,9 @@ main(int argc, char *argv[]) altqsupport = 1; #endif } + pfh = pfctl_open(pf_device); + if (pfh == NULL) + err(1, "Failed to open netlink"); if (opts & PF_OPT_DISABLE) if (pfctl_disable(dev, opts)) From nobody Thu Jan 4 22:11:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5glh4WyHz55NW9; Thu, 4 Jan 2024 22:11: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5glh2S3tz4NL4; Thu, 4 Jan 2024 22:11:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=teSRzhJT7ij5s2IM6DTtH0r61pvLFsoCOpTFtXh+Xsw=; b=uZVarp9ebBEOsO55yyS43CemUwbyKEfPhf6r+mJeYEOAd9klpDEh34IL50kRCn4TYzCbq/ ekvYekESPoaLs3/eslhRFbtHFX28z04mwTGlpbusbytTzsVz04nhWhqd/zAWrm+sOlLmo7 F+2/MAEXSzexPXAf+wgfFRrNS0fPUZ1HlPaBgyVK7+iffMf+OQR5PtAVrAu1Kz6KN6bC/8 L433WC3z1t206A7uyIHKUCPfvkHSVJd+MyMH9wUcZFmL8mIa1+4RBQVwuGQmyoCnkgW4Gm mvs0rA2Fx65sAGwjwygkHlPUIy7tNHBaEPks9DlY7GPtK1vzoiK7Gl33s37PMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704406272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=teSRzhJT7ij5s2IM6DTtH0r61pvLFsoCOpTFtXh+Xsw=; b=SxlWwDLSRMxTQ0AfepGIr4o8iv8khOdN9YsSI2ygGKKRyU3EfTvzdKyoFu6fz0k2ScwcOf TEenuRGCWmxq8PGQrTyf23pXJTwNhmJ4K/4w3zTrPURGreOcaNZQpAzlYMf3Tjy46Qb9JG OwvPOGLd0/IC/txYfn3bn5R4sse7lA9Ig6927HIllXHQoKIkbZa1R4RkP++2481PVvjBq0 hwGBnrAXv3/EtOD3UAAPNFJ/Y79canr/JnF3L+X0+rlS3ks+R52BD0UQ7olGYMMPlrdVHS yHDWX/TRpTYc/OHQxMBIZNVMFjl5gcOb/TH6Mn1aHWQDsDfxvVtnh7Mfz+Ed1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704406272; a=rsa-sha256; cv=none; b=eK46bYYPtGehHrlEFUlv5eiDIZWlIvkmngH5pfQaRZxBFr1ntSc2PVkXdFzKSX29rCLZ25 EuBrPp0r5tonW4/mIpDyqtCREUN5+RWmcyWr5BOllkMdXDYj+RTER7Nzn5AJ1TJD9qmzRX otZPgN5OQppfATXSONuWEN6zGR0T/ovepNq9cCvESZazOQB/+bTFqWZk5oTXlUhewBNX7t un4p6DZwqYZbI3dXJZSSKDxMqsVwyBuYc6eMWrsSbkK/F4/yScW8pK+7BzAWLITK76lhBW osVx0/K4fiieLUCNlxNAeX5aotYdiVaDJHPT3TNwV1Wg7njMTRAXZ3wRU52Zyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5glh1WdyzX4n; Thu, 4 Jan 2024 22:11:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404MBC3r003219; Thu, 4 Jan 2024 22:11:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404MBC3D003204; Thu, 4 Jan 2024 22:11:12 GMT (envelope-from git) Date: Thu, 4 Jan 2024 22:11:12 GMT Message-Id: <202401042211.404MBC3D003204@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 324fd7ec4043 - main - libpfctl: introduce a handle-enabled variant of pfctl_add_rule() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 324fd7ec40439e6b3916429a69956d7acf74eb19 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=324fd7ec40439e6b3916429a69956d7acf74eb19 commit 324fd7ec40439e6b3916429a69956d7acf74eb19 Author: Kristof Provost AuthorDate: 2024-01-04 12:45:56 +0000 Commit: Kristof Provost CommitDate: 2024-01-04 22:10:44 +0000 libpfctl: introduce a handle-enabled variant of pfctl_add_rule() Introduce pfctl_add_rule_h(), which takes a pfctl_handle rather than a file descriptor (which it didn't use). This means that library users can open the handle while they're running as root, but later drop privileges and still add rules to pf. Sponsored by: Rubicon Communications, LLC ("Netgate") --- contrib/pf/ftp-proxy/filter.c | 10 +++++++--- contrib/pf/tftp-proxy/filter.c | 12 +++++++++--- lib/libpfctl/libpfctl.c | 29 +++++++++++++++++++++++------ lib/libpfctl/libpfctl.h | 3 +++ 4 files changed, 42 insertions(+), 12 deletions(-) diff --git a/contrib/pf/ftp-proxy/filter.c b/contrib/pf/ftp-proxy/filter.c index 4277e079f3be..612e35c4ac6e 100644 --- a/contrib/pf/ftp-proxy/filter.c +++ b/contrib/pf/ftp-proxy/filter.c @@ -58,6 +58,7 @@ static uint32_t pfpool_ticket; static struct pfioc_trans pft; static struct pfioc_trans_e pfte[TRANS_SIZE]; static int dev, rule_log; +static struct pfctl_handle *pfh = NULL; static const char *qname, *tagname; int @@ -73,7 +74,7 @@ add_filter(u_int32_t id, u_int8_t dir, struct sockaddr *src, return (-1); pfrule.direction = dir; - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, pfticket, pfpool_ticket)) return (-1); @@ -108,7 +109,7 @@ add_nat(u_int32_t id, struct sockaddr *src, struct sockaddr *dst, pfrule.rpool.proxy_port[0] = nat_range_low; pfrule.rpool.proxy_port[1] = nat_range_high; - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, pfticket, pfpool_ticket)) return (-1); @@ -141,7 +142,7 @@ add_rdr(u_int32_t id, struct sockaddr *src, struct sockaddr *dst, return (-1); pfrule.rpool.proxy_port[0] = rdr_port; - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, pfticket, pfpool_ticket)) return (-1); @@ -182,6 +183,9 @@ init_filter(const char *opt_qname, const char *opt_tagname, int opt_verbose) dev = open("/dev/pf", O_RDWR); if (dev == -1) err(1, "open /dev/pf"); + pfh = pfctl_open(PF_DEVICE); + if (pfh == NULL) + err(1, "pfctl_open"); status = pfctl_get_status(dev); if (status == NULL) err(1, "DIOCGETSTATUS"); diff --git a/contrib/pf/tftp-proxy/filter.c b/contrib/pf/tftp-proxy/filter.c index 966628464d28..f372ddd0aeae 100644 --- a/contrib/pf/tftp-proxy/filter.c +++ b/contrib/pf/tftp-proxy/filter.c @@ -62,6 +62,7 @@ static char pfanchor_call[PF_ANCHOR_NAME_SIZE]; static struct pfioc_trans pft; static struct pfioc_trans_e pfte[TRANS_SIZE]; static int dev, rule_log; +static struct pfctl_handle *pfh = NULL; static char *qname; int @@ -77,7 +78,7 @@ add_filter(u_int32_t id, u_int8_t dir, struct sockaddr *src, return (-1); pfrule.direction = dir; - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, pfticket, pfpool_ticket)) return (-1); @@ -112,7 +113,7 @@ add_nat(u_int32_t id, struct sockaddr *src, struct sockaddr *dst, pfrule.rpool.proxy_port[0] = nat_range_low; pfrule.rpool.proxy_port[1] = nat_range_high; - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, pfticket, pfpool_ticket)) return (-1); @@ -145,7 +146,7 @@ add_rdr(u_int32_t id, struct sockaddr *src, struct sockaddr *dst, return (-1); pfrule.rpool.proxy_port[0] = rdr_port; - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, pfticket, pfpool_ticket)) return (-1); @@ -187,6 +188,11 @@ init_filter(char *opt_qname, int opt_verbose) syslog(LOG_ERR, "can't open /dev/pf"); exit(1); } + pfh = pfctl_open(PF_DEVICE); + if (pfh == NULL) { + syslog(LOG_ERR, "can't pfctl_open()"); + exit(1); + } status = pfctl_get_status(dev); if (status == NULL) { syslog(LOG_ERR, "DIOCGETSTATUS"); diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 94949a5a7337..2db3f0ede99f 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1116,20 +1116,37 @@ snl_add_msg_attr_pf_rule(struct snl_writer *nw, uint32_t type, const struct pfct int pfctl_add_rule(int dev __unused, const struct pfctl_rule *r, const char *anchor, const char *anchor_call, uint32_t ticket, uint32_t pool_ticket) +{ + struct pfctl_handle *h; + int ret; + + h = pfctl_open(PF_DEVICE); + if (h == NULL) + return (ENODEV); + + ret = pfctl_add_rule_h(h, r, anchor, anchor_call, ticket, pool_ticket); + + pfctl_close(h); + + return (ret); +} + +int +pfctl_add_rule_h(struct pfctl_handle *h, const struct pfctl_rule *r, + const char *anchor, const char *anchor_call, uint32_t ticket, + uint32_t pool_ticket) { struct snl_writer nw; - struct snl_state ss = {}; struct snl_errmsg_data e = {}; struct nlmsghdr *hdr; uint32_t seq_id; int family_id; - snl_init(&ss, NETLINK_GENERIC); - family_id = snl_get_genl_family(&ss, PFNL_FAMILY_NAME); + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); if (family_id == 0) return (ENOTSUP); - snl_init_writer(&ss, &nw); + snl_init_writer(&h->ss, &nw); hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_ADDRULE); hdr->nlmsg_flags |= NLM_F_DUMP; snl_add_msg_attr_u32(&nw, PF_ART_TICKET, ticket); @@ -1144,10 +1161,10 @@ pfctl_add_rule(int dev __unused, const struct pfctl_rule *r, const char *anchor, seq_id = hdr->nlmsg_seq; - if (! snl_send_message(&ss, hdr)) + if (! snl_send_message(&h->ss, hdr)) return (ENXIO); - while ((hdr = snl_read_reply_multi(&ss, seq_id, &e)) != NULL) { + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { } return (e.error); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index f128e5340891..cd72d04d6715 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -421,6 +421,9 @@ int pfctl_get_clear_rule(int dev, uint32_t nr, uint32_t ticket, int pfctl_add_rule(int dev, const struct pfctl_rule *r, const char *anchor, const char *anchor_call, uint32_t ticket, uint32_t pool_ticket); +int pfctl_add_rule_h(struct pfctl_handle *h, const struct pfctl_rule *r, + const char *anchor, const char *anchor_call, uint32_t ticket, + uint32_t pool_ticket); int pfctl_set_keepcounters(int dev, bool keep); int pfctl_get_creatorids(struct pfctl_handle *h, uint32_t *creators, size_t *len); From nobody Thu Jan 4 22:19:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5gxH29MPz55PYb for ; Thu, 4 Jan 2024 22:19:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5gxH0LK8z4Pdc for ; Thu, 4 Jan 2024 22:19:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-40d4a222818so181255e9.0 for ; Thu, 04 Jan 2024 14:19:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704406769; x=1705011569; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ab+GX5X0rrtJ0EWVODvgOslERzUG9b8UDw/9b/5qx5Y=; b=Bb1KC6uKnkgE+oo/bNRkVO6lIWPD3B92ldaD+7TzeBozAonT6ZN6ACTB8G3JBRapFr KR49UQRFoegOwAqRY2DxPON1dGins9TGNZEqb8P60ctIEXmj9dRJZ4JtdouymjOe94E7 0s/XtxoCAkemFALnpHoBtvpBL6Lu9ILc17eLju91Uucl3jkHFFk1ABaT0UQQ9SpmRp44 NYS4LfO/nSOV8bjEsejB00run6+4jPxfaJ92MiMxr/j8frAMJAPckyfgzcYCatvFt6wz o3oW2R3Muqo5n9DTIezZeQFEpZ2YR/9DLrs/QVa6cbYw6q8FPZkE9E6Brhs3mNjehPEn W2gw== X-Gm-Message-State: AOJu0Yw7Zv4+WLggjz7MyS4Cb4737YErJNqevNWVeKzwop1N9n83dNuI NEllDoJLeO3RCJKS9tZwf92C4+dWCPM3LQ== X-Google-Smtp-Source: AGHT+IGITUcO4MwGEKv/JkXqVrmfWryrdQFWQAx2XLJocapvP8IY5265FeS52xUTfkDP+vovZiUFJw== X-Received: by 2002:a05:600c:4f15:b0:40c:2a2b:4ea with SMTP id l21-20020a05600c4f1500b0040c2a2b04eamr718846wmq.155.1704406769249; Thu, 04 Jan 2024 14:19:29 -0800 (PST) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id l21-20020a056000023500b00336755f15b0sm186035wrz.68.2024.01.04.14.19.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Jan 2024 14:19:28 -0800 (PST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.200.91.1.1\)) Subject: Re: git: 324fd7ec4043 - main - libpfctl: introduce a handle-enabled variant of pfctl_add_rule() From: Jessica Clarke In-Reply-To: <202401042211.404MBC3D003204@gitrepo.freebsd.org> Date: Thu, 4 Jan 2024 22:19:17 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <38CDCAED-9DF7-467B-BEF9-84BE6D1E8085@freebsd.org> References: <202401042211.404MBC3D003204@gitrepo.freebsd.org> To: Kristof Provost X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Rspamd-Queue-Id: 4T5gxH0LK8z4Pdc X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] On 4 Jan 2024, at 22:11, Kristof Provost wrote: >=20 > The branch main has been updated by kp: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D324fd7ec40439e6b3916429a69956d7a= cf74eb19 >=20 > commit 324fd7ec40439e6b3916429a69956d7acf74eb19 > Author: Kristof Provost > AuthorDate: 2024-01-04 12:45:56 +0000 > Commit: Kristof Provost > CommitDate: 2024-01-04 22:10:44 +0000 >=20 > libpfctl: introduce a handle-enabled variant of pfctl_add_rule() >=20 > Introduce pfctl_add_rule_h(), which takes a pfctl_handle rather = than a > file descriptor (which it didn't use). This means that library = users can > open the handle while they're running as root, but later drop = privileges > and still add rules to pf. Given libpfctl is an INTERALLIB, why do we need to care about this compatibility (and live with this cruft) instead of just changing pfctl_add_rule to the new thing? Jess > Sponsored by: Rubicon Communications, LLC ("Netgate") > --- > contrib/pf/ftp-proxy/filter.c | 10 +++++++--- > contrib/pf/tftp-proxy/filter.c | 12 +++++++++--- > lib/libpfctl/libpfctl.c | 29 +++++++++++++++++++++++------ > lib/libpfctl/libpfctl.h | 3 +++ > 4 files changed, 42 insertions(+), 12 deletions(-) >=20 > diff --git a/contrib/pf/ftp-proxy/filter.c = b/contrib/pf/ftp-proxy/filter.c > index 4277e079f3be..612e35c4ac6e 100644 > --- a/contrib/pf/ftp-proxy/filter.c > +++ b/contrib/pf/ftp-proxy/filter.c > @@ -58,6 +58,7 @@ static uint32_t pfpool_ticket; > static struct pfioc_trans pft; > static struct pfioc_trans_e pfte[TRANS_SIZE]; > static int dev, rule_log; > +static struct pfctl_handle *pfh =3D NULL; > static const char *qname, *tagname; >=20 > int > @@ -73,7 +74,7 @@ add_filter(u_int32_t id, u_int8_t dir, struct = sockaddr *src, > return (-1); >=20 > pfrule.direction =3D dir; > - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, > + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, > pfticket, pfpool_ticket)) > return (-1); >=20 > @@ -108,7 +109,7 @@ add_nat(u_int32_t id, struct sockaddr *src, struct = sockaddr *dst, >=20 > pfrule.rpool.proxy_port[0] =3D nat_range_low; > pfrule.rpool.proxy_port[1] =3D nat_range_high; > - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, > + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, > pfticket, pfpool_ticket)) > return (-1); >=20 > @@ -141,7 +142,7 @@ add_rdr(u_int32_t id, struct sockaddr *src, struct = sockaddr *dst, > return (-1); >=20 > pfrule.rpool.proxy_port[0] =3D rdr_port; > - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, > + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, > pfticket, pfpool_ticket)) > return (-1); >=20 > @@ -182,6 +183,9 @@ init_filter(const char *opt_qname, const char = *opt_tagname, int opt_verbose) > dev =3D open("/dev/pf", O_RDWR);=20 > if (dev =3D=3D -1) > err(1, "open /dev/pf"); > + pfh =3D pfctl_open(PF_DEVICE); > + if (pfh =3D=3D NULL) > + err(1, "pfctl_open"); > status =3D pfctl_get_status(dev); > if (status =3D=3D NULL) > err(1, "DIOCGETSTATUS"); > diff --git a/contrib/pf/tftp-proxy/filter.c = b/contrib/pf/tftp-proxy/filter.c > index 966628464d28..f372ddd0aeae 100644 > --- a/contrib/pf/tftp-proxy/filter.c > +++ b/contrib/pf/tftp-proxy/filter.c > @@ -62,6 +62,7 @@ static char pfanchor_call[PF_ANCHOR_NAME_SIZE]; > static struct pfioc_trans pft; > static struct pfioc_trans_e pfte[TRANS_SIZE]; > static int dev, rule_log; > +static struct pfctl_handle *pfh =3D NULL; > static char *qname; >=20 > int > @@ -77,7 +78,7 @@ add_filter(u_int32_t id, u_int8_t dir, struct = sockaddr *src, > return (-1); >=20 > pfrule.direction =3D dir; > - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, > + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, > pfticket, pfpool_ticket)) > return (-1); >=20 > @@ -112,7 +113,7 @@ add_nat(u_int32_t id, struct sockaddr *src, struct = sockaddr *dst, >=20 > pfrule.rpool.proxy_port[0] =3D nat_range_low; > pfrule.rpool.proxy_port[1] =3D nat_range_high; > - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, > + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, > pfticket, pfpool_ticket)) > return (-1); >=20 > @@ -145,7 +146,7 @@ add_rdr(u_int32_t id, struct sockaddr *src, struct = sockaddr *dst, > return (-1); >=20 > pfrule.rpool.proxy_port[0] =3D rdr_port; > - if (pfctl_add_rule(dev, &pfrule, pfanchor, pfanchor_call, > + if (pfctl_add_rule_h(pfh, &pfrule, pfanchor, pfanchor_call, > pfticket, pfpool_ticket)) > return (-1); >=20 > @@ -187,6 +188,11 @@ init_filter(char *opt_qname, int opt_verbose) > syslog(LOG_ERR, "can't open /dev/pf"); > exit(1); > } > + pfh =3D pfctl_open(PF_DEVICE); > + if (pfh =3D=3D NULL) { > + syslog(LOG_ERR, "can't pfctl_open()"); > + exit(1); > + } > status =3D pfctl_get_status(dev); > if (status =3D=3D NULL) { > syslog(LOG_ERR, "DIOCGETSTATUS"); > diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c > index 94949a5a7337..2db3f0ede99f 100644 > --- a/lib/libpfctl/libpfctl.c > +++ b/lib/libpfctl/libpfctl.c > @@ -1116,20 +1116,37 @@ snl_add_msg_attr_pf_rule(struct snl_writer = *nw, uint32_t type, const struct pfct > int > pfctl_add_rule(int dev __unused, const struct pfctl_rule *r, const = char *anchor, > const char *anchor_call, uint32_t ticket, uint32_t pool_ticket) > +{ > + struct pfctl_handle *h; > + int ret; > + > + h =3D pfctl_open(PF_DEVICE); > + if (h =3D=3D NULL) > + return (ENODEV); > + > + ret =3D pfctl_add_rule_h(h, r, anchor, anchor_call, ticket, = pool_ticket); > + > + pfctl_close(h); > + > + return (ret); > +} > + > +int > +pfctl_add_rule_h(struct pfctl_handle *h, const struct pfctl_rule *r, > + const char *anchor, const char *anchor_call, uint32_t ticket, > + uint32_t pool_ticket) > { > struct snl_writer nw; > - struct snl_state ss =3D {}; > struct snl_errmsg_data e =3D {}; > struct nlmsghdr *hdr; > uint32_t seq_id; > int family_id; >=20 > - snl_init(&ss, NETLINK_GENERIC); > - family_id =3D snl_get_genl_family(&ss, PFNL_FAMILY_NAME); > + family_id =3D snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); > if (family_id =3D=3D 0) > return (ENOTSUP); >=20 > - snl_init_writer(&ss, &nw); > + snl_init_writer(&h->ss, &nw); > hdr =3D snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_ADDRULE); > hdr->nlmsg_flags |=3D NLM_F_DUMP; > snl_add_msg_attr_u32(&nw, PF_ART_TICKET, ticket); > @@ -1144,10 +1161,10 @@ pfctl_add_rule(int dev __unused, const struct = pfctl_rule *r, const char *anchor, >=20 > seq_id =3D hdr->nlmsg_seq; >=20 > - if (! snl_send_message(&ss, hdr)) > + if (! snl_send_message(&h->ss, hdr)) > return (ENXIO); >=20 > - while ((hdr =3D snl_read_reply_multi(&ss, seq_id, &e)) !=3D NULL) { > + while ((hdr =3D snl_read_reply_multi(&h->ss, seq_id, &e)) !=3D NULL) = { > } >=20 > return (e.error); > diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h > index f128e5340891..cd72d04d6715 100644 > --- a/lib/libpfctl/libpfctl.h > +++ b/lib/libpfctl/libpfctl.h > @@ -421,6 +421,9 @@ int pfctl_get_clear_rule(int dev, uint32_t nr, = uint32_t ticket, > int pfctl_add_rule(int dev, const struct pfctl_rule *r, > const char *anchor, const char *anchor_call, uint32_t ticket, > uint32_t pool_ticket); > +int pfctl_add_rule_h(struct pfctl_handle *h, const struct pfctl_rule = *r, > + const char *anchor, const char *anchor_call, uint32_t ticket, > + uint32_t pool_ticket); > int pfctl_set_keepcounters(int dev, bool keep); > int pfctl_get_creatorids(struct pfctl_handle *h, uint32_t *creators, = size_t *len); >=20 From nobody Thu Jan 4 22:42:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5hS12gWPz55RnT; Thu, 4 Jan 2024 22:42:41 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5hS129PFz4RVl; Thu, 4 Jan 2024 22:42:41 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704408161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mzMvWxwwBmu5UPQ9Gd0OB5TDQ6OJo6hRWapiweEwXyU=; b=GLBzXOTQUr2uszn6NXN9P8TTUcI95ntBwilevln3nCmpzqllK6aWLbxEdBTPo8R9w5KzN8 7UD/5yzKPWRUPZWiP+/uORhZKiM9EYlsm1QZJZmNHQcQiRp6gESF1y4O72TlUen4gQ3YXn A3JjZCb5IZvcW9YgHnwdiPi6Ezr+tOe26dxaurLl8ptApXqCMPr/kRJNGpj1NA93tLwV9j qvOnvSytNwbPiFHnchCg+k/+JGL1NASt2lYqLPG4qKETStLCj6ftdtOo71K1wSOpTLVadT PtJ0GXHtvEKisRZBt1hh+OgsgSF4Ymeb3QjpvTDH2FunQFig9ZJ5OLcZDIwV/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704408161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mzMvWxwwBmu5UPQ9Gd0OB5TDQ6OJo6hRWapiweEwXyU=; b=oElZviJtLQHu0siA95L+34/zVkejHSUN1mhjOusmB23L88HGBTiHsUpYS28aCKlKtccwx/ rhREP2XPjl/OqdfpCq/kiKDMajCauIrljbEWVkMZhOatkkZuWFdI4whIM/DVoI2z/ZSdFC X89IU31/EZouugribEqd3vpuMd6XnlgKMAdAnbPr6xdtY+J52V+/18v5wSeTujXL1kwjSP QMQAF2Zhhf040wiA11y9jrCp/V3hj7QofA3jPjMZasPl+IFgIVLjpkNkTqQL78LyXqRwj7 7W+2wYTWXLEp0hcz34VjdSHkwKnx9jPbTcFJZNCGXdAKd+6PVPZZa4i7YeqgtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704408161; a=rsa-sha256; cv=none; b=Pg5E20nI9l6WFrnPQegnBfMvnG9SHTbbB2WNH5BeNgGWbED3vxUTASbJBVQtz/ZsLe8+RL 75xiDEci1xdgQ461eigHNXQgPbXE9uPuBG8COli7RrOY5TaQNwL8Y3Ia3PIDr/9Fy9meCw NWif7NB4umvowPdO+rnaq7LnujLn7rnxPdZ0moQUa7OzJUW12j846XMiz3kF0l63BBNdR2 n428rNGZoQyIvRVbFbZGU3KLRgK0PyScz24cRRZ0/kDmNUW/ARgAVu7ZZRnZ/KSSUaFtoI Rx2QHl8WUuvDsigeuj69pEPlVQYVZ/c4nvQFLtB8d8MvsiomMYhXcewAavoZOQ== Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx1.codepro.be", Issuer "R3" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4T5hS10cn4z1gJC; Thu, 4 Jan 2024 22:42:41 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id F3A6E3D0F0; Thu, 4 Jan 2024 23:42:37 +0100 (CET) From: Kristof Provost To: Jessica Clarke Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 324fd7ec4043 - main - libpfctl: introduce a handle-enabled variant of pfctl_add_rule() Date: Thu, 04 Jan 2024 23:42:37 +0100 X-Mailer: MailMate (1.14r5937) Message-ID: <87DCAFCC-1C6E-4052-90C9-FE684E30679C@FreeBSD.org> In-Reply-To: <38CDCAED-9DF7-467B-BEF9-84BE6D1E8085@freebsd.org> References: <202401042211.404MBC3D003204@gitrepo.freebsd.org> <38CDCAED-9DF7-467B-BEF9-84BE6D1E8085@freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 4 Jan 2024, at 23:19, Jessica Clarke wrote: > On 4 Jan 2024, at 22:11, Kristof Provost wrote: >> The branch main has been updated by kp: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D324fd7ec40439e6b3916429= a69956d7acf74eb19 >> >> commit 324fd7ec40439e6b3916429a69956d7acf74eb19 >> Author: Kristof Provost >> AuthorDate: 2024-01-04 12:45:56 +0000 >> Commit: Kristof Provost >> CommitDate: 2024-01-04 22:10:44 +0000 >> >> libpfctl: introduce a handle-enabled variant of pfctl_add_rule() >> >> Introduce pfctl_add_rule_h(), which takes a pfctl_handle rather tha= n a >> file descriptor (which it didn't use). This means that library user= s can >> open the handle while they're running as root, but later drop privi= leges >> and still add rules to pf. > > Given libpfctl is an INTERALLIB, why do we need to care about this > compatibility (and live with this cruft) instead of just changing > pfctl_add_rule to the new thing? > There=E2=80=99s also a ports version of libpfctl, which copies the libpfc= tl code and builds it for port consumption. I didn=E2=80=99t want to turn libpfctl into a stable abi/api in the src t= ree, but ports do need something to use. We don=E2=80=99t want them to ha= ve to care about nvlists or netlink. Given that it=E2=80=99s external we can have different code there, but I = don=E2=80=99t want to make maintaining the external versions harder than = it needs to be. Best regards, Kristof From nobody Fri Jan 5 02:41:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5nlB6Bcwz55yfc; Fri, 5 Jan 2024 02:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5nlB5ll9z41pQ; Fri, 5 Jan 2024 02:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704422470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y9jiaQ1VtCbCDpPLY99JuN3u8Mmok3BEWF4bv9c/75s=; b=iR9A/O6seJZJCI+RmlD4oBR/zyd0ATSEWbXVgsRZOSxc+ao72FgA7dzjhtEQnYcGNOG+NG szUaM2UqvFwvpC0GbU+lZaBlr79rp+r+3bEOymvVcX8lAP/AUv3zeAePUvycfqeAJOVUEr ddWf8jrmk3L/4wLRCnVde+fhMBzQD3iJDJ5cjeRHRt7QkQdcfcn85lM3LQR/KoWFpShJcz Rn1ix+4sB4vZUTyXqXJK27LEFt5XYbmAgDqNmH6mC+PRMivoYPyNSyqb+UbSQY+UyWcfxV 68uvLu8QuAOa1G2EU2KVcRC4yCt2JlPfcO+oEO3PkZX/UMkeNF3XAUMoeTny9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704422470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y9jiaQ1VtCbCDpPLY99JuN3u8Mmok3BEWF4bv9c/75s=; b=uLlKD6E+yXExG8lK3kpfkUoI6tE6BiYobOGD9mTX75zDXvA6xqNPnp2Q1HOFqSI2stXuQg 22dDD+zo1fR6eBORSrJlKwpnQbyin+QLM7oplXHOvMildFwvCeh7zrxPkuqNHpd1OMrSu/ nqlhjPJDZkccjv5EJORh6qy6VbUZHzwLVRovrpSrPuE0AaqbICzMXrsmbVSwAw1RqbUqOe bVyDWuHBYJ3fcdEC6QJiGPH3z3lH6Z35/yVTJFHy7XD5TTNEG4dtaY0yewwuVVPYuwWBYi lghfLP5a3UkxHjiJv6tQMjP/v2MH4wCj0ZGrpegXtT1Gw8CSHQ/dWLha4MwGfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704422470; a=rsa-sha256; cv=none; b=vwM6ihqE4tQXc5d4kKl7WfXI6WN4S8YcOvbIKD1uIcKiDw6iJc3qJNUAaagVNPMmIsULle n3cJ2fdNi1287dTfeRVP7w7SRQkR4+ilFzf4Bq6l57rld+Qpe5bPXF9aS14LW7ssDJIEUq gM+yQ+03zCd7LXxidtaUjnLF8WTT0NBYkmInXyBT+qYPo0syLBQ5/YG5BuC+htLut4175n Z8+A9ceshCQmN2m/yVDZA99oe4JrNrMzaAttkbSgopv58eHXP4A2j7MVV3k7X7FfPhhe2x 1ACehfTAy+rEEAoiz3cf4XTJd5/1YR6HRRVOHsjLBtSNS/t++jI/i0oiuaOWMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5nlB4rwGzfwV; Fri, 5 Jan 2024 02:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4052fA0V054291; Fri, 5 Jan 2024 02:41:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4052fAVs054288; Fri, 5 Jan 2024 02:41:10 GMT (envelope-from git) Date: Fri, 5 Jan 2024 02:41:10 GMT Message-Id: <202401050241.4052fAVs054288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 6c951b37170f - main - mail: add volatile in grabh() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c951b37170f1fb2ae8b4827070743e61b6eaed2 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6c951b37170f1fb2ae8b4827070743e61b6eaed2 commit 6c951b37170f1fb2ae8b4827070743e61b6eaed2 Author: Lexi Winter AuthorDate: 2024-01-04 22:34:58 +0000 Commit: Mark Johnston CommitDate: 2024-01-05 02:40:53 +0000 mail: add volatile in grabh() setjmp() requires that any stack variables modified between the setjmp call and the longjmp() must be volatile. This means that 'saveint' in grabh() must be volatile, since it's modified after the setjmp(). Otherwise, the signal handler is not properly restored, resulting in a crash (SIGBUS) if ^C is typed twice while composing. PR: 276119 Reported by: Christopher Davidson MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/993 --- usr.bin/mail/tty.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/mail/tty.c b/usr.bin/mail/tty.c index 9921c8cbd209..937a43bb3789 100644 --- a/usr.bin/mail/tty.c +++ b/usr.bin/mail/tty.c @@ -54,7 +54,7 @@ int grabh(struct header *hp, int gflags) { struct termios ttybuf; - sig_t saveint; + volatile sig_t saveint; sig_t savetstp; sig_t savettou; sig_t savettin; From nobody Fri Jan 5 03:20:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5pcH1KVTz564ZF; Fri, 5 Jan 2024 03:20: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5pcG55gMz45Rn; Fri, 5 Jan 2024 03:20:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704424814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HvxNtLnKWaQRQikPvXGreYJ0fSu05C9VqXgUg3RE8I8=; b=mwofGqtXgRqYFJsKt66SM8C12c3j8GJRpGUgK6m9alqEocLAqMfov2rPdKTABU6/lZ3C5H kKUp3KulH/GaSLgWdXM2I/bvRFq87o2npXc4EsS6AncMCna/098LHaLkejjFoySb7Y1q7r aEFt0vHEnX3JB/p9S+1tq+DcA2IBiSZIpU3bnJLaLvH2sSD0QLrpGmgNrWMoxybtYTwfMT q6LLDXM7096fsavpzajews3bZ4Oq8zhCYs4PJL/KWV7nCIZ5hVJXK6EcHazwTEHq2rum5s dcOPUV1dIW1fiLfT13l4WgovnuE+YNvjtU+tVYvR6ThUZFrBp6XpOKPEum7/Ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704424814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HvxNtLnKWaQRQikPvXGreYJ0fSu05C9VqXgUg3RE8I8=; b=ZenIQe5xmsOGRdCm3N1wVxRxPkUdZG1GOYB8MbIuPeRHVp6FhsFIkXJXmu7op2i08CWjbw 5+up9mmUqpeXt+dCD/NVES8wEAD7LZSqQMD77sA9vwbuSWqc+Z+eUYuimDj6c5zWPY0C6a uQOIWwm5RHkkH1LHdfCAyg9CjgwlN985jhyDu2Ht5Ctsa08XJZcQjdKVv/jxDEdEW2Hg7Z aKRNZrA9MBwLuXdZ0UdT8KWeqdt216H0ij1YFh6CAonCbZRQsLvCkKuunF1ku3j3pET0oY BEE7J9o4VckMdbLQ0ex+pOCRlhQnMPXMhpfSdNft43IXx3Y4B5k1K+EdNds5SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704424814; a=rsa-sha256; cv=none; b=rnteqDBwxK3dBQxhoGgsKwEUXppUg6YYYKOckHbuL8lk78CVWs+YjDALfoOCsTE89ptMJ7 +/FxDFew6Wwb29D4B2SrZA1a0tLlRaqIrNYe+QWtNkGsZT9sxkt1ccNNN1EbGBNrSgnHSJ f47TR1O8URLnl38ThuQiEg3KzmsA6z/V9+LezcuTh62lGVnU+FuzBTHCLtHTPO4QkjGeV8 pUIc7gjupPt2uaCjvXUSyqoowWSTo3zqXvKVcMdORN2e9jhc374N2VHbDZF0G1MLtRiWuM Sz0X/Tn/THO4kg3CrsZdm8U9UwqSNNjCUx4jkk7t32ZCSGu7mVLXUD0sgqTnVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5pcG48mfzgl7; Fri, 5 Jan 2024 03:20:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4053KEi4019762; Fri, 5 Jan 2024 03:20:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4053KEvf019558; Fri, 5 Jan 2024 03:20:14 GMT (envelope-from git) Date: Fri, 5 Jan 2024 03:20:14 GMT Message-Id: <202401050320.4053KEvf019558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 069ac18495ad - main - ssh: Update to OpenSSH 9.6p1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 069ac18495ad8fde2748bc94b0f80a50250bb01d Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=069ac18495ad8fde2748bc94b0f80a50250bb01d commit 069ac18495ad8fde2748bc94b0f80a50250bb01d Merge: 6c951b37170f 38f55691cb1b Author: Ed Maste AuthorDate: 2024-01-05 03:16:30 +0000 Commit: Ed Maste CommitDate: 2024-01-05 03:16:30 +0000 ssh: Update to OpenSSH 9.6p1 From the release notes, > This release contains a number of security fixes, some small features > and bugfixes. The most significant change in 9.6p1 is a set of fixes for a newly- discovered weakness in the SSH transport protocol. The fix was already merged into FreeBSD and released as FreeBSD-SA-23:19.openssh. Full release notes at https://www.openssh.com/txt/release-9.6 Relnotes: Yes Sponsored by: The FreeBSD Foundation crypto/openssh/.depend | 3 +- crypto/openssh/.github/configs | 14 +- crypto/openssh/.github/setup_ci.sh | 53 +- crypto/openssh/.github/workflows/c-cpp.yml | 15 +- crypto/openssh/.github/workflows/selfhosted.yml | 21 +- crypto/openssh/ChangeLog | 12792 +++++++++++----------- crypto/openssh/Makefile.in | 14 +- crypto/openssh/PROTOCOL | 23 +- crypto/openssh/PROTOCOL.agent | 33 +- crypto/openssh/README | 2 +- crypto/openssh/auth2.c | 8 +- crypto/openssh/authfd.c | 40 +- crypto/openssh/authfd.h | 5 +- crypto/openssh/channels.c | 36 +- crypto/openssh/channels.h | 4 +- crypto/openssh/cipher.c | 23 +- crypto/openssh/cipher.h | 3 +- crypto/openssh/clientloop.c | 34 +- crypto/openssh/config.h | 9 + crypto/openssh/configure.ac | 49 +- crypto/openssh/contrib/redhat/openssh.spec | 34 +- crypto/openssh/contrib/suse/openssh.spec | 2 +- crypto/openssh/kex.c | 235 +- crypto/openssh/kex.h | 7 +- crypto/openssh/log.c | 6 +- crypto/openssh/m4/openssh.m4 | 116 +- crypto/openssh/misc.c | 41 +- crypto/openssh/misc.h | 3 +- crypto/openssh/moduli | 898 +- crypto/openssh/monitor_wrap.c | 4 +- crypto/openssh/mux.c | 4 +- crypto/openssh/openbsd-compat/port-solaris.c | 24 +- crypto/openssh/readconf.c | 57 +- crypto/openssh/readconf.h | 7 +- crypto/openssh/regress/Makefile | 10 +- crypto/openssh/regress/agent-pkcs11-cert.sh | 92 + crypto/openssh/regress/agent-pkcs11-restrict.sh | 193 + crypto/openssh/regress/agent-pkcs11.sh | 82 +- crypto/openssh/regress/conch-ciphers.sh | 11 +- crypto/openssh/regress/dropbear-ciphers.sh | 33 + crypto/openssh/regress/dropbear-kex.sh | 31 + crypto/openssh/regress/forcecommand.sh | 56 +- crypto/openssh/regress/sshsig.sh | 72 +- crypto/openssh/regress/test-exec.sh | 169 +- crypto/openssh/regress/unittests/Makefile | 3 +- crypto/openssh/regress/unittests/Makefile.inc | 4 +- crypto/openssh/scp.c | 12 +- crypto/openssh/servconf.c | 40 +- crypto/openssh/sftp-client.c | 4 +- crypto/openssh/ssh-add.1 | 14 +- crypto/openssh/ssh-add.c | 92 +- crypto/openssh/ssh-agent.c | 241 +- crypto/openssh/ssh-pkcs11-client.c | 56 +- crypto/openssh/ssh-pkcs11.h | 5 +- crypto/openssh/ssh.1 | 7 +- crypto/openssh/ssh.c | 67 +- crypto/openssh/ssh2.h | 3 +- crypto/openssh/ssh_config.5 | 83 +- crypto/openssh/ssh_namespace.h | 7 +- crypto/openssh/sshconnect.c | 10 +- crypto/openssh/sshconnect.h | 6 +- crypto/openssh/sshconnect2.c | 63 +- crypto/openssh/sshd.c | 4 +- crypto/openssh/sshd_config | 2 +- crypto/openssh/sshd_config.5 | 2 +- crypto/openssh/sshkey.c | 40 +- crypto/openssh/sshsig.c | 7 +- crypto/openssh/version.h | 6 +- secure/usr.bin/ssh-agent/Makefile | 2 +- 69 files changed, 8772 insertions(+), 7376 deletions(-) diff --cc crypto/openssh/PROTOCOL index ded935eb6752,1894d573d739..3d00efa90d61 --- a/crypto/openssh/PROTOCOL +++ b/crypto/openssh/PROTOCOL @@@ -137,7 -137,7 +137,7 @@@ than as a named global or channel reque short packet lengths, which would not be possible with other approaches. --1.9 transport: strict key exchange extension ++1.10 transport: strict key exchange extension OpenSSH supports a number of transport-layer hardening measures under a "strict KEX" feature. This feature is signalled similarly to the @@@ -163,6 -163,25 +163,25 @@@ b) After sending or receiving a SSH2_MS duration of the connection (i.e. not just the first SSH2_MSG_NEWKEYS). -1.10 transport: SSH2_MSG_EXT_INFO during user authentication ++1.11 transport: SSH2_MSG_EXT_INFO during user authentication + + This protocol extension allows the SSH2_MSG_EXT_INFO to be sent + during user authentication. RFC8308 does allow a second + SSH2_MSG_EXT_INFO notification, but it may only be sent at the end + of user authentication and this is too late to signal per-user + server signature algorithms. + + Support for receiving the SSH2_MSG_EXT_INFO message during user + authentication is signalled by the client including a + "ext-info-in-auth@openssh.com" key via its initial SSH2_MSG_EXT_INFO + set after the SSH2_MSG_NEWKEYS message. + + A server that supports this extension MAY send a second + SSH2_MSG_EXT_INFO message any time after the client's first + SSH2_MSG_USERAUTH_REQUEST, regardless of whether it succeed or fails. + The client SHOULD be prepared to update the server-sig-algs that + it received during an earlier SSH2_MSG_EXT_INFO with the later one. + 2. Connection protocol changes 2.1. connection: Channel write close extension "eow@openssh.com" diff --cc crypto/openssh/auth2.c index d2a420d0deec,000000000000..859dd25c5325 mode 100644,000000..100644 --- a/crypto/openssh/auth2.c +++ b/crypto/openssh/auth2.c @@@ -1,854 -1,0 +1,860 @@@ - /* $OpenBSD: auth2.c,v 1.167 2023/08/28 09:48:11 djm Exp $ */ ++/* $OpenBSD: auth2.c,v 1.168 2023/12/18 14:45:49 djm Exp $ */ +/* + * Copyright (c) 2000 Markus Friedl. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "includes.h" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "stdlib.h" +#include "atomicio.h" +#include "xmalloc.h" +#include "ssh2.h" +#include "packet.h" +#include "log.h" +#include "sshbuf.h" +#include "misc.h" +#include "servconf.h" +#include "sshkey.h" +#include "hostfile.h" +#include "auth.h" +#include "dispatch.h" +#include "pathnames.h" +#include "ssherr.h" +#include "blacklist_client.h" +#ifdef GSSAPI +#include "ssh-gss.h" +#endif +#include "monitor_wrap.h" +#include "digest.h" ++#include "kex.h" + +/* import */ +extern ServerOptions options; +extern struct sshbuf *loginmsg; + +/* methods */ + +extern Authmethod method_none; +extern Authmethod method_pubkey; +extern Authmethod method_passwd; +extern Authmethod method_kbdint; +extern Authmethod method_hostbased; +#ifdef GSSAPI +extern Authmethod method_gssapi; +#endif + +Authmethod *authmethods[] = { + &method_none, + &method_pubkey, +#ifdef GSSAPI + &method_gssapi, +#endif + &method_passwd, + &method_kbdint, + &method_hostbased, + NULL +}; + +/* protocol */ + +static int input_service_request(int, u_int32_t, struct ssh *); +static int input_userauth_request(int, u_int32_t, struct ssh *); + +/* helper */ +static Authmethod *authmethod_byname(const char *); +static Authmethod *authmethod_lookup(Authctxt *, const char *); +static char *authmethods_get(Authctxt *authctxt); + +#define MATCH_NONE 0 /* method or submethod mismatch */ +#define MATCH_METHOD 1 /* method matches (no submethod specified) */ +#define MATCH_BOTH 2 /* method and submethod match */ +#define MATCH_PARTIAL 3 /* method matches, submethod can't be checked */ +static int list_starts_with(const char *, const char *, const char *); + +char * +auth2_read_banner(void) +{ + struct stat st; + char *banner = NULL; + size_t len, n; + int fd; + + if ((fd = open(options.banner, O_RDONLY)) == -1) + return (NULL); + if (fstat(fd, &st) == -1) { + close(fd); + return (NULL); + } + if (st.st_size <= 0 || st.st_size > 1*1024*1024) { + close(fd); + return (NULL); + } + + len = (size_t)st.st_size; /* truncate */ + banner = xmalloc(len + 1); + n = atomicio(read, fd, banner, len); + close(fd); + + if (n != len) { + free(banner); + return (NULL); + } + banner[n] = '\0'; + + return (banner); +} + +static void +userauth_send_banner(struct ssh *ssh, const char *msg) +{ + int r; + + if ((r = sshpkt_start(ssh, SSH2_MSG_USERAUTH_BANNER)) != 0 || + (r = sshpkt_put_cstring(ssh, msg)) != 0 || + (r = sshpkt_put_cstring(ssh, "")) != 0 || /* language, unused */ + (r = sshpkt_send(ssh)) != 0) + fatal_fr(r, "send packet"); + debug("%s: sent", __func__); +} + +static void +userauth_banner(struct ssh *ssh) +{ + char *banner = NULL; + + if (options.banner == NULL) + return; + + if ((banner = PRIVSEP(auth2_read_banner())) == NULL) + goto done; + userauth_send_banner(ssh, banner); + +done: + free(banner); +} + +/* + * loop until authctxt->success == TRUE + */ +void +do_authentication2(struct ssh *ssh) +{ + Authctxt *authctxt = ssh->authctxt; + + ssh_dispatch_init(ssh, &dispatch_protocol_error); ++ if (ssh->kex->ext_info_c) ++ ssh_dispatch_set(ssh, SSH2_MSG_EXT_INFO, &kex_input_ext_info); + ssh_dispatch_set(ssh, SSH2_MSG_SERVICE_REQUEST, &input_service_request); + ssh_dispatch_run_fatal(ssh, DISPATCH_BLOCK, &authctxt->success); + ssh->authctxt = NULL; +} + +static int +input_service_request(int type, u_int32_t seq, struct ssh *ssh) +{ + Authctxt *authctxt = ssh->authctxt; + char *service = NULL; + int r, acceptit = 0; + + if ((r = sshpkt_get_cstring(ssh, &service, NULL)) != 0 || + (r = sshpkt_get_end(ssh)) != 0) + goto out; + + if (authctxt == NULL) + fatal("input_service_request: no authctxt"); + + if (strcmp(service, "ssh-userauth") == 0) { + if (!authctxt->success) { + acceptit = 1; + /* now we can handle user-auth requests */ + ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_REQUEST, + &input_userauth_request); + } + } + /* XXX all other service requests are denied */ + + if (acceptit) { + if ((r = sshpkt_start(ssh, SSH2_MSG_SERVICE_ACCEPT)) != 0 || + (r = sshpkt_put_cstring(ssh, service)) != 0 || + (r = sshpkt_send(ssh)) != 0 || + (r = ssh_packet_write_wait(ssh)) != 0) + goto out; + } else { + debug("bad service request %s", service); + ssh_packet_disconnect(ssh, "bad service request %s", service); + } ++ ssh_dispatch_set(ssh, SSH2_MSG_EXT_INFO, &dispatch_protocol_error); + r = 0; + out: + free(service); + return r; +} + +#define MIN_FAIL_DELAY_SECONDS 0.005 +#define MAX_FAIL_DELAY_SECONDS 5.0 +static double +user_specific_delay(const char *user) +{ + char b[512]; + size_t len = ssh_digest_bytes(SSH_DIGEST_SHA512); + u_char *hash = xmalloc(len); + double delay; + + (void)snprintf(b, sizeof b, "%llu%s", + (unsigned long long)options.timing_secret, user); + if (ssh_digest_memory(SSH_DIGEST_SHA512, b, strlen(b), hash, len) != 0) + fatal_f("ssh_digest_memory"); + /* 0-4.2 ms of delay */ + delay = (double)PEEK_U32(hash) / 1000 / 1000 / 1000 / 1000; + freezero(hash, len); + debug3_f("user specific delay %0.3lfms", delay/1000); + return MIN_FAIL_DELAY_SECONDS + delay; +} + +static void +ensure_minimum_time_since(double start, double seconds) +{ + struct timespec ts; + double elapsed = monotime_double() - start, req = seconds, remain; + + if (elapsed > MAX_FAIL_DELAY_SECONDS) { + debug3_f("elapsed %0.3lfms exceeded the max delay " + "requested %0.3lfms)", elapsed*1000, req*1000); + return; + } + + /* if we've already passed the requested time, scale up */ + while ((remain = seconds - elapsed) < 0.0) + seconds *= 2; + + ts.tv_sec = remain; + ts.tv_nsec = (remain - ts.tv_sec) * 1000000000; + debug3_f("elapsed %0.3lfms, delaying %0.3lfms (requested %0.3lfms)", + elapsed*1000, remain*1000, req*1000); + nanosleep(&ts, NULL); +} + +static int +input_userauth_request(int type, u_int32_t seq, struct ssh *ssh) +{ + Authctxt *authctxt = ssh->authctxt; + Authmethod *m = NULL; + char *user = NULL, *service = NULL, *method = NULL, *style = NULL; + int r, authenticated = 0; + double tstart = monotime_double(); + + if (authctxt == NULL) + fatal("input_userauth_request: no authctxt"); + + if ((r = sshpkt_get_cstring(ssh, &user, NULL)) != 0 || + (r = sshpkt_get_cstring(ssh, &service, NULL)) != 0 || + (r = sshpkt_get_cstring(ssh, &method, NULL)) != 0) + goto out; + debug("userauth-request for user %s service %s method %s", user, service, method); + debug("attempt %d failures %d", authctxt->attempt, authctxt->failures); + + if ((style = strchr(user, ':')) != NULL) + *style++ = 0; + + if (authctxt->attempt >= 1024) + auth_maxtries_exceeded(ssh); + if (authctxt->attempt++ == 0) { + /* setup auth context */ + authctxt->pw = PRIVSEP(getpwnamallow(ssh, user)); + authctxt->user = xstrdup(user); + if (authctxt->pw && strcmp(service, "ssh-connection")==0) { + authctxt->valid = 1; + debug2_f("setting up authctxt for %s", user); + } else { + authctxt->valid = 0; + /* Invalid user, fake password information */ + authctxt->pw = fakepw(); +#ifdef SSH_AUDIT_EVENTS + PRIVSEP(audit_event(ssh, SSH_INVALID_USER)); +#endif + } +#ifdef USE_PAM + if (options.use_pam) + PRIVSEP(start_pam(ssh)); +#endif + ssh_packet_set_log_preamble(ssh, "%suser %s", + authctxt->valid ? "authenticating " : "invalid ", user); + setproctitle("%s%s", authctxt->valid ? user : "unknown", + use_privsep ? " [net]" : ""); + authctxt->service = xstrdup(service); + authctxt->style = style ? xstrdup(style) : NULL; + if (use_privsep) + mm_inform_authserv(service, style); + userauth_banner(ssh); ++ if ((r = kex_server_update_ext_info(ssh)) != 0) ++ fatal_fr(r, "kex_server_update_ext_info failed"); + if (auth2_setup_methods_lists(authctxt) != 0) + ssh_packet_disconnect(ssh, + "no authentication methods enabled"); + } else if (strcmp(user, authctxt->user) != 0 || + strcmp(service, authctxt->service) != 0) { + ssh_packet_disconnect(ssh, "Change of username or service " + "not allowed: (%s,%s) -> (%s,%s)", + authctxt->user, authctxt->service, user, service); + } + /* reset state */ + auth2_challenge_stop(ssh); + +#ifdef GSSAPI + /* XXX move to auth2_gssapi_stop() */ + ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL); + ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE, NULL); +#endif + + auth2_authctxt_reset_info(authctxt); + authctxt->postponed = 0; + authctxt->server_caused_failure = 0; + + /* try to authenticate user */ + m = authmethod_lookup(authctxt, method); + if (m != NULL && authctxt->failures < options.max_authtries) { + debug2("input_userauth_request: try method %s", method); + authenticated = m->userauth(ssh, method); + } + if (!authctxt->authenticated && strcmp(method, "none") != 0) + ensure_minimum_time_since(tstart, + user_specific_delay(authctxt->user)); + userauth_finish(ssh, authenticated, method, NULL); + r = 0; + out: + free(service); + free(user); + free(method); + return r; +} + +void +userauth_finish(struct ssh *ssh, int authenticated, const char *packet_method, + const char *submethod) +{ + Authctxt *authctxt = ssh->authctxt; + Authmethod *m = NULL; + const char *method = packet_method; + char *methods; + int r, partial = 0; + + if (authenticated) { + if (!authctxt->valid) { + fatal("INTERNAL ERROR: authenticated invalid user %s", + authctxt->user); + } + if (authctxt->postponed) + fatal("INTERNAL ERROR: authenticated and postponed"); + /* prefer primary authmethod name to possible synonym */ + if ((m = authmethod_byname(method)) == NULL) + fatal("INTERNAL ERROR: bad method %s", method); + method = m->name; + } + + /* Special handling for root */ + if (authenticated && authctxt->pw->pw_uid == 0 && + !auth_root_allowed(ssh, method)) { + authenticated = 0; +#ifdef SSH_AUDIT_EVENTS + PRIVSEP(audit_event(ssh, SSH_LOGIN_ROOT_DENIED)); +#endif + } + + if (authenticated && options.num_auth_methods != 0) { + if (!auth2_update_methods_lists(authctxt, method, submethod)) { + authenticated = 0; + partial = 1; + } + } + + /* Log before sending the reply */ + auth_log(ssh, authenticated, partial, method, submethod); + + /* Update information exposed to session */ + if (authenticated || partial) + auth2_update_session_info(authctxt, method, submethod); + + if (authctxt->postponed) + return; + +#ifdef USE_PAM + if (options.use_pam && authenticated) { + int r, success = PRIVSEP(do_pam_account()); + + /* If PAM returned a message, send it to the user. */ + if (sshbuf_len(loginmsg) > 0) { + if ((r = sshbuf_put(loginmsg, "\0", 1)) != 0) + fatal("%s: buffer error: %s", + __func__, ssh_err(r)); + userauth_send_banner(ssh, sshbuf_ptr(loginmsg)); + if ((r = ssh_packet_write_wait(ssh)) != 0) { + sshpkt_fatal(ssh, r, + "%s: send PAM banner", __func__); + } + } + if (!success) { + fatal("Access denied for user %s by PAM account " + "configuration", authctxt->user); + } + } +#endif + + if (authenticated == 1) { + /* turn off userauth */ + ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_REQUEST, + &dispatch_protocol_ignore); + if ((r = sshpkt_start(ssh, SSH2_MSG_USERAUTH_SUCCESS)) != 0 || + (r = sshpkt_send(ssh)) != 0 || + (r = ssh_packet_write_wait(ssh)) != 0) + fatal_fr(r, "send success packet"); + /* now we can break out */ + authctxt->success = 1; + ssh_packet_set_log_preamble(ssh, "user %s", authctxt->user); + } else { + /* Allow initial try of "none" auth without failure penalty */ + if (!partial && !authctxt->server_caused_failure && + (authctxt->attempt > 1 || strcmp(method, "none") != 0)) { + authctxt->failures++; + BLACKLIST_NOTIFY(ssh, BLACKLIST_AUTH_FAIL, "ssh"); + } + if (authctxt->failures >= options.max_authtries) { +#ifdef SSH_AUDIT_EVENTS + PRIVSEP(audit_event(ssh, SSH_LOGIN_EXCEED_MAXTRIES)); +#endif + auth_maxtries_exceeded(ssh); + } + methods = authmethods_get(authctxt); + debug3_f("failure partial=%d next methods=\"%s\"", + partial, methods); + if ((r = sshpkt_start(ssh, SSH2_MSG_USERAUTH_FAILURE)) != 0 || + (r = sshpkt_put_cstring(ssh, methods)) != 0 || + (r = sshpkt_put_u8(ssh, partial)) != 0 || + (r = sshpkt_send(ssh)) != 0 || + (r = ssh_packet_write_wait(ssh)) != 0) + fatal_fr(r, "send failure packet"); + free(methods); + } +} + +/* + * Checks whether method is allowed by at least one AuthenticationMethods + * methods list. Returns 1 if allowed, or no methods lists configured. + * 0 otherwise. + */ +int +auth2_method_allowed(Authctxt *authctxt, const char *method, + const char *submethod) +{ + u_int i; + + /* + * NB. authctxt->num_auth_methods might be zero as a result of + * auth2_setup_methods_lists(), so check the configuration. + */ + if (options.num_auth_methods == 0) + return 1; + for (i = 0; i < authctxt->num_auth_methods; i++) { + if (list_starts_with(authctxt->auth_methods[i], method, + submethod) != MATCH_NONE) + return 1; + } + return 0; +} + +static char * +authmethods_get(Authctxt *authctxt) +{ + struct sshbuf *b; + char *list; + int i, r; + + if ((b = sshbuf_new()) == NULL) + fatal_f("sshbuf_new failed"); + for (i = 0; authmethods[i] != NULL; i++) { + if (strcmp(authmethods[i]->name, "none") == 0) + continue; + if (authmethods[i]->enabled == NULL || + *(authmethods[i]->enabled) == 0) + continue; + if (!auth2_method_allowed(authctxt, authmethods[i]->name, + NULL)) + continue; + if ((r = sshbuf_putf(b, "%s%s", sshbuf_len(b) ? "," : "", + authmethods[i]->name)) != 0) + fatal_fr(r, "buffer error"); + } + if ((list = sshbuf_dup_string(b)) == NULL) + fatal_f("sshbuf_dup_string failed"); + sshbuf_free(b); + return list; +} + +static Authmethod * +authmethod_byname(const char *name) +{ + int i; + + if (name == NULL) + fatal_f("NULL authentication method name"); + for (i = 0; authmethods[i] != NULL; i++) { + if (strcmp(name, authmethods[i]->name) == 0 || + (authmethods[i]->synonym != NULL && + strcmp(name, authmethods[i]->synonym) == 0)) + return authmethods[i]; + } + debug_f("unrecognized authentication method name: %s", name); + return NULL; +} + +static Authmethod * +authmethod_lookup(Authctxt *authctxt, const char *name) +{ + Authmethod *method; + + if ((method = authmethod_byname(name)) == NULL) + return NULL; + + if (method->enabled == NULL || *(method->enabled) == 0) { + debug3_f("method %s not enabled", name); + return NULL; + } + if (!auth2_method_allowed(authctxt, method->name, NULL)) { + debug3_f("method %s not allowed " + "by AuthenticationMethods", name); + return NULL; + } + return method; +} + +/* + * Check a comma-separated list of methods for validity. Is need_enable is + * non-zero, then also require that the methods are enabled. + * Returns 0 on success or -1 if the methods list is invalid. + */ +int +auth2_methods_valid(const char *_methods, int need_enable) +{ + char *methods, *omethods, *method, *p; + u_int i, found; + int ret = -1; + + if (*_methods == '\0') { + error("empty authentication method list"); + return -1; + } + omethods = methods = xstrdup(_methods); + while ((method = strsep(&methods, ",")) != NULL) { + for (found = i = 0; !found && authmethods[i] != NULL; i++) { + if ((p = strchr(method, ':')) != NULL) + *p = '\0'; + if (strcmp(method, authmethods[i]->name) != 0) + continue; + if (need_enable) { + if (authmethods[i]->enabled == NULL || + *(authmethods[i]->enabled) == 0) { + error("Disabled method \"%s\" in " + "AuthenticationMethods list \"%s\"", + method, _methods); + goto out; + } + } + found = 1; + break; + } + if (!found) { + error("Unknown authentication method \"%s\" in list", + method); + goto out; + } + } + ret = 0; + out: + free(omethods); + return ret; +} + +/* + * Prune the AuthenticationMethods supplied in the configuration, removing + * any methods lists that include disabled methods. Note that this might + * leave authctxt->num_auth_methods == 0, even when multiple required auth + * has been requested. For this reason, all tests for whether multiple is + * enabled should consult options.num_auth_methods directly. + */ +int +auth2_setup_methods_lists(Authctxt *authctxt) +{ + u_int i; + + /* First, normalise away the "any" pseudo-method */ + if (options.num_auth_methods == 1 && + strcmp(options.auth_methods[0], "any") == 0) { + free(options.auth_methods[0]); + options.auth_methods[0] = NULL; + options.num_auth_methods = 0; + } + + if (options.num_auth_methods == 0) + return 0; + debug3_f("checking methods"); + authctxt->auth_methods = xcalloc(options.num_auth_methods, + sizeof(*authctxt->auth_methods)); + authctxt->num_auth_methods = 0; + for (i = 0; i < options.num_auth_methods; i++) { + if (auth2_methods_valid(options.auth_methods[i], 1) != 0) { + logit("Authentication methods list \"%s\" contains " + "disabled method, skipping", + options.auth_methods[i]); + continue; + } + debug("authentication methods list %d: %s", + authctxt->num_auth_methods, options.auth_methods[i]); + authctxt->auth_methods[authctxt->num_auth_methods++] = + xstrdup(options.auth_methods[i]); + } + if (authctxt->num_auth_methods == 0) { + error("No AuthenticationMethods left after eliminating " + "disabled methods"); + return -1; + } + return 0; +} + +static int +list_starts_with(const char *methods, const char *method, + const char *submethod) +{ + size_t l = strlen(method); + int match; + const char *p; + + if (strncmp(methods, method, l) != 0) + return MATCH_NONE; + p = methods + l; + match = MATCH_METHOD; + if (*p == ':') { + if (!submethod) + return MATCH_PARTIAL; + l = strlen(submethod); + p += 1; + if (strncmp(submethod, p, l)) + return MATCH_NONE; + p += l; + match = MATCH_BOTH; + } + if (*p != ',' && *p != '\0') + return MATCH_NONE; + return match; +} + +/* + * Remove method from the start of a comma-separated list of methods. + * Returns 0 if the list of methods did not start with that method or 1 + * if it did. + */ +static int +remove_method(char **methods, const char *method, const char *submethod) +{ + char *omethods = *methods, *p; + size_t l = strlen(method); + int match; + + match = list_starts_with(omethods, method, submethod); + if (match != MATCH_METHOD && match != MATCH_BOTH) + return 0; + p = omethods + l; + if (submethod && match == MATCH_BOTH) + p += 1 + strlen(submethod); /* include colon */ + if (*p == ',') + p++; + *methods = xstrdup(p); + free(omethods); + return 1; +} + +/* + * Called after successful authentication. Will remove the successful method + * from the start of each list in which it occurs. If it was the last method + * in any list, then authentication is deemed successful. + * Returns 1 if the method completed any authentication list or 0 otherwise. + */ +int +auth2_update_methods_lists(Authctxt *authctxt, const char *method, + const char *submethod) +{ + u_int i, found = 0; + + debug3_f("updating methods list after \"%s\"", method); + for (i = 0; i < authctxt->num_auth_methods; i++) { + if (!remove_method(&(authctxt->auth_methods[i]), method, + submethod)) + continue; + found = 1; + if (*authctxt->auth_methods[i] == '\0') { + debug2("authentication methods list %d complete", i); + return 1; + } + debug3("authentication methods list %d remaining: \"%s\"", + i, authctxt->auth_methods[i]); + } + /* This should not happen, but would be bad if it did */ + if (!found) + fatal_f("method not in AuthenticationMethods"); + return 0; +} + +/* Reset method-specific information */ +void auth2_authctxt_reset_info(Authctxt *authctxt) +{ + sshkey_free(authctxt->auth_method_key); + free(authctxt->auth_method_info); + authctxt->auth_method_key = NULL; + authctxt->auth_method_info = NULL; +} + +/* Record auth method-specific information for logs */ +void +auth2_record_info(Authctxt *authctxt, const char *fmt, ...) +{ + va_list ap; + int i; + + free(authctxt->auth_method_info); + authctxt->auth_method_info = NULL; + + va_start(ap, fmt); + i = vasprintf(&authctxt->auth_method_info, fmt, ap); + va_end(ap); + + if (i == -1) + fatal_f("vasprintf failed"); +} + +/* + * Records a public key used in authentication. This is used for logging + * and to ensure that the same key is not subsequently accepted again for + * multiple authentication. + */ +void +auth2_record_key(Authctxt *authctxt, int authenticated, + const struct sshkey *key) +{ + struct sshkey **tmp, *dup; + int r; + + if ((r = sshkey_from_private(key, &dup)) != 0) + fatal_fr(r, "copy key"); + sshkey_free(authctxt->auth_method_key); + authctxt->auth_method_key = dup; + + if (!authenticated) + return; + + /* If authenticated, make sure we don't accept this key again */ + if ((r = sshkey_from_private(key, &dup)) != 0) + fatal_fr(r, "copy key"); + if (authctxt->nprev_keys >= INT_MAX || + (tmp = recallocarray(authctxt->prev_keys, authctxt->nprev_keys, + authctxt->nprev_keys + 1, sizeof(*authctxt->prev_keys))) == NULL) + fatal_f("reallocarray failed"); + authctxt->prev_keys = tmp; + authctxt->prev_keys[authctxt->nprev_keys] = dup; + authctxt->nprev_keys++; + +} + +/* Checks whether a key has already been previously used for authentication */ +int +auth2_key_already_used(Authctxt *authctxt, const struct sshkey *key) +{ + u_int i; + char *fp; + + for (i = 0; i < authctxt->nprev_keys; i++) { + if (sshkey_equal_public(key, authctxt->prev_keys[i])) { + fp = sshkey_fingerprint(authctxt->prev_keys[i], + options.fingerprint_hash, SSH_FP_DEFAULT); + debug3_f("key already used: %s %s", + sshkey_type(authctxt->prev_keys[i]), + fp == NULL ? "UNKNOWN" : fp); + free(fp); + return 1; + } + } + return 0; +} + +/* + * Updates authctxt->session_info with details of authentication. Should be + * whenever an authentication method succeeds. + */ +void +auth2_update_session_info(Authctxt *authctxt, const char *method, + const char *submethod) +{ + int r; + + if (authctxt->session_info == NULL) { + if ((authctxt->session_info = sshbuf_new()) == NULL) + fatal_f("sshbuf_new"); + } + + /* Append method[/submethod] */ + if ((r = sshbuf_putf(authctxt->session_info, "%s%s%s", + method, submethod == NULL ? "" : "/", + submethod == NULL ? "" : submethod)) != 0) + fatal_fr(r, "append method"); + + /* Append key if present */ + if (authctxt->auth_method_key != NULL) { + if ((r = sshbuf_put_u8(authctxt->session_info, ' ')) != 0 || + (r = sshkey_format_text(authctxt->auth_method_key, *** 9036 LINES SKIPPED *** From nobody Fri Jan 5 04:53:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5rgn3rGsz56Ghn; Fri, 5 Jan 2024 04:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5rgn3Kpzz4Vtm; Fri, 5 Jan 2024 04:53:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CjBApzJjgCa23YtbODfuOu126tOdTTIp97q7/UeWiQs=; b=vjGnwEEEfpOzoDK26ugOKfbixiIg5tmznbpomp6CYtlo8YJCO8Ks7toVlr11r7ElWEFp6m mNHuip5xzTB6lLRdKeAdAObWYegdXnrOTj/zuDiX+GryMvMxBlRC5jlv4cjF/riWeiqnMv F/23xnOJwHTD1Rflbf+KQrVE4fF+EvVQR82DJtZE6aslkV1S79asrVwnHO0PE5yAJ5aDG4 VG5v7+qhG8JZ4F3oQ7Tz6pSGNFddvdBmpUh/So/7PT47TRigtxsDT3pRuWsTv+JmViW3cm q+1jlVBpoGCX0gzfEY6JLA+MJthzYpB5op7bjXltP0eVycUnmkLRzFo98f0rTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CjBApzJjgCa23YtbODfuOu126tOdTTIp97q7/UeWiQs=; b=cqHpAaAg73v8RGiss4QcuBhHQGJYPjXrv/9SRUEfcC19k1u2K0vJ4uq8VLaBanrT42G/ZO tdRSDYf6q4dMO8pKEza1D6BNOwxpGcJtvVfSJnw2HNpBqhdrfB7t9/vIKhK+QgC69BwTcB dQ+RbSr9JUNXWLELlvloGH66vwWauq6J94PXDW2ppW+yHtkJGy9kPHVeoy73yS3wWaXb7j hZRKe3VRS+Y5BMCXKh688Gz5QOYgB9Ty1zB2f87fF4MyXpFC6GeigUok0/q7gh0ZgLNBn7 cG7fJ+OpeDZDTJ3ZJBp0sO+AWfadzP4IEAbhykvIluKU+ADWfVzG1gOktqxT/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704430405; a=rsa-sha256; cv=none; b=AvCweBWeQztAQiUxsIHlFB4Y/Zqvp22Ftm9VbOELEZbjXVbrzI+l7pjrQDPSYHpUa3OcDf FZEf7mje1FGKNXI6WFG/3uEyv7lRQXjoMRqw3nHRf+Xvsq6ScAvj8di88ewT4jZO6O1aWC BO9ewxFSOywEy3XRR9VThEx7+GzLoj6J1ZVZe91dE8+f/6KTKIlMNCuHZ1Zm6FIV5beoaO gDJIu4ellyDFhGOr3YtaEZIpDF9lGNgnVFjI8hv7Xf0RRZKeimU+8yYiwRe3JIrRLsGhoA MGTNEdeDmMAqhmOTyEkmkrcPHPOG/IlqhoAn1q5UOBtVmXOoAHSGezaGjOwmbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5rgn2P2LzkX1; Fri, 5 Jan 2024 04:53:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4054rPt0079381; Fri, 5 Jan 2024 04:53:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4054rPuF079378; Fri, 5 Jan 2024 04:53:25 GMT (envelope-from git) Date: Fri, 5 Jan 2024 04:53:25 GMT Message-Id: <202401050453.4054rPuF079378@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 987446fa39e8 - main - mlx5(4): only detach IOV children if iov was successfully initialized List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 987446fa39e8f6887ea16ad49f00f699b2efd210 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=987446fa39e8f6887ea16ad49f00f699b2efd210 commit 987446fa39e8f6887ea16ad49f00f699b2efd210 Author: Konstantin Belousov AuthorDate: 2023-12-29 03:14:56 +0000 Commit: Konstantin Belousov CommitDate: 2024-01-05 04:52:39 +0000 mlx5(4): only detach IOV children if iov was successfully initialized Reported by: jwd Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/driver.h | 2 ++ sys/dev/mlx5/mlx5_core/mlx5_main.c | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/sys/dev/mlx5/driver.h b/sys/dev/mlx5/driver.h index 9daa1235bd9c..6ebe4171a503 100644 --- a/sys/dev/mlx5/driver.h +++ b/sys/dev/mlx5/driver.h @@ -736,6 +736,8 @@ struct mlx5_core_dev { bool dump_copyout; struct mtx dump_lock; + bool iov_pf; + struct sysctl_ctx_list sysctl_ctx; int msix_eqvec; int pwr_status; diff --git a/sys/dev/mlx5/mlx5_core/mlx5_main.c b/sys/dev/mlx5/mlx5_core/mlx5_main.c index f6dc1158f085..6b9b63a24714 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_main.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_main.c @@ -1719,7 +1719,9 @@ static int init_one(struct pci_dev *pdev, pci_iov_schema_add_uint64(vf_schema, iov_port_guid_name, 0, 0); err = pci_iov_attach(bsddev, pf_schema, vf_schema); - if (err != 0) { + if (err == 0) { + dev->iov_pf = true; + } else { device_printf(bsddev, "Failed to initialize SR-IOV support, error %d\n", err); @@ -1753,8 +1755,11 @@ static void remove_one(struct pci_dev *pdev) struct mlx5_priv *priv = &dev->priv; #ifdef PCI_IOV - pci_iov_detach(pdev->dev.bsddev); - mlx5_eswitch_disable_sriov(priv->eswitch); + if (dev->iov_pf) { + pci_iov_detach(pdev->dev.bsddev); + mlx5_eswitch_disable_sriov(priv->eswitch); + dev->iov_pf = false; + } #endif if (mlx5_unload_one(dev, priv, true)) { From nobody Fri Jan 5 05:00:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5rrG46fJz56HZb; Fri, 5 Jan 2024 05:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5rrG3h23z4Wmb; Fri, 5 Jan 2024 05:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Y6KYxc68JhrTB99XEYYO/UjsMe3j1vBNKKdupAB5Lg=; b=PIYu9c2R26NDHe5as/t7nDX6OjoM1lDcObIVvVzNgKNDhzjPUKZEWW0WLsLupwXUnuhHIs IzmYtNe2U9KM5KnOVkGcr5WMZw33yF606qlfx1MPX6tGzbBVu7xxtHpzyDraH9whCpsVR8 FHn4Kh2U0H4BQEUW7u+yKxgNBfCGxDxUtDxj0Yl9xOuD0DJNfKcUcGJAecROQejHIKKiDp XtxFYN3CQUNRatvXNYA1HFSrXGjZBGdH6LPqDgVBb73nqS3we4PhYvBqngDez92iVBnItA D07cP9PPVv/4PK+0Jezw6vJH9gC4AWU+QHD/TAjXPBe5rqEI1lf7e56DFVUaYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Y6KYxc68JhrTB99XEYYO/UjsMe3j1vBNKKdupAB5Lg=; b=jHoigBIvXzuS2sRxCBCiyfTLfeu5QRqnMY1aag0JE5LPST0fJ6QKIn+vidDR1dBXGI+M2j ErJiYTAeHIQte1sptzF5fOOOPpmLqdx+eydTshW2PQTYZLtQZwbmrGpVNZZQ3R70Bi6P0G hc8af9WtkZ91f8fiRW4ttak9NPOq0yvQzg9jGX9a1hfVcILYaSEPMiDEn4MBlo9FWtDkX0 iLmL9Ock3YxcIZJcnm+Bb2nemsNfURlmd14/bkNxnQPTeo3IzoU/AbceeDqAOtKc2qSdE3 otuePiySXRtuXz2+jNDxHHco+sAb+/hANrlej0LS5QaY32i5ngdAfKTKv8D1VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704430846; a=rsa-sha256; cv=none; b=lyYvxm064/liq0nBRlfAXw3lRSRBGxLNnQlIdbN4pmvDTnTbW65xNhEcqjnmj/6xDK7eiy KGfnQEuxZmHInqeODBtGmsgc8S+RAff5kwwD7D7RlTk7HE+/KT0og39LV0uKh3/p9htmrw 27JdnLXbDJn/9kiEOdYcN5Anlz8RRydncRYYzDl2ye+krIx/kLNmQNJfSAMWogrSsuYJYY lRp8rIAiXwZJJGnuudGF9IP/FxkMm01jko8dFXQeV3YlxiT60JDr9ZthO1mOpQHxY/74e2 lgzo4+GpDu14saheJtjeimr1ZLpvm7ySX6ctil9yUsiS9Qbjb28VV6V6rivurg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5rrG2lPWzkZc; Fri, 5 Jan 2024 05:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40550kQE090145; Fri, 5 Jan 2024 05:00:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40550kDO090142; Fri, 5 Jan 2024 05:00:46 GMT (envelope-from git) Date: Fri, 5 Jan 2024 05:00:46 GMT Message-Id: <202401050500.40550kDO090142@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 7dae1467d72a - main - nfsclient copy_file_range(): flush dst vnode data List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7dae1467d72ae1f5c8f7be0f7444da23a457d98b Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7dae1467d72ae1f5c8f7be0f7444da23a457d98b commit 7dae1467d72ae1f5c8f7be0f7444da23a457d98b Author: Konstantin Belousov AuthorDate: 2023-12-29 23:22:40 +0000 Commit: Konstantin Belousov CommitDate: 2024-01-05 04:56:17 +0000 nfsclient copy_file_range(): flush dst vnode data Otherwise server-side copy makes the client cache inconsistent with the server data. Reported by: asomers PR: 276002 Reviewed by: rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43250 --- sys/fs/nfsclient/nfs_clvnops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index a690e988b4b3..f86ecd53ad4e 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -3956,7 +3956,7 @@ generic_copy: if (error == 0) error = ncl_flush(invp, MNT_WAIT, curthread, 1, 0); if (error == 0) - error = ncl_flush(outvp, MNT_WAIT, curthread, 1, 0); + error = ncl_vinvalbuf(outvp, V_SAVE, curthread, 0); /* Do the actual NFSv4.2 RPC. */ ret = ret2 = 0; From nobody Fri Jan 5 05:00:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5rrH5NQ5z56HZd; Fri, 5 Jan 2024 05:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5rrH4dQYz4Wmj; Fri, 5 Jan 2024 05:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gz23VTFBRtYPzEvHl8+2LvE7alCT0idNOWNdSFOpc4I=; b=A0CzK4MrzYeoql/M2IoT65Jo1sc42LEJyTJxONE8zSZYefr8MXX4S+JFf+yS9LHxMw6Urn zFAV/uIhCZ0P5u/bYlDMROqgi42x5PY09FPp6IIqGs4I9QiGpPNLeboPTqGetnSe0WUDN3 1g1xB2URlyi5INr4GRyKLTsEnPYhYiUvFo/wL5ukKMfaClaIK4ID2aW6PJA2ItdnTFniSS t2VxZ3DLEoGv6FhoJszduqafRa3qJ1gbSAGP5vid0rn/m6uBhuCHGrEtLgHnxw2/sP/Gy3 zUiDgkn7gSMoqwuvy8IA4uOQhPz+dXtSrfxcvzxNdLl6d0qQuXsNhyuVWEybCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gz23VTFBRtYPzEvHl8+2LvE7alCT0idNOWNdSFOpc4I=; b=P2FVpxN74s64KkCgJSiVY1KC4ZjSUtAZ7TBwvIskKTShn6z2IjaHLhdVIPMt4o0MdK1LvT JxRjTMA2dp0RJuP8zYO7pd8gWqxtuhwsWUf6EocMVHMkumN0yccxERKOneNn832Ne/m62n hfOeBydEZGp0rnKnyLHIq2gMFLEF/h0QegfiJ7VGAoNVWSAVFqTFx1GH80lRz4bSnya//L DYyhMr/sdxWhgJix0jpAR/oIeP7Wi1EQjHqf3daLCJKW7Cb1Ay9UI1ec1Rt6dpRxlJ/LMs TvFqYTpPKoJf9qL6FQ/QTeyUcyh+F6GBFdiwwnN5r3CIzgEmOXdQUA2TwrGnjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704430847; a=rsa-sha256; cv=none; b=h6UFFoJiCgx3vTbzEV9HQeA/luuzdM/826SaLyelPBU28x3wYYbEZq8HCnS+fqCEiuoxXt V4fWjvBSNnDM7uGgi7BItNJSCaDjctmIKNeaSM+JkbV8frcvybgzDlnproX9VjF+VuS4od 1QwkyQ7MVJvJlI1SnQvX7U8+3Sx/5SqSFJZlZBjvzs8knAfmW6y2W04TqGe7MUZGFdjf/C WwYEq/D1HvWE8VRwATB6wmQQWQQooWABvZQPk3r7cNuoX2XkIe1id3d6H2eXkLtn5rK1Yz got2LtU4q/IlKHQNSfHmXw2PRc0M7cZRrYBfRFtxrOhisSorCRcK6S9uqg7rWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5rrH3l9czkRY; Fri, 5 Jan 2024 05:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40550lrX090193; Fri, 5 Jan 2024 05:00:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40550lTc090190; Fri, 5 Jan 2024 05:00:47 GMT (envelope-from git) Date: Fri, 5 Jan 2024 05:00:47 GMT Message-Id: <202401050500.40550lTc090190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 47ec00d9d607 - main - nfsclient: flush dirty pages of the vnode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47ec00d9d6071bbb0ee5ed0bdca3c4a468334d9d Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=47ec00d9d6071bbb0ee5ed0bdca3c4a468334d9d commit 47ec00d9d6071bbb0ee5ed0bdca3c4a468334d9d Author: Konstantin Belousov AuthorDate: 2023-12-30 00:15:50 +0000 Commit: Konstantin Belousov CommitDate: 2024-01-05 04:56:30 +0000 nfsclient: flush dirty pages of the vnode before ncl_flush() when done to ensure that the server sees our cached data, because it potentially changes the server response. This is relevant for copy_file_range(), seek(), and allocate(). Convert LK_SHARED invp lock into LK_EXCLUSIVE if needed to properly call vm_object_page_clean(). Reported by: asomers PR: 276002 Noted and reviewed by: rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43250 --- sys/fs/nfsclient/nfs_clvnops.c | 45 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index f86ecd53ad4e..36ab5485d807 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -3705,6 +3705,7 @@ nfs_allocate(struct vop_allocate_args *ap) { struct vnode *vp = ap->a_vp; struct thread *td = curthread; + vm_object_t obj; struct nfsvattr nfsva; struct nfsmount *nmp; struct nfsnode *np; @@ -3733,8 +3734,15 @@ nfs_allocate(struct vop_allocate_args *ap) * Flush first to ensure that the allocate adds to the * file's allocation on the server. */ - if (error == 0) + if (error == 0) { + obj = vp->v_object; + if (obj != NULL) { + VM_OBJECT_WLOCK(obj); + vm_object_page_clean(obj, 0, 0, OBJPC_SYNC); + VM_OBJECT_WUNLOCK(obj); + } error = ncl_flush(vp, MNT_WAIT, td, 1, 0); + } if (error == 0) error = nfsrpc_allocate(vp, *ap->a_offset, alen, &nfsva, &attrflag, ap->a_cred, td); @@ -3872,13 +3880,14 @@ nfs_copy_file_range(struct vop_copy_file_range_args *ap) struct vnode *invp = ap->a_invp; struct vnode *outvp = ap->a_outvp; struct mount *mp; + vm_object_t invp_obj; struct nfsvattr innfsva, outnfsva; struct vattr va, *vap; struct uio io; struct nfsmount *nmp; size_t len, len2; ssize_t r; - int error, inattrflag, outattrflag, ret, ret2; + int error, inattrflag, outattrflag, ret, ret2, invp_lock; off_t inoff, outoff; bool consecutive, must_commit, tryoutcred; @@ -3891,6 +3900,9 @@ generic_copy: return (ENOSYS); } + invp_lock = LK_SHARED; +relock: + /* Lock both vnodes, avoiding risk of deadlock. */ do { mp = NULL; @@ -3898,14 +3910,14 @@ generic_copy: if (error == 0) { error = vn_lock(outvp, LK_EXCLUSIVE); if (error == 0) { - error = vn_lock(invp, LK_SHARED | LK_NOWAIT); + error = vn_lock(invp, invp_lock | LK_NOWAIT); if (error == 0) break; VOP_UNLOCK(outvp); if (mp != NULL) vn_finished_write(mp); mp = NULL; - error = vn_lock(invp, LK_SHARED); + error = vn_lock(invp, invp_lock); if (error == 0) VOP_UNLOCK(invp); } @@ -3953,8 +3965,23 @@ generic_copy: * stable storage before the Copy RPC. This is done in case the * server reboots during the Copy and needs to be redone. */ - if (error == 0) + if (error == 0) { + invp_obj = invp->v_object; + if (invp_obj != NULL && vm_object_mightbedirty(invp_obj)) { + if (invp_lock != LK_EXCLUSIVE) { + invp_lock = LK_EXCLUSIVE; + VOP_UNLOCK(invp); + VOP_UNLOCK(outvp); + if (mp != NULL) + vn_finished_write(mp); + goto relock; + } + VM_OBJECT_WLOCK(invp_obj); + vm_object_page_clean(invp_obj, 0, 0, OBJPC_SYNC); + VM_OBJECT_WUNLOCK(invp_obj); + } error = ncl_flush(invp, MNT_WAIT, curthread, 1, 0); + } if (error == 0) error = ncl_vinvalbuf(outvp, V_SAVE, curthread, 0); @@ -4110,6 +4137,7 @@ static int nfs_ioctl(struct vop_ioctl_args *ap) { struct vnode *vp = ap->a_vp; + vm_object_t obj; struct nfsvattr nfsva; struct nfsmount *nmp; int attrflag, content, error, ret; @@ -4127,7 +4155,7 @@ nfs_ioctl(struct vop_ioctl_args *ap) return (ENOTTY); } - error = vn_lock(vp, LK_SHARED); + error = vn_lock(vp, LK_EXCLUSIVE); if (error != 0) return (EBADF); @@ -4153,6 +4181,11 @@ nfs_ioctl(struct vop_ioctl_args *ap) * server, the LayoutCommit will be done to ensure the file * size is up to date on the Metadata Server. */ + + obj = vp->v_object; + VM_OBJECT_WLOCK(obj); + vm_object_page_clean(obj, 0, 0, OBJPC_SYNC); + VM_OBJECT_WUNLOCK(obj); error = ncl_flush(vp, MNT_WAIT, ap->a_td, 1, 0); if (error == 0) error = nfsrpc_seek(vp, (off_t *)ap->a_data, &eof, From nobody Fri Jan 5 05:00:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5rrK0Jrpz56Hhg; Fri, 5 Jan 2024 05:00: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5rrJ5g1Fz4Wht; Fri, 5 Jan 2024 05:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nIfZYDY/Qf8720jdzAvszydQ7j3qKmxQuMsOSU4S8vA=; b=Mwp73G8n4WA5o5G1kiQO9cykef+bfFZh3eP4yywqK4hlgbFqFDBRhq8a+q5Jczsx4rFEgH fuf84w4mBrrPDYe2tvYkwGGJ3RmhwVgSD68yUEnLTXbucuQCGuC2APWmpe3/Qs/PY3CNRd 9rluLf4UZpfoKoNibXg7/YWSwPavFoJ7WqhCHk3yqQpKo1k5+pxJPjT/Wd7VIBldQyfRpc z402U5R5w7KYv9GSXNL4LuoOQHxE3zrGCxQ/u/2CT1ryMq9q0ama0YakLSK5L2kZV0wW7q YiOjPs6QUiI5F5au9G4jmJxl3H4H/A6yhDqpNvP4jZIBthzMmlNZpVmvm3shYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nIfZYDY/Qf8720jdzAvszydQ7j3qKmxQuMsOSU4S8vA=; b=yrMN2U4ESsUHl4mL7UlyhOL5QAd/Ao9it/PpjVioF9eHxX9WSDsiZIckdkRPi18QaA5PxJ 3aESPNllga0JYGkuRoniWsH2niU9XRwrTO79JiG4MIyf4cO/+THxakEwYtDkaBQc73tByB ym4VXCjkVjFAglmK70pIQNXn5XdD5QbvDMAKeq41cAfPiDbyc3sYMVfiihKlc+S83ojMjA r7Ex1ehYtKErEqelbeYft4BjelQdk43yzAVr2R3A+RomygYC8/HMnyTT+ypFwqLzsJ1asq EqYjYWaCGzlf7D+rLtO/bWsJIKIRO2eYg8mGkQq2GVBVOSXzSaEQeykT0VQkYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704430848; a=rsa-sha256; cv=none; b=Vy3EXvgCNZs7asHybWtvdPjJZYGixGyAhPLBTGuO3E6eP+EYhf8g8FxGR/AYIDdBb+czv9 F2ZBx4TCmSWuCETmDqXOSCmRFb8hdPpNmzUjdF5y1WVeEQ//7EI2U2+1sHpF0A0VsMtJBC my0iaAfLUDTRsG/A+zAzaUg0vWHTKuPlNEoz0I0x6fKymEemK62gn7KBtQLfeKZOVOoUYe GEpZCP5yjJvn5Ab9StCsD5b95FOCk/Pvm+zAH8lmmMnPaA4lc9SuamA6kxlVPBBVPk5xiV zd4PZs+Wg2dTZej8v32Th628sI+VIxa24Tq+xXhYY2AgdDJoxo1602YAiEIIRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5rrJ4Yb1zkXG; Fri, 5 Jan 2024 05:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40550mp8090229; Fri, 5 Jan 2024 05:00:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40550maL090226; Fri, 5 Jan 2024 05:00:48 GMT (envelope-from git) Date: Fri, 5 Jan 2024 05:00:48 GMT Message-Id: <202401050500.40550maL090226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 656d2e83d9ee - main - nfsclient: eliminate ncl_writebp() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 656d2e83d9eef204c132f879d55782affede2ca9 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=656d2e83d9eef204c132f879d55782affede2ca9 commit 656d2e83d9eef204c132f879d55782affede2ca9 Author: Konstantin Belousov AuthorDate: 2023-12-30 18:46:31 +0000 Commit: Konstantin Belousov CommitDate: 2024-01-05 04:58:18 +0000 nfsclient: eliminate ncl_writebp() Use plain bufwrite() instead. ncl_writebp() evolved to mostly repeat bufwrite() code with some ommisions, most notably runningbufspace accounting. Reviewed by: imp, markj, rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43249 --- sys/fs/nfsclient/nfs.h | 1 - sys/fs/nfsclient/nfs_clbio.c | 2 +- sys/fs/nfsclient/nfs_clnode.c | 2 -- sys/fs/nfsclient/nfs_clport.c | 2 -- sys/fs/nfsclient/nfs_clvnops.c | 70 +----------------------------------------- 5 files changed, 2 insertions(+), 75 deletions(-) diff --git a/sys/fs/nfsclient/nfs.h b/sys/fs/nfsclient/nfs.h index b43194a3abeb..aa755a6b5f4d 100644 --- a/sys/fs/nfsclient/nfs.h +++ b/sys/fs/nfsclient/nfs.h @@ -111,7 +111,6 @@ int ncl_readdirrpc(struct vnode *, struct uio *, struct ucred *, struct thread *); int ncl_readdirplusrpc(struct vnode *, struct uio *, struct ucred *, struct thread *); -int ncl_writebp(struct buf *, int, struct thread *); int ncl_commit(struct vnode *, u_quad_t, int, struct ucred *, struct thread *); void ncl_clearcommit(struct mount *); int ncl_fsinfo(struct nfsmount *, struct vnode *, struct ucred *, diff --git a/sys/fs/nfsclient/nfs_clbio.c b/sys/fs/nfsclient/nfs_clbio.c index b97342547968..e6486af55daf 100644 --- a/sys/fs/nfsclient/nfs_clbio.c +++ b/sys/fs/nfsclient/nfs_clbio.c @@ -1312,7 +1312,7 @@ again: } } else if ((n + on) == biosize || (ioflag & IO_ASYNC) != 0) { bp->b_flags |= B_ASYNC; - (void) ncl_writebp(bp, 0, NULL); + (void) bwrite(bp); } else { bdwrite(bp); } diff --git a/sys/fs/nfsclient/nfs_clnode.c b/sys/fs/nfsclient/nfs_clnode.c index ae69dafede07..fdb94aee9139 100644 --- a/sys/fs/nfsclient/nfs_clnode.c +++ b/sys/fs/nfsclient/nfs_clnode.c @@ -58,7 +58,6 @@ #include extern struct vop_vector newnfs_vnodeops; -extern struct buf_ops buf_ops_newnfs; MALLOC_DECLARE(M_NEWNFSREQ); uma_zone_t newnfsnode_zone; @@ -130,7 +129,6 @@ ncl_nget(struct mount *mntp, u_int8_t *fhp, int fhsize, struct nfsnode **npp, } vp = nvp; KASSERT(vp->v_bufobj.bo_bsize != 0, ("ncl_nget: bo_bsize == 0")); - vp->v_bufobj.bo_ops = &buf_ops_newnfs; vp->v_data = np; np->n_vnode = vp; /* diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c index c0318b692d86..4e3a699fb170 100644 --- a/sys/fs/nfsclient/nfs_clport.c +++ b/sys/fs/nfsclient/nfs_clport.c @@ -77,7 +77,6 @@ extern u_int32_t newnfs_true, newnfs_false, newnfs_xdrneg1; extern struct vop_vector newnfs_vnodeops; extern struct vop_vector newnfs_fifoops; extern uma_zone_t newnfsnode_zone; -extern struct buf_ops buf_ops_newnfs; extern uma_zone_t ncl_pbuf_zone; extern short nfsv4_cbport; extern int nfscl_enablecallb; @@ -235,7 +234,6 @@ nfscl_nget(struct mount *mntp, struct vnode *dvp, struct nfsfh *nfhp, } vp = nvp; KASSERT(vp->v_bufobj.bo_bsize != 0, ("nfscl_nget: bo_bsize == 0")); - vp->v_bufobj.bo_ops = &buf_ops_newnfs; vp->v_data = np; np->n_vnode = vp; /* diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 36ab5485d807..3f1ab9741673 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -2925,7 +2925,7 @@ ncl_flush(struct vnode *vp, int waitfor, struct thread *td, * A b_flags == (B_DELWRI | B_NEEDCOMMIT) block has been written to the * server, but has not been committed to stable storage on the server * yet. On the first pass, the byte range is worked out and the commit - * rpc is done. On the second pass, ncl_writebp() is called to do the + * rpc is done. On the second pass, bwrite() is called to do the * job. */ again: @@ -3438,54 +3438,6 @@ nfs_print(struct vop_print_args *ap) return (0); } -/* - * This is the "real" nfs::bwrite(struct buf*). - * We set B_CACHE if this is a VMIO buffer. - */ -int -ncl_writebp(struct buf *bp, int force __unused, struct thread *td) -{ - int oldflags, rtval; - - if (bp->b_flags & B_INVAL) { - brelse(bp); - return (0); - } - - oldflags = bp->b_flags; - bp->b_flags |= B_CACHE; - - /* - * Undirty the bp. We will redirty it later if the I/O fails. - */ - bundirty(bp); - bp->b_flags &= ~B_DONE; - bp->b_ioflags &= ~BIO_ERROR; - bp->b_iocmd = BIO_WRITE; - - bufobj_wref(bp->b_bufobj); - curthread->td_ru.ru_oublock++; - - /* - * Note: to avoid loopback deadlocks, we do not - * assign b_runningbufspace. - */ - vfs_busy_pages(bp, 1); - - BUF_KERNPROC(bp); - bp->b_iooffset = dbtob(bp->b_blkno); - bstrategy(bp); - - if ((oldflags & B_ASYNC) != 0) - return (0); - - rtval = bufwait(bp); - if (oldflags & B_DELWRI) - reassignbuf(bp); - brelse(bp); - return (rtval); -} - /* * nfs special file access vnode op. * Essentially just get vattr and then imitate iaccess() since the device is @@ -3602,26 +3554,6 @@ out: return (fifo_specops.vop_close(ap)); } -/* - * Just call ncl_writebp() with the force argument set to 1. - * - * NOTE: B_DONE may or may not be set in a_bp on call. - */ -static int -nfs_bwrite(struct buf *bp) -{ - - return (ncl_writebp(bp, 1, curthread)); -} - -struct buf_ops buf_ops_newnfs = { - .bop_name = "buf_ops_nfs", - .bop_write = nfs_bwrite, - .bop_strategy = bufstrategy, - .bop_sync = bufsync, - .bop_bdflush = bufbdflush, -}; - static int nfs_getacl(struct vop_getacl_args *ap) { From nobody Fri Jan 5 05:00:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5rrL1V0Zz56HX9; Fri, 5 Jan 2024 05:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5rrK6tgXz4Wsm; Fri, 5 Jan 2024 05:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jc8qEX3AMfEKWsjqtxbIHy5fVBKIxYQwzlRM32FGA/Q=; b=h+GDKAXWzreiB7gMy3d8I+alKE6P7e1S6ErU6IyvuhyFbShXaMJDKCXvrBFLP8z4zJsal/ I1orgZn/qLSb0k48zHDvq91k0DxXMluX9l5foZLQzY63Q0o2OtS6SgvLkEc+DMO9XsRlkw zQJaayQP/vnfB1F2EojoHjAELpGVhfuPtpv0/nJrh87nIbJioZKv0MZBZAOY8AyAFdu8Sl taaq2AS5eEJb/JBvKQTW/65IEwPr/QD6xb8ipJPZ4q7jnRCrzqfYsiycX+RDBUc72N5Asw Vr3unmozFh4zi8w7erCVoZS8esz21lM7HkmaESOPsQLaUpElrwETC35VEt2SyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jc8qEX3AMfEKWsjqtxbIHy5fVBKIxYQwzlRM32FGA/Q=; b=cJs81PnY2lvTEjk6BHBgrFtUP9tYEH500ssA+1EukKjL/6l//OAdLVMXfn90lORAZo3NDb q1KwqzT3ix+5IjDpaI1Bn87n4aP+0P4e3j3uZ1QIuOot4s/v+z+VRq6dP1guLeLq0JQs8E mbCG8EHD272DFhiRoz2DDtiflI3CTxDm8oTi50UD/eOts+cz6Jadmw60t50Nr3ypwzKFnh 66eqM1LCHLvcOhaCqdEmQxPdoQrM3aNm8+6j6jBec5owbgCL3cx9AERXNTyry18dtgIEyU mBkQT8F7N59cPm/+791AHGL9+ZZIiVf4HO5nxUk0cex6pNnWpNXxT3vL8iq7/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704430850; a=rsa-sha256; cv=none; b=cl55Fw1+JDiY/0jPoimRd/JfxX/7aTr2BdibP6/WczS800p5kI92UxXAKIV8UydqF/vqTa ret86Ut++Flj2ZKn3w4K/XxGN4F0R0K26K5K2sLHDm0YkdZ0pshncGHYCKGkInAc00EsaI PI+zRnke4FQkkeX3/LH65sklWQM3zKMpeUsKvWsUvRkC86GfDVHgdz+kSw/kkXG53VzuU4 qNlrpPS5ForfB6/6j7+AMTly9Axk1gYvBhmQhP/C2b+26lujj/h6ty5Hem1HDeYWG+inyP 17TR51+98da7zadiLX/XeVxx0QuNNwDha5raO3JoCe8KXNzhdzrpMReQMC05Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5rrK5pf0zjmG; Fri, 5 Jan 2024 05:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40550nnO090292; Fri, 5 Jan 2024 05:00:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40550nHe090289; Fri, 5 Jan 2024 05:00:49 GMT (envelope-from git) Date: Fri, 5 Jan 2024 05:00:49 GMT Message-Id: <202401050500.40550nHe090289@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 4c41d10f1538 - main - vtruncbuf: add a comment explaining the purpose of the loop List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c41d10f1538c232174d5200d245e5fcd9936958 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4c41d10f1538c232174d5200d245e5fcd9936958 commit 4c41d10f1538c232174d5200d245e5fcd9936958 Author: Konstantin Belousov AuthorDate: 2023-12-31 20:46:04 +0000 Commit: Konstantin Belousov CommitDate: 2024-01-05 04:58:42 +0000 vtruncbuf: add a comment explaining the purpose of the loop Reviewed by: chs, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43261 --- sys/kern/vfs_subr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index eb82f2d86aff..2e2457f59f60 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -2549,6 +2549,9 @@ restart_unlocked: ; if (length > 0) { + /* + * Write out vnode metadata, e.g. indirect blocks. + */ restartsync: TAILQ_FOREACH_SAFE(bp, &bo->bo_dirty.bv_hd, b_bobufs, nbp) { if (bp->b_lblkno > 0) From nobody Fri Jan 5 05:00:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5rrM1rDSz56HXF; Fri, 5 Jan 2024 05:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5rrM0hxfz4WnP; Fri, 5 Jan 2024 05:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YxdqCWCynH0i92fhZUKVGcit+lHZfTLaxq4AqhVVxsY=; b=xJrRfBl4wUACAze9iUKS7igwzFzEUWn0a2Tb6T4ZuSsonrbumnifESlZrdPrgkDlW62qdG dUMDXnkJtvgbHYv7D5smKuhLobrW8kM1Yje3r7V9TfeOeQOq7fgYAoQJfE3QO5bqm6jwj1 AKZEf8lWiA30ck8LRfqQ7CWaPfo745ks+9vKtMushbCO9HMmDKpw7cdzwFXNP2jGiHOKBt j5M4MMu4S+HZifNbs05Zzfy1WBO+a2kSbQ9K2tALDU1KaWZs24uITKp4uNp8MHUo9MmvdZ IfP3BRvEU/6ML+/DRGAkQOfkWYPyaY1t8Py4DNEjWye9fc59MjjABa9QOa7iXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YxdqCWCynH0i92fhZUKVGcit+lHZfTLaxq4AqhVVxsY=; b=UcCVKitC2tGHQD6AWzC0J2/sZSz31xrgmWxu/33EnSnesjSUxW1JwzHQnGynN59UlSWdui /Z7qeM0y718qIPODGUqPQ9eRjc+Yn2KRyjpMKBA2zXMjg2/H0MJRGuFNktI+kXpcNUJJVR 1PJvEH4t15IIDHdDAYPJSQXbD0An5ROPI/6ByVmpoAFfBjObrox5o5QnfyWPffWPnvnyi1 1kZnm23kE5AMlRICFJFc68/cM8LMWXok0nhho1XqiA6GggOnu8ZPA2JJbKSeP9vmExzWdm uihmZ11o+C39nW3nqQ6yMKNJjJ2YM590kb+Z094oeIjDjP6GLo3yS49aEM9mQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704430851; a=rsa-sha256; cv=none; b=HSpBN2HKVVSyYQxr2cKcaUplP4c0Box31keHdkxVwgyyOfsbwpgbT48qPmP5GCgCZF0bcF SyEo88yJnXoCM3qR88f4TElYMdqoSLG2tPZs5svHtIiJ5Cz2iNCboWtgneVryxtAjHZrZr QTDaTT/nWm67zkmwwDlAnID+WPUw9PTy4gEVGseUwMEV3sAujZPV/TSLLNu3hMWkmB5JjC 5ZwoXXaL/cM4kcFSZUWwTXMqJ89UCDZpSbbqhwaGHPmF5HnvhYlqajmSWjQhcgIzGEBT3a EV+IyA/EqWzspeOgO/oMbrEd77xV2qstOI+0QAH629Qe3w0zGPg2s3/OOlafSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5rrL6rLYzk49; Fri, 5 Jan 2024 05:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40550omd090348; Fri, 5 Jan 2024 05:00:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40550o5P090345; Fri, 5 Jan 2024 05:00:50 GMT (envelope-from git) Date: Fri, 5 Jan 2024 05:00:50 GMT Message-Id: <202401050500.40550o5P090345@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2d33ad48bd37 - main - vtruncbuf: improve the check for meta buffer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d33ad48bd37f27925e4c46c798f8f2d23a2b501 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2d33ad48bd37f27925e4c46c798f8f2d23a2b501 commit 2d33ad48bd37f27925e4c46c798f8f2d23a2b501 Author: Konstantin Belousov AuthorDate: 2023-12-31 20:46:53 +0000 Commit: Konstantin Belousov CommitDate: 2024-01-05 04:58:50 +0000 vtruncbuf: improve the check for meta buffer Revision e99215a614675 reorganized the code in vtruncbuf(), and moved the logic to flush meta buffers into a dedicated loop. While doing it, the condition was changed from bp->b_lblkno < 0 (to handle) into bp->b_lblkno > 0 (to skip), which causes buffer at lblkno to needlessly flush. Reviewed by: chs, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43261 --- sys/kern/vfs_subr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 2e2457f59f60..e18c34656af4 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -2554,7 +2554,7 @@ restart_unlocked: */ restartsync: TAILQ_FOREACH_SAFE(bp, &bo->bo_dirty.bv_hd, b_bobufs, nbp) { - if (bp->b_lblkno > 0) + if (bp->b_lblkno >= 0) continue; /* * Since we hold the vnode lock this should only From nobody Fri Jan 5 05:00:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5rrN5HvMz56HXG; Fri, 5 Jan 2024 05:00:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5rrN1gWZz4Wqm; Fri, 5 Jan 2024 05:00:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRC5HlHjhmK+YWql2ebsHNuQ2ggs9phFQXoTG1+JrKk=; b=Z8550+wBovz0YdXKrgC5qj5LsvSts/mMdb1t74AzLxq5UEyVTCg6+jsG5cQ/wpAcsj1lLg UsPQkx0TbhysKBqmilDMSeNUzzmxdm9Us6ej6SC2lExwR7PuCkKq3cyUf5YvcV2lRIYS3U tB5APfpt3etu8f4kqJ0pbJsgkwH9mY5Xuzy6RqGdXtC21j84T7G4zs5mgf0Hjf6b+ZA2Vw hI1oOw4JM35mKaNTfWR7gIBdyg5BuF+/bGd+sB+Vr2woLxLT6geT7HOHGheTPSVwU0s7UV B0APQN20jdhMZJle7O/JfvIQnqEnMrccmxbmmKEEs0MndDhWqgQdnfgIkqiijw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704430852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRC5HlHjhmK+YWql2ebsHNuQ2ggs9phFQXoTG1+JrKk=; b=bj30VbXpLbDYO5ysKow3cxkfOLsjf+uUDusjKPzVumLSTDx26GJu/RShZGraC7Cd+PFfkT yYNCBiNx97T1sYpp2ChWBD01YqAcL9e51qt5vI466ajiGJra7buMhjIDfrez3ojWN2ANLl dJRfmN2aStk4wyhNPvuVgOuz4cAA6pKjZwjwygVr4X7O23eoaLBPSxWRkFo3fR/2+NG6D4 0aogcqT/19k7dL32OelVTLv58LDrXwcndNx+GYhhJf/6qr/KNDTDc5PViTSMfkAzyZbwww LT5vAoGjTKt86zRlpkIX3l/cYF/ZizshlLMfrlXkTpAb5w7Y23rMMDuvLI3jjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704430852; a=rsa-sha256; cv=none; b=QsDmiGkBcznwuN71Vrz+Oa1mYJSPkistVP8Llx6X+8OzFBXTErLIteMk3HWPcP9z0Q9eX0 oovmdvdssZn6SLVywRlcNGyCkeiGAHIirCYJL0iTEVNjYhJ+s9xQij4M1zy+IBM2AGVtNX 6LFemqDeNO4+AHqVfz63tlGdvCddjT1DWl46FeRYVzVOIpO0h3shIV5pYvvH/e1ptj8ih4 nm+e1qNmgn7Pk4SkMu0jeuvZyXTBoOibtnQkwm72Z35O/dvxIxNtbQS4Xt1R16DiND5lgA 51Kv9EoBPh5m3Z/P5lSqOHMllNzTLWI3A8bcMlaMCuGSnPUEC2gRDGTkxyvo9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5rrN0nHdzkXK; Fri, 5 Jan 2024 05:00:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40550qcE090405; Fri, 5 Jan 2024 05:00:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40550qKZ090402; Fri, 5 Jan 2024 05:00:52 GMT (envelope-from git) Date: Fri, 5 Jan 2024 05:00:52 GMT Message-Id: <202401050500.40550qKZ090402@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 70dc6b2ce314 - main - nfsclient: limit situations when we do unlocked read-ahead by nfsiod List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 70dc6b2ce314a0f32755005ad02802fca7ed186e Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=70dc6b2ce314a0f32755005ad02802fca7ed186e commit 70dc6b2ce314a0f32755005ad02802fca7ed186e Author: Konstantin Belousov AuthorDate: 2024-01-01 22:22:44 +0000 Commit: Konstantin Belousov CommitDate: 2024-01-05 04:58:58 +0000 nfsclient: limit situations when we do unlocked read-ahead by nfsiod If there were or are writeable mappings, read-ahead might overwrite the dirty pages data that is not yet reflected as a delayed write in the matching buffer state. Noted by: rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/fs/nfsclient/nfs_clbio.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clbio.c b/sys/fs/nfsclient/nfs_clbio.c index e6486af55daf..f6506e34ee59 100644 --- a/sys/fs/nfsclient/nfs_clbio.c +++ b/sys/fs/nfsclient/nfs_clbio.c @@ -481,9 +481,14 @@ ncl_bioread(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) on = uio->uio_offset - (lbn * biosize); /* - * Start the read ahead(s), as required. + * Start the read ahead(s), as required. Do not do + * read-ahead if there are writeable mappings, since + * unlocked read by nfsiod could obliterate changes + * done by userspace. */ - if (nmp->nm_readahead > 0) { + if (nmp->nm_readahead > 0 && + !vm_object_mightbedirty(vp->v_object) && + vp->v_object->un_pager.vnp.writemappings == 0) { for (nra = 0; nra < nmp->nm_readahead && nra < seqcount && (off_t)(lbn + 1 + nra) * biosize < nsize; nra++) { rabn = lbn + 1 + nra; @@ -671,6 +676,8 @@ ncl_bioread(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) */ NFSLOCKNODE(np); if (nmp->nm_readahead > 0 && + !vm_object_mightbedirty(vp->v_object) && + vp->v_object->un_pager.vnp.writemappings == 0 && (bp->b_flags & B_INVAL) == 0 && (np->n_direofoffset == 0 || (lbn + 1) * NFS_DIRBLKSIZ < np->n_direofoffset) && From nobody Fri Jan 5 05:19:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5sGN6mmPz56Klj; Fri, 5 Jan 2024 05:19:56 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5sGN3dznz4bqv; Fri, 5 Jan 2024 05:19:56 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.17.1/8.17.1) with ESMTP id 4055JmB6015887; Fri, 5 Jan 2024 07:19:51 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 4055JmB6015887 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 4055Jm7C015886; Fri, 5 Jan 2024 07:19:48 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 5 Jan 2024 07:19:48 +0200 From: Konstantin Belousov To: Olivier Certner Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: bd61c1e89dc4 - main - libthr: thr_attr.c: Clarity, whitespace and style Message-ID: References: <202401041044.404AiIN0046997@gitrepo.freebsd.org> <2782916.iL6vRArjjl@ravel> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2782916.iL6vRArjjl@ravel> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4T5sGN3dznz4bqv X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] On Thu, Jan 04, 2024 at 03:30:18PM +0100, Olivier Certner wrote: > Hi Konstantin, > > This is the commit message: > > > > libthr: thr_attr.c: Clarity, whitespace and style > > > > > > Also, remove most comments, which don't add value. > > There was no intention on my side to make any other changes other than mostly mechanical ones to the existing code in this particular commit, which already is in itself a big diff. In the commit, of course. In the flow of making this commit, the separate follow-up that cleans debris is quite reasonable. Also we usually discourage plain style changes or tweaks unless they are preparations for more substantial change. > > > The check is not needed. > > Indeed. It was there from the start. > > > there and in all similar places that test a flag bit > > I have already been told multiple times that testing a flag in an integer with '&' is to be assimilated as a boolean result, which per style(9) doesn't require explicit testing for non-zero. I think I even had to change code once in a review for this reason. Can you show the place where it happens? Because the canonical style is reverse, non-bool values must be explicitly tested instead of relying on the implicit conversion to bool. > > I'm happy to change that if there can be a clear consensus on one way or the other. > > Additionally, this is not code I touched (except for indentation). > > > > + if ((pattr = malloc(sizeof(*pattr))) == NULL) > > > + return (ENOMEM); > > > + > > > + memcpy(pattr, &_pthread_attr_default, sizeof(struct pthread_attr)); > > Above you changed sizeeof(struct pthread_attr) to sizeof(*pattr), but > > there you left the type name. > > Ah, indeed, thanks for spotting that inconsistency. > > > For me this looks somewhat confusing, in other places the explicit flag > > name symbol is used instead of a variable value. > > With the assignment being in the preceding line, I'm not sure I share that sentiment, though I agree this is inconsistent with the 'else' branch. Happy to change it in a subsequent commit (original code is unchanged). > > > There should be a blank line after the local vars declaration. > > Yes, a style-fixup that I missed, thanks. > > > What is the point of doing calloc() if the whole allocated memory is > > overwritten by the memcpy() call below? > > I agree this can be changed (in a subsequent pass, this is not a style issue, although arguably a clarity one). > > I'll make sure you're added to differential revisions changing this file. > > Thanks and regards. > > -- > Olivier Certner From nobody Fri Jan 5 06:22:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5tf45FCgz56F83; Fri, 5 Jan 2024 06:22:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5tf44mTyz4lQd; Fri, 5 Jan 2024 06:22:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704435724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nEGSLhCfQZ626oBPW/8SnmQ9CjI96UWddoT+sEFNL4w=; b=MX2YlPsKMCPrCcqXbr4DTdKVhuEtkaZIbQo9qdL3saJvEOFMnXKW23cPJA+2uCv7Y422j5 EdALRTWzZt6wzIeSpZ0iJ4OQdA48iOFNuTXljoswdGsZJ59Yv25u3rpUmylp+yV914TIm0 j0zNPxFO+0zMA0VB4PNoCsAJT8fuDd8cgtoOlM1emc1DILWF8FWSzwkabxNsDYfvGXId4H v+nsmYw8k+RS8RBTGg41Fjwf/RXNjDfIu8oKELVbun+jwWxRyt0MVIoofH5uMbIl+Wa7va v4YN3RerTVgKyEiAwuOEbt1ioZMpANu5QY+NkS93OZs+E+Biv2Jbns1YvPWWsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704435724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nEGSLhCfQZ626oBPW/8SnmQ9CjI96UWddoT+sEFNL4w=; b=GOsOBg9r7+MlMl0I6ZIoJYGKn7GQuTXJj4a9aeaNBYeZ4+RYTui0YwRVsaLoqOrqSxtpq1 NrRps3+vyKEobYGB01TSTtp71JwNOVz7tFpP42LyGxLfAD+3fbvMpwSfnA0lBn+bfgkblw e7BhFCQ1YxQom2WSgwMVniq2HLseDpP53OLOZVgN+tW2KexyVdMKyS3FM9QgtZ1lwxILXP xEbQgmyaCE3ZNQs9kjtrzdxiou1LKDWehkj6KSGaWPs+rb0Ow9GqfGXVNzXhk5gEkds0Hr 61h78cz8v1lh+oLgJeSCYH1+hPHYDw0nnEpLYzaPgaGM351RfrFYPS3Ul7SinQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704435724; a=rsa-sha256; cv=none; b=VClMTEAXuXzwvhlns2EiH4WeF0Tc20oNHATmfAQfGJ8xDBgmzdweTkCFPXkS3BWW71929W tRSH6hXUbHFPfK9wmNDxzDFNqu/ZnfS4IqRtoc0bL4O5Z9A+IbSQov5FrAgfJh+AhL+awv oo1v8Ork2NQbOz0sYxUI3AHG4SfX2ia4tZ3IwmbfpWl1f/bSMJQothpJFuFdEdcsPSH3sU RlKk5QQjQkFdqubFO9n5nLt2qEDoZT3FYT8fMtYKBoaEzewYigetPEoOCvvrVW6Kg1ZI9g q0fUIB/BSuLJqMf0+85dTrz95gi751UyRwmPFT72gaP5R2kp6SYIX0c742xw1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5tf43XXdzmkr; Fri, 5 Jan 2024 06:22:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4056M4JN028966; Fri, 5 Jan 2024 06:22:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4056M4w4028963; Fri, 5 Jan 2024 06:22:04 GMT (envelope-from git) Date: Fri, 5 Jan 2024 06:22:04 GMT Message-Id: <202401050622.4056M4w4028963@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: c067be72e835 - main - bhyveload: limit rights on the dirfds we create List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c067be72e835e469518ec985b6cc4e475c378944 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c067be72e835e469518ec985b6cc4e475c378944 commit c067be72e835e469518ec985b6cc4e475c378944 Author: Kyle Evans AuthorDate: 2024-01-05 06:21:14 +0000 Commit: Kyle Evans CommitDate: 2024-01-05 06:21:14 +0000 bhyveload: limit rights on the dirfds we create In neither case do we need write access to the directories we're working with; userboot doesn't support fo_write on the host device, and the bootfd is only ever needed for loader loading. This improves on 8bf0882e18 ("bhyveload: enter capability mode [...]") so that arbitrary code in the loader can't open writable fds to either of the directories we need to maintain access to. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43315 --- usr.sbin/bhyveload/bhyveload.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index d4f930e8cc76..f75ef27dd958 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -734,12 +734,17 @@ usage(void) static void hostbase_open(const char *base) { + cap_rights_t rights; if (hostbase_fd != -1) close(hostbase_fd); hostbase_fd = open(base, O_DIRECTORY | O_PATH); if (hostbase_fd == -1) err(EX_OSERR, "open"); + + if (caph_rights_limit(hostbase_fd, cap_rights_init(&rights, CAP_FSTATAT, + CAP_LOOKUP, CAP_READ)) < 0) + err(EX_OSERR, "caph_rights_limit"); } static void @@ -860,11 +865,24 @@ main(int argc, char** argv) * guest requesting a different one. */ if (explicit_loader_fd == -1) { + cap_rights_t rights; + bootfd = open("/boot", O_DIRECTORY | O_PATH); if (bootfd == -1) { perror("open"); exit(1); } + + /* + * bootfd will be used to do a lookup of our loader and do an + * fdlopen(3) on the loader; thus, we need mmap(2) in addition + * to the more usual lookup rights. + */ + if (caph_rights_limit(bootfd, cap_rights_init(&rights, + CAP_FSTATAT, CAP_LOOKUP, CAP_MMAP_RX, CAP_READ)) < 0) { + perror("caph_rights_limit"); + exit(1); + } } vcpu = vm_vcpu_open(ctx, BSP); From nobody Fri Jan 5 06:22:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T5tf5673yz56F84; Fri, 5 Jan 2024 06:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5tf55Sg1z4lNP; Fri, 5 Jan 2024 06:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704435725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7zc8Yu3Sai3+AW3g5A8SZyErXlhjy6mAxUH8FmM3Ga0=; b=eEBXVJzfJeXHP967p80OcoqLCurL/32sgC2Awf1TFASU1SXmj18njWOUpJSeY0XvOfdjCa 3nDOGHmmZkQupwecIj2RVoZnNbiamxSDS4qiPbrH/dTBh4fyyVJ/7GF05RHXt8q3qZ0LXc NnH98SbhYgLlxFmaZ0aoZTIkVVXPEWR4N5I9MYe4PT5wPHpYcr+2KLZ15zPY8Tgmo2lWN3 +PKiQdDb5ML4xmtPV1t4n+zMPXQkPEAHGpmRa3QmIBrqjEXnKZGWzvo5iVjRB9eVIvK5vx 1NDKBV0pd9Vmeu4q4pU61czttQtJboKrvmoc+Mc851Fl5Um2mHyXqcwA2pm2og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704435725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7zc8Yu3Sai3+AW3g5A8SZyErXlhjy6mAxUH8FmM3Ga0=; b=lYgxQPk06/YHApxBokywR5bTpYCOrLnHyyLBnyQU/wc19WLJmLxbDNRu8ZuYXn2QIJQLYD Qb6N+f29drna69Dk13GhBvNBFjUh/2JBhyt6uWHmnSix//wZB/rSQ6FuXdkjevZj5jVyAZ jxhzixGX+aOW/iXA47xcrSCD5q1ElDsl6EmBZhbKKwo4SL5XdMPBkSazkVGfbP7foEy9UU 2ogOsW7bsCaDeKQs3uxTzOgJJwm0hL0Kmxuw66eiLhkKoCNt1BPwB3sh+eFznzeiPhq5qO CxhiMClD7ajkYK+nG7OuOV1dx8GSbfZvzNUipMAgM2W08OveHoEfij/aTmYSxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704435725; a=rsa-sha256; cv=none; b=LJSWLcydE/l7P/Hh2dlhU65c1kcQCYtSJf7BdyI1aelezQKaRVWUyrsBYVScItxut2qGNt P5CDuREhi+sd4jVlHD9rqL3H9pXKIL90R9YQhR3L4fdKSzSI+sVOA8FaIgQLDQQypEc88Y mjJ3xaCvrWOyl+iRcsNuzP+72CGUXFPgK7qrTvpW+/HsS9DzeetruNtzV6N0JBq4cW5Dn7 s/Ss/hiAlZJz3n0Ceo+ycUDXXWggx58ruOSb50VafmaRdx/FfUXMKEfMEdFUWvtUtL0ayb JFa6SKkQR7z0EJCjK95Xz/MglODRyN0/0Cm1RBCj6MnSNtOjjBeE6dBCbQt0Yg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5tf54WPlzmQ7; Fri, 5 Jan 2024 06:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4056M5YY029020; Fri, 5 Jan 2024 06:22:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4056M58o029017; Fri, 5 Jan 2024 06:22:05 GMT (envelope-from git) Date: Fri, 5 Jan 2024 06:22:05 GMT Message-Id: <202401050622.4056M58o029017@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 24cd5c26fe3e - main - bhyveload: support guest rebooting from the loader List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 24cd5c26fe3ef7181e85467d9d55afbd76af5a2c Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=24cd5c26fe3ef7181e85467d9d55afbd76af5a2c commit 24cd5c26fe3ef7181e85467d9d55afbd76af5a2c Author: Kyle Evans AuthorDate: 2024-01-05 06:21:15 +0000 Commit: Kyle Evans CommitDate: 2024-01-05 06:21:15 +0000 bhyveload: support guest rebooting from the loader userboot has a EXIT_REBOOT code that it uses when the 'reboot' loader command is executed. Use that and longjmp back to reinit the VM entirely with a reboot request. This fixes the 'reboot' option in the loader menu to actually reboot rather than shutdown the VM. The JMP_* constants are introduced to keep track of why we're doing a longjmp, though they aren't currently used. We'll notably still do a complete reload of the interpreter to give the rebooted VM that new loader smell. It just seemed forward thinking to just keep track of the different setjmp points. While we're here, we don't actually need to keep the fd we passed to fdlopen(3), so let's avoid leaking it. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D43300 --- usr.sbin/bhyveload/bhyveload.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index f75ef27dd958..37338e77d621 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -89,6 +89,16 @@ #define NDISKS 32 +/* + * Reason for our loader reload and reentry, though these aren't really used + * at the moment. + */ +enum { + /* 0 cannot be allocated; setjmp(3) return. */ + JMP_SWAPLOADER = 0x01, + JMP_REBOOT, +}; + static struct termios term, oldterm; static int disk_fd[NDISKS]; static int ndisks; @@ -543,6 +553,8 @@ cb_exit(void *arg __unused, int v) { tcsetattr(consout_fd, TCSAFLUSH, &oldterm); + if (v == USERBOOT_EXIT_REBOOT) + longjmp(jb, JMP_REBOOT); exit(v); } @@ -628,7 +640,7 @@ cb_swap_interpreter(void *arg __unused, const char *interp_req) if (asprintf(&loader, "userboot_%s.so", interp_req) == -1) err(EX_OSERR, "malloc"); - longjmp(jb, 1); + longjmp(jb, JMP_SWAPLOADER); } static struct loader_callbacks cb = { @@ -769,6 +781,8 @@ loader_open(int bootfd) loader_hdl = fdlopen(fd, RTLD_LOCAL); if (!loader_hdl) errx(EX_OSERR, "dlopen: %s", dlerror()); + if (fd != explicit_loader_fd) + close(fd); } int From nobody Fri Jan 5 12:55:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T63Mt0mhpz5730n; Fri, 5 Jan 2024 12:55: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T63Mt0HZMz4WkY; Fri, 5 Jan 2024 12:55:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704459322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CRRO7W7iqKcfYa4/m80SPS/6LEuIAtboU69xfLzE5LI=; b=ZX3o3pgZUkn3ESlFwoB2/xB520OD+FoExzsAohxDW6m8X+/p746xbrn9zGD1RkaJop7fjX hwWXFmx8gXx+7z7HeJtQWtZ9pcwX78OK6pUDzlcaan3aElOQcfb2L8W9imgjU9+slAs9H2 F2zpd6Zmc5LL5Ky4WRjxRhy2vaN0Rbsm0H05mBi+IKpMs+vxlbZQNxWFht+nqsFdqehLPh G0I2eQ0ZKYS5McDVpmPzBgGr8ouCsjn3NfnLvZEJeCgI9HEs+CIvdZ2EsDi3bsd5vCWKu0 6+wHI6qR43DzJGI3tROblT9X2kw2m5y0tpnkrFl0Im2ERzz/5rdSfGrTfsiJXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704459322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CRRO7W7iqKcfYa4/m80SPS/6LEuIAtboU69xfLzE5LI=; b=MvNjEvUw6K46OgpXgwk0xz0P5Kv6GyXOkG80zePM5wuyhnqMvYS0O/DtexnTHnNj7PvECx Uflytg/alv0mDgWNksW9o9ZlzuG9lFJnx2+WoOpl2FzUUeFSyd8qOASfyp9YoN/ZTqlzGt Ze8W2NBIs1oPzf6OlU+5wHu1DgpSc/0j1R3MlgjU6XBxkvbGnMmlrqN+CTBLGcGixsgRhP ZyuWuv0W9xMqQsX61hhc0nswuyTyNSliCSdFg7Q3Vc1Be8Mx/om3QJeibSFZkthrhWfI3U sHs8Ghdk7ydiKxuXl0lcD1U9I0J85K0p/HhTQc70QpKp3XdJnJidLU1F5EcZyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704459322; a=rsa-sha256; cv=none; b=xvNAZkRARDTghxqUMPEl+lgnJZEeiJNF4MV3Ig/n6wvhu9KFkbaJq5H4TPU9m/PUevfDL4 S1SnEXlEckzfgLWIq5Jna3f+IOOF+t7N/kEfIU3UOXjcD3ao4aX2DvjyVMwTgsOfgS4vD9 rJ9oj7Lqw1MCOXsU5uF9FfEyjyEFa5qZJuMLF26UOP87lbUrK4ioYbLTNZOmenXDgiLmdk MLbBmR/ieZXw5yfaRZjRRsbsHAdO5ZnivA4nPjjb//OJNRpns+qdgphIz3ZiJ3AZPVQNRm CKpps1oUXGlMkrwHBrgGdZJNQdZAbSjzHV+OCEkGvf16ZHfjCuFZZ1U98iXabg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T63Ms6SLqzyHl; Fri, 5 Jan 2024 12:55:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 405CtLx5084594; Fri, 5 Jan 2024 12:55:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 405CtLfm084591; Fri, 5 Jan 2024 12:55:21 GMT (envelope-from git) Date: Fri, 5 Jan 2024 12:55:21 GMT Message-Id: <202401051255.405CtLfm084591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 9fd978680db6 - main - jail: add security.jail.mlock_allowed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9fd978680db6495180a4d46f76529d344b003c80 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9fd978680db6495180a4d46f76529d344b003c80 commit 9fd978680db6495180a4d46f76529d344b003c80 Author: Baptiste Daroussin AuthorDate: 2024-01-04 14:09:44 +0000 Commit: Baptiste Daroussin CommitDate: 2024-01-05 12:53:57 +0000 jail: add security.jail.mlock_allowed when the parameter allow.mlock was added a way for jails to check if the parameter was set or now has not been added, this change covers it. MFC After: 3 days Reviewed by: jamie@ Differential Revision: https://reviews.freebsd.org/D43314 --- sys/kern/kern_jail.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index abecc9ac8072..0ae1d9a02f60 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -4436,6 +4436,10 @@ SYSCTL_PROC(_security_jail, OID_AUTO, mount_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_MOUNT, sysctl_jail_default_allow, "I", "Processes in jail can mount/unmount jail-friendly file systems (deprecated)"); +SYSCTL_PROC(_security_jail, OID_AUTO, mlock_allowed, + CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, + NULL, PR_ALLOW_MLOCK, sysctl_jail_default_allow, "I", + "Processes in jail can lock/unlock physical pages in memory"); static int sysctl_jail_default_level(SYSCTL_HANDLER_ARGS) From nobody Fri Jan 5 14:22:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T65Hz5pKTz57C8Y; Fri, 5 Jan 2024 14:22:07 +0000 (UTC) (envelope-from olce@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T65Hz5K3Lz4dpQ; Fri, 5 Jan 2024 14:22:07 +0000 (UTC) (envelope-from olce@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704464527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=I/ar81L9MBaFmeo9CZAe5hICKp9fiBJASznnSq4WOfM=; b=n0xswhyVZQkF8+9aThslsdfCsAVzKYXq1+75kI232fJ/yZgcGyMuvVpwqyrRdfMVXpn4uE Ts0YFZ5QUTQaHs0Ugop6Z7iUAJdjd26TqpW8z7in6m25kSLR1YFhRxOIEBHVAE82Bf1Rst rha/CFvsYRFHYqokPl3iUf9etDZfSIQRqFSPIwnN1kwCjYE12NVdzMFXRFzAIlK/KCp+OR 1lCqH6/t6ltiikGZ37zEu5XArzRRtcEEq9iOM8IdjU9hCV/R7BsSMTd43zEEZnbsbUKs2/ MQwuc7/3Joo5Ubgq2dOf6QrDE9ciy59/ymlu/sTt5zOOIJfS5AynFWFRwNEk4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704464527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=I/ar81L9MBaFmeo9CZAe5hICKp9fiBJASznnSq4WOfM=; b=Am9vqlRlyYUg63tLsQL7uiPTk8raK88+Bu47UDWm3EqoQx70iea+98z3CEAETdCUzbMg9O 5LmHCAbQRtKws/P6iJFDgaoECN/EK2r7zt+3GpXchk42Mu+qm6r/y59jIsiKYevryOpsy4 WRSRhuuqV2tCFDqbmp4kQZUzdGN3JAM4rBHMh/Ry0+6weA5bI330RTgZlsBNO+KPOlfWW1 Sd8D45rLlMF2Cp0PJS2mPjfDtdTtmnxliP6zyyGZaeIsDPpH9EgxhHN2FSwnlg5pq55U68 7UdahUIxNufgifJYhv+8uemKjIlp8EQEQ/xXcqaRe2rO2wgZE5D1q/VbHL2SMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704464527; a=rsa-sha256; cv=none; b=EXD2GM5AR4fPop8QMSmCsrWAXH4xGRnjG0OmqDNk1nnkTcTIU8jQ6BPHdFuuUIL8woV+um lF/JjOEKUVCA5+iE2ttkLBa4HIB76nDyOsinnhlSKKiJh8BBnlUDg1pKd5qMgK8Rix6lBT PEKgsrMjdtAMsrw060jjaa6uYDUuzehFeZHHRaD2Gw8Zb2pf8RJoz8xYno/9T8hEupaTN9 nCe3xdG3UTY4iOaVXK1g1IZzaWYY8eTFDbN7/yB+hru3l0bSrZ4NcKN4KwWBgXHQwr7aMh /74PaD3K3TNy7E6MQ3GrCeISGnbfI0OBE+ux1YxUuFooQ1RDMlm6XdJaXJRQUA== Received: from ravel.localnet (lfbn-nic-1-525-172.w90-118.abo.wanadoo.fr [90.118.140.172]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: olce/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4T65Hz0btQzV4Z; Fri, 5 Jan 2024 14:22:06 +0000 (UTC) (envelope-from olce@freebsd.org) From: Olivier Certner To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: bd61c1e89dc4 - main - libthr: thr_attr.c: Clarity, whitespace and style Date: Fri, 05 Jan 2024 15:22:04 +0100 Message-ID: <4872425.Cjmsv3J8Qz@ravel> In-Reply-To: References: <202401041044.404AiIN0046997@gitrepo.freebsd.org> <2782916.iL6vRArjjl@ravel> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1885913.vR5SVPPSqJ"; micalg="pgp-sha384"; protocol="application/pgp-signature" --nextPart1885913.vR5SVPPSqJ Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="UTF-8"; protected-headers="v1" From: Olivier Certner To: Konstantin Belousov Date: Fri, 05 Jan 2024 15:22:04 +0100 Message-ID: <4872425.Cjmsv3J8Qz@ravel> In-Reply-To: MIME-Version: 1.0 Hi, > Also we usually discourage plain style changes or tweaks unless they are > preparations for more substantial change. Yes, I'm aware of that. It's a fixture of most projects, and generally a good one IMHO. Besides D43006, there will be several other changes to 'thr_attr.c' (and to 'libthr' more generally). > Can you show the place where it happens? Because the canonical style is > reverse, non-bool values must be explicitly tested instead of relying on > the implicit conversion to bool. I was referring to D40626 and D40642, but it may be considered a different situation because, there, an integer, whatever its actual numerical value, is used as a boolean flag as a whole and there is no '&' to extract a particular bit. Please have a look at the small series starting at D43327 (up to D43330) for the modifications you suggested and a few additional ones of mine. Thanks and regards. -- Olivier Certner --nextPart1885913.vR5SVPPSqJ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCQAdFiEEmNCxHjkosai0LYIujKEwQJceJicFAmWYEIwACgkQjKEwQJce JiezGRAAhegMijLauFoK/gPL9JV+/nesiusddm9J9Sk+Y7WdusscK5J7eUjwMsQX WpBJ3L3kUHiP7bGCKb1MLN14nSH/FKCxIFFCwq8/eYeM74fFZijp3HWDlNSKD+TZ q7DGSjrXbLR2UyzfspeYCG9J6qS6fYc3lKI6zRB6aI0uAKRNizdoL4e8bsb1YgcU lBPMyao/M9vUufPrOcFBApt8BKeAXiudOjs80MKno6UjfDuXQHx/LnKekHZfpPg6 WTTZJIoV+pDDG5r3fDAioz9P0cp5vaLrxcZU7qH/PSEZsgtlSl6725I9cmlF2/hw btZ4eajBeFUX3di+yfmOfp677VP+w9TJZMMkQOb1s8Jk0BexqUCerZPy9E3FKn6P H5E9TKlqEKoUlKAyM4hShBwfE92tuNp23D0e4EhBi01mz+caFIf5g98WQKdgnHhC mrM+7oUOLX3gVkoy3ddD2Jyr8SUlHTfQ7LhDGxU1pHWagzxMalH/RK/VzIoDbQjA qcLVM3Xg0RLseRD9wuzmvkBZMiWvSzaN+O4nPFyUB6KcppYr4XyvH001/UWtcnfL HOHKgQeTLa1bj1phzpznSKBt8fIxCjqhst8BFZKFnfwSpqFHIEhBDWd0J2Pqz8mb +3tjr4LRJBX48rhdzENLAlt/QN5UUEZSCVvApBsVPi0/pQuj35Y= =I0sI -----END PGP SIGNATURE----- --nextPart1885913.vR5SVPPSqJ-- From nobody Fri Jan 5 15:55:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T67MC4QWMz559nP; Fri, 5 Jan 2024 15:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T67MC2GQPz4sLb; Fri, 5 Jan 2024 15:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704470103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m4/CJKUM/yZWDbAfWbXve7yO7TIAeXdLqiG4SmXJOCE=; b=oqUgsWAZYTjNXSDgCxjuuqxSh1udRZRJ/WVJS4TY6HDHzUA2RZ2wNCyW5ThotTHQNSChsA 9tgU4s1Xwefw3jwsMdGUXMwNvK/LedPoP7HhfuOOI01RFxBFXst0C01XVRHKFGBb5iUGAd vyDSayyAs4emWidFFhdN5Rat+nhQQAY93nPHdbmG7KYwMPOPcRhKgW3PyyczXSifBonstE wWluhy6+LifDhK24OiT5M8H2Y/EBycNZkOZL7AS7JFgNbDPZSN1+v09HcesxWuUvlfoDhH xY30cAGzP3ycRfuvgQjcFtLBNiH2LAYaidAXfdnGkOIS4LlAKPr7c7v/6c3hbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704470103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m4/CJKUM/yZWDbAfWbXve7yO7TIAeXdLqiG4SmXJOCE=; b=LPtNa2rlND8rsoHxpaQlAPtzXWnGjKyscb7uW2F9KU2kV+aLc14eu1RADYH/V+yBJvC0lD wMJRgDgc5sbGjGYj/brsWv9K5xpevkucAsmsnq5nf0Z5RQsHECqb+YLMZNjrSJRHj8i14Y 6oaFql0jICfy88tsWRzz1rTGlDJW9Tuf5p3jPt2or68XeMoWsiaXBl/SFaoVTQ7RcfdMcM nuAqHiQLgWG7rvwPFLEPFGUj1aHb56iESIyozq+Rfafe4wJ3czC4qEB5y7P93N/uvRQkaR jCQxnZ34mvVBz7Uq+zD3L5YkqQ5JzqpzdcM0vt5YPlMXkXW+75QKpCmAyc6jhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704470103; a=rsa-sha256; cv=none; b=oI0rTNGclw/rLILt0xYFPei/bNDFlqzDb6BFzs9VQeP5S/My+Jcb1OstdUZ9h5VzhzI/uI sAQ76cwF/ROAJGsAWZ1iOLRxO+BE1KA3sbDpmRcZRf5pLWnLeBjxqahT2zmz1Y2RhBuQgj NNUnSgzUpOPZ7qNO65AK3YGKFVj5eIRyfPPzNuYaAw4QzBn5N39edj1heiQ5sG+qJdUUpG fL1LsFOngdvdf3BUoYwy1V4Xz/NmVl2BFmwuDN2w7IgAJetj2hYeiGK00FHiX5X6xddDRs ep3w/fhSA6DhtsV8zBRBiOYDu6bZAbYlheBym+NFHIDmuIV2yB8qH5PPDkl+Dg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T67MC1DN8z143n; Fri, 5 Jan 2024 15:55:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 405Ft3YS090298; Fri, 5 Jan 2024 15:55:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 405Ft3KL090295; Fri, 5 Jan 2024 15:55:03 GMT (envelope-from git) Date: Fri, 5 Jan 2024 15:55:03 GMT Message-Id: <202401051555.405Ft3KL090295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 8ec6d7be2e27 - main - kern: console: make /dev/console backing console more predictable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ec6d7be2e27622b8b9e192b4da9ce88a4118636 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8ec6d7be2e27622b8b9e192b4da9ce88a4118636 commit 8ec6d7be2e27622b8b9e192b4da9ce88a4118636 Author: Kyle Evans AuthorDate: 2024-01-05 06:09:31 +0000 Commit: Kyle Evans CommitDate: 2024-01-05 15:52:29 +0000 kern: console: make /dev/console backing console more predictable Specifically, altering the console list with conscontrol has some weird behavior: 1. If you remove the first configured console, /dev/console will become unconfigured 2. Any console added becomes the /dev/console In a multicons situation, #1 is clearly a bug and #2 is perhaps slightly less clear. If we have ttyu0, ttyv0, then it seems obvious that one would want ttyv0 to take over the console if ttyu0 is removed. If we add ttyu0 back in, then it's debatable whether it should take over the console or not. Fix it now to make the /dev/console selection more FIFO-ish, with respect to how conscontrol affects it. A `primary` verb for conscontrol(8) might be a good addition. --- sys/kern/kern_cons.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/sys/kern/kern_cons.c b/sys/kern/kern_cons.c index 462cd0c45758..d4a858cb12fd 100644 --- a/sys/kern/kern_cons.c +++ b/sys/kern/kern_cons.c @@ -239,15 +239,31 @@ cnremove(struct consdev *cn) { struct cn_device *cnd; int i; + bool primary = true; STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) { - if (cnd->cnd_cn != cn) + if (cnd->cnd_cn != cn) { + primary = false; continue; - if (STAILQ_FIRST(&cn_devlist) == cnd) - ttyconsdev_select(NULL); + } + STAILQ_REMOVE(&cn_devlist, cnd, cn_device, cnd_next); cnd->cnd_cn = NULL; + /* + * We only need to select a new console if we've removed all + * consoles or if we're removing the primary console. + */ + if (primary) { + struct cn_device *next; + + next = STAILQ_FIRST(&cn_devlist); + if (next == NULL) + ttyconsdev_select(NULL); + else + ttyconsdev_select(next->cnd_cn->cn_name); + } + /* Remove this device from available mask. */ for (i = 0; i < CNDEVTAB_SIZE; i++) if (cnd == &cn_devtab[i]) { @@ -356,8 +372,6 @@ sysctl_kern_console(SYSCTL_HANDLER_ARGS) error = 0; } else { error = cnadd(cp); - if (error == 0) - cnselect(cp); } break; } From nobody Fri Jan 5 15:55:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T67MD4KK4z559kq; Fri, 5 Jan 2024 15:55: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T67MD34F7z4sNr; Fri, 5 Jan 2024 15:55:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704470104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Akq7ibO9UxuYyrZfb5Ljix5kAkGS9MZPY+wHxU1PWnY=; b=KceQxJjwbVAsxObBsM0Ub124YYrPgNW9JxyUWSA2lFBjLuL1ysByMGeAJb9mpBxxwljXsR TdZ1cKb0dbADHaRwZ0dP4oGQJxnngJNsjeMsjIQluhpKwqdws+PAGSQqSXVlK/4FVrjnuM UCiG1NSeH1tVD73PVHQcmhD48IpypsuVIcU1uSqxNu1o4+Bm0nNtTko+HWTqFnxCgmWk6j ugaQnVrLk5WXSNYo8QMUFByppzvGgVUeJ/QGrhh0XydVCl7VL0Qd+pfFH47YBQYVjNyMGM qhnNt3r741wX1JgXt5aw4FMePVYZa/n9nPO5SSkS089IAggAAkFpYnrMj2YDwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704470104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Akq7ibO9UxuYyrZfb5Ljix5kAkGS9MZPY+wHxU1PWnY=; b=ZhXe8V2mgOuSBCjg8iGuYT/kPfKsbWsKiJhUohJaR4jahaIaKoYAF24oibwBa8ml//178E YQQTVFwrge/qNHStgQefJlNO7lRPFEMSKgxRqGyLtBLBumZits8ApE6mTm6kTrW4zX6y2+ GM84QxbRvDE8R5WhARwTZnIGFlOdbe2MzX0r2YGr+MYC3DbWsedxQMu6RGYIdv4m+uleN+ wHgyfLdX8Qxfji42DPN7Yakt1lnWuwgKekG/g5mMolv2TG2l4h6uijLg3xWt/Op6s9coux eyMoAqXBb02z8A970iAe9abDAmDvL7tLxaD7V+eA+qtYgkF7rPz0Big2gLT2Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704470104; a=rsa-sha256; cv=none; b=Cb11bAAKWyhqiBoXOyqS/gNxM3EM46FDb9ZKSxuBBt7HBtFh/mNU0hzlbaIkHXlAg1jQCa tdUyLGp8A/N4L9Ui96qLmgHxyzVAm7Qd96MSZipbnU2AuBz/ZT38JT0eX/SlqCcMzvjzWH UQPsU6yPq/8HoM0y/OR+rISIUi7Djqf/qvsd3TjpA1AeddRglMgCPGEBjlre2BrW1m63Ew ZnW6du3v9+gaJdy3TvhF5m5/iquU/P1Vv6mF+xnkAOWr6cmubaifrd0D2QU1ulIm4/sDhK 7D7Aw5jbWnzfcB7xE7H8RZJb6HR8i33UjVungurYtW89UCzycruhZjZjdDR6PQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T67MD28J4z13s3; Fri, 5 Jan 2024 15:55:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 405Ft4SN090337; Fri, 5 Jan 2024 15:55:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 405Ft42A090334; Fri, 5 Jan 2024 15:55:04 GMT (envelope-from git) Date: Fri, 5 Jan 2024 15:55:04 GMT Message-Id: <202401051555.405Ft42A090334@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: f9b17005bf8f - main - bhyveload: fix comment style List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9b17005bf8f1a30e2a74a3e66c92e34aa87f9bf Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=f9b17005bf8f1a30e2a74a3e66c92e34aa87f9bf commit f9b17005bf8f1a30e2a74a3e66c92e34aa87f9bf Author: Kyle Evans AuthorDate: 2024-01-05 15:53:14 +0000 Commit: Kyle Evans CommitDate: 2024-01-05 15:54:46 +0000 bhyveload: fix comment style Reported by: jrtc27 Fixes: c067be72e83 ("bhyveload: limit rights on the dirfds we create") --- usr.sbin/bhyveload/bhyveload.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyveload/bhyveload.c b/usr.sbin/bhyveload/bhyveload.c index 37338e77d621..4f16f58bfc9f 100644 --- a/usr.sbin/bhyveload/bhyveload.c +++ b/usr.sbin/bhyveload/bhyveload.c @@ -891,7 +891,7 @@ main(int argc, char** argv) * bootfd will be used to do a lookup of our loader and do an * fdlopen(3) on the loader; thus, we need mmap(2) in addition * to the more usual lookup rights. - */ + */ if (caph_rights_limit(bootfd, cap_rights_init(&rights, CAP_FSTATAT, CAP_LOOKUP, CAP_MMAP_RX, CAP_READ)) < 0) { perror("caph_rights_limit"); From nobody Fri Jan 5 16:13:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T67mg42xbz55DCh; Fri, 5 Jan 2024 16:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T67mg3Xhgz4wSt; Fri, 5 Jan 2024 16:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704471219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=foB9MfoEpd40uF6JhPVXHIuSerHNiOVSXuVg/UvX3bE=; b=kv9aIpsD4pJglJ3YX4qF6xqwdaDon63Xrh2ZXUj0CqAgjWWVKiSd1H2+DdJOZ2NKsMVu8i l/idTCvJyJ3RS1PEH0dQ4nzJ14Sxyq18YLXc+BGANCVePbrj1lNOiMpXhp1Aja4taFck5E /NG8fyXNALi3bpmpIojtxuP8Bp8qoD0znehVZhv2ZU31POPT5a6oURoQtXLJ4W8gHYxkVh 1XOoPPHepK95pcb/hTs6l9IrRORoJSceQNsD6er8WnxPZR3yVw2dkj10as0nxXd8LBm/R2 Bgc+PmrYQEH5JbaKV5zCXTzcgQ4ouqbzJj7S04gPbYzNtkPA7KvqqMIlrL0m1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704471219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=foB9MfoEpd40uF6JhPVXHIuSerHNiOVSXuVg/UvX3bE=; b=ueDDdEJGHFC+gqa6DWzeuhSEU5rplJnQinypKc+dex8CVUIeAc9o3ePBCII1M59UFcZC/e VHBp0Mr4No6z2mQZwq7Dc95lpZ/Mhn2xQaw0/QTmoNRBmkOLBTrk7KkY3NeGyJvW0a72wU B5Jq1kcu3HFtETsjEQFgZB4dr5LqcSnRU2Rref+XI+V1iteQPQZoOcFHbBpBwP3yplLfXE eKx+8xKGAYfL6ty2QHzz9J2pvvq/tSeeIIPe+Jy2G16mvaezsRPELX66tXoAL8tKHGb0vl vQeKn/kcq/C7Vf94y0pIAgZCvlqdN3htrKBrLVEZjRPr/WB3ptl7eR0YHNyaxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704471219; a=rsa-sha256; cv=none; b=O3uqMa5Q06bf25jV6ldlrTdprV8Xkub27c9uACju1/D8LEpvsOlSJyyWXZePqn1cPDlDJZ LbP5q1Xyu/QG7uwK+FPtPL/ZpEDLaT+YwKnXp4q71K6AF4GAD0U+SHQb5Kc4Dzie+xe46y kdDiuNs55G3BXbnQX6m3yAr9LVa+L+iIfbKqpvs5Jpjz7BlLdiHo63I4fX/lOCOt2G5Y55 /Lww0w9vKckiN4SS/qa6XF8g+kvNxaWxZhikF4xmlr+sza3cgnUvjsCp7Hjjp8YUzbCnrL i1ve3YMuX8VijHDUgRMTRvWLcdJrilG5JgYcrrFj/ml6kJgnUtpuBN6sv9JbEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T67mg2cNHz14Y2; Fri, 5 Jan 2024 16:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 405GDds1025051; Fri, 5 Jan 2024 16:13:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 405GDdA5025048; Fri, 5 Jan 2024 16:13:39 GMT (envelope-from git) Date: Fri, 5 Jan 2024 16:13:39 GMT Message-Id: <202401051613.405GDdA5025048@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: a68d5a66258e - main - Revert "kern: console: make /dev/console backing console more predictable" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a68d5a66258e953ef6ccdbdd82e89572a3cc04f9 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=a68d5a66258e953ef6ccdbdd82e89572a3cc04f9 commit a68d5a66258e953ef6ccdbdd82e89572a3cc04f9 Author: Kyle Evans AuthorDate: 2024-01-05 16:13:06 +0000 Commit: Kyle Evans CommitDate: 2024-01-05 16:13:06 +0000 Revert "kern: console: make /dev/console backing console more predictable" This accidentally snuck into a different branch, and has not been reviewed for sanity yet.. This reverts commit 8ec6d7be2e27622b8b9e192b4da9ce88a4118636. --- sys/kern/kern_cons.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/sys/kern/kern_cons.c b/sys/kern/kern_cons.c index d4a858cb12fd..462cd0c45758 100644 --- a/sys/kern/kern_cons.c +++ b/sys/kern/kern_cons.c @@ -239,31 +239,15 @@ cnremove(struct consdev *cn) { struct cn_device *cnd; int i; - bool primary = true; STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) { - if (cnd->cnd_cn != cn) { - primary = false; + if (cnd->cnd_cn != cn) continue; - } - + if (STAILQ_FIRST(&cn_devlist) == cnd) + ttyconsdev_select(NULL); STAILQ_REMOVE(&cn_devlist, cnd, cn_device, cnd_next); cnd->cnd_cn = NULL; - /* - * We only need to select a new console if we've removed all - * consoles or if we're removing the primary console. - */ - if (primary) { - struct cn_device *next; - - next = STAILQ_FIRST(&cn_devlist); - if (next == NULL) - ttyconsdev_select(NULL); - else - ttyconsdev_select(next->cnd_cn->cn_name); - } - /* Remove this device from available mask. */ for (i = 0; i < CNDEVTAB_SIZE; i++) if (cnd == &cn_devtab[i]) { @@ -372,6 +356,8 @@ sysctl_kern_console(SYSCTL_HANDLER_ARGS) error = 0; } else { error = cnadd(cp); + if (error == 0) + cnselect(cp); } break; } From nobody Fri Jan 5 19:41:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6DNm6Gv3z55jQ8; Fri, 5 Jan 2024 19:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6DNm5JqJz46W0; Fri, 5 Jan 2024 19:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704483704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GYcihkG8yQcSpNa2J/a1XSNP015knD3qJhROYM+TmmE=; b=AQqIe6kQDyXg2CfMynLvCrZKNtXoUbVTRIspXKmt7akCfbbqLY4PWTFhosJOtAFvwGB74v jP6tRobF3k8cxBOtyWK7plt0qzTgXujs29Rh0gJLiud60oYNFDamQIlFlmBXjpynm36GWH obDu3eAQTHYcYv8YoE5iwvqMW8sSTswGzfdNxSFowa0XkRFrlEBE9Hr5+aJ/8W4Mbc7Ug3 u0VvgIErWqNJPWQd7wwfihAeRx+F3RkSaGb7mWLr324BHvdIP3tXzC6V0Nccyk5kWbmvJy 6qUvy/8RI9Js4bHdUM9z4hEoqCKa+B5BFAQ734gW478+IfbLsdGQGfQJhyJycQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704483704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GYcihkG8yQcSpNa2J/a1XSNP015knD3qJhROYM+TmmE=; b=tTkoHCI7VWxCmwXyaGXrTPL+XphK/FzK5GIv7Tr/otpO7pnp0in5RGwES5np/40NuCdhaf CCNLOZfEurbYRYt8V/k7oyI7wxNF7JNbfhpU90ZRKCTmNU1n1llwQKFOfKBRZtqQPuzSUe 2VZV20mZZNw/uzwLXmTpJkXj3ZLOR0RWrqD/9tPd+FpXB1fA8Cvt0TGRoSe6Umk6A9LgIt EWmoXXxs2IjJ+HE/UZbk8qDuIBKPfCgp87sAQ1dFNOTYFTbNf+3McnyINnAoI46MHS/uPO aJ5ZDXt3cxwHz/WbKEMxAQXzGknlRd/Fhi5h9OGyYL5PwWnHHrhWZVM/HjTyyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704483704; a=rsa-sha256; cv=none; b=yZD0oVz9BG+r+PBNqJ/hSa0IKHF/4FVi+aKOMNJtCCJ6gByMmwggw81+apgMbZSLw9gq+P l2a49hyVD2VcphDgHwobSHTbhuRRfkD2iysX1SBAcMc5AIMX+du2o0/DnTb+7YeN3/mWlh ACkDOwvKcfqmZ9vl41KDhghBXGGDiJdeI3hPmtoQVWx46qQsozpB59tRZ3QNBM2VqZi2f4 Vaeu5poumq1jGTmpMwsKGmnHuHpoRN/Y7DhRTihq47lcDLMcSH9x4jfpoX28EytE0WF1zH 48StJdti0JhqB7L6DSdZA3aL/BkMsXeqkbT7dlz1dlTDT6PVfnaZCIkgGbOjJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6DNm4M4Fz196T; Fri, 5 Jan 2024 19:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 405Jfi8H074118; Fri, 5 Jan 2024 19:41:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 405Jfinw074116; Fri, 5 Jan 2024 19:41:44 GMT (envelope-from git) Date: Fri, 5 Jan 2024 19:41:44 GMT Message-Id: <202401051941.405Jfinw074116@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: 4347ef60501f - main - arm64/RPI: enable powerd by default on arm64-aarch64-RPI images List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4347ef60501f2a55ad31f7532ad903b81f3af18f Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=4347ef60501f2a55ad31f7532ad903b81f3af18f commit 4347ef60501f2a55ad31f7532ad903b81f3af18f Author: Mike Karels AuthorDate: 2024-01-05 19:41:24 +0000 Commit: Mike Karels CommitDate: 2024-01-05 19:41:24 +0000 arm64/RPI: enable powerd by default on arm64-aarch64-RPI images Most 64-bit Raspberry Pi models have a variable processor clock speed that defaults to a slow speed (e.g. 600 MHz for a nominal 1.5 GHz clock). This results in everything running slowly unless or until powerd is started, and FreeBSD is then thought to be slow. Enable powerd by default in /etc/rc.conf on the arm64-aarch64-RPI images. Tested on Raspberry Pi 3B+ and 4B so far. PR: 256836 MFC after: 1 month Reviewed by: rgrimes Differential Revision: https://reviews.freebsd.org/D43296 --- release/arm64/RPI.conf | 1 + release/tools/arm.subr | 3 +++ 2 files changed, 4 insertions(+) diff --git a/release/arm64/RPI.conf b/release/arm64/RPI.conf index 4f668cabea77..1a36a3af521e 100644 --- a/release/arm64/RPI.conf +++ b/release/arm64/RPI.conf @@ -17,6 +17,7 @@ OL_DIR="${DTB_DIR}/overlays" OVERLAYS="mmc.dtbo pwm.dtbo disable-bt.dtbo" PART_SCHEME="MBR" export BOARDNAME="RPI" +CONFIG_POWERD_ENABLE=1 arm_install_uboot() { UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi-arm64" diff --git a/release/tools/arm.subr b/release/tools/arm.subr index c7beb6692f7a..2a3a278fbee6 100644 --- a/release/tools/arm.subr +++ b/release/tools/arm.subr @@ -224,6 +224,9 @@ arm_install_base() { echo 'sendmail_outbound_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'sendmail_msp_queue_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'growfs_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf + if [ -n "${CONFIG_POWERD_ENABLE}" ]; then + echo 'powerd_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf + fi sync umount_loop ${CHROOTDIR}/${DESTDIR} From nobody Sat Jan 6 04:57:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6Sjr0GCBz57Fpg; Sat, 6 Jan 2024 04:57: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6Sjq4h9Lz4Lxh; Sat, 6 Jan 2024 04:57:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704517039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7E6XREmSdZLmiJJJsjyIpzUOevffrfq5KcGLtTMhnXc=; b=o/2B6xYf1ukj5pT2db7YvuIF3/EyHySrh/wfzXERbyqyL3adm7JOPB0IWaSkpuBeebnyHv aByVBYAK4X9LGEFThbTyRGYpBPEDunqzOu3b+cNNMryhdXKR5gnvgy8ET4m/2GCRxOtqsC q1b4GjGnz7lcxPwjHzXmn4jQSJVkOl8jQxL5nOMbvX6pYiXpf2IZ50WoRdFlwg3JulEjaH vtkf8oB2x2Eba9Wf29FStbCIVcQlscMY0Ylpi7LM5uYpkhc9t55ndfEKyGvdq3T2xUWlIJ q5PuDAjg9klNl13gAndrXu/ul2Pl0uOdHKp5MvKGvmaItEiEgpbLBSr3vmUOFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704517039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7E6XREmSdZLmiJJJsjyIpzUOevffrfq5KcGLtTMhnXc=; b=PJXrhYt1U/dNdCg1Rn6d+vEce0RoQ5/uzaNVriVWT2+vizAUvmEhGdntPQIKsVnJNNRS5P yPDuq/LUIY7FaOcRvyZmAelBF4kB4fSCUmdkveHrosKYF87mqsGD6LvSoLAjEyIliQ5Khs rC6ix665WlRks+phjdN3F/3bnPS20YG5Z3RD0mqXZkObbvgfRoIi1cT4I45odVwAxtQYKk MB/+VBsQ0AVgqp+7J6hcEt+bsxY6aPOOShcB0JHCsMxvxvbWalD3ThoW8sd6rFhwlYmIRx up1KxBR2V0GhoV0QulxpSSYh6yEd9cvA4EgTTb37u7DhqrPBk7IAxoaQvM+bXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704517039; a=rsa-sha256; cv=none; b=MCgVHiwj+Ld2KZJyen7hMlHakh3D3aMscTQs/78dVYePuKp2VtTO/UwRqZ8QP6UDvhN7Pa jPzkeJo/CAzoscM/+M9c6xszAf96TJhWG08d3jEZC3vixF3vdGxdUdg3GLHyqp5cLkLyA4 8WGQ24LMpffp+gnXmoDkKrl4rSP1oP0tQwdNtaSlyTxcHFWlCTRleH3XsOgegjNgki0/P8 zlJ9p5KQW4G1NaZagrfEQzQz4roHHmC8riyR/9oNFT0P6mpPNRaXCd7Pcl//CCxHwSl35b PQMGvMGw+dk74yCWJXyGqvNCse9d4/ngKadXFUBIufksN64phcB/xSohNu6L1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6Sjq1dCJzRVV; Sat, 6 Jan 2024 04:57:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4064vJ4p002349; Sat, 6 Jan 2024 04:57:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4064vJbk002346; Sat, 6 Jan 2024 04:57:19 GMT (envelope-from git) Date: Sat, 6 Jan 2024 04:57:19 GMT Message-Id: <202401060457.4064vJbk002346@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "David E. O'Brien" Subject: git: 6f55a4e24c94 - main - timingsafe_bcmp(3) was MFC'ed to 11.1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obrien X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f55a4e24c94195240e6806e612956f33ae1600f Auto-Submitted: auto-generated The branch main has been updated by obrien: URL: https://cgit.FreeBSD.org/src/commit/?id=6f55a4e24c94195240e6806e612956f33ae1600f commit 6f55a4e24c94195240e6806e612956f33ae1600f Author: David E. O'Brien AuthorDate: 2024-01-06 04:52:37 +0000 Commit: David E. O'Brien CommitDate: 2024-01-06 04:54:13 +0000 timingsafe_bcmp(3) was MFC'ed to 11.1 --- lib/libc/string/timingsafe_bcmp.3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/string/timingsafe_bcmp.3 b/lib/libc/string/timingsafe_bcmp.3 index d3a4ce004757..52c7be7410ef 100644 --- a/lib/libc/string/timingsafe_bcmp.3 +++ b/lib/libc/string/timingsafe_bcmp.3 @@ -87,4 +87,4 @@ function first appeared in .Ox 5.6 . .Pp Both functions first appeared in -.Fx 12.0 . +.Fx 11.1 . From nobody Sat Jan 6 11:08:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6cy10Pnhz56GfL; Sat, 6 Jan 2024 11:08: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6cy05s1Dz41V0; Sat, 6 Jan 2024 11:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704539304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uX+G5ZwB4BGsCGIdeRSujIrigQcyZfCXeI68ICzsd9E=; b=dpQpdBA3ItNZE4zgJQzkuiCXlqjH5SueDwadnljGDCk5lEnplfpZG/KkW/GOkrPr1UvVyl eFaIW4KBLJ8273C3NfjvnPkFI4VLT2BCoC9HlM9N9mHQJOzZtJo747hroK1M8xNVRP4Tqk Xhb7+yo+eAjUsNJBvyPxuxOgxdXrH7U6/ucvQxhXu3/XhM5msw/sN8QrvgsAB03XAxcwYL WLf/DgHB0jqj1KYe7VV5EBld4bSHXfFVMVQAEcTmVVmOAufPm5mSDkC0/RZ/8dh7WmZ48X GyqHUOTIRGHpNBDUhdsNwRmIqTwZjQeGDvvCZkXrFeGfMn15nle+dLed8PTMPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704539304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uX+G5ZwB4BGsCGIdeRSujIrigQcyZfCXeI68ICzsd9E=; b=TVJbR2VXxkOvZLFOW/zIkRBS6sXmSSWLcSd//pMCTl/Ch8604MMunjfP72EB+s9+bSYwoi 3f5esUxkI576DrgpGsvg+cYnQYQu1660AfbAM9uw+jjdyzUOlUpV941/NrhrZ3vckqO0iQ dhad8ijTnvrVvmo1PKn4s9auZEObhRNL+zg4RO/+eRPGey9yZJjpzqtXDJXNsiZt7Get5C pbGVuAkac253aLoW8xkGPqWTy1WNZS2UBx3KqwXkk26RSL5ZwwzXhkIeKjVOcuptCYN/K4 RhFpwHgWm45xJ/fAsNb/xLQ1K8aS3ca/rzIvDDosF8Br6fU8lRApB+a0t+NPgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704539304; a=rsa-sha256; cv=none; b=tn5cvd2O466vMhNrEXyCdzLxUQeHRGUCOZIDVoJFIEG/y5VHR1BjTPSdr8Mm5HOTGc6Jmp BljkkPBoZg32ywSCZNrtRF4GswYzbrIugn1cunNkBHsSBxp6fHBYTRBFhohRSpxPHd/K4k 7qk+whZt0Oxe79eJiKER0jxTzG4FUoPgO2GiUOFTh8z/cb1XQAEEBPHTkjcxy5kZH/vNGA FP8R9MF2YDE1o5zHqdvks1OmepcEGBABbFb5U9wYlQRZUfbNmnAGPScmJ74b2pfFDM9OOb Rn5ETKKuV35dDLgX2kXq+u9CU/zMQMoN1wo9kgm6IDP7XyquqV9RTtFTfVe7Ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6cy04vX2zdy1; Sat, 6 Jan 2024 11:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 406B8OfI025242; Sat, 6 Jan 2024 11:08:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 406B8O01025239; Sat, 6 Jan 2024 11:08:24 GMT (envelope-from git) Date: Sat, 6 Jan 2024 11:08:24 GMT Message-Id: <202401061108.406B8O01025239@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: aa1223ac3afc - main - tcp: limit visibility of symbols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa1223ac3afc5c2054cde84a73e01a48dc4e8c6a Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=aa1223ac3afc5c2054cde84a73e01a48dc4e8c6a commit aa1223ac3afc5c2054cde84a73e01a48dc4e8c6a Author: Michael Tuexen AuthorDate: 2024-01-06 11:00:38 +0000 Commit: Michael Tuexen CommitDate: 2024-01-06 11:00:38 +0000 tcp: limit visibility of symbols Put most symbols under __BSD_VISIBLE and limit the namespace of tcp_[gs]et_flags. Reviewed by: kib, karels, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43245 --- sys/netinet/tcp.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index 64286ede9575..f9e561f6ce35 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -80,18 +80,23 @@ struct tcphdr { }; static __inline uint16_t -tcp_get_flags(const struct tcphdr *th) +__tcp_get_flags(const struct tcphdr *th) { - return (((uint16_t)th->th_x2 << 8) | th->th_flags); + return (((uint16_t)th->th_x2 << 8) | th->th_flags); } static __inline void -tcp_set_flags(struct tcphdr *th, uint16_t flags) +__tcp_set_flags(struct tcphdr *th, uint16_t flags) { - th->th_x2 = (flags >> 8) & 0x0f; - th->th_flags = flags & 0xff; + th->th_x2 = (flags >> 8) & 0x0f; + th->th_flags = flags & 0xff; } +#ifdef _KERNEL +#define tcp_get_flags(th) __tcp_get_flags(th) +#define tcp_set_flags(th, flags) __tcp_set_flags(th, flags) +#endif + #define PADTCPOLEN(len) ((((len) / 4) + !!((len) % 4)) * 4) #define TCPOPT_EOL 0 @@ -455,7 +460,7 @@ struct tcp_fastopen { int enable; uint8_t psk[TCP_FASTOPEN_PSK_LEN]; }; -#endif + #define TCP_FUNCTION_NAME_LEN_MAX 32 struct tcp_function_set { @@ -542,4 +547,5 @@ struct tcp_hybrid_req { #define TCP_REUSPORT_LB_NUMA_NODOM (-2) /* remove numa binding */ #define TCP_REUSPORT_LB_NUMA_CURDOM (-1) /* bind to current domain */ +#endif /* __BSD_VISIBLE */ #endif /* !_NETINET_TCP_H_ */ From nobody Sat Jan 6 18:20:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6pXH2WPYz56swF; Sat, 6 Jan 2024 18:20: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6pXH1p11z4nGN; Sat, 6 Jan 2024 18:20:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704565215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IAeXYySEzQMf9SI3tlF0Us71eW1Ls2XPY72MntrxnMI=; b=wmhaTEnwxOJ8JzTxPeukVTd13cf7Crlj+gXAoApOZTJMuflurrCDlhK78lLI2Nd2H+G/fh bhs/PtsVoPvtUtKi5yqM5KtOuMf92/KFzBufz6yhwPPl4h5nx5hf7phfscKgUzjhpTjtaw JzS+EdGkCzPthSyHMUjeK+vniCSOaxxoHmhJTgCyqwPgnn7eAmx3g2PiS/5LlxutdwW9eZ mDzPGk3H5kZ3X7KcikNEcyAfgbWtTDHyqujNCJH/BvBsx8ZBp+rQKQ9oFGTvTsYq5jvweH UaiU1AtUBNhfAXw+FEafB7fWhLKdCBj5fvW611P27VtsioNWGr72McUlpWDLgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704565215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IAeXYySEzQMf9SI3tlF0Us71eW1Ls2XPY72MntrxnMI=; b=CYqwPj+56jS0otiUDGXpGlTqskYmpTFsrBYlvG+2DApmOc42B1cIOOkZwkOyRPKHax53gm VJdDctg2P1QndRl21IYY1cCwhQdZDZ0SI385wqp0KzTiiduqX5zEBjxllHr6ndvmoJt3Xh EdQugyCheSkKgcmbyF7EHZ6Bt85nB1fos8mQbWa/7R8P80QJ4Z8lM3pZZF1jPwWn22k1zJ bScx2JIFm8yNoPnSQvq+fVnoRE+AMrMwduofmPlONOwYk0HKR8YycxDmGdN6DMWhg6LvX2 qe/3qz4fW/k4HnwWO976uBzLzY8LocQmj5ChujCxHAOcTj0m7QY7JBY9n8yuXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704565215; a=rsa-sha256; cv=none; b=wx88ELSV+GmmBy0dqIpo88E+oUf2X06iASTuFKckdBxclZcCZCkIE6Sx+LoXPnYVcjGV+O B6A4kRXFukehFEZi3iUcAcxZ8Dlx8dmfxXYv9/FunijrfxbxOw5AMMyDCDaLCiKebo+hMn V/7TaBQDQZ04hkQt9Z0LT7aW+sQpMj9tJh9JuWEDTV7sIODO5OiLhI0yCiO4Zu9kLE7Y1P i2KlExReuDhLgdu9rUNx2GypSDsD3p5ci2xXiJkAx67y/N/V+V+1miG5lC05is/XjHOn3l BHUC/MXV0i7PggXkii3E5TWuI5vnvT1Q2uaODs+jBAJPE1OyhlWIhMBdY5qd0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6pXH0sxJzrwW; Sat, 6 Jan 2024 18:20:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 406IKF5D054170; Sat, 6 Jan 2024 18:20:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 406IKF84054161; Sat, 6 Jan 2024 18:20:15 GMT (envelope-from git) Date: Sat, 6 Jan 2024 18:20:15 GMT Message-Id: <202401061820.406IKF84054161@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: f402e087379c - main - tcpsso: fix typos in man page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f402e087379cf6b2c6045348f87caf69b4ebebef Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f402e087379cf6b2c6045348f87caf69b4ebebef commit f402e087379cf6b2c6045348f87caf69b4ebebef Author: Michael Tuexen AuthorDate: 2024-01-06 18:17:04 +0000 Commit: Michael Tuexen CommitDate: 2024-01-06 18:17:04 +0000 tcpsso: fix typos in man page Reviewed by: manpages (bcr) MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43342 --- usr.sbin/tcpsso/tcpsso.8 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/tcpsso/tcpsso.8 b/usr.sbin/tcpsso/tcpsso.8 index cb51390abac2..36707d6657d4 100644 --- a/usr.sbin/tcpsso/tcpsso.8 +++ b/usr.sbin/tcpsso/tcpsso.8 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 30, 2022 +.Dd January 6, 2024 .Dt TCPSSO 8 .Os .Sh NAME @@ -83,7 +83,7 @@ state can only be handled if their prior state was .Dv SYN_SENT . .Pp .Op Ar level -can be specified as a non negative number or a symbolic name like +can be specified as a non-negative number or a symbolic name like .Dv SOL_SOCKET , .Dv IPPROTO_IP , .Dv IPPROTO_IPV6 , @@ -99,7 +99,7 @@ If that is not the case, is used. .Pp .Ar optname -can be specified as a non negative number or a symbolic name like +can be specified as a non-negative number or a symbolic name like .Dv SO_DEBUG , .Dv IP_TOS , .Dv IPV6_TCLASS , @@ -109,7 +109,7 @@ or .Dv TCP_FUNCTION_BLK . .Pp .Ar optval -can be in integer value, which will be converted to a binary value and +can be an integer value, which will be converted to a binary value and passed as an int value. If it cannot be parsed as an integer value, it will be processed as a string. If the From nobody Sat Jan 6 18:22:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6pZw745pz56sl8; Sat, 6 Jan 2024 18:22: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6pZw6Z3mz4nkF; Sat, 6 Jan 2024 18:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704565352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YF8t3ajGJ5hUcxDaBRh63SNE/kYjv9Jh2cTen1rNQtE=; b=uvULxVd6nJj0bjhtVogpf6AaF6sgW6Rw/0pGfNja1dTL/gDQrITRtT8p6F6u+4rmiOP3f+ aWVuWSmee+IsJc965WO2z8yUvrrUdbXU/zLijqCxUPmy2qYSfOov2D7HR+uvtTYSmY1pZ/ vg/UKzsjcsWJlrcFZGBtEp1z5tgy8TFUfXcvcnMx7sGKwrHJNmpi4HeRFmbQZ6r81I0dUu 7mCvhuRKSjPYOucvs4VyYU1bX+nRruivCJlS8d/LDUqKFIxRseVsFBV9HYKqgMqciRfeGe f47V6Bq2FG6bMBF50MaJiQiCk7lpvjV6yB6uiC6WgzkjE1WEKUoPeq4aHCKPQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704565352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YF8t3ajGJ5hUcxDaBRh63SNE/kYjv9Jh2cTen1rNQtE=; b=B5nHtvSfK2RstncGHFJPJ737zqQZ1x5L4EG/FXW4wVPDUdAshDvaTWxiU0e++MSL5hKK6H EunJtfEsLrr+K8P8225O6hpa4otqbrTJWvYQ6tqOKv93JeaiNXlhpljvdXNi/zqwplDRlR 0boPCfv0hEkR1k/QFwdSgp5a2SRyE4qcKWBJEDu1RKrxTeKp+3Gsrmgv/vAx3LU6sn4M3W U9kH0UdJdnS31A/xQA9NVlCj0XrNzS/cnn8Ph+M+Oh94k00wttfqjBdPmKjSJ0KIAXj8tN +xkQ2xsFtJ91VTD8tcf6q8Lcpiec7h6YxqJtecKgCIwBRJJ8ibrEn21UIxPX4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704565352; a=rsa-sha256; cv=none; b=jtO/0yq4zgZx/S09yNboYhuOh9bEXI+BV33DHSIDuPFW/MjnuzSTqD3wbmzvXEHpMWWrPI AyeNayHfzPaaQXxDkmtwb93KzUnjXQt0jk9GopZyVaHVLITJcmgzjF0UdAzNxVFpqYpc15 qxgmasd4QYmFoVt8uigcrSbDdxyLKYhdodOyc+p+eNOj3W0Jx3uIhIhWsSjdxpLu5wyYko xQYgN/F2OUQzr04gKSG37JF0h3EhWsWfRVGb3Q5PGfV8LrupSU4TGX8ViezBAklbKVtlnm 7qO6KGQ0unX8+mwic1C9GbbBm7qQvx2nV0wbHSe+XvPxcySDbFbjvWnAQtMH1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6pZw5cyWzsGj; Sat, 6 Jan 2024 18:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 406IMWwG063240; Sat, 6 Jan 2024 18:22:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 406IMW52063237; Sat, 6 Jan 2024 18:22:32 GMT (envelope-from git) Date: Sat, 6 Jan 2024 18:22:32 GMT Message-Id: <202401061822.406IMW52063237@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Daniel Ebdrup Jensen Subject: git: fbbdfa2b8a42 - main - nfsv4(4): mention the nfsv4_server_only setting List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: debdrup X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fbbdfa2b8a42444c2c4de00e43f14499adad8a70 Auto-Submitted: auto-generated The branch main has been updated by debdrup: URL: https://cgit.FreeBSD.org/src/commit/?id=fbbdfa2b8a42444c2c4de00e43f14499adad8a70 commit fbbdfa2b8a42444c2c4de00e43f14499adad8a70 Author: Lexi Winter AuthorDate: 2024-01-06 18:12:02 +0000 Commit: Daniel Ebdrup Jensen CommitDate: 2024-01-06 18:21:25 +0000 nfsv4(4): mention the nfsv4_server_only setting Add note about configuring the NFSv4-only option. It is already mentioned in rc.conf(5), but documenting it here makes it more likely that people see it when they need it. MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1008 --- usr.sbin/nfsd/nfsv4.4 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/usr.sbin/nfsd/nfsv4.4 b/usr.sbin/nfsd/nfsv4.4 index 1377461c1348..aacb85c78ca2 100644 --- a/usr.sbin/nfsd/nfsv4.4 +++ b/usr.sbin/nfsd/nfsv4.4 @@ -208,6 +208,14 @@ if the server is using the ``@'' form of user/group strings or is using the ``-manage-gids'' option for .Xr nfsuserd 8 . .Pp +In addition, you can set: +.sp +.Bd -literal -offset indent -compact +nfsv4_server_only="YES" +.Ed +.sp +to disable support for NFSv2 and NFSv3. +.Pp You will also need to add at least one ``V4:'' line to the .Xr exports 5 file for From nobody Sat Jan 6 19:44:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6rP16mYgz572tY; Sat, 6 Jan 2024 19:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6rP15ynYz42FZ; Sat, 6 Jan 2024 19:44:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704570245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahBFfPebpyMzYR/3lA1918mpMLgn5alXBofHOIvKS7Y=; b=HnsRvGXnSQD/bekQMDpHF6z5AwWaFGmVOdp1sf7HyJp85M0XxKlFSIMxfuVEvHKTZ1nT/d AusC/ONQew0PxDxRJxjJXh2teQDUeos0b6bv+yXdXnpLcjnl96HeiXbBE1wzsiwpma5Opy Z+j6K/JMLxT7d8zhFeLTylDkY2vVWRiJIYIjYxpM61j5rnEiRiUUGw7pZ7PO9yycidCfNl VPa7aXpgVOvzPkQ8yIO6nIQBEfswfrhFAT+HfcA6RtvKNhvSul6sFWUSN4gsBCQEWR6Knc XbMGQxWV/hZ5D9X4sU3JEA/pyCv0zFRVBvSduM0Bm9sWAQD2Cg6TPjw23My4LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704570245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahBFfPebpyMzYR/3lA1918mpMLgn5alXBofHOIvKS7Y=; b=vBneqkAxWh2hcOoWjcDdd9+Kb6p/5MruSqrFJLWlRudDr2HrAVw+ljr6Wk71IL4ABaJDM4 mpZOnNXiLW/UC8Q+My9EGKUZXWjPyilZ77R2bYt1Z+UGISgX9tKrMbAEmO9UO95o6jOvu2 zNzv64Na7WXC0Cq06TGOmjN/JLGtLVStkWZ16I7/kHtXU1pUaegLj97+GcZhHQO8ciCeeh IGeynpem7SvffdeLSsON5gAWj2rCQtfRp0CO9r7deUuWPAxOTR/LKy8YQz0gzIl7lsEEoT pu3Ob2Qw7caJ/e3EarWfbWu9ZdljzmDFQfN9njEyoPnulzs516OlAUhg2Rp7yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704570245; a=rsa-sha256; cv=none; b=bWvZAaEOQ0C+P4oRUG06izV20eFcfHUUryCX+n6TZQ0logJKgnyFdfIgW9140nHtGfvC5S dB4pKqVJJMLDVo44RUjeTnVwuRWGfeR4Z/dFy16TrLAgdulCIzPft3KsOcs1ERqD1DHgYU lxu/wvDTVZ5SPM1FBzeTGeJj2V9bhjH40QEypLeqbCMUlDvqSQ0LvinXSFV+temef3nV+/ UxwXA1vnL8yjySbVTSDjINgBlyirpx3Q5H7HLGH/+p9+U4oaw/tXR/+/x3JeJY5sOVtoMY CwyVLEOWw9usgs90hl4K4ga5GIs9x4C6RoVq2JNpf8rE7ZsFsH542qD365ueoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6rP152gDzty4; Sat, 6 Jan 2024 19:44:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 406Ji5w2098390; Sat, 6 Jan 2024 19:44:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 406Ji5aE098387; Sat, 6 Jan 2024 19:44:05 GMT (envelope-from git) Date: Sat, 6 Jan 2024 19:44:05 GMT Message-Id: <202401061944.406Ji5aE098387@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 893ed42eca32 - main - tcp: Make use of enum for sack_changed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 893ed42eca32f7b5e3a5b8cef3f364be0d9cf3ef Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=893ed42eca32f7b5e3a5b8cef3f364be0d9cf3ef commit 893ed42eca32f7b5e3a5b8cef3f364be0d9cf3ef Author: Richard Scheffenegger AuthorDate: 2024-01-06 19:07:39 +0000 Commit: Richard Scheffenegger CommitDate: 2024-01-06 19:23:52 +0000 tcp: Make use of enum for sack_changed No functional change. Reviewed By: tuexen, #transport MFC after: 3 days Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43346 --- sys/netinet/tcp_input.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index ab8fc4b4a3e4..1d6430f6ef20 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -2499,7 +2499,8 @@ tcp_do_segment(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th, goto dropafterack; } if (tcp_is_sack_recovery(tp, &to)) { - if (((sack_changed = tcp_sack_doack(tp, &to, th->th_ack)) != 0) && + sack_changed = tcp_sack_doack(tp, &to, th->th_ack); + if ((sack_changed != SACK_NOCHANGE) && (tp->t_flags & TF_LRD)) { tcp_sack_lost_retransmission(tp, th); } From nobody Sat Jan 6 19:44:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6rP31XQKz572p8; Sat, 6 Jan 2024 19:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6rP30BBYz42CR; Sat, 6 Jan 2024 19:44:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704570247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m8gu6L29eKQ+NHLO+ceFcz5iY3qIoehtJWZGu/egChY=; b=bPHZxuPZh5uuZG/6fBG4njltK4pSOf1pdIoIFJmJ3DDc6o179bsmALq3SJ5c9efK9jgsH3 Rl6AmLXh4cSLDmeBiKKnoMLHuEaBbxM8ckYg2m5l/KIGk7quAuDunda95KG1ISekh/vh3E iEweCQPV1lAZrxpCxzv8kj13gG3IIUV53ghxBp3RF8lhC24fCYB166Mv4pIVKx7nOD8Nla j8oUena79qcQ90A11rkCcvYkLBWTTHket4cTEuNeALFL4o9kfm9zJefw0HKlVxFjpe2gnk o9dtmV/t6uZqo1M3Lm6D3ZVTTkbtq4R3z4Fvh5z+ye7WczOUIuC10esZh9ehHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704570247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m8gu6L29eKQ+NHLO+ceFcz5iY3qIoehtJWZGu/egChY=; b=EYVF4ejv9LWUpxWsmSKU+Dtt1qS+m13zoMHhqd6zrZbGrwqond+HbiW4u0fcDUYKIlbssT euuAhyKqFlN1nVs83hYv1ESlVj7sIr+h611WIGSFb/1J6HUaDMMvDcPPU9MTfWonSYOp6X a5GUedjZa6sv/Kx2DuDzfa3M5rtNMtvLjsD5JeIHwmPAGcy5STCQL66kErRJrw+NCuHSgV jINMZHhHYgX7+OVbhI6X4sQvM84PJuj98YMYVkDOQUPOST93DENBg3ix54TCB/oSCCkqiu MqUVZI/x61lC3tplAYt7lALKVz+4Wjll+/QzX31F/IFbkg6kivbd8aVX0YHfbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704570247; a=rsa-sha256; cv=none; b=jeb0zSSUqLNqCfYImKFKgiFtCPJz40DJ4zLyY9DlEn9Aa01gAKjhF4pGywHcH4ShOWGpKH nqAFk9okvW/SymFMgRl4uc1sV5+UlmQZYh0L9UJbRbRTvmss4CNTFzDdqjrbWccXzpZ4K4 uFohM1xFv71QLlsCeDf3Ggu+IIdR5NhW9nvxvAhB0jCmG4c2mDGGG3Hqqzx0U+z4kwY/Ob gbUyDmgVSub6HP+Hc+gyDaaae+aJE5R4ybY0TD4+MgclOj4ZG5twMcApwBPhI1Xiy2BsgK w5GsZc+8PYefGfBKxhufWL/ATTRl5jfwhAH++WSc9fHQi53iH0SUrGpnKXxx8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6rP26MT2zvBJ; Sat, 6 Jan 2024 19:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 406Ji6cf098444; Sat, 6 Jan 2024 19:44:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 406Ji6wO098441; Sat, 6 Jan 2024 19:44:06 GMT (envelope-from git) Date: Sat, 6 Jan 2024 19:44:06 GMT Message-Id: <202401061944.406Ji6wO098441@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 30409ecdb648 - main - tcp: do not purge SACK scoreboard on first RTO List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30409ecdb648901223f4e02e4a575d79c447acab Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=30409ecdb648901223f4e02e4a575d79c447acab commit 30409ecdb648901223f4e02e4a575d79c447acab Author: Richard Scheffenegger AuthorDate: 2024-01-06 19:25:17 +0000 Commit: Richard Scheffenegger CommitDate: 2024-01-06 19:25:38 +0000 tcp: do not purge SACK scoreboard on first RTO Keeping the SACK scoreboard intact after the first RTO and retransmitting all data anew only on subsequent RTOs allows a more timely and efficient loss recovery under many adverse cirumstances. Reviewed By: tuexen, #transport MFC after: 10 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D42906 --- sys/netinet/tcp_input.c | 5 ++++- sys/netinet/tcp_sack.c | 19 +++++++++++++++++++ sys/netinet/tcp_timer.c | 6 ++++-- sys/netinet/tcp_var.h | 1 + 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 1d6430f6ef20..4a6100fc969b 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -439,7 +439,10 @@ cc_cong_signal(struct tcpcb *tp, struct tcphdr *th, uint32_t type) case CC_RTO: tp->t_dupacks = 0; tp->t_bytes_acked = 0; - EXIT_RECOVERY(tp->t_flags); + if ((tp->t_rxtshift > 1) || + !((tp->t_flags & TF_SACK_PERMIT) && + (!TAILQ_EMPTY(&tp->snd_holes)))) + EXIT_RECOVERY(tp->t_flags); if (tp->t_flags2 & TF2_ECN_PERMIT) tp->t_flags2 |= TF2_ECN_SND_CWR; break; diff --git a/sys/netinet/tcp_sack.c b/sys/netinet/tcp_sack.c index e8ed3c52fd67..48efe855f689 100644 --- a/sys/netinet/tcp_sack.c +++ b/sys/netinet/tcp_sack.c @@ -908,6 +908,25 @@ tcp_free_sackholes(struct tcpcb *tp) ("tp->sackhint.nexthole == NULL")); } +/* + * Resend all the currently existing SACK holes of + * the scoreboard. This is in line with the Errata to + * RFC 2018, which allows the use of SACK data past + * an RTO to good effect typically. + */ +void +tcp_resend_sackholes(struct tcpcb *tp) +{ + struct sackhole *p; + + INP_WLOCK_ASSERT(tptoinpcb(tp)); + TAILQ_FOREACH(p, &tp->snd_holes, scblink) { + p->rxmit = p->start; + } + tp->sackhint.nexthole = TAILQ_FIRST(&tp->snd_holes); + tp->sackhint.sack_bytes_rexmit = 0; +} + /* * Partial ack handling within a sack recovery episode. Keeping this very * simple for now. When a partial ack is received, force snd_cwnd to a value diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 952fa53e0275..125e28134c01 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -559,7 +559,6 @@ tcp_timer_rexmt(struct tcpcb *tp) TCP_PROBE2(debug__user, tp, PRU_SLOWTIMO); CURVNET_SET(inp->inp_vnet); - tcp_free_sackholes(tp); if (tp->t_fb->tfb_tcp_rexmit_tmr) { /* The stack has a timer action too. */ (*tp->t_fb->tfb_tcp_rexmit_tmr)(tp); @@ -619,8 +618,11 @@ tcp_timer_rexmt(struct tcpcb *tp) * the retransmitted packet's to_tsval to by tcp_output */ tp->t_flags |= TF_PREVVALID; - } else + tcp_resend_sackholes(tp); + } else { tp->t_flags &= ~TF_PREVVALID; + tcp_free_sackholes(tp); + } TCPSTAT_INC(tcps_rexmttimeo); if ((tp->t_state == TCPS_SYN_SENT) || (tp->t_state == TCPS_SYN_RECEIVED)) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index c2b15526c15b..5f064ead7f64 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -1499,6 +1499,7 @@ struct sackhole *tcp_sack_output(struct tcpcb *tp, int *sack_bytes_rexmt); void tcp_do_prr_ack(struct tcpcb *, struct tcphdr *, struct tcpopt *, sackstatus_t); void tcp_lost_retransmission(struct tcpcb *, struct tcphdr *); void tcp_sack_partialack(struct tcpcb *, struct tcphdr *); +void tcp_resend_sackholes(struct tcpcb *tp); void tcp_free_sackholes(struct tcpcb *tp); void tcp_sack_lost_retransmission(struct tcpcb *, struct tcphdr *); int tcp_newreno(struct tcpcb *, struct tcphdr *); From nobody Sat Jan 6 20:36:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6sY11q86z55QNq; Sat, 6 Jan 2024 20:36: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6sY075ZVz47S1; Sat, 6 Jan 2024 20:36:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704573365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xb9PTJifBi/kfnXhmUmyRyxthHAsgMshzSPgv144k4I=; b=aHu3sZ9f0R1+jXHHPLkPez6zSpO6tKB6l8Nb+sZ3ky4LtUjWmE4ANs2rtwlvOG2F5AFNS5 Fsy1DnWIw6wEAS8WUUaqftrJ+I5hQH5lOfl6fLWwvbcNLm9nHPeSxHbSfSIZzjchYsVPez YTnIEiGsgyXKtmwufuerOBJbJSYR8dH825DrqsGBvuGx59csKtDUzeJbzQrNjGbHiBbA8x a7H6NBzsbKN2sgN59/tE7hRtiC1z0iGiRFPWWYjL6MRM0ZLLR4lKRZDW6VCAJvZJ73Hg+e +w2rXCYx+Qa8dbYNGhRtUo88JRwVls97SSlXqcUIvQ8jHmkdsfeoduDRu3gT7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704573365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xb9PTJifBi/kfnXhmUmyRyxthHAsgMshzSPgv144k4I=; b=qNKO+Ao9jMeIfl4KebbUEYKo5YDcactazShUwMETud7pUzUczfauFmCNqcxwiPyCPI7ZAH K0GtLtK5zrjGM94zumbtL+0HGiYx8yH9TrQOeesUdDRagC4J/U20Tza0L8UQHZW/sx8HF/ 4ryb77GTopR8bpZ1mX11NTYUtKxf+KG8zq/kVvOWOISduPC8UkJ1wHPt4vVBUaqSM4Wkt5 u/yATeDo27cNqhNqiJBNlOM6yB9hdFEcf4DgIGLZmsflLcGuLfUJ8u6kheCSvTDsjcIIkD MfJX6yLZ30D/31L42c4p8yf5piKexvOlv0rQzNWsD1g28y35qDb9ZESqb1rQYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704573365; a=rsa-sha256; cv=none; b=Lm7nzHi63Il7fvQaR6DvFpYfHZHHBLCXkzu1nDF3WK1NpYP0rg2WSfgRihl7bUAZlEax2x WkPZoFhG/8LiCCekkzuf9lSSjqZTySm9InJhpKGUuATgYT5ntUkz/NCK9Ai8oSl+fXXl2P D1QuzcO4znEhHJ2fpoms8FzVnBoioY69Qk+jH7TupL9LROn85UUlYZJjaeJ53UQje3hkGD iKRlq+SDCrPvDwO7V48OMAMW1ivtlbviXufqdE5U1DMNy4Bws8XqQ4EfOEjYXOyGpEmwaj cL0XKxa/XYISebVAdfAM3G4C6SiMkm3zLagHuQkp0FgffrwVosw1MtkfbVpCfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6sXz4m4Pzw5t; Sat, 6 Jan 2024 20:36:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 406Ka346083673; Sat, 6 Jan 2024 20:36:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 406Ka3lI083670; Sat, 6 Jan 2024 20:36:03 GMT (envelope-from git) Date: Sat, 6 Jan 2024 20:36:03 GMT Message-Id: <202401062036.406Ka3lI083670@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: e179d9739b14 - main - tcpsso: support TIME_WAIT state List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e179d9739b1438ae9acb958f80a983eff7e3dce9 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=e179d9739b1438ae9acb958f80a983eff7e3dce9 commit e179d9739b1438ae9acb958f80a983eff7e3dce9 Author: Michael Tuexen AuthorDate: 2024-01-06 20:31:46 +0000 Commit: Michael Tuexen CommitDate: 2024-01-06 20:31:46 +0000 tcpsso: support TIME_WAIT state TCP endpoints in TIME_WAIT are not handled in a special way anymore. Therefore, they can be handled now by tcpsso. Reviewed by: rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43351 --- usr.sbin/tcpsso/tcpsso.8 | 12 ++++++------ usr.sbin/tcpsso/tcpsso.c | 5 ----- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/usr.sbin/tcpsso/tcpsso.8 b/usr.sbin/tcpsso/tcpsso.8 index 36707d6657d4..c06cd8adb25f 100644 --- a/usr.sbin/tcpsso/tcpsso.8 +++ b/usr.sbin/tcpsso/tcpsso.8 @@ -74,12 +74,10 @@ and value on a TCP endpoint from the command line. .Pp TCP endpoints in the -.Dv TIME_WAIT -state can not be handled by -.Nm . -TCP endpoints in the .Dv SYN_RCVD -state can only be handled if their prior state was +state can only be handled by +.Nm +if their prior state was .Dv SYN_SENT . .Pp .Op Ar level @@ -176,7 +174,9 @@ is one of .Dv FIN_WAIT_1 , .Dv CLOSING , .Dv LAST_ACK , -.Dv FIN_WAIT_2 . +.Dv FIN_WAIT_2, +or +.Dv TIME_WAIT . Using .Dv SYN_RCVD only applies to TCP endpoints in the state diff --git a/usr.sbin/tcpsso/tcpsso.c b/usr.sbin/tcpsso/tcpsso.c index b79ae9767fe2..7e7e25246d80 100644 --- a/usr.sbin/tcpsso/tcpsso.c +++ b/usr.sbin/tcpsso/tcpsso.c @@ -115,10 +115,6 @@ tcpssoall(const char *ca_name, const char *stack, int state, continue; - /* Skip endpoints in TIME WAIT. */ - if (xtp->t_state == TCPS_TIME_WAIT) - continue; - /* If requested, skip sockets not having the requested state. */ if ((state != -1) && (xtp->t_state != state)) continue; @@ -453,7 +449,6 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; if ((state == TCP_NSTATES) || - (state == TCPS_TIME_WAIT) || (argc < 2) || (argc > 3) || (apply_all && apply_subset) || (apply_all && apply_specific) || From nobody Sat Jan 6 21:34:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6trv21p6z55XX4; Sat, 6 Jan 2024 21:34:55 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6trv0JDSz4Fjr; Sat, 6 Jan 2024 21:34:55 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-42985b246cfso4566541cf.2; Sat, 06 Jan 2024 13:34:54 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704576893; x=1705181693; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+nbCXXVd3A/3bARcZbTvsOh5sMNcFoHhvJZpqE2oJZY=; b=CcUbVw7+bk85Jzw5woLWkLgzCOTfsYJiBr0AVpPDkfy4EeoF7oLJwrccMstfUgNCm3 DjaRlnQm6NGlgYhtboAHYiqmlef0cHeR/0Em655laE72oyDA3PnuRQRsb/J8j5JVEXFf u/2ZU+mdMwbpJMfb1t62Z/BFGjCC2WkK/kyumMQy9zmnE1FbxVYODd9YhqrglCDDWFyS NKffR+CwJPZdScE/N3Vq0qRdAtn2Lef0hJ6tQmr2zWduSckSaTY4UEKl9QF2R+CvU96G a/sy0XFxO4ap/qOmjEnJCyHh4ozjrlO9o9vX3MXdj/lMcORyPMEpL/MUwCNQbW40Y25O //RA== X-Gm-Message-State: AOJu0YyMVi+2CaoMBqDLdF/3ap7Nll+mUw0vN7oSTYrRS1r9I33siI8C SkGspoZVEz5+ZYMlQknmn3jx0VjDZvky4J2AF0ZUfbb5 X-Google-Smtp-Source: AGHT+IHivJgqybsqBj/Mh7kbbWyZw1wwdk6tzp9kDEw+W4icY/Nnq3wn3cU9KHL92rgJSAeApiuQnTMnep9FwY9+DdE= X-Received: by 2002:a05:622a:58f:b0:425:4dde:4c41 with SMTP id c15-20020a05622a058f00b004254dde4c41mr2654026qtb.31.1704576893130; Sat, 06 Jan 2024 13:34:53 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202401061822.406IMW52063237@gitrepo.freebsd.org> In-Reply-To: <202401061822.406IMW52063237@gitrepo.freebsd.org> From: Alan Somers Date: Sat, 6 Jan 2024 14:34:41 -0700 Message-ID: Subject: Re: git: fbbdfa2b8a42 - main - nfsv4(4): mention the nfsv4_server_only setting To: Daniel Ebdrup Jensen Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4T6trv0JDSz4Fjr X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] On Sat, Jan 6, 2024 at 11:22=E2=80=AFAM Daniel Ebdrup Jensen wrote: > > The branch main has been updated by debdrup: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dfbbdfa2b8a42444c2c4de00e43= f14499adad8a70 > > commit fbbdfa2b8a42444c2c4de00e43f14499adad8a70 > Author: Lexi Winter > AuthorDate: 2024-01-06 18:12:02 +0000 > Commit: Daniel Ebdrup Jensen > CommitDate: 2024-01-06 18:21:25 +0000 > > nfsv4(4): mention the nfsv4_server_only setting > > Add note about configuring the NFSv4-only option. > > It is already mentioned in rc.conf(5), but documenting it here makes = it > more likely that people see it when they need it. > > MFC after: 2 weeks > Pull Request: https://github.com/freebsd/freebsd-src/pull/1008 > --- > usr.sbin/nfsd/nfsv4.4 | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/usr.sbin/nfsd/nfsv4.4 b/usr.sbin/nfsd/nfsv4.4 > index 1377461c1348..aacb85c78ca2 100644 > --- a/usr.sbin/nfsd/nfsv4.4 > +++ b/usr.sbin/nfsd/nfsv4.4 > @@ -208,6 +208,14 @@ if the server is using the ``@'' form = of user/group strings or > is using the ``-manage-gids'' option for > .Xr nfsuserd 8 . > .Pp > +In addition, you can set: > +.sp > +.Bd -literal -offset indent -compact > +nfsv4_server_only=3D"YES" > +.Ed > +.sp > +to disable support for NFSv2 and NFSv3. > +.Pp > You will also need to add at least one ``V4:'' line to the > .Xr exports 5 > file for Shouldn't you bump the .Dd date? From nobody Sat Jan 6 23:23:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6xGC4L8wz55mgw; Sat, 6 Jan 2024 23:23: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6xGC3pJcz4StZ; Sat, 6 Jan 2024 23:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704583411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BmlZ4vxPY1bYlBiD+ftFFRTcHZAfJcxcb/ChnW3aCS8=; b=E80+W8dlqAf/1DsQJMxSuV6OiPqXqi4NakNlDjvf4OIasZteqKKnyxDE53qzlJVuWtpfOP ByYZYq3vYqMddVe4chry36uwlSko/GlfKQq6JUGJ5gDyRhs5KZyNLL3u7DHMCb6xxYHJDt HAafz/Yw9LMzXN5HA1dKGZ6IoS136EikJMQOj0EL9Z2shbTnJGR26om6tMmyWCisMO8oiG BJrkVzussqlLbVwZX9uKnqLTrc10ZeT5uqaVijvuN+p0eoDxyvV5EG5y9b25O/blRnLsR9 SgJujVMh5gQONH+yKWay0niOzwBxku6W697x9DRJHtmzsfoqGJmHuJUDgTaXQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704583411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BmlZ4vxPY1bYlBiD+ftFFRTcHZAfJcxcb/ChnW3aCS8=; b=UKmUXhkjAvfO1NQTDsZsqmXOXMkKbX5Ug0q1yeXvlzRcydeykwBTiagiXDQSGFJ2H4UbAf 3Gp1GfADdPcihnWGJ8+4lzmg3NxKPGBa7RhGIW2BLhYDuatQPrmaZSHq8ddKbwQ2A9WWXq d0kIrflLB0fBCo/377mZ7BC4wrQAHEhEUbuehe58ANjmZyCGwoUJUQ99syGrcH641RpruA N/GgImMkdxcE5KU+KNV1Kxfl6FHWaNbcxpDe/Mt/Oo+IaHwotZU32btvmzT0ia+2ir/BeC xMgdAEbxxTkYEErEVKCh+58MrluM3NjVc2yb6EnZorzwl6+X9RpFrn6QuVgQrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704583411; a=rsa-sha256; cv=none; b=tqBISdVCfaWbAWzus1JwPqUDNykbBeVL3rOoOErfyIBvOFTM/yER+VEhetIpZGAWs51XbL tWsPO+KM3h95D06xjF0HBgtxO1oAf+GwRJKezhsny17YLgMsZpQLXU94jmBf0vtEWS24+q bF4f6d4GL2xgeiWB3UiOqEEFM7k3wHMyqsuIfPGVWTE4G5XCiAErkLZZnmAZ+gH9YGqBcE rELjy1sOUcWYONrOYHeH3miO1b/jIDPhTH/7puze33GNrX8dVacHqy4/b3qol5PY8NZB4+ fx3I2sD7lkMNPdj3Lml6JAqvZEQQgaxfJiPudTPcCCfYG84owrse7uwxZbkpWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T6xGC2tdtz11Xd; Sat, 6 Jan 2024 23:23:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 406NNVdf067756; Sat, 6 Jan 2024 23:23:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 406NNVSc067753; Sat, 6 Jan 2024 23:23:31 GMT (envelope-from git) Date: Sat, 6 Jan 2024 23:23:31 GMT Message-Id: <202401062323.406NNVSc067753@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: dbee52c9d600 - main - Connect my checkstyle9.pl script to a action. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dbee52c9d6009539992b19c649cdfb4352921b61 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dbee52c9d6009539992b19c649cdfb4352921b61 commit dbee52c9d6009539992b19c649cdfb4352921b61 Author: Warner Losh AuthorDate: 2024-01-06 15:20:17 +0000 Commit: Warner Losh CommitDate: 2024-01-06 23:23:14 +0000 Connect my checkstyle9.pl script to a action. Connect the checkstyle9.pl script to a github action. This will provide feedback to people submitting changes when the style is grossly wrong. And can provide other automated feedback for the commit message in the future. It already catches the github noreply author. It pulls the full repo to do this. Optimizations welcome. After messing with that for a few hours, I decided to punt and commit the slow, working version and let someone else optimize from here. Sponsored by: Netflix --- .github/workflows/style.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml new file mode 100644 index 000000000000..a84d32b65c04 --- /dev/null +++ b/.github/workflows/style.yml @@ -0,0 +1,40 @@ +name: Style Checker + +# Runs my simple style(9) checker on any pushes or pull requests. It could be +# optimized by fetching the pull request head branch back to main revisions and +# running on that. That would reduce the run time from 3-4 minutes down to 30-40 +# seconds. Getting the right series of clone + fetches to get that iteratively +# is proving elusive, so optimizations welcome. + +on: + push: + branches: [ main, 'stable/13', 'stable/14' ] + pull_request: # maybe pull_request_target + branches: [ main ] + types: [ opened, reopened, edited ] + +permissions: + contents: read + +jobs: + build: + name: Style Checker + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + - name: Install packages + run: | + sudo apt-get update --quiet || true + sudo apt-get -yq --no-install-suggests --no-install-recommends install perl + - name: Run checker + run: | + sha=$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}) + tools/build/checkstyle9.pl ${sha}..${{ github.event.pull_request.head.sha }} From nobody Sun Jan 7 03:53:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T73G10P5dz56NBn; Sun, 7 Jan 2024 03:53:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T73G02zN5z4tsC; Sun, 7 Jan 2024 03:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704599624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=duXEBZ94Ga0xD/gd5doDcOpSsShhLKCi7xOATsGulEY=; b=xtJKkSXAw/uSqCjyLozvdjfDgtwIGSUIgZSMsmuPV1vu/kM3FdaM3edtpPqsIk6dsCknuw q/uymYQLhVivP/tskOtgmby4jq1xGD3qRV6yy5K4Vk85WEcbK9eC7j705X3h6ZVv2DlBsD BIEEft0uwEqqsGENvaRZtuMUsG/4kP2aVFhJrGDTrkwdRYb9+Zg82mwW/rz/dr/qLoxvM2 Wz4/JCQLLIj9Y7bn0K2wwpwvs7kQGsVeQo8WScJ1V7TnIXTzbr9h9bR1+LwBdOiq4erhFT mXMIyty8q0T4LgEZ2/iKvW8RUeJfwty68+4C+pwtLrvAcw4k8WYhx7UWujPlfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704599624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=duXEBZ94Ga0xD/gd5doDcOpSsShhLKCi7xOATsGulEY=; b=tM2OH1MhYLifNB4TThtClzDdAsJWzaN6Q9bFdRc0v06zTaPpE+2OO33vWGkLtv9KQ40RYV tuxYkMrDCTh+i9mxujN9QZ1U1dK/GMjmJ9Vpq2ojWcO2rWOEl1/pkYiEDYdan5OiLgNGw3 /z7v7Qi2usoYx6bwNW6+WiJEQkp95PpwLP2lh9S9ngTDHECzaHQszVOGfjKX8bIpfJtSMU xnbR7b7ye105+J7xrgYupZc8ry7kfIa6PaqjWAizfPu7Ly2ibVzkidDfh2lBZtODm3wJtS Veg6wf8YcQUiW5vliRDSDGXbQTMa66z5ADWoQt1S3MPwjYb03YqoaMYNmWQcqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704599624; a=rsa-sha256; cv=none; b=kY6N5zGwJTDTWnNA3jghCoB2QQeQ3QSuq+goT9p+01x0B0IDYItJ3JcY0glmaBWmEwu+N7 7EkVynyVp4EBNtFJGZa6WpVGoR+hSUZ14j+f8dJrizSWQzgLZUUr2SgPanQxnCbz3yP3T0 FDsW/VdlocMoOo9V2Lnc23qRcO55DIIn++pP3kU4DIz23IB/mbJ9zBOkpzb2k/Y1odlmcc buVVoDLgTveTce7+gfjKc8kbW/cWMNPWXY9EKU6YVmyITrAldzjhidF3tWQmD+TInjELVV KrQb5Oa2m9TTUnJQdEJM11Ao8PRs3vFe6rWnwR+83uspuFUk4sUy0h5uwuLOBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T73G02483z17vg; Sun, 7 Jan 2024 03:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4073rii8020718; Sun, 7 Jan 2024 03:53:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4073ri6x020715; Sun, 7 Jan 2024 03:53:44 GMT (envelope-from git) Date: Sun, 7 Jan 2024 03:53:44 GMT Message-Id: <202401070353.4073ri6x020715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e5b33e6eef7d - main - style.yml: Don't run this on branch pushes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5b33e6eef7d5cf0718b08376f27b1fbf97ae74f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e5b33e6eef7d5cf0718b08376f27b1fbf97ae74f commit e5b33e6eef7d5cf0718b08376f27b1fbf97ae74f Author: Warner Losh AuthorDate: 2024-01-07 03:46:42 +0000 Commit: Warner Losh CommitDate: 2024-01-07 03:46:42 +0000 style.yml: Don't run this on branch pushes We don't need to run this on branch pushes, just pull requests. It's designed to be a gross filter for incoming commits, not something perfect we need to keep green. It also doesn't work quite right for branch pushes anyway and needs adjustment. Also remove some debugging information. We don't need it anymore. Noticed by: jrtc27 Sponsored by: Netflix --- .github/workflows/style.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index a84d32b65c04..a4d5adb90df3 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -7,8 +7,6 @@ name: Style Checker # is proving elusive, so optimizations welcome. on: - push: - branches: [ main, 'stable/13', 'stable/14' ] pull_request: # maybe pull_request_target branches: [ main ] types: [ opened, reopened, edited ] @@ -26,10 +24,6 @@ jobs: with: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - name: Install packages run: | sudo apt-get update --quiet || true From nobody Sun Jan 7 16:46:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T7NPZ2V0Pz55PQX; Sun, 7 Jan 2024 16:46: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T7NPZ22H2z490k; Sun, 7 Jan 2024 16:46:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704645986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LM7DObw+D7CspW5YlVFVTqOVy1IZjMf/q0bECjk82zA=; b=u3cEcT4BL9WYyty8avO/v1JCE29xPX/rpwcUhBSikZVNNZAaw69jPoceGXtsWhPHfe5jKc kK5y8D+Hj1OZHcyYDPPlmHYtPJpV+kzbqPLx1+PZ0qQ5A+XhhoQQoI8bJ5URuPn/07iz7X 6IRHCMGOhFuJaoCtlu0DhTi3I/c3quI3EP7OjoC3KelUmQNcETIFhyPI+r/Ad1Ffdny+uG Sq6BLYAoJEcJKnYO3WS/pjhJZRKgbDu/IuZk/uI7vB9kyQukBe0QG+KpMfPlICY95yFfZF 4ETxiX9yusAGuAGfxGax/zLT81OVvu3+mUzKhc3BrJb10qSnvUsAviaQCudzag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704645986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LM7DObw+D7CspW5YlVFVTqOVy1IZjMf/q0bECjk82zA=; b=n466QJzQ0lZ8KF96cOo4bzrCDkc0TQLHWwWOfvgJlGJtZrX9I0SyYioWPGSCzTGjESLTni msDyYqzJPR9tZAXlmGUuTfGPhbySQYYF6MUgKi6kxbGMnzskZvr4ml1xGWj2HGVzDwtiG/ 8B52BGqkANhEdFPoiSxHi7e+d6Ufmkh/qJ9vMYv7qB9bH0/w0vk68jDdVgVdg7wsFP39ni qwQE2Wqkb1cTflXI6syySzJwBS81OiBf4rPyXcxA4B2rxMfReaZ8UBtO1bZhiaASoPWwbW k07Mmrqfg5u5IClSvZmhl/MvG3+KIQluwASP7OYnGOTt1+IOJmZYzYjmDzb4TA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704645986; a=rsa-sha256; cv=none; b=yX6Acs1cN8ZVGgy919GSGo8IeOkWdhDCDeHmvrIIHtT2s8kxwEiBRjvUwFj8+OJdjmpSfE nw8wr1+xoC03aqcpqC4FKwqk3be/c2tUjTHt7WI9HN5NzXPONXWHy+JdqVp3imvMTyKcNM 8i6tjUDpJyHdShNumJpIInZ0YvRKjW/UjmYPBP4bsCjqNdwKVoSuCOuqxGJ9cy0Q0w7/QD nLceGt4Zd74wLhBNBX23GNAycqJFpGbkyvkLh4c6HGCv++LdGGdq9hW2eP8M9QdFBwJNyB L/nSlqRNcksmMkhXX3pymDCARLetF3yQNzVTnFrFbYiwyogZncgrPqPiQHX8kQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T7NPZ16T6zXnk; Sun, 7 Jan 2024 16:46:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 407GkQ3S012302; Sun, 7 Jan 2024 16:46:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 407GkQEO012299; Sun, 7 Jan 2024 16:46:26 GMT (envelope-from git) Date: Sun, 7 Jan 2024 16:46:26 GMT Message-Id: <202401071646.407GkQEO012299@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 7d35b389729e - main - dtrace/profile: Set t_dtrace_trapframe for profile probes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7d35b389729ef5a3efcac75ad265139ada3f8e69 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7d35b389729ef5a3efcac75ad265139ada3f8e69 commit 7d35b389729ef5a3efcac75ad265139ada3f8e69 Author: Mark Johnston AuthorDate: 2024-01-07 16:35:06 +0000 Commit: Mark Johnston CommitDate: 2024-01-07 16:46:13 +0000 dtrace/profile: Set t_dtrace_trapframe for profile probes profile provider probes fire in the context of a timer interrupt. Thus, the "regs" action can make use of the interrupt trap frame to get register values when the interrupt happened in kernel mode. Make that trap frame available when possible so that "regs" works more or less as it already does with the fbt and kinst providers. MFC after: 1 week --- sys/cddl/dev/profile/profile.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c index 42753393a33d..677c7543795f 100644 --- a/sys/cddl/dev/profile/profile.c +++ b/sys/cddl/dev/profile/profile.c @@ -57,6 +57,8 @@ #include #include +#include + #define PROF_NAMELEN 15 #define PROF_PROFILE 0 @@ -245,12 +247,15 @@ profile_probe(profile_probe_t *prof, hrtime_t late) if (frame != NULL) { if (TRAPF_USERMODE(frame)) upc = TRAPF_PC(frame); - else + else { pc = TRAPF_PC(frame); + td->t_dtrace_trapframe = frame; + } } else if (TD_IS_IDLETHREAD(td)) pc = (uintfptr_t)&cpu_idle; dtrace_probe(prof->prof_id, pc, upc, late, 0, 0); + td->t_dtrace_trapframe = NULL; } static void From nobody Sun Jan 7 16:51:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T7NWt337bz55Ph9; Sun, 7 Jan 2024 16:51:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T7NWt2bRPz4CTf; Sun, 7 Jan 2024 16:51:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704646314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JhQMojbz0vB6JZwOPv/0SgqLIUEi5BiQBFO5eYhhSSA=; b=pMHh3JqIWgmm43ddmDBv8xUyYQXkP9JMc2lvTX9C6X1LqkkG/Jq8w1aWMyb7JQziSwtwSn eswgYdCq2ClHQ/X0TyPJ9+EvHkz8OZ6b6nUWLSkc8RBCdEn6aN70s6SlSMAXCWRz/0ybIT 5m6M0nDqYzAnv9zeoXcGXsHCnoPvG0233B4weoDJ+RpknYGZJbWOVeuITGZahwLR/5jT3m 4KRf300YCLYMRottXaaMDWQp+N8+14RO/CZYpBOxbQVN2GvEKC5ubfOz5DO5ohJYsmEFCx IOuy5i5ljE1GyTy28G+P/N40bswyKRCZQw+RO/kIzOWxAS+YCq4GTDS8ZVvpRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704646314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JhQMojbz0vB6JZwOPv/0SgqLIUEi5BiQBFO5eYhhSSA=; b=tY4PkU3vanP/dB4VzaAKTQtBN9OLptXfcItFWRD/k8pyx1Gzm19e702lGkirzhyQmZ4nsZ hJ30M14a+HIP9CrRd5rHolLyDMxc+vH1mh7pvPcbAUkdLv+FPtIOq4YToR2+l9JzCBEx5l ZvsH2ME8PQeQ7ABQCyBl2rnrPGCmt00L5UFd5vGL0prjkz17rfF2mRAAdDEdsvyX+tkSx3 kMoRic4WU2rSkhXkSNvSHBN9gPijR98JJ6xi4y54nU3xJ56Wz/p5RdDuGLbjNOs/duTFal VzQ9k8MUfc54Etl6aLO8tj92WL2LxzHow6JC/OE+cWneC/cojCBtmNYp6hi1Uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704646314; a=rsa-sha256; cv=none; b=FfAjlsB+RtTTkd27XeBrUdshCDJf9h/jGh5DoxhcXoS4QG5uHYjARK5fmQu+bi0FH7nniu Fe02HkUcLrjJQU9Oqrmk8ZOExqY7xE539F00MWv2UIUui7HyYCogGRSwt9XRfebUyQ7Nhp j4V0hiJiu7Us87Vc/uDoGzm5ZXWio+nwsL7emZ3WRSpl3Gv3cvV6hZ0hnVe9R51em6OAem ICDNzY2/kgOkB1/FRshX8BfInIqhqRosNb4o4YYzOogMAPRg/h1bN3F2+NA06BumJL3ToQ qvPkmwi7DdUIo11/aMGXPhoDqO99kQlfVRazHLWx9dnTculzowm6FLoWgaiSGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T7NWt1LKmzXpQ; Sun, 7 Jan 2024 16:51:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 407GpsLx023548; Sun, 7 Jan 2024 16:51:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 407GpsOa023545; Sun, 7 Jan 2024 16:51:54 GMT (envelope-from git) Date: Sun, 7 Jan 2024 16:51:54 GMT Message-Id: <202401071651.407GpsOa023545@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 1e8172457833 - main - checkstyle9: Remove irrelevant stuff from qemu List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e817245783307fd30de71d9e3dc74df6ad20b05 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1e817245783307fd30de71d9e3dc74df6ad20b05 commit 1e817245783307fd30de71d9e3dc74df6ad20b05 Author: Warner Losh AuthorDate: 2024-01-07 16:14:13 +0000 Commit: Warner Losh CommitDate: 2024-01-07 16:51:49 +0000 checkstyle9: Remove irrelevant stuff from qemu Remove some qemu project specific things we don't care about o Remove python interpreter check o Remove linux header check o Remove trace file specail treatment o Add $FreeBSD$ tag additions o Remove some experiemntal code we won't need o Remove commented out initializer code that we don't explicitly have a rule for. Sponsored by: Netflix --- tools/build/checkstyle9.pl | 64 ++-------------------------------------------- 1 file changed, 2 insertions(+), 62 deletions(-) diff --git a/tools/build/checkstyle9.pl b/tools/build/checkstyle9.pl index aadf6ee152c5..d2c6ea77868d 100755 --- a/tools/build/checkstyle9.pl +++ b/tools/build/checkstyle9.pl @@ -170,8 +170,6 @@ if ($color =~ /^always$/i) { my $dbg_values = 0; my $dbg_possible = 0; -my $dbg_type = 0; -my $dbg_attr = 0; my $dbg_adv_dcs = 0; my $dbg_adv_checking = 0; my $dbg_adv_apw = 0; @@ -1436,17 +1434,12 @@ sub process { } } -# Only allow Python 3 interpreter - if ($realline == 1 && - $line =~ /^\+#!\ *\/usr\/bin\/(?:env )?python$/) { - ERROR("please use python3 interpreter\n" . $herecurr); - } - # Accept git diff extended headers as valid patches if ($line =~ /^(?:rename|copy) (?:from|to) [\w\/\.\-]+\s*$/) { $is_patch = 1; } +# Filter out bad email addresses. if ($line =~ /^(Author|From): .*noreply.*/) { ERROR("Real email adress is needed\n" . $herecurr); } @@ -1512,9 +1505,6 @@ sub process { # ignore non-hunk lines and lines being removed next if (!$hunk_line || $line =~ /^-/); -# ignore files that are being periodically imported from Linux - next if ($realfile =~ /^(linux-headers|include\/standard-headers)\//); - #trailing whitespace if ($line =~ /^\+.*\015/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; @@ -1536,26 +1526,6 @@ sub process { $rpt_cleaners = 1; } -# checks for trace-events files - if ($realfile =~ /trace-events$/ && $line =~ /^\+/) { - if ($rawline =~ /%[-+ 0]*#/) { - ERROR("Don't use '#' flag of printf format ('%#') in " . - "trace-events, use '0x' prefix instead\n" . $herecurr); - } else { - my $hex = - qr/%[-+ *.0-9]*([hljztL]|ll|hh)?(x|X|"\s*PRI[xX][^"]*"?)/; - - # don't consider groups splitted by [.:/ ], like 2A.20:12ab - my $tmpline = $rawline; - $tmpline =~ s/($hex[.:\/ ])+$hex//g; - - if ($tmpline =~ /(? 1 && $line =~ /^.+($Declare)/) { - ERROR("TEST: is not type ($1 is)\n". $herecurr); - } - next; - } -# TEST: allow direct testing of the attribute matcher. - if ($dbg_attr) { - if ($line =~ /^.\s*$Modifier\s*$/) { - ERROR("TEST: is attr\n" . $herecurr); - } elsif ($dbg_attr > 1 && $line =~ /^.+($Modifier)/) { - ERROR("TEST: is not attr ($1 is)\n". $herecurr); - } - next; - } - # check for initialisation to aggregates open brace on the next line if ($line =~ /^.\s*\{/ && $prevline =~ /(?:^|[^=])=\s*$/) { @@ -1928,17 +1879,6 @@ sub process { $line =~ s@//.*@@; $opline =~ s@//.*@@; -# check for global initialisers. -# if ($line =~ /^.$Type\s*$Ident\s*(?:\s+$Modifier)*\s*=\s*(0|NULL|false)\s*;/) { -# ERROR("do not initialise globals to 0 or NULL\n" . -# $herecurr); -# } -# check for static initialisers. -# if ($line =~ /\bstatic\s.*=\s*(0|NULL|false)\s*;/) { -# ERROR("do not initialise statics to 0 or NULL\n" . -# $herecurr); -# } - # * goes on variable not on type # (char*[ const]) if ($line =~ m{\($NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)\)}) { From nobody Sun Jan 7 16:51:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T7NWv3z5Lz55Q1C; Sun, 7 Jan 2024 16:51: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T7NWv362Tz4Bqg; Sun, 7 Jan 2024 16:51:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704646315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ensPMn5H+mqoPu2vEFjFKE23vht0yHcD7XFGoIhoZQk=; b=ZzMJsdD+UsYwf1aFimcoeHYP5W3+3GDEVFmfRWQYcLYGBoGZeNDFq1DXyT8u8eoQxcMixK lL/cmDXJUVV1b+kfSloykUyBZAczt1MMhcc1XFFeI57Nb7qaEqUB0AlpcGkn6s7IoMtyln n1d8wK3YoGKh8rXeOXiVkHsG+W+t8b5iqUbnDOdlnhckYRY8oK9xBGLQDk+f45aSL51+1H VaRoI9uW4Mc5ovfGy4f3fH4JO+hvsMJc0GTB63gEB+HGuUMN6K+cqlNBNaZ1aePf/5JinB B3iOy/JPe4q9sb2Gslw3o9GE4o3BXmgk73nuZKaDBjQlCCh3UVCz6vvVMTBhOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704646315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ensPMn5H+mqoPu2vEFjFKE23vht0yHcD7XFGoIhoZQk=; b=eEVpNix93+PMcYVoFhAhqFPVXXlOgXIX0/XopUtHAzpkBI9NxXKlhGOOLnbVdwz/bJvFIr djJ6Te3PtvDaz1iD8lUB8EPGRzXlc+ivHaeVooScmzyV/9obD3WKWzjJj3WjJEXhuV0c+f Uq9B6L+9/glzesCE0wTSXbZoaLVSddaKMmtP5oPVM95vFSdy2yZaEqPkpMx5Hxov83EVYr JxZnihMoohBCEcXdI6pkPfdjf+sLIIJqmbO30wsTNfNu7uHGg6KcHJz4s8F3mSaNgyHJQM 4wj+zUpIZLSBKJxA0BKAmN9h/6w4wYQ7gAeS3jWY7cP4HHLfbpuUt3VXJaLSTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704646315; a=rsa-sha256; cv=none; b=OBMzdkN17one8SIJt/Ef2St8yrcViFuL8Ks1PDvFSWA/PRerj7yxM47ObhvV1sZs2zNzQp yeeqcE4G1kSqeWx/Bp1IAybZ0bSrKOfkOkjbm+7fX1/ZsJvEjn21vcFcCr7mrSftefbqv9 HTShSW0yA8QnIjJok+QRrIKstR4MWiG4nGfO2Gl7rYLHq5DeR4m2iFiSS82JViZ7cabWby SmP1Ru4K43s6H+je7oGHI1PtHq+4bXhzO82t1kMQmk20minfq3GEY8ilamFwRVCok7q5xa 8rm8ySg/kcqB2HX+VG8ndZh5tutB1tqXxR16H9huEIPOHVsTNVoJXoM2O9twEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T7NWv28PxzXfc; Sun, 7 Jan 2024 16:51:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 407GptnA023597; Sun, 7 Jan 2024 16:51:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 407Gpt0T023594; Sun, 7 Jan 2024 16:51:55 GMT (envelope-from git) Date: Sun, 7 Jan 2024 16:51:55 GMT Message-Id: <202401071651.407Gpt0T023594@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 4748db6ffd42 - main - checkstyle9.pl: Don't use $root if not defined List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4748db6ffd422f8b52d49f5e2982628ac52afb8c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4748db6ffd422f8b52d49f5e2982628ac52afb8c commit 4748db6ffd422f8b52d49f5e2982628ac52afb8c Author: Warner Losh AuthorDate: 2024-01-07 16:50:51 +0000 Commit: Warner Losh CommitDate: 2024-01-07 16:51:49 +0000 checkstyle9.pl: Don't use $root if not defined $root is only defined when given on the command line. Don't try to use its value when it's not defined. Sponsored by: Netflix --- tools/build/checkstyle9.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build/checkstyle9.pl b/tools/build/checkstyle9.pl index d2c6ea77868d..3b28fef93669 100755 --- a/tools/build/checkstyle9.pl +++ b/tools/build/checkstyle9.pl @@ -1410,7 +1410,7 @@ sub process { checkfilename($realfile, \$acpi_testexpected, \$acpi_nontestexpected); $p1_prefix = $1; - if (!$file && $tree && $p1_prefix ne '' && + if (!$file && $tree && $p1_prefix ne '' && defined $root && -e "$root/$p1_prefix") { WARN("patch prefix '$p1_prefix' exists, appears to be a -p0 patch\n"); }