From nobody Sat May 13 23:00:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QJh1q1Cbkz4Bt0x; Sat, 13 May 2023 23:00:47 +0000 (UTC) (envelope-from mike@karels.net) Received: from mail2.karels.net (mail2.karels.net [3.19.118.201]) (using TLSv1.3 with cipher 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 "freebsd", Issuer "freebsd" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QJh1p51VVz4C9p; Sat, 13 May 2023 23:00:46 +0000 (UTC) (envelope-from mike@karels.net) Authentication-Results: mx1.freebsd.org; none Received: from mail2.karels.net (localhost [IPv6:0:0:0:0:0:0:0:1]) by mail2.karels.net (8.17.1/8.17.1) with ESMTP id 34DN0jh6049669; Sat, 13 May 2023 18:00:45 -0500 (CDT) (envelope-from mike@karels.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=karels.net; s=mail2; t=1684018845; bh=35vu8lztLYrL9lT7XuNDOdFqa3P5F6ZVEWFb0EN42HY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=pkOR6v3XbDR2VOUakJJR6Rpw+qtZY9zQBn5dZsAMYc1NvdFgJ3ZzhbrPIbR+7npZV oPELPJT0HVkI21KNJ70LLMBcoClZj/ux+SR7AebczxPIwyqTvKJIrC9xu0nxnIUyx8 2MXe+gbIQnH8FzKJ88oVvQKfW9bbcbi7nse6BgOEcXx/Q0w/O11emEYdvX6aF0AuMh 3lteInNNAvYOJWYvqwW4tK3S/vrwY/4QOxC7Vwguf+TxxLwdgD8eau5U5GuhQnXkkh 5lAoXqD8laJZzsOys45VwA29Ohjv/DJkPQgJNvsiJHn3LrOP/yjQ+b9E6+EKNsuqnR cceYFHp5yy6zw== Received: from [10.0.2.130] ([73.62.165.147]) by mail2.karels.net with ESMTPSA id DF53BZ0WYGQDwgAAs/W3XQ (envelope-from ); Sat, 13 May 2023 18:00:45 -0500 From: Mike Karels To: rgrimes@freebsd.org Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 36db6b04962a - main - hier(7): document /home/ and /usr/home/ Date: Sat, 13 May 2023 18:00:44 -0500 X-Mailer: MailMate (1.14r5964) Message-ID: In-Reply-To: <202305132248.34DMm3Yu069553@gndrsh.dnsmgr.net> References: <202305132248.34DMm3Yu069553@gndrsh.dnsmgr.net> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4QJh1p51VVz4C9p X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.16.0.0/14, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 13 May 2023, at 17:48, Rodney W. Grimes wrote: >> On 12 May 2023, at 19:43, Rodney W. Grimes wrote: >> >>>> Rod and I discussed this, and I?m top-posting a summary of a proposa= l that >>>> we both support. I?ll leave the last message from the list below fo= r >>>> reference. Our consensus is that the main problem is the code in pw= (8) >>>> (used by adduser, and hence bsdinstall) that interprets /home as /us= r/home, >>>> installing a symlink for /home, and similarly for any other home dir= ectory >>>> whose parent has a single component. We propose to remove that code= , and >>>> also modify bsdinstall?s zfs script to create a home dataset rather = than >>> >>> Small nit, zfs already creates the data set as $POOL/usr/home, this >>> would change to $POOL/home. >>> >>>> usr/home. adduser presents a default home directory using /home, so= this >>>> will continue to agree. As Rod said at the start of this thread, ho= me >>>> directories really don?t belong in /usr, and the only reason they we= re >>>> there is because of the previous root + /usr partitioning. Now the = default >>>> is one large partition. Of course, people who want to partition dif= ferently >>>> can do whatever they want. >>>> >>>> It will still be possible for admins to create home directories in >>>> /usr/home, they will just have to do so explicitly for pw to create = the >>>> directory, and manually create a /home symlink if desired. If they = have >>>> a small root file system, they will want to put home directories els= ewhere. >>>> >>>> A followup change would be to change various man pages that refer to= >>>> /usr/home. >> >> The changes are now in review: >> >> https://reviews.freebsd.org/D40085 pw change to use the specified dir >> https://reviews.freebsd.org/D40086 bsdinstall change to create /home >> rather than /usr/home dataset on ZFS >> Mike > > Need one more to backout the changes to hier(7)? Two or three more, I see other references too. I=E2=80=99ll make sure th= at these are generally accepted first. Mike >> >>>> On 11 May 2023, at 12:32, Rodney W. Grimes wrote: >>>> >>>>>> On 11 May 2023, at 9:58, Rodney W. Grimes wrote: >>>>>> >>>>>>>> On Wed, 10 May 2023 16:48:12 -0500 >>>>>>>> Mike Karels wrote: >>>>>>>> >>>>>>>>> On 10 May 2023, at 10:13, Cy Schubert wrote: >>>>>>>>> >>>>>>>>>> In message ,= Mitchell >>>>>>>>>> Horne w >>>>>>>>>> rites: >>>>>>>>>>> On 5/10/23 11:19, Rodney W. Grimes wrote: >>>>>>>>>>>>> The branch main has been updated by mhorne: >>>>>>>>>>>>> >>>>>>>>>>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D36db6b04962a= 01ff7b21592def02d >>>>>>>>>>> 4c570dac939 >>>>>>>>>>>>> >>>>>>>>>>>>> commit 36db6b04962a01ff7b21592def02d4c570dac939 >>>>>>>>>>>>> Author: Mitchell Horne >>>>>>>>>>>>> AuthorDate: 2023-05-10 12:53:56 +0000 >>>>>>>>>>>>> Commit: Mitchell Horne >>>>>>>>>>>>> CommitDate: 2023-05-10 13:25:17 +0000 >>>>>>>>>>>>> >>>>>>>>>>>>> hier(7): document /home/ and /usr/home/ >>>>>>>>>>>>> >>>>>>>>>>>>> Reviewed by: imp >>>>>>>>>>>>> MFC after: 1 week >>>>>>>>>>>>> Sponsored by: The FreeBSD Foundation >>>>>>>>>>>>> Differential Revision: https://reviews.freebsd.org/D4= 0002 >>>>>>>>>>>>> --- >>>>>>>>>>>>> share/man/man7/hier.7 | 10 ++++++++++ >>>>>>>>>>>>> 1 file changed, 10 insertions(+) >>>>>>>>>>>>> >>>>>>>>>>>>> diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 >>>>>>>>>>>>> index ff11289436a1..b6759dd6e65b 100644 >>>>>>>>>>>>> --- a/share/man/man7/hier.7 >>>>>>>>>>>>> +++ b/share/man/man7/hier.7 >>>>>>>>>>>>> @@ -90,6 +90,10 @@ file descriptor files; >>>>>>>>>>>>> see >>>>>>>>>>>>> .Xr \&fd 4 >>>>>>>>>>>>> .El >>>>>>>>>>>>> +.It Pa /home/ >>>>>>>>>>>>> +user HOME directories. >>>>>>>>>>>>> +This is a symlink to >>>>>>>>>>>>> +.Pa /usr/home/ >>>>>>>>>>>> >>>>>>>>>>>> /usr is "contains the majority of user utilities and applica= tions" >>>>>>>>>>>> it should not contain home directories. >>>>>>>>>>>>> I do not know when this move to usr came about it was tradi= tionally >>>>>>>>>>> /home. >>>>>>>>>>>> I do not know why /usr/home even exists, it is not needed by= >>>>>>>>>>>> anything I am aware of. If we have a compatible link it >>>>>>>>>>>> should be, usr/home -> ../home and /home should be the >>>>>>>>>>>> directory. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I agree that /usr/home is strange, and is unique (?) to FreeB= SD. >>>>>>>>>>> >>>>>>>>>>> The oldest commit in the output of `git log --grep '/usr/home= '` is: >>>>>>>>>>> >>>>>>>>>>> commit f2400d465896a8e4f6fdc57eba840cf49b25bbbd >>>>>>>>>>> Author: David Nugent >>>>>>>>>>> Date: Fri Jan 3 04:42:18 1997 +0000 >>>>>>>>>>> >>>>>>>>>>> Implemented /home -> /usr/home symlink kludge. >>>>>>>>>>> If home basedir would be created in the root partition, = create >>>>>>>>>>> it under /usr instead, and symlink /basedir -> /usr/base= dir. >>>>>>>>>>> >>>>>>>>>>> Notes: >>>>>>>>>>> svn path=3D/head/; revision=3D21242 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> So it has been this way for 26 years at least. I do not know = what to say >>>>>>>>>>> about whether /usr "should" contain it, but it does. >>>>>>>>>> >>>>>>>>>> Usually history matters. I can understand not changing it. On = the flip >>>>>>>>>> side, I cut my UNIX teeth on SunOS 4 and Solaris where /home w= as /home -- >>>>>>>>>> albeit automounted from /export/home on localhost or some NFS = server. In >>>>>>>>>> the Red Hat land at $JOB, /home is its own partition (actually= an LVM >>>>>>>>>> volume). In both cases /home is not in /usr because end-users = can fill >>>>>>>>>> /usr. This can be problematic operationally because it's yet a= nother >>>>>>>>>> headache to deal with should someone fill the filesystem. Fill= ing /usr is >>>>>>>>>> more serious than filling /home. >>>>>>>>>> >>>>>>>>>> As a point of interest, when I installed my first FreeBSD many= moons ago I >>>>>>>>>> used the Solaris standard of /export/home, using amd (now auto= mount) to >>>>>>>>>> serve my /home. I'm not advocating we do this, it's overkill, = but /home >>>>>>>>>> should not live in /usr. It's a potential headache for any sys= admin. >>>>>>>>>> >>>>>>>>>> With ZFS the solution is easy. With UFS based systems there ar= e a lot of >>>>>>>>>> other factors that go into how we install the "default" from t= he get-go. >>>>>>>>> >>>>>>> >>>>>>> First off, thank you Mike for looking at this closer. Add me to = any reviews >>>>>>> you might creat. >>>>>>> >>>>>>>>> The situation is a fair mess. It took me a little while to fig= ure out that >>>>>>>>> the kludge referenced above is in the pw(8) command, which is u= sed as the >>>>>>>>> backend to adduser(8). Neither /home nor /usr/home is in the b= ase package. >>>>>>>>> adduser defaults to /home/user, and creates the parent director= y (e.g. /home) >>>>>>>>> if it does not exist, but if there is no internal slash, pw mov= es the parent >>>>>>>>> to /usr. In this case, it makes the symlink from root. zfs i= s different, >>>>>>>>> in that it includes a usr/home dataset already (created by bsdi= nstall). >>>>> >>>>> I am proposing we fix this. More below. >>>>> >>>>>>>>> In this case, creating a user with /home/user causes the symlin= k to be added >>>>>>>>> as a side effect. >>>>>>>>> >>>>>>>>> I?m sure the kludge was originally done when root and /usr were= separate >>>>>>>>> file systems by default, root was small, and there was no /home= by default. >>>>>>>>> However, we now default to a single large file system (with dat= asets, in >>>>>>>>> the zfs case). >>>>>>>>> >>>>>>>>> All of this really is a horrible kludge, and it is a house of c= ards. I'm >>>>>>>>> amazed that it doesn't break more often. I'm tempted to remove= the kludge >>>>>>>>> and change the zfs setup to create a home dataset rather than u= sr/home. >>>>>>> >>>>>>> Or make it a menu option(s): >>>>>>> if (zfs) "Create a user home dataset?" (default yes) >>>>>>> if (ufs) "Create a user home directory?" (default yes) >>>>>> >>>>>> Are you suggesting that bsdinstall should do this? For ufs, there= is no >>>>>> need. >>>>> >>>>> Yes I am suggesting that bsdinstall should have a knob to turn >>>>> on (by default) and off the creation of a "home dataset/directory" >>>>> as you well need that if you choose to add users during a bsdinstal= l >>>>> run, or you may not want a /home at all (currently not possible) as= you >>>>> have other mechanisms for dealing with it. >>>>> >>>>> The need for this is just as valid for ufs as it is for zfs. >>>>> >>>>>> >>>>>>> "User home location: /home" (This is default) >>>>>> >>>>>> Are you proposing that the default for pw should be set at this po= int? >>>>>> From all I read the default for pw is already, and should remain /= home. >>>>> Man page bears that out. It has no mention of any symlink or usr/h= ome. >>>>> >>>>>> That doesn?t seem necessary, and I don?t know if it would work fro= m >>>>>> bsdinstall. >>>>> >>>>> No, this has nothing to do with pw directly, this is simply the pat= h >>>>> of the dataset(zfs)/directory(ufs) that bsdinstall should create IF= F >>>>> you sayd yes to the create question. At present this is hardcoded >>>>> into bsdinstall as: >>>>> /usr/home >>>>> /home -> /usr/home >>>>> >>>>> I am advocating that this should all be controllable from menu. >>>>> >>>>>> >>>>>>> As far as I am concerned the symlink can just die.... >>>>>> >>>>>> I agree, but that requires a change to pw. It creates the symlink= on the >>>>>> first account creation using /home. >>>>> >>>>> I am missing something here, pw creates the symlink yuk. >>>>> As far as I was aware the only think that created a symlink >>>>> /home -> /usr/home was bsdinstall. >>>>> >>>>>> >>>>>>>>> However, if zfs users explicitly configure a home directory und= er /usr/home, >>>>>>>>> this would end up in the usr dataset. An alternative would be = to remove the >>>>>>>>> code from pw to create the parent directory entirely (which see= ms sensible), >>>>>>>>> and create a /home directory for ufs installs. I don't know ho= w well known >>>>>>>>> it is that adduser/pw will create parent directories for home d= irectories >>>>>>>>> though. This cleanup would change the default location for hom= e directories >>>>>>>>> to /home, which makes more sense. It would require documentati= on, e.g. in >>>>>>>>> the release notes. The changes would only affect new installat= ions, not >>>>>>>>> upgrades. >>>>>>>>> >>>>>>>>> Thoughts? >>>>>>>>> >>>>>>>> >>>>>>>> Adding home would require a change to BSD.root.dist, since it's = not >>>>>>>> currently in there. Only usr is present. >>>>>>> >>>>>>> It should *not* be in the etc/mtree/BSD.*.dist files at all. >>>>>>> And it is not on my 13.1R system. It would not need to be >>>>>>> in BSD.root.dist either, this is a *post distribution* created >>>>>>> directory/dataset. >>>>>> >>>>>> I?m curious why you think this. But if pw retains the ability to = create >>>>>> the parent directory for the user directory (and I now think it sh= ould), >>>>>> there is no need for a /home by default. >>>>> >>>>> Because there is no need for /home in a base distribution until >>>>> you add a user, and that is a site specific change. What in >>>>> the base system *needs* /home? >>>>> >>>>>>>> IMHO changing pw would be a reasonable approach. >>>>>>> >>>>>>> I am mixed on this.... it more or less does the right >>>>>>> thing, and if a user specifies /tmp/foolishidea/home/$USER >>>>>>> that is on them. No one said all users homes must be >>>>>>> in the same location. >>>>>> >>>>>> Except for moving parent directories with a single component under= /usr, >>>>>> and creating a symlink for them... >>>>>> >>>>>> My current plan is to change pw not to move things under /usr, cha= nge the >>>>>> zfs setup to use a home dataset rather than usr/home (correspondin= g to the >>>>>> pw default), and then change the various man pages that refer to /= usr/home. >>>>>> Does that seem reasonable? >>>>> >>>>> Yes, then the knobs can easily be added, or scripted install should= just >>>>> work to effect the knobs. >>>>> >>>>>> Mike >>>>> >>>>> -- = >>>>> Rod Grimes rgrimes@= freebsd.org >>>> >>>> >>> >>> -- = >>> Rod Grimes rgrimes@fr= eebsd.org >> >> > > -- = > Rod Grimes rgrimes@free= bsd.org From nobody Sun May 14 12:52:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QK2Tv4ft2z4BgN2; Sun, 14 May 2023 12:52: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 4QK2Tv46Rkz43h3; Sun, 14 May 2023 12:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684068771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vOZ/s61He1WCuJhouL9P60pVmrBLJGOtUIioY33DKwQ=; b=LECoLwXN5rF0gRtIDSbTxNTDwBrSz737s4EdXXcngUWlRfMC46Vrgob8Msml9rwxloSQEu EM58d69xmh0YW9V9JIY1VqeF0TtdoCrxRIKyjy7IEBk0g/PyVVuDOzTzTYNZjgUf4SNXEr HkyZ9LLMXKScrRmHjEq50RsVrLaJwXKdz7zKcc+KNZuikEYtsQ1gRjkeqfAWLGqI53C6zU ak8j6DidtPlFpYtHoOvYHAg89YydTICqevZ80MToEM0LiIyFbwdFjlihftYD8Ffnv3+jU9 MiwKR2qK1HqcSNeOaP1JVGSiyOFas1QIs4AzRl0ODaJGCciFs0czCoSSqwCOhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684068771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vOZ/s61He1WCuJhouL9P60pVmrBLJGOtUIioY33DKwQ=; b=k6NBteI5nBFzwapQYg9L4uRswbV+cGrDq+ad8HpVY3vWxNts0cqGE+f8Ly5YGBbZG5MfOv rJnCLvgY+9Se6dTnl5gTUMzfCwlUtuSDgZ5OsBnXDsM3m1dIzxM5d0IlIrd4z/6kHdY20g s5Ty5ll2ZK3ILKnFVNho8qrNAmvvv1lu4xmjyYoqTwfhwT5V5e5HyQIYubzcfyGVl+34MA a94+6ZJ8Aod86wcjR5AjRItO12US9n7Kbh3rJgOiXC5sSYs+1/T+yxl9/GOvZX4K1LU0Vs alKfbPm3jID3UReiVEWwNlEeTlX9hteBrKLB8jBTc8VGpXU2fYKo4BnaM4l9Kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684068771; a=rsa-sha256; cv=none; b=t9ZSt1HAIAoGftijtixlOMAoXpEMgcQi2K7ocqBLbNVvNA2uHtm9fXsvlLb2pYXxRJGQUp 7IjlH47RWIXYjr3Z7ZffhTAMn0RuW0QTTpjyycMLP91KF9I82Y8OAchaKBYVtGUJxZvz5f y1gfr+AOtWJKvCl4KnG8GHMkJ0m0hog1l4cg0siIF2tHGbV5+yzpyYG5F84+Xe633R+gqt g5o7tiz+YhbcvPMz1zg/QxaUS4f0dRUwS+NQHjcs8bD6HWJJwN4RSpvgtk85coRdQNaShY YV3tj4l5jiOCk5bil+H6PhzaLjfmMhWKskQ9SBD80/9iSKD9KeyU1/exmOt8vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QK2Tv37XFz10F7; Sun, 14 May 2023 12:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34ECqpLn023085; Sun, 14 May 2023 12:52:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34ECqpb3023084; Sun, 14 May 2023 12:52:51 GMT (envelope-from git) Date: Sun, 14 May 2023 12:52:51 GMT Message-Id: <202305141252.34ECqpb3023084@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: 3aa0cc47eeb0 - main - CONTRIBUTING.md: minor changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: 3aa0cc47eeb05a8d0e8bc2a29211e3ee6ad2324c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3aa0cc47eeb05a8d0e8bc2a29211e3ee6ad2324c commit 3aa0cc47eeb05a8d0e8bc2a29211e3ee6ad2324c Author: Graham Perrin AuthorDate: 2023-05-14 12:49:00 +0000 Commit: Warner Losh CommitDate: 2023-05-14 12:51:56 +0000 CONTRIBUTING.md: minor changes Fix a singular/plural mistake, spelling error, a markup error, and a handful of other minor changes. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/742 --- CONTRIBUTING.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cc86e096dd18..fab8262070ce 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,9 +23,9 @@ changes where the contributor already has a GitHub account. Presently, GitHub 'freebsd-src' repository is one of the publish-only services for the FreeBSD 'src' repository the project uses to promote collaboration and contribution. Pull requests that need little developer time, are generally -small, and have limited scope should be submitted. Do not submit pull request -that are a problem reports, works in progress, changes that are controversial -and need discussion, changes require specialize review, or are security related. +small, and have limited scope should be submitted. Do not submit pull requests +that are security-related, problem reports, works in progress, changes that are controversial +and need discussion, or changes that require specialized review. A pull request will be considered if: @@ -34,15 +34,15 @@ A pull request will be considered if: * You can respond to feedback quickly. * It touches fewer than about 10 files and the changes are less than about 200 lines. Changes larger than this may be OK, or you may be asked to submit multiple pull requests of a more manageable size. * Each logical change is a separate commit within the pull request. Commit messages for each change should follow the [commit log message guide](https://docs.freebsd.org/en/articles/committers-guide/#commit-log-message). -* All commits have your name and valid email address as you would like to see them in the FreeBSD repository as the author. Fake github.com addresses cannot be used. +* All commits have, as the author, your name and valid email address as you would like to see them in the FreeBSD repository. Fake github.com addresses cannot be used. * The scope of the pull request should not change during review. If the review suggests changes that expand the scope, please create an independent pull request. * Fixup commits should be squashed with the commit they are fixing. Each commit in your branch should be suitable for FreeBSD's repository. * Commits should include one or more `Signed-off-by:` lines with full name and email address certifying [Developer Certificate of Origin](https://developercertificate.org/). * The commits follow FreeBSD's style guide. See [Style](#Style). -* Run tools/build/checkstyle9.pl on your git branch and eliminate all errors -* The commits should not introduce trailing white space. -* If the commmit fixes a bug, please add 'PR: ' to the comment message. -* If there's a code review in phabricator, please include a link as a 'Differential Revision: ' line. +* Run tools/build/checkstyle9.pl on your Git branch and eliminate all errors +* The commits do not introduce trailing white space. +* If the commmit fixes a bug, please add 'PR: \\' to the commit message. +* If there's a code review in Phabricator, please include a link as a 'Differential Revision: ' line. When updating your pull request, please rebase with a forced push rather than a merge commit. From nobody Sun May 14 13:06:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QK2p047T8z4BgW7; Sun, 14 May 2023 13:06: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 4QK2p03dwpz44ky; Sun, 14 May 2023 13:06:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684069608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SzTpDJyFygHGiRV0FTtSe8ryooF77n9CyBMVhQ+zkG8=; b=WQTBA3hyXlyEg9ZwUcPuR5EyqT1y4f3/c5QZvuUQaOQAdtKG0eLk3W1EU+pG+3IAsXZLLc FdAP5mTXWXU2yJsPCaULLvHms2wOg4RQ21itQUoB8Z8VwUaxkkxh5qSJhWCMjrHfAqnBrs nanPeqacgRy8boRnFMf6TyLAfVTTpxwhr3UiPCwORC7v2pfFy9fjSWlIuHJ29LrosHwp1z OxCyq5JvZzD2WKYBQVHg4AGk0jrm7jKi4YibOjV/bvqNpdmVgvtOhq2XQnPJvq/HGA5j9T hOoCQj794Hzcb0D9DHtRFgRnOzz3Fc+TA5v4NKa6utXh4ndND5F6a2tEO7LWGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684069608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SzTpDJyFygHGiRV0FTtSe8ryooF77n9CyBMVhQ+zkG8=; b=WjTODSXB7TIU2Z92Ad9PJuS48ulHQ8wtNx7Pyc1DWdlMfK1zgUHY8yq+Vny1Z5W8m7UOzm Iyf6T3bF6xUsZYZCvrFEY22iyX92cRqqIF+A/82IwDRnyUyL0rYSPf8zpxbc7WK2NulUO+ GSYNtSaKe5FlZELB3j7PzMdIfD2vcx1wMPzPMY14rLMmcrD13Rr9dqa9mAuKxGJqUgLSAQ ZombEBWKUXKKkxW1PtfMqrAhkNJ6SmI3rDVNrCni8wVV7ok1g3baurPVQCN8O0a9z+tvQb mvkdX3+ljwKUsJzgb283shKwyGkamDGTwG/891mRm8pfcp+2C/uJoLFpO0wezQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684069608; a=rsa-sha256; cv=none; b=Y23vLJFfcnNC4utQY+MjFy/42aHCX4Ujsnuuzl6L4jv77Y3MaXGNm8TWpqglTURKl3ta0+ G02zn+6d80Sils4QDAaDKVJK12JtQbj5rEyxdXQ0bVFD/vVHlVgeZAIXML+r6t2s7x5+Ru MEuEJkTjLz6fgcvu7Wiz+kYqDYvVcWOqmkwSNmub1i0rIk/+Z072Y+BzveK8QHAQUMduuV TjB7r5J3m8xccePep5li1Nlj/Kf+5OWEgnww+UVOm0UUcsyHADDWJyogl//twqutcLB8Jq IH0EUax/cVWCxxGM0EFBDGrhC7IZlc/Cse4f0vfBNGvsRPRuKWiWC+XbicKHCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QK2p02ZHnz10G0; Sun, 14 May 2023 13:06:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34ED6mZM040474; Sun, 14 May 2023 13:06:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34ED6m67040473; Sun, 14 May 2023 13:06:48 GMT (envelope-from git) Date: Sun, 14 May 2023 13:06:48 GMT Message-Id: <202305141306.34ED6m67040473@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: ddea995ddc08 - main - Update UPDATING List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: ddea995ddc08eb7988867989db0a9afe0ae1cd52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ddea995ddc08eb7988867989db0a9afe0ae1cd52 commit ddea995ddc08eb7988867989db0a9afe0ae1cd52 Author: Graham Perrin AuthorDate: 2023-05-14 13:05:05 +0000 Commit: Warner Losh CommitDate: 2023-05-14 13:05:42 +0000 Update UPDATING Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/712 --- UPDATING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 17d80334c794..caad098c683d 100644 --- a/UPDATING +++ b/UPDATING @@ -1,4 +1,4 @@ -Updating Information for FreeBSD current users. +Updating Information for users of FreeBSD-CURRENT. This file is maintained and copyrighted by M. Warner Losh . See end of file for further details. For commonly done items, please see the From nobody Sun May 14 14:19:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QK4Pq29YZz4BlNp; Sun, 14 May 2023 14: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 4QK4Pq1jhCz4F5m; Sun, 14 May 2023 14: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=1684073967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FxFvSRVExJootF/CisXiZofwQixorGoXZ45oTDdvHPI=; b=KZ2xmiuqr+yDvVRgRLiTwcqbZM0zqEeOnT128rlX6VJAYA5rC9mgy+C+Dmmgb6REzNsN9+ cOUzXmIlJT1g+NZJCKezu3vSgmQG16KuPu74m1IHgqqCP+bz+EYhe7aFZzjlOG66OvtvSw AQ0EFUXfTxQaKGac3fZySY/jsWgBr7WK1jIEtq+gAWIxcnItfFWXLYngB1nHJb7gH4Ja+V Jlekfv3xsFrdE7R9beNYww2tc/O8s+UybuVQrubnPQ5a/yQoBcccatA4eOezqzIAZ5vNs1 G/79l7SAc6xFLKgrAJlpc8C15138a3T+Z4ti9UtsLDMlXAl5yXXpO3R1yTnibw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684073967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FxFvSRVExJootF/CisXiZofwQixorGoXZ45oTDdvHPI=; b=YCh9SFhB5eJBuAmi3yfQKPHfeh90OpPJluHU0mbTsmULrwdXPjMiLemtGU9FEA/OAaMr6P GX6N15yMIxK0rFWq2QI+YOhn6XuxIHvHzTjuseD2hiRGLRpBH5WQIEjmir/RyWK+p7+UBs ba9a4djfi3y78SSNAGPR5B1tT/zFL1YM0pF2g1OAVcygQavKHOo+cRcZs4Fr2218VQfI1O xEUQLFsjHGGzEH8rIEH+nwlH7FdoUedCsiR258JrpzwE//oN7hs186elxb8GZGzPSw2PNI vBgYPGl/6LL4mUaWscV8qBjQkeZM4gEMVvb1/BUwTkFGuW0J3I30xM12JxM4Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684073967; a=rsa-sha256; cv=none; b=U34rNPsxYpC6tSKeRWdsTWdLK3hsPGZeIH2nhxpSo3i8bWf9+7MlyXhuIkNErsSFQZZENt Na4RIELlA2TKKrMJo54mhfeZBI9gye0ciDm8sFJ9IeDABhFEDksxQzDjp1F7QTQa48mE5Y 0RB2nMnAOG2wytE+ySdxX/HdsmmMbRKeIcUoRdtgGIqcXNM3ImPeulkGuHmg7eTm/34dMD XohwS4yHgRbEqL5YwmZ63ovDQt/qErvQzLLG/HgT+u7WKThN+l/MLPh6UcjDuMNl/InL9u BiLlLBjJvEhGjkYVdVmXduAUs4LeLucl70yownPiRk6ClVNawHiW6glRaX+z+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QK4Pq0bwtz12Bb; Sun, 14 May 2023 14:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34EEJQu9056279; Sun, 14 May 2023 14:19:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34EEJQhT056278; Sun, 14 May 2023 14:19:26 GMT (envelope-from git) Date: Sun, 14 May 2023 14:19:26 GMT Message-Id: <202305141419.34EEJQhT056278@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: b46d461d59b7 - main - src.conf.5: regen List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b46d461d59b78ee189f195e18b82dd31654eefb3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b46d461d59b78ee189f195e18b82dd31654eefb3 commit b46d461d59b78ee189f195e18b82dd31654eefb3 Author: Ed Maste AuthorDate: 2023-05-14 14:17:59 +0000 Commit: Ed Maste CommitDate: 2023-05-14 14:17:59 +0000 src.conf.5: regen Fixes: df9974197e46 ("Add description of WITH_META_ERROR_TARGET") Fixes: 2b519b170709 ("Update description of WITH_DIRDEPS_BUILD") Fixes: 722cfce5f494 ("Fix typo and use .Fx in WITH_DIRDEPS_BUILD") Sponsored by: The FreeBSD Foundation --- share/man/man5/src.conf.5 | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 83dd10f18164..d610fc5a70bf 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd May 12, 2023 +.Dd May 14, 2023 .Dt SRC.CONF 5 .Os .Sh NAME @@ -488,7 +488,7 @@ When set, it enforces these options: .It Va WITHOUT_DICT Do not build the Webster dictionary files. .It Va WITH_DIRDEPS_BUILD -This is an experimental build system. +This is an alternate build system. For details see https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm. Build commands can be seen from the top-level with: @@ -522,7 +522,14 @@ The build hides commands executed unless is defined. .Pp Note that there is currently no mass install feature for this. +This build is designed for producing packages, that can then be installed +on a target system. .Pp +The implementation in +.Fx +is incomplete. +Completion would require leaf directories for building each kernel +and package so that their dependencies can be tracked. When set, it enforces these options: .Pp .Bl -item -compact @@ -1161,6 +1168,25 @@ Do not build utilities for manual pages, .Xr whatis 1 , .Xr manctl 8 , and related support files. +.It Va WITH_META_ERROR_TARGET +Enable the META_MODE .ERROR target. +.Pp +This target will copy the meta file of a failed target +to +.Va ERROR_LOGDIR +(default is +.Ql ${SRCTOP:H}/error ) +to help with failure analysis. +Depends on +.Va WITH_META_MODE . +This default when +.Va WITH_DIRDEPS_BUILD +is set. +.Pp +This must be set in the environment, make command line, or +.Pa /etc/src-env.conf , +not +.Pa /etc/src.conf . .It Va WITH_META_MODE Create .Xr make 1 From nobody Sun May 14 14:51:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QK5714zxzz4BmlK; Sun, 14 May 2023 14:51:41 +0000 (UTC) (envelope-from gkontos.mail@gmail.com) Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) (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 4QK5706K8Yz4GqS; Sun, 14 May 2023 14:51:40 +0000 (UTC) (envelope-from gkontos.mail@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=Ngxbtzpm; spf=pass (mx1.freebsd.org: domain of gkontos.mail@gmail.com designates 2a00:1450:4864:20::12b as permitted sender) smtp.mailfrom=gkontos.mail@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-4f122ff663eso13323207e87.2; Sun, 14 May 2023 07:51:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684075899; x=1686667899; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wjunn4+x2QEs4HRrQcozT7INn2DM0lGSHIZkmkDz3T0=; b=NgxbtzpmMG/5bDDIDFD+7GdqHMvnSILjCMR0WRBRzm7mto9Z0VBIzHLpuVVCRTGz1W Wrgdlp00eRmCaC9FypF7jM3BgrXkEuIZmrXYdXyTL5gZGx6WXMjBe5Pbx3A68zQTMK+Z ZkYvArkvIxXVFk+Z67qcyWqtJZ/lt6F4LOp2KdYsXU69AYvJsbnW6EaNHd7kZNn/e1bJ EXOUJhB91WX8Fh6m+vwSBcDfX46FDceXV3dm0va7BX8NOEflBxMGbDvgCAmZovD/Rcss xzacZ+xzRUNIr527QfuasJM0XubvqwKxFDWQyMU1qHqjy9cgEo7+Gluyy7wweUL052/r Tjyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684075899; x=1686667899; h=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=wjunn4+x2QEs4HRrQcozT7INn2DM0lGSHIZkmkDz3T0=; b=PqaMyHReR9Rey9LIBIWlMIszlBn4VreHnNjaa+Ha+0GKCrp3DBT9l1uwhkPqE8Icpx VuFZwhrOVcm++K8KXwwjsHDDtcyljwHXxM1lrrVKtu/rE79Rf62NKWj1LGxfgMYnSiJ1 jnBWpgXJk6buPsXdTJQboEfYDvqkOoFRMfcbW4VUze9WfyHUvFy4+NAbIL+owx3T4InD VaQZCe+5e01DdrPY7WPx+PebYDQcX+aWxklMQuryj56faFvEfkPz6m6q/xkl+gNC0J/K m7AxY1FdQTYv91vR6ngI1MLPwhmjG8swXco7G8ry7bYlKGLfnWxB7+57Sgr5Q21jOA17 EtdA== X-Gm-Message-State: AC+VfDyep8QXvyVgSW6ote/9T3LPK08a5Jm+evi9QzF2Yk+7W4NnrOp/ jbjjp+iNrukR9tBeSF6jz3rsV2slaH27FbiWpUarLgDFjY8= X-Google-Smtp-Source: ACHHUZ55Dks4uvkxFeUA54ItgOCbWzD4TL9gzT7gtrnOiYtDjUL9qngiqYRktLrYmmwYqGhlDMRiOGvsFV90ynuvGwI= X-Received: by 2002:ac2:5483:0:b0:4e9:9f10:b31d with SMTP id t3-20020ac25483000000b004e99f10b31dmr5033140lfk.2.1684075898582; Sun, 14 May 2023 07:51:38 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202305092009.349K9AtK077030@gitrepo.freebsd.org> In-Reply-To: <202305092009.349K9AtK077030@gitrepo.freebsd.org> From: George Kontostanos Date: Sun, 14 May 2023 17:51:27 +0300 Message-ID: Subject: Re: git: b3fe5d932264 - main - Fix off-by-one error in fsck_ffs(8) chkrange() block-number check. To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org Cc: dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [0.00 / 15.00]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_SPAM_LONG(1.00)[1.000]; NEURAL_HAM_SHORT(-1.00)[-0.996]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::12b:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; TAGGED_FROM(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCPT_COUNT_THREE(0.00)[3]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; TO_DN_NONE(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4QK5706K8Yz4GqS X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N unsubscribe From nobody Sun May 14 16:50:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QK7ll0chvz4BtCf; Sun, 14 May 2023 16:50: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 4QK7lk6ySZz4PwC; Sun, 14 May 2023 16:50:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684083011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=96I1IAz/fMWHD3evvEr+rGjaDZN/ATKPNcRF+v0nzTs=; b=pKh2s6Jrn/sFgDwC4EouAe6hXQ9VZr5YFPBA5/+eQ5FeaLJp7ZIGRSjxXuJf9RlS4Wvj9P xTIM2K+iylRb2PpEoG/S28SEwOsrf3g+MhmlINSDf/8ln/0WCXjXDlqioQeC848uFpMG8R ZjJvFHfnej+QEGPXiHhsRSEJioTqrwz/pKSozaTE+HpsMZmo3sGefePDrSv9bl6rohVGKK 3slJIvelHJNE5HNp4yQvA20DDUlOkyEe7B1WWe3hHPlQ0crM/ksamVuZnpw1iHESXCePW4 OdAuOWK77ygR0PW1N9KF/HYvjo1YmxX7CdOQE2iNdgvwq4Wkk3z1oHN5Jqsa/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684083011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=96I1IAz/fMWHD3evvEr+rGjaDZN/ATKPNcRF+v0nzTs=; b=qW0PpOlgmiJnoJL0siyqifEoSdIX+Ne2QbuaW5xZIiTEqlx7xry8vcLk4FqyxmZ7ATeDzz 32NiIvgTGzVszszhaWpveSp0DExnUaYZCS8L0BpiU9KTHukFxb8T6qUBtZsL+TKfctk5k/ JPJOoghZoMhNsv7WmgL3PcJ0C439yWF9oB+5D/SIuiCfvRiZbeJ/VSTTLTRxIF1ziNJ4R5 G7niUDis5xobW+pkK6H+Vp1XA2ulQW8OPwKKpPZfTp6+A63zQs9aRTpj6Z4vzZW+bRlfag ss9i/qSBDq5zGGDyFQiABM/SOwJGaha+GWsiebMG9gCka0lW7YdJkYpYARXb+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684083011; a=rsa-sha256; cv=none; b=gDXysbaM/ZWmQIT0yDVkK04/Z2VP1cbEAQswcw0ga2+G6tlCPNyJBRz3dRkuJ5iVzhTuoo DeK8mPcXESA/NmLqJ8oFouJ4kdBaTpwB5iuVd4ymLXGechhHV2+YD/f3qw3VCel6mOqX9U gWu32JkGFAQy4hsZaFCvVtnVx8IipZ0ktufrXwJQG04NrcovW0NtdJqQb6kL4AaagyAqAP Dp8sVR1pAe9n62HKJOyQ5R+Stk9jOvfwq51sh6ymaiMO8nMa+Kos27DyIaOfGxXx609DVT B6KkdZbpGq9Nrhvff+0E2lgDseSWLFtQIGnBCmIS6+vvA+XeUKsdvwG9CQ2gpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QK7lk623Cz15Gw; Sun, 14 May 2023 16:50:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34EGoAkH005938; Sun, 14 May 2023 16:50:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34EGoAd7005932; Sun, 14 May 2023 16:50:10 GMT (envelope-from git) Date: Sun, 14 May 2023 16:50:10 GMT Message-Id: <202305141650.34EGoAd7005932@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 7d86c8b8eaf5 - main - sys.dirdeps.mk we do want to override OBJTOP List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7d86c8b8eaf5a2cede0d7343202c87edc4540e9a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=7d86c8b8eaf5a2cede0d7343202c87edc4540e9a commit 7d86c8b8eaf5a2cede0d7343202c87edc4540e9a Author: Simon J. Gerraty AuthorDate: 2023-05-14 16:50:03 +0000 Commit: Simon J. Gerraty CommitDate: 2023-05-14 16:50:03 +0000 sys.dirdeps.mk we do want to override OBJTOP Add more comments to explain what and why. Ensure OBJROOT ends in / or - (/ preferred). Export OBJTOP if level > 0 this avoids the issue with bmake/unit-tests. Check if we have to override MAKEOBJDIR and if so, put it into env correctly. --- share/mk/sys.dirdeps.mk | 46 +++++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/share/mk/sys.dirdeps.mk b/share/mk/sys.dirdeps.mk index 2daf3681d8d0..a3d22d7c2e82 100644 --- a/share/mk/sys.dirdeps.mk +++ b/share/mk/sys.dirdeps.mk @@ -1,4 +1,4 @@ -# $Id: sys.dirdeps.mk,v 1.9 2023/05/11 20:05:42 sjg Exp $ +# $Id: sys.dirdeps.mk,v 1.12 2023/05/14 16:16:03 sjg Exp $ # # @(#) Copyright (c) 2012-2023, Simon J. Gerraty # @@ -45,6 +45,7 @@ SRCTOP := ${SB_SRC:U${.PARSEDIR:tA:H:H}} .endif # fake SB if not using mk wrapper +# SB documented at http://www.crufty.net/sjg/docs/sb-tools.htm .if !defined(SB) SB := ${SRCTOP:H} .export SB @@ -54,6 +55,10 @@ SB := ${SRCTOP:H} OBJROOT := ${SB_OBJROOT:U${MAKEOBJDIRPREFIX:U${SB}/obj}/} .export OBJROOT .endif +# we expect OBJROOT to end with / (- can work too) +.if ${OBJROOT:M*[/-]} == "" +OBJROOT := ${OBJROOT}/ +.endif .if empty(STAGE_ROOT) STAGE_ROOT ?= ${OBJROOT}stage @@ -66,9 +71,6 @@ STAGE_ROOT ?= ${OBJROOT}stage # TARGET_SPEC must not contain any '.'s. TARGET_SPEC_VARS ?= MACHINE -.if !target(_tspec_env_done_) -_tspec_env_done_: .NOTMAIN - .if ${TARGET_SPEC:Uno:M*,*} != "" # deal with TARGET_SPEC from env _tspec := ${TARGET_SPEC:S/,/ /g} @@ -86,7 +88,6 @@ TARGET_SPEC= .endif .endfor .endif -.endif # Now make sure we know what TARGET_SPEC is # as we may need it to find Makefile.depend* @@ -98,6 +99,10 @@ TARGET_SPEC = ${TARGET_SPEC_VARS:@v@${$v:U}@:ts,} .endif .if ${TARGET_SPEC_VARS:[#]} > 1 +TARGET_SPEC_VARSr := ${TARGET_SPEC_VARS:[-1..1]} +# alternatives might be +# TARGET_OBJ_SPEC = ${TARGET_SPEC_VARSr:@v@${$v:U}@:ts/} +# TARGET_OBJ_SPEC = ${TARGET_SPEC_VARS:@v@${$v:U}@:ts/} TARGET_OBJ_SPEC ?= ${TARGET_SPEC_VARS:@v@${$v:U}@:ts.} .else TARGET_OBJ_SPEC ?= ${MACHINE} @@ -113,22 +118,37 @@ MACHINE0 := ${MACHINE} .export MACHINE0 .endif +MACHINE_OBJ.host = ${HOST_TARGET} +MACHINE_OBJ.host32 = ${HOST_TARGET32} +MACHINE_OBJ.${MACHINE} ?= ${TARGET_OBJ_SPEC} +MACHINE_OBJDIR = ${MACHINE_OBJ.${MACHINE}} + +# we likely want to override env for OBJTOP .if ${MACHINE} == "host" OBJTOP = ${HOST_OBJTOP} .elif ${MACHINE} == "host32" OBJTOP = ${HOST_OBJTOP32} +.else +OBJTOP = ${OBJROOT}${MACHINE_OBJDIR} +.endif +.if ${.MAKE.LEVEL} > 0 +# should not change from level 1 onwards +# this only matters for cases like bmake/unit-tests +# where we do ${MAKE} -r +.export OBJTOP .endif -MACHINE_OBJ.host = ${HOST_TARGET} -MACHINE_OBJ.host32 = ${HOST_TARGET32} -MACHINE_OBJ.${MACHINE} ?= ${TARGET_OBJ_SPEC} -MACHINE_OBJDIR = ${MACHINE_OBJ.${MACHINE}} -OBJTOP ?= ${OBJROOT}/${MACHINE_OBJDIR} - +.if ${MAKEOBJDIR:U:M*/*} == "" # we do not use MAKEOBJDIRPREFIX +# though we may have used it above to initialize OBJROOT .undef MAKEOBJDIRPREFIX -# we use this -MAKEOBJDIR ?= ${.CURDIR:S,${SRCTOP},${OBJTOP},} +# this is what we expected in env +MAKEOBJDIR = $${.CURDIR:S,^$${SRCTOP},$${OBJTOP},} +# export that but do not track +.export-env MAKEOBJDIR +# this what we need here +MAKEOBJDIR = ${.CURDIR:S,${SRCTOP},${OBJTOP},} +.endif STAGE_MACHINE ?= ${MACHINE_OBJDIR} STAGE_OBJTOP ?= ${STAGE_ROOT}/${STAGE_MACHINE} From nobody Sun May 14 21:24:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKFql1dmxz499mr; Sun, 14 May 2023 21:24: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 4QKFql17Ltz3w9m; Sun, 14 May 2023 21:24:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z3fnXm6pslNAGx1mxv3nTxvCWJ7lp+7XPsKWCxFkpxk=; b=bonQoL1f137QAgQr7i2JVY754f+PhykpWBE9a34PyrW/d6Z2FVjHpvwgVOAaSgdVZ/Kow3 DeNgXisGSQVyCvSJxmFn+/62XdYwamQrgXDop6ORyMAOHvOVmrW7WwvEXnFamng8pLTbcJ hkzEpyLmLfjZzeMtIv1ZV5cYvC6toJ+Ju9FI4aU/NWZD2+THfQ/Svm1pZRsTHOQidPRFf6 X3FQaPO813G7qtrgB0OljsK4WF7Ii1DS6WG/QybWPxI97bJI36RHYuc2neJN8dj2J+OQEs O4Cf1SKHZfaL2l21eV31YFZUyeSI8g+yUn0cWmDDv+VM2kQNBcfaN/5de/pteQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z3fnXm6pslNAGx1mxv3nTxvCWJ7lp+7XPsKWCxFkpxk=; b=wPNOjyxaZFuKPBmVWOc3UC0yVs3ybvZVvU4QL4p8EMpdDu2jNdzjlKEw7A5Hvzw57IPSjg HSLC6yODR0qi/3z1Jevuq+BqnvD95GYtriSfvBkETwmC7oYvnyP+RjfyiEBb6FApdAjDTL bsWyuqt7DTbNoutlw+PVjGKxVpAyzE3azRDER/jDQ3++TzBKTsbHbkeuuLV1mvSAH1EAUS Yu6y2wiVQknRoVS3X638rJ6cmlScltk+9RsbQ+vNP+dK2rTw8pn0QG4qnUXP+uHoWbMmGk e/DvV0ulNlJ/ILSkf3a9IbH9uhzWY/pYmz2equgfOWYO6pzt/9o2t4MzZ00GVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684099443; a=rsa-sha256; cv=none; b=o1kwXidsixPUFSvEDOMNX3AZVmTCWsVCO54Hu5uhfCiW1BKGpUcBJ/A06bLnUx46Sdq7Be sKDAVh2EGEr3LEReXM6EGqvRtI8SSy5gFR8B2C6qh1gGuPOKdffBMwAzzmqAvFhu/c5XHs f3x764qic0sIViB9qEZr4mOyewh59Xk6hg2Q76QzZniaQMCtpBzR3xyfcIfJqNdHgqFzEy nuatfz522rqoXlUvXClQSQau7OnYKDQhTGqkNmk40rzNIxat2w1wQIEScjp1Q+nLg8hqpd nmUXzA4ikLmup/LcDNL8Ql/j2O7pT2TGDgT4XHUoI7BmRVrBszvSX2KZSbeTxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKFql09LHzFQB; Sun, 14 May 2023 21:24:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34ELO25f063676; Sun, 14 May 2023 21:24:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34ELO2jM063675; Sun, 14 May 2023 21:24:02 GMT (envelope-from git) Date: Sun, 14 May 2023 21:24:02 GMT Message-Id: <202305142124.34ELO2jM063675@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: ae6ac58745b5 - main - ktrace: Fix syscall number on a child return path from fork List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae6ac58745b58c0a3424b3714be1205821d93c51 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=ae6ac58745b58c0a3424b3714be1205821d93c51 commit ae6ac58745b58c0a3424b3714be1205821d93c51 Author: Dmitry Chagin AuthorDate: 2023-05-14 21:23:50 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-14 21:23:50 +0000 ktrace: Fix syscall number on a child return path from fork Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D40078 MFC after 1 week --- sys/kern/kern_fork.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 87c14670ae10..ca2357edbe36 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -1125,6 +1125,9 @@ fork_exit(void (*callout)(void *, struct trapframe *), void *arg, void fork_return(struct thread *td, struct trapframe *frame) { +#ifdef KTRACE + struct syscall_args *sa; +#endif struct proc *p; p = td->td_proc; @@ -1167,8 +1170,10 @@ fork_return(struct thread *td, struct trapframe *frame) userret(td, frame); #ifdef KTRACE - if (KTRPOINT(td, KTR_SYSRET)) - ktrsysret(SYS_fork, 0, 0); + if (KTRPOINT(td, KTR_SYSRET)) { + sa = &td->td_sa; + ktrsysret(sa->code, 0, 0); + } #endif } From nobody Sun May 14 21:31:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKFzt4MR7z49B6v; Sun, 14 May 2023 21:31: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 4QKFzt3VMXz3wj8; Sun, 14 May 2023 21:31:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KvYPMv5TzrbJ1cV3kbaCCO+mU9ujM5YFkmrOwm4+eTg=; b=ksEbHqxGFXyQFYyWJ2EmQZm3vMJ8U99M4+y852jn1AFxJAjVMPpEN0Dm7qAyIotP1nTXgN 3GdW9wtWRH/EIqag+w+JcO2O2lNua1h46OBNPbuT6ZcFCIZWKPdH+zP215riJk9e8clkcL YKq1moOnQSDS1LoCdaaYTx8EXAecT6clZnFAeLpgCOl9RT4WZcvo76xr5IrytWulbSpCe6 mDSMeB0JZkMH8RE1rq1wGaXtfP1bud8/5BX4n15DQ66mmJXIL/ROKoRL1YQ/siv9xpbZah g0zR/aVVbcgB9JXSweyK0RNo5oSd6dGGmSYLXhWPFnmOg2jptVVzgRvQy95pKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KvYPMv5TzrbJ1cV3kbaCCO+mU9ujM5YFkmrOwm4+eTg=; b=Soy5VaJ2iudtkZ2gZFMl2JZbtSdX2w4NU5fKJucHeZTLYCuR3TEEFV73IYU/5CuXVTwdpk V7+o6SWLmISoxjO2DpO68hfz8WF+quMs4BR3otyZOSDEmmAf6ZfriVExKU6Fwp7JioidG3 swBKt+h7KaDSXJwd88fzTBwfnxV9ZPDMJdXF/1eLEcayj2lbG7Nj7gO9nyMNMkCLRsdibR d/6jRUkFcL+l7d9CfSOZ+al6nTUe/TugG3kYYZ14nr2vNezwIwmDyY4OxT8nFzYB37i2jy AW8UYxYGQdYij2+RBfdVhgyjAC2y14Fgjc9NsMJhWdDA3zGf1I2cZegtZ+lsMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684099866; a=rsa-sha256; cv=none; b=CIErTHaGphg7MzUY1fXmZugG4DMW/ApOk9uS+RV/sVImt3gQxHC8T6hQ096hr4nodA+uWl h1HOapzdcEOTBxlwt9Nsj8aBKD10ORUO0T9+cfRx4g44T39RnjoAm2MsZqpDjwAFMww6BC O4RxXyGZjarAhgMx0iDwkwI9wr0QtLMt+K8DvByeRm3C8x7v59cGY5MR+V1w+fNw984KA2 vP/+erEf9T1nCzbLmiNetK9AJsFupe2PVaxleA3sNztFaEy7xS/7wPYUFu080sjteYa3aF qJGTY+0pKoJPN53U1rc9QAteL6oWKZTlnMDPJg3jr5GbBFCVTadLsllYDoW6Yw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKFzt2YBCzFg9; Sun, 14 May 2023 21:31:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34ELV6TT074038; Sun, 14 May 2023 21:31:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34ELV6Y1074037; Sun, 14 May 2023 21:31:06 GMT (envelope-from git) Date: Sun, 14 May 2023 21:31:06 GMT Message-Id: <202305142131.34ELV6Y1074037@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: bf3a14b41a7b - main - linux(4): Fix stack unwinding on arm64 [1/2] List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf3a14b41a7bfe8357a4672a8f901cfc887f3862 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=bf3a14b41a7bfe8357a4672a8f901cfc887f3862 commit bf3a14b41a7bfe8357a4672a8f901cfc887f3862 Author: Dmitry Chagin AuthorDate: 2023-05-14 21:24:57 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-14 21:24:57 +0000 linux(4): Fix stack unwinding on arm64 [1/2] An Aarch64 sigreturn trampoline frame can't currently be described in a DWARF .eh_frame section, because Aarch64 does not define a register number for PC and provide no direct way to encode PC of the previous frame. Instead, unwinders (libgcc, gdb, libunwind) detect the sigreturn frame by looking for the sigreturn instruction. If a sigreturn frame is detected, unwinders restores all the gprs, SP and PC by assuming that sp points to an rt_sigframe Linux kernel struct When entering the kernel, the link register (lr) contains the return address of the previous frame, the exception link register (elr) contains the address of the next instruction after the one which generated the exception, i.e., PC. MFC after: 1 week --- sys/arm64/linux/linux_sysvec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index a49e41c21525..b2853d8e8359 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -295,7 +295,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) memcpy(&frame->sf.sf_uc.uc_sc.regs, tf->tf_x, sizeof(tf->tf_x)); frame->sf.sf_uc.uc_sc.regs[30] = tf->tf_lr; frame->sf.sf_uc.uc_sc.sp = tf->tf_sp; - frame->sf.sf_uc.uc_sc.pc = tf->tf_lr; + frame->sf.sf_uc.uc_sc.pc = tf->tf_elr; frame->sf.sf_uc.uc_sc.pstate = tf->tf_spsr; frame->sf.sf_uc.uc_sc.fault_address = (register_t)ksi->ksi_addr; From nobody Sun May 14 21:31:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKFzv58WPz499nJ; Sun, 14 May 2023 21:31: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 4QKFzv4d4zz3wgM; Sun, 14 May 2023 21:31:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8JeoPkUD8QO6Ko0gTcVpU4iqcTgYLdZnACjG7MqF47w=; b=saYxEqQ8fh2QTLVCb7CFvLMJSu9xt0KCxfm5dwLtiP80W37SqG8l6TAAkr5TWJ/CHabazJ bOPTJY/xNI8hX6Dxu6Xn+BbRwvSZHFxojlTImNM4R8JLs4fm/jHK+uFUb03h++/JCzfj+s vGS927zE9gXGV29vIvhtRqXaAmyVPDM7cF42M6/FU3X3Aa8n9BS8BJdCLRRe0hQjpRr10s Yo12wY9J/ZB8/oBO6v89Qjn34X8b6pI2XZDd/6vEbmeCflulaZBOFKxaSHG3lzEZclH68+ IunEOeF1riOvNrTkYcAeGy6oTRJkppAQvo4hMIyW6QBr4+A3S0UJl6Jo72i1oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8JeoPkUD8QO6Ko0gTcVpU4iqcTgYLdZnACjG7MqF47w=; b=wKPanwofET8rC4YNctiii3GlV/ImwZmxUWvCimA/f9qfh9DQfT1o4uo9fvuwhLSznOk1Rn LygOzx3DwpLNZQjJ7C++KXgqsdWk9DlGJqQ75Urrg4hDgZOlmIRAHEAHo8yoGcXsXxjFyN Z5W33ZYP+jady9pj8WAYb4pdLBRS4TNjkFAgnjfnTunKN9YiM2/aig3ovxlBGqS0ty1EVT BAWB1licdKYJP3eGyQ7Xpcwkpw0JRbVBh8sCwFQc2juLGJ93t4DAny61LyITZlYInVQQW8 0vnqWT1giQqMZGIEGviBP2/fNj0tk8fG18WkUPt8UGyh4ihug8OBTEQn60g+bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684099867; a=rsa-sha256; cv=none; b=jfiEq+aRBpNSoVLdsxZsr9mXJkvskWRqHVCZ0wwcgB0SFFHSeh1G0w7an3JhuduMi45Z6X jxER/kXDZP8W6m3QgSsjN5kqnrfkdIgiTFKy9v7QexvzgTJHz8SfaPdzRVcwlLR9Y7TzY7 N3ikpU7PHsEH3Et3D3Iw9oklRfYCsTe40T8aftpcyXzD7uCBJLF1uC70cbAYJxU0eVdaN5 CTCzsSnCV9ME8497uOGk/1ejxLx7IA2fhYbzmS9XcwSDdPigYrFxzhhmHXdWuSzH6Ko15i 1/dBS1KCSJCpIs8G3GjqWl6f8ZWTwXozIrLRx7Cp7k+JZ0f0OQ4GPwWMIn5gGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKFzv3S0tzF7w; Sun, 14 May 2023 21:31:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34ELV7QV074057; Sun, 14 May 2023 21:31:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34ELV7rM074056; Sun, 14 May 2023 21:31:07 GMT (envelope-from git) Date: Sun, 14 May 2023 21:31:07 GMT Message-Id: <202305142131.34ELV7rM074056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 2cdeb89e5700 - main - linux(4): Fix stack unwinding on arm64 [2/2] List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2cdeb89e57008e9299c1665783359141868f387e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=2cdeb89e57008e9299c1665783359141868f387e commit 2cdeb89e57008e9299c1665783359141868f387e Author: Dmitry Chagin AuthorDate: 2023-05-14 21:25:57 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-14 21:25:57 +0000 linux(4): Fix stack unwinding on arm64 [2/2] To allow unwinders to go througth a previous to sigreturn frame we should properly emulate the trampoline frame record which should points to the previous frame and set the trampoline frame pointer to the emulated frame before calling signal handler. MFC after: 1 week --- sys/arm64/linux/linux_sysvec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index b2853d8e8359..8337bdfe0eb2 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -301,7 +301,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) /* Stack frame for unwinding */ frame->fp = tf->tf_x[29]; - frame->lr = tf->tf_lr; + frame->lr = tf->tf_elr; /* Translate the signal. */ sig = bsd_to_linux_signal(sig); @@ -352,6 +352,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) tf->tf_x[1] = 0; tf->tf_x[2] = 0; } + tf->tf_x[29] = (register_t)&fp->fp; tf->tf_x[8] = (register_t)catcher; tf->tf_sp = (register_t)fp; tf->tf_elr = (register_t)linux_vdso_sigcode; From nobody Sun May 14 21:31:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKFzw688tz49B3Y; Sun, 14 May 2023 21:31:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKFzw5SZtz3wmj; Sun, 14 May 2023 21:31:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E9w41P9XoYp7UwYSWxpNfA+aXkidfJW5hg8n7LVGtSM=; b=VFNoGLhI52nqW1Kefoa6CDTwQd6nofWl3hPmjBTutE+VIqnWgo0/xc7Q5rBft9zt+KIikl A51LqFDWmpHSgtK1ggrdoBXAwWKnFOdd1+lECWsn/3haiXCG7DmN5kuhS++36vf/Z07O/h 5JaEQZrKsDHH8Qyb/erVmiDexxZMxsXlMwbk84LFMsWupgv9GvY023cpMmryzB4h/ab/2a a/yxPA99Rt3dDoyPUJm2tiENYJunQXbuRTeA0s8pEReGwwzNLu51E6WAZy+YUC0cAl4ab5 JgQYz/tKdd5wwYdxRdahtUKR2haXcNw95xCr9HRgQnHSQoAF9AqUr4KO2cZIJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E9w41P9XoYp7UwYSWxpNfA+aXkidfJW5hg8n7LVGtSM=; b=fcFsOBFYmoeLiOiD7kL0GPyZG65zQChd054H2TBsRvLXEZMMJCSyMMZlpuKJoXywkbkySM z2jX2Eptvv5RPT9E+/8FHB4cmiGRpVTFDwBtzrrwzc+LDbyBGCnAK2HeFmquuUM8J4XFrZ DIXo19SyRbzPnb4R4VKq5oEsXs15qNmdDsZc/5DxRcSN6qOkcICF6bwtQ0oCegBDKmddkI Kis4Xganf5kSOWOLtzHTUmuC6glg280SfGmODl2pyU2fOHLSZh+/m4ThdXjcJ0U4pc1br4 UuWs2N3ae9nHbwDFUScRqjKmdS1k7Jr8Dh5zslBKFNbT1BKGKC11a/WN66N9iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684099868; a=rsa-sha256; cv=none; b=P2KIsSho4uZ2VNjEGf4AXm1GookyeJ/q4iyYHZMwXyk2t60xJwmeTvlYtLgv0hmlTJ6aTM fQZn54fiz/NDyc9Av9MSUoWS/xo7FLQdJAWhCWkYcXw/sq9bcQ8t4LppxRnbkWNy65cExj rQRWp6H7QmATYBo0Gb7XAE+fg7xLs9uYthRSZYokVrw5ubEP9f1mkzdr658SA1xaYkF0G9 A5aLlHcX77JG25MIDiRCuWx4UL3kZghkMfMxTLXsgjnQ4Ex/sk93ulrcCv346Twr8X0WJT t0+u50aT5Suq91Xo1ihP4d2UUQ878uSX+Imj00VCFqsOjAnO3Y0hYE94JezA5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKFzw4M2rzF7y; Sun, 14 May 2023 21:31:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34ELV8xQ074080; Sun, 14 May 2023 21:31:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34ELV8bV074079; Sun, 14 May 2023 21:31:08 GMT (envelope-from git) Date: Sun, 14 May 2023 21:31:08 GMT Message-Id: <202305142131.34ELV8bV074079@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 5f19e18b641a - main - linux(4): Get rid of linux_vdso_sigcode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f19e18b641add5632e1bf19cce27b5d46e1e55a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=5f19e18b641add5632e1bf19cce27b5d46e1e55a commit 5f19e18b641add5632e1bf19cce27b5d46e1e55a Author: Dmitry Chagin AuthorDate: 2023-05-14 21:26:24 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-14 21:26:24 +0000 linux(4): Get rid of linux_vdso_sigcode MFC after: 1 week --- sys/arm64/linux/linux_locore.asm | 7 +------ sys/arm64/linux/linux_sysvec.c | 4 ++-- sys/arm64/linux/linux_vdso.lds.s | 1 - 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/sys/arm64/linux/linux_locore.asm b/sys/arm64/linux/linux_locore.asm index 417cc7bd5fc4..6ebecef51b39 100644 --- a/sys/arm64/linux/linux_locore.asm +++ b/sys/arm64/linux/linux_locore.asm @@ -47,13 +47,8 @@ linux_platform: nop /* This is what Linux calls a "Mysterious NOP". */ EENTRY(__kernel_rt_sigreturn) - mov x8, #LINUX_SYS_linux_rt_sigreturn - svc #0 -EEND(__kernel_rt_sigreturn) - -EENTRY(linux_vdso_sigcode) blr x8 mov x8, #LINUX_SYS_linux_rt_sigreturn svc #0 -EEND(linux_vdso_sigcode) +EEND(__kernel_rt_sigreturn) diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 8337bdfe0eb2..299586e1c7b6 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -118,7 +118,7 @@ LIN_SDT_PROBE_DEFINE0(sysvec, linux_exec_setregs, todo); LINUX_VDSO_SYM_CHAR(linux_platform); LINUX_VDSO_SYM_INTPTR(kern_timekeep_base); -LINUX_VDSO_SYM_INTPTR(linux_vdso_sigcode); +LINUX_VDSO_SYM_INTPTR(__kernel_rt_sigreturn); static int linux_fetch_syscall_args(struct thread *td) @@ -355,7 +355,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) tf->tf_x[29] = (register_t)&fp->fp; tf->tf_x[8] = (register_t)catcher; tf->tf_sp = (register_t)fp; - tf->tf_elr = (register_t)linux_vdso_sigcode; + tf->tf_elr = (register_t)__kernel_rt_sigreturn; CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, tf->tf_elr, tf->tf_sp); diff --git a/sys/arm64/linux/linux_vdso.lds.s b/sys/arm64/linux/linux_vdso.lds.s index 8790e14bbb80..652b99545069 100644 --- a/sys/arm64/linux/linux_vdso.lds.s +++ b/sys/arm64/linux/linux_vdso.lds.s @@ -70,7 +70,6 @@ VERSION global: linux_platform; kern_timekeep_base; - linux_vdso_sigcode; local: *; }; } From nobody Sun May 14 21:31:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKFzy1xRlz49B3d; Sun, 14 May 2023 21:31: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 4QKFzx6907z3x13; Sun, 14 May 2023 21:31:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RUjI6jA9czR9CPXgL2uzcXatTebP9z6RJ71ZuEUC9Sc=; b=u1GWdesSzjpCGJK0k1E9PzkWIJVk5qukXLubIHyWUSxvZASCIqrgZlfep8pBy3KTaLlXRO excnTiSGVmiTwIR9DY7zxBwWvC80iuKs4o7nMDxLvu4BFOfU7c3aIl5OiEfqBZBC6cRw1K gm594IYN0sDOJ4SuSKdrj+YeqI8UYhlsqjEAUpJeaUr6P51ZPRo23wxftJdQIdcuwKc4aA JfUWqJvnHGKeH91mVI7q6lOunecLpRcHnyZkUZ5B/IBQwImm3WQysfaMt6H5NlxPQcF6UW JELgD6uwkMJpdqTDfEzgCQ0F9SvxfCtj8NIss46Kr67gs0l6Su1S7WxUUdEMXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684099869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RUjI6jA9czR9CPXgL2uzcXatTebP9z6RJ71ZuEUC9Sc=; b=mJl0LiX8nGJXzzFr4zpJDYwEZ2GjR5Z39fHdagcJP87XFLhtQRA3qWaHulriwvs7GPdn+0 J0tK9iXO3bOygcEKruffM1y87+hXw3HoZW07jgTdGxD2bbi91zN6tAn1/o51IsaJ/yVHfK Jk7/tnHHp3se+yFbkhvVC74LYk0/sa9BpdCYrp0vCYiuP6d6CHoH7KWAiYBHNk+u0p5xBu hZ/IAMsZYc55uZva2tCoLxtevtfJFjVo3BoQla4nLK3DGBQNij9iFZlQ1Ch/RGKAzOMSuM WfXFu/E2bA26IeDZ8fHshCmG+qtQ/cPHHPyJnYFaPbR1WDxisTLCKRhBUJyFxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684099869; a=rsa-sha256; cv=none; b=BKA6u8uu4IbyZVVHdye00Jwt3tTdrqLeSmRqTtUzCH9hPvcWECrlHbniBklXk2sxUze/Ns THt63QOt9oJRfAolYoQjWiuznO/sQtN5IAyzkvBWhVSzNykoIfQq866T32rQE5QMs161Es oJXRo5NwOh38Iak5AcFq8zgMoUlweR4cMVDebKhu7pKufShUEXAxAKWeFp0feLllTtrXxW XZdhbZY1zXEz0vITY/lmQHyUmqx0c9WmJv4avU5WhKn1frc7a4qr33ycOLxKG8sgD3RmFf zrxHVpZMJ1HuaA3Q4d7lRUuJbiTgP+YF06LFOwMfoh7iVQn1FI9Tbc9ynSS+1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKFzx5HBdzF6h; Sun, 14 May 2023 21:31:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34ELV9GA074102; Sun, 14 May 2023 21:31:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34ELV9OX074101; Sun, 14 May 2023 21:31:09 GMT (envelope-from git) Date: Sun, 14 May 2023 21:31:09 GMT Message-Id: <202305142131.34ELV9OX074101@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: d957343f8713 - main - linux(4): Rework signal trampoline on Aarch64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d957343f8713a312442a0140b7a7752ed7b2d870 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=d957343f8713a312442a0140b7a7752ed7b2d870 commit d957343f8713a312442a0140b7a7752ed7b2d870 Author: Dmitry Chagin AuthorDate: 2023-05-14 21:27:31 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-14 21:27:31 +0000 linux(4): Rework signal trampoline on Aarch64 To avoid clobbering of any registers by the trampoline code use Linux way to call signal handlers. I.e., we are out from the kernel right into the signal handler, put return address from the signal handler into the link register. The mysterious NOP is required for some unwinders (e.g. libc++) that unconditionally subtract one from the result of _Unwind_GetIP() in order to identify the calling function. MFC after: 1 week --- sys/arm64/linux/linux_locore.asm | 5 +++-- sys/arm64/linux/linux_sysvec.c | 6 +++--- sys/arm64/linux/linux_vdso.lds.s | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/arm64/linux/linux_locore.asm b/sys/arm64/linux/linux_locore.asm index 6ebecef51b39..de3e5dd52a00 100644 --- a/sys/arm64/linux/linux_locore.asm +++ b/sys/arm64/linux/linux_locore.asm @@ -45,10 +45,11 @@ linux_platform: .text - nop /* This is what Linux calls a "Mysterious NOP". */ EENTRY(__kernel_rt_sigreturn) - blr x8 + nop /* This is what Linux calls a "Mysterious NOP". */ + .globl __user_rt_sigreturn +__user_rt_sigreturn: mov x8, #LINUX_SYS_linux_rt_sigreturn svc #0 EEND(__kernel_rt_sigreturn) diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 299586e1c7b6..bb9ff25893eb 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -118,7 +118,7 @@ LIN_SDT_PROBE_DEFINE0(sysvec, linux_exec_setregs, todo); LINUX_VDSO_SYM_CHAR(linux_platform); LINUX_VDSO_SYM_INTPTR(kern_timekeep_base); -LINUX_VDSO_SYM_INTPTR(__kernel_rt_sigreturn); +LINUX_VDSO_SYM_INTPTR(__user_rt_sigreturn); static int linux_fetch_syscall_args(struct thread *td) @@ -353,9 +353,9 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) tf->tf_x[2] = 0; } tf->tf_x[29] = (register_t)&fp->fp; - tf->tf_x[8] = (register_t)catcher; + tf->tf_elr = (register_t)catcher; tf->tf_sp = (register_t)fp; - tf->tf_elr = (register_t)__kernel_rt_sigreturn; + tf->tf_lr = (register_t)__user_rt_sigreturn; CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, tf->tf_elr, tf->tf_sp); diff --git a/sys/arm64/linux/linux_vdso.lds.s b/sys/arm64/linux/linux_vdso.lds.s index 652b99545069..3f6b70c09176 100644 --- a/sys/arm64/linux/linux_vdso.lds.s +++ b/sys/arm64/linux/linux_vdso.lds.s @@ -70,6 +70,7 @@ VERSION global: linux_platform; kern_timekeep_base; + __user_rt_sigreturn; local: *; }; } From nobody Sun May 14 21:57:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKGb44SWqz49CZX for ; Sun, 14 May 2023 21:58:08 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (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 4QKGb412PQz4166 for ; Sun, 14 May 2023 21:58:08 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-307d84f5ce4so2951207f8f.2 for ; Sun, 14 May 2023 14:58:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684101486; x=1686693486; 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=6Sf3nZaPeuxLTNp/9lHvaej1wKVlGYOwX6VpiJ9I82I=; b=actW17z8zLS9spv6e9hT+6yLzWT2cR0yNaga5C1Ygn5nrzQf8K/DbWvT4xQbhUCNnt nkML2gkaEr3vObnDmxLDZUD4ywlrlyRYzf4+vHn7SkLEjr42OJ3m3SrNBRCRi/zGR7da sKRxJ/7QLyow49NHesPmhpeM+zOuIC+TdlEKqQylhcwq8t03eFVB4PXyDx3bo2npp1nw Gib3WrZHwmryq2V9L9AoFqlVhSua2R/ECPTVy5IZVEd5IYSI8a+kR05+2Jlr7U20ue4G tUZA836hVB1Bh2ts5issjyyfJ6eaVHLxlVjV3Lgzol3myCqSJDTSsYzJqKFPPjhl4Ati 3vNA== X-Gm-Message-State: AC+VfDzsGqY90BC8pbuuEFQEI9xjYYeUGtstlN4MM+YDmEZVRluWdqL1 6JugEw2OY8rTxRiRe3v6Wci3W+Rblu6M8642zcfZiw== X-Google-Smtp-Source: ACHHUZ6rHNYhrzlsrgqtUx2v3HSdzytQVFD9SwwhGIv74JbWZEMBIJJC2BwxvcueBgAIGXfWmrChkQ== X-Received: by 2002:adf:f302:0:b0:306:3b78:fe33 with SMTP id i2-20020adff302000000b003063b78fe33mr21453356wro.32.1684101486505; Sun, 14 May 2023 14:58:06 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id j10-20020adff54a000000b00304b5b2f5ffsm30378306wrp.53.2023.05.14.14.58.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 14 May 2023 14:58:06 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: git: d957343f8713 - main - linux(4): Rework signal trampoline on Aarch64 From: Jessica Clarke In-Reply-To: <202305142131.34ELV9OX074101@gitrepo.freebsd.org> Date: Sun, 14 May 2023 22:57:55 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202305142131.34ELV9OX074101@gitrepo.freebsd.org> To: Dmitry Chagin X-Mailer: Apple Mail (2.3731.500.231) X-Rspamd-Queue-Id: 4QKGb412PQz4166 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 14 May 2023, at 22:31, Dmitry Chagin wrote: >=20 > The branch main has been updated by dchagin: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dd957343f8713a312442a0140b7a7752e= d7b2d870 >=20 > commit d957343f8713a312442a0140b7a7752ed7b2d870 > Author: Dmitry Chagin > AuthorDate: 2023-05-14 21:27:31 +0000 > Commit: Dmitry Chagin > CommitDate: 2023-05-14 21:27:31 +0000 >=20 > linux(4): Rework signal trampoline on Aarch64 >=20 > To avoid clobbering of any registers by the trampoline code use = Linux > way to call signal handlers. I.e., we are out from the kernel right = into > the signal handler, put return address from the signal handler into = the > link register. > The mysterious NOP is required for some unwinders (e.g. libc++) = that > unconditionally subtract one from the result of _Unwind_GetIP() in = order > to identify the calling function. >=20 > MFC after: 1 week So this is basically a revert of c56480a83235 "linux(4): Implement = signal trampoline for arm64 in a FreeBSD-way=E2=80=9D? Not a huge fan of this = flip-flopping without much justification and with no review. Jess > --- > sys/arm64/linux/linux_locore.asm | 5 +++-- > sys/arm64/linux/linux_sysvec.c | 6 +++--- > sys/arm64/linux/linux_vdso.lds.s | 1 + > 3 files changed, 7 insertions(+), 5 deletions(-) >=20 > diff --git a/sys/arm64/linux/linux_locore.asm = b/sys/arm64/linux/linux_locore.asm > index 6ebecef51b39..de3e5dd52a00 100644 > --- a/sys/arm64/linux/linux_locore.asm > +++ b/sys/arm64/linux/linux_locore.asm > @@ -45,10 +45,11 @@ linux_platform: >=20 > .text >=20 > - nop /* This is what Linux calls a "Mysterious NOP". */ > EENTRY(__kernel_rt_sigreturn) > - blr x8 > + nop /* This is what Linux calls a "Mysterious NOP". */ >=20 > + .globl __user_rt_sigreturn > +__user_rt_sigreturn: > mov x8, #LINUX_SYS_linux_rt_sigreturn > svc #0 > EEND(__kernel_rt_sigreturn) > diff --git a/sys/arm64/linux/linux_sysvec.c = b/sys/arm64/linux/linux_sysvec.c > index 299586e1c7b6..bb9ff25893eb 100644 > --- a/sys/arm64/linux/linux_sysvec.c > +++ b/sys/arm64/linux/linux_sysvec.c > @@ -118,7 +118,7 @@ LIN_SDT_PROBE_DEFINE0(sysvec, linux_exec_setregs, = todo); >=20 > LINUX_VDSO_SYM_CHAR(linux_platform); > LINUX_VDSO_SYM_INTPTR(kern_timekeep_base); > -LINUX_VDSO_SYM_INTPTR(__kernel_rt_sigreturn); > +LINUX_VDSO_SYM_INTPTR(__user_rt_sigreturn); >=20 > static int > linux_fetch_syscall_args(struct thread *td) > @@ -353,9 +353,9 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, = sigset_t *mask) > tf->tf_x[2] =3D 0; > } > tf->tf_x[29] =3D (register_t)&fp->fp; > - tf->tf_x[8] =3D (register_t)catcher; > + tf->tf_elr =3D (register_t)catcher; > tf->tf_sp =3D (register_t)fp; > - tf->tf_elr =3D (register_t)__kernel_rt_sigreturn; > + tf->tf_lr =3D (register_t)__user_rt_sigreturn; >=20 > CTR3(KTR_SIG, "sendsig: return td=3D%p pc=3D%#x sp=3D%#x", td, = tf->tf_elr, > tf->tf_sp); > diff --git a/sys/arm64/linux/linux_vdso.lds.s = b/sys/arm64/linux/linux_vdso.lds.s > index 652b99545069..3f6b70c09176 100644 > --- a/sys/arm64/linux/linux_vdso.lds.s > +++ b/sys/arm64/linux/linux_vdso.lds.s > @@ -70,6 +70,7 @@ VERSION > global: > linux_platform; > kern_timekeep_base; > + __user_rt_sigreturn; > local: *; > }; > } Jess From nobody Mon May 15 05:06:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKS4v4XFVz4B8K7; Mon, 15 May 2023 05:06: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 4QKS4v4509z3DCv; Mon, 15 May 2023 05:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684127167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jH9r4dUEI3DsdSTPcCoBU/1yHKQ9wHqH0O60gVSOEA=; b=PDv/WFEmQtZMBd12DBqAnrV+BdVSZhbdcwUukfgkmiriq2WrnL8CWBrwoNX9EITtGzh4PL iZvNCitqxBhegt7pFz+SsC1al6bX/sZ6nng7yXR6APDwaKYJLHWQNtlzdqXb9zM73fX8Ee RY7vBdPbVTCNayVTYXvk14CrCbK2otSf04a+rKxxO6ktTsPEV1NCLQ+/nOZDIokEJkWZal VcMbkqDJNm2K4604i9W2YZP73/6lIjxSjdNvvM5JTvjqc+KSIlYKWhjNUnj63fU84c/zJ9 upO9YXj51tSU5TRDfgB+XzM/bh/QC9fy4KJSsBszbwkok0atrx9gnbzxLSZHEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684127167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jH9r4dUEI3DsdSTPcCoBU/1yHKQ9wHqH0O60gVSOEA=; b=lppGkv4AgQBAuC41B5Nbr3o7mlIjKme7T0bjXUOJfikFS8Nf6vy5WS0UUDdi+Tp6H/l16E gl2DFjI5/LA0UpMgM9WeyhNdegLeu2pvhTVuI83E7sqx5bPxW6XQ1bpe8L7w95kr7PGiqS BTLUKpFsh2SdNVuRFnqPvqS1mVWLmYzrgqVQTHyElVIDz3kn2xjO83Z1VEc0MBXQuHusyt bLelij52fLjBaaiAvoCbRGZM7K+iBfXiE9/dar+sAKWb9ZpRzpZXN6fUJe+g/UKrh1jRzf 6iuFNc2nop0wr6Gmoz0JVkHbWG+AbGeUfQgUcsWzjplAl+j057U23N78wL9vVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684127167; a=rsa-sha256; cv=none; b=gpjbaIdQNki8hjChT4jMA4vzmcKaoTUXZyZHt6slQD5iNz2ihpBl/eovxY3TEoBxu1v/7x fYl6hpzDNBlTsNmNP1bTOUBlwpdCRAJOLEa+nywcq0bSm71pyMAAyXIG96+uQCvYoCynkO KP1O1JaIoPeMqaB9xg4gIxJvTUqlBmmuOcADK2vOnmy8Z2kR8dOsUsV8bjN6CkCFoNiGxT PxTcVrv24AX5HSRxJmVZPf+1JCCUsqMYWNv1c17l9YVpVv3PsS4mMEIdw50Emgbm+PWv2l eaKreWO9M6ISvPWwul7vi0EiUfx6csx10U9doF1hhGhe7c5/E448EHkB+myC0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKS4v3224zSXb; Mon, 15 May 2023 05:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F567CZ021178; Mon, 15 May 2023 05:06:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F567Wq021177; Mon, 15 May 2023 05:06:07 GMT (envelope-from git) Date: Mon, 15 May 2023 05:06:07 GMT Message-Id: <202305150506.34F567Wq021177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 5cb5b368829d - stable/12 - e1000: fix VLAN 0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 5cb5b368829dd075bec55ada6c1374538ec7c6d0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=5cb5b368829dd075bec55ada6c1374538ec7c6d0 commit 5cb5b368829dd075bec55ada6c1374538ec7c6d0 Author: Kristof Provost AuthorDate: 2023-05-10 16:26:29 +0000 Commit: Kristof Provost CommitDate: 2023-05-15 04:49:51 +0000 e1000: fix VLAN 0 VLAN 0 essentially means "Treat as untagged, but with priority bits", and is used by some ISPs. On igb/em interfaces we did not receive packets with VLAN tag 0 unless vlanhwfilter was disabled. This can be fixed by explicitly listing VLAN 0 in the hardware VLAN filter (VFTA). Do this from em_setup_vlan_hw_support(), where we already (re-)write the VFTA. Reviewed by: kbowling Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D40046 (cherry picked from commit 0229fab2fe0eed843ebec98fd31b7d49bb2e8438) --- sys/dev/e1000/if_em.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 8a489c48bf85..3e41e1e0bff1 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -3671,8 +3671,10 @@ em_setup_vlan_hw_support(if_ctx_t ctx) /* * A soft reset zero's out the VFTA, so * we need to repopulate it now. + * We also insert VLAN 0 in the filter list, so we pass VLAN 0 tagged + * traffic through. This will write the entire table. */ - em_if_vlan_filter_write(sc); + em_if_vlan_register(ctx, 0); /* Enable the Filter Table */ em_if_vlan_filter_enable(sc); From nobody Mon May 15 05:06:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKS4w4Zspz4B8Nc; Mon, 15 May 2023 05:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKS4w3fzXz3DDC; Mon, 15 May 2023 05:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684127168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N2zTFJ8CMDD8oOQX1VD5QCLHipgXa3AdXELsWhRSHKA=; b=A1cnVPrBvXsC2p5G9R91tQFWpDKBcRGExQz1kWnnB8vYMgB3NiKMSlb93JRmluD6aHRPuG ZjbAWA2fWG6YjuEqNvIN6IxpDRgjd3J0aR/8X8PLl4yTlTMDlBrtCqr+ALjtRmsvUGjq8T CP/FYHgmwVzHUG2sazS0Pj4UngMvUKWJd/HaVt8hDecztwvTLbI9KBLFBKKyDDISuf989f Dz65pM9Bbvrpewobi0YWv6KUu42ATuOHqtfPqVNuGkFaUTsFLR7mqRk7TvLPEdk9PPh0C6 Lkr+OtEYcDZqWn40+cxu9s0noRzIfi9sv43kPaIfJ1p9umQSpIH9sw0JXLtGZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684127168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N2zTFJ8CMDD8oOQX1VD5QCLHipgXa3AdXELsWhRSHKA=; b=VPMpl7z0LlJcdGuCLQdkSBNWNJLpLKnKcjSitfwCWUQ5y3QGn70ClbgbTWp8ksn/d/Mv6D OkGkhjahCPqtLe93iQavo8yMysJ5WXgpOOAMWXVGpAXlVYVdOeZDRSlbfsZqoGO7f92JG6 dzfnaJ6TKxzzsiqRUhmHmGXAUvrXOADYsMzTJSstw/iBcmnxdt0aRFPXg5d5Q94ZV11K9H DoEXaeaJk3GNYYDNWdq7oeT8QEmxrOifxgDBzNf8tpNR3FiscRTBjuP9pW3ecSwsBVkblE Id20cZ4MoHi3FXy+W/ixxqpe0tvvERxewXk1ZcLd6lrEd5dc69FBDAYTeWgzgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684127168; a=rsa-sha256; cv=none; b=COMU8Fw+XZ5dKbjKEut6MvdzKBKMA2gQyIDZag8GyiecQE6ZwoLhVenw7Vzew64W5uFHwb oYAF27/vekLvO6tudtq2Heuzh6t0pYEZGIpRE3XrcqSOBjI2M/v5wmZJsl+2V8fzT77I23 Mogu2TsEdTiCmYMhuXEDFUTGnEfRTQzfNdRMNy265a/CHDDgKxzWPGPI2136BGO/TaQnLl QlYUVT9pTw/Cof8YmCO4TFazQTY+vsirXxy+08L1RYGNNYfttgwXFURxFOTAJVuoCh0tIc /9UBNqgrCKCbikaBKNPv5K/4wQD50c9fwJ3ZU14qC3kE0/atOedIVqjmOHdt4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKS4w2lF7zSXc; Mon, 15 May 2023 05:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F568V6021260; Mon, 15 May 2023 05:06:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F568qB021259; Mon, 15 May 2023 05:06:08 GMT (envelope-from git) Date: Mon, 15 May 2023 05:06:08 GMT Message-Id: <202305150506.34F568qB021259@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: eaa16e7edba1 - stable/13 - e1000: fix VLAN 0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eaa16e7edba1fe8de358f9379a93694537a0ce4c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=eaa16e7edba1fe8de358f9379a93694537a0ce4c commit eaa16e7edba1fe8de358f9379a93694537a0ce4c Author: Kristof Provost AuthorDate: 2023-05-10 16:26:29 +0000 Commit: Kristof Provost CommitDate: 2023-05-15 04:49:09 +0000 e1000: fix VLAN 0 VLAN 0 essentially means "Treat as untagged, but with priority bits", and is used by some ISPs. On igb/em interfaces we did not receive packets with VLAN tag 0 unless vlanhwfilter was disabled. This can be fixed by explicitly listing VLAN 0 in the hardware VLAN filter (VFTA). Do this from em_setup_vlan_hw_support(), where we already (re-)write the VFTA. Reviewed by: kbowling Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D40046 (cherry picked from commit 0229fab2fe0eed843ebec98fd31b7d49bb2e8438) --- sys/dev/e1000/if_em.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 527789622169..09a063191107 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -3683,8 +3683,10 @@ em_setup_vlan_hw_support(if_ctx_t ctx) /* * A soft reset zero's out the VFTA, so * we need to repopulate it now. + * We also insert VLAN 0 in the filter list, so we pass VLAN 0 tagged + * traffic through. This will write the entire table. */ - em_if_vlan_filter_write(sc); + em_if_vlan_register(ctx, 0); /* Enable the Filter Table */ em_if_vlan_filter_enable(sc); From nobody Mon May 15 06:16:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKTf3537Vz4BD1R; Mon, 15 May 2023 06:16: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 4QKTf34X1pz3Jks; Mon, 15 May 2023 06:16:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684131387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUehN2DuHGhcH8N7qY53foakyqtb1XWbHbKf7J2dTtc=; b=GDDvxHfzCBLo9/SmVmM2SQ2JjkQXhGpYdxQxOxp21o92fp1PIojXUMJ9c3bnipaS24iez+ gj+qmHudN4RWpBXBnVMAQ1Pa1UbP7W7ZQsQDBxM8JwuDWzDtgc+c8j9jmGgEbJtTtmoJhJ kI4//3YZEQtzJ41fYQwefWZdH42XoSxkLDPPtNSla/13g2iR6U0U7k1l2zFUsW1zB2/KCv r/WEd1lwrPgZ5zhO2LeBLEJsF3jOTvVE2dzDrkFklk9gGIE7YU/g3E7/sjIkM4xDiSyRkM UKIel3Z080WIuHL6wxBJT6yjpYyNT66TbPXU9MuiZRDOSvoX94MIwQ5Yf7e12g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684131387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUehN2DuHGhcH8N7qY53foakyqtb1XWbHbKf7J2dTtc=; b=lVT/E3ZFhx3LRX6+w+5mjq3ENfnZN7NU2fO8IemZ4/GE/Po+hFiAJxHZrJdsa9JZYaT05h 55N68BA3Wxtk4rStPSXU+HXS13XlHh3CNXuGM8MTk5v1DKM+bEDylYg0xQUo7cPtpZ/+rB TsFHR7D75P4M0CtkXpFdcfAh9SmB1KszkzGH4hso9OWU9hMYtrjumIruz2fyj/Jp73BFt+ cEEZmagw4z6DbgL+/6WqKBlRwn1nu/u2hTcVhqJj5QVdiaeEoU63l9k00aJli5YPQElg24 zqeM96S4t6MJKgftRpOWCRUgo6FpUdRfVqYC2nMfJMNfTaO/pFigKtN5tmi5WA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684131387; a=rsa-sha256; cv=none; b=GG6fdotGdCfs1KpLIHF72BMj289SgwhBEYkL99QHReihdWB2qvXYidGynCWFhF4oHHw+CY zCfZZRyoiklm9L515W1qVYvakzYd8noTtaGhj3/+505GQDk0y8DPpZz7CAiou0ZyCLAPKT vD2e5YWxp3e8rGbrwTl0m5uduGPm+B5EKGzdet432R70PoUBqoKXAuDotIXq4EemE7Pe7C VOsohiPlh3EBt6OvfNzZgVe3Skh7/f8tx4VVYy4NLQzu7scJcTDbBChXCQRSyVQAD3/ODJ RmdpeDaK7rGr1tzLk5trGvVR9s6mpkyBRlRYqlrLgUvW1/E+Nx99savrmlhFVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKTf33RLRzTGc; Mon, 15 May 2023 06:16:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F6GRjw036383; Mon, 15 May 2023 06:16:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F6GRvZ036382; Mon, 15 May 2023 06:16:27 GMT (envelope-from git) Date: Mon, 15 May 2023 06:16:27 GMT Message-Id: <202305150616.34F6GRvZ036382@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 36fb2e26f61b - stable/13 - arm64: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 36fb2e26f61b0e7928191c92d7fa4e97d1d3c5f6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=36fb2e26f61b0e7928191c92d7fa4e97d1d3c5f6 commit 36fb2e26f61b0e7928191c92d7fa4e97d1d3c5f6 Author: Gordon Bergling AuthorDate: 2023-05-12 08:45:46 +0000 Commit: Gordon Bergling CommitDate: 2023-05-15 06:16:16 +0000 arm64: Fix a typo in a source code comment - s/inferface/interface/ (cherry picked from commit cbe88c6f3c47e3d7731b6ec30bfc201970b20602) --- sys/arm64/iommu/smmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index 9df6bcfc4351..e3b7a14e705f 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -65,7 +65,7 @@ * Queues. * * Register interface and Memory-based circular buffer queues are used - * to inferface SMMU. + * to interface SMMU. * * These are a Command queue for commands to send to the SMMU and an Event * queue for event/fault reports from the SMMU. Optionally PRI queue is From nobody Mon May 15 06:24:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKTpy1Jthz4BCkx; Mon, 15 May 2023 06:24: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 4QKTpy0h1lz3L3c; Mon, 15 May 2023 06:24:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684131850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GBsGa63BeW227TZj4q5c/h+xI7Y+6qSLVEDVFo1sGUM=; b=UW4FJNhyh/P0QCts/BvkQz6DYZSMZBoz1zh1jbzIj1R8DzXj1zbw/0H/jc/U0g8XwhgL1s 6SAxtTv862VeUYZaIy5zlFPj+YmdU+mWOZP15KXwwD9fkN4PuSN94mDCjZYXm2+0vXf2Vr eN7sNM/7uCyRDCec3W4+SKp4t9m0tiY0y/TaCbB+CvwLusV60evvWEP8mVNeAqPo9GOV39 TTeeymvcdIhahzf6m3BI+62rtg88QTXf6qZyEV6iurqfRd78pyrQuGv/726a3sr6hV23gJ NARHu+BTJ/SBsBJIcEtm8pODvo6/d3PZG7us5pYq17JB5P2cChVLPhuO8BIYKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684131850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GBsGa63BeW227TZj4q5c/h+xI7Y+6qSLVEDVFo1sGUM=; b=nQ9y2rhvNUym2d9tgPpO/UZvAOPntqU9mTYYqmi5Co07iye8KQCWhGFcQWWM7ypjPkWmNa 06fqwfad5yGgMQnpHj9uKlbzFjMM57jy56RrmTO7jH8Jnh9Ie1ziiWDM+4vGNZaRgP9F/e T8em/qMNzCKzsHZbDzhD+mi7qtchV5TNsjtp1NmUKa+u56B7U/XUonsFoOd92CCiLIvrZy E+drgdr08Y+JHOulSnEftTdYsM+nz4n0Wc6VYkuKYv1By7fnfT5b0g9ypldrBMmLQhRn9D e0SuscfbwbKvKXJvdJsICLrJ2Z7ylMZ8mFAYutM+6aG+C2b4Qmxb9Hn7Rf26Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684131850; a=rsa-sha256; cv=none; b=jmioRFp8AKb6wWjelbbZcv7Wck8k8hZESKvHjdLllLp6apqvnZV2edYUieqVa1u6abLdCP aYojGIU7LyU0PrOUfwk2e4tDI7gHtvO6qf7+UX+zuWmdrI7cTmlJ09YS8TD37pGJ3aFRtQ mk0bP1uiUsSw84SfWew+tNAc4oAmg3OidkwTZZdn31j8YCh2bGdgfk7EIvPvKFXz3k2kOX vIpnRYEous07kBoWkvI8AArUdgKS9mgh49xYOX6jnGHJEiEznPEHDC3oqUr9GVVObvfEHH DYDpzLnXBxeunvJjxP/dx/flG2Lxw8mpqKQG2mwh+bvdSEUhnOk0yZF+plQJQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKTpx6sPdzVQc; Mon, 15 May 2023 06:24:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F6O97L052232; Mon, 15 May 2023 06:24:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F6O9bV052231; Mon, 15 May 2023 06:24:09 GMT (envelope-from git) Date: Mon, 15 May 2023 06:24:09 GMT Message-Id: <202305150624.34F6O9bV052231@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wolfram Schneider Subject: git: 1cf4473fa36d - main - remove stale script epfe.pl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cf4473fa36dd9252f2258e86adf85eb94694b9c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=1cf4473fa36dd9252f2258e86adf85eb94694b9c commit 1cf4473fa36dd9252f2258e86adf85eb94694b9c Author: Wolfram Schneider AuthorDate: 2023-05-15 06:22:41 +0000 Commit: Wolfram Schneider CommitDate: 2023-05-15 06:22:41 +0000 remove stale script epfe.pl tools/tools/epfe/epfe.pl was a perl script that formerly generated some printing example files from content in a very old version of the handbook. Reported by: wblock --- tools/tools/README | 1 - tools/tools/epfe/epfe.pl | 38 -------------------------------------- 2 files changed, 39 deletions(-) diff --git a/tools/tools/README b/tools/tools/README index 084c9fe65be9..6d2be5e7ae6b 100644 --- a/tools/tools/README +++ b/tools/tools/README @@ -18,7 +18,6 @@ cxgbetool A tool for the cxgbe(4) driver. cxgbtool A tool for the cxgb(4) driver. drm Tools specific to the DRM/KMS device drivers. editing Editor modes and the like to help editing FreeBSD code. -epfe Extract printing filter examples from printing.sgml. ether_reflect An Ethernet packet reflector for low level testing. find-sb Scan a disk for possible filesystem superblocks. gdb_regofs A simple tool that prints out a register offset table diff --git a/tools/tools/epfe/epfe.pl b/tools/tools/epfe/epfe.pl deleted file mode 100644 index 0aea2c247a64..000000000000 --- a/tools/tools/epfe/epfe.pl +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/perl -# Copyright (c) 1996 Wolfram Schneider . Berlin. -# -# epfe - extract printing filter examples from printing.sgml -# -# usage: -# $ cd /usr/share/examples/printing -# $ epfe < ../../doc/handbook/printing.sgml -# -# $FreeBSD$ - -$in = 0; @a = (); -sub Print { s/\&\;/&/g; push(@a,$_); } -sub out { - local($name, *lines) = @_; - open(F, "> $name") || die "open $_[0]: $!\n"; - print F @lines; - close F; -} - -while(<>) { - if (/^/) { - $in = 1; - } elsif (m%% && $in > 0) { - if ($in > 1) { - $name = 'unknown' if !$name; - while(1) { if ($d{$name}) { $name .= 'X'; } else { last } } - &out("$name", *a); - $d{$name} = $name; - } - $in = 0; $name = ''; @a = (); - } elsif ($in == 1 && /^\#\s*!/) { - $in++; &Print; - } elsif ($in > 1) { - $name = $1 if (!$name && /^\#\s+(\S+)\s+-\s+/); - $in++; &Print; - } -} From nobody Mon May 15 06:34:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKV2t0hCVz4BDcw; Mon, 15 May 2023 06:34:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKV2t0BJfz3LcZ; Mon, 15 May 2023 06:34:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684132470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dPuf+nKZFOCygTp1LXpcjqqE1Tt1JeBNl7vhA/QOF+k=; b=pAVPLhADpLzIgUGGv5/6Ipuid/7zu0DMfifNWJhh0J5IfBVDm9bJX8WjltK3FF7cadblwm r6pnLRPdZTp0XgC8MQgDU5jpeVq0jN1B2mW3ZyuFeswA4H8MSjWdjF6H4LkzUX3NEQiPbK ZqNtBZNK6VU4fcZs90npXrL1xLARXjT4JZak8Rq2XBIIqBNPyGCvVH7hoIO2ovja7kWvn1 Ekafw2GTKm1m6iF9Wz43FC/QJDe6zAvOxzz6+5bzx5iD1eddwFBLbvtzMt0tQQG3A0UTtA YIqkrwo/X6xwQ8E+A87Vh22Rsy4Z9OSkNXYdt3lCWiNX2seEcWAUXxvLSS3KPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684132470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dPuf+nKZFOCygTp1LXpcjqqE1Tt1JeBNl7vhA/QOF+k=; b=yBM9pyu3msQ0by9fD33rhUR8Lp8Dwjk8GV+yuChaQsYVKiBxP21bjC0gj8TJYOPnVsa7IA VHq19LGPPua0mdNIOoZbngssNjVL2FgzCIxJLY3z+boVAGrEW+dU2qpVHl1nw4vy70W+Ij TIlYbqXHAYjQip4lCDvPna7FsRGzlj2ciT+YHJRo7RTzEwD07F+xEW5bUs6vIpUJO+M5fM jXpkYpWNmI+zDx62mqc0WF7y4adKo0WcTfiXSRxWBdIf+Ub+1yjh78C9kpT2JyQ6GmtHZb eOO+GOe0i86j2+4r0/mjS1+XZJkMxibu3d2fiNPjg+Ms05ncpzQ4R/a5jB4fsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684132470; a=rsa-sha256; cv=none; b=yiJ4UDiq/k5FfT7mFQbme9JeW93sjXXbePyPQgscyLBqUhRDXTbzj9YQcduDZB62GubNuj H1mm8z3SV7kCgwZQjS2hIanFQIfWN5RMXq7u/5txZvTfQI1iQPggVGL8a9mpsLajalNBXK NBcwhXQG4gKw7psIKv8OqA9nbZsuTE3Zd11wSigzzI3UtNsi0lt6naVE4ZmAgsdJ6LtHG6 gakEgU45ba0xyS879hEXnWr52iqsGlJUY583nM+O634JZvEMErf9G880Ddh1b5o4Klg09S AeXDa6Uw6GX+DHuWETVlsYj4cS3IGWD8q+a2HWtv7PNVhNvqkTraVgI8jdneqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKV2s6LLczVCV; Mon, 15 May 2023 06:34:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F6YTHV068891; Mon, 15 May 2023 06:34:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F6YTob068890; Mon, 15 May 2023 06:34:29 GMT (envelope-from git) Date: Mon, 15 May 2023 06:34:29 GMT Message-Id: <202305150634.34F6YTob068890@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wolfram Schneider Subject: git: 27783115a91c - main - remove stale message-id scripts List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 27783115a91ca0348df255514d7370e68a3d83df Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=27783115a91ca0348df255514d7370e68a3d83df commit 27783115a91ca0348df255514d7370e68a3d83df Author: Wolfram Schneider AuthorDate: 2023-05-15 06:29:39 +0000 Commit: Wolfram Schneider CommitDate: 2023-05-15 06:29:39 +0000 remove stale message-id scripts --- tools/tools/README | 1 - tools/tools/mid/mid-build | 46 ---------------------- tools/tools/mid/mid-index | 83 ---------------------------------------- tools/tools/mid/mid-master | 33 ---------------- tools/tools/mid/mid-master-index | 21 ---------- 5 files changed, 184 deletions(-) diff --git a/tools/tools/README b/tools/tools/README index 6d2be5e7ae6b..cb5235ff0308 100644 --- a/tools/tools/README +++ b/tools/tools/README @@ -45,7 +45,6 @@ kernxref Shellscript to cross reference symbols in the LINT kernel. kttcp An in-kernel version of the ttcp network performance tool man Scripts useful for working on man pages. mctest A multicast test program -mid Create a Message-ID database for mailing lists. mwl Tools specific to the Marvell 88W8363 support ncpus Count the number of processors netmap Test applications for netmap(4) diff --git a/tools/tools/mid/mid-build b/tools/tools/mid/mid-build deleted file mode 100755 index 0a2d4480a5a8..000000000000 --- a/tools/tools/mid/mid-build +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# Copyright (c) March 1998 Wolfram Schneider -# -# create a Message-ID, In-Reply-To look(1) index database -# -# $FreeBSD$ - - -TMPDIR=/var/tmp; export TMPDIR -home=/g/www/mid - -dbout=$home/index -archive=$home/archive - -PATH=$home/bin:/bin:/usr/bin:/usr/local/bin; export PATH - - -all () -{ - ( cd $archive || exit 1 - find text/* -type f | mid-master-index 4 mid-index $dbout/mid - ) -} - -current () -{ - ( cd $archive || exit 1 - find current/freebsd-* current/cvs-* -type f | - mid-master-index 1 mid-index $dbout/mid-current - ) -} - -if [ $# -le 0 ]; then - echo "usage mid-build {current|all}" - exit 1 -fi - -for db -do - case $db in - current) current;; - all) all;; - *) echo "Huh? $db";; - esac -done diff --git a/tools/tools/mid/mid-index b/tools/tools/mid/mid-index deleted file mode 100755 index a5ec10b78f3b..000000000000 --- a/tools/tools/mid/mid-index +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/local/bin/perl -# -# create message-id / in-reply-to database -# -# $FreeBSD$ - -sub usage { die "usage: mid-index name < filelist"; } - -sub id { - local($name, @files) = @_; - local($bytes, $bytes2, $headlen, $file); - local($counter); - local($from,$from2); - - $counter = 0; - open(MID, "| sort -u -o $name.mid") || die "open sort > $name.mid: $!\n"; - open(IRT, "| sort -u -o $name.irt") || die "open sort > $name.irt: $!\n"; - - while(<>) { - local($/) = "\n\n"; - chop; - $file = $_; - - open(R, $file) || do { - warn "open $file:$!\n"; - next; - }; - $bytes = 0; - - while() { - $headlen = length($_); - $from2 = substr($_, 0, 6); - $from = substr($from2, 0, 5); - - # warn "xxx" . $from . "yyy\n"; - if ($from eq "From " || $from2 eq "\nFrom ") { - - if ($from eq "From ") { - $bytes2 = $bytes; - } else { - # One bytes more for "\nFrom " - $bytes2 = $bytes + 1; - } - - $counter++; - s/\n[ \t]+/ /g; - if ($debug && $counter % $speedstep == 0) { - print STDERR sprintf("\r%7d", $counter); - } - - foreach (split("\n")) { - if (/^Message-id:\s+\<([^$idsep]+)/oi) { - print MID "$1 $file $bytes2\n"; - } elsif (/^Resent-Message-id:\s+\<([^$idsep]+)/oi) { - print MID "$1 $file $bytes2\n"; - } elsif (/^References:\s+\<([^$idsep]+)/oi) { - print IRT "$1 $file $bytes2\n"; - } elsif (/^In-Reply-to:\s+[^<]*\<([^$idsep]+)/oi) { - print IRT "$1 $file $bytes2\n"; - } - } - } - $bytes += $headlen; - } - close R; - } - close MID || warn "close: MID\n"; - close IRT || warn "close: IRT\n"; - print STDERR sprintf("\r%7d", $counter) - if $debug && $counter % $speedstep != 0; - print STDERR "\n" if $debug; -} - -$idsep = '>'; -$idsep = '>@\s'; -$debug = 0; -$speedstep = 100; - -&usage if $#ARGV != 0; -$name = $ARGV[0]; shift @ARGV; -&id($name); - - diff --git a/tools/tools/mid/mid-master b/tools/tools/mid/mid-master deleted file mode 100755 index 5ee531a11ab7..000000000000 --- a/tools/tools/mid/mid-master +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/local/bin/perl - -if ($#ARGV < 1) { - die "usage master counter command comandargs ... \n"; -} - -$count = $ARGV[0]; shift @ARGV; -@command = @ARGV; -$file = pop(@command); -undef @ARGV; -$debug = 0; - -for($i = 0; $i < $count; $i ++) { - @c = (@command, "$file.$i"); - warn "Start process: $i @c\n" if $debug; - open("OUT$i", "| @c") || die "open @c\n"; - select("OUT$i"); $| = 1; -} -select(STDOUT); - -$n = 0; -while(<>) { - $o = 'OUT' . ($n % $count); - print $o $_; - warn "$o $_" if $debug; - $n++ -} - -for($i = 0; $i < $count; $i ++) { - warn "Close process $i\n" if $debug; - close("OUT$i") || warn "close OUT$i: $!\n"; -} - diff --git a/tools/tools/mid/mid-master-index b/tools/tools/mid/mid-master-index deleted file mode 100755 index 8b32acd66a2b..000000000000 --- a/tools/tools/mid/mid-master-index +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -if [ $# -le 2 ]; then - echo "usage $0 parallel_processes command [comand_options]" - exit 1 -fi - -count=$1; shift -command=$1; shift -file=$1; shift -filelistmid=`perl -e "for(0 .. $count -1) {print qq{$file.temp.\\$_.mid }}"` -filelistirt=`perl -e "for(0 .. $count -1) {print qq{$file.temp.\\$_.irt }}"` - -if mid-master $count $command $file.temp; then - sort -u -m -o $file.temp.mid $filelistmid && - rm -f $filelistmid && mv $file.temp.mid $file.mid || exit 1 - sort -u -m -o $file.temp.irt $filelistirt && - rm -f $filelistirt && mv $file.temp.irt $file.irt || exit 1 -else - exit 1 -fi From nobody Mon May 15 06:34:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKV2v3LLCz4BDrJ; Mon, 15 May 2023 06:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKV2v14h3z3LWv; Mon, 15 May 2023 06:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684132471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2UUbrvDzb7dsn7dT1HUal9oM1U/c7ShFuZ+8JOjtf2Q=; b=gHFwPAqB5ptdJ+pi3Ut1rlb2TkkyfuezaBGPX5Tog9vY/6yCOgP5+9CvpkCwkpj4dSVFiX zTgLtIvlNnOcNXo9qqs5JhF5tI7aLWDvQAfExCdzdITN6yUw7VLK+nM/PFiA1u0ffzOgXH C0ilzMcCovmr745BegoFUqIDt0I60EdJIisXbWIq2CYG3qThat2/HfKuJjaMqqtuLNzZzy vzGErsd/No9d79sSoGR4WowNCF0cXOH0+VOL7mbz5af5Ov4LJcwn8G/d0XuHJSnoBmKfhL KtihIJFW6NF3s3z8/PcDHEOgLgM73O0ralX+wt+Z9OYzeQhpFebT7WU/DxDDVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684132471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2UUbrvDzb7dsn7dT1HUal9oM1U/c7ShFuZ+8JOjtf2Q=; b=G3L+wXnUwu+AYU6zZ++dOMFcHAXa1eN2RD0FNVvUhNf61J+L2HlREtKhd7nvPDoWaKOGc8 mr9LWIzFno1V7xRKSUea41/QDfiwGnqy8oIgkxCNSfqqwb7wEjUWFO79+GudfA4LMXN1UJ ghEwQ53dWaJI6IIw8aFRxTpvR2u/KePehzpZZUm534lZN8iS+nO0hxz+pSWPO06unYm/SY sSlbe8eDmxIc/wGdE1+HnIrWnFG4gyGFdFe9gFSerLnqM1kkx4/TAgVASSYy33CfF5SfDn NH37QKQV9wOzqcJ6MeOVdu+Y/D3P1dEMgo9aeljEeqVJmQ35drGLGDRQf9bEbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684132471; a=rsa-sha256; cv=none; b=bC29ooTCRp6t3cEPVYiNrcXVjWU7/ceI5IPRTsqrN7hZWMWFqfCe/nBVspNUL8P/POjScH aQPxm8TCvEHZ6Kb59XIgElpcv127niIDLsFIKUYQ1cd45FT8jaa77bX28VN/oxfSVlZQs3 JMDjqBbkNh0BIxNFMz+ARTzUrDUy9XUDBvIcZ8mLfOiOhixCAj2wbbl6Dc10ngoIyKKZ9I iJ5uVHNvoqrung+3IoivZXo5vz4AyrVGdSk6/uGdfOl3H1lzqPtGfRdCgAp48y+TfEJV0A IJyA5i71ea9DLqDR6C5E4Rx/fL+77iP3wZjqyV73aoed4gebW5oSnTMn43yGNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKV2v071PzVwR; Mon, 15 May 2023 06:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F6YU6Z068911; Mon, 15 May 2023 06:34:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F6YU4m068910; Mon, 15 May 2023 06:34:30 GMT (envelope-from git) Date: Mon, 15 May 2023 06:34:30 GMT Message-Id: <202305150634.34F6YU4m068910@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wolfram Schneider Subject: git: 1206aa278642 - main - remove stale handbook scripts List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1206aa278642ec72e974f3d1dfa8f7b374281b83 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=1206aa278642ec72e974f3d1dfa8f7b374281b83 commit 1206aa278642ec72e974f3d1dfa8f7b374281b83 Author: Wolfram Schneider AuthorDate: 2023-05-15 06:30:34 +0000 Commit: Wolfram Schneider CommitDate: 2023-05-15 06:30:34 +0000 remove stale handbook scripts --- tools/tools/README | 1 - tools/tools/html-mv/html-mv | 59 --------------------------------------------- 2 files changed, 60 deletions(-) diff --git a/tools/tools/README b/tools/tools/README index cb5235ff0308..0da3d6d4a67b 100644 --- a/tools/tools/README +++ b/tools/tools/README @@ -28,7 +28,6 @@ genericize Turn a kernel config into something that can more easily be diffed against the appropriate GENERIC. git Tools to simplify the use of git by committers. hcomp Compress header files by removing comments and whitespace. -html-mv Rename HTML generated filenames to human readable filenames. ifinfo Uses the interface MIB to print out all the information an interface exports in an ugly form. indent_wrapper Tool for style(9) checking SVN/GIT patches. diff --git a/tools/tools/html-mv/html-mv b/tools/tools/html-mv/html-mv deleted file mode 100644 index 29ea1f2db81d..000000000000 --- a/tools/tools/html-mv/html-mv +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 1997 Wolfram Schneider . Berlin. -# All rights reserved. -# -# rename sgml/html generated file names to human readable file names -# -# $ cd FAQ -# $ make FORMATS=html -# $ html-mv FAQ -# $ ls -# FAQ_ACKNOWLEDGMENTS.html -# FAQ_Any_restrictions_on_how_I_divide_the_disk_up_.html -# FAQ_Are_there_any_Database_systems_for_FreeBSD_.html -# FAQ_Are_there_any_commercial_high-performance_X_servers_.html -# FAQ_Books_on_FreeBSD.html -# FAQ_Can_FreeBSD_handle_multiport_serial_cards_sharing_irqs_.html -# [...] -# -# $FreeBSD$ - -case $# in 0) - echo "usage `basename $0` file" - exit 1 -esac - -file=$1; export file - -if [ -f "$file.html" ]; then : -else - echo "$file.html does not exist" - exit 1 -fi - -# search for title name -egrep -i '^[\*\s]*//; s%\s*.*%%; - s/[^a-zA-Z0-9\_\-\.:\n]/_/g' > .list - -# create sed commands -awk -F: '{print "s/" $1 "/'$file'_" $2 ".html/g;"}' .list > .sed - -# create mv(1) shell script -perl -ne 'chop;($a,$b)=split(/:/); - print qq[rename ("$a", "$ENV{'file'}_$b.html") || ] . - qq[die "rename $a $ENV{'file'}_$b.html:\$\!";\n]' .list > .mv - -# replace links -if [ -f "$file.ln" ]; then - perl -i -p .sed $file.ln -fi - -# replace links -perl -i -p .sed $file*.html - -# rename file names -perl .mv - -rm -f .mv .sed .list From nobody Mon May 15 06:34:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKV2w2Tfcz4BF55; Mon, 15 May 2023 06:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKV2w20yfz3M67; Mon, 15 May 2023 06:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684132472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WaoGj32NJvXDNaEY8wDfJfmcvcdkuf98lq6HfTmFwzk=; b=aBtszd1hqmPKG4dzO1Sasl2RPT+CTh35ck524XBb5PBTY8A+ocNuE27ZhNTj/BIyDrhStw dWV88hQPOTbgf+BsX6ZSkQpx+VoOB5G9iJaKZwFQcaANxazWgK2TVsGcInWACtoXWrpFQa AbznLFMK8DDXdsFTwySZkVAXOS6pIXONw4nLrZeog7j5YW7m8KxQhi3qOF/DGFk3c2Imx9 8URK1hoLGIsWtW815/xW0JyrqepTqTZX7l/s+Vguk+khnOvaYX++3dRiT5ys8XUtFR6MHc 4q+Yv1G+pTtalR/CLY7aiBGxwcxYoEL1ndRtrRVL1igdA2XN0Y+mL0TSMAeMXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684132472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WaoGj32NJvXDNaEY8wDfJfmcvcdkuf98lq6HfTmFwzk=; b=d+AtLCtHS8hApYYdMLo+MN/QaclxgUQe1Y9Vdcg9FIk7gYWLq63JzaoyX1A+92TUJqObuo nUFA+zJLiuJSWKpAQjU5nThjterEE4tAWrTBQ2JOdJuYyo+lZj9V3qRoyCJ9BX4X200VFK 3wWvAecz/qnTO4rzaLGK7OL+zRx/oGjvRwtyJ4yRGSBgPWhXD9hH6eDYw3YwyGpDtc4Dtz is9awapTm2dRXNG4c1K1vZJwzndc+QErZQPKv3tNDFEgAgo3ouRKwC8mgfp4i8bA+DfiWf eJPlbVfQnUi7Nr0AQKcTkckwJF2H1sJtY/XwevG+4rLAYamk34bgPIge8UhamA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684132472; a=rsa-sha256; cv=none; b=arP0XjvOUr0Z4/2Sp5LaFKm8NLPAUJEhcfpK1Wh+8U0AmsDv1UwNAhClRgLIeXblvyPm2F dyOaUR1aHw3C1Twedl0vou+opYFbYXkpwKyMLv9oA4bQ00lnYyOFTD8xqc0LBMse9WXXGt gaQFqvidwP9SbdSYTZMzWcV+UtZ+JNJYqty9KSq5W5C7jhBMFrFAnMqvpGR4Dxubs+u6Fi dml9Y5ZlPm8Yq5s/v4CfSjFelrQXYhXaH+E0R1TDkm3yphvz1k5Pg8rEP3oiKR72/CYEcR mK1iF+wD+o018I9fB6H/g3hz5IhGf1SclwvsxpdoILAydnsbDICie/RSaVUNdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKV2w14TYzVNp; Mon, 15 May 2023 06:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F6YWFT068930; Mon, 15 May 2023 06:34:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F6YW22068929; Mon, 15 May 2023 06:34:32 GMT (envelope-from git) Date: Mon, 15 May 2023 06:34:32 GMT Message-Id: <202305150634.34F6YW22068929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wolfram Schneider Subject: git: b3087b63da4f - main - remove stale portsinfo script List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b3087b63da4f9d1ce75f40fa97c5c16dbb61580f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=b3087b63da4f9d1ce75f40fa97c5c16dbb61580f commit b3087b63da4f9d1ce75f40fa97c5c16dbb61580f Author: Wolfram Schneider AuthorDate: 2023-05-15 06:34:20 +0000 Commit: Wolfram Schneider CommitDate: 2023-05-15 06:34:20 +0000 remove stale portsinfo script --- tools/tools/README | 1 - tools/tools/portsinfo/portsinfo.sh | 84 -------------------------------------- 2 files changed, 85 deletions(-) diff --git a/tools/tools/README b/tools/tools/README index 0da3d6d4a67b..0a38fac0a47c 100644 --- a/tools/tools/README +++ b/tools/tools/README @@ -52,7 +52,6 @@ npe Tools specific to the Intel IXP4XXX NPE device pciid Generate src/share/misc/pci_vendors. pciroms A tool for dumping PCI ROM images. WARNING: alpha quality. pirtool A tool for dumping the $PIR table on i386 machines at runtime. -portsinfo Generate list of new ports for last two weeks. scsi-defects Get at the primary or grown defect list of a SCSI disk. sysdoc Build a manual page with available sysctls for a specific kernel configuration. diff --git a/tools/tools/portsinfo/portsinfo.sh b/tools/tools/portsinfo/portsinfo.sh deleted file mode 100644 index a5e700b50efe..000000000000 --- a/tools/tools/portsinfo/portsinfo.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh -# Copyright (c) April 1997 Wolfram Schneider , Berlin. -# -# portsinfo - Generate list of new ports for last two weeks. -# -# $FreeBSD$ - -PATH=/bin:/usr/bin:/usr/local/bin:$PATH; export PATH - -host=https://www.freebsd.org -url=$host/cgi/ports.cgi -time='?type=new&time=2+week+ago&sektion=all' -time2='?type=changed&time=2+week+ago&sektion=all' -info=yes - -if [ x"$info" = xyes ]; then - -cat <<'EOF' -Introduction ------------- - -The FreeBSD Ports Collection offers a simple way for users and -administrators to install applications. Each "port" listed here -contains any patches necessary to make the original application source -code compile and run on FreeBSD. Installing an application is as -simple as downloading the port, unpacking it and typing make in the -port directory. The Makefile automatically fetches the application -source code, either from a local disk or via ftp, unpacks it on your -system, applies the patches, and compiles. If all goes well, simply -type make install to install the application. - -For more information about using ports, see the ports collection - - https://www.freebsd.org/handbook/ports.html -and - https://www.freebsd.org/ports/ - -EOF - - lynx -dump $host/ports/ | - perl -ne '/^[ ]*There are currently/ && s/^\s+// && print && exit' - -cat < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: ef7d0eb9489f - main - pw: do not call system() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: ef7d0eb9489f39169a1ae83c576fe74e40d126ad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=ef7d0eb9489f39169a1ae83c576fe74e40d126ad commit ef7d0eb9489f39169a1ae83c576fe74e40d126ad Author: Baptiste Daroussin AuthorDate: 2023-05-15 06:55:08 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-15 06:59:08 +0000 pw: do not call system() Calling system makes pw(8) spawn a shell, which can then be abused. MFC After: 3 days --- usr.sbin/pw/pw_user.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index 52b37eae4ff1..c0002f985bfb 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -50,6 +50,7 @@ static const char rcsid[] = #include #include #include +#include #include "pw.h" #include "bitmap.h" @@ -57,6 +58,7 @@ static const char rcsid[] = #define LOGNAMESIZE (MAXLOGNAME-1) +extern char **environ; static char locked_str[] = "*LOCKED*"; static struct passwd fakeuser = { @@ -694,11 +696,16 @@ rmat(uid_t uid) stat(e->d_name, &st) == 0 && !S_ISDIR(st.st_mode) && st.st_uid == uid) { - char tmp[MAXPATHLEN]; - - snprintf(tmp, sizeof(tmp), "/usr/bin/atrm %s", - e->d_name); - system(tmp); + const char *argv[] = { + "/usr/sbin/atrm", + e->d_name, + NULL + }; + if (posix_spawn(NULL, argv[0], NULL, NULL, + (char *const *) argv, environ)) { + warn("Failed to execute '%s %s'", + argv[0], argv[1]); + } } } closedir(d); @@ -915,9 +922,18 @@ pw_user_del(int argc, char **argv, char *arg1) /* Remove crontabs */ snprintf(file, sizeof(file), "/var/cron/tabs/%s", pwd->pw_name); if (access(file, F_OK) == 0) { - snprintf(file, sizeof(file), "crontab -u %s -r", - pwd->pw_name); - system(file); + const char *argv[] = { + "crontab", + "-u", + pwd->pw_name, + "-r", + NULL + }; + if (posix_spawnp(NULL, argv[0], NULL, NULL, + (char *const *) argv, environ)) { + warn("Failed to execute '%s %s'", + argv[0], argv[1]); + } } } From nobody Mon May 15 07:10:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKVqv2WtJz4BGgS; Mon, 15 May 2023 07:10: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 4QKVqv2L4Mz3Pk9; Mon, 15 May 2023 07:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684134603; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HNs3TiOkOdE2kptYEI3KGRTZTKGuGkPy7gqd+1co8Qs=; b=NBoHxJbmNbK+mAT28F2/NEKVE18KwULagOHaaWJXkLtCOUsvm8II5hKAk/BMDsLmXboXkI c1hasklOxabpW7BXnaySs8e2Kt41l1W7yxf8G4WvQKMKIIw8jc6ARO91pHQlMQAA8fHrBx j08OVAfXXiI3IucjMYq3eJBCzJPZfbU4TkufvgCIn0xuW8ppkerd+xeHqp9xA28XyFO9Qk 6J4TyVLV1TqfMXDwgnz/qmUZvt8Zt1EkwOdR/Wa0Bh2YMNVdPx41Yph0DbUv5ioW6AsDkc Qv4CKUmOuwvnVlHK6h+4xWZW1nO0/9EJg8P//uU74qRwx8Se/WSu1SE0UwftOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684134603; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HNs3TiOkOdE2kptYEI3KGRTZTKGuGkPy7gqd+1co8Qs=; b=kmv1nmXmczkX/oODT02wHzgi18OouKc35UP9XYunpZ+rQgJvZ0O3YPBVnjXM+MFb/Ii/83 HNOL0kpZlG6P5JP+rRwm2b2uLVEpfAoHnENvc8y1GPGlMnRZpuEkYGeX02jQVry/obAQd/ KlQ+/PvLhxnHN1xlHEJ0SzyK6X7iScaLC9Qo+a+DXkIb0LX5l+zls+EKH979RcgQd/bBgu lGet3eyRzSxXJn1uKVTYHL1D654LiNJEjD6x4ZdKEQ6rVqSZnWEO2okctavXYJvsf+//mw OugpNvnq0AkKK5a9dsqI1OvMPaHWOtBe9s3dyJB/EyUQ0CoKw2MARR7ITljQ+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684134603; a=rsa-sha256; cv=none; b=lWJ2c39wAbQGJUTgaNtp1psx3bYHxwLfFPfl/iSwBoXBmGxIvyp5e0XK6rQactl1uj+Ygd RlkGmKxCUeQh+oV/0FYLMN04C38DVQELajWxU24jBWst5plVByQWFkIOlgCBvHdadZoMHg yoPWYf7H/6NuK/gUoV++QzKnVt6UcIdggyD2oBC/Hkv00IQOlDmbgrJ/Aq7xMO6T6X/Qsd 034xY4OrLEkF/Zoi96gEWRNO9Nb7QJ+Ea7qWJdQ17hV/95Z+1jqsoxIIuDnBIhcLOL1EPD T/DtCpsK00PtNNL1xc/9zUMDDNyzcy3Kb1/Ru7QL9FbXTmKkQNM7fqX7A4wHCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKVqv1P6CzWc8; Mon, 15 May 2023 07:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F7A3cT021504; Mon, 15 May 2023 07:10:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F7A3iC021489; Mon, 15 May 2023 07:10:03 GMT (envelope-from git) Date: Mon, 15 May 2023 07:10:03 GMT Message-Id: <202305150710.34F7A3iC021489@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: c7fdf87b0985 - main - pci_vendors: update to 2023-05-15 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: c7fdf87b0985de602827cfb2a8ccb3aebaf42318 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c7fdf87b0985de602827cfb2a8ccb3aebaf42318 commit c7fdf87b0985de602827cfb2a8ccb3aebaf42318 Author: Baptiste Daroussin AuthorDate: 2023-05-15 07:09:29 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-15 07:09:32 +0000 pci_vendors: update to 2023-05-15 MFC After: 3 days --- share/misc/pci_vendors | 761 +++++++++++++++++++++++-------------------------- 1 file changed, 351 insertions(+), 410 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 21fe7c8cd713..fb0a22837428 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2023.04.01 -# Date: 2023-04-01 03:15:02 +# Version: 2023.05.15 +# Date: 2023-05-15 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -49,6 +49,8 @@ 7a19 PCI-to-PCI Bridge 7a24 OHCI USB Controller 7a29 PCI-to-PCI Bridge +0018 Fn-Link Technology Limited + 6252 6252CPUB 802.11ax PCIe Wireless Network Adapter 001c PEAK-System Technik GmbH 0001 PCAN-PCI CAN-Bus controller 001c 0004 2 Channel CAN Bus SJC1000 @@ -80,13 +82,13 @@ 8139 HNE-300 (RealTek RTL8139c) [iPaq Networking] 025e Solidigm 0b60 NVMe DC SSD [Sentinel Rock Plus controller] + 025e 8208 NVMe DC SSD U.2 15mm [D7-P5810] 025e d408 NVMe DC SSD U.2 15mm [D5-P5430] 025e d40c NVMe DC SSD E1.S 9.5mm [D5-P5430] 025e d419 NVMe DC SSD E3.S 7.5mm [D5-P5430] 025e d808 NVMe DC SSD U.2 15mm [D5-P5336] 025e d819 NVMe DC SSD E3.S 7.5mm [D5-P5336] 025e d81d NVMe DC SSD E1.L 9.5mm [D5-P5336] -# Solidigm SSD Product 0b70 NVMe DC SSD [Yorktown controller] 0270 Hauppauge computer works Inc. (Wrong ID) 0291 Davicom Semiconductor, Inc. (Wrong ID) @@ -406,8 +408,7 @@ 103c 3108 Single Channel Ultra320 SCSI HBA G2 103c 322a SC11Xe Ultra320 Single Channel PCIe x4 SCSI Host Bus Adapter (412911-B21) 124b 1170 PMC-USCSI320 -# VMware's emulation of this device. Was missing from the list. - 15ad 1976 LSI Logic Parallel SCSI Controller + 15ad 1976 LSI Logic Parallel SCSI Controller (emulated) 1734 1052 PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) 0031 53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI 0032 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI @@ -771,6 +772,7 @@ 1028 2142 HBA465e Adapter 1028 2209 HBA465i Adapter 1028 220a HBA465i Front + 1028 228a HBA465e-s Adapter 15d9 1d03 AOC-S4116L-H16IR (16DD/96DD) RAID Adapter 15d9 1d07 AOC-S4016L-L16IT Storage Adapter 15d9 1d08 AOC-S4016L-L16IR Storage Adapter @@ -1036,6 +1038,8 @@ 15d9 1c6e AOC-SLG4-2H8M2 Storage Adapter 1d49 0505 ThinkSystem RAID 540-8i PCIe Gen4 12Gb Adapter 1d49 0506 ThinkSystem RAID 540-16i PCIe Gen4 12Gb Adapter + 1d49 0700 ThinkSystem M.2 SATA/NVMe 2-Bay RAID Enablement Kit + 1d49 0701 ThinkSystem 7mm SATA/NVMe 2-Bay RAID Enablement Kit 10e7 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 1960 MegaRAID 1000 0518 MegaRAID 518 SCSI 320-2 Controller @@ -2770,7 +2774,7 @@ # FX-797A-TNBC 1682 3213 HD 7970 Black Edition 1682 3214 Double D HD 7970 - 1787 201c HD 7970 IceQ X² + 1787 201c HD 7970 IceQ X² # Radeon HD 7970 X2 1787 2317 Radeon HD 7990 1787 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] @@ -2833,7 +2837,7 @@ 174b e282 Vapor-X R9 290X Tri-X OC 174b e285 R9 290X Tri-X OC 174b e324 Grenada XT2 [Radeon R9 390X] - 1787 2020 R9 290X IceQ X² Turbo + 1787 2020 R9 290X IceQ X² Turbo 1787 2357 Grenada XT [Radeon R9 390X] 67b1 Hawaii PRO [Radeon R9 290/390] 1043 04dd STRIX R9 390 @@ -2858,7 +2862,6 @@ 1002 0b37 Radeon RX 480 1028 1722 Radeon RX 570X 1028 1723 Radeon RX 580X -# OEM card found in desktops sold by HP. 103c 840e Radeon RX 580 4GB 1043 04a8 Radeon RX 480 1043 04b0 Radeon RX 470 @@ -2881,7 +2884,6 @@ 148c 2372 Radeon RX 480 [Red Dragon] 148c 2373 Radeon RX 470 148c 2377 Red Devil RX 580 8G Golden -# https://www.techpowerup.com/vgabios/?manufacturer=Powercolor&model=RX+580 148c 2378 Radeon RX 580 148c 2379 Radeon RX 570 4G [Red Dragon] 148c 2391 Radeon RX 590 [Red Devil] @@ -3690,7 +3692,6 @@ 6939 Tonga PRO [Radeon R9 285/380] 1462 2015 Radeon R9 380 Gaming 4G 148c 9380 Radeon R9 380 -# Make naming scheme consistent 174b e308 Radeon R9 380 Nitro 4G D5 174b e315 Radeon R9 285 693b Tonga PRO GL [FirePro W7100 / Barco MXRT-7600] @@ -3725,7 +3726,7 @@ 1002 0322 All-in-Wonder X1800XL 1002 0d02 Radeon X1800 CrossFire Edition 710a R520 [Radeon X1800 GTO] - 1002 0b12 Radeon X1800 GTO² + 1002 0b12 Radeon X1800 GTO² 710b R520 [Radeon X1800 GTO] 710e R520 GL [FireGL V7300] 13cc 3d0c MXRT-5150 @@ -3888,6 +3889,7 @@ 73a3 Navi 21 GL-XL [Radeon PRO W6800] 73a4 Navi 21 USB 73a5 Navi 21 [Radeon RX 6950 XT] + 1849 5230 Navi 21 [ASRock OC Forumla Radeon RX 6950XT] 1da2 441d Navi 21 [Sapphire Nitro+ Radeon RX 6950 XT] 73ab Navi 21 Pro-XLA [Radeon Pro W6800X/Radeon Pro W6800X Duo] 73ae Navi 21 [Radeon Pro V620 MxGPU] @@ -3916,10 +3918,11 @@ 73e4 Navi 23 USB 73ef Navi 23 [Radeon RX 6650 XT / 6700S / 6800S] 1458 2405 Navi 23 [Radeon RX 6650 XT] + 1849 5236 RX 6650 XT Challenger D OC + 73f0 Navi 33 [Radeon RX 7600M XT] 73ff Navi 23 [Radeon RX 6600/6600 XT/6600M] 1462 5022 RX 6600 MECH 2X 148c 2412 PowerColor Red Devil RX 6600 XT -# This is the non-XT version 1849 5218 Radeon RX 6600 Challenger ITX 8GB 7408 Aldebaran/MI200 [Instinct MI250X] 740c Aldebaran/MI200 [Instinct MI250X/MI250] @@ -3930,11 +3933,14 @@ 7424 Navi 24 [Radeon RX 6300] 743f Navi 24 [Radeon RX 6400/6500 XT/6500M] 1da2 e457 PULSE AMD Radeon RX 6500 XT + 7448 Navi31 [Radeon Pro W7900] 744c Navi 31 [Radeon RX 7900 XT/7900 XTX] 1da2 e471 NITRO+ RX 7900 XTX Vapor-X 1eae 7901 RX-79XMERCB9 [SPEEDSTER MERC 310 RX 7900 XTX] - 7480 Navi 33 [Radeon RX 7700S/7600S] + 745e Navi 31 + 7480 Navi 33 [Radeon RX 7700S/7600S/7600M XT] 7483 Navi 33 [Radeon RX 7600M/7600M XT] + 7489 Navi 33 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -4106,7 +4112,6 @@ 9588 RV630 XT [Radeon HD 2600 XT] 1458 216c Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) 9589 RV630 PRO [Radeon HD 2600 PRO] -# Rebranded HD 2600 PRO 1787 3000 Radeon HD 3610 958a RV630 [Radeon HD 2600 X2] 958b RV630/M76 [Mobility Radeon HD 2600 XT] @@ -4135,7 +4140,7 @@ 95c4 RV620/M82 [Mobility Radeon HD 3450/3470] 1002 95c4 Mobility Radeon HD 3400 95c5 RV620 LE [Radeon HD 3450] - 1028 0342 OptiPlex 980 + 1028 0342 Radeon HD 3450 DMS-59 95c6 RV620 LE [Radeon HD 3450 AGP] 95c9 RV620 LE [Radeon HD 3450 PCI] 95cc RV620 GL [FirePro V3700] @@ -5509,18 +5514,22 @@ 1043 82f1 M3A78-EH Motherboard 9601 RS880 Host Bridge 1019 2120 A785GM-M + 1028 0433 Optiplex 580 103c 1609 ProLiant MicroServer N36L 1043 83a2 M4A785-M Mainboard 1043 843e M5A88-V EVO 9602 RS780/RS880 PCI to PCI bridge (int gfx) 9603 RS780 PCI to PCI bridge (ext gfx port 0) + 1028 0433 Optiplex 580 103c 1609 ProLiant MicroServer N36L 9604 RS780/RS880 PCI to PCI bridge (PCIE port 0) + 1028 0433 OptiPlex 580 9605 RS780/RS880 PCI to PCI bridge (PCIE port 1) 9606 RS780 PCI to PCI bridge (PCIE port 2) 103c 1609 ProLiant MicroServer N36L 9607 RS780/RS880 PCI to PCI bridge (PCIE port 3) 9608 RS780/RS880 PCI to PCI bridge (PCIE port 4) + 1028 0433 OptiPlex 580 9609 RS780/RS880 PCI to PCI bridge (PCIE port 5) 960a RS780 PCI to PCI bridge (NB-SB link) 960b RS780 PCI to PCI bridge (ext gfx port 1) @@ -5910,7 +5919,6 @@ 110a 001e MGA-G100 AGP 2007 MGA Mistral 2527 Millennium G550 -# PCI\VEN_102B&DEV_2527&SUBSYS_0F42102B&REV_01 102b 0f42 Matrox G550 Low Profile PCI 102b 0f83 Millennium G550 102b 0f84 Millennium G550 Dual Head DDR 32Mb @@ -6592,7 +6600,6 @@ 0009 STG 1764X 0010 STG4000 [3D Prophet Kyro Series] 104a 4018 ST PowerVR Kyro (64MB AGP TVO) -# 64MB AGP 1681 0010 PowerVR Kyro II [3D Prophet 4500] 1681 0028 3D Prophet 4000XT 1681 c010 3D Prophet 4500 TV-Out @@ -7105,6 +7112,8 @@ 6405 MPC184 Security Processor (S1 family) 1058 Electronics & Telecommunications RSH 1059 Kontron + 0004 FPGA M.2 (K20058) + 1059 0000 FPGA M.2 (K20058) 105a Promise Technology, Inc. 0d30 PDC20265 (FastTrak100 Lite/Ultra100) 1043 8042 AV7266-E South Bridge Promise RAID @@ -7518,7 +7527,7 @@ 1077 02f2 QLogic 1x32Gb QLE2770 FC HBA 1077 02f3 QLogic 2x32Gb QLE2772 FC HBA 1590 02d3 SN1610Q - 1P Enhanced 32GFC Single Port Fibre Channel Host Bus Adapter - 1590 02d4 SN1610Q – 2P Enhanced 32GFC Dual Port Fibre Channel Host Bus Adapter + 1590 02d4 SN1610Q - 2P Enhanced 32GFC Dual Port Fibre Channel Host Bus Adapter 2289 ISP2852-based 64/32G Fibre Channel to PCIe Controller with StorCryption 1077 02e9 QLE2882 Dual Port 64GFC PCIe Gen4 x8 Adapter with StorCryption 1077 02eb QLE2782 Dual Port 32GFC PCIe Gen4 x8 Adapter with StorCryption @@ -12639,11 +12648,14 @@ 1ff0 TU117GL [T1000 8GB] 1ff2 TU117GL [T400 4GB] 1ff9 TU117GLM [Quadro T1000 Mobile] + 2080 GA100 + 2081 GA100 2082 GA100 [CMP 170HX] 20b0 GA100 [A100 SXM4 40GB] 20b1 GA100 [A100 PCIe 40GB] 20b2 GA100 [A100 SXM4 80GB] 20b3 GA100 [A100-SXM-64GB] + 20b4 GA100 20b5 GA100 [A100 PCIe 80GB] 20b6 GA100GL [PG506-232] 20b7 GA100GL [A30 PCIe] @@ -12652,6 +12664,7 @@ 20bb GA100 [DRIVE A100 PROD] 20be GA100 [GRID A100A] 20bf GA100 [GRID A100B] + 20c0 GA100 20c2 GA100 [CMP 170HX] 20f0 GA100 [A100-PG506-207] 20f1 GA100 [A100 PCIe 40GB] @@ -12660,6 +12673,8 @@ 20f5 GA100 [A800 80GB PCIe] 20f6 GA100 [A800 40GB PCIe] 20fd GA100 [A100T] + 20fe GA100 + 20ff GA100 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] @@ -12743,7 +12758,7 @@ 24ba GA104GLM [RTX A4500 Laptop GPU] 24bb GA104GLM [RTX A3000 Laptop GPU] 24bf GA104 [GeForce RTX 3070 Engineering Sample] - 24c7 GA104 [GeForce RTX 3060 GDDR6X] + 24c7 GA104 [GeForce RTX 3060 8GB] 24c8 GA104 [GeForce RTX 3070 GDDR6X] 24c9 GA104 [GeForce RTX 3060 Ti GDDR6X] 24dc GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] @@ -12802,7 +12817,8 @@ 25fb GA107 [RTX A500 Embedded GPU] 2681 AD102 [RTX TITAN Ada] 2684 AD102 [GeForce RTX 4090] - 26b1 AD102GL [L6000 / RTX 6000 Ada Generation] + 26b1 AD102GL [RTX 6000 Ada Generation] + 26b2 AD102GL [RTX 5000 Ada Generation] 26b5 AD102GL [L40] 26b8 AD102GL [L40G] 26f5 AD102GL [L40 CNX] @@ -13260,7 +13276,7 @@ 10ec 8739 Dell Wireless 1801 17aa b736 Z50-75 b822 RTL8822BE 802.11a/b/g/n/ac WiFi adapter - 103c 831b Realtek RTL8822BE 802.11ac 2 × 2 Wi-Fi + Bluetooth 4.2 Combo Adapter (MU-MIMO supported) + 103c 831b Realtek RTL8822BE 802.11ac 2x2 Wi-Fi + Bluetooth 4.2 Combo Adapter (MU-MIMO supported) 17aa 5124 ThinkPad E595 17aa b023 ThinkPad E595 c821 RTL8821CE 802.11ac PCIe Wireless Network Adapter @@ -13287,16 +13303,11 @@ 3fc4 RME Digi9652 (Hammerfall) 3fc5 RME Hammerfall DSP 3fc6 RME Hammerfall DSP MADI -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 5000 Alveo U200 XDMA Platform -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 5004 Alveo U250 XDMA Platform 5005 Alveo U250 -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 500c Alveo U280 XDMA Platform -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 5020 Alveo U50 XMDA Platform -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 505c Alveo U55C 6987 SmartSSD 6988 SmartSSD @@ -13310,13 +13321,9 @@ 9134 SmartSSD 9234 SmartSSD 9434 SmartSSD -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d000 Alveo U200 Golden Image -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d004 Alveo U250 Golden Image -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d00c Alveo U280 Golden Image -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d020 Alveo U50 Golden Image d154 Copley Controls CAN card (PCI-CAN-02) # SED is assigned Xilinx PCI device IDs ebf0 through ebff @@ -13826,6 +13833,7 @@ 147b 1407 KV8-MAX3 motherboard 1695 300c Realtek ALC655 audio on EP-8KRA series mainboard 16f3 4170 J7F2 motherboard + 1734 1078 Amilo L7300T notebook 1849 0850 ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) 1849 9739 P4VT8 Mainboard (C-Media CMI9739A codec) # probably all K7VT2/4*/6 @@ -14108,8 +14116,7 @@ 9082 Standard AHCI 1.0 SATA Controller 9140 HDMI Audio Device 9201 USB3.0 Controller -# Centaur CNS Coprocessor - 9380 Ncore Coprocessor + 9380 Ncore Coprocessor for Centaur CNS 9530 VX800/820/900 Series Secure Digital Memory Card Controller 95d0 VX800/820/900 Series SDIO Host Controller a208 PT890 PCI to PCI Bridge Controller @@ -14655,8 +14662,7 @@ 153b 1157 Cinergy 1200 DVB-T 153b 1176 Cinergy 1200 DVB-C (MK3) 1894 0020 KNC One DVB-C V1.0 - 1894 0023 TVStation DVB-C plus -# http://www.knc1.com/gb.htm + 1894 0023 TV-Station DVB-C plus 1894 0054 TV-Station DVB-S 7160 SAA7160 1458 9009 E8000 DVB-T/Analog TV/FM tuner @@ -15361,6 +15367,8 @@ 117c 00bc Celerity FC-321P 117c 00bd Celerity FC-322P 117c 00be Celerity FC-324P + 117c 00c9 Celerity FC-641E + 117c 00ca Celerity FC-642E 00c5 ExpressNVM PCIe Gen4 Switch 117c 00c6 ExpressNVM S48F PCIe Gen4 117c 00c7 ExpressNVM S468 PCIe Gen4 @@ -16668,11 +16676,11 @@ 14fe 0429 ES56-PI Data Fax Modem 125e Specialvideo Engineering SRL 125f Concurrent Technologies, Inc. -# 4 x serial ports, 2 x printer ports +# 4x serial ports, 2x printer ports 2071 CC PMC/232 -# 4 x serial ports, 2 x printer ports +# 4x serial ports, 2x printer ports 2084 CC PMC/23P -# 4 x serial ports, RS422 +# 4x serial ports, RS422 2091 CC PMC/422 1260 Intersil Corporation 3872 ISL3872 [Prism 3] @@ -16726,7 +16734,8 @@ 5352 PCR2101 5a4b Telsat Turbo 1268 Tektronix -1269 Thomson-CSF/TTM +# nee Thomson-CSF/TTM +1269 Thales # MBIM on top of MHI 00b3 5G Data Card [Cinterion MV31-W] 126a Lexmark International, Inc. @@ -17594,6 +17603,7 @@ 1344 5000 U.3 6400GB 51c3 7450 PRO NVMe SSD 51c4 7450 MAX NVMe SSD + 1344 3000 U.3 1600GB [MTFDKCB1T6TFS/MTFDKCC1T6TFS] 1345 Arescom Inc 1347 Odetics 1349 Sumitomo Electric Industries, Ltd. @@ -19449,6 +19459,7 @@ 1456 Advanced Hardware Architectures 1457 Nuera Communications Inc 1458 Gigabyte Technology Co., Ltd + 1002 Aourus Radeon RX6900XT Xtreme Waterforce WB 16G 22e8 Ellesmere [Radeon RX 480] 3483 USB 3.0 Controller (VIA VL80x-based xHCI Controller) 1459 DOOIN Electronics @@ -19467,7 +19478,6 @@ e836 M115S Hybrid Analog/DVB PAL/SECAM/NTSC Tuner f436 AVerTV Hybrid+FM 1462 Micro-Star International Co., Ltd. [MSI] -# VIA Driver-inf 3483 MSI USB 3.0 (VIA VL80x-based xHCI USB Controller) 7c56 Realtek Ethernet controller RTL8111H aaf0 Radeon RX 580 Gaming X 8G @@ -19554,6 +19564,7 @@ 149f LECTRON Co Ltd 14a0 SOFTING GmBH 14a1 Systembase Co Ltd + 4d02 SB16C1052PCI [Multi-2/PCIe RS232] 14a2 Millennium Engineering Inc 14a3 Maverick Networks 14a4 Lite-On Technology Corporation @@ -19631,6 +19642,8 @@ # MT7612E too? 7662 MT7662E 802.11ac PCI Express Wireless Network Adapter 7915 MT7915E 802.11ax PCI Express Wireless Network Adapter +# WiFi 6E capable + 7922 MT7922 802.11ax PCI Express Wireless Network Adapter 7961 MT7921 802.11ax PCI Express Wireless Network Adapter 14c4 IWASAKI Information Systems Co Ltd 14c5 Automation Products AB @@ -19967,6 +19980,8 @@ 167f NetLink BCM5787F Fast Ethernet PCI Express 1680 NetXtreme BCM5761e Gigabit Ethernet PCIe 1681 NetXtreme BCM5761 Gigabit Ethernet PCIe +# Integrated on the motherboard + 1028 0433 OptiPlex 580 1682 NetXtreme BCM57762 Gigabit Ethernet PCIe 106b 00f6 Thunderbolt to Gigabit Ethernet Adapter 1683 NetXtreme BCM57767 Gigabit Ethernet PCIe @@ -20514,7 +20529,7 @@ 5850 BCM5850 Crypto Accelerator 5e87 Valkyrie offload engine 5e88 Viper Offload Engine -# bluetooth PCI function of the BRCM4378 Wireless Network Adapter +# Bluetooth PCI function of the BRCM4378 Wireless Network Adapter 5f69 BRCM4378 Bluetooth Controller # Bluetooth PCI function of the BRCM4387 Wireless Network Adapter 5f71 BRCM4387 Bluetooth Controller @@ -20540,22 +20555,19 @@ b472 BCM56472 SWITCH ASIC b800 BCM56800 StrataXGS 10GE Switch Controller b842 BCM56842 Trident 10GE Switch Controller -# Trident2 - b850 Broadcom BCM56850 Switch ASIC + b850 BCM56850 Switch ASIC [Trident2] b880 BCM56880 Switch ASIC -# Tomahawk - b960 Broadcom BCM56960 Switch ASIC -# Tomahawk4 - b990 BCM56990 Switch ASIC -# Tomahawk4G - b996 BCM56996 Tomahawk4G 106G Switch ASIC -# Tomahawk4GT - b998 BCM56998 Tomahawk4GT 106G Switch ASIC -# Tomahawk4D - b999 BCM56999 Tomahawk4D 106G Switch ASIC + b960 BCM56960 Switch ASIC [Tomahawk] + b990 BCM56990 Switch ASIC [Tomahawk4] +# Switch ASIC + b991 Tomahawk4 + b992 BCM56992 [Tomahawk4] + b993 BCM56993 Switch ASIC [Tomahawk4] + b995 BCM56995 Switch ASIC [Tomahawk4] + b996 BCM56996 106G Switch ASIC [Tomahawk4G] + b998 BCM56998 106G Switch ASIC [Tomahawk4GT] + b999 BCM56999 106G Switch ASIC [Tomahawk4D] c909 BCM78909 Switch ASIC -# Tomahawk6C A0 Switch ASIC - c914 BCM78914 d802 BCM58802 Stingray 50Gb Ethernet SoC 14e4 8021 Stingray Dual-Port 25Gb Ethernet PCIe SmartNIC w16GB DRAM (Part No BCM958802A8046C) 14e4 8023 PS410T-H04 NetXtreme-S 4x10G 10GBaseT PCIe SmartNIC @@ -20563,8 +20575,13 @@ 14e4 8028 Stingray Dual-Port 25Gb Ethernet PCIe SmartNIC w8GB DRAM (Part No BCM958802A8048C) 1bb0 0021 HPE SimpliVity Accelerator d804 BCM58804 Stingray 100Gb Ethernet SoC -# Trident5-X12 Switch ASIC - f800 BCM78800 switch ASIC for f800 + f800 BCM78800 Switch ASIC [Trident5-X12] + f900 BCM78900 Switch ASIC [Tomahawk5] + f903 BCM78903 Switch ASIC [Tomahawk6] + f905 BCM78905 Switch ASIC [Tomahawk5] + f910 BCM78910 Switch ASIC [Tomahawk6] + f914 BCM78914 Switch ASIC [Tomahawk6] + f917 BCM78917 Switch ASIC [Tomahawk6] 14e5 Pixelfusion Ltd 14e6 SHINING Technology Inc 14e7 3CX @@ -21281,9 +21298,7 @@ 0281 NPS-600 Flash Recovery 0282 ArcusE Flash recovery 0283 ArcusE RMA -# Sagitta ID 0284 Sagitta -# Sagitta RMA 0285 Sagitta RMA 1002 MT25400 Family [ConnectX-2 Virtual Function] 1003 MT27500 Family [ConnectX-3] @@ -21303,10 +21318,8 @@ 15b3 0066 ConnectX-3 IB FDR10 Dual Port Mezzanine Card 15b3 0067 ConnectX-3 VPI IB FDR/40 GbE Single Port QSFP+ Adapter 15b3 0071 ConnectX-3 VPI IB FDR/40 GbE Dual Port QSFP+ Mezzanine Card -# SVID = 15B3 SSID = 0078 15b3 0078 ConnectX-3 10 GbE Dual Port KR Mezzanine Card 15b3 0079 ConnectX-3 40 GbE Dual Port QSFP+ Adapter -# SVID = 15B3 SSID = 0080 15b3 0080 ConnectX-3 10 GbE Dual Port SFP+ Adapter 1004 MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] 1005 MT27510 Family @@ -21365,10 +21378,10 @@ 193d 1084 NIC-ETH540F-3S-2P 1016 MT27710 Family [ConnectX-4 Lx Virtual Function] 1017 MT27800 Family [ConnectX-5] - 15b3 0006 ConnectX®-5 EN network interface card, 100GbE single-port QSFP28, PCIe3.0 x16, tall bracket; MCX515A-CCAT - 15b3 0007 Mellanox ConnectX®-5 MCX516A-CCAT - 15b3 0020 ConnectX®-5 EN network interface card, 10/25GbE dual-port SFP28, PCIe3.0 x8, tall bracket ; MCX512A-ACAT - 15b3 0068 ConnectX®-5 EN network interface card for OCP2.0, Type 1, with host management, 25GbE dual-port SFP28, PCIe3.0 x8, no bracket Halogen free ; MCX542B-ACAN + 15b3 0006 ConnectX-5 EN network interface card, 100GbE single-port QSFP28, PCIe3.0 x16, tall bracket; MCX515A-CCAT + 15b3 0007 Mellanox ConnectX-5 MCX516A-CCAT + 15b3 0020 ConnectX-5 EN network interface card, 10/25GbE dual-port SFP28, PCIe3.0 x8, tall bracket ; MCX512A-ACAT + 15b3 0068 ConnectX-5 EN network interface card for OCP2.0, Type 1, with host management, 25GbE dual-port SFP28, PCIe3.0 x8, no bracket Halogen free ; MCX542B-ACAN 193d 1051 NIC-IB1040i-Mb-2P 1018 MT27800 Family [ConnectX-5 Virtual Function] 1019 MT28800 Family [ConnectX-5 Ex] @@ -21518,6 +21531,7 @@ 1414 500b Xbox Series X 500d WD Ultrastar DC SN340 NVMe SSD 5011 WD PC SN810 / Black SN850 NVMe SSD + 5017 WD Black SN770 NVMe SSD 501a WD Blue SN570 NVMe SSD 1TB 5025 WD Blue SN570 NVMe SSD 2TB 5030 Western Digital WD Black SN850X NVMe SSD @@ -21566,8 +21580,7 @@ 15cc Hotrail Inc 15cd Dreamtech Co Ltd 15ce Genrad Inc -# https://www.hilscher.com/imprint/ -15cf Hilscher Gesellschaft für Systemautomation mbH +15cf Hilscher Gesellschaft für Systemautomation mbH 0000 CIFX PCI/PCIe 15d1 Infineon Technologies AG 15d2 FIC (First International Computer Inc) @@ -21578,6 +21591,7 @@ 15d7 Rockwell-Collins Inc 15d8 Cybernetics Technology Co Ltd 15d9 Super Micro Computer Inc + 1b64 SCC-B8SB80-B1 1b67 AOC-S3916L-H16iR-32DD 1b9d Supermicro AOC-S3816L-L16IR 1c6e Supermicro AOC-SLG4-2H8M2 @@ -22040,14 +22054,14 @@ 002e AR9287 Wireless Network Adapter (PCI-Express) 105b e034 T77H167.00 0030 AR93xx Wireless Network Adapter - 103c 1627 AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter + 103c 1627 AR9380/HB112 802.11abgn 3x3 Wi-Fi Adapter 106b 009a AirPort Extreme 1186 3a7e DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter 1a56 2000 Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382] 1a56 2001 Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380] 0032 AR9485 Wireless Network Adapter 1028 0208 Wireless 1506 WLAN Half Mini-Card - 103c 1838 AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter + 103c 1838 AR9485/HB125 802.11bgn 1x1 Wi-Fi Adapter 105b e044 Unex DHXA-225 144d 410e AR9485WB-EG 802.11b/g/n mini-PCIe card on a series 3 laptop 1a3b 1186 AW-NE186H @@ -22230,6 +22244,7 @@ 7052 APA7-502 Reconfigurable Artix-7 52,160 Cell FPGA module 24 RS485 channels 7053 APA7-503 Reconfigurable Artix-7 52,160 Cell FPGA module 24 TTL & 12 RS485 channels 7054 APA7-504 Reconfigurable Artix-7 52,160 Cell FPGA module 24 LVDS channels + 7072 AP731 Multi-function I/O Module with 12-bit DAC 7073 AP730 Multi-function I/O Module 16 Digital I/O 8 Differential Analog In 4 Analog Out 16da Advantech Co., Ltd. 0011 INES GPIB-PCI @@ -23132,6 +23147,7 @@ 01c5 NT200A02 Network Adapter 01d5 NT50B01 Network Adapter 01e5 NT100A01 Network Adapter + 0215 NT400D11 Network Adapter 0225 NT40A11 Network Adapter 18f6 NextIO 1000 [Nexsis] Switch Virtual P2P PCIe Bridge @@ -23436,6 +23452,10 @@ 0408 P4040E 0409 P4040 041f P3041 + 0420 QorIQ P5020 Communications Processor with security engine + 0421 QorIQ P5020 Communications Processor without security engine + 0428 QorIQ P5010 Communications Processor with security engine + 0429 QorIQ P5010 Communications Processor without security engine 0440 T4240 with security 0441 T4240 without security 0446 T4160 with security @@ -23639,7 +23659,6 @@ 5808 DDRdrive X8 dd52 DDRdrive X1-30 19e5 Huawei Technologies Co., Ltd. -# subvendor 0123 ES3000 V3 NVMe PCIe SSD 19e5 3022 NVMe SSD ES3600P V3 800GB 2.5" U.2 19e5 3023 NVMe SSD ES3600P V3 1200GB 2.5" U.2 @@ -24005,26 +24024,16 @@ 1004 Virtio SCSI 1005 Virtio RNG 1009 Virtio filesystem -# virtio 1.0 - 1041 Virtio network device -# virtio 1.0 - 1042 Virtio block device -# virtio 1.0 - 1043 Virtio console -# virtio 1.0 - 1044 Virtio RNG -# virtio 1.0 - 1045 Virtio memory balloon -# virtio 1.0 - 1048 Virtio SCSI -# virtio 1.0 - 1049 Virtio filesystem -# virtio 1.0 - 1050 Virtio GPU -# virtio 1.0 - 1052 Virtio input -# virtio 1.0 - 1053 Virtio socket + 1041 Virtio 1.0 network device + 1042 Virtio 1.0 block device + 1043 Virtio 1.0 console + 1044 Virtio 1.0 RNG + 1045 Virtio 1.0 memory balloon + 1048 Virtio 1.0 SCSI + 1049 Virtio 1.0 filesystem + 1050 Virtio 1.0 GPU + 1052 Virtio 1.0 input + 1053 Virtio 1.0 socket 105a Virtio file system 1110 Inter-VM shared memory 1af4 1100 QEMU Virtual Machine @@ -24114,6 +24123,7 @@ 0020 ADQ14 0023 ADQ7 0026 ADQ8 + 0031 ADQ3 2014 TX320 2019 S6000 # now owned by HGST (a Western Digital subsidiary) @@ -24167,7 +24177,6 @@ 1028 2010 BOSS-S2 Adapter 1028 2260 BOSS-S1 Modular 1028 2261 BOSS-S2 Adapter -# RS0200L6R2iM2 1bd4 0073 RS0200L6R2iM2 1d49 0300 ThinkSystem M.2 with Mirroring Enablement Kit 1d49 0301 ThinkSystem SR630 x16 PCIE with 4 SATA ports Riser @@ -24331,6 +24340,14 @@ 1bb1 0175 Nytro 5350S - 15mm # Nytro 5350S (Ebonhawk Single Port) TCG - 15mm 1bb1 0176 Nytro 5350S TCG - 15mm +# Nytro 5360S (Rocinante Single Port) - 15mm + 1bb1 0177 Nytro 5360S - 15mm +# Nytro 5360S (Rocinante Single Port) TCG - 15mm + 1bb1 0178 Nytro 5360S TCG - 15mm +# Nytro 5360S (Rocinante Single Port) - E3.S + 1bb1 0179 Nytro 5360S - E3.S +# Nytro 5360S (Rocinante Single Port) TCG - E3.S + 1bb1 0180 Nytro 5360S TCG - E3.S 1bb1 01a1 Nytro XP7102 5012 FireCuda 510 SSD 5016 FireCuda 520 SSD @@ -24389,6 +24406,8 @@ 0001 SentinelEX 7011 RX0xxx 1bfd EeeTOP +1c00 Nanjing Qinheng Microelectronics Co., Ltd. + 3252 CH382 PCIe Dual Port Serial Adapter 1c09 CSP, Inc. 4254 10G-PCIE3-8D-2S 4255 10G-PCIE3-8D-Q @@ -24414,6 +24433,7 @@ 001f FD940 0020 FD2110 0021 FD722 + 0022 FD788 1c28 Lite-On IT Corp. / Plextor 0122 M6e PCI Express SSD [Marvell 88SS9183] # previously Fiberblaze @@ -24432,6 +24452,7 @@ 00af Capture slave device 00e0 PacketMover 2x100Gb [Savona] 00e1 PacketMover 2x100Gb [Tivoli] + 00e2 PacketMover 2x100Gb [Mango_04] 00e3 PacketMover 2x10Gb [Tivoli] 00e5 PacketMover 2x10Gb [Corfu] 1000 SmartNIC N5010 4x100Gb @@ -24562,15 +24583,12 @@ 1c5f 4b41 NVMe SSD PBlaze6 6936 6400GB 2.5" U.3 1c5f 4b51 NVMe SSD PBlaze6 6936 12800GB 2.5" U.3 1c5f 4b61 NVMe SSD PBlaze6 6936 25600GB 2.5" U.3 -# Gen5 NVMe SSD - 003f PBlaze7 7940/7946 + 003f PBlaze7 7940/7946 Gen5 NVMe SSD 0540 PBlaze4 NVMe SSD 0550 PBlaze5 700/900 0555 PBlaze5 510/516 0557 PBlaze5 910/916 -# http://www.nicevt.ru/ (in Russian) 1c63 Science and Research Centre of Computer Technology (JSC "NICEVT") -# http://www.radiotec.ru/catalog.php?cat=jr8&art=14109 0008 K1927BB1Ya [EC8430] Angara Interconnection Network Adapter 1c7e TTTech Computertechnik AG 0200 zFAS Debug Port @@ -25291,7 +25309,8 @@ 1028 2110 Dell Ent NVMe FIPS CM6 MU 6.4TB 1e0f 0001 Generic NVMe CM6 0009 NVMe SSD - 1e0f 0001 Toshiba RC500 NVMe SSD 500GB + 1e0f 0001 Toshiba RC500 Series NVMe SSD + 1e0f 0032 KIOXIA EXCERIA RC10 Series NVMe SSD 0011 NVMe SSD Controller CD7 1028 2189 DC NVMe SED CD7 RI 960GB 1028 218a DC NVMe CD7 RI 960GB @@ -25350,6 +25369,7 @@ 1028 222b DC NVMe CD8 U.2 1.92TB 1028 222c DC NVMe CD8 U.2 960GB 1e17 Arnold & Richter Cine Technik GmbH & Co. Betriebs KG +1e18 Beijing GuangRunTong Technology Development Co.,Ltd 1e24 Squirrels Research Labs 0101 Acorn CLE-101 0215 Acorn CLE-215 @@ -25376,7 +25396,6 @@ # nee Thinci, Inc 1e38 Blaize, Inc 0102 Xplorer X1600 -# https://www.medion.com/ 1e39 MEDION AG 1e3b DapuStor Corporation 0600 NVMe SSD Controller DP600 @@ -25467,10 +25486,13 @@ 1202 NVMe SSD Controller MAP1202 1601 NVMe SSD Controller MAP1601 1e4c GSI Technology -# Associative Processing Unit (APU) - 0010 APU [Leda] + 0010 Associative Processing Unit [Leda] 1e4c 0120 SE120 1e50 IP3 Tech (HK) Limited +1e52 Tenstorrent Inc + 401e Wormhole + b140 Blackhole + faca Grayskull 1e57 Beijing Panyi Technology Co., Ltd 0100 The device has already been deleted. 0000 0100 PY8800 64GB Accelerator @@ -25495,13 +25517,13 @@ 1203 NVMe SSD Controller UHXXXa series 1e81 a121 NVMe SSD UHXXXa series U.2 960GB 1e81 a122 NVMe SSD UHXXXa series U.2 1920GB - 1e81 a123 NVMe SSD UHXXXa series U.2 3840GB  - 1e81 a124 NVMe SSD UHXXXa series U.2 7680GB  + 1e81 a123 NVMe SSD UHXXXa series U.2 3840GB + 1e81 a124 NVMe SSD UHXXXa series U.2 7680GB 1e81 a125 NVMe SSD UHXXXa series U.2 15360GB - 1e81 a211 NVMe SSD UHXXXa series U.2 800GB  - 1e81 a212 NVMe SSD UHXXXa series U.2 1600GB  - 1e81 a213 NVMe SSD UHXXXa series U.2 3200GB  - 1e81 a214 NVMe SSD UHXXXa series U.2 6400GB  + 1e81 a211 NVMe SSD UHXXXa series U.2 800GB + 1e81 a212 NVMe SSD UHXXXa series U.2 1600GB + 1e81 a213 NVMe SSD UHXXXa series U.2 3200GB + 1e81 a214 NVMe SSD UHXXXa series U.2 6400GB 1e81 f123 NVMe SSD TP6500 series U.2 3840GB 1e83 Huaqin Technology Co.Ltd 1e85 Heitec AG @@ -25536,15 +25558,20 @@ 3401 SSD Contoller 1ebd EMERGETECH Company Ltd. 0101 Seirios 2063 Video Codec +1ec6 Vastai Technologies (Shanghai) Inc. + 0100 SV100 1ec8 Innosilicon Co Ltd 8800 Fantasy I 1ec8 12a2 Fantasy I Device + 8810 Fantasy I 9800 Fantasy II 1ec8 12a2 Fantasy II Device 9802 Fantasy II 1ec8 12a2 Fantasy II Device 9804 Fantasy II 1ec8 12a2 Fantasy II Device + 9810 Fantasy II + 1ec8 12a2 Fantasy II Device 1ec9 Wingtech Group(HongKong)Limited 1eca Lightmatter 0000 Envise-B @@ -25589,18 +25616,32 @@ 1eed XDX Computing Technology Ltd. 10a0 XDX110 Graphic/VGA Controller 10a1 XDX110 Audio Controller - 1140 XDX120 Graphic/VGA Controller - 1141 XDX120 Audio Controller - 1320 XDX150 Graphic/VGA Controller - 1321 XDX150 Audio Controller - 13c0 XDX160 Graphic/VGA Controller - 13c1 XDX160 Audio Controller - 13d0 XDX161 Graphic/VGA Controller - 13d1 XDX161 Audio Controller - 1500 XDX180 Graphic/VGA Controller - 1501 XDX180 Audio Controller - 15a0 XDX190 Graphic/VGA Controller - 15a1 XDX190 Audio Controller + 10a2 XDX110M + 10a4 XDX E1100 + 1140 XDX120 + 1142 XDX120M + 1144 XDX E1200 + 1150 XDX120S + 11e4 XDX E1300 + 1320 XDX150 + 1324 XDX X1500 + 1330 XDX150S + 1340 XDX150T + 1350 XDX150U + 13c0 XDX160 + 13d0 XDX160S + 1500 XDX180 + 1503 XDX R1800 + 1504 XDX X1800 + 1510 XDX180S + 15a0 XDX190 + 15a3 XDX R1900 + 15a4 XDX X1900 + 15a5 XDX X1900M2 + 15b0 XDX190S + 1810 XDX TJ01 Audio + 1820 XDX TJ02 Audio + 1830 XDX TJ03 Audio 1ef6 GrAI Matter Labs 1ef7 Shenzhen Gunnir Technology Development Co., Ltd 1efb Flexxon Pte Ltd @@ -25695,6 +25736,36 @@ 1fab Unifabrix Ltd. 0000 Nexus Alpha IVPU 0100 NoX Gamma +# UnifabriX Smart Memory Node Generic CXL Port + 01fe Smart Memory Node Generic CXL Port (T2) +# UnifabriX Smart Memory Node Generic CXL Port + 01ff Smart Memory Node Generic CXL Port (T3) +1fb0 ICube Corporation Limited + 1000 NF1000 Series GPU + 1fb0 1001 NF1001 + 1fb0 1002 NF1002 + 1fb0 1003 NF1003 +# NF1000 Series GPU + 1001 NF1001 + 1fb0 1001 NF1001 + 1fb0 1002 NF1002 + 1fb0 1003 NF1003 + 2000 NF2000 Series GPU + 1fb0 2001 NF2001 + 1fb0 2002 NF 2002 + 1fb0 2003 NF 2003 + 3000 NF3000 Series GPU + 1fb0 3001 NF3001 + 1fb0 3002 NF3002 + 1fb0 3003 NF3003 + 4000 NF4000 Series GPU + 1fb0 4001 NF4001 + 1fb0 4002 NF4002 + 1fb0 4003 NF4003 + 5000 NF5000 Series GPU + 1fb0 5001 NF 5001 + 1fb0 5002 NF 5002 + 1fb0 5003 NF5003 # nee Tumsan Oy 1fc0 Ascom (Finland) Oy 0300 E2200 Dual E1/Rawpipe Card @@ -25836,10 +25907,8 @@ 3513 ARCOM Control Systems Ltd 37d9 ITD Firm ltd. 1138 SCHD-PH-8 Phase detector -# 12-ch Relay Actuator Card - 1140 VR-12-PCI -# multiport serial board - 1141 PCI-485(422) + 1140 VR-12-PCI 12-ch Relay Actuator Card + 1141 PCI-485(422) Multi-port Serial Board 1142 PCI-CAN2 3842 eVga.com. Corp. 38ef 4Links @@ -26024,7 +26093,6 @@ adc1 ADC200ME High speed ADC de01 DL200ME High resolution delay line PCI based card de02 DL200ME Middle resolution delay line PCI based card -# Can't find any information on this company 4651 TXIC 4680 Umax Computer Corp 4843 Hercules Computer Technology Inc @@ -26160,6 +26228,7 @@ 4a14 5000 RT8029-Based Ethernet Adapter 4b10 Buslogic Inc. 4c48 LUNG HWA Electronics +4c4d Liquid-Markets GmbH 4c52 LR-Link 4c53 SBS Technologies 0000 PLUSTEST device @@ -26405,9 +26474,7 @@ 5853 XenSource, Inc. 0001 Xen Platform Device c000 Citrix XenServer PCI Device for Windows Update -# Virtual device surfaced in guests to provide HID events. c110 Virtualized HID -# Device surfaced in guests to provide 2d graphics capabilities c147 Virtualized Graphics Device c200 XCP-ng Project PCI Device for Windows Update 5854 GoTView @@ -26466,6 +26533,8 @@ 0083 HQ SSD 2TB M.2 NVMe 7604 O.N. Electronic Co Ltd. 78c0 Herrick Technology Laboratories, Inc. [HTL] + 0000 HTLv-1 / HTLv-2 / HTLv-13 / HTLv-23 + 0011 HTLv-53 7bde MIDAC Corporation 7fed PowerTV 8008 Quancom Electronic GmbH @@ -26789,6 +26858,7 @@ 06ed Comet Lake USB 3.1 xHCI Host Controller 06ef Comet Lake PCH Shared SRAM 06f0 Comet Lake PCH CNVi WiFi + 1a56 1651 Wi-Fi 6 AX1650s 160MHz (201D2W) [Killer] 8086 0034 Wireless-AC 9560 8086 0074 Wi-Fi 6 AX201 160MHz 8086 02a4 Wireless-AC 9462 @@ -26897,193 +26967,101 @@ 8086 1015 Centrino Wireless-N 100 BGN 8086 1017 Centrino Wireless-N 100 BG 08b1 Wireless 7260 -# Wilkins Peak 2 - 8086 4020 Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 402a Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 4060 Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 4062 Wireless-N 7260 -# Wilkins Peak 2 - 8086 406a Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 4070 Dual Band Wireless-AC 7260 -# Wilkins Peak 2 - 8086 4072 Dual Band Wireless-AC 7260 -# Wilkins Peak 2 - 8086 4160 Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 4162 Wireless-N 7260 -# Wilkins Peak 2 - 8086 4170 Dual Band Wireless-AC 7260 -# Wilkins Peak 2 - 8086 4420 Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 4460 Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 4462 Wireless-N 7260 -# Wilkins Peak 2 - 8086 446a Dual Band Wireless-N 7260 -# Wilkins Peak 2 - 8086 4470 Dual Band Wireless-AC 7260 -# Wilkins Peak 2 *** 536 LINES SKIPPED *** From nobody Mon May 15 07:20:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKW462PdXz4BH9L; Mon, 15 May 2023 07:20: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 4QKW461vghz3Qhh; Mon, 15 May 2023 07:20:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684135238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VpgFP32NJYOzP+D3c1S8NrbmV17x8Y7GZBWD63D2fws=; b=j3n7z//u1wIUsmxDlv0f8NhQQBi8+p7yee/lPOPN/HiZd/1I7pS7eURSK4oSTJziEuwMJz cxlLe4a2avNgPXiMg8KJr1lWBml8fvDmID9r/QRnlV//jwO9YgD+t5nd7QHWrOkk9j3q/C ZxpgLu1MaItzk3+pfWzd9JbrFM5PvYeP78fi4Ssp53es5LBVJOFenlmiLkFupTPJ/Sko0g au+rQC5TEh31c5pIb6oCOt3FPDj4FjWOOkEtW4amccNEdVhe2tF7N3fGGL0/1zhue/wLtE uliPBPpBI+sLppMrgegOBDD7WCdtFiAn6Kl7p2+S/UxoKBGzAIVqgNrbCaNdgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684135238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VpgFP32NJYOzP+D3c1S8NrbmV17x8Y7GZBWD63D2fws=; b=peHFLsXGJAZe064zNAazBrF0/gw6C51CS6vY0gRz48qRjelG2zYP66cMm3Rdk1bGK9SEUq mVfyhwbmSxEbSx7mXeLCHfOTghmnJUcJc94cbm0vj7EgHwZw289jP332N9PEom1us1qlGK WqAnHNSAvbWFNulFNCM+CRCE6tAdEJjhEikGpTro9P0FXZjV9cg9tkWEJBFOKolGHsYFI3 92GbC1IMOA1JehiZ11X1dv9SD7tFXcAC2xZZCZZgK39PYhlVSUhvqFZVnppkKFW/5fmT8d yZRk3b1KoxHC+Hnq6xVdSYqkZnoiyJZq1tUYrix3cr8gBqwYHqLtPskf5VUvSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684135238; a=rsa-sha256; cv=none; b=YQ8krKxvllh7vr/sVdjHILKwbRZIpXjzLHzpFCng3nTDig0sz/OJGoASmbR0GN2ueUfPmH YoDs2FCCVWi4pzNVzAFLQsj/xBDrzQYmiWERmOemCIbt4as5o6TFHqZ+RN/+gXNOtuPIJN ofmJAXAK5bIMXEUj15LTQG1eFBWdEAOHfUsOuw276iteSWhVJCIKpYie3WakqJ4b4SLuxs ccLO+Nj087Gr5mhNto8eDHaQ8tpSXiNHXo4URRSzxn4duesAC4uPOThxNRPnww9YwrDT0c i+ZnEWIAI/lObybuOd9LSubf4WIjWwbwdCplqp+UHyZg0op981RvHzgM5hF6nA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKW460zT2zX0F; Mon, 15 May 2023 07:20:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F7Kcp4047124; Mon, 15 May 2023 07:20:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F7KcX9047123; Mon, 15 May 2023 07:20:38 GMT (envelope-from git) Date: Mon, 15 May 2023 07:20:38 GMT Message-Id: <202305150720.34F7KcX9047123@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: d904b43ba3ff - main - dma: install a simple example for the auth.conf file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: d904b43ba3ffe2201f2c5aabcdc1af7709601d9a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=d904b43ba3ffe2201f2c5aabcdc1af7709601d9a commit d904b43ba3ffe2201f2c5aabcdc1af7709601d9a Author: Peter Wright AuthorDate: 2023-05-15 07:18:40 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-15 07:20:14 +0000 dma: install a simple example for the auth.conf file PR: 270088 MFC After: 3 days --- libexec/dma/dmagent/Makefile | 2 +- libexec/dma/dmagent/auth.conf | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libexec/dma/dmagent/Makefile b/libexec/dma/dmagent/Makefile index 0a17527f43f1..49e224c77792 100644 --- a/libexec/dma/dmagent/Makefile +++ b/libexec/dma/dmagent/Makefile @@ -24,7 +24,7 @@ CONFSDIR= ${CONFDIR}/dma CFLAGS+= -DOPENSSL_API_COMPAT=0x10100000L YFLAGS+= -i CLEANFILES= aliases_parse.i -FILES= mailer.conf +FILES= auth.conf mailer.conf FILESDIR= ${SHAREDIR}/examples/dma BINMODE= 2555 diff --git a/libexec/dma/dmagent/auth.conf b/libexec/dma/dmagent/auth.conf new file mode 100644 index 000000000000..393a80a8ab5f --- /dev/null +++ b/libexec/dma/dmagent/auth.conf @@ -0,0 +1,4 @@ +# $DragonFly: src/etc/dma/auth.conf,v 1.1 2008/02/02 18:24:00 matthias Exp $ +# +# SMTP authentication entries (currently AUTH LOGIN only) +# Format: user|my.smarthost.example.com:password From nobody Mon May 15 07:27:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKWCp6YFCz4BHLG; Mon, 15 May 2023 07:27: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 4QKWCp5rvRz3h4k; Mon, 15 May 2023 07:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684135638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3bVbtic6gWeD59+OT5nNlYP8nn/4BnetHuxPSQ0rczQ=; b=agXQS4tRncyMtVIPwzi8kEZcBnIDCUyD4FBtQ0WGOc1Levazw67QKJOQ/wJ+pRWdqMyzD0 01sx47HyIFiRx76+zPcPdHm0zRD1Np5C9ho/H+ZnqWR9pxzP9hg3H3fazF/4Sclvn0qkNx E+zuTW3du6nLBQBuvqas+FdhGLoCUbDxmkH5NSmtu/7c+gqet7jooTjgQiM9SAbJ7YWa3Q BHxNNmkottd71OxoUrd83FyHP+Z2NuuZMHDBdcJd8TpoDEECxoq+4sOFNexsZJA5ToYqYu CKUslhvTSmqvF7edPnUC7Yr+bRMVGp1vFkCmr4KYRGHWajm+8JsKuUS9786X5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684135638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3bVbtic6gWeD59+OT5nNlYP8nn/4BnetHuxPSQ0rczQ=; b=OILZLyB+aSG3fFo8sQpjjhPdduo03eNtLcwWtusE90TlBku+id6OMXMyieej7seLiVtYok ePkTs2f3zRpgxkSd9u3iqp4q0fOkV0Lze8I3vU+raBKmfd599Ve65MrX5/SwVe4lJQkyFg 9vmWUqMPvkhEGaQKR1cl0ibeT9wMj1EU8+1VqlWCUmM++BGlurOJmIgYWGPLwnIxGoLAec TrUHBxWY8L3CIxzi0bsPTBP5SuN0RdUTvwmfZl/w/9dO8/48Mh90MDU5YIoQR105cESdaY dLVCP8NRHLzDjnGQsCrI/ODcJ0lmrj2UADrbrOWWmNtW2qcUqOPxLieL8hgptA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684135638; a=rsa-sha256; cv=none; b=pOIhLe18sPwJkOKiL72jCFxXT2WSjc1bijpmirLkF80HcARnITAxOh2obLf/L8ysqNPKUV UdeFE/Fl3MCsCW1shXTb1331UKn3j73x9JROx/wkyryrPU3aiZwyuOZCBFG48YvYysQVoU ZvRl+u4W3dyhtSx0UCV/B+kVyGpwqJ7CPBMCHGeDnHsouG7dktATgljDmB5vFTvWc93cT+ WLNCN8Qab92w00uw6Qr6OYo/k1capYx5znJ1xzTPAgcE7QVFAODZpECgWKC2gj8E4SA+Ey tQ1ITeu1ImGFKtjYA967VBJKiERNWaFBSUdypZjV/4WCEZKXmdqrzJ2r0D3G6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKWCp4t4lzWfr; Mon, 15 May 2023 07:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F7RIYg052079; Mon, 15 May 2023 07:27:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F7RIBo052078; Mon, 15 May 2023 07:27:18 GMT (envelope-from git) Date: Mon, 15 May 2023 07:27:18 GMT Message-Id: <202305150727.34F7RIBo052078@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: d2b4753f06dc - main - periodic: Use locale-agnostic (ISO 8601) timestamp format List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: d2b4753f06dcabc090080b8c8c91bda00fc8dac3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=d2b4753f06dcabc090080b8c8c91bda00fc8dac3 commit d2b4753f06dcabc090080b8c8c91bda00fc8dac3 Author: Michael Osipov AuthorDate: 2023-05-04 12:35:59 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-15 07:26:48 +0000 periodic: Use locale-agnostic (ISO 8601) timestamp format Instead of reyling on locale-sensitive output which can be mangled when e-mailed use consistently ISO 8601 format which contains the same information as '-T'. PR: 271240 MFC After: 3 days --- usr.sbin/periodic/etc/security/100.chksetuid | 2 +- usr.sbin/periodic/etc/security/110.neggrpperm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/periodic/etc/security/100.chksetuid b/usr.sbin/periodic/etc/security/100.chksetuid index 670ae9792021..c850f401d178 100755 --- a/usr.sbin/periodic/etc/security/100.chksetuid +++ b/usr.sbin/periodic/etc/security/100.chksetuid @@ -54,7 +54,7 @@ then }'` find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \ \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ - \( -perm -u+s -or -perm -g+s \) -exec ls -liTd \{\} \+ | + \( -perm -u+s -or -perm -g+s \) -exec ls -lid -D "%FT%T" \{\} \+ | check_diff setuid - "${host} setuid diffs:" rc=$? fi diff --git a/usr.sbin/periodic/etc/security/110.neggrpperm b/usr.sbin/periodic/etc/security/110.neggrpperm index 55974eae6345..393c83d061c6 100755 --- a/usr.sbin/periodic/etc/security/110.neggrpperm +++ b/usr.sbin/periodic/etc/security/110.neggrpperm @@ -54,7 +54,7 @@ then \( \( ! -perm +010 -and -perm +001 \) -or \ \( ! -perm +020 -and -perm +002 \) -or \ \( ! -perm +040 -and -perm +004 \) \) \ - -exec ls -liTd \{\} \+ | tee /dev/stderr | wc -l) + -exec ls -lid -D "%FT%T" \{\} \+ | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0 fi From nobody Mon May 15 08:46:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKXzb67Gvz4BMXh; Mon, 15 May 2023 08:46:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKXzb5Y9xz3qXp; Mon, 15 May 2023 08:46:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684140411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZnH62XPTf4NVt/3QlaOSwlwWSfGxp5beO0YcvmPpEI=; b=FtzIYUlSF2YABwo2roRJOtQon7gsFQMt+O4pvW08pr5tIfGqlzKmD+TJUmVXVofEAKONM5 alZ2V9OUFMj0c1Aqkg5c+Pkh7+Ipfkd9tQuuir6Q0j0eStgtd4oR8j4n/Ymzw5O0cEmTRD o7BP9mTIXzu9vkDInpfvzHc0amW/SWVkaVSANONRsZB/TPCz2XZlRvGNDNH/jUMwu3FYcg gxY+YLZVsh1eqgMOCQE/xx5oc6egRHjnaWrLSLJtXJnU6i3VXuuZZxIKkXnR88RNbd698x tIBkI/e0Jv4XLPVUjRY4O4BrmpiCQiURrLChoOS4tDdZSGStr82CBL0v3Ilgww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684140411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZnH62XPTf4NVt/3QlaOSwlwWSfGxp5beO0YcvmPpEI=; b=hVfJMSIAp+hfdaNxue1HSDShcppwLgANvQZxaQXxai31B4O84jW7aec1EVAwMMVdLvB/5V 1hEux2+9r4knpCtN82WdoIiqZBiuP2BG7+2arQ6ou8OJGkmkpLGquY+iD4hp2+Vi1t6QND 4IiP0W7m5yvCCWNtvra3G5uZFfwv3QAD4FDQ+1T+DOGmuJBEoS9OTrOGPbiu+k72KdHtDT Pkbi0sQir93ybmI8Y5gXVVf5cEre2pq6FmyIMy7goFdvDI6j1m2HaaQCU/8NM40KbS67Wq VPJIEclyD0DAjNnVTBJctgucfeXD3454nClB+s/kbBKDRRDXHuC2mdNlfmLi4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684140411; a=rsa-sha256; cv=none; b=KbX4TYjMbH/pJ5wB4hnJGp3nSA/Xgb0c7SpLx7krI88+rjEO6s+jjBMHbtlFCfyjBj9nPo pRlqJmYA/cjUSARwEJawIHW4FaPuERShqFXouxgcpPd1XbY5ndN1BZcBLTIB5ZZiWszT1r 6IqyF5TihDjYeXyoKByQesVkB/v0NvAmaQs2QMIeUi5U+MreDCa2z70tIMap51C3zK7t6n sApV6sdtJ9j89txWcS4p8+EQFitIsqeMehK50y9snkklDgsp83iDs+skgCf5n49hBXH77g 6gvfhhkRBj7oNyfLh2R1uTR+YEEjNKDXxiWFIZ6Z/twrRTTkHzxClURALh4G6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKXzb4ZfnzYJR; Mon, 15 May 2023 08:46:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34F8kp9t082775; Mon, 15 May 2023 08:46:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34F8kp10082774; Mon, 15 May 2023 08:46:51 GMT (envelope-from git) Date: Mon, 15 May 2023 08:46:51 GMT Message-Id: <202305150846.34F8kp10082774@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mariusz Zaborski Subject: git: 06db6a9dce81 - main - geli: fix typo List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oshogbo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06db6a9dce81ceb696ee9c542637a4d80e0316a7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by oshogbo: URL: https://cgit.FreeBSD.org/src/commit/?id=06db6a9dce81ceb696ee9c542637a4d80e0316a7 commit 06db6a9dce81ceb696ee9c542637a4d80e0316a7 Author: Mariusz Zaborski AuthorDate: 2023-05-15 08:44:17 +0000 Commit: Mariusz Zaborski CommitDate: 2023-05-15 08:44:17 +0000 geli: fix typo PR: 271396 Reported by: Tim Chase MFC after: 1 week --- lib/geom/eli/geom_eli.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/geom/eli/geom_eli.c b/lib/geom/eli/geom_eli.c index 5d9d2bde913e..21ae110b074e 100644 --- a/lib/geom/eli/geom_eli.c +++ b/lib/geom/eli/geom_eli.c @@ -1469,7 +1469,7 @@ eli_setkey(struct gctl_req *req) if (req->error == NULL || req->error[0] == '\0') { printf("Note, that the master key encrypted with old keys " - "and/or passphrase may still exists in a metadata backup " + "and/or passphrase may still exist in a metadata backup " "file.\n"); } } From nobody Mon May 15 10:53:37 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKbns5rBZz4BTB4; Mon, 15 May 2023 10:53: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 4QKbns5MBlz429R; Mon, 15 May 2023 10:53:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684148017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a5nwIX9YWcJ+CY0QVqljVjJ7eMWkB3dSOOIdH4YpLhU=; b=hZV/OJgHL2lILC9wVBaOa2BkpT6xjTeutEtp69RZN/nQXQzw7bPz6KX49me+Uo4wBESSs0 WtifEG/HDwEoYJIDeAGwVy7UYaXaKyc7GsaFsvAcyL48zCv43JrXr6rLtF3Y+q2ZLizvf1 t/+Vx0ZpykKBFm99Am4dfNQFGPKL7mGpXD0H5fXzfYjgdScBDrcT/OmxF5oeWhTjmGMRl7 6qP1H8RUxSbX/dL4eARS7Ml7snlS7QM8x6ryOkN2fOjY3F3WWHwlQ0+Jw+BUvVhFOwHmRI W9gVjfDWgn6LgWiX3a/fKsCbIrmJqsY0c6Qrqo1lu+OaZXsGikPPtoklAcFgVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684148017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a5nwIX9YWcJ+CY0QVqljVjJ7eMWkB3dSOOIdH4YpLhU=; b=Ybi3EG9TmC7YH734G/hllxQn4IupEGRcYJlTdD8kmT6t+Q5oT8G3rUIjXkVYfC0z5dMqqX Qm0HqCIKgivUEg3eZ4bKoTIx/+W99wYdxlzKn3J+rUJdLM/QPaQVPh7dmvrsmC9qgKtU/s kLXXmRlrb2ffM3cCSuJlL6QtIM1f7eL4DlFVaYBil0GHTTFZJ9k8dzWRTcYeinSjrplUSB 5es+MLEr8aK5VS4R1Vg53oXZdh6zzbYGExI689CanaL89a/jIPjCXMk+iZVlANTC/ETUof egkyobJHwAHzH+3DgX6FfywZP2+nQQ9Hom4WkWiN96C2iZ2EmaNH1Ty6IbKVWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684148017; a=rsa-sha256; cv=none; b=QYtbLJ85yfiD7PPfpuMamOnK+w1JobtaR6EDsvVZcSYnMeVNA0eru9kbXi0q1KXfpFiVgO H62DRH6fp4DzbblMaAb/hEM9zrKnxSDJJ6b6rweiHHS/MMNZhm0QocnUGtOcwthK//YkgL EeT8bWsQcxVW62N67Xgjx9PTjy/c+cAItyGgy523J42yCTRNPUbcs8A/Aw7YJG8qEtgQ0B XTD7dQxG0M9/VZok9zs6HPBcAx0DN6FIWQW8SG1IjOfRMftamu/VvYmr6umWPbWA0Ty2AG P2GEytCwUKS2vEYVES3vRzFLXiTo2QpeJDeQJ77yVQzMo1uuXJT8CN85aIEorQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKbns4SXXzdPY; Mon, 15 May 2023 10:53:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FArbgP095595; Mon, 15 May 2023 10:53:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FArb6W095594; Mon, 15 May 2023 10:53:37 GMT (envelope-from git) Date: Mon, 15 May 2023 10:53:37 GMT Message-Id: <202305151053.34FArb6W095594@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: f3065e767def - main - testing: add support for using custom interfaces in pytest framework. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3065e767def62d9b593dd7528c0eb121a7e1439 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=f3065e767def62d9b593dd7528c0eb121a7e1439 commit f3065e767def62d9b593dd7528c0eb121a7e1439 Author: Alexander V. Chernikov AuthorDate: 2023-05-15 10:44:20 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-15 10:44:20 +0000 testing: add support for using custom interfaces in pytest framework. MFC after: 2 weeks --- tests/atf_python/sys/net/vnet.py | 21 +++++++++++++++------ tests/atf_python/sys/netlink/netlink.py | 9 ++++++++- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/tests/atf_python/sys/net/vnet.py b/tests/atf_python/sys/net/vnet.py index c0e0a24f6687..a2884b0d7ce2 100644 --- a/tests/atf_python/sys/net/vnet.py +++ b/tests/atf_python/sys/net/vnet.py @@ -151,7 +151,7 @@ class VnetInterface(object): class IfaceFactory(object): INTERFACES_FNAME = "created_ifaces.lst" - AUTODELETE_TYPES = ("epair", "lo", "tap", "tun") + AUTODELETE_TYPES = ("epair", "gif", "gre", "lo", "tap", "tun") def __init__(self): self.file_name = self.INTERFACES_FNAME @@ -386,8 +386,9 @@ class VnetTestTemplate(BaseTest): vnet_factory = VnetFactory(topology_id) for obj_name, obj_data in topo.items(): if obj_name.startswith("if"): - epair_ifaces = iface_factory.create_iface(obj_name, "epair") - smap = SingleInterfaceMap(epair_ifaces, []) + iface_type = obj_data.get("type", "epair") + ifaces = iface_factory.create_iface(obj_name, iface_type) + smap = SingleInterfaceMap(ifaces, []) iface_map[obj_name] = smap for obj_name, obj_data in topo.items(): if obj_name.startswith("vnet"): @@ -494,17 +495,25 @@ class VnetTestTemplate(BaseTest): class SingleVnetTestTemplate(VnetTestTemplate): IPV6_PREFIXES: List[str] = [] IPV4_PREFIXES: List[str] = [] + IFTYPE = "epair" - def setup_method(self, method): + def _setup_default_topology(self): topology = copy.deepcopy( { "vnet1": {"ifaces": ["if1"]}, - "if1": {"prefixes4": [], "prefixes6": []}, + "if1": {"type": self.IFTYPE, "prefixes4": [], "prefixes6": []}, } ) for prefix in self.IPV6_PREFIXES: topology["if1"]["prefixes6"].append((prefix,)) for prefix in self.IPV4_PREFIXES: topology["if1"]["prefixes4"].append((prefix,)) - self.TOPOLOGY = topology + return topology + + def setup_method(self, method): + if not getattr(self, "TOPOLOGY", None): + self.TOPOLOGY = self._setup_default_topology() + else: + names = self.TOPOLOGY.keys() + assert len([n for n in names if n.startswith("vnet")]) == 1 super().setup_method(method) diff --git a/tests/atf_python/sys/netlink/netlink.py b/tests/atf_python/sys/netlink/netlink.py index 4bdefc2d5014..9b5906815489 100644 --- a/tests/atf_python/sys/netlink/netlink.py +++ b/tests/atf_python/sys/netlink/netlink.py @@ -302,7 +302,7 @@ class Nlsock: hdr = Nlmsghdr( nlmsg_type=NlConst.GENL_ID_CTRL, nlmsg_flags=NlmBaseFlags.NLM_F_REQUEST.value, - nlmsg_seq = self.helper.get_seq(), + nlmsg_seq=self.helper.get_seq(), ) ghdr = GenlMsgHdr(cmd=GenlCtrlMsgType.CTRL_CMD_GETFAMILY.value) nla = NlAttrStr(GenlCtrlAttrType.CTRL_ATTR_FAMILY_NAME, family_name) @@ -342,6 +342,13 @@ class Nlsock: self._data = self._data[hdr.nlmsg_len:] return self.parse_message(raw_msg) + def get_reply(self, tx_msg): + self.write_message(tx_msg) + while True: + rx_msg = self.read_message() + if tx_msg.nl_hdr.nlmsg_seq == rx_msg.nl_hdr.nlmsg_seq: + return rx_msg + class NetlinkMultipartIterator(object): def __init__(self, obj, seq_number: int, msg_type): From nobody Mon May 15 10:53:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKbnt6w5Dz4BTBB; Mon, 15 May 2023 10:53: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 4QKbnt5vyYz41w4; Mon, 15 May 2023 10:53:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684148018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CzRqwHsAqhSzIrygwdhYHS9qbVjiw4etcvR+9kcoeos=; b=h+UEv4qVdVCzXxLDUXGd4oQufQmOCYMyS48BcRItaJTEH9HP6RfzgVaQZV5dlNviGKiiGy baCmMJxOZ4ey07256A4rS6TsJZNCE3bzn48DO4hoUitGLY1kaR9k6pYj3VoS3/a/wH1WpC byN+Ufd5RkHf39G8r/tq/+x2KBJPIVsgCzzjLIaY1197cEEkyM1TLUDyu+KsCz7nC8KEkq UcaSffTcS6myvfqeTCBDaC+6iE1VLvu2ObvmUv5ntFvGCMTgu/VLmTrfixIjVgSX3NzFxi Z9feWufteFj4zTYZZu5dp0rT6X7/zZN4jFBLzpd3hW8MWXSoH1P2smcRaN4BeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684148018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CzRqwHsAqhSzIrygwdhYHS9qbVjiw4etcvR+9kcoeos=; b=jfyvVzmpPCaNvwcs6DAb5MP7dO9uEm/LB9rRFn6QXTPWPVDRqJw/GhYHzrhnIQQeoaf7fn 8kwr0Y+r++MWtWylmaVL0tn5qv7JEmSU54IKy5nO5st5xDEisc58sIPk1ZnkVHkfUmklyJ ExVV5Jk5TDit92Bxxl1/vznOoEjI2GQ4phfoBOUkF7YMbS4K2x3N6kiiCDfZD8MXGQpveJ DPn67YdGEztFjYkL2Gc83Ggpi4OQPdj9EdO8WjwnIEKj9rxCzn8Q1NxPYrXJGK3BzKxCY6 yXgnCYiRhkyNuaLrVpXl5Fa+Kgtfkm/HMlUuKaK/UfFBBokTqKFwnJOmA/Rgtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684148018; a=rsa-sha256; cv=none; b=XBGW32cCb9woOmLZ6z4n4XkVsqZ4+yVXyZqfPOihvfCjx1zQFtpFiyiVifQxvPJvtyfkXb OXUsY1VGus5E2j5POF//BnZ/a0AbOk61vq1UkSs0U8lrgVnd/65h42a1Nach3DvGICS9PL PVVCAA7IFGxOwnb8dYpopwdI/1t7lc0bymOqbEpgNKtr9mIvjiZHs2sS8P/m7Vl5RNP7rX TVkFByPi5KITq6uqtU8Kq6/y2cH3auqmI/+rCac0vM12xD935ZXQCQhr0HMvc76pLhuzQO RaiPtjTyS28HIQaHnI2OD59mn+w+1Qky+yhrC9Kk7EhTqTDNdc/Em72j4feBHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKbnt4xhhzcdj; Mon, 15 May 2023 10:53:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FArcTV095618; Mon, 15 May 2023 10:53:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FArcu0095617; Mon, 15 May 2023 10:53:38 GMT (envelope-from git) Date: Mon, 15 May 2023 10:53:38 GMT Message-Id: <202305151053.34FArcu0095617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: f0ffe1ce0fba - main - testing: add support for handling Netlink carp messages List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f0ffe1ce0fba262b458399dcd4c5e8c84e024606 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=f0ffe1ce0fba262b458399dcd4c5e8c84e024606 commit f0ffe1ce0fba262b458399dcd4c5e8c84e024606 Author: Alexander V. Chernikov AuthorDate: 2023-05-15 10:48:45 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-15 10:48:45 +0000 testing: add support for handling Netlink carp messages MFC after: 2 weeks --- tests/atf_python/sys/netlink/attrs.py | 46 +++++++++++++++++++++ tests/atf_python/sys/netlink/netlink_generic.py | 55 ++++++++++++++++++++++++- 2 files changed, 99 insertions(+), 2 deletions(-) diff --git a/tests/atf_python/sys/netlink/attrs.py b/tests/atf_python/sys/netlink/attrs.py index 9769ef0fc76f..36dd8191df1c 100644 --- a/tests/atf_python/sys/netlink/attrs.py +++ b/tests/atf_python/sys/netlink/attrs.py @@ -81,6 +81,13 @@ class NlAttrNested(NlAttr): super().__init__(nla_type, b"") self.nla_list = val + def get_nla(self, nla_type): + nla_type_raw = enum_or_int(nla_type) + for nla in self.nla_list: + if nla.nla_type == nla_type_raw: + return nla + return None + @property def nla_len(self): return align4(len(b"".join([bytes(nla) for nla in self.nla_list]))) + 4 @@ -130,6 +137,33 @@ class NlAttrU32(NlAttr): return self._to_bytes(struct.pack("@I", self.u32)) +class NlAttrS32(NlAttr): + def __init__(self, nla_type, val): + self.s32 = enum_or_int(val) + super().__init__(nla_type, b"") + + @property + def nla_len(self): + return 8 + + def _print_attr_value(self): + return " val={}".format(self.s32) + + @staticmethod + def _validate(data): + assert len(data) == 8 + nla_len, nla_type = struct.unpack("@HH", data[:4]) + assert nla_len == 8 + + @classmethod + def _parse(cls, data): + nla_len, nla_type, val = struct.unpack("@HHi", data) + return cls(nla_type, val) + + def __bytes__(self): + return self._to_bytes(struct.pack("@i", self.s32)) + + class NlAttrU16(NlAttr): def __init__(self, nla_type, val): self.u16 = enum_or_int(val) @@ -229,6 +263,18 @@ class NlAttrIp(NlAttr): return " addr={}".format(self.addr) +class NlAttrIp4(NlAttrIp): + def __init__(self, nla_type, addr: str): + super().__init__(nla_type, addr) + assert self.family == socket.AF_INET + + +class NlAttrIp6(NlAttrIp): + def __init__(self, nla_type, addr: str): + super().__init__(nla_type, addr) + assert self.family == socket.AF_INET6 + + class NlAttrStr(NlAttr): def __init__(self, nla_type, text): super().__init__(nla_type, b"") diff --git a/tests/atf_python/sys/netlink/netlink_generic.py b/tests/atf_python/sys/netlink/netlink_generic.py index 06dc8704fe07..b49a30c1e8e7 100644 --- a/tests/atf_python/sys/netlink/netlink_generic.py +++ b/tests/atf_python/sys/netlink/netlink_generic.py @@ -1,12 +1,15 @@ #!/usr/local/bin/python3 +import struct from ctypes import c_int64 from ctypes import c_long from ctypes import sizeof from ctypes import Structure from enum import Enum -import struct from atf_python.sys.netlink.attrs import NlAttr +from atf_python.sys.netlink.attrs import NlAttrIp4 +from atf_python.sys.netlink.attrs import NlAttrIp6 +from atf_python.sys.netlink.attrs import NlAttrS32 from atf_python.sys.netlink.attrs import NlAttrStr from atf_python.sys.netlink.attrs import NlAttrU16 from atf_python.sys.netlink.attrs import NlAttrU32 @@ -16,8 +19,8 @@ from atf_python.sys.netlink.message import NlMsgCategory from atf_python.sys.netlink.message import NlMsgProps from atf_python.sys.netlink.message import StdNetlinkMessage from atf_python.sys.netlink.utils import AttrDescr -from atf_python.sys.netlink.utils import prepare_attrs_map from atf_python.sys.netlink.utils import enum_or_int +from atf_python.sys.netlink.utils import prepare_attrs_map class NetlinkGenlMessage(StdNetlinkMessage): @@ -63,6 +66,7 @@ class NetlinkGenlMessage(StdNetlinkMessage): GenlCtrlFamilyName = "nlctrl" + class GenlCtrlMsgType(Enum): CTRL_CMD_UNSPEC = 0 CTRL_CMD_NEWFAMILY = 1 @@ -111,6 +115,52 @@ class NetlinkGenlCtrlMessage(NetlinkGenlMessage): family_name = GenlCtrlFamilyName +CarpFamilyName = "carp" + + +class CarpMsgType(Enum): + CARP_NL_CMD_UNSPEC = 0 + CARP_NL_CMD_GET = 1 + CARP_NL_CMD_SET = 2 + + +class CarpAttrType(Enum): + CARP_NL_UNSPEC = 0 + CARP_NL_VHID = 1 + CARP_NL_STATE = 2 + CARP_NL_ADVBASE = 3 + CARP_NL_ADVSKEW = 4 + CARP_NL_KEY = 5 + CARP_NL_IFINDEX = 6 + CARP_NL_ADDR = 7 + CARP_NL_ADDR6 = 8 + CARP_NL_IFNAME = 9 + + +carp_gen_attrs = prepare_attrs_map( + [ + AttrDescr(CarpAttrType.CARP_NL_VHID, NlAttrU32), + AttrDescr(CarpAttrType.CARP_NL_STATE, NlAttrU32), + AttrDescr(CarpAttrType.CARP_NL_ADVBASE, NlAttrS32), + AttrDescr(CarpAttrType.CARP_NL_ADVSKEW, NlAttrS32), + AttrDescr(CarpAttrType.CARP_NL_KEY, NlAttr), + AttrDescr(CarpAttrType.CARP_NL_IFINDEX, NlAttrU32), + AttrDescr(CarpAttrType.CARP_NL_ADDR, NlAttrIp4), + AttrDescr(CarpAttrType.CARP_NL_ADDR6, NlAttrIp6), + AttrDescr(CarpAttrType.CARP_NL_IFNAME, NlAttrStr), + ] +) + + +class CarpGenMessage(NetlinkGenlMessage): + messages = [ + NlMsgProps(CarpMsgType.CARP_NL_CMD_GET, NlMsgCategory.GET), + NlMsgProps(CarpMsgType.CARP_NL_CMD_SET, NlMsgCategory.NEW), + ] + nl_attrs_map = carp_gen_attrs + family_name = CarpFamilyName + + KtestFamilyName = "ktest" @@ -223,6 +273,7 @@ class KtestMsgMessage(NetlinkGenlMessage): handler_classes = { + CarpFamilyName: [CarpGenMessage], GenlCtrlFamilyName: [NetlinkGenlCtrlMessage], KtestFamilyName: [KtestInfoMessage, KtestMsgMessage], } From nobody Mon May 15 10:53:39 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKbnw0Y23z4BTCc; Mon, 15 May 2023 10:53:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKbnv6pBNz42Ct; Mon, 15 May 2023 10:53:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684148020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fm1VvJeeL9RBul9AqRCcmbauvkJFbiDKjZJZ3nTBmQs=; b=Vrn6/UQIHegnodYk2FBhXx7RTmK25tT+y8xULNmbTAAYTgHiN7fXalMe0i/B4G0Wncp2ix mQD7UJpNyaDB9zIDLYGYGjc+z+7egKOCoqjkvE2jwhsP45Y5ygGP1TiVU5FlYYNNtHsVqf sSTiFmwfalJ3apRjZ+H4e/GPFcMafyZm8AqDTbMHUYq4CgHSTpKmfBElF1DKhavhB97ezS xajZHUJmwso7dPq6IWmYfKzqC4wJGyrdFdjCk3K136Ke1X+2BfxjidczPZlWsfUQjGl4T+ 34eXhc52HjeFDWO7lreus5uNnV/PbYwqvvBeQ1j5iemvSR09iefIzQ7kJAgOIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684148020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fm1VvJeeL9RBul9AqRCcmbauvkJFbiDKjZJZ3nTBmQs=; b=cUpfn8/FGsdm23X0BLNP2l2v/eyKIdNEnLug9pylfgYAQ1E4Yk4CKRnb4WFYpQdJvtbo+/ 5PDoW67Y/88c73VLrdMHfAI+e/szx05ylqRn+OPJqroP2uoqviQT3hOn18elsUKbiH+OUd 0sSC7cVZgzhlM9TcGYcrPIIGd/fWPYdAz2GF/fk92Pzd1WjT1bueVdrOifj/rHQrPujMzX CewI3wV1fDRqqx2oopuCmMC+I//i9rjvg10cfn1APAQDErqL/OPge1T4+6XNwgZgoBB+1u Gpce/v58IqdG/TO/dV9UqlLwPRsBxX7IK2rfMrSBAbia9wTD6J069kalBWcGTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684148020; a=rsa-sha256; cv=none; b=aJDnGDjJ0ryTEZd6eZWLkm6fP1t1kQuRHrWdv403U2hZV8rnaM1JNbETri4kcUTG72yR7D 7hMXt0CvRs12JMoKgXWy4BdegLGNTacADerDhdyuvqX4fcgVAlu1cPqL2/E2o1tBS4u/lq f17cwyAhWtx/Vz296Tfz43ItadXm7fwV7jjejWt+a2+3u17Dc2ETOlXXCKr950gHiw2VM7 5iIkqnaTWHhaRmf7eWoL86oIoBBRRYzdltUdxygzu8XpAP2jvoZc2vswnva+WZtztGAevE QiQFQu/67yOHlbv850jqjXx1v+wMv1S9IwPZzy0NalpeCd/mKuyALYkt1RpOnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKbnv5rFFzchJ; Mon, 15 May 2023 10:53:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FArdB2095648; Mon, 15 May 2023 10:53:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FArdx6095647; Mon, 15 May 2023 10:53:39 GMT (envelope-from git) Date: Mon, 15 May 2023 10:53:39 GMT Message-Id: <202305151053.34FArdx6095647@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 97760572a0e4 - main - testing: add public method for requiring module presense in pytest List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 97760572a0e4c287a67730df80e7a7b4cf735977 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=97760572a0e4c287a67730df80e7a7b4cf735977 commit 97760572a0e4c287a67730df80e7a7b4cf735977 Author: Alexander V. Chernikov AuthorDate: 2023-05-15 10:50:55 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-15 10:50:55 +0000 testing: add public method for requiring module presense in pytest MFC after: 2 weeks --- tests/atf_python/utils.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tests/atf_python/utils.py b/tests/atf_python/utils.py index 1c0a68dad383..4bd4b642b131 100644 --- a/tests/atf_python/utils.py +++ b/tests/atf_python/utils.py @@ -47,14 +47,21 @@ class BaseTest(object): TARGET_USER = None # Set to the target user by the framework REQUIRED_MODULES: List[str] = [] + def require_module(self, mod_name: str, skip=True): + error_code = libc.modfind(mod_name) + if error_code == 0: + return + err_str = os.strerror(error_code) + txt = "kernel module '{}' not available: {}".format(mod_name, err_str) + if skip: + pytest.skip(txt) + else: + raise ValueError(txt) + def _check_modules(self): for mod_name in self.REQUIRED_MODULES: - error_code = libc.modfind(mod_name) - if error_code != 0: - err_str = os.strerror(error_code) - pytest.skip( - "kernel module '{}' not available: {}".format(mod_name, err_str) - ) + self.require_module(mod_name) + @property def atf_vars(self) -> Dict[str, str]: px = "_ATF_VAR_" From nobody Mon May 15 11:37:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKcmM2WV3z4BWJy; Mon, 15 May 2023 11:37: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 4QKcmM1f4gz456N; Mon, 15 May 2023 11:37:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684150643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uPA2Y45RgwCU8bFIryO+UMBHAg7Oib7uWLpUrdeN3AY=; b=ZZIV4cEhvEs6OVgYtTfPTrkXwodc+aAM3VVSettiRRxdYlXELLQlNPinZ5Qel/XpZ3xQhJ Qw9zXt/8E1jaHtUKbuy0jenJuTNXUx5NqXcxOV6P9EEpU18c/BdHhtGX39gyEuUxakh6xY p77MpJNcF6d6E7oZTj8ZaiiNLA1fJ8A4h/bBge8WK+t1kbrW/e1nsH8bueOelR7eMUXZdB ioESWFtch7X84pzYIH0W+HdgD+3CUy5zZqHstkLuf+CEQeqg/DqiHz6l9TqLDy85n/rb8j Hkh6HvnZq8PRSfePDQDrqAsKh02mARi9dSJ/KT4L3TKXDLS211StDeyPBYmYwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684150643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uPA2Y45RgwCU8bFIryO+UMBHAg7Oib7uWLpUrdeN3AY=; b=WvPdtADs4cAN5aw5odEBkJvoQ5g2atsHgF57uUJ9J9oVkNffEhlVn0Snh49twhpuLZ98KC obg/ZKG3A9eH6YrUqhYrJY6IwItupOrVxdsU9SACr/EnjV3rj8c4kpZx0VEi3XpZ1jnnWY ujzUa2nNRzGpNiWM+CebrtrJOQoOh9u5aHJKmJI1AneRd2g48XzHD1aGfQ+aDgjpWNyluv okOfOKhv9pYi+5bO6t/Jtd7TLOOy7U7JvC5W6JGtDmV3y/Fg0yFpKpXWPnHiWMPMp2D/jo mWpOomDBM7KgUtSKXU361/gxojPoffntI/uaa/Ydyb5D5BXdMSeefsSPlMMpaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684150643; a=rsa-sha256; cv=none; b=G+OuQVyw+kwXU7hT0Bxb6+TnYefRFwf8hQAts4XTUL8CTondXJ60zUjbzVfcJXfDvOK0H2 Jz2oYNMXsCPOmfti+8iwdJBWX6FMfTXfd2t6O/62BH9M06zc50epKgR+9pX7TeeQlxoI+o dLq7XtEnAyWVqbFRuVyUPLmUkX6IXfdowviiTTXrPiyNeKUJ3RXrjhMlEz1Vn8Wny1D+tO shQcqTEQYtQVp4p/SXKck88CoH/554W3MjgE6R/ws0XpUNZnNJkrA8qor8VMEyrI8hJpA/ KMvi5czu/RRSvRo5j/+Os6taj+VDnQnAuLcAWLb2W/MP1glKElojf83PkUalQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKcmM0cBbzdvh; Mon, 15 May 2023 11:37:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FBbMuY062180; Mon, 15 May 2023 11:37:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FBbM66062179; Mon, 15 May 2023 11:37:22 GMT (envelope-from git) Date: Mon, 15 May 2023 11:37:22 GMT Message-Id: <202305151137.34FBbM66062179@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 3f6bf6a033b1 - main - netlink: add an optional post-process hook to the message parsers. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f6bf6a033b156fe8a716cc0cc2278270504343c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=3f6bf6a033b156fe8a716cc0cc2278270504343c commit 3f6bf6a033b156fe8a716cc0cc2278270504343c Author: Alexander V. Chernikov AuthorDate: 2023-05-15 11:33:10 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-15 11:33:10 +0000 netlink: add an optional post-process hook to the message parsers. It is primarily used for adding scopeid to the IPv6 link-local sockaddrs. Having proper sockaddrs after parsing minimises the possibility of human mistake when using the parsing. MFC after: 2 weeks --- sys/netlink/netlink_message_parser.h | 39 ++++++++++++++------------ sys/netlink/route/neigh.c | 32 ++++++++++++++++------ sys/netlink/route/nexthop.c | 24 +++++++++++++++- sys/netlink/route/rt.c | 53 ++++++++++++++++++------------------ 4 files changed, 95 insertions(+), 53 deletions(-) diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 5e10ea569829..0934057ac49f 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -110,6 +110,7 @@ struct nlattr_parser { }; typedef bool strict_parser_f(void *hdr, struct nl_pstate *npt); +typedef bool post_parser_f(void *parsed_attrs, struct nl_pstate *npt); struct nlhdr_parser { int nl_hdr_off; /* aligned netlink header size */ @@ -118,27 +119,26 @@ struct nlhdr_parser { int np_size; const struct nlfield_parser *fp; /* array of header field parsers */ const struct nlattr_parser *np; /* array of attribute parsers */ - strict_parser_f *sp; /* Parser function */ + strict_parser_f *sp; /* Pre-parse strict validation function */ + post_parser_f *post_parse; }; -#define NL_DECLARE_PARSER(_name, _t, _fp, _np) \ -static const struct nlhdr_parser _name = { \ - .nl_hdr_off = sizeof(_t), \ - .fp = &((_fp)[0]), \ - .np = &((_np)[0]), \ - .fp_size = NL_ARRAY_LEN(_fp), \ - .np_size = NL_ARRAY_LEN(_np), \ +#define NL_DECLARE_PARSER_EXT(_name, _t, _sp, _fp, _np, _pp) \ +static const struct nlhdr_parser _name = { \ + .nl_hdr_off = sizeof(_t), \ + .fp = &((_fp)[0]), \ + .np = &((_np)[0]), \ + .fp_size = NL_ARRAY_LEN(_fp), \ + .np_size = NL_ARRAY_LEN(_np), \ + .sp = _sp, \ + .post_parse = _pp, \ } -#define NL_DECLARE_STRICT_PARSER(_name, _t, _sp, _fp, _np)\ -static const struct nlhdr_parser _name = { \ - .nl_hdr_off = sizeof(_t), \ - .fp = &((_fp)[0]), \ - .np = &((_np)[0]), \ - .fp_size = NL_ARRAY_LEN(_fp), \ - .np_size = NL_ARRAY_LEN(_np), \ - .sp = _sp, \ -} +#define NL_DECLARE_PARSER(_name, _t, _fp, _np) \ + NL_DECLARE_PARSER_EXT(_name, _t, NULL, _fp, _np, NULL) + +#define NL_DECLARE_STRICT_PARSER(_name, _t, _sp, _fp, _np) \ + NL_DECLARE_PARSER_EXT(_name, _t, _sp, _fp, _np, NULL) #define NL_DECLARE_ARR_PARSER(_name, _t, _o, _fp, _np) \ static const struct nlhdr_parser _name = { \ @@ -252,6 +252,11 @@ nl_parse_header(void *hdr, int len, const struct nlhdr_parser *parser, error = nl_parse_attrs_raw(nla_head, len - parser->nl_hdr_off, parser->np, parser->np_size, npt, target); + if (parser->post_parse != NULL && error == 0) { + if (!parser->post_parse(target, npt)) + return (EINVAL); + } + return (error); } diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index a79400ef77ca..74a162bb9464 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -279,14 +279,6 @@ get_lle(struct netlink_walkargs *wa, struct ifnet *ifp, int family, struct socka if (llt == NULL) return (ESRCH); -#ifdef INET6 - if (dst->sa_family == AF_INET6) { - struct sockaddr_in6 *dst6 = (struct sockaddr_in6 *)dst; - - if (IN6_IS_SCOPE_LINKLOCAL(&dst6->sin6_addr)) - in6_set_unicast_scopeid(&dst6->sin6_addr, ifp->if_index); - } -#endif struct llentry *lle = lla_lookup(llt, LLE_UNLOCKED, dst); if (lle == NULL) return (ESRCH); @@ -297,6 +289,19 @@ get_lle(struct netlink_walkargs *wa, struct ifnet *ifp, int family, struct socka return (dump_lle(llt, lle, wa)); } +static void +set_scope6(struct sockaddr *sa, struct ifnet *ifp) +{ +#ifdef INET6 + if (sa != NULL && sa->sa_family == AF_INET6 && ifp != NULL) { + struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)sa; + + if (IN6_IS_ADDR_LINKLOCAL(&sa6->sin6_addr)) + in6_set_unicast_scopeid(&sa6->sin6_addr, if_getindex(ifp)); + } +#endif +} + struct nl_parsed_neigh { struct sockaddr *nda_dst; struct ifnet *nda_ifp; @@ -330,7 +335,16 @@ static const struct nlattr_parser nla_p_neigh[] = { }; #undef _IN #undef _OUT -NL_DECLARE_PARSER(ndmsg_parser, struct ndmsg, nlf_p_neigh, nla_p_neigh); + +static bool +post_p_neigh(void *_attrs, struct nl_pstate *npt __unused) +{ + struct nl_parsed_neigh *attrs = (struct nl_parsed_neigh *)_attrs; + + set_scope6(attrs->nda_dst, attrs->nda_ifp); + return (true); +} +NL_DECLARE_PARSER_EXT(ndmsg_parser, struct ndmsg, NULL, nlf_p_neigh, nla_p_neigh, post_p_neigh); /* diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 7bfbdce9f706..d1652cfb1508 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -678,6 +678,19 @@ nlattr_get_nhg(struct nlattr *nla, struct nl_pstate *npt, const void *arg, void return (error); } +static void +set_scope6(struct sockaddr *sa, struct ifnet *ifp) +{ +#ifdef INET6 + if (sa != NULL && sa->sa_family == AF_INET6 && ifp != NULL) { + struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)sa; + + if (IN6_IS_ADDR_LINKLOCAL(&sa6->sin6_addr)) + in6_set_unicast_scopeid(&sa6->sin6_addr, if_getindex(ifp)); + } +#endif +} + struct nl_parsed_nhop { uint32_t nha_id; uint8_t nha_blackhole; @@ -721,7 +734,16 @@ static const struct nlattr_parser nla_p_nh[] = { }; #undef _IN #undef _OUT -NL_DECLARE_PARSER(nhmsg_parser, struct nhmsg, nlf_p_nh, nla_p_nh); + +static bool +post_p_nh(void *_attrs, struct nl_pstate *npt) +{ + struct nl_parsed_nhop *attrs = (struct nl_parsed_nhop *)_attrs; + + set_scope6(attrs->nha_gw, attrs->nha_oif); + return (true); +} +NL_DECLARE_PARSER_EXT(nhmsg_parser, struct nhmsg, NULL, nlf_p_nh, nla_p_nh, post_p_nh); static bool eligible_nhg(const struct nhop_object *nh) diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c index 348d180607e7..e194b8f009c1 100644 --- a/sys/netlink/route/rt.c +++ b/sys/netlink/route/rt.c @@ -349,7 +349,6 @@ family_to_group(int family) return (0); } - static void report_operation(uint32_t fibnum, struct rib_cmd_info *rc, struct nlpcb *nlp, struct nlmsghdr *hdr) @@ -384,6 +383,19 @@ report_operation(uint32_t fibnum, struct rib_cmd_info *rc, rtsock_callback_p->route_f(fibnum, rc); } +static void +set_scope6(struct sockaddr *sa, struct ifnet *ifp) +{ +#ifdef INET6 + if (sa != NULL && sa->sa_family == AF_INET6 && ifp != NULL) { + struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)sa; + + if (IN6_IS_ADDR_LINKLOCAL(&sa6->sin6_addr)) + in6_set_unicast_scopeid(&sa6->sin6_addr, if_getindex(ifp)); + } +#endif +} + struct rta_mpath_nh { struct sockaddr *gw; struct ifnet *ifp; @@ -404,26 +416,16 @@ const static struct nlfield_parser nlf_p_rtnh[] = { }; #undef _IN #undef _OUT -NL_DECLARE_PARSER(mpath_parser, struct rtnexthop, nlf_p_rtnh, nla_p_rtnh); -static void -set_scope6(struct sockaddr *sa, struct ifnet *ifp) +static bool +post_p_rtnh(void *_attrs, struct nl_pstate *npt __unused) { -#ifdef INET6 - if (sa != NULL && sa->sa_family == AF_INET6 && ifp != NULL) { - struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)sa; + struct rta_mpath_nh *attrs = (struct rta_mpath_nh *)_attrs; - if (IN6_IS_ADDR_LINKLOCAL(&sa6->sin6_addr)) - in6_set_unicast_scopeid(&sa6->sin6_addr, ifp->if_index); - } -#endif -} - -static void -post_p_mpath(struct rta_mpath_nh *mpnh) -{ - set_scope6(mpnh->gw, mpnh->ifp); + set_scope6(attrs->gw, attrs->ifp); + return (true); } +NL_DECLARE_PARSER_EXT(mpath_parser, struct rtnexthop, NULL, nlf_p_rtnh, nla_p_rtnh, post_p_rtnh); struct rta_mpath { int num_nhops; @@ -451,7 +453,6 @@ nlattr_get_multipath(struct nlattr *nla, struct nl_pstate *npt, const void *arg, mp->num_nhops - 1); return (error); } - post_p_mpath(mpnh); int len = NL_ITEM_ALIGN(rtnh->rtnh_len); data_len -= len; @@ -513,14 +514,17 @@ static const struct nlfield_parser nlf_p_rtmsg[] = { }; #undef _IN #undef _OUT -NL_DECLARE_PARSER(rtm_parser, struct rtmsg, nlf_p_rtmsg, nla_p_rtmsg); -static void -post_p_rtmsg(struct nl_parsed_route *r) +static bool +post_p_rtmsg(void *_attrs, struct nl_pstate *npt __unused) { - set_scope6(r->rta_dst, r->rta_oif); - set_scope6(r->rta_gw, r->rta_oif); + struct nl_parsed_route *attrs = (struct nl_parsed_route *)_attrs; + + set_scope6(attrs->rta_dst, attrs->rta_oif); + set_scope6(attrs->rta_gw, attrs->rta_oif); + return (true); } +NL_DECLARE_PARSER_EXT(rtm_parser, struct rtmsg, NULL, nlf_p_rtmsg, nla_p_rtmsg, post_p_rtmsg); struct netlink_walkargs { struct nl_writer *nw; @@ -926,7 +930,6 @@ rtnl_handle_newroute(struct nlmsghdr *hdr, struct nlpcb *nlp, error = nl_parse_nlmsg(hdr, &rtm_parser, npt, &attrs); if (error != 0) return (error); - post_p_rtmsg(&attrs); /* Check if we have enough data */ if (attrs.rta_dst == NULL) { @@ -991,7 +994,6 @@ rtnl_handle_delroute(struct nlmsghdr *hdr, struct nlpcb *nlp, error = nl_parse_nlmsg(hdr, &rtm_parser, npt, &attrs); if (error != 0) return (error); - post_p_rtmsg(&attrs); if (attrs.rta_dst == NULL) { NLMSG_REPORT_ERR_MSG(npt, "RTA_DST is not set"); @@ -1019,7 +1021,6 @@ rtnl_handle_getroute(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * error = nl_parse_nlmsg(hdr, &rtm_parser, npt, &attrs); if (error != 0) return (error); - post_p_rtmsg(&attrs); if (attrs.rta_table >= V_rt_numfibs) { NLMSG_REPORT_ERR_MSG(npt, "invalid fib"); From nobody Mon May 15 11:48:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKd1X4dm2z4BWm7; Mon, 15 May 2023 11:48: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 4QKd1X47Fmz4B6K; Mon, 15 May 2023 11:48:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684151328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NEIpvzsE8lapY5KNgKsv7p1119xaGRh8+hU+XC7CcEI=; b=qCnYbqpAwZyaj8tsDCu+RE/G/KL3fyKMWnxuBFipIdyg9sa68FzPrbV5y87o5HpnODaBwE OD6nbIbdtn4kc1BB4ydp3dkIrWzqgYkhVus1QCIa09t9ozbcE1QBq1QmbZKGCns/r3LkWp FZb4lQFcurlI7ppgjKUygwH6WgyqPSXnH3OxexM95m1t7ChGCqBuqGyuyZhlH1m5CAqfC7 BjEucfiRdj+OUwIHvP/5fxDnaRBH+YlpEYoVpmGhSJVxgXb0ZzYXuVDwrISCSGKTEGGO3t IYGBfu3S2xzknduKNk8LATS89adalyTWVQ0uUGWRjj2eFCVJwR7LQIK3EAGeDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684151328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NEIpvzsE8lapY5KNgKsv7p1119xaGRh8+hU+XC7CcEI=; b=FGbYg1PyNcGwOZPplPBWBkZq+1425rw04OfhUoVVQnAppMF/5iFHqtZEJfsYdJpf6PNK/Y FjYFUZhgW4lurbgSUXziyaB6k2Tdwoxe3xp3N/Vh7RlGy8r+sWam4ZSxmjieGcs92g4HKI 98fcc/ckv7w+/DSbgde2Nt3Fapd/pTl3Gc9+MYjmfPXg8q9+ozAPgyUpBfRdMTuVpEDuP/ hjW53qW/9TG9JDUQ+eZ2AOun2F7s7z04wxsX4Pp3+Mvx0Z3oDpToyKQpE1KUWecmibheDg As/whxGLPokLKkYni96j4rd7enIRjOeOYKz4C3vBEm+tj/GoaQ5akBxRFlWRFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684151328; a=rsa-sha256; cv=none; b=M9gcdU2tcVaLQycHJWjqAqJpFCeGF0CaX/mU/wvvQzgiDV4TPN7u5QSlWOBNaIPx5OuGP0 je9tUi2ZGevqf9VwtMFeiZ8mjy+tU1tiPsNqeWvsX6Mqsl+JTJQgblJJo/GXzwhhaTit+5 18s8Oz92GzFSIe5e5lt/8jpAF7QlEVvJQUTZGf+RKFxoWQ9W0V0gZFoEwSP08NkN4NpkIW 6dabVvT/mc0zk49YvH9n1E1YGcplObYOlQuagfmF6L7/2Uh6pYsgs00B54zlIbPoTGGUCr B0ctpPdJHRtlxDJA4Y2YSEA1vYZ2glf0Eb3xZ8S1qscqeU97wZ6DMgbyErJmnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKd1X37qjzf8y; Mon, 15 May 2023 11:48:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FBmm6N078604; Mon, 15 May 2023 11:48:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FBmmjN078603; Mon, 15 May 2023 11:48:48 GMT (envelope-from git) Date: Mon, 15 May 2023 11:48:48 GMT Message-Id: <202305151148.34FBmmjN078603@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: d91f8db5f182 - main - testing: rename IfattrType to IfaAttrType for consistency List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d91f8db5f1822c43cd256f19aae1d059e4b25a26 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=d91f8db5f1822c43cd256f19aae1d059e4b25a26 commit d91f8db5f1822c43cd256f19aae1d059e4b25a26 Author: Alexander V. Chernikov AuthorDate: 2023-05-15 11:47:07 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-15 11:47:07 +0000 testing: rename IfattrType to IfaAttrType for consistency All other attribute classes are named as 'type'AttrType and 'type' int this case is ifa (interface address). MFC after: 2 weeks --- tests/atf_python/sys/netlink/netlink_route.py | 14 +++++++------- tests/sys/netlink/test_rtnl_ifaddr.py | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/atf_python/sys/netlink/netlink_route.py b/tests/atf_python/sys/netlink/netlink_route.py index 81f4e89d3e57..cd3ffbe31a00 100644 --- a/tests/atf_python/sys/netlink/netlink_route.py +++ b/tests/atf_python/sys/netlink/netlink_route.py @@ -376,7 +376,7 @@ class IfaddrMsg(Structure): ] -class IfattrType(Enum): +class IfaAttrType(Enum): IFA_UNSPEC = 0 IFA_ADDRESS = auto() IFA_LOCAL = auto() @@ -570,12 +570,12 @@ rtnl_ifla_attrs = prepare_attrs_map( rtnl_ifa_attrs = prepare_attrs_map( [ - AttrDescr(IfattrType.IFA_ADDRESS, NlAttrIp), - AttrDescr(IfattrType.IFA_LOCAL, NlAttrIp), - AttrDescr(IfattrType.IFA_LABEL, NlAttrStr), - AttrDescr(IfattrType.IFA_BROADCAST, NlAttrIp), - AttrDescr(IfattrType.IFA_ANYCAST, NlAttrIp), - AttrDescr(IfattrType.IFA_FLAGS, NlAttrU32), + AttrDescr(IfaAttrType.IFA_ADDRESS, NlAttrIp), + AttrDescr(IfaAttrType.IFA_LOCAL, NlAttrIp), + AttrDescr(IfaAttrType.IFA_LABEL, NlAttrStr), + AttrDescr(IfaAttrType.IFA_BROADCAST, NlAttrIp), + AttrDescr(IfaAttrType.IFA_ANYCAST, NlAttrIp), + AttrDescr(IfaAttrType.IFA_FLAGS, NlAttrU32), ] ) diff --git a/tests/sys/netlink/test_rtnl_ifaddr.py b/tests/sys/netlink/test_rtnl_ifaddr.py index 503eabd27146..1e7d6ca62bd8 100644 --- a/tests/sys/netlink/test_rtnl_ifaddr.py +++ b/tests/sys/netlink/test_rtnl_ifaddr.py @@ -6,7 +6,7 @@ from atf_python.sys.net.vnet import SingleVnetTestTemplate from atf_python.sys.netlink.base_headers import NlmBaseFlags from atf_python.sys.netlink.base_headers import Nlmsghdr from atf_python.sys.netlink.netlink import NetlinkTestTemplate -from atf_python.sys.netlink.netlink_route import IfattrType +from atf_python.sys.netlink.netlink_route import IfaAttrType from atf_python.sys.netlink.netlink_route import NetlinkIfaMessage from atf_python.sys.netlink.netlink_route import NlRtMsgType from atf_python.sys.netlink.netlink_route import RtScope @@ -115,12 +115,12 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): # Ignore IFA_FLAGS for now assert msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value - assert msg.get_nla(IfattrType.IFA_ADDRESS).addr == "192.0.2.1" - assert msg.get_nla(IfattrType.IFA_LOCAL).addr == "192.0.2.1" - assert msg.get_nla(IfattrType.IFA_BROADCAST).addr == "192.0.2.255" + assert msg.get_nla(IfaAttrType.IFA_ADDRESS).addr == "192.0.2.1" + assert msg.get_nla(IfaAttrType.IFA_LOCAL).addr == "192.0.2.1" + assert msg.get_nla(IfaAttrType.IFA_BROADCAST).addr == "192.0.2.255" epair_ifname = self.vnet.iface_alias_map["if1"].name - assert msg.get_nla(IfattrType.IFA_LABEL).text == epair_ifname + assert msg.get_nla(IfaAttrType.IFA_LABEL).text == epair_ifname def test_6_broadcast(self): """Tests header/attr output for listing IPv6 ifas on broadcast iface""" @@ -137,12 +137,12 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): # Ignore IFA_FLAGS for now assert msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value - assert msg.get_nla(IfattrType.IFA_ADDRESS).addr == "2001:db8::1" - assert msg.get_nla(IfattrType.IFA_LOCAL) is None - assert msg.get_nla(IfattrType.IFA_BROADCAST) is None + assert msg.get_nla(IfaAttrType.IFA_ADDRESS).addr == "2001:db8::1" + assert msg.get_nla(IfaAttrType.IFA_LOCAL) is None + assert msg.get_nla(IfaAttrType.IFA_BROADCAST) is None epair_ifname = self.vnet.iface_alias_map["if1"].name - assert msg.get_nla(IfattrType.IFA_LABEL).text == epair_ifname + assert msg.get_nla(IfaAttrType.IFA_LABEL).text == epair_ifname # Local: fe80::/64 msg = lmsg @@ -150,12 +150,12 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): # Ignore IFA_FLAGS for now assert msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_LINK.value - addr = ipaddress.ip_address(msg.get_nla(IfattrType.IFA_ADDRESS).addr) + addr = ipaddress.ip_address(msg.get_nla(IfaAttrType.IFA_ADDRESS).addr) assert addr.is_link_local # Verify that ifindex is not emmbedded assert struct.unpack("!H", addr.packed[2:4])[0] == 0 - assert msg.get_nla(IfattrType.IFA_LOCAL) is None - assert msg.get_nla(IfattrType.IFA_BROADCAST) is None + assert msg.get_nla(IfaAttrType.IFA_LOCAL) is None + assert msg.get_nla(IfaAttrType.IFA_BROADCAST) is None epair_ifname = self.vnet.iface_alias_map["if1"].name - assert msg.get_nla(IfattrType.IFA_LABEL).text == epair_ifname + assert msg.get_nla(IfaAttrType.IFA_LABEL).text == epair_ifname From nobody Mon May 15 13:38:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKgRY1v3Gz4Bcsg; Mon, 15 May 2023 13:38: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 4QKgRY17hCz4W03; Mon, 15 May 2023 13:38:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684157881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZsR/ySFCChTAw2qX2N0P97fja41NKeCq7Jqy7jSbPk=; b=ZqBc9GQVOz/JRAsqa1XJ93HjqcU3LzGJSY4t7vKUEt5+i5IeMLQH2Umq8ekIWY3mZyW1v/ zdydrSm33AQWM6sIfEAnkQDXIHCVzDaFTd4FGLL44VPc0FW6crD2bC8ly8B7dNux876B/I mErd378u16AubsTigGuX07iW1o3h4ku5BRJ4UGyP2usJRV+MSbNsDTGT+KNMwff0U/V1gD J2SCPzuhnB8eOC26xIIv55AIr3j3vFo32yUtXMHpWeW2pXQVio3uTZrF38VHgdqbnEENC+ 9Z/tsi7wqxre4K9XJ4E6eIiEE1236j8ahbrPtqPYqIaV/UusL1e9SOpBN8wA5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684157881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZsR/ySFCChTAw2qX2N0P97fja41NKeCq7Jqy7jSbPk=; b=g8yzXgX2y9X+VWppdpyiglEQpmyJ4MzinJlM2yuKHF4l1f6JffLipHMqCE3BPedlTuCuk+ Ct9b23fqxAO0HGCjuYrHaXmDpOaZLAIBvM1b/hvAwCioDWFtMXJrWVE2UKvNs+6hZXVQUV GF8j8WfX/rz1hlm/lGjOuvITz44XHPOmYEbD+vySgwt3iCLXT0Fg5YT6fvbOkTSOXb95z1 PuSYWE4anjfliP931OISqHDSrSZY696vkkLfRkSv3+LMkqPOXEiGWk0j0JHB/fyuHD3P2d iJHtcdKZuYdz5n6pZ1y0CK6avu9ygwymOjEzA+grvu6Ul6AptZHV+FYN1Sifqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684157881; a=rsa-sha256; cv=none; b=aP5ukvlasbE0uXjRkYqGyH9lF730vlvV13XWFpqu4A9Tn9aAET+6L+ZBnz0eLASBBLC0Bu 3k3fvEOjVaGZqrKRv0et0JOZaLV4NC29IuEtyLpu1EcZjG4S3PqtAkGuP+r8KWrnmZH4py 1hvjaloRG4eDcazE10qg5twlv3JTgXxbJQlaGOzDI1JxUodEqLJ2CgSUxBM1/NVI5MgpaF AOqIoe+AMLUHKcZ7hE0H58QDxIbp5K8xRbnl2xAm8VyJmiGlhLGBw8KHQf0m4VYCHMaeX4 uYM+bZIeWSLeO/7uyikZp7+b6TG/dGXUopkBzSSD95/kBhX4Z3/nGPgTkv0pGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKgRY06PXzjBf; Mon, 15 May 2023 13:38:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FDc0Km059456; Mon, 15 May 2023 13:38:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FDc0oc059455; Mon, 15 May 2023 13:38:00 GMT (envelope-from git) Date: Mon, 15 May 2023 13:38:00 GMT Message-Id: <202305151338.34FDc0oc059455@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: d1cd0344f7b7 - main - ifconfig: split printing functions into smaller per-type chunks. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d1cd0344f7b7d81beda04c3cb8cfee99351c3eb8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=d1cd0344f7b7d81beda04c3cb8cfee99351c3eb8 commit d1cd0344f7b7d81beda04c3cb8cfee99351c3eb8 Author: Alexander V. Chernikov AuthorDate: 2023-05-15 12:17:54 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-15 13:37:27 +0000 ifconfig: split printing functions into smaller per-type chunks. This change is a prerequisite for netlink conversion. No functional changes intended. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D40033 MFC after: 2 weeks --- sbin/ifconfig/af_inet.c | 21 ++-- sbin/ifconfig/af_inet6.c | 154 +++++++++++++++------------ sbin/ifconfig/af_link.c | 67 +++++++----- sbin/ifconfig/ifconfig.c | 271 +++++++++++++++++++++++++++++------------------ sbin/ifconfig/ifconfig.h | 3 + 5 files changed, 305 insertions(+), 211 deletions(-) diff --git a/sbin/ifconfig/af_inet.c b/sbin/ifconfig/af_inet.c index c5c40de155d6..6ce11fa2d673 100644 --- a/sbin/ifconfig/af_inet.c +++ b/sbin/ifconfig/af_inet.c @@ -60,16 +60,9 @@ static char addr_buf[NI_MAXHOST]; /*for getnameinfo()*/ extern char *f_inet, *f_addr; static void -in_status(int s __unused, const struct ifaddrs *ifa) +print_addr(struct sockaddr_in *sin) { - struct sockaddr_in *sin, null_sin; int error, n_flags; - - memset(&null_sin, 0, sizeof(null_sin)); - - sin = (struct sockaddr_in *)ifa->ifa_addr; - if (sin == NULL) - return; if (f_addr != NULL && strcmp(f_addr, "fqdn") == 0) n_flags = 0; @@ -85,6 +78,18 @@ in_status(int s __unused, const struct ifaddrs *ifa) inet_ntop(AF_INET, &sin->sin_addr, addr_buf, sizeof(addr_buf)); printf("\tinet %s", addr_buf); +} + +static void +in_status(int s __unused, const struct ifaddrs *ifa) +{ + struct sockaddr_in *sin, null_sin = {}; + + sin = (struct sockaddr_in *)ifa->ifa_addr; + if (sin == NULL) + return; + + print_addr(sin); if (ifa->ifa_flags & IFF_POINTOPOINT) { sin = (struct sockaddr_in *)ifa->ifa_dstaddr; diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index 08902b934ad8..49049ba2c376 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -168,20 +168,88 @@ setip6eui64(const char *cmd, int dummy __unused, int s, freeifaddrs(ifap); } +static void +print_addr(struct sockaddr_in6 *sin) +{ + int error, n_flags; + + if (f_addr != NULL && strcmp(f_addr, "fqdn") == 0) + n_flags = 0; + else if (f_addr != NULL && strcmp(f_addr, "host") == 0) + n_flags = NI_NOFQDN; + else + n_flags = NI_NUMERICHOST; + error = getnameinfo((struct sockaddr *)sin, sin->sin6_len, + addr_buf, sizeof(addr_buf), NULL, 0, + n_flags); + if (error != 0) + inet_ntop(AF_INET6, &sin->sin6_addr, addr_buf, + sizeof(addr_buf)); + printf("\tinet6 %s", addr_buf); +} + +static void +print_p2p(struct sockaddr_in6 *sin) +{ + int error; + + error = getnameinfo((struct sockaddr *)sin, sin->sin6_len, addr_buf, + sizeof(addr_buf), NULL, 0, NI_NUMERICHOST); + + if (error != 0) + inet_ntop(AF_INET6, &sin->sin6_addr, addr_buf, sizeof(addr_buf)); + printf(" --> %s", addr_buf); +} + +static void +print_mask(int plen) +{ + if (f_inet6 != NULL && strcmp(f_inet6, "cidr") == 0) + printf("/%d", plen); + else + printf(" prefixlen %d", plen); +} + +static void +print_flags(int flags6) +{ + if ((flags6 & IN6_IFF_ANYCAST) != 0) + printf(" anycast"); + if ((flags6 & IN6_IFF_TENTATIVE) != 0) + printf(" tentative"); + if ((flags6 & IN6_IFF_DUPLICATED) != 0) + printf(" duplicated"); + if ((flags6 & IN6_IFF_DETACHED) != 0) + printf(" detached"); + if ((flags6 & IN6_IFF_DEPRECATED) != 0) + printf(" deprecated"); + if ((flags6 & IN6_IFF_AUTOCONF) != 0) + printf(" autoconf"); + if ((flags6 & IN6_IFF_TEMPORARY) != 0) + printf(" temporary"); + if ((flags6 & IN6_IFF_PREFER_SOURCE) != 0) + printf(" prefer_source"); + +} + +static void +print_lifetime(const char *prepend, time_t px_time, struct timespec *now) +{ + printf(" %s", prepend); + if (px_time == 0) + printf(" infty"); + + printf(" %s", px_time < now->tv_sec ? "0" : sec2str(px_time - now->tv_sec)); +} + static void in6_status(int s __unused, const struct ifaddrs *ifa) { - struct sockaddr_in6 *sin, null_sin; + struct sockaddr_in6 *sin, null_sin = {}; struct in6_ifreq ifr6; int s6; u_int32_t flags6; struct in6_addrlifetime lifetime; - struct timespec now; - int error, n_flags; - - clock_gettime(CLOCK_MONOTONIC_FAST, &now); - - memset(&null_sin, 0, sizeof(null_sin)); sin = (struct sockaddr_in6 *)ifa->ifa_addr; if (sin == NULL) @@ -209,19 +277,7 @@ in6_status(int s __unused, const struct ifaddrs *ifa) lifetime = ifr6.ifr_ifru.ifru_lifetime; close(s6); - if (f_addr != NULL && strcmp(f_addr, "fqdn") == 0) - n_flags = 0; - else if (f_addr != NULL && strcmp(f_addr, "host") == 0) - n_flags = NI_NOFQDN; - else - n_flags = NI_NUMERICHOST; - error = getnameinfo((struct sockaddr *)sin, sin->sin6_len, - addr_buf, sizeof(addr_buf), NULL, 0, - n_flags); - if (error != 0) - inet_ntop(AF_INET6, &sin->sin6_addr, addr_buf, - sizeof(addr_buf)); - printf("\tinet6 %s", addr_buf); + print_addr(sin); if (ifa->ifa_flags & IFF_POINTOPOINT) { sin = (struct sockaddr_in6 *)ifa->ifa_dstaddr; @@ -229,67 +285,27 @@ in6_status(int s __unused, const struct ifaddrs *ifa) * some of the interfaces do not have valid destination * address. */ - if (sin != NULL && sin->sin6_family == AF_INET6) { - int error; - - error = getnameinfo((struct sockaddr *)sin, - sin->sin6_len, addr_buf, - sizeof(addr_buf), NULL, 0, - NI_NUMERICHOST); - if (error != 0) - inet_ntop(AF_INET6, &sin->sin6_addr, addr_buf, - sizeof(addr_buf)); - printf(" --> %s", addr_buf); - } + if (sin != NULL && sin->sin6_family == AF_INET6) + print_p2p(sin); } sin = (struct sockaddr_in6 *)ifa->ifa_netmask; if (sin == NULL) sin = &null_sin; - if (f_inet6 != NULL && strcmp(f_inet6, "cidr") == 0) - printf("/%d", prefix(&sin->sin6_addr, - sizeof(struct in6_addr))); - else - printf(" prefixlen %d", prefix(&sin->sin6_addr, - sizeof(struct in6_addr))); + print_mask(prefix(&sin->sin6_addr, sizeof(struct in6_addr))); - if ((flags6 & IN6_IFF_ANYCAST) != 0) - printf(" anycast"); - if ((flags6 & IN6_IFF_TENTATIVE) != 0) - printf(" tentative"); - if ((flags6 & IN6_IFF_DUPLICATED) != 0) - printf(" duplicated"); - if ((flags6 & IN6_IFF_DETACHED) != 0) - printf(" detached"); - if ((flags6 & IN6_IFF_DEPRECATED) != 0) - printf(" deprecated"); - if ((flags6 & IN6_IFF_AUTOCONF) != 0) - printf(" autoconf"); - if ((flags6 & IN6_IFF_TEMPORARY) != 0) - printf(" temporary"); - if ((flags6 & IN6_IFF_PREFER_SOURCE) != 0) - printf(" prefer_source"); + print_flags(flags6); if (((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id) printf(" scopeid 0x%x", ((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id); if (ip6lifetime && (lifetime.ia6t_preferred || lifetime.ia6t_expire)) { - printf(" pltime"); - if (lifetime.ia6t_preferred) { - printf(" %s", lifetime.ia6t_preferred < now.tv_sec - ? "0" : - sec2str(lifetime.ia6t_preferred - now.tv_sec)); - } else - printf(" infty"); - - printf(" vltime"); - if (lifetime.ia6t_expire) { - printf(" %s", lifetime.ia6t_expire < now.tv_sec - ? "0" : - sec2str(lifetime.ia6t_expire - now.tv_sec)); - } else - printf(" infty"); + struct timespec now; + + clock_gettime(CLOCK_MONOTONIC_FAST, &now); + print_lifetime("pltime", lifetime.ia6t_preferred, &now); + print_lifetime("vltime", lifetime.ia6t_expire, &now); } print_vhid(ifa, " "); diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c index fb7a235b2f49..f651ddc51cb4 100644 --- a/sbin/ifconfig/af_link.c +++ b/sbin/ifconfig/af_link.c @@ -56,34 +56,54 @@ static struct ifreq link_ridreq; extern char *f_ether; +static void +print_ether(const struct ether_addr *addr, const char *prefix) +{ + char *ether_format = ether_ntoa(addr); + + if (f_ether != NULL && strcmp(f_ether, "dash") == 0) { + char *format_char; + + while ((format_char = strchr(ether_format, ':')) != NULL) { + *format_char = '-'; + } + } + printf("\t%s %s\n", prefix, ether_format); +} + +static void +print_lladdr(struct sockaddr_dl *sdl) +{ + if (match_ether(sdl)) { + print_ether((struct ether_addr *)LLADDR(sdl), "ether"); + } else { + int n = sdl->sdl_nlen > 0 ? sdl->sdl_nlen + 1 : 0; + printf("\tlladdr %s\n", link_ntoa(sdl) + n); + } +} + +static void +print_pcp(int s) +{ + if (ioctl(s, SIOCGLANPCP, (caddr_t)&ifr) == 0 && + ifr.ifr_lan_pcp != IFNET_PCP_NONE) + printf("\tpcp %d\n", ifr.ifr_lan_pcp); +} + static void link_status(int s __unused, const struct ifaddrs *ifa) { /* XXX no const 'cuz LLADDR is defined wrong */ struct sockaddr_dl *sdl; - char *ether_format, *format_char; struct ifreq ifr; - int n, rc, sock_hw; + int rc, sock_hw; static const u_char laggaddr[6] = {0}; sdl = (struct sockaddr_dl *) ifa->ifa_addr; if (sdl == NULL || sdl->sdl_alen == 0) return; - if ((sdl->sdl_type == IFT_ETHER || sdl->sdl_type == IFT_L2VLAN || - sdl->sdl_type == IFT_BRIDGE) && sdl->sdl_alen == ETHER_ADDR_LEN) { - ether_format = ether_ntoa((struct ether_addr *)LLADDR(sdl)); - if (f_ether != NULL && strcmp(f_ether, "dash") == 0) { - while ((format_char = strchr(ether_format, ':')) != - NULL) { - *format_char = '-'; - } - } - printf("\tether %s\n", ether_format); - } else { - n = sdl->sdl_nlen > 0 ? sdl->sdl_nlen + 1 : 0; - printf("\tlladdr %s\n", link_ntoa(sdl) + n); - } + print_lladdr(sdl); /* * Best-effort (i.e. failures are silent) to get original @@ -118,20 +138,9 @@ link_status(int s __unused, const struct ifaddrs *ifa) memcmp(ifr.ifr_addr.sa_data, LLADDR(sdl), sdl->sdl_alen) == 0) goto pcp; - ether_format = ether_ntoa((const struct ether_addr *) - &ifr.ifr_addr.sa_data); - if (f_ether != NULL && strcmp(f_ether, "dash") == 0) { - for (format_char = strchr(ether_format, ':'); - format_char != NULL; - format_char = strchr(ether_format, ':')) - *format_char = '-'; - } - printf("\thwaddr %s\n", ether_format); - + print_ether((const struct ether_addr *)&ifr.ifr_addr.sa_data, "hwaddr"); pcp: - if (ioctl(s, SIOCGLANPCP, (caddr_t)&ifr) == 0 && - ifr.ifr_lan_pcp != IFNET_PCP_NONE) - printf("\tpcp %d\n", ifr.ifr_lan_pcp); + print_pcp(s); } static void diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 957a8fd7fb98..15a40f1c5601 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -611,6 +611,7 @@ main(int argc, char *argv[]) } args.afp = afp; + args.allfamilies = afp == NULL; args.argc = argc; args.argv = argv; @@ -622,6 +623,46 @@ done: exit(exit_code); } +bool +match_ether(const struct sockaddr_dl *sdl) +{ + switch (sdl->sdl_type) { + case IFT_ETHER: + case IFT_L2VLAN: + case IFT_BRIDGE: + if (sdl->sdl_alen == ETHER_ADDR_LEN) + return (true); + default: + return (false); + } +} + +static bool +match_afp(const struct afswtch *afp, int sa_family, const struct sockaddr_dl *sdl) +{ + if (afp == NULL) + return (true); + /* special case for "ether" address family */ + if (!strcmp(afp->af_name, "ether")) { + if (sdl == NULL && !match_ether(sdl)) + return (false); + return (true); + } + return (afp->af_af == sa_family); +} + +static bool +match_if_flags(struct ifconfig_args *args, int if_flags) +{ + if ((if_flags & IFF_CANTCONFIG) != 0) + return (false); + if (args->downonly && (if_flags & IFF_UP) != 0) + return (false); + if (args->uponly && (if_flags & IFF_UP) == 0) + return (false); + return (true); +} + static void list_interfaces(struct ifconfig_args *args) { @@ -672,11 +713,7 @@ list_interfaces(struct ifconfig_args *args) } cp = ifa->ifa_name; - if ((ifa->ifa_flags & IFF_CANTCONFIG) != 0) - continue; - if (args->downonly && (ifa->ifa_flags & IFF_UP) != 0) - continue; - if (args->uponly && (ifa->ifa_flags & IFF_UP) == 0) + if (!match_if_flags(args, ifa->ifa_flags)) continue; if (!group_member(ifa->ifa_name, args->matchgroup, args->nogroup)) continue; @@ -686,21 +723,8 @@ list_interfaces(struct ifconfig_args *args) if (args->namesonly) { if (namecp == cp) continue; - if (args->afp != NULL) { - /* special case for "ether" address family */ - if (!strcmp(args->afp->af_name, "ether")) { - if (sdl == NULL || - (sdl->sdl_type != IFT_ETHER && - sdl->sdl_type != IFT_L2VLAN && - sdl->sdl_type != IFT_BRIDGE) || - sdl->sdl_alen != ETHER_ADDR_LEN) - continue; - } else { - if (ifa->ifa_addr->sa_family - != args->afp->af_af) - continue; - } - } + if (!match_afp(args->afp, ifa->ifa_addr->sa_family, sdl)) + continue; namecp = cp; ifindex++; if (ifindex > 1) @@ -1432,44 +1456,110 @@ unsetifdescr(const char *val, int value, int s, const struct afswtch *afp) "\26RXCSUM_IPV6\27TXCSUM_IPV6\31TXRTLMT\32HWRXTSTMP\33NOMAP\34TXTLS4\35TXTLS6" \ "\36VXLAN_HWCSUM\37VXLAN_HWTSO\40TXTLS_RTLMT" -/* - * Print the status of the interface. If an address family was - * specified, show only it; otherwise, show them all. - */ static void -status(struct ifconfig_args *args, const struct sockaddr_dl *sdl, - struct ifaddrs *ifa) +print_ifcap_nv(struct ifconfig_args *args, int s) { - struct ifaddrs *ift; - struct ifstat ifs; nvlist_t *nvcap; const char *nvname; void *buf, *cookie; - int allfamilies, s, type; bool first, val; + int type; - if (args->afp == NULL) { - allfamilies = 1; - ifr.ifr_addr.sa_family = AF_LOCAL; - } else { - allfamilies = 0; - ifr.ifr_addr.sa_family = - args->afp->af_af == AF_LINK ? AF_LOCAL : args->afp->af_af; + buf = malloc(IFR_CAP_NV_MAXBUFSIZE); + if (buf == NULL) + Perror("malloc"); + ifr.ifr_cap_nv.buffer = buf; + ifr.ifr_cap_nv.buf_length = IFR_CAP_NV_MAXBUFSIZE; + if (ioctl(s, SIOCGIFCAPNV, (caddr_t)&ifr) != 0) + Perror("ioctl (SIOCGIFCAPNV)"); + nvcap = nvlist_unpack(ifr.ifr_cap_nv.buffer, + ifr.ifr_cap_nv.length, 0); + if (nvcap == NULL) + Perror("nvlist_unpack"); + printf("\toptions"); + cookie = NULL; + for (first = true;; first = false) { + nvname = nvlist_next(nvcap, &type, &cookie); + if (nvname == NULL) { + printf("\n"); + break; + } + if (type == NV_TYPE_BOOL) { + val = nvlist_get_bool(nvcap, nvname); + if (val) { + printf("%c%s", + first ? ' ' : ',', nvname); + } + } } - strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name)); + if (args->supmedia) { + printf("\tcapabilities"); + cookie = NULL; + for (first = true;; first = false) { + nvname = nvlist_next(nvcap, &type, + &cookie); + if (nvname == NULL) { + printf("\n"); + break; + } + if (type == NV_TYPE_BOOL) + printf("%c%s", first ? ' ' : + ',', nvname); + } + } + nvlist_destroy(nvcap); + free(buf); - s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0); - if (s < 0) - err(1, "socket(family %u,SOCK_DGRAM)", ifr.ifr_addr.sa_family); + if (ioctl(s, SIOCGIFCAP, (caddr_t)&ifr) != 0) + Perror("ioctl (SIOCGIFCAP)"); +} - printf("%s: ", name); - printb("flags", ifa->ifa_flags, IFFBITS); +static void +print_ifcap(struct ifconfig_args *args, int s) +{ + if (ioctl(s, SIOCGIFCAP, (caddr_t)&ifr) != 0) + return; + + if ((ifr.ifr_curcap & IFCAP_NV) != 0) + print_ifcap_nv(args, s); + else { + printb("\toptions", ifr.ifr_curcap, IFCAPBITS); + putchar('\n'); + if (args->supmedia && ifr.ifr_reqcap != 0) { + printb("\tcapabilities", ifr.ifr_reqcap, + IFCAPBITS); + putchar('\n'); + } + } +} + +static void +print_ifstatus(int s) +{ + struct ifstat ifs; + + strlcpy(ifs.ifs_name, name, sizeof ifs.ifs_name); + if (ioctl(s, SIOCGIFSTATUS, &ifs) == 0) + printf("%s", ifs.ascii); +} + +static void +print_metric(int s) +{ if (ioctl(s, SIOCGIFMETRIC, &ifr) != -1) printf(" metric %d", ifr.ifr_metric); +} + +static void +print_mtu(int s) +{ if (ioctl(s, SIOCGIFMTU, &ifr) != -1) printf(" mtu %d", ifr.ifr_mtu); - putchar('\n'); +} +static void +print_description(int s) +{ for (;;) { if ((descr = reallocf(descr, descrlen)) != NULL) { ifr.ifr_buffer.buffer = descr; @@ -1489,66 +1579,40 @@ status(struct ifconfig_args *args, const struct sockaddr_dl *sdl, "description"); break; } +} - if (ioctl(s, SIOCGIFCAP, (caddr_t)&ifr) == 0) { - if ((ifr.ifr_curcap & IFCAP_NV) != 0) { - buf = malloc(IFR_CAP_NV_MAXBUFSIZE); - if (buf == NULL) - Perror("malloc"); - ifr.ifr_cap_nv.buffer = buf; - ifr.ifr_cap_nv.buf_length = IFR_CAP_NV_MAXBUFSIZE; - if (ioctl(s, SIOCGIFCAPNV, (caddr_t)&ifr) != 0) - Perror("ioctl (SIOCGIFCAPNV)"); - nvcap = nvlist_unpack(ifr.ifr_cap_nv.buffer, - ifr.ifr_cap_nv.length, 0); - if (nvcap == NULL) - Perror("nvlist_unpack"); - printf("\toptions"); - cookie = NULL; - for (first = true;; first = false) { - nvname = nvlist_next(nvcap, &type, &cookie); - if (nvname == NULL) { - printf("\n"); - break; - } - if (type == NV_TYPE_BOOL) { - val = nvlist_get_bool(nvcap, nvname); - if (val) { - printf("%c%s", - first ? ' ' : ',', nvname); - } - } - } - if (args->supmedia) { - printf("\tcapabilities"); - cookie = NULL; - for (first = true;; first = false) { - nvname = nvlist_next(nvcap, &type, - &cookie); - if (nvname == NULL) { - printf("\n"); - break; - } - if (type == NV_TYPE_BOOL) - printf("%c%s", first ? ' ' : - ',', nvname); - } - } - nvlist_destroy(nvcap); - free(buf); +/* + * Print the status of the interface. If an address family was + * specified, show only it; otherwise, show them all. + */ +static void +status(struct ifconfig_args *args, const struct sockaddr_dl *sdl, + struct ifaddrs *ifa) +{ + struct ifaddrs *ift; + int s; + bool allfamilies = args->afp == NULL; - if (ioctl(s, SIOCGIFCAP, (caddr_t)&ifr) != 0) - Perror("ioctl (SIOCGIFCAP)"); - } else if (ifr.ifr_curcap != 0) { - printb("\toptions", ifr.ifr_curcap, IFCAPBITS); - putchar('\n'); - if (args->supmedia && ifr.ifr_reqcap != 0) { - printb("\tcapabilities", ifr.ifr_reqcap, - IFCAPBITS); - putchar('\n'); - } - } - } + if (args->afp == NULL) + ifr.ifr_addr.sa_family = AF_LOCAL; + else + ifr.ifr_addr.sa_family = + args->afp->af_af == AF_LINK ? AF_LOCAL : args->afp->af_af; + strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name)); + + s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0); + if (s < 0) + err(1, "socket(family %u,SOCK_DGRAM)", ifr.ifr_addr.sa_family); + + printf("%s: ", name); + printb("flags", ifa->ifa_flags, IFFBITS); + print_metric(s); + print_mtu(s); + putchar('\n'); + + print_description(s); + + print_ifcap(args, s); tunnel_status(s); @@ -1587,10 +1651,7 @@ status(struct ifconfig_args *args, const struct sockaddr_dl *sdl, else if (args->afp->af_other_status != NULL) args->afp->af_other_status(s); - strlcpy(ifs.ifs_name, name, sizeof ifs.ifs_name); - if (ioctl(s, SIOCGIFSTATUS, &ifs) == 0) - printf("%s", ifs.ascii); - + print_ifstatus(s); if (args->verbose > 0) sfp_status(s, &ifr, args->verbose); diff --git a/sbin/ifconfig/ifconfig.h b/sbin/ifconfig/ifconfig.h index b58b577f4328..e65c26a031e6 100644 --- a/sbin/ifconfig/ifconfig.h +++ b/sbin/ifconfig/ifconfig.h @@ -191,6 +191,7 @@ struct ifconfig_args { bool noload; /* Do not load relevant kernel modules */ bool supmedia; /* Supported media */ bool printkeys; /* Print security keys */ + bool allfamilies; /* Print all families */ int verbose; /* verbosity level */ int argc; char **argv; @@ -235,6 +236,8 @@ void clone_setdefcallback_filter(clone_match_func *, clone_callback_func *); void sfp_status(int s, struct ifreq *ifr, int verbose); +struct sockaddr_dl; +bool match_ether(const struct sockaddr_dl *sdl); /* * XXX expose this so modules that neeed to know of any pending * operations on ifmedia can avoid cmd line ordering confusion. From nobody Mon May 15 15:42:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkC34m5jz4BlV1; Mon, 15 May 2023 15:42: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 4QKkC34K9kz3H0h; Mon, 15 May 2023 15:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HLkF/QLAlapuGTtud/FhTBouC6k8DoHPEUtZGPod2Ak=; b=EITncPQv3H3C7aYoEovuCPPN/57/wjU7IH1Z/MvrvRk6JphpAabVRed+VfyZTUvTNtcPx0 rTodn2xQsHfT/6/c5oIwu5PXLuhruvrjRqqPFMtK65pImHVk+PUe4/IhHgFU2JEWLuVWko ddd0sayCcP3KNzNuoxuCqCIBKGrRogRwVMIuiOGUaLl+FAIXkPN+GoBnIAeOzKyvfF5m/d VxNinEMJgn/KyA2NC29T1+Cl5UU/M/4ptzjSSJ4DpTIRlz38/VRgIrVrrjrsAnmwfMWJnH 3spZituy8csuB0BfHQugdIyWD+AjjQwN+ny3wxriSO1a+tEA19cUEBpS8coJFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HLkF/QLAlapuGTtud/FhTBouC6k8DoHPEUtZGPod2Ak=; b=MSEWHOQhs4/TugvMx00BUMbDy2t4JQb08QklwBout4u4/2sqHogBxIz/mZvohXqcFuJ6O4 AVxHdfg23OVmRdkddGCXGL6cm1Qazm7ayC7AIguLHZps1dfWNcgGuevl1NypbQFfL2mKUg XJfQ061uoZUNgbUYoT4P4vYb83Irrl9owJmdQXt0tz1LbLcD9/GccVUZVOfz/mbrT/hCGo IbN52jPUs9uiraUBHxmaHwdf5UaVA2VBvmhX/lOATGJG/7abtzo7w6egAOOy0i1lLjVtKZ cdSPb9jflhm2KdP6TaKO/wEUlwp9QsdZLM1I8Is77ep5oDkKg8WUG2nfoJM9hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165343; a=rsa-sha256; cv=none; b=dSkTWHSXx6g4oFSbrnvuqMUG0mhe7Mhyu/dkD8Ttl9YjYaRZeJ4de/TAarM3SknePRX1Oj FwV2GOtXBBlyPnZbENAB4dg7yjafhh3D6wkeBY5KSNh1Cta+zl+3UbhieD+1LC7CgLm2ux tgGCMyjyJqdT0NkNRJYib+/rJYFqCMN0is9uQk4UjZGsCuIZhRevg8eJah0vk//kyxgLp5 W9dqlIF71aTUn8tEh42AdkPmuE+7qJTD/NDj+7/+o7LaFAZGPpRUvCukVqE3ps0zRj08Ml Ww8fc05kZP/PStrKtLCbD1Nyl+Vt7FRs3qFeYfYt0ps4IPgQzAjIkI2FcU4V+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkC33NgPzmHw; Mon, 15 May 2023 15:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFgNj9071755; Mon, 15 May 2023 15:42:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFgN7D071754; Mon, 15 May 2023 15:42:23 GMT (envelope-from git) Date: Mon, 15 May 2023 15:42:23 GMT Message-Id: <202305151542.34FFgN7D071754@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: 4b500174dd2d - main - arm64: emulate swp/swpb instructions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: 4b500174dd2d1e16dcb87c22364f724472c82edc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=4b500174dd2d1e16dcb87c22364f724472c82edc commit 4b500174dd2d1e16dcb87c22364f724472c82edc Author: Kyle Evans AuthorDate: 2023-05-15 15:42:10 +0000 Commit: Kyle Evans CommitDate: 2023-05-15 15:42:10 +0000 arm64: emulate swp/swpb instructions Add another undefined instruction handler for compat32 and watch out for SWP/SWPB instructions. SWP/SWPB were deprecated in ARMv6 and declared obsolete in ARMv7, but this implementation is motivated by some proprietary software that still uses SWP/SWPB. Because it's deprecated, emulation is pushed back behind a sysctl that defaults to OFF in GENERIC so that it doesn't potentially adversely affect package builds; it's unknown whether software may test for a functional swp/swpb instruction with the desire of using it later, so we err on the side of caution to ensure we don't end up with swp/swpb use in freebsd/arm packages (which are built on aarch64). The EMUL_SWP config option may be used to enable emulation by default in environments where emulation is desired and won't really be turned off. Reviewed by: andrew, mmel (both earlier version) Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D39667 --- sys/arm64/arm64/freebsd32_machdep.c | 4 + sys/arm64/arm64/undefined.c | 162 ++++++++++++++++++++++++++++++++++++ sys/conf/options.arm64 | 2 + 3 files changed, 168 insertions(+) diff --git a/sys/arm64/arm64/freebsd32_machdep.c b/sys/arm64/arm64/freebsd32_machdep.c index 5fadef74df87..44f35f1b2abf 100644 --- a/sys/arm64/arm64/freebsd32_machdep.c +++ b/sys/arm64/arm64/freebsd32_machdep.c @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -55,6 +56,9 @@ _Static_assert(sizeof(struct siginfo32) == 64, "struct siginfo32 size incorrect" extern void freebsd32_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask); +SYSCTL_NODE(_compat, OID_AUTO, arm, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "32-bit mode"); + /* * The first two fields of a ucontext_t are the signal mask and the machine * context. The next field is uc_link; we want to avoid destroying the link diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index 1feb242db060..7f436aaef6e5 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -39,14 +39,47 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include #include +#define _MD_WANT_SWAPWORD +#include +#include #include #include +#include +#include + +/* Low bit masked off */ +#define INSN_COND(insn) ((insn >> 28) & ~0x1) +#define INSN_COND_INVERTED(insn) ((insn >> 28) & 0x1) +#define INSN_COND_EQ 0x00 /* NE */ +#define INSN_COND_CS 0x02 /* CC */ +#define INSN_COND_MI 0x04 /* PL */ +#define INSN_COND_VS 0x06 /* VC */ +#define INSN_COND_HI 0x08 /* LS */ +#define INSN_COND_GE 0x0a /* LT */ +#define INSN_COND_GT 0x0c /* LE */ +#define INSN_COND_AL 0x0e /* Always */ + MALLOC_DEFINE(M_UNDEF, "undefhandler", "Undefined instruction handler data"); +#ifdef COMPAT_FREEBSD32 +#ifndef EMUL_SWP +#define EMUL_SWP 0 +#endif + +SYSCTL_DECL(_compat_arm); + +static bool compat32_emul_swp = EMUL_SWP; +SYSCTL_BOOL(_compat_arm, OID_AUTO, emul_swp, + CTLFLAG_RWTUN | CTLFLAG_MPSAFE, &compat32_emul_swp, 0, + "Enable SWP/SWPB emulation"); +#endif + struct undef_handler { LIST_ENTRY(undef_handler) uh_link; undef_handler_t uh_handler; @@ -88,6 +121,54 @@ id_aa64mmfr2_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, return (0); } +static bool +arm_cond_match(uint32_t insn, struct trapframe *frame) +{ + uint64_t spsr; + uint32_t cond; + bool invert; + bool match; + + /* + * Generally based on the function of the same name in NetBSD, though + * condition bits left in their original position rather than shifting + * over the low bit that indicates inversion for quicker sanity checking + * against spec. + */ + spsr = frame->tf_spsr; + cond = INSN_COND(insn); + invert = INSN_COND_INVERTED(insn); + + switch (cond) { + case INSN_COND_EQ: + match = (spsr & PSR_Z) != 0; + break; + case INSN_COND_CS: + match = (spsr & PSR_C) != 0; + break; + case INSN_COND_MI: + match = (spsr & PSR_N) != 0; + break; + case INSN_COND_VS: + match = (spsr & PSR_V) != 0; + break; + case INSN_COND_HI: + match = (spsr & (PSR_C | PSR_Z)) == PSR_C; + break; + case INSN_COND_GE: + match = (!(spsr & PSR_N) == !(spsr & PSR_V)); + break; + case INSN_COND_GT: + match = !(spsr & PSR_Z) && (!(spsr & PSR_N) == !(spsr & PSR_V)); + break; + case INSN_COND_AL: + match = true; + break; + } + + return (!match != !invert); +} + #ifdef COMPAT_FREEBSD32 /* arm32 GDB breakpoints */ #define GDB_BREAKPOINT 0xe6000011 @@ -113,6 +194,86 @@ gdb_trapper(vm_offset_t va, uint32_t insn, struct trapframe *frame, } return 0; } + +static int +swp_emulate(vm_offset_t va, uint32_t insn, struct trapframe *frame, + uint32_t esr) +{ + ksiginfo_t ksi; + struct thread *td; + vm_offset_t vaddr; + uint64_t *regs; + uint32_t val; + int attempts, error, Rn, Rd, Rm; + bool is_swpb; + + td = curthread; + + /* + * swp, swpb only; there are no Thumb swp/swpb instructions so we can + * safely bail out if we're in Thumb mode. + */ + if (!compat32_emul_swp || !SV_PROC_FLAG(td->td_proc, SV_ILP32) || + (frame->tf_spsr & PSR_T) != 0) + return (0); + else if ((insn & 0x0fb00ff0) != 0x01000090) + return (0); + else if (!arm_cond_match(insn, frame)) + goto next; /* Handled, but does nothing */ + + Rn = (insn & 0xf0000) >> 16; + Rd = (insn & 0xf000) >> 12; + Rm = (insn & 0xf); + + regs = frame->tf_x; + vaddr = regs[Rn] & 0xffffffff; + val = regs[Rm]; + + /* Enforce alignment for swp. */ + is_swpb = (insn & 0x00400000) != 0; + if (!is_swpb && (vaddr & 3) != 0) + goto fault; + + attempts = 0; + + do { + if (is_swpb) { + uint8_t bval; + + bval = val; + error = swapueword8((void *)vaddr, &bval); + val = bval; + } else { + error = swapueword32((void *)vaddr, &val); + } + + if (error == -1) + goto fault; + + /* + * Avoid potential DoS, e.g., on CPUs that don't implement + * global monitors. + */ + if (error != 0 && (++attempts % 5) == 0) + maybe_yield(); + } while (error != 0); + + regs[Rd] = val; + +next: + /* No thumb SWP/SWPB */ + frame->tf_elr += 4; //INSN_SIZE; + + return (1); +fault: + ksiginfo_init_trap(&ksi); + ksi.ksi_signo = SIGSEGV; + ksi.ksi_code = SEGV_MAPERR; + ksi.ksi_addr = (void *)va; + trapsignal(td, &ksi); + + return (1); +} #endif void @@ -125,6 +286,7 @@ undef_init(void) install_undef_handler(false, id_aa64mmfr2_handler); #ifdef COMPAT_FREEBSD32 install_undef_handler(true, gdb_trapper); + install_undef_handler(true, swp_emulate); #endif } diff --git a/sys/conf/options.arm64 b/sys/conf/options.arm64 index 26c7c87e49e2..0d2a5f177754 100644 --- a/sys/conf/options.arm64 +++ b/sys/conf/options.arm64 @@ -14,6 +14,8 @@ PERTHREAD_SSP opt_global.h # Binary compatibility COMPAT_FREEBSD32 opt_global.h +# Emulate SWP/SWPB for COMPAT_FREEBSD32 +EMUL_SWP opt_global.h # EFI Runtime services support EFIRT opt_efirt.h From nobody Mon May 15 15:42:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkC45qsNz4BlQb; Mon, 15 May 2023 15:42: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 4QKkC45dZPz3GkT; Mon, 15 May 2023 15:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pm0338ytfb1N+bAj/epc+Sh6e1oyhfaj4K/bHJRw/oE=; b=ueT3qoidGAMDj//rFBEvsRcWI0upC7/FTlk8w6DlTqc5/fbKdwnmXPcVk7UMPLKJf7jilR aDcaQJrW1JVj+HRjuLlAHOcrAIZYftunOgajdnyrr/DMvmBL8EEdJhDpMeDndtjh7KofSs QXvW2k8Rq4f9Hu/nRmJIoGpijPkSQWA+pbnrcNL/SVAkWuEMWqHZIPdDW3b+Q1RwDj/tQQ jetERIwsMBv8nLvt4jgnqPRxJ3VGihP1beQA7ywXwKJuncOPlAJo4oDoxEbUegW1mHBhk2 IEokCT+bQuDkk3KP+kzQYfdTIri3uGUIv8+ptWEDXua0QRkhLow5QbMAfzvaLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pm0338ytfb1N+bAj/epc+Sh6e1oyhfaj4K/bHJRw/oE=; b=yZlI415Mfq/Wz6Zx5nLyMJ77BtLK7uj6PXendgeLePN65uZ65G71eeXQyjfSmlhJ622afB cmp/5Bfjzh7pnO6LWVC81rYAjMltyq4VAJDnO7RmR9rXLnnLuOnHAO0K5zKczoaS68OIfd hsJmwD7uxoYFGf6BcTXKwIVziIP8pvd8VxOYLQcyJAJIsbbuH6PmZOAOyfkwEwuW65T5r3 WtS0CXLL1zugGm+P094T6Cxd4vPvmAaA/TAGwf6u43fMUl2vh2TAUHJcttPi0ovNqof/1W hTRqshAjoT3JPS0Lqr07xFc8jA7wkni7CgVjswvcdUBJogpFfaW3N/9UC9ff/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165344; a=rsa-sha256; cv=none; b=DFYcVlqisi2bEJE0JS2hBqb8ALAItSriqwETU4V6dhkKOnQF0/t8gnI1RRobepFIla02vE 6I6jb84ULCOULRRL10GjKIfuQ5TUDSQrND2Mro32UxE6lHf6T5VQzEHa8GijKLlrNf58U0 DLvcLza9o3oRD3eJ0vgk89XwP70C47FvOj9ONMsXZIWujZflEU9RKCj6idHDhF6k2KLQB3 BXHH6SGiDSZ1KGHRIYJtKAmnLJ3wb2MNCgQuzsD9Vm+mokH5SkaS2ZjAhx8WHxKzupUmSa 916TGvXVuEo0jb0kb9qmAL8R7Rkce/oZucgP35npkGf6UbBhPfD5kzKN5BzzAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkC442VYzlVF; Mon, 15 May 2023 15:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFgOZW071781; Mon, 15 May 2023 15:42:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFgONF071780; Mon, 15 May 2023 15:42:24 GMT (envelope-from git) Date: Mon, 15 May 2023 15:42:24 GMT Message-Id: <202305151542.34FFgONF071780@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: ccb59683b983 - main - arm64: add tests for swp/swpb emulation List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: ccb59683b98360afaf5b5bb641a68fea22c68d0b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ccb59683b98360afaf5b5bb641a68fea22c68d0b commit ccb59683b98360afaf5b5bb641a68fea22c68d0b Author: Kyle Evans AuthorDate: 2023-05-15 15:42:16 +0000 Commit: Kyle Evans CommitDate: 2023-05-15 15:42:16 +0000 arm64: add tests for swp/swpb emulation One test is suitable to be hooked up to the build, so I've done this here. The other test lives in tools/regression because failure is a bit more subjective -- generally, one runs it for some unbounded amount of time and observe if it eventually exits because two threads acquired the same mutex. Reviewed by: imp, mmel Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D39668 --- etc/mtree/BSD.tests.dist | 2 + tests/sys/Makefile | 1 + tests/sys/compat32/Makefile | 6 + tests/sys/compat32/Makefile.inc | 4 + tests/sys/compat32/aarch64/Makefile | 24 ++ tests/sys/compat32/aarch64/common.sh | 9 + tests/sys/compat32/aarch64/swp_cond_test.sh | 14 + tests/sys/compat32/aarch64/swp_cond_test_impl.S | 413 ++++++++++++++++++++++ tests/sys/compat32/aarch64/swp_test.sh | 14 + tests/sys/compat32/aarch64/swp_test_impl.S | 216 +++++++++++ tools/regression/compat32/aarch64/Makefile | 4 + tools/regression/compat32/aarch64/swp_test_impl.S | 410 +++++++++++++++++++++ 12 files changed, 1117 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 5d99653100df..77c07960f938 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -750,6 +750,8 @@ .. .. .. + compat32 + .. devrandom .. dtrace diff --git a/tests/sys/Makefile b/tests/sys/Makefile index 8f83445f9d91..3e9a30105a1d 100644 --- a/tests/sys/Makefile +++ b/tests/sys/Makefile @@ -10,6 +10,7 @@ TESTS_SUBDIRS+= ${_audit} TESTS_SUBDIRS+= auditpipe TESTS_SUBDIRS+= capsicum TESTS_SUBDIRS+= ${_cddl} +TESTS_SUBDIRS+= compat32 TESTS_SUBDIRS+= devrandom TESTS_SUBDIRS+= fifo TESTS_SUBDIRS+= file diff --git a/tests/sys/compat32/Makefile b/tests/sys/compat32/Makefile new file mode 100644 index 000000000000..31834de16246 --- /dev/null +++ b/tests/sys/compat32/Makefile @@ -0,0 +1,6 @@ + +.if exists(${.CURDIR}/${MACHINE_ARCH}) +SUBDIR+= ${MACHINE_ARCH} +.endif + +.include diff --git a/tests/sys/compat32/Makefile.inc b/tests/sys/compat32/Makefile.inc new file mode 100644 index 000000000000..0220ac0431e9 --- /dev/null +++ b/tests/sys/compat32/Makefile.inc @@ -0,0 +1,4 @@ + +TESTSDIR= ${TESTSBASE}/sys/compat32 + +.include "../Makefile.inc" diff --git a/tests/sys/compat32/aarch64/Makefile b/tests/sys/compat32/aarch64/Makefile new file mode 100644 index 000000000000..716182b15d9c --- /dev/null +++ b/tests/sys/compat32/aarch64/Makefile @@ -0,0 +1,24 @@ +PACKAGE= tests +FILESGROUPS+= asmprogs + +ACFLAGS= -target armv7-unknown-freebsd${OS_REVISION} -nostdlib -Wl,-e -Wl,main -static + +TAP_TESTS_SH+= swp_cond_test +TAP_TESTS_SH+= swp_test +${PACKAGE}FILES+= common.sh + +# Each test will individually respect the compat.arm.emul_swp +# sysctl upon entry. +TEST_METADATA.swp_cond_test+= is_exclusive=true +TEST_METADATA.swp_test+= is_exclusive=true + +asmprogsMODE= 0755 +asmprogs+= swp_cond_test_impl swp_test_impl +asmprogsDIR= ${TESTSDIR} + +.for aprog in ${asmprogs} +${aprog}: ${aprog}.S + ${CC} ${ACFLAGS} -o ${.TARGET} ${.ALLSRC} +.endfor + +.include diff --git a/tests/sys/compat32/aarch64/common.sh b/tests/sys/compat32/aarch64/common.sh new file mode 100644 index 000000000000..f8b02e8ac157 --- /dev/null +++ b/tests/sys/compat32/aarch64/common.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +if ! sysctl -n kern.features.compat_freebsd_32bit >/dev/null 2>&1; then + echo "1..0 # Skipped: Kernel not built with COMPAT_FREEBSD32" + exit 0 +elif ! sysctl -n kern.supported_archs | grep -q '\'; then + echo "1..0 # Skipped: 32-bit ARM not supported on this hardware" + exit 0 +fi diff --git a/tests/sys/compat32/aarch64/swp_cond_test.sh b/tests/sys/compat32/aarch64/swp_cond_test.sh new file mode 100644 index 000000000000..8edfa43b3e7e --- /dev/null +++ b/tests/sys/compat32/aarch64/swp_cond_test.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +scriptdir=$(dirname $(realpath "$0")) + +. ${scriptdir}/common.sh + +# Ensure emul_swp is enabled just for this test; we'll turn it back off if +# it wasn't enabled before the test. +emul_swpval=$(sysctl -n compat.arm.emul_swp) +sysctl compat.arm.emul_swp=1 >/dev/null +${scriptdir}/swp_test_impl +if [ "$emul_swpval" -ne 1 ]; then + sysctl compat.arm.emul_swp="$emul_swpval" >/dev/null +fi diff --git a/tests/sys/compat32/aarch64/swp_cond_test_impl.S b/tests/sys/compat32/aarch64/swp_cond_test_impl.S new file mode 100644 index 000000000000..d29db44832b1 --- /dev/null +++ b/tests/sys/compat32/aarch64/swp_cond_test_impl.S @@ -0,0 +1,413 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 Warner Losh + * Copyright (c) 2023 Stormshield + * Copyright (c) 2023 Klara, Inc. + */ + +#include + +#define STDOUT_FILENO 1 +#define SWP_MAGIC 0xffc0 +#define SWPB_MAGIC 0xc0c0 + + .text + .file "swp_test.S" + .syntax unified + .globl main + .p2align 2 + .type main,%function + .code 32 + +main: + sub sp, #0x04 + /* r4 is our failed test counter */ + mov r4, #0 + /* r6 is our current teset counter */ + mov r6, #1 + + movw r0, :lower16:.L.testheader + movt r0, :upper16:.L.testheader + ldr r1, =(.L.testheaderEnd - .L.testheader - 1) + bl print + + /* eq */ + bl reset + mov r1, #SWP_MAGIC + cmp r1, r1 + swpeq r0, r1, [r0] + bl expect_success + + /* Returned 0 (bad) or 1 (ok) */ + cmp r0, #0 + beq 1f + + /* !eq */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0 + cmp r1, r2 + swpeq r0, r1, [r0] + bl expect_fail + + /* Don't care about the return of the second one, just print */ +1: + movw r0, :lower16:.L.eq + movt r0, :upper16:.L.eq + ldr r1, =(.L.eqEnd - .L.eq - 1) + bl print_result + add r6, r6, #1 /* Next test */ + + /* cs */ + bl reset + mov r1, #SWP_MAGIC + movw r3, #0xffff + movt r3, #0xffff + /* Overflow */ + adds r2, r3, r3 + swpcs r0, r1, [r0] + bl expect_success + + /* Returned 0 (bad) or 1 (ok) */ + cmp r0, #0 + beq 2f + + /* !cs */ + bl reset + mov r1, #SWP_MAGIC + mov r3, #0x00 + adds r2, r3, #0x08 + swpcs r0, r1, [r0] + bl expect_fail + + /* Don't care about the return of the second one, just print */ +2: + movw r0, :lower16:.L.cs + movt r0, :upper16:.L.cs + ldr r1, =(.L.csEnd - .L.cs - 1) + bl print_result + add r6, r6, #1 /* Next test */ + + /* mi */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0 + /* Underflow */ + subs r2, r2, #0x05 + swpmi r0, r1, [r0] + bl expect_success + + /* Returned 0 (bad) or 1 (ok) */ + cmp r0, #0 + beq 3f + + /* !mi */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0x10 + subs r2, r2, #0x08 + swpmi r0, r1, [r0] + bl expect_fail + + /* Don't care about the return of the second one, just print */ +3: + movw r0, :lower16:.L.mi + movt r0, :upper16:.L.mi + ldr r1, =(.L.miEnd - .L.mi - 1) + bl print_result + add r6, r6, #1 /* Next test */ + + /* vs */ + bl reset + mov r1, #SWP_MAGIC + movw r3, #0xffff + movt r3, #0x7fff + /* Overflow */ + adds r2, r3, #0x10 + swpvs r0, r1, [r0] + bl expect_success + + /* Returned 0 (bad) or 1 (ok) */ + cmp r0, #0 + beq 4f + + /* !vs */ + bl reset + mov r1, #SWP_MAGIC + mov r3, #0x00 + adds r2, r3, #0x08 + swpvs r0, r1, [r0] + bl expect_fail + + /* Don't care about the return of the second one, just print */ +4: + movw r0, :lower16:.L.vs + movt r0, :upper16:.L.vs + ldr r1, =(.L.vsEnd - .L.vs - 1) + bl print_result + add r6, r6, #1 /* Next test */ + + /* hi */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0x00 + mov r3, #0x01 + cmp r3, r2 + swphi r0, r1, [r0] + bl expect_success + + /* Returned 0 (bad) or 1 (ok) */ + cmp r0, #0 + beq 5f + + /* !hi */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0x00 + mov r3, #0x01 + cmp r2, r3 + swphi r0, r1, [r0] + bl expect_fail + + /* Don't care about the return of the second one, just print */ +5: + movw r0, :lower16:.L.hi + movt r0, :upper16:.L.hi + ldr r1, =(.L.hiEnd - .L.hi - 1) + bl print_result + add r6, r6, #1 /* Next test */ + + /* ge */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0x01 + cmp r2, r2 + swpge r0, r1, [r0] + bl expect_success + + /* Returned 0 (bad) or 1 (ok) */ + cmp r0, #0 + beq 6f + + /* !ge */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0x00 + mov r3, #0x01 + cmp r2, r3 + swpge r0, r1, [r0] + bl expect_fail + + /* Don't care about the return of the second one, just print */ +6: + movw r0, :lower16:.L.ge + movt r0, :upper16:.L.ge + ldr r1, =(.L.geEnd - .L.ge - 1) + bl print_result + add r6, r6, #1 /* Next test */ + + /* gt */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0x00 + mov r3, #0x01 + cmp r3, r2 + swpgt r0, r1, [r0] + bl expect_success + + /* Returned 0 (bad) or 1 (ok) */ + cmp r0, #0 + beq 7f + + /* !ge */ + bl reset + mov r1, #SWP_MAGIC + mov r2, #0x00 + mov r3, #0x01 + cmp r2, r3 + swpgt r0, r1, [r0] + bl expect_fail + + /* Don't care about the return of the second one, just print */ +7: + movw r0, :lower16:.L.gt + movt r0, :upper16:.L.gt + ldr r1, =(.L.gtEnd - .L.gt - 1) + bl print_result + add r6, r6, #1 /* Next test */ + + mov r0, r4 /* retval */ + ldr r7, =SYS_exit + swi 0 + + .p2align 2 + .type print_result,%function + .code 32 +print_result: + push {r4, r5, lr} + /* Save the label, size for our result */ + mov r4, r0 + mov r5, r1 + + movw r0, :lower16:.L.ok + movt r0, :upper16:.L.ok + ldr r1, =(.L.okEnd - .L.ok - 1) + bl print + mov r0, r6 + add r0, #0x30 /* "0" + test number */ + mov r1, #0x01 + str r0, [sp] + mov r0, sp + bl print + movw r0, :lower16:.L.swp + movt r0, :upper16:.L.swp + ldr r1, =(.L.swpEnd - .L.swp - 1) + bl print + mov r0, r4 + mov r1, r5 + bl print + movw r0, :lower16:.L.term + movt r0, :upper16:.L.term + ldr r1, =(.L.termEnd - .L.term - 1) + bl print + + pop {r4, r5, lr} + bx lr + + .p2align 2 + .type reset,%function + .code 32 +reset: + /* Reset sp[0] and return the address used */ + mov r0, #0x03 + str r0, [sp] + mov r0, sp + bx lr + + .p2align 2 + .type expect_fail,%function + .code 32 +expect_fail: + /* Just check the stack value */ + ldr r0, [sp] + mov r1, #0x03 + cmp r0, r1 + bne 1f + + /* Success (not swapped) */ + mov r0, #1 + bx lr + +1: + /* Fail (swapped) */ + /* Print the "not" part */ + movw r0, :lower16:.L.not + movt r0, :upper16:.L.not + ldr r1, =(.L.notEnd - .L.not - 1) + push {lr} + bl print + pop {lr} + + /* Failed */ + add r4, r4, #1 + mov r0, #0 + bx lr + + .p2align 2 + .type expect_success,%function + .code 32 +expect_success: + /* Old value should be 3 */ + cmp r0, #0x03 + beq 1f + b 3f + +1: + /* Check stack value */ + ldr r0, [sp] + mov r1, #SWP_MAGIC + cmp r0, r1 + beq 2f + b 3f + +2: + mov r0, #1 + bx lr + +3: + /* Print the "not" part */ + movw r0, :lower16:.L.not + movt r0, :upper16:.L.not + ldr r1, =(.L.notEnd - .L.not - 1) + push {lr} + bl print + pop {lr} + + /* Failed */ + add r4, r4, #1 + mov r0, #0 + bx lr + + .p2align 2 + .type print,%function + .code 32 +print: + /* r0 - string, r1 = size */ + mov r2, r1 + mov r1, r0 + ldr r0, =STDOUT_FILENO + ldr r7, =SYS_write + swi 0 + + bx lr + +.L.testheader: + .asciz "1..7\n" +.L.testheaderEnd: + .size .L.testheader, .L.testheaderEnd - .L.testheader + +.L.not: + .asciz "not " +.L.notEnd: + .size .L.not, .L.notEnd - .L.not +.L.ok: + .asciz "ok " +.L.okEnd: + .size .L.ok, .L.okEnd - .L.ok +.L.swp: + .asciz " - swp" +.L.swpEnd: + .size .L.swp, .L.swpEnd - .L.swp +.L.eq: + .asciz "eq" +.L.eqEnd: + .size .L.eq, .L.eqEnd - .L.eq +.L.cs: + .asciz "cs" +.L.csEnd: + .size .L.cs, .L.csEnd - .L.cs +.L.mi: + .asciz "mi" +.L.miEnd: + .size .L.mi, .L.miEnd - .L.mi +.L.vs: + .asciz "vs" +.L.vsEnd: + .size .L.vs, .L.vsEnd - .L.vs +.L.hi: + .asciz "hi" +.L.hiEnd: + .size .L.hi, .L.hiEnd - .L.hi +.L.ge: + .asciz "ge" +.L.geEnd: + .size .L.ge, .L.geEnd - .L.ge +.L.gt: + .asciz "gt" +.L.gtEnd: + .size .L.gt, .L.gtEnd - .L.gt +.L.term: + .asciz "\n" +.L.termEnd: + .size .L.term, .L.termEnd - .L.term diff --git a/tests/sys/compat32/aarch64/swp_test.sh b/tests/sys/compat32/aarch64/swp_test.sh new file mode 100644 index 000000000000..8edfa43b3e7e --- /dev/null +++ b/tests/sys/compat32/aarch64/swp_test.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +scriptdir=$(dirname $(realpath "$0")) + +. ${scriptdir}/common.sh + +# Ensure emul_swp is enabled just for this test; we'll turn it back off if +# it wasn't enabled before the test. +emul_swpval=$(sysctl -n compat.arm.emul_swp) +sysctl compat.arm.emul_swp=1 >/dev/null +${scriptdir}/swp_test_impl +if [ "$emul_swpval" -ne 1 ]; then + sysctl compat.arm.emul_swp="$emul_swpval" >/dev/null +fi diff --git a/tests/sys/compat32/aarch64/swp_test_impl.S b/tests/sys/compat32/aarch64/swp_test_impl.S new file mode 100644 index 000000000000..0e8047f1a6cf --- /dev/null +++ b/tests/sys/compat32/aarch64/swp_test_impl.S @@ -0,0 +1,216 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 Warner Losh + * Copyright (c) 2023 Stormshield + * Copyright (c) 2023 Klara, Inc. + */ + +#include + +#define STDOUT_FILENO 1 +#define SWP_MAGIC 0xffc0 +#define SWPB_MAGIC 0xc0c0 + + .text + .file "swp_test.S" + .syntax unified + .globl main + .p2align 2 + .type main,%function + .code 32 + +main: + sub sp, #0x04 + /* r4 is our failed test counter */ + mov r4, #0 + + movw r0, :lower16:.L.testheader + movt r0, :upper16:.L.testheader + ldr r1, =(.L.testheaderEnd - .L.testheader - 1) + bl print + + /* Target address */ + mov r0, #0x03 + str r0, [sp] + mov r0, sp + + /* Load value */ + mov r1, #SWP_MAGIC + + /* swp it */ + swp r0, r1, [r0] + + /* Old value should be 3 */ + cmp r0, #0x03 + bne 1f + + /* Check stack value */ + ldr r0, [sp] + mov r1, #SWP_MAGIC + cmp r0, r1 + bne 1f + b 2f + +1: + /* Denote the failed test */ + add r4, #1 + /* "No" part of the notification */ + movw r0, :lower16:.L.boknot + movt r0, :upper16:.L.boknot + ldr r1, =(.L.boknotEnd - .L.boknot - 1) + bl print + +2: + /* Notify */ + movw r0, :lower16:.L.ok1 + movt r0, :upper16:.L.ok1 + ldr r1, =(.L.ok1End - .L.ok1 - 1) + bl print + + movw r5, #SWPB_MAGIC + movt r5, #SWPB_MAGIC + + /* Using r6 as our accumulator */ + mov r6, sp + /* Simplify the loop */ + sub r6, #1 +3: + /* Restore our magic value every time */ + str r5, [sp] + /* Move on to the next byte */ + add r6, #1 + + /* swp it in */ + mov r0, r6 + mov r1, #3 + swpb r0, r1, [r0] + + /* Check the old value */ + cmp r0, #0xc0 + bne 6f + + /* Check the stack value */ + ldrb r0, [r6] + cmp r0, #0x03 + bne 6f + + /* Just loop over the rest of the word and check those values. */ + mov r1, r6 + sub r1, sp + + mov r0, #0x00 +4: + cmp r0, r1 + beq 5f + + /* Check the next byte */ + ldrb r3, [sp, r0] + cmp r3, #0xc0 + bne 6f + +5: + add r0, #0x01 + cmp r0, #0x04 + /* Hit the end, this one succeeded */ + beq 7f + + /* Move on to the next byte */ + b 4b + +6: + /* Denote the failed test */ + add r4, #1 + /* "No" part of the notification */ + movw r0, :lower16:.L.boknot + movt r0, :upper16:.L.boknot + ldr r1, =(.L.boknotEnd - .L.boknot - 1) + bl print + + /* FALLTHROUGH */ +7: + /* "ok" part */ + movw r0, :lower16:.L.bok + movt r0, :upper16:.L.bok + ldr r1, =(.L.bokEnd - .L.bok - 1) + bl print + + /* test number */ + mov r0, r6 + sub r0, sp + add r0, #0x32 /* "0" + 2 because we start at test 2. */ + mov r1, #0x01 + str r0, [sp] + mov r0, sp + bl print + + /* boklabel */ + movw r0, :lower16:.L.boklabel + movt r0, :upper16:.L.boklabel + ldr r1, =(.L.boklabelEnd - .L.boklabel - 1) + bl print + + /* index */ + mov r0, r6 + sub r0, sp + add r0, #0x30 /* "0" */ + str r0, [sp] + mov r0, sp + mov r1, #0x01 + bl print + + /* bokterm */ + movw r0, :lower16:.L.bokterm + movt r0, :upper16:.L.bokterm + ldr r1, =(.L.boktermEnd - .L.bokterm - 1) + bl print + + mov r0, sp + add r0, #0x3 + cmp r0, r6 + bne 3b + + mov r0, r4 /* retval */ + ldr r7, =SYS_exit + swi 0 + + .p2align 2 + .type print,%function + .code 32 +print: + /* r0 - string, r1 = size */ + mov r2, r1 + mov r1, r0 + ldr r0, =STDOUT_FILENO + ldr r7, =SYS_write + swi 0 + + bx lr + +.L.testheader: + .asciz "1..5\n" +.L.testheaderEnd: + .size .L.testheader, .L.testheaderEnd - .L.testheader + + /* Maybe not the most efficient, but meh. */ +.L.ok1: + .asciz "ok 1 - swp\n" +.L.ok1End: + .size .L.ok1, .L.ok1End - .L.ok1 + +.L.boknot: + .asciz "not " +.L.boknotEnd: + .size .L.boknot, .L.boknotEnd - .L.boknot +.L.bok: + .asciz "ok " +.L.bokEnd: + .size .L.bok, .L.bokEnd - .L.bok +.L.boklabel: + .asciz " - swpb[" +.L.boklabelEnd: + .size .L.boklabel, .L.boklabelEnd - .L.boklabel +.L.bokterm: + .asciz "]\n" +.L.boktermEnd: + .size .L.bokterm, .L.boktermEnd - .L.bokterm diff --git a/tools/regression/compat32/aarch64/Makefile b/tools/regression/compat32/aarch64/Makefile new file mode 100644 index 000000000000..34428a58caa1 --- /dev/null +++ b/tools/regression/compat32/aarch64/Makefile @@ -0,0 +1,4 @@ +ACFLAGS= -target armv7-unknown-freebsd${OS_REVISION} -nostdlib -Wl,-e -Wl,main -static -mhwdiv=arm + +swp_test_impl: swp_test_impl.S + ${CC} ${ACFLAGS} -o ${.TARGET} ${.ALLSRC} diff --git a/tools/regression/compat32/aarch64/swp_test_impl.S b/tools/regression/compat32/aarch64/swp_test_impl.S new file mode 100644 index 000000000000..9f28ab17748e --- /dev/null +++ b/tools/regression/compat32/aarch64/swp_test_impl.S @@ -0,0 +1,410 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 Warner Losh + * Copyright (c) 2023 Stormshield + * Copyright (c) 2023 Klara, Inc. + */ + +#include + +#define STDOUT_FILENO 1 + +#define MUTEX_LOCKED 0x01 +#define MUTEX_UNLOCKED 0x00 + +#define STACK_SIZE 4096 +#define TLS_SIZE 4096 + + .text + .file "swp_test.S" + .syntax unified + .globl main + .p2align 2 + .type main,%function + .code 32 + +main: + /* + * Stack slots: + * 0 - Sync word + * 1 - Thread id + * 2 - Shared word + */ + sub sp, sp, #12 + + /* Print a message */ + movw r0, :lower16:.L.mainmsg + movt r0, :upper16:.L.mainmsg + ldr r1, =(.L.mainmsgEnd - .L.mainmsg - 1) + bl print + + /* Create two secondary threads */ + mov r0, #1 + str r0, [sp, #4] /* Thread ID */ + movw r0, :lower16:secondary_thread + movt r0, :upper16:secondary_thread + mov r1, sp + movw r2, :lower16:stack1 + movt r2, :upper16:stack1 + movw r3, :lower16:tls1 + movt r3, :upper16:tls1 + bl create_thr + +1: + /* + * Wait for the first new thread to ack its existence by + * incrementing the thread id. + */ + ldr r0, [sp, #4] + cmp r0, #1 + bne 2f + ldr r7, =SYS_sched_yield + swi 0 + b 1b + +2: + /* Create thread #2 */ + movw r0, :lower16:secondary_thread + movt r0, :upper16:secondary_thread + mov r1, sp + movw r2, :lower16:stack2 + movt r2, :upper16:stack2 + movw r3, :lower16:tls2 + movt r3, :upper16:tls2 + bl create_thr + +3: + /* + * Wait for the first new thread to ack its existence by + * incrementing the thread id. + */ + ldr r0, [sp, #4] + cmp r0, #2 + bne 4f + ldr r7, =SYS_sched_yield + swi 0 + b 3b + + /* Loop */ +4: + mov r0, sp + mov r1, #0 /* Thread loop */ + add r2, sp, #8 + bl thread_loop + b 4b + + /* UNREACHABLE */ + mov r0, #0 + ldr r7, =SYS_exit + swi 0 + + .p2align 2 + .type secondary_thread,%function + .code 32 +secondary_thread: + /* + * On entry, r0 is where we stashed our sync word and + * ack word (thread ID). + * + * Stash the sync word in r4, thread ID in r5. + */ + mov r4, r0 + ldr r5, [r0, #4] + + /* Print a message */ + movw r0, :lower16:.L.secondarymsg + movt r0, :upper16:.L.secondarymsg + ldr r1, =(.L.secondarymsgEnd - .L.secondarymsg - 1) + bl print + + /* Acknowledge that we started */ + add r0, r5, #1 + str r0, [r4, #4] + +1: + mov r0, r4 + mov r1, r5 + add r2, r4, #8 + bl thread_loop + b 1b + + .p2align 2 + .type thread_loop,%function + .code 32 +thread_loop: + push {r4, r5, r6, r7, r8, lr} + + /* + * r0 == sync word + * r1 == thread ID + * r2 == shared word + */ + mov r4, r0 + mov r5, r1 + mov r6, r2 + bl lock_mutex_swp + str r5, [r6] /* Write the thread ID */ + bl random_cycles + + # Save off the now cycle count */ + mov r8, r0 + + /* Print the thread ID and cycle count */ + mov r0, r5 + mov r1, #0 + bl printnum + + /* Separator */ + movw r0, :lower16:.L.idsep + movt r0, :upper16:.L.idsep + ldr r1, =(.L.idsepEnd - .L.idsep - 1) *** 249 LINES SKIPPED *** From nobody Mon May 15 15:45:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkH51YJ1z4BlrK; Mon, 15 May 2023 15:45: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 4QKkH46H99z3JDC; Mon, 15 May 2023 15:45:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dpiqbfkqg1GQ7sIZSgeyUOnfdy3GBz2QRyE9HKk9IFM=; b=eRreoseD+4v23glPjRnBT86rNv/14BZncImr/v7WW1i1gi6cexAFFfT2GfAKSI8kdM4nE0 f8Lc7R/1m6WV/KXrmBRBxk7Tz6LqT7UR88OPBUP4uYi6DB3jp96GQF2LLEwciGVw/6BMex L4AvZ1CspbJQQxYZmINlUOGdrglO3BfxrPngU97EYkUrYidJgBRJxT7fkVYwfevNUIS6wZ ZXiM2JIRL7VQPZSq08KPV8c8nAL26Niy/+1iKY/lVigXcj7rJETGjanHH0K2Wwg84Sk4KV N3rIrthnxGrcagyGDWFcxiYcUK+V6u4yHSrWnzky5Qnr3iwE/wDz01nyhQZubg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dpiqbfkqg1GQ7sIZSgeyUOnfdy3GBz2QRyE9HKk9IFM=; b=jkldF3chozQcSnLaCm5HPEB6apB0oEoBh9ynSj8YjT7/+QEVZsRMtplD9Aa9F+trAtoG+9 hGixuhfqrZ6dMA6PtyBKRm2oNclGz8jUN7DURBjNML8GBGJlG9zbOyR9uapWuNycK5sRHL 15BAnEJhowZYVKx2QHokss+qqDRG2Ns4mt3WTY9xq/o3YHwFQPbZ402QK5WFN3Np1b5jLc oWC61XEjusG6Tdw/r6cFIrQo6r/gdA8Eem/GpOCCVBOEOQXJAYHjfOfK30bEYMKCrBcTbf Ykhn0kwkkX+cjIDrSyF422nsCs2cQnWFSJ6hz9GxfwM7nemw0gLv+LQrIGo2YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165552; a=rsa-sha256; cv=none; b=SBGoax9iZmy9ReWysdhgu6iraVY3Kb8lsqdH4XekKku1nXaXHAgZCxlPP4w2YXAZCBU8tz T3Hye51mOq4cxUbYr7YsXTjeZqKOY24E15aZcoNPww2xuW0dwaJjnBgRUDclpPnZ+LO1BZ Uczg/B1qwlUfjTEOkH4N0xis4ZxuDRs4UBOr5nmi5qZM+wsQc8/m1RCtqXdIb1Yv1eonri dTbdKsCVDuA737XyhFJSebzyaqud9C3wyCe/mmJfJu8ki7ibdqHkJKxNNJMlqdDi5rRCP8 Btwdhex/esipmchGmk6zB4rX+pHQlO0OTxaeGPhGx8jgE3zjx7nM6wVAGbfUAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkH45GVdzmPg; Mon, 15 May 2023 15:45:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFjqrT073325; Mon, 15 May 2023 15:45:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFjqG1073324; Mon, 15 May 2023 15:45:52 GMT (envelope-from git) Date: Mon, 15 May 2023 15:45:52 GMT Message-Id: <202305151545.34FFjqG1073324@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 6136013a16f5 - stable/13 - Disable the arm physical timer when an irq exists List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6136013a16f55ec21ae32e068bb425eb97fca250 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6136013a16f55ec21ae32e068bb425eb97fca250 commit 6136013a16f55ec21ae32e068bb425eb97fca250 Author: Andrew Turner AuthorDate: 2023-01-28 17:36:24 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 07:59:43 +0000 Disable the arm physical timer when an irq exists Some firmware leaves the timers enabled. Ensure they are disabled if there are any physical timer interrupt resources to ensure we don't receive any unexpected interrupts from them. (cherry picked from commit c57694ce94712ce1fe0341ae51d70446a7dbbfa2) --- sys/arm/arm/generic_timer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 3f5f65439ddc..5b4972017c2d 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -475,7 +475,8 @@ arm_tmr_attach(device_t dev) if (sc->res[GT_VIRT] != NULL) arm_tmr_disable(false); /* And the physical */ - if (sc->physical) + if (sc->res[GT_PHYS_SECURE] != NULL || + sc->res[GT_PHYS_NONSECURE] != NULL) arm_tmr_disable(true); arm_tmr_timecount.tc_frequency = sc->clkfreq; From nobody Mon May 15 15:45:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkH63FrNz4Blm9; Mon, 15 May 2023 15:45: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 4QKkH56tH4z3JDF; Mon, 15 May 2023 15:45:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+l8iewWuIMxcrDfbvm2U3WkaFQtaH79An1EisZY+EQk=; b=tZ1yId6LNXQG3ATtMezhy4vwLdgAAnilisqp5nZs+DHokN4oUqNvfKBNTYi+qFYQ8DwduO XlpCdzTwJiq1uOMnPDdJeJpQUvD2kIBp+AMGVkg+GrOyf6BUWmKz4XkuzOnH7AOQCmKNo3 s2z0L0ciHDnCK5n60pMCpY8VqUzqQzuxd55MSPwnPS0JegrSeatK9DED5eyldajJGaYqWE JC4F8Ylwz4NlHzT5oF/sYjIDPHcLkNXdsnIPl97bDxU19X2/g2otIhFoHvr4gL/1uCcLQY A1rKxBKdinRBeuxsswEH7gRSCNBmX8QqsweDXLU1DseVvXK3wJLg02WbbxueDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+l8iewWuIMxcrDfbvm2U3WkaFQtaH79An1EisZY+EQk=; b=wbJ+OQeAyJ1fMrjpNDHyxu/Ndp78sngZ0QFNZgREuM8QXsaMCS4P2ZYDXiklWaCbE7jExp O8AS6Cdj0LgdWQhTy/Z52pc28NnyfjTQx4XhJRvxr67kGZn67cc1Tj8vkq3rcNHIHSRM5j 6QBfORJ9u0thU1TjOtFWWI0eTiqcfnkhr6NBp/J5r54Ls1hQikBo0tgmXRk4XsmJfmmbWf wDxg3cfcsLCFbHKFj/NuTUKwDCMEvmrx++PIU1qo4wMWXzCdgR1a1berv/Wjt+K4YcEG9U 4v/DN3+ti3E1J5ZjuSvPfrrueQenl4VzsalhKnlqJmCiLkslVjVtneA3lBLYmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165554; a=rsa-sha256; cv=none; b=dGeBMCrrKL43r1vquSfncOFTb23Tx5TaYTv+kE+incpG+51UxzmbYv88BBn+7Rbs5NPux5 CJtGXRo6zOQniyz9SIqukRY0p4CT4cCHj6y/74PN/xNfYRNqd1ZcunaOxdy/fHsonkjrV7 nfoFEK3x6ICkoP03ndEhLrU/g5pAtboa7ffyo+hJ4anMQfh/A4Y0d73GaAnhS9LMZ/OohU KjaFKh1iaOAAQUBCjHUkWM3N4KcF80cy+UuXNYAiilDYh51tdHSrpHsE9CEsBiTvbEsPDE IO7jr2OCSKutF5r6qvvgG9haCDbC9gOMDKg7QexAhOdktNLQJPYkBqv1MQ5p9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkH55xJhzmTb; Mon, 15 May 2023 15:45:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFjr5v073351; Mon, 15 May 2023 15:45:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFjrFN073350; Mon, 15 May 2023 15:45:53 GMT (envelope-from git) Date: Mon, 15 May 2023 15:45:53 GMT Message-Id: <202305151545.34FFjrFN073350@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: ed88e5b2fc75 - stable/13 - Limit where we disable the Arm generic timer List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ed88e5b2fc75f18085ba7c3f1ccac3dc1c9381ce Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ed88e5b2fc75f18085ba7c3f1ccac3dc1c9381ce commit ed88e5b2fc75f18085ba7c3f1ccac3dc1c9381ce Author: Andrew Turner AuthorDate: 2023-02-02 16:26:25 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 07:59:43 +0000 Limit where we disable the Arm generic timer Only disable the Arm generic timer on arm64 when entering the kernel through EL2. There is no guarantee it will be enabled if we are running under a hypervisor. Sponsored by: Arm Ltd (cherry picked from commit 22e4897422a055b7a15be5984fbc4bb97f432e79) --- sys/arm/arm/generic_timer.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 5b4972017c2d..cdc60ba469a4 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -54,15 +54,13 @@ __FBSDID("$FreeBSD$"); #include #include #include + #include #include #include +#include #include -#if defined(__arm__) -#include /* For arm_set_delay */ -#endif - #ifdef FDT #include #include @@ -134,11 +132,13 @@ static struct timecounter arm_tmr_timecount = { #define get_el1(x) cp15_## x ##_get() #define set_el0(x, val) cp15_## x ##_set(val) #define set_el1(x, val) cp15_## x ##_set(val) +#define HAS_PHYS true #else /* __aarch64__ */ #define get_el0(x) READ_SPECIALREG(x ##_el0) #define get_el1(x) READ_SPECIALREG(x ##_el1) #define set_el0(x, val) WRITE_SPECIALREG(x ##_el0, val) #define set_el1(x, val) WRITE_SPECIALREG(x ##_el1, val) +#define HAS_PHYS has_hyp() #endif static int @@ -475,8 +475,8 @@ arm_tmr_attach(device_t dev) if (sc->res[GT_VIRT] != NULL) arm_tmr_disable(false); /* And the physical */ - if (sc->res[GT_PHYS_SECURE] != NULL || - sc->res[GT_PHYS_NONSECURE] != NULL) + if ((sc->res[GT_PHYS_SECURE] != NULL || + sc->res[GT_PHYS_NONSECURE] != NULL) && HAS_PHYS) arm_tmr_disable(true); arm_tmr_timecount.tc_frequency = sc->clkfreq; From nobody Mon May 15 15:45:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkH82GSWz4BlZL; Mon, 15 May 2023 15:45: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 4QKkH71ktCz3J4F; Mon, 15 May 2023 15:45:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EeQ806GyX7p+tiwAF3EXDpslzAfNU2siecyPqKKAtCA=; b=PvC6ZNV4faZFxJUFZXkGd0hKTo2jTSfh+wDiLuQEgQzjrO73isyMcoN4ME5Aj40TJZadv0 yuPKa32mFZqMD/0Bm9++ibftxWgT4TUef01H3W0rCu95rO40CDmCgZZm+gXM+u0/fpeJDN PSPgj5Qo0WyBJQiSSEPYY0soP3Q5cW9fDTb45Ka45Qu/+CWgwO2NWwdVe/X2ELketcEQo7 OwsPmchNZur9ryK1bSSxrn4POPkHT2iTP1liNmb7wQHiO0h/3ozxbHj7b9RzW7uq6nOABV /psqOD3JefoBrSIHjej5xYk14h7ro9ZoF01bS1QJ+2EhmyKoVmNpvIXSiAjhSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EeQ806GyX7p+tiwAF3EXDpslzAfNU2siecyPqKKAtCA=; b=oN599/4SX9yT2P0XCsZIaacBVSPcSBB2nnBXGXHXyU6Y+drehqmSCp7uxCdgRRXVW6hfzG Y4yBctgNxL+iAmzzdcFfS5XmPGeoqbJq/Vi44YnK1YMCXxDP7hDEV1X9gATmu676el/PB3 ZqUPkPMPr0Z3pHxhhlN0db53yQJY0WQcnkz+TcdgtMRS+rxLYIdvC9zuG4eXJ8omAVvEZQ F+lVOC4nDZCeuMbG0ofQEVyoKAoX7ifGL3mLPFY21U8t8iPJeuknyRIfSIdwOusKW4rkNi 2n77k8lY+fpSLgwMiCTz8uHJ7yQbY5GtLAE2VGM0y9xlGCh67mugWe7EiUjbVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165555; a=rsa-sha256; cv=none; b=icmWSc9X04ioS/NuYiwy/MxwR5mgVgFeRW+Xg8JBUY7RMo/F4zRNmgWA9N4D1O6TG6f/+2 0/132i7gaFR+cZubHa2hXYQV+3aXlUSL1aiFnX5Oaz1Ep7lbZPXBiDBEVzzVfWwnt16/v4 lJ0WYCvJn6mLY2AjTXttV20UwasGLzNqe5CEhvU83bKKlemjc+h2yBUvARQypvb1/eN+r+ yUxj4weLSQ+wX1j427KJEOmSou+iX0RZV7mpqv8olDpgBZWKml4F8/3xE2XkPYlY4rwZCM Jckod87N2Ij8qzcacU3/tX3prXcE+VUNS727WGjePGd02BkHybXrZHn+ecW6/Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkH66s6yzmJ5; Mon, 15 May 2023 15:45:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFjsAe073370; Mon, 15 May 2023 15:45:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFjskN073369; Mon, 15 May 2023 15:45:54 GMT (envelope-from git) Date: Mon, 15 May 2023 15:45:54 GMT Message-Id: <202305151545.34FFjskN073369@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 9afca1eb3277 - stable/13 - arm: generic_timer: use interrupt-names when available List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9afca1eb3277047de623c91e500f6ec319f82f4b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9afca1eb3277047de623c91e500f6ec319f82f4b commit 9afca1eb3277047de623c91e500f6ec319f82f4b Author: Kyle Evans AuthorDate: 2023-03-05 00:49:04 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 07:59:43 +0000 arm: generic_timer: use interrupt-names when available Offsets for all of thse can be a bit complicated as not all interrupts will be present, only phys and virt are actually required, and sec-phys could optionally be specified before phys. Push idx/name pairs into a new config struct and maintain the old indices while still getting the correct timers. Split fdt/acpi attach out independently and allocate interrupts before we head into the common attach(). The secure physical timer is also optional there, so mark it so to avoid erroring out if we run into problems. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D38911 (cherry picked from commit 91b2da13702fb3cfb40a3219feed6e5af651039d) --- sys/arm/arm/generic_timer.c | 185 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 174 insertions(+), 11 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index cdc60ba469a4..cba354909100 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -75,8 +75,9 @@ __FBSDID("$FreeBSD$"); #define GT_PHYS_SECURE 0 #define GT_PHYS_NONSECURE 1 #define GT_VIRT 2 -#define GT_HYP 3 -#define GT_IRQ_COUNT 4 +#define GT_HYP_PHYS 3 +#define GT_HYP_VIRT 4 +#define GT_IRQ_COUNT 5 #define GT_CTRL_ENABLE (1 << 0) #define GT_CTRL_INT_MASK (1 << 1) @@ -103,13 +104,49 @@ struct arm_tmr_softc { static struct arm_tmr_softc *arm_tmr_sc = NULL; -static struct resource_spec timer_spec[] = { - { SYS_RES_IRQ, GT_PHYS_SECURE, RF_ACTIVE }, +#ifdef DEV_ACPI +static struct resource_spec timer_acpi_spec[] = { + { SYS_RES_IRQ, GT_PHYS_SECURE, RF_ACTIVE | RF_OPTIONAL }, { SYS_RES_IRQ, GT_PHYS_NONSECURE, RF_ACTIVE }, - { SYS_RES_IRQ, GT_VIRT, RF_ACTIVE | RF_OPTIONAL }, - { SYS_RES_IRQ, GT_HYP, RF_ACTIVE | RF_OPTIONAL }, + { SYS_RES_IRQ, GT_VIRT, RF_ACTIVE }, + { SYS_RES_IRQ, GT_HYP_PHYS, RF_ACTIVE | RF_OPTIONAL }, { -1, 0 } }; +#endif + +static const struct arm_tmr_irq_defs { + int idx; + const char *name; + int flags; +} arm_tmr_irq_defs[] = { + { + .idx = GT_PHYS_SECURE, + .name = "sec-phys", + .flags = RF_ACTIVE | RF_OPTIONAL, + }, + { + .idx = GT_PHYS_NONSECURE, + .name = "phys", + .flags = RF_ACTIVE, + }, + { + .idx = GT_VIRT, + .name = "virt", + .flags = RF_ACTIVE, + }, + { + .idx = GT_HYP_PHYS, + .name = "hyp-phys", + .flags = RF_ACTIVE | RF_OPTIONAL, + }, + { + .idx = GT_HYP_VIRT, + .name = "hyp-virt", + .flags = RF_ACTIVE | RF_OPTIONAL, + }, +}; + +static int arm_tmr_attach(device_t); static uint32_t arm_tmr_fill_vdso_timehands(struct vdso_timehands *vdso_th, struct timecounter *tc); @@ -338,6 +375,108 @@ arm_tmr_fdt_probe(device_t dev) return (ENXIO); } + +static int +arm_tmr_fdt_attach(device_t dev) +{ + struct arm_tmr_softc *sc; + const struct arm_tmr_irq_defs *irq_def; + size_t i; + phandle_t node; + int error, rid; + bool has_names; + + sc = device_get_softc(dev); + node = ofw_bus_get_node(dev); + + has_names = OF_hasprop(node, "interrupt-names"); + for (i = 0; i < nitems(arm_tmr_irq_defs); i++) { + int flags; + + /* + * If we don't have names to go off of, we assume that they're + * in the "usual" order with sec-phys first and allocate by idx. + */ + irq_def = &arm_tmr_irq_defs[i]; + rid = irq_def->idx; + flags = irq_def->flags; + if (has_names) { + error = ofw_bus_find_string_index(node, + "interrupt-names", irq_def->name, &rid); + + /* + * If we have names, missing a name means we don't + * have it. + */ + if (error != 0) { + /* + * Could be noisy on a lot of platforms for no + * good cause. + */ + if (bootverbose || (flags & RF_OPTIONAL) == 0) { + device_printf(dev, + "could not find irq for %s interrupt '%s'\n", + (flags & RF_OPTIONAL) != 0 ? + "optional" : "required", + irq_def->name); + } + + if ((flags & RF_OPTIONAL) == 0) + goto out; + + continue; + } + + /* + * Warn about failing to activate if we did actually + * have the name present. + */ + flags &= ~RF_OPTIONAL; + } + + sc->res[irq_def->idx] = bus_alloc_resource_any(dev, + SYS_RES_IRQ, &rid, flags); + + if (sc->res[irq_def->idx] == NULL) { + device_printf(dev, + "could not allocate irq for %s interrupt '%s'\n", + (flags & RF_OPTIONAL) != 0 ? "optional" : + "required", irq_def->name); + + if ((flags & RF_OPTIONAL) == 0) { + error = ENXIO; + goto out; + } + + continue; + } + + if (bootverbose) { + device_printf(dev, + "allocated irq for '%s'\n", irq_def->name); + } + } + + error = arm_tmr_attach(dev); +out: + if (error != 0) { + for (i = 0; i < GT_IRQ_COUNT; i++) { + if (sc->res[i] != NULL) { + /* + * rid may not match the index into sc->res in + * a number of cases; e.g., optional sec-phys or + * interrupt-names specifying them in a + * different order than expected. + */ + bus_release_resource(dev, SYS_RES_IRQ, + rman_get_rid(sc->res[i]), sc->res[i]); + } + } + } + + return (error); + +} #endif #ifdef DEV_ACPI @@ -390,12 +529,31 @@ arm_tmr_acpi_probe(device_t dev) device_set_desc(dev, "ARM Generic Timer"); return (BUS_PROBE_NOWILDCARD); } + +static int +arm_tmr_acpi_attach(device_t dev) +{ + struct arm_tmr_softc *sc; + int error; + + sc = device_get_softc(dev); + if (bus_alloc_resources(dev, timer_acpi_spec, sc->res)) { + device_printf(dev, "could not allocate resources\n"); + return (ENXIO); + } + + error = arm_tmr_attach(dev); + if (error != 0) + bus_release_resources(dev, timer_acpi_spec, sc->res); + return (error); +} #endif static int arm_tmr_attach(device_t dev) { struct arm_tmr_softc *sc; + const struct arm_tmr_irq_defs *irq_def; #ifdef FDT phandle_t node; pcell_t clock; @@ -436,9 +594,12 @@ arm_tmr_attach(device_t dev) return (ENXIO); } - if (bus_alloc_resources(dev, timer_spec, sc->res)) { - device_printf(dev, "could not allocate resources\n"); - return (ENXIO); + /* Confirm that non-optional irqs were allocated before coming in. */ + for (i = 0; i < nitems(arm_tmr_irq_defs); i++) { + irq_def = &arm_tmr_irq_defs[i]; + + MPASS(sc->res[irq_def->idx] != NULL || + (irq_def->flags & RF_OPTIONAL) != 0); } #ifdef __aarch64__ @@ -467,6 +628,8 @@ arm_tmr_attach(device_t dev) arm_tmr_intr, NULL, sc, &sc->ihl[i]); if (error) { device_printf(dev, "Unable to alloc int resource.\n"); + for (int j = first_timer; j < i; j++) + bus_teardown_intr(dev, sc->res[j], &sc->ihl[j]); return (ENXIO); } } @@ -504,7 +667,7 @@ arm_tmr_attach(device_t dev) #ifdef FDT static device_method_t arm_tmr_fdt_methods[] = { DEVMETHOD(device_probe, arm_tmr_fdt_probe), - DEVMETHOD(device_attach, arm_tmr_attach), + DEVMETHOD(device_attach, arm_tmr_fdt_attach), { 0, 0 } }; @@ -523,7 +686,7 @@ EARLY_DRIVER_MODULE(timer, ofwbus, arm_tmr_fdt_driver, arm_tmr_fdt_devclass, static device_method_t arm_tmr_acpi_methods[] = { DEVMETHOD(device_identify, arm_tmr_acpi_identify), DEVMETHOD(device_probe, arm_tmr_acpi_probe), - DEVMETHOD(device_attach, arm_tmr_attach), + DEVMETHOD(device_attach, arm_tmr_acpi_attach), { 0, 0 } }; From nobody Mon May 15 15:45:55 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkH941GYz4Blp3; Mon, 15 May 2023 15:45: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 4QKkH81PTLz3JBB; Mon, 15 May 2023 15:45:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O0agQZQ4wNDfb+itkftCN2QHDc82SN0YvSJOHpfloXw=; b=GTSfM+wnBRloQ9oLFl6mIDWlGW0LMBEojQfT/3GVgPXd/7M7Az9cbIBfPiUJytVjdpOgcq Im2U8WmULRrAxk5h3nSY7m+8SAGB1yvJE1zxf9RnkmauH4UcbDUdBpHXgASva+pNGMhTx8 oD4FdsoTZzck/mkGt2QJZDUoxxvrA+nHiNhS0cBqQ4t/e0T52N8JL2Jpn5PZ1v476w/Xsi YLNVxe37bJcmKT5fQ+pqam0s/5yYZIe6YdMf/a3q4seBiHGLEq4/a8Tz5EZhVUcfZaLFUF htAjGB5V1zMDLIeOg/v8j2QvKtC5lGzycUmId/iHWqYF+F/t/UbRvrXMNuvYXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O0agQZQ4wNDfb+itkftCN2QHDc82SN0YvSJOHpfloXw=; b=bCgI91s5vYcctpY/Ob4982yup4BmW3/UfDKvMBRKmljsDM8jtdHYixMwvnv5kVasHWBp7F GPWbNm7VuHWWBouZ29Lljnv4c0qb+DoPwEDlfQq8koHJGV7JjyUnk/i8dX3jOlrKIeEWZy +oI1i1vUSsRr39UdSJwhIHbEhKkCfvFjM+s5YN9Cenl7DHkoniXmB/D4Zd0hXYBez2dA+i Uhepqcoqbjb02HuXcpZ8yx5eO1LTqPfb0JtLs7nwceUGzI6gj2H/7TJZZ+G4K0A2z1GqZC Sb/o0yYT125X+qti6uTbkiv9g35tr6gwsv9lUFcpg3uGFiRe+Pe+vw+y+VC55Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165556; a=rsa-sha256; cv=none; b=pO8g2ACGIMxYcfYkUZY2OGF0OTI4UVUtuwK1A1nIyZ2YkVZniBr5TCG64+LALQk+eSaq6L Qj03O/46l0RM0zaOnnSspx0IzXY5+HmKNl5cCxbSqENon6T/pZEn8c2TytOF8hHMkKmCmo Tjf/bcCKMry7dpgw+4RxJ5CxrBhaz1zfdQL/UJRVSht8SeX8fVhV5PpyCLK34l5jnRm5W2 M7OtBmPL112S7xGiKZRb49/3aCoNYox967d9K7gnVc2KF3RzJOt1OZvhsomcFas+1Celxx 5hiqsY5MrFeHQhC38bVtWeebviPM3T37x8smObvHXuk+Z1GU1J7AoanB24oOug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkH80W1Vzm53; Mon, 15 May 2023 15:45:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFjteA073392; Mon, 15 May 2023 15:45:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFjtWI073391; Mon, 15 May 2023 15:45:55 GMT (envelope-from git) Date: Mon, 15 May 2023 15:45:55 GMT Message-Id: <202305151545.34FFjtWI073391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 21ef40aea1d3 - stable/13 - Always enable the virtual timer for userspace List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 21ef40aea1d312910163a25a890c679814936c11 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=21ef40aea1d312910163a25a890c679814936c11 commit 21ef40aea1d312910163a25a890c679814936c11 Author: Andrew Turner AuthorDate: 2023-03-10 12:43:59 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 07:59:43 +0000 Always enable the virtual timer for userspace We always have it, some languages assume it's present, e.g. go before 1.20. Enable it by default on arm and arm64. PR: 269070 Reviewed by: kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39059 (cherry picked from commit 93d574ea957decec1c95dea9bfa8bc72457cc60d) --- sys/arm/arm/generic_timer.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index cba354909100..e0ec6281e402 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -266,13 +266,12 @@ setup_user_access(void *arg __unused) cntkctl = get_el1(cntkctl); cntkctl &= ~(GT_CNTKCTL_PL0PTEN | GT_CNTKCTL_PL0VTEN | - GT_CNTKCTL_EVNTEN); + GT_CNTKCTL_EVNTEN | GT_CNTKCTL_PL0PCTEN); + /* Always enable the virtual timer */ + cntkctl |= GT_CNTKCTL_PL0VCTEN; + /* Enable the physical timer if supported */ if (arm_tmr_sc->physical) { cntkctl |= GT_CNTKCTL_PL0PCTEN; - cntkctl &= ~GT_CNTKCTL_PL0VCTEN; - } else { - cntkctl |= GT_CNTKCTL_PL0VCTEN; - cntkctl &= ~GT_CNTKCTL_PL0PCTEN; } set_el1(cntkctl, cntkctl); isb(); From nobody Mon May 15 15:45:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkHB0j44z4BlmV; Mon, 15 May 2023 15:45: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 4QKkH92Jltz3JKT; Mon, 15 May 2023 15:45:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IdGAT/bOng3ZA8SvVJxFa75ORGVGiohLOR5/qbjjiU0=; b=qFo2f5D5ktejfKCseC7bdCkSyp4A6Q17p3q23nW/TqKkG5V8AUxcVmPyvIbAQQQEZ4opA9 byRREu/fUOY7J+nLbWF0wC5e+YafSIHcEoReRyJ+ehca3I2XFlmgh+oXrASLRs8Q+Tu4RV IaxlOb7tOLeqcaJQTYfFtEFJ7ZNRxzsiO0/HOXzsXl01J4hhirYTe4tLKsL8rSxp7QXXFl HRnEuTcZ6PdEriCa6t1y4nNw0qwwKYnBP+GXjTzqpc3UwYNZUMothbmo6i+anM4IeY8Ber yvQ5UtMaKPVvtvO0MxIYCH4KFuX3fdFE9AVDxfExWR4tgVyBBVAzHE/VenBiWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IdGAT/bOng3ZA8SvVJxFa75ORGVGiohLOR5/qbjjiU0=; b=f9GnOgsEXSn0ZHAv9hzM9vYm6r0A133lcXBDkM5310jh7VC6C13VW1H9kdOj2j6WjfR1rf 9i6PXbvsDLxu7u7ny1I5Ix/6wppxJaaKYl8m2kXCUoKo1Lt3DFuGcXUPcNPJn4f2Q2CkCU uVFc1jU9zCC2iFg+oiLpepWUY8XEpkqdPAlb/zwcI8rQBRxA/B7pfziVzYR1OwPcHUW9PX wlQnjURJ94V8NxqA//xt9r5i+ND3WcmTQQ+aMqosR2CqtEkKICyig8XyIPv9IVRCaaSkSb qdFy87QMtOCK3hQAMs5RqsCqbYgnvVWZWx3jkHzggN4d1TBzhLn53Q0X9zOpLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165557; a=rsa-sha256; cv=none; b=bdM/vVCTmPQpCoQe/NtHAl2lDVShhu4n1BdKn5VRqQ3DtdCf4sL8saOw53+jNs6BR6/bKl 5eVY+x9aJBUsy8JFSHN/FJHRov8DFSXqCfgxMGfVXF+LpJfGfPcgH+kwIezdpM5Mn0bLcj iCoK1l44jDXrISljqDiM7riaUAwe1VEoOhGT8o+0M3rgIjkwJwLwUTHvN3kXkJRR3DLzDm GU6lvkFMoyEsm/AlEBSss771qYyZMIvsg45ZKBaTMlnAqqtUROA6ESb0RsakGnyWK5B28D F1LKHy9TuvhZT39tfj9ZjqrtwuOKXyWLUVZxDRaX8IEw+7Spw5QrFOLLnhP+fg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkH91QGWzmJ6; Mon, 15 May 2023 15:45:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFjvt2073411; Mon, 15 May 2023 15:45:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFjvWn073410; Mon, 15 May 2023 15:45:57 GMT (envelope-from git) Date: Mon, 15 May 2023 15:45:57 GMT Message-Id: <202305151545.34FFjvWn073410@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 79dd9ddb1d8c - stable/13 - Keep per-timer interrupt data together List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 79dd9ddb1d8c51c2de097d76875c5009668fa788 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=79dd9ddb1d8c51c2de097d76875c5009668fa788 commit 79dd9ddb1d8c51c2de097d76875c5009668fa788 Author: Andrew Turner AuthorDate: 2023-03-14 09:27:23 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 07:59:43 +0000 Keep per-timer interrupt data together Eliminate a redundant resource array allow possible use by bhyve later. Reviewed by: kevans Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37424 (cherry picked from commit b71ef90ec28fdb731733afde495ac74ae59d6196) --- sys/arm/arm/generic_timer.c | 118 +++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 55 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index e0ec6281e402..01ec46977a4e 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -93,9 +93,16 @@ __FBSDID("$FreeBSD$"); #define GT_CNTKCTL_PL0VCTEN (1 << 1) /* PL0 CNTVCT and CNTFRQ access */ #define GT_CNTKCTL_PL0PCTEN (1 << 0) /* PL0 CNTPCT and CNTFRQ access */ +struct arm_tmr_softc; + +struct arm_tmr_irq { + struct resource *res; + void *ihl; + int rid; +}; + struct arm_tmr_softc { - struct resource *res[GT_IRQ_COUNT]; - void *ihl[GT_IRQ_COUNT]; + struct arm_tmr_irq irqs[GT_IRQ_COUNT]; uint64_t (*get_cntxct)(bool); uint32_t clkfreq; struct eventtimer et; @@ -104,16 +111,6 @@ struct arm_tmr_softc { static struct arm_tmr_softc *arm_tmr_sc = NULL; -#ifdef DEV_ACPI -static struct resource_spec timer_acpi_spec[] = { - { SYS_RES_IRQ, GT_PHYS_SECURE, RF_ACTIVE | RF_OPTIONAL }, - { SYS_RES_IRQ, GT_PHYS_NONSECURE, RF_ACTIVE }, - { SYS_RES_IRQ, GT_VIRT, RF_ACTIVE }, - { SYS_RES_IRQ, GT_HYP_PHYS, RF_ACTIVE | RF_OPTIONAL }, - { -1, 0 } -}; -#endif - static const struct arm_tmr_irq_defs { int idx; const char *name; @@ -356,6 +353,29 @@ arm_tmr_intr(void *arg) return (FILTER_HANDLED); } +static int +arm_tmr_attach_irq(device_t dev, struct arm_tmr_softc *sc, + const struct arm_tmr_irq_defs *irq_def, int rid, int flags) +{ + sc->irqs[irq_def->idx].res = bus_alloc_resource_any(dev, SYS_RES_IRQ, + &rid, flags); + if (sc->irqs[irq_def->idx].res == NULL) { + if (bootverbose || (flags & RF_OPTIONAL) == 0) { + device_printf(dev, + "could not allocate irq for %s interrupt '%s'\n", + (flags & RF_OPTIONAL) != 0 ? "optional" : + "required", irq_def->name); + } + + if ((flags & RF_OPTIONAL) == 0) + return (ENXIO); + } else if (bootverbose) { + device_printf(dev, "allocated irq for '%s'\n", irq_def->name); + } + + return (0); +} + #ifdef FDT static int arm_tmr_fdt_probe(device_t dev) @@ -433,42 +453,18 @@ arm_tmr_fdt_attach(device_t dev) flags &= ~RF_OPTIONAL; } - sc->res[irq_def->idx] = bus_alloc_resource_any(dev, - SYS_RES_IRQ, &rid, flags); - - if (sc->res[irq_def->idx] == NULL) { - device_printf(dev, - "could not allocate irq for %s interrupt '%s'\n", - (flags & RF_OPTIONAL) != 0 ? "optional" : - "required", irq_def->name); - - if ((flags & RF_OPTIONAL) == 0) { - error = ENXIO; - goto out; - } - - continue; - } - - if (bootverbose) { - device_printf(dev, - "allocated irq for '%s'\n", irq_def->name); - } + error = arm_tmr_attach_irq(dev, sc, irq_def, rid, flags); + if (error != 0) + goto out; } error = arm_tmr_attach(dev); out: if (error != 0) { for (i = 0; i < GT_IRQ_COUNT; i++) { - if (sc->res[i] != NULL) { - /* - * rid may not match the index into sc->res in - * a number of cases; e.g., optional sec-phys or - * interrupt-names specifying them in a - * different order than expected. - */ + if (sc->irqs[i].res != NULL) { bus_release_resource(dev, SYS_RES_IRQ, - rman_get_rid(sc->res[i]), sc->res[i]); + sc->irqs[i].rid, sc->irqs[i].res); } } } @@ -532,18 +528,29 @@ arm_tmr_acpi_probe(device_t dev) static int arm_tmr_acpi_attach(device_t dev) { + const struct arm_tmr_irq_defs *irq_def; struct arm_tmr_softc *sc; int error; sc = device_get_softc(dev); - if (bus_alloc_resources(dev, timer_acpi_spec, sc->res)) { - device_printf(dev, "could not allocate resources\n"); - return (ENXIO); + for (int i = 0; i < nitems(arm_tmr_irq_defs); i++) { + irq_def = &arm_tmr_irq_defs[i]; + error = arm_tmr_attach_irq(dev, sc, irq_def, irq_def->idx, + irq_def->flags); + if (error != 0) + goto out; } error = arm_tmr_attach(dev); - if (error != 0) - bus_release_resources(dev, timer_acpi_spec, sc->res); +out: + if (error != 0) { + for (int i = 0; i < GT_IRQ_COUNT; i++) { + if (sc->irqs[i].res != NULL) { + bus_release_resource(dev, SYS_RES_IRQ, + sc->irqs[i].rid, sc->irqs[i].res); + } + } + } return (error); } #endif @@ -597,13 +604,13 @@ arm_tmr_attach(device_t dev) for (i = 0; i < nitems(arm_tmr_irq_defs); i++) { irq_def = &arm_tmr_irq_defs[i]; - MPASS(sc->res[irq_def->idx] != NULL || + MPASS(sc->irqs[irq_def->idx].res != NULL || (irq_def->flags & RF_OPTIONAL) != 0); } #ifdef __aarch64__ /* Use the virtual timer if we have one. */ - if (sc->res[GT_VIRT] != NULL) { + if (sc->irqs[GT_VIRT].res != NULL) { sc->physical = false; first_timer = GT_VIRT; last_timer = GT_VIRT; @@ -621,24 +628,25 @@ arm_tmr_attach(device_t dev) /* Setup secure, non-secure and virtual IRQs handler */ for (i = first_timer; i <= last_timer; i++) { /* If we do not have the interrupt, skip it. */ - if (sc->res[i] == NULL) + if (sc->irqs[i].res == NULL) continue; - error = bus_setup_intr(dev, sc->res[i], INTR_TYPE_CLK, - arm_tmr_intr, NULL, sc, &sc->ihl[i]); + error = bus_setup_intr(dev, sc->irqs[i].res, INTR_TYPE_CLK, + arm_tmr_intr, NULL, sc, &sc->irqs[i].ihl); if (error) { device_printf(dev, "Unable to alloc int resource.\n"); for (int j = first_timer; j < i; j++) - bus_teardown_intr(dev, sc->res[j], &sc->ihl[j]); + bus_teardown_intr(dev, sc->irqs[j].res, + &sc->irqs[j].ihl); return (ENXIO); } } /* Disable the virtual timer until we are ready */ - if (sc->res[GT_VIRT] != NULL) + if (sc->irqs[GT_VIRT].res != NULL) arm_tmr_disable(false); /* And the physical */ - if ((sc->res[GT_PHYS_SECURE] != NULL || - sc->res[GT_PHYS_NONSECURE] != NULL) && HAS_PHYS) + if ((sc->irqs[GT_PHYS_SECURE].res != NULL || + sc->irqs[GT_PHYS_NONSECURE].res != NULL) && HAS_PHYS) arm_tmr_disable(true); arm_tmr_timecount.tc_frequency = sc->clkfreq; From nobody Mon May 15 15:45:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkHB528Fz4BlZS; Mon, 15 May 2023 15:45: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 4QKkHB3DSZz3JMm; Mon, 15 May 2023 15:45:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCLLWHQtJ96THwH4hJ+Mkyn20OyeYrLO6jC6TJGACiw=; b=jGGRx4d2Q1LjM/NB184BdNLXvHe2Ko3FnEJ613hSvfb4x7mVJlPFycwxsSZfi8J7RnqPyF AcUuugMbUGRK+iXr0Am2yUJBizxFHTvSnGq+AU11gzeEgn2WvZ/jvGEfh0m46BYoy4Zn5j 4EKp3k+vXxPf955fV5BBlaC3Xpg0RAVQz0xHL7MbanV+q2my2KqFEDp1x/FaJDiYgT9dM1 CR7XvOlq174uYWCIBb88m4L3DllR1bM75t8qQGJFB9cZ4q68lASZ8HKVjVaywzLxGwt9Z2 0H7ekWcMcpEtbCJOxw5aOKeOr/o1wA55rNM2klH9uvQXeucuztb+pEegMybF3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCLLWHQtJ96THwH4hJ+Mkyn20OyeYrLO6jC6TJGACiw=; b=PKoLFfKQxu9xi+EiK201QJz8o8EE4aSKJdW0w1bTM1mlZ3KDTcPgpsmQguVZcdQxE7+/2G gNMShH7RMRUGLMwgtGS24hjB8l3SfRdXo+X2/KTIxrpeNefHyUu6TemMg+hT9Y/AUlxmUn atLuJItKgqs54kB7isCTPEMLA//A49rNfWeqZkw0b4UVx6M4pvURx6o1jUFzUsxhOXD0Ar XUpHeomhTEIsJnWXfYHgmNT9z3jlLWRzjh7VoPyV6PGkksr7pA9QuNRb8I4ZwrG502M0xN JimoyXhW0uG4OkoY7MzzIp2UEkVcC91RXSFJElNvEMC8jwsAgszAdT5nunxjmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165558; a=rsa-sha256; cv=none; b=rqNmkKJ77yfTwoxA8cARX35Iho7kzkcRI/bp+lxbhayI1U5r7rDfZ/sLzXRF9HnOl2QKHr TsiPbIs+K4bpekX476Wng6kqBJ/X1n/sx2ja+oeb8NebNGpiEmu5p6yBDb9hchxbV3h0/I yEgLecQOcUCH+MKIHR6VDXuYthZLNoQKZ89v4d0N+RY/v5DY2LdA5RdrIxf0mcLflCN8oA ZB4VW4gmK4zK54JLhVS0EpBm02RuXJ1s6vKW42W15G0RGM9z1JjIVvATnRWEUT0kIIER3i opeZU6MIQ75Tq3fBZcv1WnAvJZH1VizFXUc6Aa7Rkq3mUZwZOUNu30cPZlq5EQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkHB2KMBzmF0; Mon, 15 May 2023 15:45:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFjw1B073430; Mon, 15 May 2023 15:45:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFjwj3073429; Mon, 15 May 2023 15:45:58 GMT (envelope-from git) Date: Mon, 15 May 2023 15:45:58 GMT Message-Id: <202305151545.34FFjwj3073429@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 289967bbad82 - stable/13 - Stop using the rid as an index in the arm timer List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 289967bbad82442be4578ed148462b21f10e524c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=289967bbad82442be4578ed148462b21f10e524c commit 289967bbad82442be4578ed148462b21f10e524c Author: Andrew Turner AuthorDate: 2023-03-15 13:35:04 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 10:53:59 +0000 Stop using the rid as an index in the arm timer The order of the interrupt array doesn't matter. Store the described interrupts at the start of the array to simplify iterating over them. Reviewed by: imp, kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39094 (cherry picked from commit 5c4bd8756fbc23a48ddd8976df0b8429311fba83) --- sys/arm/arm/generic_timer.c | 61 ++++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 01ec46977a4e..d84ae3841869 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -99,12 +99,14 @@ struct arm_tmr_irq { struct resource *res; void *ihl; int rid; + int idx; }; struct arm_tmr_softc { struct arm_tmr_irq irqs[GT_IRQ_COUNT]; uint64_t (*get_cntxct)(bool); uint32_t clkfreq; + int irq_count; struct eventtimer et; bool physical; }; @@ -357,9 +359,12 @@ static int arm_tmr_attach_irq(device_t dev, struct arm_tmr_softc *sc, const struct arm_tmr_irq_defs *irq_def, int rid, int flags) { - sc->irqs[irq_def->idx].res = bus_alloc_resource_any(dev, SYS_RES_IRQ, + struct arm_tmr_irq *irq; + + irq = &sc->irqs[sc->irq_count]; + irq->res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, flags); - if (sc->irqs[irq_def->idx].res == NULL) { + if (irq->res == NULL) { if (bootverbose || (flags & RF_OPTIONAL) == 0) { device_printf(dev, "could not allocate irq for %s interrupt '%s'\n", @@ -369,8 +374,13 @@ arm_tmr_attach_irq(device_t dev, struct arm_tmr_softc *sc, if ((flags & RF_OPTIONAL) == 0) return (ENXIO); - } else if (bootverbose) { - device_printf(dev, "allocated irq for '%s'\n", irq_def->name); + } else { + if (bootverbose) + device_printf(dev, "allocated irq for '%s'\n", + irq_def->name); + irq->rid = rid; + irq->idx = irq_def->idx; + sc->irq_count++; } return (0); @@ -461,11 +471,9 @@ arm_tmr_fdt_attach(device_t dev) error = arm_tmr_attach(dev); out: if (error != 0) { - for (i = 0; i < GT_IRQ_COUNT; i++) { - if (sc->irqs[i].res != NULL) { - bus_release_resource(dev, SYS_RES_IRQ, - sc->irqs[i].rid, sc->irqs[i].res); - } + for (i = 0; i < sc->irq_count; i++) { + bus_release_resource(dev, SYS_RES_IRQ, sc->irqs[i].rid, + sc->irqs[i].res); } } @@ -544,11 +552,9 @@ arm_tmr_acpi_attach(device_t dev) error = arm_tmr_attach(dev); out: if (error != 0) { - for (int i = 0; i < GT_IRQ_COUNT; i++) { - if (sc->irqs[i].res != NULL) { - bus_release_resource(dev, SYS_RES_IRQ, - sc->irqs[i].rid, sc->irqs[i].res); - } + for (int i = 0; i < sc->irq_count; i++) { + bus_release_resource(dev, SYS_RES_IRQ, + sc->irqs[i].rid, sc->irqs[i].res); } } return (error); @@ -559,7 +565,9 @@ static int arm_tmr_attach(device_t dev) { struct arm_tmr_softc *sc; +#ifdef INVARIANTS const struct arm_tmr_irq_defs *irq_def; +#endif #ifdef FDT phandle_t node; pcell_t clock; @@ -600,13 +608,25 @@ arm_tmr_attach(device_t dev) return (ENXIO); } +#ifdef INVARIANTS /* Confirm that non-optional irqs were allocated before coming in. */ for (i = 0; i < nitems(arm_tmr_irq_defs); i++) { + int j; + irq_def = &arm_tmr_irq_defs[i]; - MPASS(sc->irqs[irq_def->idx].res != NULL || - (irq_def->flags & RF_OPTIONAL) != 0); + /* Skip optional interrupts */ + if ((irq_def->flags & RF_OPTIONAL) != 0) + continue; + + for (j = 0; j < sc->irq_count; j++) { + if (sc->irqs[j].idx == irq_def->idx) + break; + } + KASSERT(j < sc->irq_count, ("%s: Missing required interrupt %s", + __func__, irq_def->name)); } +#endif #ifdef __aarch64__ /* Use the virtual timer if we have one. */ @@ -626,15 +646,16 @@ arm_tmr_attach(device_t dev) arm_tmr_sc = sc; /* Setup secure, non-secure and virtual IRQs handler */ - for (i = first_timer; i <= last_timer; i++) { - /* If we do not have the interrupt, skip it. */ - if (sc->irqs[i].res == NULL) + for (i = 0; i < sc->irq_count; i++) { + /* Only enable IRQs on timers we expect to use */ + if (sc->irqs[i].idx < first_timer || + sc->irqs[i].idx > last_timer) continue; error = bus_setup_intr(dev, sc->irqs[i].res, INTR_TYPE_CLK, arm_tmr_intr, NULL, sc, &sc->irqs[i].ihl); if (error) { device_printf(dev, "Unable to alloc int resource.\n"); - for (int j = first_timer; j < i; j++) + for (int j = 0; j < i; j++) bus_teardown_intr(dev, sc->irqs[j].res, &sc->irqs[j].ihl); return (ENXIO); From nobody Mon May 15 15:45:59 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkHC5mb0z4BlhZ; Mon, 15 May 2023 15:45: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 4QKkHC47n8z3JBm; Mon, 15 May 2023 15:45:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K44qL9TvTMp0/PikE05RtTbeke9agd7objFsvPbG6OQ=; b=DEj4mcpa8ARzopf5MqH64CcYX2pvAdhEusN/uz73/en4+WEuf3dmaJSrtzKBFby3qP4Sig t5fjksuNNrDrg3L3CqQUL11RW8f14/zj2oQjZhBFNP/O0qUm5Z+dPH2hc/cJF9iyrSUzPl mcUdROnDRzr5w4oG6DLpg6FeaotiEHvpaRxNlm35gGtVe7KGZsbm0e6C+DCwaoPwr6sDIb TGuqiq00CJ3cSxt7w/g2rgdr8gv9O058bkDt4O9WlOSoQPpp2Z9d5iypFRt2Hj8SZspQ/P p3fxLyqrenst8BZI5lbgpyhXywvyQOQFfeNNOcvLW3TxX4QI65+OS9d2ZX+RAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K44qL9TvTMp0/PikE05RtTbeke9agd7objFsvPbG6OQ=; b=bi+8Z/HPzKtctEY3WxzLi81diTJRunOvSDYodMilfNcuvN0uJNHr28lc+GL8CpavSNlN2p msL3JUsLFr7UZl9R6JaIJZwpcbfNJ0MMrkDjzFl++dkExTiCjdbZT4TGu8jHVaKmNB3ULS RSOzYuPba5XcHcTELn/G0sj+4z+xM7ZI3QcabN+wqBePabDMpVVcAXGVwm5+JyNdbau2O3 0YKxvCESs86VCfGUEYcCY6hw3+Xu8pF8omCcU7Tm3peubUb/h5PHEGEePTN0O74JD/xzm2 2jZ0BDzcTl+4j1QcXuiY48tcgv7aETXS9N7vAAAVkiXo265TtGMaQdDTgW6Kqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165559; a=rsa-sha256; cv=none; b=T/W+aY5V+8yS91ITiF42sGjKvMw+2/WshKwuuo/EeySPmZBnq9uZhHAnOm6VREl41OztTH 1eeDU7/8tDWmZ9s+IEB0PlAubQIb9fRtBJAh25RCfHTWdWVK2QsY42tXlwLRKSyKrbwrmF KwtfaLWcSc/6fZ+64EuGnspxg4WE9ph7iAvAfkLh1l0NXDwD3HSV1/f5TTJDDg7XSuVMxe P9VQCcv5uLu5AVdrUeKklqhgDGlEMLMvqju36pLOBVs3+dXz/MpsKBXJYhfSCT7HvoNBpF p3vFrKWwBZZD2N8GVMoh/ejs12RdL5dZw5OtnF+vQaKciG/tY4gAhVXbe9xwug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkHC3Fv0zmTc; Mon, 15 May 2023 15:45:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFjxbr073454; Mon, 15 May 2023 15:45:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFjxh8073453; Mon, 15 May 2023 15:45:59 GMT (envelope-from git) Date: Mon, 15 May 2023 15:45:59 GMT Message-Id: <202305151545.34FFjxh8073453@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: bd011976c6cf - stable/13 - Always read the VFP regs in the arm64 fill_fpregs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bd011976c6cf769baa04c55e48d9cda8a2ba60be Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=bd011976c6cf769baa04c55e48d9cda8a2ba60be commit bd011976c6cf769baa04c55e48d9cda8a2ba60be Author: Andrew Turner AuthorDate: 2023-01-18 09:30:20 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 10:54:21 +0000 Always read the VFP regs in the arm64 fill_fpregs The PCB_FP_STARTED is used to indicate that the current VFP context has been used since either 1. the start of the thread, or 2. exiting a kernel FP context. When case 2 was added to the kernel this could cause incorrect results to be returned when a thread exits the kernel FP context and fill_fpregs is called before it has restored the VFP state, e.g. by trappin on a userspace VFP instruction. In both of the cases the base save area is still valid so reduce the use of the PCB_FP_STARTED flag check to help decide if we need to store the current threads VFP state. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D37994 (cherry picked from commit 95dd6974b591ce76bf8d29adcc0dd01b4b281ffd) --- sys/arm64/arm64/exec_machdep.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index cc589731ae6a..a55048461682 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -147,16 +147,17 @@ fill_fpregs(struct thread *td, struct fpreg *regs) */ if (td == curthread) vfp_save_state(td, pcb); + } - KASSERT(pcb->pcb_fpusaved == &pcb->pcb_fpustate, - ("Called fill_fpregs while the kernel is using the VFP")); - memcpy(regs->fp_q, pcb->pcb_fpustate.vfp_regs, - sizeof(regs->fp_q)); - regs->fp_cr = pcb->pcb_fpustate.vfp_fpcr; - regs->fp_sr = pcb->pcb_fpustate.vfp_fpsr; - } else + KASSERT(pcb->pcb_fpusaved == &pcb->pcb_fpustate, + ("Called fill_fpregs while the kernel is using the VFP")); + memcpy(regs->fp_q, pcb->pcb_fpustate.vfp_regs, + sizeof(regs->fp_q)); + regs->fp_cr = pcb->pcb_fpustate.vfp_fpcr; + regs->fp_sr = pcb->pcb_fpustate.vfp_fpsr; +#else + memset(regs, 0, sizeof(*regs)); #endif - memset(regs, 0, sizeof(*regs)); return (0); } From nobody Mon May 15 15:46:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkHD61Wbz4Blmn; Mon, 15 May 2023 15:46: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 4QKkHD5Fr7z3JLX; Mon, 15 May 2023 15:46:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k19arvvDpT3ODoLeOH272SSfwmX+F5BUXyhSlr+WmJY=; b=YcbNKT31lONxoWoczKgD6MM5riO0jcmrygtuGvXSe5QxEOnI09PclXwAhSP+3btUo6HxoV agW4X0v8/kjR3odNrzIa5y9r+kKz3Zz5ipzsT0rWjp3KX6Rtx/MIWV6vFWCuExdZL9OcVo 230/YMmUGMxPF0cANTXEWc+DMfywpj36BhEAc2U2endd23LiJsafTXiQVumvrwNGfA4uyH XbMFzRsWyJvZK1fZrxgAs4zNTI1LJVC2May1LlNByrM3oL+p+5gYJJJE9+C+vATsLnzDp4 E8PSlgJgwkcwLlW3S0j4rYE6UtdJ3gasRkBihx4lht33hPCu76UWN7ESOwnYdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k19arvvDpT3ODoLeOH272SSfwmX+F5BUXyhSlr+WmJY=; b=AkshlmQ3Cyz7pUV9dSSoX1jJdJ5YhtGW8xAM6fFBGNCNyVZIT0/LtZ/MFd8hn1yBVmgV2m iZBIwtbyJy98O23jyWavFX/O5ihW5bi/vDTRZdiZ92GIFjisInWkFpkV1vYbUuLTeVqRId uJgiIlP06+YWA83AzuDiAhcOyklPct4z3DxjT2aswGts4wvjzqPnK5GRKjDw8K7z8hWs6G 4p4jhNR+qgprdopvW67grJpoUkDJcC/F1PYUZ77vGXcU41PJIXBVLiOUMSVyLVC2fIZMw2 F+TAW4fbn+NWvsZJkty73G5fvmksz+ClDhi+yLw0xJvUQJtQ8iN5caVeqglBVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165560; a=rsa-sha256; cv=none; b=uGYbSsmv2NzJS11nR7Uzab3I+cpO1geK5LSAeEONX+OC4Ek5owkMXZAScpjZieqKXoMPRf 69Tir0Jb9+x+7aGo3cX1GZyGJaAkmGvH3eBZohoq65Hw+KdX/8ozwXSiJHOzw88MVZIQxs zxS9WYbAk9aXX+EDp0zDOBNp/9by+eezb0Y2nbBQLakpc4nJbrvhfM32LwvunWjTLwIqvG uR0hJOAJpgYybhPvy1QRSTM5BDWCdnggYcJ/ff1AXkZWi18IEkdBf2CuFkmoiIHsgjJ99y 6K0qN5VF18ly7CtTjWXPARQxWt6dTpUJrZH5aDeRE36TccVAUzMN1a7aD7uxFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkHD49kNzmJ7; Mon, 15 May 2023 15:46:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFk0l6073474; Mon, 15 May 2023 15:46:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFk02F073473; Mon, 15 May 2023 15:46:00 GMT (envelope-from git) Date: Mon, 15 May 2023 15:46:00 GMT Message-Id: <202305151546.34FFk02F073473@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 622875663c82 - stable/13 - Always store the arm64 VFP context List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 622875663c82c4493da3cd27870f0a3dcb21c4fb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=622875663c82c4493da3cd27870f0a3dcb21c4fb commit 622875663c82c4493da3cd27870f0a3dcb21c4fb Author: Andrew Turner AuthorDate: 2023-01-18 09:30:32 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 10:54:40 +0000 Always store the arm64 VFP context If a thread enters a kernel FP context the PCB_FP_STARTED may be unset when calling get_fpcontext even if the VFP unit has been used by the current thread. Reduce the use of this flag to just decide when to store the VFP state. While here add an assert to check the assumption that the passed in thread is the current thread and remove the unneeded critical section. The latter is unneeded as the only place we would need it is in vfp_save_state and this already has a critical section when needed. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D37998 (cherry picked from commit 61f5462fde6c38c1f4f5c34a05fab506b6869375) --- sys/arm64/arm64/exec_machdep.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index a55048461682..fab0ee2ba993 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -482,30 +482,27 @@ get_fpcontext(struct thread *td, mcontext_t *mcp) #ifdef VFP struct pcb *curpcb; - critical_enter(); + MPASS(td == curthread); curpcb = curthread->td_pcb; - if ((curpcb->pcb_fpflags & PCB_FP_STARTED) != 0) { /* * If we have just been running VFP instructions we will * need to save the state to memcpy it below. */ vfp_save_state(td, curpcb); - - KASSERT(curpcb->pcb_fpusaved == &curpcb->pcb_fpustate, - ("Called get_fpcontext while the kernel is using the VFP")); - KASSERT((curpcb->pcb_fpflags & ~PCB_FP_USERMASK) == 0, - ("Non-userspace FPU flags set in get_fpcontext")); - memcpy(mcp->mc_fpregs.fp_q, curpcb->pcb_fpustate.vfp_regs, - sizeof(mcp->mc_fpregs.fp_q)); - mcp->mc_fpregs.fp_cr = curpcb->pcb_fpustate.vfp_fpcr; - mcp->mc_fpregs.fp_sr = curpcb->pcb_fpustate.vfp_fpsr; - mcp->mc_fpregs.fp_flags = curpcb->pcb_fpflags; - mcp->mc_flags |= _MC_FP_VALID; } - critical_exit(); + KASSERT(curpcb->pcb_fpusaved == &curpcb->pcb_fpustate, + ("Called get_fpcontext while the kernel is using the VFP")); + KASSERT((curpcb->pcb_fpflags & ~PCB_FP_USERMASK) == 0, + ("Non-userspace FPU flags set in get_fpcontext")); + memcpy(mcp->mc_fpregs.fp_q, curpcb->pcb_fpustate.vfp_regs, + sizeof(mcp->mc_fpregs.fp_q)); + mcp->mc_fpregs.fp_cr = curpcb->pcb_fpustate.vfp_fpcr; + mcp->mc_fpregs.fp_sr = curpcb->pcb_fpustate.vfp_fpsr; + mcp->mc_fpregs.fp_flags = curpcb->pcb_fpflags; + mcp->mc_flags |= _MC_FP_VALID; #endif } From nobody Mon May 15 15:46:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkHF6x5jz4Blmt; Mon, 15 May 2023 15:46: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 4QKkHF69QPz3JRh; Mon, 15 May 2023 15:46:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/AOQ188GcI+w2eCSR+xD14lbWORGk2T4K2jb7S6zvF8=; b=GYQaDx5XzIQ7Oikks/zB5151HqrwIJ1bQF93HpPBlr4p6IRvorw/hyFgVI46B4NesCMvNr kQ1oVHY8cp56GcfNlRU8eSIBX34c8vu3eDmZQzj38FqIfgU9pLW33dDLQH6FWUz6VISOS1 22mKVnR5Ki/EjcYegOx1MIWnoccEwPrYtMop08P0tM1XOFuIfW3z2tc1ZUgvqSWoj93Be3 M4NdVo8g4cxsiInO1MZ0LZiK1jEhWMQFdQOaLtiM4Cwg6suzp26Fw14rUrgcLBVzyyTGt1 gOfK6XlNc1/NGzZmcyw47ZjyrQxu6LEH53+NtLabx3ZuVWtDRdIxX9YH3uMv2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/AOQ188GcI+w2eCSR+xD14lbWORGk2T4K2jb7S6zvF8=; b=CKxqTr+/zZpHYYmp+b24ZceStqEJLk1ITkbku5r5VRGiUGF/xHI3SVxZ4Z/sjkmquZtsVj ugSwnjNfjbHIo7HN+N//51uSo+xXB7iZC1+bK59b6Kbylm2YRPVoB5dPfA9+d3//87vSEL J7WHrAhLf31PJqMICD+qUzMKLa+HGbNmFEA4FGjN5NHvaFHhT0hyFAfCTGYu90wK3/2BYx 3iY8T+hlRk8JE9dg0WrT77f8JYJYNPw0YPI2t08Om7K0b06YyqDKOtfsQIrSAB3ZqeI5nt nyoT7n1xBhqZg6uvs+LH+UlwGEQbiN8T1CXScJCZ0Vaw7WADh3JrAPIQeqKU5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165561; a=rsa-sha256; cv=none; b=A5bqrIBVEUaGZzhnTihvheum9BbWxVwW1CgzfKEVeivv/bJao/AMApOMaVCUaSHDvXUu88 dwbU0CHKc1tXLeuFE+Hls2J4w+PfXYy8oVNab16V1z+wVllPvYITBY0TuMr5zFuIZdeB+B dGRs7lRZGKvFTxWTM/CeVp/wvNDVutPwlAe1qEezAVcF+tS/7vCo6nigvVSEDTV0i2Y1FA YP0eHINvEcZd8HOnbzboBLT7K4DtQOFQtUpgSuDJTBOdLRg5Alktf1P3TXXICXiu8rwoCI mSsn3c0Ob3202oTSLzo5u/pyWtFI/ykjr+S85HuRveqM6lF4xwAHnd3+e1B5lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkHF55Fkzm27; Mon, 15 May 2023 15:46:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFk10t073493; Mon, 15 May 2023 15:46:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFk1VY073492; Mon, 15 May 2023 15:46:01 GMT (envelope-from git) Date: Mon, 15 May 2023 15:46:01 GMT Message-Id: <202305151546.34FFk1VY073492@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 0ae7446ed3fa - stable/13 - Reduce an arm64 VFP critical section List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0ae7446ed3faf51ce457178f538eca04b22774d7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0ae7446ed3faf51ce457178f538eca04b22774d7 commit 0ae7446ed3faf51ce457178f538eca04b22774d7 Author: Andrew Turner AuthorDate: 2023-01-18 09:30:36 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 10:54:57 +0000 Reduce an arm64 VFP critical section In set_fpcontext we only need a critical section around vfp_discard. The remainder of the code can run without it. While here add an assert to check the passed in thread is the current thread as the code already this. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D38000 (cherry picked from commit a85cf421d1bfec7e753bfee781355785b00d89d4) --- sys/arm64/arm64/exec_machdep.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index fab0ee2ba993..21435362f3e3 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -512,8 +512,7 @@ set_fpcontext(struct thread *td, mcontext_t *mcp) #ifdef VFP struct pcb *curpcb; - critical_enter(); - + MPASS(td == curthread); if ((mcp->mc_flags & _MC_FP_VALID) != 0) { curpcb = curthread->td_pcb; @@ -521,7 +520,9 @@ set_fpcontext(struct thread *td, mcontext_t *mcp) * Discard any vfp state for the current thread, we * are about to override it. */ + critical_enter(); vfp_discard(td); + critical_exit(); KASSERT(curpcb->pcb_fpusaved == &curpcb->pcb_fpustate, ("Called set_fpcontext while the kernel is using the VFP")); @@ -531,8 +532,6 @@ set_fpcontext(struct thread *td, mcontext_t *mcp) curpcb->pcb_fpustate.vfp_fpsr = mcp->mc_fpregs.fp_sr; curpcb->pcb_fpflags = mcp->mc_fpregs.fp_flags & PCB_FP_USERMASK; } - - critical_exit(); #endif } From nobody Mon May 15 15:46:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkHH0Q6cz4Blp9; Mon, 15 May 2023 15:46: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 4QKkHG6wq7z3JSJ; Mon, 15 May 2023 15:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=smaGi5mvxr8jcFScXU2/WmZ9BLK6Zl+fYgakhNHCoHQ=; b=NZkZgAasI19blsi+DP3qDwQ2tlFlPMQXosTsGzvAoV5Nuqv6T8BRKMyMNxbuf+5ue49Tsl J2ELujruA/vC2Kt5zxzcp3yMLQJGrvqkw6DigXIv2bP09G0dUABVVXHNTM5n3o491gW6pD dskliOgUc9utKqN7izEULpPmvT/5uC0E4dB2xDkeuBv5nSI0KTf3J6LNcYBzkE0xj0KAdd 4JiuajPOi5glIHXGmsbjRmW2vp08SgL9fJF/WjZQvD07xEr3BueBI6fW8PXgVNIqVesF9M I2dsIM5t2bWWwwfWVWgReZcFvBTQVWSlrgiOx7vZFpQnz+8IdAmWYRu9gHAi+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=smaGi5mvxr8jcFScXU2/WmZ9BLK6Zl+fYgakhNHCoHQ=; b=SBa3+yFs7whnisc3sRgMdZfpVwjKazWIhqCaHl9UDrACnyhskJSV382AgQ7iUwBgSu8iEi jZdv1Y0nFV5+SwKD0UNnCBZu3sjiiSR5upm2+YcETeLNV2OFcUYp6sIdjOTQfgkYVZAYU3 pgn2twFnIxPOxvXOIkH5kANDR0U3i1g5HKC4W04hG0vv+16nLqUO8uAVF2N30qMjOxX8La ae8hQE71NRSkmXwS574Ty5kNqUa3CzCQiXBsT4hT0aAFGUuV8MYLMR4hfI30ffcLzhtx0R mttzw51/qaOV+I97phO8h64qMR2TqF1fCRnwv19vLuYpP0vOSpoFPuv72yCK3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165563; a=rsa-sha256; cv=none; b=Ij9643WBRpw7p98HaBEODdNG69xDezw0cO9MZgrWHnmcM+qvYxCTr6ChgW1aCVmwPY2Zll PdXDhCT0QT/NoyWGyYQVCcblIMcbOtW2YVDKcj2KliINOIr18CJpJf4z+d6K7J68tJFQrs 72OlinMa5VXwHayw1I8NoHBu0d9Fj1/YBs62FiiqRoegNR2OVYs5hYVy4DPNPC5kCTogcR ikhWg2rdCeKKiew+nR+OYxe2iP9GGT767skfmN41Zo5o1bcdrnEdLdB4Mfp/l7UJDhVTAH bqXdgCeoMeRtMoNW0kpeBrK6jr3L+aJ95R1faW3edgKnJb8nKvII1WJcUmhEXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkHG61HdzmJ8; Mon, 15 May 2023 15:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFk2rU073513; Mon, 15 May 2023 15:46:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFk2JK073512; Mon, 15 May 2023 15:46:02 GMT (envelope-from git) Date: Mon, 15 May 2023 15:46:02 GMT Message-Id: <202305151546.34FFk2JK073512@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 253e4c56c8a6 - stable/13 - Add the fixed memory type to the pci ecam driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 253e4c56c8a6d4cb0fff963d735852095580ee49 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=253e4c56c8a6d4cb0fff963d735852095580ee49 commit 253e4c56c8a6d4cb0fff963d735852095580ee49 Author: Andrew Turner AuthorDate: 2023-01-18 09:30:46 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 10:55:19 +0000 Add the fixed memory type to the pci ecam driver Add ACPI_RESOURCE_TYPE_FIXED_MEMORY32 to the PCI ECAM driver. This is used on the Microsoft Dev Kit 2023 and reportedly the Lenovo x13s. Reviewed by: Robert Clausecker (Earlier version) Tested by: Robert Clausecker (Earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D38031 (cherry picked from commit 896f556205c8d87ef842dc844752daa7d2385336) --- sys/dev/pci/pci_host_generic_acpi.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/sys/dev/pci/pci_host_generic_acpi.c b/sys/dev/pci/pci_host_generic_acpi.c index 9628517813a9..074e81be9a88 100644 --- a/sys/dev/pci/pci_host_generic_acpi.c +++ b/sys/dev/pci/pci_host_generic_acpi.c @@ -143,26 +143,43 @@ pci_host_generic_acpi_parse_resource(ACPI_RESOURCE *res, void *arg) struct generic_pcie_acpi_softc *sc; struct rman *rm; rman_res_t min, max, off; - int r; + int r, restype; rm = NULL; sc = device_get_softc(dev); r = sc->base.nranges; switch (res->Type) { case ACPI_RESOURCE_TYPE_ADDRESS16: + restype = res->Data.Address16.ResourceType; min = res->Data.Address16.Address.Minimum; max = res->Data.Address16.Address.Maximum; break; case ACPI_RESOURCE_TYPE_ADDRESS32: + restype = res->Data.Address32.ResourceType; min = res->Data.Address32.Address.Minimum; max = res->Data.Address32.Address.Maximum; off = res->Data.Address32.Address.TranslationOffset; break; case ACPI_RESOURCE_TYPE_ADDRESS64: + restype = res->Data.Address64.ResourceType; min = res->Data.Address64.Address.Minimum; max = res->Data.Address64.Address.Maximum; off = res->Data.Address64.Address.TranslationOffset; break; + case ACPI_RESOURCE_TYPE_FIXED_MEMORY32: + /* + * The Microsoft Dev Kit 2023 uses a fixed memory region + * for some PCI controllers. For this memory the + * ResourceType is ACPI_IO_RANGE meaning we create an IO + * resource. As drivers expect it to be a memory resource + * force the type here. + */ + restype = ACPI_MEMORY_RANGE; + min = res->Data.FixedMemory32.Address; + max = res->Data.FixedMemory32.Address + + res->Data.FixedMemory32.AddressLength - 1; + off = 0; + break; default: return (AE_OK); } @@ -173,9 +190,9 @@ pci_host_generic_acpi_parse_resource(ACPI_RESOURCE *res, void *arg) sc->base.ranges[r].pci_base = min; sc->base.ranges[r].phys_base = min + off; sc->base.ranges[r].size = max - min + 1; - if (res->Data.Address.ResourceType == ACPI_MEMORY_RANGE) + if (restype == ACPI_MEMORY_RANGE) sc->base.ranges[r].flags |= FLAG_TYPE_MEM; - else if (res->Data.Address.ResourceType == ACPI_IO_RANGE) + else if (restype == ACPI_IO_RANGE) sc->base.ranges[r].flags |= FLAG_TYPE_IO; sc->base.nranges++; } else if (res->Data.Address.ResourceType == ACPI_BUS_NUMBER_RANGE) { From nobody Mon May 15 15:46:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkHJ264Wz4BlRk; Mon, 15 May 2023 15:46: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 4QKkHJ0KTdz3JpM; Mon, 15 May 2023 15:46:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cqxCusGpQ9YlYNw+liVx2kdVDruQcKL0FRiTVqkhbxw=; b=gI3/6VWfbnhd6pf7HXtQFe5/XTctgTqVV+kdbrR3ooGozOOlEc/oCcDX5ulCvClWipCb89 omD5p8mROs2F8GdlOEk3eiVtCF89H6QZo5gFGePdRUcVWbdmZM9IlgHyv67c5p9sTVuETc Pmh/JHtUiQ03I0aFjeib3OMNJ9LWVhOEfTpShFkqlfYSpDbhGuTLoUIdbnpqku98Mq1CU9 iIW7953k8Vp34Pxmw6oXHm4QYCIMQ50ofQifhDYxtAqnQE5HIeefxNNflQgfnpmZxbwIEr W7Rbi7QfSakZgeatAUzuKz7g7UkeVPUcYRzc7mEZY/74mMftUwnPFT2oSAP2hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684165564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cqxCusGpQ9YlYNw+liVx2kdVDruQcKL0FRiTVqkhbxw=; b=wasBMUKf6ofXBiOnD2+zauMwEW3kprZ5Q5aGW39xgR4p3eObNh+WFH8GqktGni1WBgRgs/ +XzsNfvg9R78GltsHd2u33JDazS1MXGKoXqPQg3rUoFvi4QxCcxuaXvOVKYuNat6WH5pyh y9zPaJO4iq+l0ofXJ/9EnPKtEu9PMU3T/ITjuYBZNXcuPQThRkqj31rLHWUqTKi+hWxart XoHiyyEQeo4BfcU+a5U58r0ZP2r83flGkb3cQy6o4ovW/dLWZIA7038QN1iPavIsislT9K rcW5f7XRJeOIhmqA4IGCd7a0chblphufzoS2TIBkJdvjvJNMpeSYHHuknaHwXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684165564; a=rsa-sha256; cv=none; b=Pciv3uUliq4w1P74JrH9VIwnHeJQdFMYiPHAwoIEn7w19GhVUpTk/CZbHH/X5Cbk6DqlKQ Cm+EDLvTy8RV5v9oFUcf0etIcJr756aHJc4hvA2cgTewxnuqd3mWqPs8Rz3UKAjVkDP9If YDpFTrXG9uDuywCMRWUS7qf/Ze1+ybHLpWLFDubodADNnqcq2hMEkaPzO3mjmwLbFmzR1M f6Y7QG1ju/Vj3HxYXHw7u6xn0mVHSMJEl/exB8t4Z1WdOTeTb6ksUmG27ey9JhLQ65Ii6v vjPR4kBRWglXMPyaUWvTwR/VbWLrb7SOCznDyklbriFLIsNcA5HF7MKZhKHFVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkHH6WK6zmTd; Mon, 15 May 2023 15:46:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFk36J073532; Mon, 15 May 2023 15:46:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFk3Fk073531; Mon, 15 May 2023 15:46:03 GMT (envelope-from git) Date: Mon, 15 May 2023 15:46:03 GMT Message-Id: <202305151546.34FFk3Fk073531@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: d42fa41bc2ed - stable/13 - Make SMCCC usable by device drivers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d42fa41bc2edfe0a6ffb49f79fcb2790a743ae4a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d42fa41bc2edfe0a6ffb49f79fcb2790a743ae4a commit d42fa41bc2edfe0a6ffb49f79fcb2790a743ae4a Author: Andrew Turner AuthorDate: 2022-06-04 11:13:51 +0000 Commit: Andrew Turner CommitDate: 2023-05-15 10:55:36 +0000 Make SMCCC usable by device drivers To allow device drivers to call into SMCCC we need to initialise it earlier. As it depends on PSCI, and that is detected via ACPI or FDT move the call to smccc_init to the PSCI driver. Add a function for drivers to read the smccc version, or 0 if smccc is not present. (cherry picked from commit 0600af1ff16041f15633b2263a8ad9525eecd2f1) (cherry picked from commit 7ca55fcc541b375c83eaf75f0658b79f250c82fd) --- sys/dev/psci/psci.c | 4 ++++ sys/dev/psci/smccc.c | 11 ++++++++--- sys/dev/psci/smccc.h | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/sys/dev/psci/psci.c b/sys/dev/psci/psci.c index d54ee62fb328..228850ac6895 100644 --- a/sys/dev/psci/psci.c +++ b/sys/dev/psci/psci.c @@ -348,6 +348,10 @@ psci_attach(device_t dev, psci_initfn_t psci_init, int default_version) if (psci_init(dev, default_version)) return (ENXIO); +#ifdef __aarch64__ + smccc_init(); +#endif + psci_softc = sc; return (0); diff --git a/sys/dev/psci/smccc.c b/sys/dev/psci/smccc.c index 54673d431d4c..64732d58e2d4 100644 --- a/sys/dev/psci/smccc.c +++ b/sys/dev/psci/smccc.c @@ -47,8 +47,8 @@ __FBSDID("$FreeBSD$"); /* Assume 1.0 until we detect a later version */ static uint32_t smccc_version = SMCCC_VERSION_1_0; -static void -smccc_init(void *dummy) +void +smccc_init(void) { int32_t features; uint32_t ret; @@ -67,7 +67,12 @@ smccc_init(void *dummy) SMCCC_VERSION_MINOR(smccc_version)); } } -SYSINIT(smccc_start, SI_SUB_CONFIGURE, SI_ORDER_ANY, smccc_init, NULL); + +uint32_t +smccc_get_version(void) +{ + return (smccc_version); +} int32_t smccc_arch_features(uint32_t smccc_func_id) diff --git a/sys/dev/psci/smccc.h b/sys/dev/psci/smccc.h index 6bb4dbcf7076..4644ee1cc7b3 100644 --- a/sys/dev/psci/smccc.h +++ b/sys/dev/psci/smccc.h @@ -82,6 +82,8 @@ struct arm_smccc_res { #define SMCCC_RET_NOT_SUPPORTED -1 #define SMCCC_RET_NOT_REQUIRED -2 +void smccc_init(void); +uint32_t smccc_get_version(void); int32_t smccc_arch_features(uint32_t); int smccc_arch_workaround_1(void); int smccc_arch_workaround_2(int); From nobody Mon May 15 15:49:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkMp6vpdz4Blv7 for ; Mon, 15 May 2023 15:49:58 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKkMp4Zgzz3Lq2 for ; Mon, 15 May 2023 15:49:58 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3f50020e0f8so58063975e9.0 for ; Mon, 15 May 2023 08:49:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684165797; x=1686757797; 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=4ckmQJXhUk4KdTuyE8rfsigamwV71UKU5QYhjGQ1YeI=; b=I+woTji33nvewefAw3ECbF9iSuMzcyzpjVfTohUahkJN+zeOmm38WFe2kw2L91QEof eyx+JHKcB/xL9dRkHqYpj0nZVmsdYsZoIrmmr2DQZfOlE6bTml8roM347YZhPr6dkwPx ZDtte6AfCtAxs8XTSfc3DCQcxLNf2FmVswjeBvK9dlm8CC9s9c7DNJK/uD+kitiQxvps Cfc0NDuebigScvEyjPc6jz+wLBp9iM7Q6FKSXBuNy9OrYhinRXGgdZwmIZ1dI0pIwrQo jAu68yvmxNOGH0y5Hf4q7fdBdGdNQ7gC+HO3CKmM6lYFwRP1CKLTRR5oXGirIQInHyRl z+SQ== X-Gm-Message-State: AC+VfDzOSUoIOXjXE0RJGAckoT0lDieRdWURP7o6SaYflnpxj/84lkGQ HCP2k9Hb0Bfgnx8gF4Neul5tew== X-Google-Smtp-Source: ACHHUZ5Cwr0VJqDsuMOWYyXswClpNQvS2iAlf2EAHFjcxBWDQpj/0Rdn3tBNLr+AUyTFrmLPJLnNuw== X-Received: by 2002:a5d:4589:0:b0:307:29a7:930a with SMTP id p9-20020a5d4589000000b0030729a7930amr28569260wrq.14.1684165796963; Mon, 15 May 2023 08:49:56 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id y7-20020a1c4b07000000b003f4bef65a65sm15945521wma.28.2023.05.15.08.49.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 May 2023 08:49:56 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: git: 4b500174dd2d - main - arm64: emulate swp/swpb instructions From: Jessica Clarke In-Reply-To: <202305151542.34FFgN7D071754@gitrepo.freebsd.org> Date: Mon, 15 May 2023 16:49:45 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202305151542.34FFgN7D071754@gitrepo.freebsd.org> To: Kyle Evans X-Mailer: Apple Mail (2.3731.500.231) X-Rspamd-Queue-Id: 4QKkMp4Zgzz3Lq2 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 15 May 2023, at 16:42, Kyle Evans wrote: >=20 > The branch main has been updated by kevans: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D4b500174dd2d1e16dcb87c22364f7244= 72c82edc >=20 > commit 4b500174dd2d1e16dcb87c22364f724472c82edc > Author: Kyle Evans > AuthorDate: 2023-05-15 15:42:10 +0000 > Commit: Kyle Evans > CommitDate: 2023-05-15 15:42:10 +0000 >=20 > arm64: emulate swp/swpb instructions >=20 > Add another undefined instruction handler for compat32 and watch = out for > SWP/SWPB instructions. >=20 > SWP/SWPB were deprecated in ARMv6 and declared obsolete in ARMv7, = but > this implementation is motivated by some proprietary software that = still > uses SWP/SWPB. Because it's deprecated, emulation is pushed back = behind > a sysctl that defaults to OFF in GENERIC so that it doesn't = potentially > adversely affect package builds; it's unknown whether software may = test > for a functional swp/swpb instruction with the desire of using it = later, > so we err on the side of caution to ensure we don't end up with = swp/swpb > use in freebsd/arm packages (which are built on aarch64). >=20 > The EMUL_SWP config option may be used to enable emulation by = default in > environments where emulation is desired and won't really be turned = off. >=20 > Reviewed by: andrew, mmel (both earlier version) > Sponsored by: Stormshield > Sponsored by: Klara, Inc. > Differential Revision: https://reviews.freebsd.org/D39667 > --- > sys/arm64/arm64/freebsd32_machdep.c | 4 + > sys/arm64/arm64/undefined.c | 162 = ++++++++++++++++++++++++++++++++++++ > sys/conf/options.arm64 | 2 + > 3 files changed, 168 insertions(+) >=20 > diff --git a/sys/arm64/arm64/freebsd32_machdep.c = b/sys/arm64/arm64/freebsd32_machdep.c > index 5fadef74df87..44f35f1b2abf 100644 > --- a/sys/arm64/arm64/freebsd32_machdep.c > +++ b/sys/arm64/arm64/freebsd32_machdep.c > @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include > #include > #include > #include > @@ -55,6 +56,9 @@ _Static_assert(sizeof(struct siginfo32) =3D=3D 64, = "struct siginfo32 size incorrect" >=20 > extern void freebsd32_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t = *mask); >=20 > +SYSCTL_NODE(_compat, OID_AUTO, arm, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, > + "32-bit mode"); > + > /* > * The first two fields of a ucontext_t are the signal mask and the = machine > * context. The next field is uc_link; we want to avoid destroying = the link > diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c > index 1feb242db060..7f436aaef6e5 100644 > --- a/sys/arm64/arm64/undefined.c > +++ b/sys/arm64/arm64/undefined.c > @@ -39,14 +39,47 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include > #include >=20 > +#include > #include > +#define _MD_WANT_SWAPWORD > +#include > +#include > #include > #include >=20 > +#include > +#include > + > +/* Low bit masked off */ > +#define INSN_COND(insn) ((insn >> 28) & ~0x1) > +#define INSN_COND_INVERTED(insn) ((insn >> 28) & 0x1) > +#define INSN_COND_EQ 0x00 /* NE */ > +#define INSN_COND_CS 0x02 /* CC */ > +#define INSN_COND_MI 0x04 /* PL */ > +#define INSN_COND_VS 0x06 /* VC */ > +#define INSN_COND_HI 0x08 /* LS */ > +#define INSN_COND_GE 0x0a /* LT */ > +#define INSN_COND_GT 0x0c /* LE */ > +#define INSN_COND_AL 0x0e /* Always */ > + > MALLOC_DEFINE(M_UNDEF, "undefhandler", "Undefined instruction handler = data"); >=20 > +#ifdef COMPAT_FREEBSD32 > +#ifndef EMUL_SWP > +#define EMUL_SWP 0 > +#endif > + > +SYSCTL_DECL(_compat_arm); > + > +static bool compat32_emul_swp =3D EMUL_SWP; > +SYSCTL_BOOL(_compat_arm, OID_AUTO, emul_swp, > + CTLFLAG_RWTUN | CTLFLAG_MPSAFE, &compat32_emul_swp, 0, > + "Enable SWP/SWPB emulation"); > +#endif > + > struct undef_handler { > LIST_ENTRY(undef_handler) uh_link; > undef_handler_t uh_handler; > @@ -88,6 +121,54 @@ id_aa64mmfr2_handler(vm_offset_t va, uint32_t = insn, struct trapframe *frame, > return (0); > } >=20 > +static bool > +arm_cond_match(uint32_t insn, struct trapframe *frame) > +{ > + uint64_t spsr; > + uint32_t cond; > + bool invert; > + bool match; > + > + /* > + * Generally based on the function of the same name in NetBSD, though > + * condition bits left in their original position rather than = shifting > + * over the low bit that indicates inversion for quicker sanity = checking > + * against spec. > + */ > + spsr =3D frame->tf_spsr; > + cond =3D INSN_COND(insn); > + invert =3D INSN_COND_INVERTED(insn); > + > + switch (cond) { > + case INSN_COND_EQ: > + match =3D (spsr & PSR_Z) !=3D 0; > + break; > + case INSN_COND_CS: > + match =3D (spsr & PSR_C) !=3D 0; > + break; > + case INSN_COND_MI: > + match =3D (spsr & PSR_N) !=3D 0; > + break; > + case INSN_COND_VS: > + match =3D (spsr & PSR_V) !=3D 0; > + break; > + case INSN_COND_HI: > + match =3D (spsr & (PSR_C | PSR_Z)) =3D=3D PSR_C; > + break; > + case INSN_COND_GE: > + match =3D (!(spsr & PSR_N) =3D=3D !(spsr & PSR_V)); > + break; > + case INSN_COND_GT: > + match =3D !(spsr & PSR_Z) && (!(spsr & PSR_N) =3D=3D !(spsr & = PSR_V)); > + break; > + case INSN_COND_AL: > + match =3D true; > + break; > + } > + > + return (!match !=3D !invert); This is equivalent to match !=3D invert? Jess > +} > + > #ifdef COMPAT_FREEBSD32 > /* arm32 GDB breakpoints */ > #define GDB_BREAKPOINT 0xe6000011 > @@ -113,6 +194,86 @@ gdb_trapper(vm_offset_t va, uint32_t insn, struct = trapframe *frame, > } > return 0; > } > + > +static int > +swp_emulate(vm_offset_t va, uint32_t insn, struct trapframe *frame, > + uint32_t esr) > +{ > + ksiginfo_t ksi; > + struct thread *td; > + vm_offset_t vaddr; > + uint64_t *regs; > + uint32_t val; > + int attempts, error, Rn, Rd, Rm; > + bool is_swpb; > + > + td =3D curthread; > + > + /* > + * swp, swpb only; there are no Thumb swp/swpb instructions so we can > + * safely bail out if we're in Thumb mode. > + */ > + if (!compat32_emul_swp || !SV_PROC_FLAG(td->td_proc, SV_ILP32) || > + (frame->tf_spsr & PSR_T) !=3D 0) > + return (0); > + else if ((insn & 0x0fb00ff0) !=3D 0x01000090) > + return (0); > + else if (!arm_cond_match(insn, frame)) > + goto next; /* Handled, but does nothing */ > + > + Rn =3D (insn & 0xf0000) >> 16; > + Rd =3D (insn & 0xf000) >> 12; > + Rm =3D (insn & 0xf); > + > + regs =3D frame->tf_x; > + vaddr =3D regs[Rn] & 0xffffffff; > + val =3D regs[Rm]; > + > + /* Enforce alignment for swp. */ > + is_swpb =3D (insn & 0x00400000) !=3D 0; > + if (!is_swpb && (vaddr & 3) !=3D 0) > + goto fault; > + > + attempts =3D 0; > + > + do { > + if (is_swpb) { > + uint8_t bval; > + > + bval =3D val; > + error =3D swapueword8((void *)vaddr, &bval); > + val =3D bval; > + } else { > + error =3D swapueword32((void *)vaddr, &val); > + } > + > + if (error =3D=3D -1) > + goto fault; > + > + /* > + * Avoid potential DoS, e.g., on CPUs that don't implement > + * global monitors. > + */ > + if (error !=3D 0 && (++attempts % 5) =3D=3D 0) > + maybe_yield(); > + } while (error !=3D 0); > + > + regs[Rd] =3D val; > + > +next: > + /* No thumb SWP/SWPB */ > + frame->tf_elr +=3D 4; //INSN_SIZE; > + > + return (1); > +fault: > + ksiginfo_init_trap(&ksi); > + ksi.ksi_signo =3D SIGSEGV; > + ksi.ksi_code =3D SEGV_MAPERR; > + ksi.ksi_addr =3D (void *)va; > + trapsignal(td, &ksi); > + > + return (1); > +} > #endif >=20 > void > @@ -125,6 +286,7 @@ undef_init(void) > install_undef_handler(false, id_aa64mmfr2_handler); > #ifdef COMPAT_FREEBSD32 > install_undef_handler(true, gdb_trapper); > + install_undef_handler(true, swp_emulate); > #endif > } >=20 > diff --git a/sys/conf/options.arm64 b/sys/conf/options.arm64 > index 26c7c87e49e2..0d2a5f177754 100644 > --- a/sys/conf/options.arm64 > +++ b/sys/conf/options.arm64 > @@ -14,6 +14,8 @@ PERTHREAD_SSP opt_global.h >=20 > # Binary compatibility > COMPAT_FREEBSD32 opt_global.h > +# Emulate SWP/SWPB for COMPAT_FREEBSD32 > +EMUL_SWP opt_global.h >=20 > # EFI Runtime services support > EFIRT opt_efirt.h From nobody Mon May 15 15:57:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkXB4Fjgz4BmLW; Mon, 15 May 2023 15:57: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 4QKkXB3gjbz3NHX; Mon, 15 May 2023 15:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684166234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GeMDrAlbzv9ePp3GjeNiEKv7RvV4QfZ54/XRAJd+jN4=; b=rHeBeLURODQwIpR0IHq1YcoXXq2BUdlnPZfMTIRsCX7WNuinjk7kVTMWu49Ee1sSvel+TO lV6qWf4wIQU+uPH++SCSZPRyRG7EuDPqG60rWMTi63/Iog9tZTRlULsLHX6MpUfsIEAklE aI9/AUNOpBkXe7x0TgUmuFLGwRGw/tRlB4N71jgjK8I/sB8UWQfANxzBCPCBgfBtzpxGnU 9hVjapBvDgeH9PF1QWYUtjAHLcAgtxF+rxtfz5dgJKUm9Wz05JaDUY9yukyf5sYCmywVAl hk/OMXXx4E6YEpuSaE/h46pCyY19fv7CuixovzJdR7Tx7hdfdpaH9rGDtM0zWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684166234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GeMDrAlbzv9ePp3GjeNiEKv7RvV4QfZ54/XRAJd+jN4=; b=NJEAAQU/1P5VcvsF1tr3msz03UoJ5YMEOA1fBytS5Yzl8AZLiyhfo2YZFBxXYdJs08Sg9/ t50H0XYeCtTt/yvAzUhOfIQooUpowv/rPwvYvgpxAzZxG8GLLeEZhoF5dTPa70twLd22Vy vetyMRdieg2Ocn/BYWN4zWa0jVs23DKXOAb8/6k/qQnPSlrb26OLgblX3/IKDJu1QzK8uB dl0ISWKHbH+JNU3RJ938DJd6odX/4dqLzADoa4Nboatds3/cXlbu1hUZ24u0Kj1wy6rGFz 7u3j2t/02ggvqV6OFkD4vrgGl3ymWkgd47aWTXg1qWDn31B3r0Y8IhcDeSLHHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684166234; a=rsa-sha256; cv=none; b=R9qMa31091a41yUwJdjnYRZ5kf+aKgJ+tm08FU+tZlfik0u+rC9l6K0keCtXMa9oUsAKkD evkgk8xpULMVSFaN6d1qwZ9vGzH6n/j5pNksPvyYGwF8wYcui9hrrYvwNsviZG8Kh1TseV wN0+gU/Jc6GV9lih1Rp6D1z0Hk3rBARfPDPYGIXbfi/4fmlTnVVPSdNB1fb8KBUlgeG3NV tGPAyMBGqwFcHwbw0jK8KI6dlmBt4pNYuioPjbkWYcnGtOJYOFUlMKZa9TTIP86ZCdLwsS 2RMqzvCMUsx4Sz42gV/Tb7T136A64fH/8J8+RYq1dTqh99TJej/1yEx2wThH+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKkXB2mDGzmmn; Mon, 15 May 2023 15:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FFvEM6089855; Mon, 15 May 2023 15:57:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FFvEYF089854; Mon, 15 May 2023 15:57:14 GMT (envelope-from git) Date: Mon, 15 May 2023 15:57:14 GMT Message-Id: <202305151557.34FFvEYF089854@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: b68588618b43 - main - arm64: simplify expression List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: b68588618b43720ca2950202491ddbd17599c260 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b68588618b43720ca2950202491ddbd17599c260 commit b68588618b43720ca2950202491ddbd17599c260 Author: Kyle Evans AuthorDate: 2023-05-15 15:54:15 +0000 Commit: Kyle Evans CommitDate: 2023-05-15 15:54:15 +0000 arm64: simplify expression !a != !b -> a != b; this part was lifted from NetBSD, and I clearly did not reconsider that these are bools (I'm guessing they were ints in an earlier iteration of the NetBSD implementation). while we're here, it should be easy to see that we've covered all of the cases but let's add in an __assert_unreachable() to make it easier on the eyes. Reported by: jrtc27 --- sys/arm64/arm64/undefined.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index 7f436aaef6e5..e1afca40f396 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -164,9 +164,11 @@ arm_cond_match(uint32_t insn, struct trapframe *frame) case INSN_COND_AL: match = true; break; + default: + __assert_unreachable(); } - return (!match != !invert); + return (match != invert); } #ifdef COMPAT_FREEBSD32 From nobody Mon May 15 15:59:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkZX337kz4BmK2; Mon, 15 May 2023 15:59:16 +0000 (UTC) (envelope-from kevans@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 4QKkZX2Qdyz3Nrl; Mon, 15 May 2023 15:59:16 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684166356; 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=ADpi1FnQmCY4tBNRXkOGaMIIxYvBLpG0ecYLj2SzOzg=; b=Athpoy+1p9TFtlXlG02VYueKUL4HATuG08ajYL4HJ+Up6f/b1qYikNV9T6fTRtuOY9a5aJ Tpi55VjVStM4CRRsjSokVoO3Min1NAxfo64rfa6ixGWZ23Tp65Uag868qb9/uiLTDhkQVs UDu5wo13S+A5DuaKuHznOref6AmzZrodcIBtyYl5yKjg1TfWwWaoynR6B0XDFbKkzIpTRm 8i+wvecIBJhE3b2M7nHaF+9K3CJln0n7tzWFr9Ax96nsfOcz8Py212SYntQpQaPcIGinjZ E7qq0LrzRSbugcHMOG2IBTxPECyRl2RUPmnwnr2wbpfSVK/13RueYiSQoPxzDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684166356; 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=ADpi1FnQmCY4tBNRXkOGaMIIxYvBLpG0ecYLj2SzOzg=; b=Dd/5WdIPs89kopaGdHfhkDmM/7UinREg0kC9GOKRO+x4G1osS5GZ6EvMVyQXt5iVvd9MvH iEdnciBEwqyWghxPmlVixiAY38J5ZcZ8ClL44LKccdakYD8fAfjvDrjwIAGuv8QKzrmRON 8EQpG5Nssp90PFipR8oz6qRCKWTnfAVZpcpF8uHQyO0Kj7EYBi77wt84EMhjy01lP63wmh P5yGUHk5hf4X4FUsrV9734pbkzYzNY4+R0uWLdEVk08S3uX9wp8USmVljEvbONwo+yLhaE pavWYoO2UNZB4VN34bwllgKCLP5JaRUmySOOqYl7BL6LQyNJAN753Ir/GMSVhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684166356; a=rsa-sha256; cv=none; b=l2U0vWQ7R6MvW+7XsV/Tb3u6BQSNfKJ+sk/Og7/nljy9JMG1sR/ILY+YvwSyEkvyriZVLK uCAam5vcGR4sgYL3LnDlO2vAfsZOD+ANYIFsnItH6uHqwAEaogNllsDlyajOjv237r6J4d NKDBCkhzMF3N4EW2DkX+lGRcZsynSsAEwWCAGUHRTlbF+ybtjVnNCnnWmR8Mx9y6m7IE+3 NGu8JN0BjtXdXEbbIjPgJLtse5mrUQHrXz7jZHPITsnhXRD6MMN3FoKr44ODwIezN2q2r1 M7a1lWNw22w42sZlFc7ccwm7L3DqxTYYMVLuwI9Cp9OYOd09pEBzH6R2uLccWg== Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (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)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4QKkZX1Ls2z12ND; Mon, 15 May 2023 15:59:16 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-759219bed84so190528985a.0; Mon, 15 May 2023 08:59:16 -0700 (PDT) X-Gm-Message-State: AC+VfDygAaddE1tHe0pkQWW0UUK89CbdaL/da0w7mcoucLVoxLoLD9p6 Nwvc5aNBa7fVIqmxo31Z3hfWIxBXY4x5jlrN/6Q= X-Google-Smtp-Source: ACHHUZ6V+CRoWkt7k6A0rehvpMpEnYnthsUMhmegZsIXt5YVgxAGJ6qCKFgVbKYjKCVd1QWrcwV4kfTadfsapH7o8gA= X-Received: by 2002:a05:6214:1305:b0:61b:7884:4351 with SMTP id pn5-20020a056214130500b0061b78844351mr65561123qvb.32.1684166355561; Mon, 15 May 2023 08:59:15 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202305151542.34FFgN7D071754@gitrepo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Mon, 15 May 2023 10:59:04 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 4b500174dd2d - main - arm64: emulate swp/swpb instructions To: Jessica Clarke Cc: Kyle Evans , "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-ThisMailContainsUnwantedMimeParts: N On Mon, May 15, 2023 at 10:49=E2=80=AFAM Jessica Clarke wrote: > > On 15 May 2023, at 16:42, Kyle Evans wrote: > > > > The branch main has been updated by kevans: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D4b500174dd2d1e16dcb87c22= 364f724472c82edc > > > > commit 4b500174dd2d1e16dcb87c22364f724472c82edc > > Author: Kyle Evans > > AuthorDate: 2023-05-15 15:42:10 +0000 > > Commit: Kyle Evans > > CommitDate: 2023-05-15 15:42:10 +0000 > > > > arm64: emulate swp/swpb instructions > > > > Add another undefined instruction handler for compat32 and watch out= for > > SWP/SWPB instructions. > > > > SWP/SWPB were deprecated in ARMv6 and declared obsolete in ARMv7, bu= t > > this implementation is motivated by some proprietary software that s= till > > uses SWP/SWPB. Because it's deprecated, emulation is pushed back beh= ind > > a sysctl that defaults to OFF in GENERIC so that it doesn't potentia= lly > > adversely affect package builds; it's unknown whether software may t= est > > for a functional swp/swpb instruction with the desire of using it la= ter, > > so we err on the side of caution to ensure we don't end up with swp/= swpb > > use in freebsd/arm packages (which are built on aarch64). > > > > The EMUL_SWP config option may be used to enable emulation by defaul= t in > > environments where emulation is desired and won't really be turned o= ff. > > > > Reviewed by: andrew, mmel (both earlier version) > > Sponsored by: Stormshield > > Sponsored by: Klara, Inc. > > Differential Revision: https://reviews.freebsd.org/D39667 > > --- > > sys/arm64/arm64/freebsd32_machdep.c | 4 + > > sys/arm64/arm64/undefined.c | 162 +++++++++++++++++++++++++++++= +++++++ > > sys/conf/options.arm64 | 2 + > > 3 files changed, 168 insertions(+) > > > > diff --git a/sys/arm64/arm64/freebsd32_machdep.c b/sys/arm64/arm64/free= bsd32_machdep.c > > index 5fadef74df87..44f35f1b2abf 100644 > > --- a/sys/arm64/arm64/freebsd32_machdep.c > > +++ b/sys/arm64/arm64/freebsd32_machdep.c > > @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); > > #include > > #include > > #include > > +#include > > #include > > #include > > #include > > @@ -55,6 +56,9 @@ _Static_assert(sizeof(struct siginfo32) =3D=3D 64, "s= truct siginfo32 size incorrect" > > > > extern void freebsd32_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t = *mask); > > > > +SYSCTL_NODE(_compat, OID_AUTO, arm, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, > > + "32-bit mode"); > > + > > /* > > * The first two fields of a ucontext_t are the signal mask and the mac= hine > > * context. The next field is uc_link; we want to avoid destroying the= link > > diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c > > index 1feb242db060..7f436aaef6e5 100644 > > --- a/sys/arm64/arm64/undefined.c > > +++ b/sys/arm64/arm64/undefined.c > > @@ -39,14 +39,47 @@ __FBSDID("$FreeBSD$"); > > #include > > #include > > #include > > +#include > > #include > > > > +#include > > #include > > +#define _MD_WANT_SWAPWORD > > +#include > > +#include > > #include > > #include > > > > +#include > > +#include > > + > > +/* Low bit masked off */ > > +#define INSN_COND(insn) ((insn >> 28) & ~0x1) > > +#define INSN_COND_INVERTED(insn) ((insn >> 28) & 0x1) > > +#define INSN_COND_EQ 0x00 /* NE */ > > +#define INSN_COND_CS 0x02 /* CC */ > > +#define INSN_COND_MI 0x04 /* PL */ > > +#define INSN_COND_VS 0x06 /* VC */ > > +#define INSN_COND_HI 0x08 /* LS */ > > +#define INSN_COND_GE 0x0a /* LT */ > > +#define INSN_COND_GT 0x0c /* LE */ > > +#define INSN_COND_AL 0x0e /* Always */ > > + > > MALLOC_DEFINE(M_UNDEF, "undefhandler", "Undefined instruction handler d= ata"); > > > > +#ifdef COMPAT_FREEBSD32 > > +#ifndef EMUL_SWP > > +#define EMUL_SWP 0 > > +#endif > > + > > +SYSCTL_DECL(_compat_arm); > > + > > +static bool compat32_emul_swp =3D EMUL_SWP; > > +SYSCTL_BOOL(_compat_arm, OID_AUTO, emul_swp, > > + CTLFLAG_RWTUN | CTLFLAG_MPSAFE, &compat32_emul_swp, 0, > > + "Enable SWP/SWPB emulation"); > > +#endif > > + > > struct undef_handler { > > LIST_ENTRY(undef_handler) uh_link; > > undef_handler_t uh_handler; > > @@ -88,6 +121,54 @@ id_aa64mmfr2_handler(vm_offset_t va, uint32_t insn,= struct trapframe *frame, > > return (0); > > } > > > > +static bool > > +arm_cond_match(uint32_t insn, struct trapframe *frame) > > +{ > > + uint64_t spsr; > > + uint32_t cond; > > + bool invert; > > + bool match; > > + > > + /* > > + * Generally based on the function of the same name in NetBSD, though > > + * condition bits left in their original position rather than shifting > > + * over the low bit that indicates inversion for quicker sanity checki= ng > > + * against spec. > > + */ > > + spsr =3D frame->tf_spsr; > > + cond =3D INSN_COND(insn); > > + invert =3D INSN_COND_INVERTED(insn); > > + > > + switch (cond) { > > + case INSN_COND_EQ: > > + match =3D (spsr & PSR_Z) !=3D 0; > > + break; > > + case INSN_COND_CS: > > + match =3D (spsr & PSR_C) !=3D 0; > > + break; > > + case INSN_COND_MI: > > + match =3D (spsr & PSR_N) !=3D 0; > > + break; > > + case INSN_COND_VS: > > + match =3D (spsr & PSR_V) !=3D 0; > > + break; > > + case INSN_COND_HI: > > + match =3D (spsr & (PSR_C | PSR_Z)) =3D=3D PSR_C; > > + break; > > + case INSN_COND_GE: > > + match =3D (!(spsr & PSR_N) =3D=3D !(spsr & PSR_V)); > > + break; > > + case INSN_COND_GT: > > + match =3D !(spsr & PSR_Z) && (!(spsr & PSR_N) =3D=3D !(spsr & PSR_V))= ; > > + break; > > + case INSN_COND_AL: > > + match =3D true; > > + break; > > + } > > + > > + return (!match !=3D !invert); > > This is equivalent to match !=3D invert? > Good shout, fixed in b68588618b43, thanks. Clear lack of consideration on my part, and I'm guessing they were ints in an earlier version of NetBSD's implementation. > Jess From nobody Mon May 15 19:57:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKqsN0SPTz4B1xb; Mon, 15 May 2023 19:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKqsN00Lwz4CMM; Mon, 15 May 2023 19:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684180648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sCUUn2QJDjwHpywKuoMXQ0ncveRw4+i2oyxAO9VbjeU=; b=rzm4W7LBj3HDiAO0kEamihDi5a2QEPNLkezV/Y28mn0aj4Xlllo4WR9tfKMmeVg7axrHXt Lwo78kl7QeSIalrpyzG0HmXSlYp7GPfwlIPLkNighPuRIAFoYMAt3Xt6h9IhvvDcdPesan qZp3tVWQdPeZlgOqCZGZW3sR4NUwkeKjPxHYa/zexT/ChAE9UVIM/kAshBCTTljavoTHSB vTVukWgYXHQh9gI0dhEWOq0OgNsphW0U/BON9cu5oB3BIvUCMlh3qtmztWoSTha5rB4DdQ 4WvL7Yu4/Q8EBH3PMxR6lsOJKk92A1GdmgNg13a+N3wBBf3ucepjMZrIvoQSnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684180648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sCUUn2QJDjwHpywKuoMXQ0ncveRw4+i2oyxAO9VbjeU=; b=adFtpGXp38qZLquBn2d6KNjbhv8RmhEf8LmqxbuTxpXKFrYH9yNQDpmGSoLg8HMuQnjwqF pGa6CEt5m+sVnGiP62PsMLWPJZB1BQmjJlUN8TXF8qaNs9Jb+CC7HQkOdYI/SkNVZt5r3k uBk3PcxyYw0/t8ASR+O1PgsuK1/RW//EQIW+5JF17cuzRujlgiyLK+odYTiMgUUKU7vDo0 e8qzph1y4UHwjobCLz/XfqY3OS17M0KytXomEd2Ximahta7WBUjXtPhMocotR+1a0lU622 DftamzsXWpYnTVy5A/VOuEkNUNafCIJ5dMUeJTE+MX+L9kOfmFdYaTU31yeD3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684180648; a=rsa-sha256; cv=none; b=r6x55WU2J1bIi95Gh1qVW5ioIGrtZPf4kuBgNd3uxclBIfWe++8nW/0OL8Fjg89HfymC9U em6S0oMEKbbtqHObUUx7jmXbA8XOunUsmJ3w7MlZp+/FfzYnklflqfySuNFckevCrJxNAA ntPC1SS55/RBBjnimeyF7k53XuxTQ+lQuMy7si9Xbe/H+PyhOHJItzFmYI1WrrxyBt0DOa 5iHSVkcA6lRijAOaSqfOjl7DMv0xvetfO3ah/yGktF0MtIHguVEeIux4jgLE2RtTHhVNQx 4xe+gM/nFuSljXW9HewFedK5ndaCxQoZIObRXGlVSwQIbxKHI2vUU9d/TVyPZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKqsM68hkzshY; Mon, 15 May 2023 19:57:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FJvRTH085500; Mon, 15 May 2023 19:57:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FJvR0v085499; Mon, 15 May 2023 19:57:27 GMT (envelope-from git) Date: Mon, 15 May 2023 19:57:27 GMT Message-Id: <202305151957.34FJvR0v085499@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: 0a6e34e950cd - main - Fix size differences between architectures of the UFS/FFS CGSIZE macro value. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a6e34e950cd5889122a199c34519b67569be9cc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=0a6e34e950cd5889122a199c34519b67569be9cc commit 0a6e34e950cd5889122a199c34519b67569be9cc Author: Kirk McKusick AuthorDate: 2023-05-15 19:56:27 +0000 Commit: Kirk McKusick CommitDate: 2023-05-15 19:57:15 +0000 Fix size differences between architectures of the UFS/FFS CGSIZE macro value. The cylinder group header structure ended with `u_int8_t cg_space[1]' representing the beginning of the inode bitmap array. Some architectures like the i386 rounded this up to a 4-byte boundry while other architectures like the amd64 rounded it up to an 8-byte boundry. Thus sizeof(struct cg) was four bytes bigger on an amd64 machine than on an i386 machine. If a filesystem created on an i386 machine was moved to an amd64 machine, the size of the cylinder group calculated by the CGSIZE macro would appear to grow by four bytes. Filesystems whose cylinder groups were exactly equal to the block size on an i386 machine would appear to have a cylinder group that was four bytes too big when moved to an amd64 machine. Note that although the structure appears to be too big, it in fact is fine. It is just the calaculation of its size that is in error. The fix is to remove the cg_space element from the cylinder-group structure so that the calculated size of the structure is the same size on all architectures. Reported by: Tijl Coosemans Tested by: Tijl Coosemans and Peter Holm MFC after: 1 week Sponsored by: The FreeBSD Foundation --- sbin/fsck_ffs/fsutil.c | 4 ++-- sbin/fsck_ffs/pass5.c | 4 ++-- sbin/growfs/growfs.c | 2 +- sbin/newfs/mkfs.c | 5 +++-- sys/ufs/ffs/fs.h | 7 +++---- usr.sbin/makefs/ffs/mkfs.c | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 48810954ba94..5e60aecf1826 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -1038,7 +1038,7 @@ check_cgmagic(int cg, struct bufarea *cgbp) CHK(cgp->cg_ndblk, !=, sblock.fs_size - cgbase(&sblock, cg), "%jd"); } - start = &cgp->cg_space[0] - (u_char *)(&cgp->cg_firstfield); + start = sizeof(*cgp); if (sblock.fs_magic == FS_UFS2_MAGIC) { CHK(cgp->cg_iusedoff, !=, start, "%jd"); } else if (sblock.fs_magic == FS_UFS1_MAGIC) { @@ -1098,7 +1098,7 @@ rebuild_cg(int cg, struct bufarea *cgbp) cgp->cg_ndblk = sblock.fs_fpg; else cgp->cg_ndblk = sblock.fs_size - cgbase(&sblock, cg); - start = &cgp->cg_space[0] - (u_char *)(&cgp->cg_firstfield); + start = sizeof(*cgp); if (sblock.fs_magic == FS_UFS2_MAGIC) { cgp->cg_iusedoff = start; } else if (sblock.fs_magic == FS_UFS1_MAGIC) { diff --git a/sbin/fsck_ffs/pass5.c b/sbin/fsck_ffs/pass5.c index 61be54ed54ed..58143a0e8211 100644 --- a/sbin/fsck_ffs/pass5.c +++ b/sbin/fsck_ffs/pass5.c @@ -116,7 +116,7 @@ pass5(void) } } } - basesize = &newcg->cg_space[0] - (u_char *)(&newcg->cg_firstfield); + basesize = sizeof(*newcg); if (sblock.fs_magic == FS_UFS2_MAGIC) { newcg->cg_iusedoff = basesize; } else { @@ -131,7 +131,7 @@ pass5(void) fs->fs_old_cpg * sizeof(int32_t); newcg->cg_iusedoff = newcg->cg_old_boff + fs->fs_old_cpg * fs->fs_old_nrpos * sizeof(u_int16_t); - memset(&newcg->cg_space[0], 0, newcg->cg_iusedoff - basesize); + memset(&newcg[1], 0, newcg->cg_iusedoff - basesize); } inomapsize = howmany(fs->fs_ipg, CHAR_BIT); newcg->cg_freeoff = newcg->cg_iusedoff + inomapsize; diff --git a/sbin/growfs/growfs.c b/sbin/growfs/growfs.c index 93a51d03b18d..51bf997406d0 100644 --- a/sbin/growfs/growfs.c +++ b/sbin/growfs/growfs.c @@ -338,7 +338,7 @@ initcg(int cylno, time_t modtime, int fso, unsigned int Nflag) acg.cg_ndblk = dmax - cbase; if (sblock.fs_contigsumsize > 0) acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag; - start = &acg.cg_space[0] - (u_char *)(&acg.cg_firstfield); + start = sizeof(acg); if (sblock.fs_magic == FS_UFS2_MAGIC) { acg.cg_iusedoff = start; } else { diff --git a/sbin/newfs/mkfs.c b/sbin/newfs/mkfs.c index d8580a789b1d..adc64f47cac6 100644 --- a/sbin/newfs/mkfs.c +++ b/sbin/newfs/mkfs.c @@ -721,7 +721,7 @@ initcg(int cylno, time_t utime) acg.cg_ndblk = dmax - cbase; if (sblock.fs_contigsumsize > 0) acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag; - start = &acg.cg_space[0] - (u_char *)(&acg.cg_firstfield); + start = sizeof(acg); if (Oflag == 2) { acg.cg_iusedoff = start; } else { @@ -749,7 +749,8 @@ initcg(int cylno, time_t utime) howmany(fragstoblks(&sblock, sblock.fs_fpg), CHAR_BIT); } if (acg.cg_nextfreeoff > (unsigned)sblock.fs_cgsize) { - printf("Panic: cylinder group too big\n"); + printf("Panic: cylinder group too big by %d bytes\n", + acg.cg_nextfreeoff - (unsigned)sblock.fs_cgsize); exit(37); } acg.cg_cs.cs_nifree += sblock.fs_ipg; diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h index c2279c183fc5..7b7a1f9f2ef6 100644 --- a/sys/ufs/ffs/fs.h +++ b/sys/ufs/ffs/fs.h @@ -573,11 +573,11 @@ CTASSERT(sizeof(struct fs) == 1376); * cylinder group and the (struct cg) size. */ #define CGSIZE(fs) \ - /* base cg */ (sizeof(struct cg) + sizeof(int32_t) + \ + /* base cg */ (sizeof(struct cg) + \ /* old btotoff */ (fs)->fs_old_cpg * sizeof(int32_t) + \ /* old boff */ (fs)->fs_old_cpg * sizeof(u_int16_t) + \ /* inode map */ howmany((fs)->fs_ipg, NBBY) + \ - /* block map */ howmany((fs)->fs_fpg, NBBY) +\ + /* block map */ howmany((fs)->fs_fpg, NBBY) + sizeof(int32_t) + \ /* if present */ ((fs)->fs_contigsumsize <= 0 ? 0 : \ /* cluster sum */ (fs)->fs_contigsumsize * sizeof(int32_t) + \ /* cluster map */ howmany(fragstoblks(fs, (fs)->fs_fpg), NBBY))) @@ -624,8 +624,7 @@ struct cg { u_int32_t cg_ckhash; /* check-hash of this cg */ ufs_time_t cg_time; /* time last written */ int64_t cg_sparecon64[3]; /* reserved for future use */ - u_int8_t cg_space[1]; /* space for cylinder group maps */ -/* actually longer */ + /* actually longer - space used for cylinder group maps */ }; /* diff --git a/usr.sbin/makefs/ffs/mkfs.c b/usr.sbin/makefs/ffs/mkfs.c index ef745fe3c196..d48dc65aac68 100644 --- a/usr.sbin/makefs/ffs/mkfs.c +++ b/usr.sbin/makefs/ffs/mkfs.c @@ -634,7 +634,7 @@ initcg(uint32_t cylno, time_t utime, const fsinfo_t *fsopts) acg.cg_ndblk = dmax - cbase; if (sblock.fs_contigsumsize > 0) acg.cg_nclusterblks = acg.cg_ndblk >> sblock.fs_fragshift; - start = &acg.cg_space[0] - (u_char *)(&acg.cg_firstfield); + start = sizeof(acg); if (Oflag == 2) { acg.cg_iusedoff = start; } else { From nobody Mon May 15 20:25:19 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKrTW603hz4B31K; Mon, 15 May 2023 20:25: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 4QKrTW5RWhz4GZl; Mon, 15 May 2023 20:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684182319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ED93y+bLt6igNHtKO/5kjOtnVsYos+GPoXC6oeOVz4g=; b=cN6xZeKRzDYP4uFTXpupIloc9cIPn4A46gkmkdnxLvQrfen96oxq7g/3ZBg5oG4xp/SxOe Su4A37Ea4Br6u2vm9pNCv01VyXBXVXMocjXXzpRB3A5kut6T651KAc1gGzrkgeljfJkcO0 rjHTURfr/hkJvblnJ6l1Flo8L0yYha6R2JUhtfWmeJ4j2cOgFA4D/MtiJhn7uXMYfbmlrj ZP+Hes6qSW+aNjMxBGVjdVlIoRMRXO8qkj7ywahwe6oh9PB5b+I8oGhOHzwWfuydJN39Ox oPR06d3fkXAA2JZZK9Qmnd42zBCcX+e3Z6PswX9SlnChfTvOAWMOu338XaYW/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684182319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ED93y+bLt6igNHtKO/5kjOtnVsYos+GPoXC6oeOVz4g=; b=xZlPACIYI6rOLYch4gg0YTApc84x0wF60rcQbBrQNwklGAJps2aiX6HaIWjNsu4Qu7sqhM NGb1hijYRp4LDFL+nRprnKG/JwtAt4E5c0PD7FHsT1qsHpNM3dPPhW0TWx59rA0V3Jd5aO IJjwHR9cwDv5L9DiuJHaozv7YR4r1ena3zAPvqRM2NAjY5WE06TwKyKePYfNXfyVGzB7Iw 7Mqfr/9UVciEBailLlmN+IxeO+ge1zOeRia50GA55+7wBnHMd1liBUHj4PaUcbwoLInZwN ETVfGS7GFgwzWibbwdQlcrR4+3NZ8MW+xueuQEDd5+tc66eeFrqjU/5AsxeblA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684182319; a=rsa-sha256; cv=none; b=C0o70MentnS0GydMv/DDvNbXMpSKoAF+VYsaCGVrpLb/4Elh+cxYZU13ueZkFPBXeMvJ0p VDxbKiR5X/39QjuewspzMemIr7Gqj2m567fkl6VaPvV6gQLGDFmnjMHZisvZDXyi0fE0B5 Rprb6QmsiKvMcvLQHEXcWMqCv4lp7rtBszOOVy6IIiUyRMsz1fHohEqBPpxPCASUu2wIX0 gt02LOn5VN8YWXFOEvPZfRWW3WK4Me5dkcMSv+p9E5flrONOhv4T5sXWLCY2xcMN2u971k AqCRauKOMRU4tn5jadyW6Zh5sSZUW0oweyAtk+glsstG6JqA4fh3cBrYoBf1lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKrTW4MKJztx9; Mon, 15 May 2023 20:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FKPJRl034919; Mon, 15 May 2023 20:25:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FKPJMs034918; Mon, 15 May 2023 20:25:19 GMT (envelope-from git) Date: Mon, 15 May 2023 20:25:19 GMT Message-Id: <202305152025.34FKPJMs034918@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 92a4e8b34814 - main - dirdeps.mk allow for TARGET_SPEC_VARS.host List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92a4e8b348143c2988179be15e73b221d56195ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=92a4e8b348143c2988179be15e73b221d56195ac commit 92a4e8b348143c2988179be15e73b221d56195ac Author: Simon J. Gerraty AuthorDate: 2023-05-15 20:25:10 +0000 Commit: Simon J. Gerraty CommitDate: 2023-05-15 20:25:10 +0000 dirdeps.mk allow for TARGET_SPEC_VARS.host While *most* projects need only DEP_MACHINE for host, there is always an exception. So we allow for TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. The default will *just work* for most projects. We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC based on DEP_MACHINE. Allow for M_dep_qual_fixes.host to be different too and take care to apply the right set. --- share/mk/dirdeps.mk | 64 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/share/mk/dirdeps.mk b/share/mk/dirdeps.mk index da5350be480f..2cf62bed3d9e 100644 --- a/share/mk/dirdeps.mk +++ b/share/mk/dirdeps.mk @@ -1,4 +1,4 @@ -# $Id: dirdeps.mk,v 1.161 2023/05/13 21:02:14 sjg Exp $ +# $Id: dirdeps.mk,v 1.162 2023/05/15 17:37:46 sjg Exp $ # SPDX-License-Identifier: BSD-2-Clause # @@ -212,12 +212,16 @@ _DEP_TARGET_SPEC = # it should be set by sys.mk or similar by now. # TARGET_SPEC must not contain any '.'s. TARGET_SPEC_VARS ?= MACHINE +# we allow for this to be a subset +TARGET_SPEC_VARS.host ?= MACHINE +TARGET_SPEC_VARS.host32 = ${TARGET_SPEC_VARS.host} # this is what we started with TARGET_SPEC = ${TARGET_SPEC_VARS:@v@${$v:U}@:ts,} # this is what we mostly use below -DEP_TARGET_SPEC = ${TARGET_SPEC_VARS:S,^,DEP_,:@v@${$v:U}@:ts,} +DEP_TARGET_SPEC_VARS = ${TARGET_SPEC_VARS.${DEP_MACHINE}:U${TARGET_SPEC_VARS}} +DEP_TARGET_SPEC = ${DEP_TARGET_SPEC_VARS:S,^,DEP_,:@v@${$v:U}@:ts,} # make sure we have defaults -.for v in ${TARGET_SPEC_VARS} +.for v in ${DEP_TARGET_SPEC_VARS} DEP_$v ?= ${$v} .endfor @@ -227,12 +231,7 @@ DEP_$v ?= ${$v} # we compute below are fully qualified wrt DEP_TARGET_SPEC. # The makefiles may only partially specify (eg. MACHINE only), # so we need to construct a set of modifiers to fill in the gaps. -.if ${MAKE_VERSION} >= 20170130 -_tspec_x := ${TARGET_SPEC_VARS:range} -.else -# do it the hard way -_tspec_x := ${TARGET_SPEC_VARS:[#]:@x@i=1;while [ $$i -le $x ]; do echo $$i; i=$$((i + 1)); done;@:sh} -.endif +_tspec_x := ${TARGET_SPEC_VARS:${M_RANGE:Urange}} # this handles unqualified entries M_dep_qual_fixes = C;(/[^/.,]+)$$;\1.$${DEP_TARGET_SPEC}; # there needs to be at least one item missing for these to make sense @@ -242,10 +241,27 @@ _tspec_a$i := ,${TARGET_SPEC_VARS:[$i..-1]:@v@$$$${DEP_$v}@:ts,} M_dep_qual_fixes += C;(\.${_tspec_m$i})$$;\1${_tspec_a$i}; .endfor TARGET_SPEC_VARSr := ${TARGET_SPEC_VARS:[-1..1]} +.if ${TARGET_SPEC_VARS.host} == ${TARGET_SPEC_VARS} +M_dep_qual_fixes.host = ${M_dep_qual_fixes} +.elif ${TARGET_SPEC_VARS.host:[#]} > 1 +_htspec_x := ${TARGET_SPEC_VARS.host:${M_RANGE:Urange}} +# this handles unqualified entries +M_dep_qual_fixes.host = C;(/[^/.,]+)$$;\1.$${DEP_TARGET_SPEC}; +# there needs to be at least one item missing for these to make sense +.for i in ${_htspec_x:[2..-1]} +_htspec_m$i := ${TARGET_SPEC_VARS.host:[2..$i]:@w@[^,]+@:ts,} +_htspec_a$i := ,${TARGET_SPEC_VARS.host:[$i..-1]:@v@$$$${DEP_$v}@:ts,} +M_dep_qual_fixes.host += C;(\.${_htspec_m$i})$$;\1${_htspec_a$i}; +.endfor +.else +M_dep_qual_fixes.host = U +.endif .else # A harmless? default. M_dep_qual_fixes = U .endif +M_dep_qual_fixes.host ?= ${M_dep_qual_fixes} +M_dep_qual_fixes.host32 = ${M_dep_qual_fixes.host} .if !defined(.MAKE.DEPENDFILE_PREFERENCE) # .MAKE.DEPENDFILE_PREFERENCE makes the logic below neater? @@ -328,7 +344,7 @@ _tspec := ${_DEP_TARGET_SPEC:S/,/ /g} .for i in ${_tspec_x} DEP_${TARGET_SPEC_VARS:[$i]} := ${_tspec:[$i]} .endfor -.for v in ${TARGET_SPEC_VARS:O:u} +.for v in ${DEP_TARGET_SPEC_VARS:O:u} .if empty(DEP_$v) .undef DEP_$v .endif @@ -337,14 +353,6 @@ DEP_${TARGET_SPEC_VARS:[$i]} := ${_tspec:[$i]} DEP_MACHINE := ${_DEP_TARGET_SPEC} .endif -# host is special -.if ${DEP_MACHINE:Mhost*} != "" -DEP_TARGET_SPEC = ${DEP_MACHINE} -.for v in ${TARGET_SPEC_VARS:O:u:NMACHINE} -.undef DEP_$v -.endfor -.endif - # reset each time through _build_all_dirs = _build_xtra_dirs = @@ -651,7 +659,7 @@ _machines += host _machines := ${_machines:O:u} .endif -.if ${TARGET_SPEC_VARS:[#]} > 1 +.if ${DEP_TARGET_SPEC_VARS:[#]} > 1 # we need to tweak _machines _dm := ${DEP_MACHINE} # apply the same filtering that we do when qualifying DIRDEPS. @@ -659,7 +667,7 @@ _dm := ${DEP_MACHINE} # Again we expect that any already qualified machines are fully qualified. _machines := ${_machines:M*,*} ${_machines:N*,*:@DEP_MACHINE@${DEP_TARGET_SPEC}@:S,^,.,:S,^.,,} DEP_MACHINE := ${_dm} -_machines := ${_machines:${M_dep_qual_fixes:ts:}:O:u} +_machines := ${_machines:${M_dep_qual_fixes.${DEP_MACHINE}:U${M_dep_qual_fixes}:ts:}:O:u} .endif # reset each time through @@ -721,7 +729,7 @@ _build_dirs += \ .info _build_dirs=${_build_dirs} .endif # make sure we do not mess with qualifying "host" entries -_build_dirs := ${_build_dirs:M*.host*} \ +_build_dirs := ${_build_dirs:M*.host*:${M_dep_qual_fixes.host:ts:}} \ ${_build_dirs:N*.host*:${M_dep_qual_fixes:ts:}} _build_dirs := ${_build_dirs:O:u} .if ${_debug_reldir} @@ -776,9 +784,10 @@ _cache_script += echo; echo 'DIRDEPS.${_this_dir}.$m = \'; .endif # it would be nice to do :N${.TARGET} .if !empty(__qual_depdirs) -.for q in ${__qual_depdirs:${M_dep_qual_fixes:ts:}:E:O:u:N$m} +.for q in ${__qual_depdirs:M*.host*:${M_dep_qual_fixes.host:ts:}:E:O:u:N$m} \ + ${__qual_depdirs:N*.host*:${M_dep_qual_fixes:ts:}:E:O:u:N$m} .if ${_debug_reldir} || ${DEBUG_DIRDEPS:@x@${${DEP_RELDIR}.$m:L:M$x}${${DEP_RELDIR}.$q:L:M$x}@} != "" -.info ${DEP_RELDIR}.$m: graph: ${_build_dirs:M*.$q:S,^${SRCTOP}/,,} +.info ${DEP_RELDIR}.$m: q=$q graph: ${_build_dirs:M*.$q:S,^${SRCTOP}/,,} .endif .if ${BUILD_DIRDEPS_CACHE} == "yes" _cache_deps += ${_build_dirs:M*.$q:S,^${SRCTOP}/,,} @@ -825,14 +834,13 @@ _dr := ${d:S,^${SRCTOP}/,,} _DEP_TARGET_SPEC := ${d:E} # some makefiles may still look at this _DEP_MACHINE := ${d:E:C/,.*//} +DEP_MACHINE := ${_DEP_MACHINE} # set these too in case Makefile.depend* uses them -.if ${TARGET_SPEC_VARS:[#]} > 1 +.if ${DEP_TARGET_SPEC_VARS:[#]} > 1 _dtspec := ${_DEP_TARGET_SPEC:S/,/ /g} .for i in ${_tspec_x} -DEP_${TARGET_SPEC_VARS:[$i]} := ${_dtspec:[$i]} +DEP_${DEP_TARGET_SPEC_VARS:[$i]} := ${_dtspec:[$i]} .endfor -.else -DEP_MACHINE := ${_DEP_MACHINE} .endif # Warning: there is an assumption here that MACHINE is always # the first entry in TARGET_SPEC_VARS. @@ -840,7 +848,7 @@ DEP_MACHINE := ${_DEP_MACHINE} _m := ${.MAKE.DEPENDFILE_PREFERENCE:T:S;${TARGET_SPEC}$;${d:E};:C;${MACHINE}((,.+)?)$;${d:E:C/,.*//}\1;:@m@${exists(${d:R}/$m):?${d:R}/$m:}@:[1]} .if !empty(_m) # M_dep_qual_fixes isn't geared to Makefile.depend -_qm := ${_m:C;(\.depend)$;\1.${d:E};:${M_dep_qual_fixes:ts:}} +_qm := ${_m:C;(\.depend)$;\1.${d:E};:${M_dep_qual_fixes.${d:E}:U${M_dep_qual_fixes}:ts:}} .if ${_debug_search} .info Looking for ${_qm} .endif From nobody Mon May 15 20:52:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKs4m58n9z4B4tj; Mon, 15 May 2023 20:52: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 4QKs4m4jfBz4Mlk; Mon, 15 May 2023 20:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684183944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zsxsj24Jdp+o9PCNAnNoiCmddzw0MzVeq17aLqmnju8=; b=yib7gZ8b5gch+UEwlm2kIomiFeuuPdXCDhDFYv38XPt3tuhq/QjjSgLZ8jg16S1yl8z+Et f//tChTZlwwTzn+O2R3UEB6IUomDms3fgMv59C8fHEan9qlw76ha8a4GRkiQwiFFY/6Ejm 2JtNX3MLUXtAjx8ACSGZUsSg8JW0yp5IO8Z10t3MP+F8ujPo3UgHNwXES191UcY9gwjgSY fP1LyB2Cae3Gq2jDe9LbrpvboRqPXItRIcBMf285lL6v3mzxyn+e7QpBkvnYlHQ7oVL5SQ p+PcdVHMeT5kmPgGX0f4BYBb5A+vtDlh0JgHfbdodkdlx26mlV9BiKx8/lkwZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684183944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zsxsj24Jdp+o9PCNAnNoiCmddzw0MzVeq17aLqmnju8=; b=QO9fGaURFc5OGsf1q6M9O80wj6oeaWBUHhKnuKY04xhHFzTNm4wXLQbe2jC+4/541v3OB9 MIpBFDuoHNi2XKY/lIdR2fX02RtorEhibocciEEYwBv69dyhataReNTJekUhRFmVYbCC9R EXg+jG8MNh39txULJ4CHEKeCZYMO80uryzF5oJZ/nFlr52fSaEEwqSv4+ujecbHnlaHqAp hymiiLtRCEryWt/B/wa4Wv5BiVhvQ942HxmYIBmdFrue9Mkqd/np1KO93teifGsy+nVEd8 0yh3AVfA75PGjaSjMWhT6KjrJ+DJWNBKxFvYN9Ko46iYhxqMiOceaRPRf35Phw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684183944; a=rsa-sha256; cv=none; b=I9sbLuM8Kt87Oj9XZXu88s54Zo5ixf0EmIuFY9rF5l1rJqeQC/6CCk6VIRL4Pn81IA1JaI B2/aPGP65iccCa/dsNFlrS+MA4pMfwivx4xO8nlXR3NcglkPIPiMXAADw96GDm+133ogs1 ozAYyee6Mll5upkt/6dtry4hYtgZwW91UStTkelmeDUshsMrLf9jn5/BMk2V3l/o3pEwvh /kDBuVvlukE6Jz3LDq0OARfIcd7M9bEqTVRmf7vMUpe0uUL0MeIg0So2hIGu4Wvs4U/GuN FsZYPaCzdxJ7pBNEcjBa13Thi9tj40P+YtQ88pPl6Scl1Zz3XFUlI3hKZ7IGJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKs4m3nhKzvl1; Mon, 15 May 2023 20:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FKqOof079255; Mon, 15 May 2023 20:52:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FKqOU6079254; Mon, 15 May 2023 20:52:24 GMT (envelope-from git) Date: Mon, 15 May 2023 20:52:24 GMT Message-Id: <202305152052.34FKqOU6079254@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: f409f11bc556 - main - nvmecontrol: Fix power subcommand output. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f409f11bc556e6da4c4cdb9f20a2ba3b0977fb32 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=f409f11bc556e6da4c4cdb9f20a2ba3b0977fb32 commit f409f11bc556e6da4c4cdb9f20a2ba3b0977fb32 Author: Alexander Motin AuthorDate: 2023-05-15 20:48:50 +0000 Commit: Alexander Motin CommitDate: 2023-05-15 20:48:50 +0000 nvmecontrol: Fix power subcommand output. The returned value consists of two fields. Report them separately. MFC after: 2 weeks --- sbin/nvmecontrol/power.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sbin/nvmecontrol/power.c b/sbin/nvmecontrol/power.c index 47ebc9c8c153..c6d7ad5455ff 100644 --- a/sbin/nvmecontrol/power.c +++ b/sbin/nvmecontrol/power.c @@ -137,7 +137,8 @@ power_show(int fd) if (nvme_completion_is_error(&pt.cpl)) errx(EX_IOERR, "set feature power mgmt request returned error"); - printf("Current Power Mode is %d\n", pt.cpl.cdw0); + printf("Current Power State is %d\n", pt.cpl.cdw0 & 0x1F); + printf("Current Workload Hint is %d\n", pt.cpl.cdw0 >> 5); } static void @@ -189,7 +190,7 @@ static const struct opts power_opts[] = { OPT("power", 'p', arg_uint32, opt, power, "Set the power state"), OPT("workload", 'w', arg_uint32, opt, workload, - "Set the workload"), + "Set the workload hint"), { NULL, 0, arg_none, NULL, NULL } }; #undef OPT From nobody Mon May 15 21:10:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKsTN57bhz4B5q1; Mon, 15 May 2023 21:10:16 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (heemeyer.club [195.93.173.158]) (using TLSv1.3 with cipher TLS_AES_256_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 4QKsTN1TFxz4NkT; Mon, 15 May 2023 21:10:15 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Authentication-Results: mx1.freebsd.org; none Received: from heemeyer.club (localhost [127.0.0.1]) by heemeyer.club (8.17.1/8.16.1) with ESMTP id 34FLA8ZE097619; Tue, 16 May 2023 00:10:08 +0300 (MSK) (envelope-from dchagin@heemeyer.club) Received: (from dchagin@localhost) by heemeyer.club (8.17.1/8.16.1/Submit) id 34FLA8j8097618; Tue, 16 May 2023 00:10:08 +0300 (MSK) (envelope-from dchagin) Date: Tue, 16 May 2023 00:10:08 +0300 From: Dmitry Chagin To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: d957343f8713 - main - linux(4): Rework signal trampoline on Aarch64 Message-ID: References: <202305142131.34ELV9OX074101@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 4QKsTN1TFxz4NkT X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:61400, ipnet:195.93.173.0/24, country:RU] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Sun, May 14, 2023 at 10:57:55PM +0100, Jessica Clarke wrote: > On 14 May 2023, at 22:31, Dmitry Chagin wrote: > > > > The branch main has been updated by dchagin: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=d957343f8713a312442a0140b7a7752ed7b2d870 > > > > commit d957343f8713a312442a0140b7a7752ed7b2d870 > > Author: Dmitry Chagin > > AuthorDate: 2023-05-14 21:27:31 +0000 > > Commit: Dmitry Chagin > > CommitDate: 2023-05-14 21:27:31 +0000 > > > > linux(4): Rework signal trampoline on Aarch64 > > > > To avoid clobbering of any registers by the trampoline code use Linux > > way to call signal handlers. I.e., we are out from the kernel right into > > the signal handler, put return address from the signal handler into the > > link register. > > The mysterious NOP is required for some unwinders (e.g. libc++) that > > unconditionally subtract one from the result of _Unwind_GetIP() in order > > to identify the calling function. > > > > MFC after: 1 week > > So this is basically a revert of c56480a83235 "linux(4): Implement signal > trampoline for arm64 in a FreeBSD-way”? Not a huge fan of this flip-flopping > without much justification and with no review partially yes, I prefer to not revert, however in taht case I'll revert tommorow. I found a proper solution, ugh... About review, do you know who is willing to review unwinder related code? I know only one, but he is x86 guru)) AFAIK, clang libunwind and libunwind from ports do not support stack unwinding throuth signal frame on FreeBSD aarch64, libunwind from ports even broken. From nobody Mon May 15 21:59:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKtZx2MwSz4B8S7 for ; Mon, 15 May 2023 22:00:09 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 4QKtZw47Pzz3D61 for ; Mon, 15 May 2023 22:00:08 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3075e802738so12245469f8f.1 for ; Mon, 15 May 2023 15:00:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684188006; x=1686780006; 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=UamafYX7HY0KPnr3E7VQZHwUPGSH2LDcIsf5NkBWTiM=; b=bEMXfwbqMyzH9KzNAaKxGgEOwHGGobJ74o70iZePMUvXSl9FoOTsASCq0kWcvSRw3l VFKp2SUdu1b9LSudlp9f2CxrmYBz0jgRTNTbqfxutn4JZBZ1KuVEx1JUfxulxbpDxX2l 5MCabPKOr+xl5WLSQWsdZ7M2Cs5csu6A2PsWgkr5yPUmboMOFzVlAcRmuX2MpqOLi208 FX9t6kVZnL8iUXU2UGJLFv7C9BSAwdGzsg01RY8ZVWCVuoCbvSwePLi/oRFtqxND1jQr DTF/p34m2zXRhBUagMv30w/EPeUxM2yQKj4FSdQ/+YsbVjkTx5i5G9/jJYOtn4M6Hqrx 0wdQ== X-Gm-Message-State: AC+VfDzbK+BaUr1g9+9I9Hvjat9Ar9flkauwBCzhtPmDXWYEAmXxbRbn m/oR2pMrlSABRYLLE4YLfPtzuQ== X-Google-Smtp-Source: ACHHUZ53GomQP8pY+jgEsAcDJSm0ZL3XYHjMKXvkdzWk4mzLSFlg38BREwXiPNdXh0B7SYxjXiyJKA== X-Received: by 2002:adf:f512:0:b0:307:94fb:3a44 with SMTP id q18-20020adff512000000b0030794fb3a44mr24355850wro.52.1684188006336; Mon, 15 May 2023 15:00:06 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id k18-20020a05600c0b5200b003f42314832fsm198398wmr.18.2023.05.15.15.00.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 May 2023 15:00:05 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: git: ccb59683b983 - main - arm64: add tests for swp/swpb emulation From: Jessica Clarke In-Reply-To: <202305151542.34FFgONF071780@gitrepo.freebsd.org> Date: Mon, 15 May 2023 22:59:54 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <663D9FB2-D1EF-4D51-9FB1-038AF6AA98C0@freebsd.org> References: <202305151542.34FFgONF071780@gitrepo.freebsd.org> To: Kyle Evans X-Mailer: Apple Mail (2.3731.500.231) X-Rspamd-Queue-Id: 4QKtZw47Pzz3D61 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 15 May 2023, at 16:42, Kyle Evans wrote: >=20 > The branch main has been updated by kevans: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dccb59683b98360afaf5b5bb641a68fea= 22c68d0b >=20 > commit ccb59683b98360afaf5b5bb641a68fea22c68d0b > Author: Kyle Evans > AuthorDate: 2023-05-15 15:42:16 +0000 > Commit: Kyle Evans > CommitDate: 2023-05-15 15:42:16 +0000 >=20 > arm64: add tests for swp/swpb emulation >=20 > One test is suitable to be hooked up to the build, so I've done = this > here. The other test lives in tools/regression because failure is = a > bit more subjective -- generally, one runs it for some unbounded = amount > of time and observe if it eventually exits because two threads = acquired > the same mutex. >=20 > Reviewed by: imp, mmel > Sponsored by: Stormshield > Sponsored by: Klara, Inc. > Differential Revision: https://reviews.freebsd.org/D39668 > --- > etc/mtree/BSD.tests.dist | 2 + > tests/sys/Makefile | 1 + > tests/sys/compat32/Makefile | 6 + > tests/sys/compat32/Makefile.inc | 4 + > tests/sys/compat32/aarch64/Makefile | 24 ++ > tests/sys/compat32/aarch64/common.sh | 9 + > tests/sys/compat32/aarch64/swp_cond_test.sh | 14 + > tests/sys/compat32/aarch64/swp_cond_test_impl.S | 413 = ++++++++++++++++++++++ > tests/sys/compat32/aarch64/swp_test.sh | 14 + > tests/sys/compat32/aarch64/swp_test_impl.S | 216 +++++++++++ > tools/regression/compat32/aarch64/Makefile | 4 + > tools/regression/compat32/aarch64/swp_test_impl.S | 410 = +++++++++++++++++++++ > 12 files changed, 1117 insertions(+) >=20 > ... > diff --git a/tests/sys/compat32/aarch64/Makefile = b/tests/sys/compat32/aarch64/Makefile > new file mode 100644 > index 000000000000..716182b15d9c > --- /dev/null > +++ b/tests/sys/compat32/aarch64/Makefile > @@ -0,0 +1,24 @@ > +PACKAGE=3D tests > +FILESGROUPS+=3D asmprogs > + > +ACFLAGS=3D -target armv7-unknown-freebsd${OS_REVISION} -nostdlib = -Wl,-e -Wl,main -static This won=E2=80=99t work with GCC, nor will it work with an LLVM built = with only AArch64 enabled as a target (e.g. -DWITHOUT_LLVM_TARGET_ALL -DWITHOUT_LLVM_TARGET_ARM; latter is needed since we do default to enabling ARM if AArch64 is even for a cut-down toolchain so that -m32 works). This is why the freebsd32 sigcode in arm64 kernels is written as hex (with disassembly comments) rather than assembled from proper source. Jess From nobody Mon May 15 22:19:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKv1p2b12z4B9Hx; Mon, 15 May 2023 22:19: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 4QKv1p23Mzz3Fsb; Mon, 15 May 2023 22:19:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684189198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qiDs6M0YBs9PM4c1cPyyjJ0JtKhLGo4X8rY806L5v3s=; b=hDb7ZO4Z0GXhJprhslKzexIbRr4oLLWGqAsxVQLA5JMb15EwrnTGkiphkUZLNKxlsUCyMB CyFYj8TbC/CuDrE6OihrN9vAvd1jP2HhfjVtqvqY8KMnLaOWyVfiaQeyuMgVi3BKHYr/gz 4IbX9ccSYg555RwF3IZsYdMXyEbxHHrWny1midn6mnLx30IQGuA8yocZconlT5P3QTNlPL LeQQoLOg3vkktBt/GH69Y56tEkhXbddqLVCSZykULQ9YmO3i/rlJyMbJNaE0B2mkgb9zr+ 4dWs1UaPcOTAyfqyfIg55LMA4m3u0kMjdk3p3/+FmRm0iMRcxQ/EIC/8iUEhnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684189198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qiDs6M0YBs9PM4c1cPyyjJ0JtKhLGo4X8rY806L5v3s=; b=OVvT5h4RYUbkez6yZCCBJy3rwdSyajKwncHx7DSaZtshtcP1CtgBMu/IGQLrEY3IoSSgm6 EJQS3vYAVHnn9GtQnL8FSMeOrbXkqaguOmJf9/UWGwPXRPFwC2M9od9glpZo0A9d6CDVpW 5nN1pnvlH3Mh9gxB4Eyr/7vTHEWSl23rsrv6tSv88+xoVq5gGfzuUGQR3dukM2pwnfDVtu EfzDy8MLYfTzJ0naoOu9PvhYYH7NvHfakH0ZhGzjMMdAGVJqljTYZfPuV2xjLpNJPa7RGf 4VZKdnb+ENF11BJkwZ9mhmySJGScrGk5OPGU3dEW93yfEUIZdqFZQnv92QUCwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684189198; a=rsa-sha256; cv=none; b=SZuBTrKN+jwn0WJN3rxDKd++4o2Z5auDf2MKWDnrtKh+AIjutt9PR8DsjqP8pc8gc7s0Vu T8lDJ5t59WrgNHDzf4OWop35c5tfN+dZziuzT+vWu4CLgLnjOn9xh8DGqUDrwQINFAf1CH gjKdaLHSPo/A38/sztsWSkJkHcqz62QULdeViFea0p/rtgvH4Er8VZKwcK726z8gCmtI6p uwLaoG2S0XTsRFqaXBk1+/iOi7q9r9Wds/mF/U0FsEeQIpqCKHGeIyiwAIYLdfVdhP/a8X W32NYP7zM2bTmxcINiPdg6YGVlJdgjq2iZhISBfZPfrL1cELbwmdlDLDOxP0rQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKv1p16KVzxL6; Mon, 15 May 2023 22:19:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FMJwh1016646; Mon, 15 May 2023 22:19:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FMJwwI016645; Mon, 15 May 2023 22:19:58 GMT (envelope-from git) Date: Mon, 15 May 2023 22:19:58 GMT Message-Id: <202305152219.34FMJwwI016645@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 28f66935d400 - main - tests: Disable sys/compat32 and sys/compat32/aarch64 tests List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 28f66935d400eb3fb52f4e64931c0cb3c9d24be4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=28f66935d400eb3fb52f4e64931c0cb3c9d24be4 commit 28f66935d400eb3fb52f4e64931c0cb3c9d24be4 Author: Jessica Clarke AuthorDate: 2023-05-15 22:16:40 +0000 Commit: Jessica Clarke CommitDate: 2023-05-15 22:16:40 +0000 tests: Disable sys/compat32 and sys/compat32/aarch64 tests The former has build system issues, with missing Kyuafiles, presumably due to not using TESTS_SUBDIRS and bsd.test.mk (and possibly some issues on top of that around TESTSDIR and related variables). The latter has issues with GCC and cut-down LLVM builds. Requested by: kevans Fixes: ccb59683b983 ("arm64: add tests for swp/swpb emulation") --- tests/sys/compat32/Makefile | 4 +++- tests/sys/compat32/aarch64/Makefile | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/sys/compat32/Makefile b/tests/sys/compat32/Makefile index 31834de16246..3dd5ca218d00 100644 --- a/tests/sys/compat32/Makefile +++ b/tests/sys/compat32/Makefile @@ -1,6 +1,8 @@ - +# XXX: Currently broken in CI +.if 0 .if exists(${.CURDIR}/${MACHINE_ARCH}) SUBDIR+= ${MACHINE_ARCH} .endif .include +.endif diff --git a/tests/sys/compat32/aarch64/Makefile b/tests/sys/compat32/aarch64/Makefile index 716182b15d9c..f5961b06cc8b 100644 --- a/tests/sys/compat32/aarch64/Makefile +++ b/tests/sys/compat32/aarch64/Makefile @@ -1,3 +1,5 @@ +# XXX: Doesn't work with GCC and requires an LLVM with the ARM backend +.if 0 PACKAGE= tests FILESGROUPS+= asmprogs @@ -22,3 +24,4 @@ ${aprog}: ${aprog}.S .endfor .include +.endif From nobody Mon May 15 23:42:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKwrp6R72z4BFYl; Mon, 15 May 2023 23:42: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 4QKwrp69jhz3LWr; Mon, 15 May 2023 23:42:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684194138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z87ToFD+ttaj5jbCTP4dr6g0qbNEcbKn9MB+27QSd88=; b=SFI6ZlDSbxzDiY8L0ZrwVkCbsr3HpsNWHZJzo4+F9LPQxyoRo8OflOHCKj1agwP5n+yQOA Z6tUY1tU1AZE00BOWP8x1+Tkq5L5dUL50eRRO0LRGpDmKgU1AJ3H/1bwlR0TGz2ahjlOUj 4P5bCSPNGV16/a0EnzqWbhT94KBNwaulYdDUnACSAiF6CJ5ckQ+3Rx/TVCDE/JC1znHgU8 BcR0lQ5nSAlY7A/jZyJdZBuyG0EQ8iq07Nwe4mDvvthoZmlDkP8llqKRM4F7LxjhCwHWBT pTsngfHe+Dt/MzFkR+OVhnLmoQ0d7ajNjaIOFEo2b758jvBQF2Sapx/Zqv5QDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684194138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z87ToFD+ttaj5jbCTP4dr6g0qbNEcbKn9MB+27QSd88=; b=rBCLBQ2TtSrFvFBc5mlyEZpFdoEr+4aVycdGZ23oyKGBhJuBdBnaw3HSkZL7K+mdu80fyd kWELECbFTzc6TO/hLpQAZyZmnFVdh8itUAmyhbmOIC79JoVtSzRHfX1RiYKN8KDyrafjeL 9ONt/hHn9ueORYvJ2PUkEgHlpZRgJ7CvnpN/O/hgQIvc/codxFPVSpJaf9w11TJpIa9C6h csXmmrv7m1iw2znN5g1rFXXSxGNmaQWF9Nc6iqkhQc1/lOLaq8sBrxgIgGVZ2n1lQnBqo0 1XmgJR4deSXU4IGA4SVKwarUuRP1QT54cx+A3Tdz3BDQWYzScj9P2lz3ufb7JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684194138; a=rsa-sha256; cv=none; b=Gt28XmsoMfo7Eu3NZiHe7GitpQZ2b9fkdkX2d5/2QzcIk22MzUt+SsWuOEpGglQv3G/LKo gC7wUEZdokowXw31qeNE+JbkcUpHA8jQQQNzr31GN8JgaGiDPkbs9vf0gzmCb7Ry9PDDKo 1ne/XczpwSHfeuLMWfIXd29rgSHhd5nOUzDbw4cP1wufhD2qbdj0F9asC9J9iEvIOB1wY5 VsKNkK/AuNtKhQR18d7YvQoBAwKzabp8tjGWBclPNcrSLI7tlgJ+/U6Jah/NA2xgd/8EqS xLDbfzUKHUj4CHGN53tl6SZhavYJMLY75OiMDEWNDxrV/sxnmkLblmt2kZxe5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKwrp5Cqcz10dB; Mon, 15 May 2023 23:42:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FNgIkD061450; Mon, 15 May 2023 23:42:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FNgI3s061449; Mon, 15 May 2023 23:42:18 GMT (envelope-from git) Date: Mon, 15 May 2023 23:42:18 GMT Message-Id: <202305152342.34FNgI3s061449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: b4805d577787 - stable/13 - nfsd: Prepare the NFS server code to run in a vnet prison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b4805d5777871ee62400737ceddec5e0e5e05941 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=b4805d5777871ee62400737ceddec5e0e5e05941 commit b4805d5777871ee62400737ceddec5e0e5e05941 Author: Rick Macklem AuthorDate: 2023-02-11 23:51:19 +0000 Commit: Rick Macklem CommitDate: 2023-05-15 23:39:04 +0000 nfsd: Prepare the NFS server code to run in a vnet prison This patch defines null macros that can be used to apply the vnet macros for global variables and SYSCTL flags. It also applies these macros to many of the global variables and some of the SYSCTLs. Since the macros do nothing, these changes should not result in semantics changes, although the changes are large in number. The patch does change several global variables that were arrays or structures to pointers to same. For these variables, modified initialization and cleanup code malloc's and free's the arrays/structures. This was done so that the vnet footprint would be about 300bytes when the macros are defined as vnet macros, allowing nfsd.ko to load dynamically. I believe the comments in D37519 have been addressed, although it has never been reviewed, due in part to the large size of the patch. This is the first of a series of patches that will put D37519 in main. Once everything is in main, the macros will be defined as front end macros to the vnet ones. (cherry picked from commit 7e44856e3a6deb194c2c376e886854b256360c40) --- sys/fs/nfs/nfs_var.h | 2 +- sys/fs/nfs/nfsport.h | 14 ++ sys/fs/nfsserver/nfs_fha_new.c | 5 +- sys/fs/nfsserver/nfs_nfsdcache.c | 155 +++++++++++--------- sys/fs/nfsserver/nfs_nfsdkrpc.c | 100 ++++++++----- sys/fs/nfsserver/nfs_nfsdport.c | 292 +++++++++++++++++++++++++------------- sys/fs/nfsserver/nfs_nfsdsocket.c | 70 +++++---- sys/fs/nfsserver/nfs_nfsdstate.c | 186 +++++++++++++----------- sys/fs/nfsserver/nfs_nfsdsubs.c | 45 +++--- 9 files changed, 522 insertions(+), 347 deletions(-) diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 9dd3be3d5c42..ef7d0050e1a3 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -122,7 +122,7 @@ int nfsrv_delegupdate(struct nfsrv_descript *, nfsquad_t, nfsv4stateid_t *, int nfsrv_releaselckown(struct nfsstate *, nfsquad_t, NFSPROC_T *); void nfsrv_zapclient(struct nfsclient *, NFSPROC_T *); int nfssvc_idname(struct nfsd_idargs *); -void nfsrv_servertimer(void); +void nfsrv_servertimer(void * __unused); int nfsrv_getclientipaddr(struct nfsrv_descript *, struct nfsclient *); void nfsrv_setupstable(NFSPROC_T *); void nfsrv_updatestable(NFSPROC_T *); diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 2955ae43de85..0a0e68787f65 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -181,6 +181,20 @@ */ #define NFSMUTEX_T struct mtx +/* Define the NFSD_VNET macros similar to !VIMAGE. */ +#define NFSD_VNET_NAME(n) n +#define NFSD_VNET_DECLARE(t, n) extern t n +#define NFSD_VNET_DEFINE(t, n) t n +#define NFSD_VNET_DEFINE_STATIC(t, n) static t n +#define NFSD_VNET(n) (n) + +#define CTLFLAG_NFSD_VNET 0 + +#define NFSD_CURVNET_SET(n) +#define NFSD_CURVNET_SET_QUIET(n) +#define NFSD_CURVNET_RESTORE() +#define NFSD_TD_TO_VNET(n) NULL + #endif /* _KERNEL */ /* diff --git a/sys/fs/nfsserver/nfs_fha_new.c b/sys/fs/nfsserver/nfs_fha_new.c index 1f66842da5b8..59933ef01bd4 100644 --- a/sys/fs/nfsserver/nfs_fha_new.c +++ b/sys/fs/nfsserver/nfs_fha_new.c @@ -61,7 +61,8 @@ static struct fha_params fhanew_softc; SYSCTL_DECL(_vfs_nfsd); extern int newnfs_nfsv3_procid[]; -extern SVCPOOL *nfsrvd_pool; + +NFSD_VNET_DECLARE(SVCPOOL *, nfsrvd_pool); SYSINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_init, NULL); SYSUNINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_uninit, NULL); @@ -79,7 +80,7 @@ fhanew_init(void *foo) snprintf(softc->server_name, sizeof(softc->server_name), FHANEW_SERVER_NAME); - softc->pool = &nfsrvd_pool; + softc->pool = &NFSD_VNET(nfsrvd_pool); /* * Initialize the sysctl context list for the fha module. diff --git a/sys/fs/nfsserver/nfs_nfsdcache.c b/sys/fs/nfsserver/nfs_nfsdcache.c index 5efcb90411e0..e94d58481286 100644 --- a/sys/fs/nfsserver/nfs_nfsdcache.c +++ b/sys/fs/nfsserver/nfs_nfsdcache.c @@ -160,11 +160,15 @@ __FBSDID("$FreeBSD$"); */ #include -extern struct nfsstatsv1 nfsstatsv1; extern struct mtx nfsrc_udpmtx; -extern struct nfsrchash_bucket nfsrchash_table[NFSRVCACHE_HASHSIZE]; -extern struct nfsrchash_bucket nfsrcahash_table[NFSRVCACHE_HASHSIZE]; -int nfsrc_floodlevel = NFSRVCACHE_FLOODLEVEL, nfsrc_tcpsavedreplies = 0; + +NFSD_VNET_DECLARE(struct nfsrvhashhead *, nfsrvudphashtbl); +NFSD_VNET_DECLARE(struct nfsrchash_bucket *, nfsrchash_table); +NFSD_VNET_DECLARE(struct nfsrchash_bucket *, nfsrcahash_table); +NFSD_VNET_DECLARE(struct nfsstatsv1 *, nfsstatsv1_p); + +NFSD_VNET_DEFINE(int, nfsrc_floodlevel) = NFSRVCACHE_FLOODLEVEL; +NFSD_VNET_DEFINE(int, nfsrc_tcpsavedreplies) = 0; SYSCTL_DECL(_vfs_nfsd); @@ -180,8 +184,8 @@ sysctl_tcphighwater(SYSCTL_HANDLER_ARGS) return (error); if (newhighwater < 0) return (EINVAL); - if (newhighwater >= nfsrc_floodlevel) - nfsrc_floodlevel = newhighwater + newhighwater / 5; + if (newhighwater >= NFSD_VNET(nfsrc_floodlevel)) + NFSD_VNET(nfsrc_floodlevel) = newhighwater + newhighwater / 5; nfsrc_tcphighwater = newhighwater; return (0); } @@ -202,9 +206,8 @@ SYSCTL_UINT(_vfs_nfsd, OID_AUTO, cachetcp, CTLFLAG_RW, &nfsrc_tcpnonidempotent, 0, "Enable the DRC for NFS over TCP"); -static int nfsrc_udpcachesize = 0; -static TAILQ_HEAD(, nfsrvcache) nfsrvudplru; -static struct nfsrvhashhead nfsrvudphashtbl[NFSRVCACHE_HASHSIZE]; +NFSD_VNET_DEFINE_STATIC(int, nfsrc_udpcachesize) = 0; +NFSD_VNET_DEFINE_STATIC(TAILQ_HEAD(, nfsrvcache), nfsrvudplru); /* * and the reverse mapping from generic to Version 2 procedure numbers @@ -236,10 +239,10 @@ static int newnfsv2_procid[NFS_V3NPROCS] = { #define nfsrc_hash(xid) (((xid) + ((xid) >> 24)) % NFSRVCACHE_HASHSIZE) #define NFSRCUDPHASH(xid) \ - (&nfsrvudphashtbl[nfsrc_hash(xid)]) + (&NFSD_VNET(nfsrvudphashtbl)[nfsrc_hash(xid)]) #define NFSRCHASH(xid) \ - (&nfsrchash_table[nfsrc_hash(xid)].tbl) -#define NFSRCAHASH(xid) (&nfsrcahash_table[nfsrc_hash(xid)]) + (&NFSD_VNET(nfsrchash_table)[nfsrc_hash(xid)].tbl) +#define NFSRCAHASH(xid) (&NFSD_VNET(nfsrcahash_table)[nfsrc_hash(xid)]) #define TRUE 1 #define FALSE 0 #define NFSRVCACHE_CHECKLEN 100 @@ -295,7 +298,7 @@ nfsrc_cachemutex(struct nfsrvcache *rp) if ((rp->rc_flag & RC_UDP) != 0) return (&nfsrc_udpmtx); - return (&nfsrchash_table[nfsrc_hash(rp->rc_xid)].mtx); + return (&NFSD_VNET(nfsrchash_table)[nfsrc_hash(rp->rc_xid)].mtx); } /* @@ -305,21 +308,27 @@ void nfsrvd_initcache(void) { int i; - static int inited = 0; - if (inited) - return; - inited = 1; + NFSD_VNET(nfsrvudphashtbl) = malloc(sizeof(struct nfsrvhashhead) * + NFSRVCACHE_HASHSIZE, M_NFSRVCACHE, M_WAITOK | M_ZERO); + NFSD_VNET(nfsrchash_table) = malloc(sizeof(struct nfsrchash_bucket) * + NFSRVCACHE_HASHSIZE, M_NFSRVCACHE, M_WAITOK | M_ZERO); + NFSD_VNET(nfsrcahash_table) = malloc(sizeof(struct nfsrchash_bucket) * + NFSRVCACHE_HASHSIZE, M_NFSRVCACHE, M_WAITOK | M_ZERO); + for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { + mtx_init(&NFSD_VNET(nfsrchash_table)[i].mtx, "nfsrtc", NULL, + MTX_DEF); + mtx_init(&NFSD_VNET(nfsrcahash_table)[i].mtx, "nfsrtca", NULL, + MTX_DEF); + } for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - LIST_INIT(&nfsrvudphashtbl[i]); - LIST_INIT(&nfsrchash_table[i].tbl); - LIST_INIT(&nfsrcahash_table[i].tbl); + LIST_INIT(&NFSD_VNET(nfsrvudphashtbl)[i]); + LIST_INIT(&NFSD_VNET(nfsrchash_table)[i].tbl); + LIST_INIT(&NFSD_VNET(nfsrcahash_table)[i].tbl); } - TAILQ_INIT(&nfsrvudplru); - nfsrc_tcpsavedreplies = 0; - nfsrc_udpcachesize = 0; - nfsstatsv1.srvcache_tcppeak = 0; - nfsstatsv1.srvcache_size = 0; + TAILQ_INIT(&NFSD_VNET(nfsrvudplru)); + NFSD_VNET(nfsrc_tcpsavedreplies) = 0; + NFSD_VNET(nfsrc_udpcachesize) = 0; } /* @@ -392,17 +401,17 @@ loop: if (rp->rc_flag == 0) panic("nfs udp cache0"); rp->rc_flag |= RC_LOCKED; - TAILQ_REMOVE(&nfsrvudplru, rp, rc_lru); - TAILQ_INSERT_TAIL(&nfsrvudplru, rp, rc_lru); + TAILQ_REMOVE(&NFSD_VNET(nfsrvudplru), rp, rc_lru); + TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), rp, rc_lru); if (rp->rc_flag & RC_INPROG) { - nfsstatsv1.srvcache_inproghits++; + nfsstatsv1_p->srvcache_inproghits++; mtx_unlock(mutex); ret = RC_DROPIT; } else if (rp->rc_flag & RC_REPSTATUS) { /* * V2 only. */ - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); nfsrvd_rephead(nd); *(nd->nd_errp) = rp->rc_status; @@ -410,7 +419,7 @@ loop: rp->rc_timestamp = NFSD_MONOSEC + NFSRVCACHE_UDPTIMEOUT; } else if (rp->rc_flag & RC_REPMBUF) { - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); nd->nd_mreq = m_copym(rp->rc_reply, 0, M_COPYALL, M_WAITOK); @@ -425,9 +434,9 @@ loop: goto out; } } - nfsstatsv1.srvcache_misses++; - atomic_add_int(&nfsstatsv1.srvcache_size, 1); - nfsrc_udpcachesize++; + nfsstatsv1_p->srvcache_misses++; + atomic_add_int(&nfsstatsv1_p->srvcache_size, 1); + NFSD_VNET(nfsrc_udpcachesize)++; newrp->rc_flag |= RC_INPROG; saddr = NFSSOCKADDR(nd->nd_nam, struct sockaddr_in *); @@ -440,7 +449,7 @@ loop: newrp->rc_flag |= RC_INETIPV6; } LIST_INSERT_HEAD(hp, newrp, rc_hash); - TAILQ_INSERT_TAIL(&nfsrvudplru, newrp, rc_lru); + TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), newrp, rc_lru); mtx_unlock(mutex); nd->nd_rp = newrp; ret = RC_DOIT; @@ -472,15 +481,15 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) panic("nfsrvd_updatecache not inprog"); rp->rc_flag &= ~RC_INPROG; if (rp->rc_flag & RC_UDP) { - TAILQ_REMOVE(&nfsrvudplru, rp, rc_lru); - TAILQ_INSERT_TAIL(&nfsrvudplru, rp, rc_lru); + TAILQ_REMOVE(&NFSD_VNET(nfsrvudplru), rp, rc_lru); + TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), rp, rc_lru); } /* * Reply from cache is a special case returned by nfsrv_checkseqid(). */ if (nd->nd_repstat == NFSERR_REPLYFROMCACHE) { - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); nd->nd_repstat = 0; if (nd->nd_mreq) @@ -503,7 +512,7 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) (rp->rc_refcnt > 0 || ((nd->nd_flag & ND_SAVEREPLY) && (rp->rc_flag & RC_UDP)) || ((nd->nd_flag & ND_SAVEREPLY) && !(rp->rc_flag & RC_UDP) && - nfsrc_tcpsavedreplies <= nfsrc_floodlevel && + NFSD_VNET(nfsrc_tcpsavedreplies) <= NFSD_VNET(nfsrc_floodlevel) && nfsrc_tcpnonidempotent))) { if (rp->rc_refcnt > 0) { if (!(rp->rc_flag & RC_NFSV4)) @@ -517,11 +526,12 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) mtx_unlock(mutex); } else { if (!(rp->rc_flag & RC_UDP)) { - atomic_add_int(&nfsrc_tcpsavedreplies, 1); - if (nfsrc_tcpsavedreplies > - nfsstatsv1.srvcache_tcppeak) - nfsstatsv1.srvcache_tcppeak = - nfsrc_tcpsavedreplies; + atomic_add_int(&NFSD_VNET(nfsrc_tcpsavedreplies), + 1); + if (NFSD_VNET(nfsrc_tcpsavedreplies) > + nfsstatsv1_p->srvcache_tcppeak) + nfsstatsv1_p->srvcache_tcppeak = + NFSD_VNET(nfsrc_tcpsavedreplies); } mtx_unlock(mutex); m = m_copym(nd->nd_mreq, 0, M_COPYALL, M_WAITOK); @@ -678,7 +688,7 @@ tryagain: panic("nfs tcp cache0"); rp->rc_flag |= RC_LOCKED; if (rp->rc_flag & RC_INPROG) { - nfsstatsv1.srvcache_inproghits++; + nfsstatsv1_p->srvcache_inproghits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -687,7 +697,7 @@ tryagain: /* * V2 only. */ - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -696,7 +706,7 @@ tryagain: *(nd->nd_errp) = rp->rc_status; rp->rc_timestamp = NFSD_MONOSEC + nfsrc_tcptimeout; } else if (rp->rc_flag & RC_REPMBUF) { - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -711,8 +721,8 @@ tryagain: free(newrp, M_NFSRVCACHE); goto out; } - nfsstatsv1.srvcache_misses++; - atomic_add_int(&nfsstatsv1.srvcache_size, 1); + nfsstatsv1_p->srvcache_misses++; + atomic_add_int(&nfsstatsv1_p->srvcache_size, 1); /* * For TCP, multiple entries for a key are allowed, so don't @@ -785,8 +795,8 @@ nfsrc_freecache(struct nfsrvcache *rp) LIST_REMOVE(rp, rc_hash); if (rp->rc_flag & RC_UDP) { - TAILQ_REMOVE(&nfsrvudplru, rp, rc_lru); - nfsrc_udpcachesize--; + TAILQ_REMOVE(&NFSD_VNET(nfsrvudplru), rp, rc_lru); + NFSD_VNET(nfsrc_udpcachesize)--; } else if (rp->rc_acked != RC_NO_SEQ) { hbp = NFSRCAHASH(rp->rc_sockref); mtx_lock(&hbp->mtx); @@ -798,10 +808,10 @@ nfsrc_freecache(struct nfsrvcache *rp) if (rp->rc_flag & RC_REPMBUF) { m_freem(rp->rc_reply); if (!(rp->rc_flag & RC_UDP)) - atomic_add_int(&nfsrc_tcpsavedreplies, -1); + atomic_add_int(&NFSD_VNET(nfsrc_tcpsavedreplies), -1); } free(rp, M_NFSRVCACHE); - atomic_add_int(&nfsstatsv1.srvcache_size, -1); + atomic_add_int(&nfsstatsv1_p->srvcache_size, -1); } /* @@ -814,20 +824,22 @@ nfsrvd_cleancache(void) int i; for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - mtx_lock(&nfsrchash_table[i].mtx); - LIST_FOREACH_SAFE(rp, &nfsrchash_table[i].tbl, rc_hash, nextrp) + mtx_lock(&NFSD_VNET(nfsrchash_table)[i].mtx); + LIST_FOREACH_SAFE(rp, &NFSD_VNET(nfsrchash_table)[i].tbl, + rc_hash, nextrp) nfsrc_freecache(rp); - mtx_unlock(&nfsrchash_table[i].mtx); + mtx_unlock(&NFSD_VNET(nfsrchash_table)[i].mtx); } mtx_lock(&nfsrc_udpmtx); for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - LIST_FOREACH_SAFE(rp, &nfsrvudphashtbl[i], rc_hash, nextrp) { + LIST_FOREACH_SAFE(rp, &NFSD_VNET(nfsrvudphashtbl)[i], rc_hash, + nextrp) { nfsrc_freecache(rp); } } - nfsstatsv1.srvcache_size = 0; + nfsstatsv1_p->srvcache_size = 0; mtx_unlock(&nfsrc_udpmtx); - nfsrc_tcpsavedreplies = 0; + NFSD_VNET(nfsrc_tcpsavedreplies) = 0; } #define HISTSIZE 16 @@ -864,25 +876,28 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) if (atomic_cmpset_acq_int(&onethread, 0, 1) == 0) return; if (NFSD_MONOSEC != udp_lasttrim || - nfsrc_udpcachesize >= (nfsrc_udphighwater + + NFSD_VNET(nfsrc_udpcachesize) >= (nfsrc_udphighwater + nfsrc_udphighwater / 2)) { mtx_lock(&nfsrc_udpmtx); udp_lasttrim = NFSD_MONOSEC; - TAILQ_FOREACH_SAFE(rp, &nfsrvudplru, rc_lru, nextrp) { + TAILQ_FOREACH_SAFE(rp, &NFSD_VNET(nfsrvudplru), rc_lru, + nextrp) { if (!(rp->rc_flag & (RC_INPROG|RC_LOCKED|RC_WANTED)) && rp->rc_refcnt == 0 && ((rp->rc_flag & RC_REFCNT) || udp_lasttrim > rp->rc_timestamp || - nfsrc_udpcachesize > nfsrc_udphighwater)) + NFSD_VNET(nfsrc_udpcachesize) > + nfsrc_udphighwater)) nfsrc_freecache(rp); } mtx_unlock(&nfsrc_udpmtx); } if (NFSD_MONOSEC != tcp_lasttrim || - nfsrc_tcpsavedreplies >= nfsrc_tcphighwater) { + NFSD_VNET(nfsrc_tcpsavedreplies) >= nfsrc_tcphighwater) { force = nfsrc_tcphighwater / 4; if (force > 0 && - nfsrc_tcpsavedreplies + force >= nfsrc_tcphighwater) { + NFSD_VNET(nfsrc_tcpsavedreplies) + force >= + nfsrc_tcphighwater) { for (i = 0; i < HISTSIZE; i++) time_histo[i] = 0; i = 0; @@ -901,8 +916,9 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) tto = nfsrc_tcptimeout; tcp_lasttrim = NFSD_MONOSEC; for (; i <= lastslot; i++) { - mtx_lock(&nfsrchash_table[i].mtx); - LIST_FOREACH_SAFE(rp, &nfsrchash_table[i].tbl, rc_hash, + mtx_lock(&NFSD_VNET(nfsrchash_table)[i].mtx); + LIST_FOREACH_SAFE(rp, + &NFSD_VNET(nfsrchash_table)[i].tbl, rc_hash, nextrp) { if (!(rp->rc_flag & (RC_INPROG|RC_LOCKED|RC_WANTED)) @@ -932,7 +948,7 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) time_histo[j]++; } } - mtx_unlock(&nfsrchash_table[i].mtx); + mtx_unlock(&NFSD_VNET(nfsrchash_table)[i].mtx); } if (force) { /* @@ -951,8 +967,9 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) k = 1; thisstamp = tcp_lasttrim + k; for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - mtx_lock(&nfsrchash_table[i].mtx); - LIST_FOREACH_SAFE(rp, &nfsrchash_table[i].tbl, + mtx_lock(&NFSD_VNET(nfsrchash_table)[i].mtx); + LIST_FOREACH_SAFE(rp, + &NFSD_VNET(nfsrchash_table)[i].tbl, rc_hash, nextrp) { if (!(rp->rc_flag & (RC_INPROG|RC_LOCKED|RC_WANTED)) @@ -962,7 +979,7 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) rp->rc_acked == RC_ACK)) nfsrc_freecache(rp); } - mtx_unlock(&nfsrchash_table[i].mtx); + mtx_unlock(&NFSD_VNET(nfsrchash_table)[i].mtx); } } } diff --git a/sys/fs/nfsserver/nfs_nfsdkrpc.c b/sys/fs/nfsserver/nfs_nfsdkrpc.c index 44f585ff0beb..7b0f84c397bc 100644 --- a/sys/fs/nfsserver/nfs_nfsdkrpc.c +++ b/sys/fs/nfsserver/nfs_nfsdkrpc.c @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); NFSDLOCKMUTEX; NFSV4ROOTLOCKMUTEX; -struct nfsv4lock nfsd_suspend_lock; char *nfsrv_zeropnfsdat = NULL; /* @@ -85,32 +84,39 @@ int newnfs_nfsv3_procid[NFS_V3NPROCS] = { SYSCTL_DECL(_vfs_nfsd); -SVCPOOL *nfsrvd_pool; - -static int nfs_privport = 0; -SYSCTL_INT(_vfs_nfsd, OID_AUTO, nfs_privport, CTLFLAG_RWTUN, - &nfs_privport, 0, +NFSD_VNET_DEFINE_STATIC(int, nfs_privport) = 0; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, nfs_privport, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfs_privport), 0, "Only allow clients using a privileged port for NFSv2, 3 and 4"); -static int nfs_minvers = NFS_VER2; -SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_min_nfsvers, CTLFLAG_RWTUN, - &nfs_minvers, 0, "The lowest version of NFS handled by the server"); +NFSD_VNET_DEFINE_STATIC(int, nfs_minvers) = NFS_VER2; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_min_nfsvers, + CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, &NFSD_VNET_NAME(nfs_minvers), 0, + "The lowest version of NFS handled by the server"); -static int nfs_maxvers = NFS_VER4; -SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_max_nfsvers, CTLFLAG_RWTUN, - &nfs_maxvers, 0, "The highest version of NFS handled by the server"); +NFSD_VNET_DEFINE_STATIC(int, nfs_maxvers) = NFS_VER4; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_max_nfsvers, + CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, &NFSD_VNET_NAME(nfs_maxvers), 0, + "The highest version of NFS handled by the server"); static int nfs_proc(struct nfsrv_descript *, u_int32_t, SVCXPRT *xprt, struct nfsrvcache **); extern u_long sb_max_adj; extern int newnfs_numnfsd; -extern struct proc *nfsd_master_proc; extern time_t nfsdev_time; extern int nfsrv_writerpc[NFS_NPROCS]; extern volatile int nfsrv_devidcnt; extern struct nfsv4_opflag nfsv4_opflag[NFSV42_NOPS]; +NFSD_VNET_DECLARE(struct proc *, nfsd_master_proc); + +NFSD_VNET_DEFINE(SVCPOOL *, nfsrvd_pool); +NFSD_VNET_DEFINE(int, nfsrv_numnfsd) = 0; +NFSD_VNET_DEFINE(struct nfsv4lock, nfsd_suspend_lock); + +NFSD_VNET_DEFINE_STATIC(bool, nfsrvd_inited) = false; + /* * NFS server system calls */ @@ -125,6 +131,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) u_int maxlen; #endif + NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); memset(&nd, 0, sizeof(nd)); if (rqst->rq_vers == NFS_VER2) { if (rqst->rq_proc > NFSV2PROC_STATFS || @@ -169,7 +176,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) nd.nd_mreq = NULL; nd.nd_cred = NULL; - if (nfs_privport != 0) { + if (NFSD_VNET(nfs_privport) != 0) { /* Check if source port is privileged */ u_short port; struct sockaddr *nam = nd.nd_nam; @@ -261,17 +268,17 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) * nfsv4root exports by nfsvno_v4rootexport(). */ NFSLOCKV4ROOTMUTEX(); - nfsv4_lock(&nfsd_suspend_lock, 0, NULL, NFSV4ROOTLOCKMUTEXPTR, - NULL); - nfsv4_getref(&nfsd_suspend_lock, NULL, NFSV4ROOTLOCKMUTEXPTR, - NULL); + nfsv4_lock(&NFSD_VNET(nfsd_suspend_lock), 0, NULL, + NFSV4ROOTLOCKMUTEXPTR, NULL); + nfsv4_getref(&NFSD_VNET(nfsd_suspend_lock), NULL, + NFSV4ROOTLOCKMUTEXPTR, NULL); NFSUNLOCKV4ROOTMUTEX(); if ((nd.nd_flag & ND_NFSV4) != 0) { nd.nd_repstat = nfsvno_v4rootexport(&nd); if (nd.nd_repstat != 0) { NFSLOCKV4ROOTMUTEX(); - nfsv4_relref(&nfsd_suspend_lock); + nfsv4_relref(&NFSD_VNET(nfsd_suspend_lock)); NFSUNLOCKV4ROOTMUTEX(); svcerr_weakauth(rqst); svc_freereq(rqst); @@ -287,7 +294,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) #endif cacherep = nfs_proc(&nd, rqst->rq_xid, xprt, &rp); NFSLOCKV4ROOTMUTEX(); - nfsv4_relref(&nfsd_suspend_lock); + nfsv4_relref(&NFSD_VNET(nfsd_suspend_lock)); NFSUNLOCKV4ROOTMUTEX(); } else { NFSMGET(nd.nd_mreq); @@ -327,6 +334,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) svc_freereq(rqst); out: + NFSD_CURVNET_RESTORE(); td_softdep_cleanup(curthread); NFSEXITCODE(0); } @@ -440,7 +448,9 @@ nfssvc_loss(SVCXPRT *xprt) ack = 0; SVC_ACK(xprt, &ack); + NFSD_CURVNET_SET(NFSD_TD_TO_VNET(curthread)); nfsrc_trimcache(xprt->xp_sockref, ack, 1); + NFSD_CURVNET_RESTORE(); } /* @@ -467,26 +477,28 @@ nfsrvd_addsock(struct file *fp) * unexpectedly. */ if (so->so_type == SOCK_DGRAM) - xprt = svc_dg_create(nfsrvd_pool, so, 0, 0); + xprt = svc_dg_create(NFSD_VNET(nfsrvd_pool), so, 0, 0); else - xprt = svc_vc_create(nfsrvd_pool, so, 0, 0); + xprt = svc_vc_create(NFSD_VNET(nfsrvd_pool), so, 0, 0); if (xprt) { fp->f_ops = &badfileops; fp->f_data = NULL; xprt->xp_sockref = ++sockref; - if (nfs_minvers == NFS_VER2) + if (NFSD_VNET(nfs_minvers) == NFS_VER2) svc_reg(xprt, NFS_PROG, NFS_VER2, nfssvc_program, NULL); - if (nfs_minvers <= NFS_VER3 && nfs_maxvers >= NFS_VER3) + if (NFSD_VNET(nfs_minvers) <= NFS_VER3 && + NFSD_VNET(nfs_maxvers) >= NFS_VER3) svc_reg(xprt, NFS_PROG, NFS_VER3, nfssvc_program, NULL); - if (nfs_maxvers >= NFS_VER4) + if (NFSD_VNET(nfs_maxvers) >= NFS_VER4) svc_reg(xprt, NFS_PROG, NFS_VER4, nfssvc_program, NULL); if (so->so_type == SOCK_STREAM) svc_loss_reg(xprt, nfssvc_loss); SVC_RELEASE(xprt); - } + } else + error = EPERM; out: NFSEXITCODE(error); @@ -518,13 +530,15 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) * use. */ NFSD_LOCK(); - if (newnfs_numnfsd == 0) { + if (NFSD_VNET(nfsrv_numnfsd) == 0) { + nfsrvd_init(0); nfsdev_time = time_second; p = td->td_proc; PROC_LOCK(p); p->p_flag2 |= P2_AST_SU; PROC_UNLOCK(p); - newnfs_numnfsd++; + newnfs_numnfsd++; /* Total num for all vnets. */ + NFSD_VNET(nfsrv_numnfsd)++; /* Num for this vnet. */ NFSD_UNLOCK(); error = nfsrv_createdevids(args, td); @@ -542,12 +556,15 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) NFS_VER4); if (!ret2 || !ret3 || !ret4) - printf( - "nfsd: can't register svc name\n"); + printf("nfsd: can't register svc " + "name %s jid:%d\n", principal, + td->td_ucred->cr_prison->pr_id); } - nfsrvd_pool->sp_minthreads = args->minthreads; - nfsrvd_pool->sp_maxthreads = args->maxthreads; + NFSD_VNET(nfsrvd_pool)->sp_minthreads = + args->minthreads; + NFSD_VNET(nfsrvd_pool)->sp_maxthreads = + args->maxthreads; /* * If this is a pNFS service, make Getattr do a @@ -558,7 +575,7 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) nfsv4_opflag[NFSV4OP_GETATTR].modifyfs = 1; } - svc_run(nfsrvd_pool); + svc_run(NFSD_VNET(nfsrvd_pool)); /* Reset Getattr to not do a vn_start_write(). */ nfsrv_writerpc[NFSPROC_GETATTR] = 0; @@ -572,6 +589,7 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) } NFSD_LOCK(); newnfs_numnfsd--; + NFSD_VNET(nfsrv_numnfsd)--; nfsrvd_init(1); PROC_LOCK(p); p->p_flag2 &= ~P2_AST_SU; @@ -596,21 +614,25 @@ nfsrvd_init(int terminating) NFSD_LOCK_ASSERT(); if (terminating) { - nfsd_master_proc = NULL; + NFSD_VNET(nfsd_master_proc) = NULL; NFSD_UNLOCK(); nfsrv_freealllayoutsanddevids(); nfsrv_freeallbackchannel_xprts(); - svcpool_close(nfsrvd_pool); + svcpool_close(NFSD_VNET(nfsrvd_pool)); free(nfsrv_zeropnfsdat, M_TEMP); nfsrv_zeropnfsdat = NULL; NFSD_LOCK(); } else { + /* Initialize per-vnet globals once per vnet. */ + if (NFSD_VNET(nfsrvd_inited)) + return; + NFSD_VNET(nfsrvd_inited) = true; NFSD_UNLOCK(); - nfsrvd_pool = svcpool_create("nfsd", + NFSD_VNET(nfsrvd_pool) = svcpool_create("nfsd", SYSCTL_STATIC_CHILDREN(_vfs_nfsd)); - nfsrvd_pool->sp_rcache = NULL; - nfsrvd_pool->sp_assign = fhanew_assign; - nfsrvd_pool->sp_done = fhanew_nd_complete; + NFSD_VNET(nfsrvd_pool)->sp_rcache = NULL; + NFSD_VNET(nfsrvd_pool)->sp_assign = fhanew_assign; + NFSD_VNET(nfsrvd_pool)->sp_done = fhanew_nd_complete; NFSD_LOCK(); } } diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 407987aa767f..a58df7b69420 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -59,45 +60,57 @@ FEATURE(nfsd, "NFSv4 server"); extern u_int32_t newnfs_true, newnfs_false, newnfs_xdrneg1; extern int nfsrv_useacl; extern int newnfs_numnfsd; -extern struct mount nfsv4root_mnt; -extern struct nfsrv_stablefirst nfsrv_stablefirst; -extern SVCPOOL *nfsrvd_pool; -extern struct nfsv4lock nfsd_suspend_lock; -extern struct nfsclienthashhead *nfsclienthash; -extern struct nfslockhashhead *nfslockhash; -extern struct nfssessionhash *nfssessionhash; extern int nfsrv_sessionhashsize; extern struct nfsstatsv1 nfsstatsv1; extern struct nfslayouthash *nfslayouthash; extern int nfsrv_layouthashsize; extern struct mtx nfsrv_dslock_mtx; extern int nfs_pnfsiothreads; -extern struct nfsdontlisthead nfsrv_dontlisthead; -extern volatile int nfsrv_dontlistlen; extern volatile int nfsrv_devidcnt; extern int nfsrv_maxpnfsmirror; extern uint32_t nfs_srvmaxio; extern int nfs_bufpackets; extern u_long sb_max_adj; -struct vfsoptlist nfsv4root_opt, nfsv4root_newopt; + +NFSD_VNET_DECLARE(int, nfsrv_numnfsd); +NFSD_VNET_DECLARE(struct nfsrv_stablefirst, nfsrv_stablefirst); +NFSD_VNET_DECLARE(SVCPOOL *, nfsrvd_pool); +NFSD_VNET_DECLARE(struct nfsclienthashhead *, nfsclienthash); +NFSD_VNET_DECLARE(struct nfslockhashhead *, nfslockhash); +NFSD_VNET_DECLARE(struct nfssessionhash *, nfssessionhash); +NFSD_VNET_DECLARE(struct nfsv4lock, nfsd_suspend_lock); + NFSDLOCKMUTEX; NFSSTATESPINLOCK; -struct nfsrchash_bucket nfsrchash_table[NFSRVCACHE_HASHSIZE]; -struct nfsrchash_bucket nfsrcahash_table[NFSRVCACHE_HASHSIZE]; struct mtx nfsrc_udpmtx; struct mtx nfs_v4root_mutex; struct mtx nfsrv_dontlistlock_mtx; struct mtx nfsrv_recalllock_mtx; -struct nfsrvfh nfs_rootfh, nfs_pubfh; -int nfs_pubfhset = 0, nfs_rootfhset = 0; -struct proc *nfsd_master_proc = NULL; +struct nfsrvfh nfs_pubfh; +int nfs_pubfhset = 0; int nfsd_debuglevel = 0; static pid_t nfsd_master_pid = (pid_t)-1; static char nfsd_master_comm[MAXCOMLEN + 1]; static struct timeval nfsd_master_start; static uint32_t nfsv4_sysid = 0; static fhandle_t zerofh; -struct callout nfsd_callout; +static int nfsrv_osd_jail_slot; + +NFSD_VNET_DEFINE(struct proc *, nfsd_master_proc) = NULL; +NFSD_VNET_DEFINE(struct nfsrvhashhead *, nfsrvudphashtbl); +NFSD_VNET_DEFINE(struct nfsrchash_bucket *, nfsrchash_table); +NFSD_VNET_DEFINE(struct nfsrchash_bucket *, nfsrcahash_table); +NFSD_VNET_DEFINE(struct nfsrvfh, nfs_rootfh); +NFSD_VNET_DEFINE(int, nfs_rootfhset) = 0; +NFSD_VNET_DEFINE(struct callout, nfsd_callout); +NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); +NFSD_VNET_DEFINE_STATIC(struct mount *, nfsv4root_mnt); +NFSD_VNET_DEFINE_STATIC(struct vfsoptlist, nfsv4root_opt); +NFSD_VNET_DEFINE_STATIC(struct vfsoptlist, nfsv4root_newopt); +NFSD_VNET_DEFINE_STATIC(bool, nfsrv_suspend_nfsd) = false; +NFSD_VNET_DEFINE_STATIC(bool, nfsrv_mntinited) = false; + +static void nfsrv_cleanup(struct prison *); static int nfssvc_srvcall(struct thread *, struct nfssvc_args *, struct ucred *); @@ -108,7 +121,6 @@ static int nfs_commit_blks; static int nfs_commit_miss; extern int nfsrv_issuedelegs; extern int nfsrv_dolocallocks; -extern int nfsd_enable_stringtouid; extern struct nfsdevicehead nfsrv_devidhead; static int nfsrv_createiovec(int, struct mbuf **, struct mbuf **, @@ -168,8 +180,10 @@ SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_locallocks, CTLFLAG_RW, &nfsrv_dolocallocks, 0, "Enable nfsd to acquire local locks on files"); SYSCTL_INT(_vfs_nfsd, OID_AUTO, debuglevel, CTLFLAG_RW, &nfsd_debuglevel, 0, "Debug level for NFS server"); -SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_stringtouid, CTLFLAG_RW, - &nfsd_enable_stringtouid, 0, "Enable nfsd to accept numeric owner_names"); +NFSD_VNET_DECLARE(int, nfsd_enable_stringtouid); +SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_stringtouid, + CTLFLAG_NFSD_VNET | CTLFLAG_RW, &NFSD_VNET_NAME(nfsd_enable_stringtouid), + 0, "Enable nfsd to accept numeric owner_names"); static int nfsrv_pnfsgetdsattr = 1; SYSCTL_INT(_vfs_nfsd, OID_AUTO, pnfsgetdsattr, CTLFLAG_RW, &nfsrv_pnfsgetdsattr, 0, "When set getattr gets DS attributes via RPC"); @@ -1025,7 +1039,7 @@ nfsvno_read(struct vnode *vp, off_t off, int cnt, struct ucred *cred, nh = nfsrv_sequential_heuristic(uiop, vp); ioflag |= nh->nh_seqcount << IO_SEQSHIFT; /* XXX KDM make this more systematic? */ - nfsstatsv1.srvbytes[NFSV4OP_READ] += uiop->uio_resid; + nfsstatsv1_p->srvbytes[NFSV4OP_READ] += uiop->uio_resid; error = VOP_READ(vp, uiop, IO_NODELOCKED | ioflag, cred); free(iv, M_TEMP); if (error) { @@ -1150,7 +1164,7 @@ nfsvno_write(struct vnode *vp, off_t off, int retlen, int *stable, nh = nfsrv_sequential_heuristic(uiop, vp); ioflags |= nh->nh_seqcount << IO_SEQSHIFT; /* XXX KDM make this more systematic? */ - nfsstatsv1.srvbytes[NFSV4OP_WRITE] += uiop->uio_resid; + nfsstatsv1_p->srvbytes[NFSV4OP_WRITE] += uiop->uio_resid; error = VOP_WRITE(vp, uiop, ioflags, cred); if (error == 0) nh->nh_nextoff = uiop->uio_offset; @@ -3263,7 +3277,7 @@ nfsvno_checkexp(struct mount *mp, struct sockaddr *nam, struct nfsexstuff *exp, error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { - if (nfs_rootfhset) { + if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; exp->nes_numsecflavor = 0; error = 0; @@ -3298,7 +3312,7 @@ nfsvno_fhtovp(struct mount *mp, fhandle_t *fhp, struct sockaddr *nam, error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { - if (nfs_rootfhset) { + if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; exp->nes_numsecflavor = 0; error = 0; @@ -3466,9 +3480,9 @@ nfsrv_v4rootexport(void *argp, struct ucred *cred, struct thread *p) struct nameidata nd; fhandle_t fh; - error = vfs_export(&nfsv4root_mnt, &nfsexargp->export); + error = vfs_export(NFSD_VNET(nfsv4root_mnt), &nfsexargp->export); if ((nfsexargp->export.ex_flags & MNT_DELEXPORT) != 0) - nfs_rootfhset = 0; + NFSD_VNET(nfs_rootfhset) = 0; else if (error == 0) { if (nfsexargp->fspec == NULL) { error = EPERM; @@ -3484,11 +3498,11 @@ nfsrv_v4rootexport(void *argp, struct ucred *cred, struct thread *p) error = nfsvno_getfh(nd.ni_vp, &fh, p); vrele(nd.ni_vp); if (!error) { - nfs_rootfh.nfsrvfh_len = NFSX_MYFH; + NFSD_VNET(nfs_rootfh).nfsrvfh_len = NFSX_MYFH; NFSBCOPY((caddr_t)&fh, - nfs_rootfh.nfsrvfh_data, + NFSD_VNET(nfs_rootfh).nfsrvfh_data, sizeof (fhandle_t)); - nfs_rootfhset = 1; + NFSD_VNET(nfs_rootfhset) = 1; } } @@ -3524,29 +3538,53 @@ nfsrv_mallocmget_limit(void) void nfsd_mntinit(void) { - static int inited = 0; - if (inited) + NFSD_LOCK(); + if (NFSD_VNET(nfsrv_mntinited)) { + NFSD_UNLOCK(); return; - inited = 1; - nfsv4root_mnt.mnt_flag = (MNT_RDONLY | MNT_EXPORTED); - TAILQ_INIT(&nfsv4root_mnt.mnt_nvnodelist); - TAILQ_INIT(&nfsv4root_mnt.mnt_lazyvnodelist); - nfsv4root_mnt.mnt_export = NULL; - TAILQ_INIT(&nfsv4root_opt); - TAILQ_INIT(&nfsv4root_newopt); - nfsv4root_mnt.mnt_opt = &nfsv4root_opt; - nfsv4root_mnt.mnt_optnew = &nfsv4root_newopt; - nfsv4root_mnt.mnt_nvnodelistsize = 0; - nfsv4root_mnt.mnt_lazyvnodelistsize = 0; + } + NFSD_VNET(nfsrv_mntinited) = true; + NFSD_UNLOCK(); + + if (curthread->td_ucred->cr_prison == &prison0) + NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; + else + NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), + M_TEMP, M_WAITOK | M_ZERO); + nfsstatsv1_p->srvcache_tcppeak = 0; + nfsstatsv1_p->srvcache_size = 0; + NFSD_VNET(nfsv4root_mnt) = malloc(sizeof(struct mount), M_TEMP, + M_WAITOK | M_ZERO); + NFSD_VNET(nfsv4root_mnt)->mnt_flag = (MNT_RDONLY | MNT_EXPORTED); + mtx_init(&NFSD_VNET(nfsv4root_mnt)->mnt_mtx, "nfs4mnt", NULL, MTX_DEF); + lockinit(&NFSD_VNET(nfsv4root_mnt)->mnt_explock, PVFS, "explock", 0, 0); + TAILQ_INIT(&NFSD_VNET(nfsv4root_mnt)->mnt_nvnodelist); + TAILQ_INIT(&NFSD_VNET(nfsv4root_mnt)->mnt_lazyvnodelist); + NFSD_VNET(nfsv4root_mnt)->mnt_export = NULL; + TAILQ_INIT(&NFSD_VNET(nfsv4root_opt)); + TAILQ_INIT(&NFSD_VNET(nfsv4root_newopt)); + NFSD_VNET(nfsv4root_mnt)->mnt_opt = &NFSD_VNET(nfsv4root_opt); + NFSD_VNET(nfsv4root_mnt)->mnt_optnew = &NFSD_VNET(nfsv4root_newopt); + NFSD_VNET(nfsv4root_mnt)->mnt_nvnodelistsize = 0; + NFSD_VNET(nfsv4root_mnt)->mnt_lazyvnodelistsize = 0; + callout_init(&NFSD_VNET(nfsd_callout), 1); + + nfsrvd_initcache(); + nfsd_init(); } static void nfsd_timer(void *arg) { - - nfsrv_servertimer(); - callout_reset_sbt(&nfsd_callout, SBT_1S, SBT_1S, nfsd_timer, NULL, 0); + struct vnet *vnetp; + + vnetp = (struct vnet *)arg; + NFSD_CURVNET_SET_QUIET(vnetp); + nfsrv_servertimer(vnetp); + callout_reset_sbt(&NFSD_VNET(nfsd_callout), SBT_1S, SBT_1S, nfsd_timer, + arg, 0); + NFSD_CURVNET_RESTORE(); } /* @@ -3628,7 +3666,7 @@ nfsvno_v4rootexport(struct nfsrv_descript *nd) int error = 0, numsecflavor, secflavors[MAXSECFLAVORS], i; uint64_t exflags; - error = vfs_stdcheckexp(&nfsv4root_mnt, nd->nd_nam, &exflags, + error = vfs_stdcheckexp(NFSD_VNET(nfsv4root_mnt), nd->nd_nam, &exflags, &credanon, &numsecflavor, secflavors); if (error) { error = NFSERR_PROGUNAVAIL; @@ -3661,6 +3699,18 @@ out: return (error); *** 1205 LINES SKIPPED *** From nobody Mon May 15 23:45:46 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKwwp4Qd1z4BFy6; Mon, 15 May 2023 23:45: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 4QKwwp40XSz3M2g; Mon, 15 May 2023 23:45:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684194346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/zcru2bTExZDJ9+x1bFLC/KikXZ/pGJnKhMnxuDlys=; b=jOJmGgXeo5Unk3FlgKvi5noGmeJ7vUs4TIiqNr3Qqf2gBuuJMNoFT2+q8WZ/7rH+Wls2fK 3wxdegLjaAfm0Yoqc5HPlMxBSN/3dYqjNqQbEoNdlxlKUh5OE3+81+Ymq3vBeiXfY5Dr7k kGx32ZCoos4LZGFe6dMi4bZPrclmI64CnO8liv9wlj2wYrMh2/Ye8x5RJS4iRaiNEnxwVQ 70rRaZ56YlmOWypnu9jjVU9TsnO0K3R5McYdblIaolDltK8shwwWkfV23MlRwaZw32TV5n QLrzzRYN1mfvJQeFGzNxX8+ctGBEXTASxLVX9rwd6HMRhJjKyfqQkqc21MraAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684194346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/zcru2bTExZDJ9+x1bFLC/KikXZ/pGJnKhMnxuDlys=; b=GcKToLSFSXPFYAZwUHAoyEmJ8Ek2RmmnbFM74jB7OLgUHOK5Hf1yYKoP3qgb8GfCofBanM 75U2AxiZDzq5vvIJ/iEPKF1psL/n3OdBfvx4ZjJb7iScf1qblibBYRQbW3Kq9gxhEn7ERO SGQ7R9kGkOvk/ltR2/izUvnB1r0eZDLBB4Fzf7QcQRNT42UkJR0gSaZbs9mXDFGOwM4PLI ZopUz7z2Tm1ILJ/dQS3Nf9WuyJgKtiuQESwFrkrLkrdkpcDy5ixw4cXnqsc78cpsv7tU2A lloxVyhIqWSZJ7cjrrwCtQ2KL0kTOOG8WPfPxs53/4TL6dTwvr+qVCgG5yHTPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684194346; a=rsa-sha256; cv=none; b=PG4b9bCoCBljtrhQnKQ+f279FmfPo0IpEJyDKN1xF/yzZK5SMswp0j9cwmIC9Y5Qtxlqtj mOfRcvhH1sY77L/CpA6wlwgrqyZEUyHBnZdqJbHbVjLIZnqQrMV/xeOHzQaQLOuQPiOAl7 nwoXGG7BK1Nsv4OPJBPiViVxUUCPS+R/+8GbvK+BmR+Nrh3zvnsEiOx7PSx/2Ogpan1nHI vz3rrCSDyGU8txhnQx9yoscT55ZZuj0rtM0Y8prg+0NwJSOoYmRlAw/hCHC2+Gtzk4rwov qJBO3OZJPjSLpi7paXKSKZk9Go35olGv3rgVxWzyHS4T1VXgwilUQ2Fb0V76EA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKwwp2n6Qz10rx; Mon, 15 May 2023 23:45:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FNjkLq063020; Mon, 15 May 2023 23:45:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FNjkj2063019; Mon, 15 May 2023 23:45:46 GMT (envelope-from git) Date: Mon, 15 May 2023 23:45:46 GMT Message-Id: <202305152345.34FNjkj2063019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 797b9a88c80d - stable/13 - nfsd: Delete nfsrv_prison_cleanup() until vneting enabled List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 797b9a88c80d18c53b613dff6ab478bf88022eb3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=797b9a88c80d18c53b613dff6ab478bf88022eb3 commit 797b9a88c80d18c53b613dff6ab478bf88022eb3 Author: Rick Macklem AuthorDate: 2023-02-12 02:27:59 +0000 Commit: Rick Macklem CommitDate: 2023-05-15 23:44:44 +0000 nfsd: Delete nfsrv_prison_cleanup() until vneting enabled Oops, although the vneting macros do not do anything yet, commit 7344856e3a6d enabled the prison cleanup function, that would get called and crash the system when a jail was terminated. This patch gets rid of nfsrv_prison_cleanup() for now. It can go in when the vnet macros are enabled as front ends to the vnet macros. (cherry picked from commit 4d68605f31fb536722529dc90f16cc47d964882e) --- sys/fs/nfsserver/nfs_nfsdport.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index a58df7b69420..6be29f563ec4 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -94,7 +94,6 @@ static char nfsd_master_comm[MAXCOMLEN + 1]; static struct timeval nfsd_master_start; static uint32_t nfsv4_sysid = 0; static fhandle_t zerofh; -static int nfsrv_osd_jail_slot; NFSD_VNET_DEFINE(struct proc *, nfsd_master_proc) = NULL; NFSD_VNET_DEFINE(struct nfsrvhashhead *, nfsrvudphashtbl); @@ -3699,18 +3698,6 @@ out: return (error); } -/* Osd entry for nfsrv_cleanup. */ -static int -nfsrv_prison_cleanup(void *obj, void *data __unused) -{ - struct prison *pr = obj; - - if ((pr->pr_flags & PR_VNET) == 0) - return (0); - nfsrv_cleanup(pr); - return (0); -} - /* * Nfs server pseudo system call for the nfsd's */ @@ -6918,7 +6905,7 @@ nfsrv_vnetinit(const void *unused __unused) nfsd_mntinit(); } -VNET_SYSINIT(nfsrv_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, +SYSINIT(nfsrv_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, nfsrv_vnetinit, NULL); /* @@ -6988,9 +6975,6 @@ static int nfsd_modevent(module_t mod, int type, void *data) { int error = 0, i; - osd_method_t methods[PR_MAXMETHOD] = { - [PR_METHOD_REMOVE] = nfsrv_prison_cleanup, - }; static int loaded = 0; switch (type) { @@ -7007,8 +6991,6 @@ nfsd_modevent(module_t mod, int type, void *data) vn_deleg_ops.vndeleg_disable = nfsd_disabledelegation; #endif nfsd_call_nfsd = nfssvc_nfsd; - /* XXX-BZ OSD to VNET? */ - nfsrv_osd_jail_slot = osd_jail_register(NULL, methods); loaded = 1; break; @@ -7023,7 +7005,6 @@ nfsd_modevent(module_t mod, int type, void *data) vn_deleg_ops.vndeleg_disable = NULL; #endif nfsd_call_nfsd = NULL; - osd_jail_deregister(nfsrv_osd_jail_slot); nfsrv_cleanup(&prison0); mtx_destroy(&nfsrc_udpmtx); mtx_destroy(&nfs_v4root_mutex); From nobody Mon May 15 23:47:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKwyc3ncQz4BFKy; Mon, 15 May 2023 23:47: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 4QKwyc3HCHz3MKt; Mon, 15 May 2023 23:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684194440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3+96qqdirmau7VXauBz3Bg1oKjv8NyqG7zSyerNx1Ks=; b=PclJjJKkbtZCbbdc7TOxklw/JVSiy5qQDgN6WioEWCnRpw/PkKU7hVGsIHP6UNk4IdEtQ+ Nj1ldnLt/f4lWcSZeXlTAXKcdyCYeAf5BUrOJHQQmeb6I/1fE8zrrHxUA9oxmMNQLIEd5F RDN5/1ckDwHo1Ax2Qk45D61WMZOwGOuOB4pOHxeMAz7ax1FtzjU8+f/iIzOq9/H0bMpcoh pa/ZhXEEYT0AzDuZNOO8ZUxjAO3snFHi9wsiVqgo28fpJYZ0UTFc8D3NhWFjh13e52Z/yo CabgpeAa2cEttDHA4k+vaQeeBrwHg3e5UBmHo2WK+uGmSbQnAqjoKsR/7F/MuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684194440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3+96qqdirmau7VXauBz3Bg1oKjv8NyqG7zSyerNx1Ks=; b=NaVqWu2DKkLlj7bMRSTESE0wP9iZI9Bcsk1dfgVypQ7BgaebLz/r2z1NAyr+lBj1ed8pXN KFd9fjaQH4BECs916FFDiPR7GnS714Hz24IDEiVAOioUsv22urydUbN5lgMhAl/qR1dpsG 8GRXAQFN+Izp/PC04ROq2y9BkJ7ceTb+AJCSRAo7EUmv10UnLqbhfYbXB9dfdFY6bG8Kle 9ezqxa60D3GeszE3n2sHfl5G+jghHz6nHtZilnvsvzdI0dZkaofrae+VRPRfRYF/R18ipW 7HwYUmePj3sfd0Gr05+Y4zAEDGBKXN3ncl0aC+c2NWwS0i2gIiOS9RZI3st4aw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684194440; a=rsa-sha256; cv=none; b=bqS50NWYE+LaPHU3TyO7wCna001doFGZgkpttfT74eBwXBNFA1SMMiUtCnEFloZgwnS/JF +TFrQLtUbbpQfJYBn9/jPMiU/bpNn/211udj//MGhXnep6/mvymVYZeJj4gA/6neomnRuq HCkjj9dYS5UACHJalwg6TRcV5axFoBmet0HDO8AUBy9CBfLTi58DrUlHwpp3gVC9QZLEwU pAqfeRc9LNwTHl1hSUcdqa6JlOW+2bNk5mjXiHDJRK+zkbg/mcpH3eiJ/Qf9hySaAXf1pI KT4Hh/nK+NSFMkUtThntQ5b/Zt7yA3lTDumtyHR7w4yd1WjVWTCkpUW4m0dGjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKwyc2LWSz10qJ; Mon, 15 May 2023 23:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34FNlKOY063299; Mon, 15 May 2023 23:47:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34FNlKv3063298; Mon, 15 May 2023 23:47:20 GMT (envelope-from git) Date: Mon, 15 May 2023 23:47:20 GMT Message-Id: <202305152347.34FNlKv3063298@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 764664aaa5d5 - stable/13 - nfsd: Fix initialization broken by 7344856e3a6d List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 764664aaa5d547b58db321c40162eced7fd4da7a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=764664aaa5d547b58db321c40162eced7fd4da7a commit 764664aaa5d547b58db321c40162eced7fd4da7a Author: Rick Macklem AuthorDate: 2023-02-12 17:16:56 +0000 Commit: Rick Macklem CommitDate: 2023-05-15 23:46:29 +0000 nfsd: Fix initialization broken by 7344856e3a6d Oops, although the vneting macros do not do anything yet, commit 7344856e3a6d did change where things are initialized and one of the initialization functions was not being called early enough. This patch moves nfsrvd_init(0) to the function called via (VNET_)SYSINIT() to fix this. (cherry picked from commit fcfdb76e12fb3cdf584e6f06e56e7c48ec475cc6) --- sys/fs/nfsserver/nfs_nfsdkrpc.c | 1 - sys/fs/nfsserver/nfs_nfsdport.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/nfsserver/nfs_nfsdkrpc.c b/sys/fs/nfsserver/nfs_nfsdkrpc.c index 7b0f84c397bc..ca4d9f910562 100644 --- a/sys/fs/nfsserver/nfs_nfsdkrpc.c +++ b/sys/fs/nfsserver/nfs_nfsdkrpc.c @@ -531,7 +531,6 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) */ NFSD_LOCK(); if (NFSD_VNET(nfsrv_numnfsd) == 0) { - nfsrvd_init(0); nfsdev_time = time_second; p = td->td_proc; PROC_LOCK(p); diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 6be29f563ec4..d62c6295ccfa 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3544,6 +3544,7 @@ nfsd_mntinit(void) return; } NFSD_VNET(nfsrv_mntinited) = true; + nfsrvd_init(0); NFSD_UNLOCK(); if (curthread->td_ucred->cr_prison == &prison0) From nobody Tue May 16 00:39:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKy7F70VFz4BJWj; Tue, 16 May 2023 00:39:53 +0000 (UTC) (envelope-from mack@macktronics.com) Received: from mail.macktronics.com (coco.macktronics.com [209.181.253.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKy7F4zXRz3PWm; Tue, 16 May 2023 00:39:53 +0000 (UTC) (envelope-from mack@macktronics.com) Authentication-Results: mx1.freebsd.org; none Received: from olive.macktronics.com (unknown [209.181.253.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.macktronics.com (Postfix) with ESMTPS id BFE00E406; Mon, 15 May 2023 19:39:45 -0500 (CDT) Date: Mon, 15 May 2023 19:39:45 -0500 (CDT) From: Dan Mack To: Jessica Clarke cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 28f66935d400 - main - tests: Disable sys/compat32 and sys/compat32/aarch64 tests In-Reply-To: <202305152219.34FMJwwI016645@gitrepo.freebsd.org> Message-ID: References: <202305152219.34FMJwwI016645@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspamd-Queue-Id: 4QKy7F4zXRz3PWm X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:209, ipnet:209.181.252.0/23, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Mon, 15 May 2023, Jessica Clarke wrote: > The branch main has been updated by jrtc27: > > URL: https://cgit.FreeBSD.org/src/commit/?id=28f66935d400eb3fb52f4e64931c0cb3c9d24be4 > > commit 28f66935d400eb3fb52f4e64931c0cb3c9d24be4 > Author: Jessica Clarke > AuthorDate: 2023-05-15 22:16:40 +0000 > Commit: Jessica Clarke > CommitDate: 2023-05-15 22:16:40 +0000 > > tests: Disable sys/compat32 and sys/compat32/aarch64 tests > > The former has build system issues, with missing Kyuafiles, presumably > due to not using TESTS_SUBDIRS and bsd.test.mk (and possibly some issues > on top of that around TESTSDIR and related variables). The latter has > issues with GCC and cut-down LLVM builds. > > Requested by: kevans > Fixes: ccb59683b983 ("arm64: add tests for swp/swpb emulation") > --- > tests/sys/compat32/Makefile | 4 +++- > tests/sys/compat32/aarch64/Makefile | 3 +++ > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/tests/sys/compat32/Makefile b/tests/sys/compat32/Makefile > index 31834de16246..3dd5ca218d00 100644 > --- a/tests/sys/compat32/Makefile > +++ b/tests/sys/compat32/Makefile > @@ -1,6 +1,8 @@ > - > +# XXX: Currently broken in CI > +.if 0 > .if exists(${.CURDIR}/${MACHINE_ARCH}) > SUBDIR+= ${MACHINE_ARCH} > .endif > > .include > +.endif > diff --git a/tests/sys/compat32/aarch64/Makefile b/tests/sys/compat32/aarch64/Makefile > index 716182b15d9c..f5961b06cc8b 100644 > --- a/tests/sys/compat32/aarch64/Makefile > +++ b/tests/sys/compat32/aarch64/Makefile > @@ -1,3 +1,5 @@ > +# XXX: Doesn't work with GCC and requires an LLVM with the ARM backend > +.if 0 > PACKAGE= tests > FILESGROUPS+= asmprogs > > @@ -22,3 +24,4 @@ ${aprog}: ${aprog}.S > .endfor > > .include > +.endif > My build just failed on: root@fbsd14:/usr/src # git rev-parse --short HEAD 28f66935d400 ... ===> tests/sys/compat32 (cleandir) make[5]: don't know how to make cleandir. Stop make[5]: stopped in /usr/src/tests/sys/compat32 *** Error code 2 Stop. make[4]: stopped in /usr/src/tests/sys *** Error code 1 Stop. make[3]: stopped in /usr/src/tests *** Error code 1 Stop. make[2]: stopped in /usr/src 57.80 real 41.64 user 0.00 sys *** Error code 1 Stop. make[1]: stopped in /usr/src *** Error code 1 From nobody Tue May 16 01:09:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKynY4DpHz4BKw3; Tue, 16 May 2023 01:09: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 4QKynY2NXhz3hkq; Tue, 16 May 2023 01:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684199377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fzfQVuiGDh8faw94wtn5VcjM8lxFMtieh7ADD0MDBA=; b=Li8XDkG7KQTITWPXbNFtXEWlnkeCGYnAS3VxOj/vyqat31FKEonUdyFeunbDEtqxk1pnS5 zx+fdG+K4Ic224Uua5dSoChMpkB9AmL0tuWnXcR7RG0yRQ+zAPrvgPHhy3c9rIK2mEfZMP lI1Kzephoe1y7Czv4xm4r7iHmLlxmrEDmGw/8IFM//3342bWN4i4/ty/SXimalpipcDwe7 NKtx1TOQUrL8prBjBIrQ+AthuUliqRq8DWQLLS4G+0FOu9iHBrZm6vlLK6Kt8yWjeI1ben 5QhxHxSekCA5qC4ctrQy1vRKiySjYgIN5fMjJp6qz7uLX8lpaShF/uc2AjjW+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684199377; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fzfQVuiGDh8faw94wtn5VcjM8lxFMtieh7ADD0MDBA=; b=A1VyZcstBcOQYDlcr3FcQn+bkjSbZKkKoK5ZhepDDujRmwuaAnZYZ3iQ09KwoSCpyGJgE8 01k9Nt3vZGs9D8EPCnoDQmCyE/Zq9LOdmEUDJ2VXd6+YgfkyTUAYKqNgYOi2sjN6i2q4NF 8oOoW1S9C3gZNvMouJo1HfYSD0TqdILUtS3TTIr/9kLzvIX7Y8xAW7ytonKUqvkR7/hH54 pYaD1i0Oy4sHq2VUw4LmPGd9Aak21cy3BKi0r8+o6AcgmpieRdrh42PaISxNILPixkmUrv 8d55u/QvegQkMUTdGBugayxKVmhWB6N+UHSieRBRbhjAHva9zN9xXXgDcE8SAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684199377; a=rsa-sha256; cv=none; b=T8TlnyFKludbDqijg2talVCF9Qaq/M+5cmN11d4T+dxca6RJAPze8RidCbkgea3bL2K+Yf dCBb+ZHNjOWYgrVuLrSmOhdaz6X4gT6b4hsyG7BRVQe6vDCkCz9caEAcUHw4YJp0VXkqtD rMVH6hO/teMBWwr9pEgXlpgg+aCcRlw4v4QlF+MRjSggd2vWiPYE4+gsjYJwIZciVdBZDy IRrk2mFG69ldddFvzYti02SvQ5LoliyRz2FnJph2ivtsYp3TeBb0RIJQteX+T8XMnU1ds3 ACCf1WrzPtVX9Bv1yl7jSjCNvAeluzionYBOd+8ndmuu3OSlXX81Kz2uYHZcNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QKynY1Sx8z12ds; Tue, 16 May 2023 01:09:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34G19ZDB095590; Tue, 16 May 2023 01:09:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34G19Zs0095589; Tue, 16 May 2023 01:09:35 GMT (envelope-from git) Date: Tue, 16 May 2023 01:09:35 GMT Message-Id: <202305160109.34G19Zs0095589@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 816129210ad4 - main - tests: Don't recurse into sys/compat32 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 816129210ad4f951059db2d942b8213ffe0a0f89 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=816129210ad4f951059db2d942b8213ffe0a0f89 commit 816129210ad4f951059db2d942b8213ffe0a0f89 Author: Jessica Clarke AuthorDate: 2023-05-16 01:06:34 +0000 Commit: Jessica Clarke CommitDate: 2023-05-16 01:06:34 +0000 tests: Don't recurse into sys/compat32 Stubbing out the whole file means it has no targets, so recursive makes fail with "don't know how to make X". We could fix that, but because the level above is adding it to TESTS_SUBDIRS it'll generate an include line for the subdirectory in its Kyuafile, which won't work (the problem that was previously seen on non-aarch64 in CI). Thus we really need to not even add it to TESTS_SUBDIRS in the first place. Reported by: Dan Mack Fixes: 28f66935d400 ("tests: Disable sys/compat32 and sys/compat32/aarch64 tests") --- tests/sys/Makefile | 3 ++- tests/sys/compat32/Makefile | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/sys/Makefile b/tests/sys/Makefile index 3e9a30105a1d..c4549e361f99 100644 --- a/tests/sys/Makefile +++ b/tests/sys/Makefile @@ -10,7 +10,8 @@ TESTS_SUBDIRS+= ${_audit} TESTS_SUBDIRS+= auditpipe TESTS_SUBDIRS+= capsicum TESTS_SUBDIRS+= ${_cddl} -TESTS_SUBDIRS+= compat32 +# XXX: Currently broken in CI +#TESTS_SUBDIRS+= compat32 TESTS_SUBDIRS+= devrandom TESTS_SUBDIRS+= fifo TESTS_SUBDIRS+= file diff --git a/tests/sys/compat32/Makefile b/tests/sys/compat32/Makefile index 3dd5ca218d00..31834de16246 100644 --- a/tests/sys/compat32/Makefile +++ b/tests/sys/compat32/Makefile @@ -1,8 +1,6 @@ -# XXX: Currently broken in CI -.if 0 + .if exists(${.CURDIR}/${MACHINE_ARCH}) SUBDIR+= ${MACHINE_ARCH} .endif .include -.endif From nobody Tue May 16 04:11:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QL2pr4QpZz4BVTj; Tue, 16 May 2023 04:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QL2pr3qvGz3v9T; Tue, 16 May 2023 04:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ctq3J7rPx9pR08C2uBPBmJQi3DsaHoFEXVV7zv/XawM=; b=lH9ikkJpqGjL21V9BeVl6TsZArt4FeaiAYJ0cMveQVkKr1fSOs9YXdwmZeo0q6c5+GdVwB jC0SBG1mSl5su0kwj9KyIPzKoIGiEmjrIbM8kM0+vD6ogM0C23YZMwL//T2Vni69F6MxpX i+sfEQ7EsouzNvHgC6X4R4osrOCJGMwOu4jsnIHQP1q3r/nC9LcDVh5Vrp6d//rIaWFPAX GeL0Brwk+LRNLQmEgsv69+FVC67CjtW3q7sUkX37yxqE6uXIXGhuWJi+DPAjdLrqlRo+3o BP5XYRlDNtVfWdUDn+N25jJylEb/ZyF4cQGYmrfx9mDgVqq4WoJphTg0aVDQOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ctq3J7rPx9pR08C2uBPBmJQi3DsaHoFEXVV7zv/XawM=; b=YS33IA7WAWdwdqFhtRNbRjXZpBE33GivCof+urGSZ2Ei6ip+/IMq6f60RGu+lfr5IknJcD Qafm3d0bkOs7rNiJwbkD4b3OzANAFEfFFd3lFyX0SsNHJiC3z9eoPU/L1h/sLCK7PFgx8L oQ7yEasBM0+VxXfhd2jeJcLYZHNCXVFcpCH7ygfTCqRZPMD4eArC4GJwAgA/ygRneq1vLy FtsCmsl922YEM3ITBu3etj7IJCcjJK/hFPsixBsdMcxtb7j+Cr/pE1zEiB2XsZ0LBqSIoD AZYSUhwoL6+49vsEagCf/u1zR7c02r+3p81CtWZMxryeIcH8of0Tq9fHcRYthg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684210260; a=rsa-sha256; cv=none; b=Rfu3HnhIrN9OtMaJ7pjSqquKbmExxkmAjbxBPYRN6A/f8SfOiugO4HgErOc6tMMNCN9C3Q +BglqI4lC2POxoe6oW0I2uZEhHSSmPCwKlnC7ft/IhyPzPX4a0Rm6gu1L58xx+jtqaJiMp U2Ge7xm4tvOEcFpd8ewxaByuD7CFiMv5+kUaQAW8t8alXllpPocaQmXpoYZONEC/iAl2K/ vaF0ozOiwxoIiW11sj0CBJYThlPrOhLvi8BmlB4M1QkyPKa4cXjHpVDcasekfxDXkBApzI +IZeVpIaI3tJSOC417urGNlpGPYY1BwMt0p/6CXpZZQOw/WhGgjm/wN5aFntTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QL2pr2thwz16qv; Tue, 16 May 2023 04:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34G4B0IE001932; Tue, 16 May 2023 04:11:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34G4B04U001931; Tue, 16 May 2023 04:11:00 GMT (envelope-from git) Date: Tue, 16 May 2023 04:11:00 GMT Message-Id: <202305160411.34G4B04U001931@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b9ca790637fc - stable/13 - quiesce_cpus(): do not overallocate generation array List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b9ca790637fc25b2d2a190cd925ec2e6cb0db683 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b9ca790637fc25b2d2a190cd925ec2e6cb0db683 commit b9ca790637fc25b2d2a190cd925ec2e6cb0db683 Author: Konstantin Belousov AuthorDate: 2023-05-05 20:21:38 +0000 Commit: Konstantin Belousov CommitDate: 2023-05-16 04:03:37 +0000 quiesce_cpus(): do not overallocate generation array (cherry picked from commit ccc6b87b3825a235991d978e43d29431e012461f) --- sys/kern/subr_smp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 7b250aeccc56..401d54277669 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -975,7 +975,8 @@ quiesce_cpus(cpuset_t map, const char *wmesg, int prio) error = 0; if ((prio & PDROP) == 0) { - gen = malloc(sizeof(u_int) * MAXCPU, M_TEMP, M_WAITOK); + gen = mallocarray(sizeof(u_int), mp_maxid + 1, M_TEMP, + M_WAITOK); for (cpu = 0; cpu <= mp_maxid; cpu++) { if (!CPU_ISSET(cpu, &map) || CPU_ABSENT(cpu)) continue; From nobody Tue May 16 04:11:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QL2ps73MHz4BVTn; Tue, 16 May 2023 04:11: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 4QL2ps4dF5z3vcV; Tue, 16 May 2023 04:11:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4RcbBKfPWi6LfGAe+Rfgfiuz4EGNl3WrcgoeHypKfqM=; b=y2uUW2YYbpceFifedH3wUUNFfo+AcjthaaEhUyulOMUKU5IYPyMGc5+ISwLRgbOJsnBqQF HJo2wnwBb9LQMcswZwMW1Wkpe+b24Ox4ZgnBoLhLwU91VkOhR8MqgG7UUiTGlKqgPuwitP PC4irm6zg3Jfj3sPsy20IM48EjuG4g0A1U6iCVzNpOGwWYGhIANRC4Xm00Rkz7GbEDoRcx fwYGesFcxMPPkLZ0VuUF6g/1YowKCOsmSI3dT6ZB8fpmlqriEKX+QVeEbdNXJwknnAGGRH N2zFknVgFfk6Y/FVy0r19JDL0wm5Yb74ZXaK2gXkgzk8IT0OZDAdfXprFrgXSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4RcbBKfPWi6LfGAe+Rfgfiuz4EGNl3WrcgoeHypKfqM=; b=hlkgFNFovq+ErDmbesT0gfQLpe6zPbCWmKRYSC/cpBLFYL6JFXM8VjOVMv1ghxIf9W3oGu BaDCx2XMD8fkmE/x2wyRpW/GG+1XM/fFMH82HKp7t8exupR5sy6yC63JEUP0OSoxkBa94A JkTBzl61d/pOdW+peY2/VVZileTJYyY3Th4bvIWi3JMxxyVaFb+ZgvKxNPAhsceh+8KoN0 MRqgd7MZ+ZU72jjqCaStJsvgvg4EZyJknQXBiPxSJR4JC8RnEB5GofKbpTVSxHapWhPTF2 46s3cAHKfZFIQ/TW3SbkcDsYmPwCFTY8yyk5uJR4rIFDtmmKmWZ4HqS/ucvsjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684210261; a=rsa-sha256; cv=none; b=UM4EdHgsCbb6Cr3u+3qyDT4eYoM8ecQo4+CielSzwjNugVAtVvuoPWMFBLIdybFWDpleC6 IAtFaZ7E6udeb9rrlp1V4xge+/UPrgtdGAjF8s4DacOoVWBPb0fzu/CyTHhkWZieBFh8mr J5hKrHOgadDi5DGoJ5Ube9FCNe94M+5Uo0oKM1qXtikZuVi2GUoN+Uq0jQtJ/tWCBd1NXa tFWzMT83urAuEcsUpGoxWFAl/bH9u8x9ndg6VHvRPYKLOhMw1+s9gTGd2pkMY4TRVH7zJP HEcU/Vn/bymn5YPxuo0R6gfpFZbxaYiCnaIx+4cMg8wbfQ6+R1gpbjO4Vjx7uw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QL2ps3V2Tz17Ft; Tue, 16 May 2023 04:11:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34G4B1tS001975; Tue, 16 May 2023 04:11:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34G4B1fQ001974; Tue, 16 May 2023 04:11:01 GMT (envelope-from git) Date: Tue, 16 May 2023 04:11:01 GMT Message-Id: <202305160411.34G4B1fQ001974@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5fdd2bfef42c - stable/13 - smp_topo: dynamically allocate group array List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5fdd2bfef42c4bae197c56051c2066e499c43e4d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5fdd2bfef42c4bae197c56051c2066e499c43e4d commit 5fdd2bfef42c4bae197c56051c2066e499c43e4d Author: Konstantin Belousov AuthorDate: 2023-05-05 20:24:22 +0000 Commit: Konstantin Belousov CommitDate: 2023-05-16 04:03:37 +0000 smp_topo: dynamically allocate group array (cherry picked from commit 9801e7c275f6ec42a44b98a2e2e1a8ac4674a096) --- sys/kern/subr_smp.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 401d54277669..0ecc13251632 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -630,8 +630,6 @@ smp_rendezvous(void (* setup_func)(void *), smp_rendezvous_cpus(all_cpus, setup_func, action_func, teardown_func, arg); } -static struct cpu_group group[MAXCPU * MAX_CACHE_LEVELS + 1]; - static void smp_topo_fill(struct cpu_group *cg) { @@ -713,9 +711,14 @@ smp_topo(void) struct cpu_group * smp_topo_alloc(u_int count) { + static struct cpu_group *group = NULL; static u_int index; u_int curr; + if (group == NULL) { + group = mallocarray((mp_maxid + 1) * MAX_CACHE_LEVELS + 1, + sizeof(*group), M_DEVBUF, M_WAITOK | M_ZERO); + } curr = index; index += count; return (&group[curr]); @@ -726,7 +729,7 @@ smp_topo_none(void) { struct cpu_group *top; - top = &group[0]; + top = smp_topo_alloc(1); top->cg_parent = NULL; top->cg_child = NULL; top->cg_mask = all_cpus; @@ -780,9 +783,9 @@ smp_topo_1level(int share, int count, int flags) int i; cpu = 0; - top = &group[0]; + top = smp_topo_alloc(1); packages = mp_ncpus / count; - top->cg_child = child = &group[1]; + top->cg_child = child = top + 1; top->cg_level = CG_SHARE_NONE; for (i = 0; i < packages; i++, child++) cpu = smp_topo_addleaf(top, child, share, count, flags, cpu); @@ -801,8 +804,8 @@ smp_topo_2level(int l2share, int l2count, int l1share, int l1count, int j; cpu = 0; - top = &group[0]; - l2g = &group[1]; + top = smp_topo_alloc(1); + l2g = top + 1; top->cg_child = l2g; top->cg_level = CG_SHARE_NONE; top->cg_children = mp_ncpus / (l2count * l1count); From nobody Tue May 16 04:11:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QL2pv1CL6z4BVRL; Tue, 16 May 2023 04:11: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 4QL2pt5J1sz3vgF; Tue, 16 May 2023 04:11:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oB48UBhlXjAw+WLXt9uKgBdaBm4m6Ki+sZMrZjykWUg=; b=Ia2aqPSRPFN92XhI+9j91rNX8zQSm01YXEnYYZrinrHuvvpLH/t9rp0NSXt7AmXCOJwvyo BIQ+RNda/bSDg/YU7L9FkZtNk8P/lluXE/vpvVt9G+KrdabiIxg2XwDHvqTTXVhneW7ifw OswX61mhobjXb2o2TnPFoEKKcWMYG91xtqjMZ0+tuzJGkGCUtlUQ+AE9uwEtcLvDT1QhVo vKsYIPRHIh37IOOtK/zzxHakWogNXCK2xIT27Er4pHhhwOnrPOQ7l8rcT7tvaBLH3HNpTw xa3CXRiua9Y1zzj71542CwUuBFazXhhhZIU8LxN/QzkPZjmW/qtjRdqxZ7aRSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oB48UBhlXjAw+WLXt9uKgBdaBm4m6Ki+sZMrZjykWUg=; b=bCsK2pPnjkcK5VgAp/zsES0x/Y6sKJXTrl/0UDYpA8AyLu8Gebn4qqMhOBseMa11dLsV36 bNDxRmiG3SZ3G3s9TY2SDoeiHH7r1aqnWk49g+55DxtRRUV2u4emdQiNe1rw1EjLSItG8i pyU81DOMSWKrmNl4/JCq5ZsvugkC9eB7x96A+Cmak8YGfjqxvl9IYU9aFoBJbKflLyus1a lwBeUZ+vyvxYlzzuCHitWyQkc+F1dCkOU6NU/LmAXq4S/SKR17RHShfiM6r6TPVpZghStf m8I/eailJ/qqQQa3yGkMADg//lSjY01u0I/DT6/ThMPAY0GkcgRwmVGcRz/OJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684210262; a=rsa-sha256; cv=none; b=hySGkdVfr3HUKuuEuKNN373WglFyGa4muQx952100oCbZJBjm/LVjW1mD7R+NXo12el0nB 91a8psyf6CXiTUpxaLBfqQUnpIozzYStPzRhkmRHHvy7OAJr13tLN+RKkrS11TzhofYJwa 6ug1zcr+1Eay1Q4kA+lLdAYge3h6NOw6QYDLaNSUsN7Uvy4m5M96tFTIVn3h9c6ATSHpPB KJruv8VfgoQwBQJ62CX+0eppegTKwnI5imZ9nv5sfsN8xgVvB9a6OppswLyopepfy2Wfwu bIrb8P5QjhBnqd3sNwLaCflGf9Fl9H0ZCKA/xNGcnw3sQPLofH1DAejgEGH93w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QL2pt4PfVz17Fv; Tue, 16 May 2023 04:11:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34G4B2Id001996; Tue, 16 May 2023 04:11:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34G4B2MC001994; Tue, 16 May 2023 04:11:02 GMT (envelope-from git) Date: Tue, 16 May 2023 04:11:02 GMT Message-Id: <202305160411.34G4B2MC001994@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f296166d7be4 - stable/13 - smp_topo(): make it idempotent List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f296166d7be49b6105105344980cd45079551a9e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f296166d7be49b6105105344980cd45079551a9e commit f296166d7be49b6105105344980cd45079551a9e Author: Konstantin Belousov AuthorDate: 2023-05-07 18:37:42 +0000 Commit: Konstantin Belousov CommitDate: 2023-05-16 04:03:37 +0000 smp_topo(): make it idempotent (cherry picked from commit d0f67f97579f7b2febf29264b1874a95056dec06) --- sys/kern/subr_smp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 0ecc13251632..8d3e398d6b54 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -645,7 +645,14 @@ struct cpu_group * smp_topo(void) { char cpusetbuf[CPUSETBUFSIZ], cpusetbuf2[CPUSETBUFSIZ]; - struct cpu_group *top; + static struct cpu_group *top = NULL; + + /* + * The first call to smp_topo() is guaranteed to occur + * during the kernel boot while we are still single-threaded. + */ + if (top != NULL) + return (top); /* * Check for a fake topology request for debugging purposes. From nobody Tue May 16 04:11:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QL2pw0Z3fz4BVM2; Tue, 16 May 2023 04:11: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 4QL2pv5y7Fz3vLv; Tue, 16 May 2023 04:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=35pBopo/9sxhlo5sqXvkCfZurbFe+j/3eQs0+IhIZmI=; b=DZCZceh+pvqfun0ovKfvZ9tUZyLb1jS9LtsQ+p8zVQy/CYQ7ZGGs/RWlpj1RZsjl5HMTxG xOF7xvI4FxZ8mRLlcPMElKrRHKCjO1pWhabihTLD+Ql8c3Gtx3Z7sBch28f1OwJoO+c01A bM8lmOyeEaL26mQypUaMUKIxmUIbtIovB0+hGUtllBIJ+SrkZwKwMO7DiyWgZ7Tq0Jie4U A6zamkpJUtOgRoXljZYejl/+g82zEY3bq79wB15RV4nApvK0bAn4QktXQ8Ecmr6TLOPvk1 /tmndGUqQ9GwIOVfHKvAuEJeO0GZTdBYpKTAaR7z6khE2fnzBgrWeiWSsr2fiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684210263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=35pBopo/9sxhlo5sqXvkCfZurbFe+j/3eQs0+IhIZmI=; b=Od1hx1uTzwpszUMEq4tnjTN5cS2K7VMvRJckD+dApYh20XYejcwvphCc6qhGfIon9got8O cftxEhHEhbjjZ54mCS5Xg3REKmK7135RQoVUKSP+PtQe9phdJ5zoXe70QtVy/aq+NR56n+ oGAva9YWPe/DgivX6RtbFs4fvSn9n4sn8ug6q8pTe/no7E3v7NoqNp5eAM0bEsw70wHQwk ItMsoXdyR4812c433ULSv+HjI1TZ9bOlv8v88RK3i8gzFlakDanOQAGufUcOPCMDJ+3Sn8 teg7+qz7I5zONjtw3rdhTCMJVB//LpFSTrmpoJAuIJ4Icfcw5TLVLNhH7lwnog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684210263; a=rsa-sha256; cv=none; b=VltEeU+tXyELoscvCLfl53AjhFXcwKfG7nyoRlTEHJHF4UC9NYXvhtM25kRMLjPCyDe3qV kyqQYrbQR++/1fv9LmHI80JvJnyjuc5JOo5diswU6aoze9jz9+xQ+3VDRguv6me5lJYCP2 JpW+d5CPIbC9GZHr3MNtLj32sk2x9GAncP+LzYAhhyZQRK608ft30W35nM2Ig4/AEWrlv3 3J5s1ab5Ogmj8coAHklzSYx7XSIE0Fe3gqVEGyh+SQj5vCb7UlO+cAqwacy10bEBZK2+uM NFZTysdQu3So6Al5kd1SSrroUmUsWHmn3HNdYF801+/wnhmZZuSsdQNE1nysSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QL2pv54Hgz16n0; Tue, 16 May 2023 04:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34G4B3kM002015; Tue, 16 May 2023 04:11:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34G4B3Qg002014; Tue, 16 May 2023 04:11:03 GMT (envelope-from git) Date: Tue, 16 May 2023 04:11:03 GMT Message-Id: <202305160411.34G4B3Qg002014@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 13e15ac4990c - stable/13 - smp_topo(): correct allocation sizes for trivial topologies List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 13e15ac4990ca2f725ea10c1d9f74398b737ccc9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=13e15ac4990ca2f725ea10c1d9f74398b737ccc9 commit 13e15ac4990ca2f725ea10c1d9f74398b737ccc9 Author: Konstantin Belousov AuthorDate: 2023-05-09 15:08:22 +0000 Commit: Konstantin Belousov CommitDate: 2023-05-16 04:03:38 +0000 smp_topo(): correct allocation sizes for trivial topologies (cherry picked from commit 361c8f75a61832d9aa3dd4c589a0220f3467466f) --- sys/kern/subr_smp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 8d3e398d6b54..fafdc5b65cab 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -790,8 +790,8 @@ smp_topo_1level(int share, int count, int flags) int i; cpu = 0; - top = smp_topo_alloc(1); packages = mp_ncpus / count; + top = smp_topo_alloc(1 + packages); top->cg_child = child = top + 1; top->cg_level = CG_SHARE_NONE; for (i = 0; i < packages; i++, child++) @@ -811,7 +811,8 @@ smp_topo_2level(int l2share, int l2count, int l1share, int l1count, int j; cpu = 0; - top = smp_topo_alloc(1); + top = smp_topo_alloc(1 + mp_ncpus / (l2count * l1count) + + mp_ncpus / l1count); l2g = top + 1; top->cg_child = l2g; top->cg_level = CG_SHARE_NONE; From nobody Tue May 16 06:48:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QL6Jp3d66z4BfcN; Tue, 16 May 2023 06:48: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 4QL6Jp37qhz4Bp5; Tue, 16 May 2023 06:48:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684219722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WsmvHqPviD27uLfH6PTuB29b9n+3adWHvfq8DhywOIo=; b=IltMr48KxB5vEEn5zwcAT01P7xyrHTZtKkxr/7GVFiPTh/UegAFVrIBidCot7xi39XcPAP E8OeFz5OpYJvi7c9NMD+OscG3UWzYywPxAluCr+RIIqUhZoBCy5opomYZFx9C7neWWziP5 DC8hY9EsLDBIUxcnOgkIuZ10k75qWIVU8lqCNIefCegV85Lh75vjUjIgbHz031lbkFig29 TGfltWlbEjdvMADFVbUi6xXJhZEuLIpAWS6aC/WbyX04ZpWzjM3Eui+5nfN4N1MWm/xU8A Rpy+LjW7mJet+LT5NWuLJtEPXzFO7X8N32X/j3FaacrrzxSw+t0y5mQUo1dU0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684219722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WsmvHqPviD27uLfH6PTuB29b9n+3adWHvfq8DhywOIo=; b=pw1xjdHOCyZHHV1GIsb70mIOM4sJAah+nLrCAePJsSUqKFOPCw5FVqVudCcBGHTUANhpLT OQFF6JWDIkKeLWNRXsqYYpxVhy2K3xjxA1PXYH6/XgDmb+ZkdJASK+FfsISZie99W1zb7W FS8Gb3cYAiur8kfKitWyhsIlM2p5IViv+epMrhvD6aRYmjWw2oYOHLBD15ZxWoTwWjhw5w l9y4iwb4LDey4R0bB0YU1rvm1HSprSITkdv6A/qe5blTQwAu9f/wBkQtGWMOQsdJim+6vR +f9JYnYnz8iE+5eSENaWs9ShqmZQWMBQcYvZ4y92DSWJzozXrkatYJ/lq9/s0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684219722; a=rsa-sha256; cv=none; b=iEGbh3/6qPkmcJtx5SVkVf5NjGYCopZuvdChaE4l5uKf3fDiSDVcc/ihYgRHbO/tA1oXVn OuTSbIOumHVlH+gc3xVHOD9YMmMMtW9CrWMPKmYvEEBs3lTUON3CQYQ3dMK7cWgN/4ls2E HWjDduVDjJaU46WY2fwlf1u5OGDUKSJIQ+tCk91RK0VVCk69/j67kN4N9OtDjWtN1fhG/o AKrHjtsCp1rlFCzK82CRb+eXqYsBdTSQBQard2J+N4CLL7rbZjhezsTzvRselG7LS+GUQu 2y8WQzvkl/fsdeK8Sq3NS8aD36+omBB4Ag5qGOSndMpUNsg6pJ4e2F87xhZ7eQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QL6Jp2BdZz1CF5; Tue, 16 May 2023 06:48:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34G6mg7H055609; Tue, 16 May 2023 06:48:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34G6mgDI055608; Tue, 16 May 2023 06:48:42 GMT (envelope-from git) Date: Tue, 16 May 2023 06:48:42 GMT Message-Id: <202305160648.34G6mgDI055608@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: e0155c698904 - main - pw: The pw_checkname function has added ';' checking. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: e0155c6989049da43c5499f7129002aa17d1ca79 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e0155c6989049da43c5499f7129002aa17d1ca79 commit e0155c6989049da43c5499f7129002aa17d1ca79 Author: pbuff AuthorDate: 2023-05-16 03:05:30 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-16 06:48:08 +0000 pw: The pw_checkname function has added ';' checking. The pw_checkname function forgot to include a ';' when checking usernames, causing shell commands to be executed when a username with a ';' is deleted. PR: 271427 MFC After: 3 days --- usr.sbin/pw/pw_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index c0002f985bfb..c8e8de1fc46a 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -636,7 +636,7 @@ pw_checkname(char *name, int gecos) showtype = "gecos field"; } else { /* See if the name is valid as a userid or group. */ - badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\""; + badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\";"; showtype = "userid/group name"; /* Userids and groups can not have a leading '-'. */ if (*ch == '-') From nobody Tue May 16 12:01:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLFFb4zBxz49xgm; Tue, 16 May 2023 12:01: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 4QLFFb4XdXz3KGH; Tue, 16 May 2023 12:01:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684238483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70V4um5VHNjz7pyrEtM/zQXgY/xyCVYr0lIgc5DF1wo=; b=r1HRWGQDbSp0uVacLcpWM88W9P3j+NpFTGbwh1N5zc0cygmSDQFMcM7j9RZUQfgCRvWEwi tY150+/3ETHlh3lFN9F9DsCAhqLddI/pHsiTjgP11eKT9VHBKZpuuZLJz07X8PJK4YkZFz YWUPf9C2SExAMMuOgiMM2b9YTj6+6lmnqhq5k9+JxwaPTyUPCZR5keAOt1u6ELw3IKNjBv 0RRxPIJNjeykpCrbUEZZxYQ+TlxvC+HLpFhn89D2P+4OM6VagP6c4aL4HDtjTGR6R0itO3 Oxf81HBHxiEKdqOeKoEq5m/52UL+T/4s2tkIo8U3JOatceNUO0hhx29ObMvNFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684238483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70V4um5VHNjz7pyrEtM/zQXgY/xyCVYr0lIgc5DF1wo=; b=HfqWgCVqq5ui8xEvHdanc5wFGjBamOYqqFn1Nypa8mOLv3h4PRz9t57xVbpf6trEJ1xW2M KpY7UJlaWjMMeTs2aejL3M5D8+FinLpmsdxnZUOYevr07c0hy4J909z9pceOdBqSJ3QmVS Ogzq+dRjtr3us4WNYPV4EealstCPDOtdzrqhmLcgX045ldE4HJu/UFDW3rDv0HTTn3MV1L 3RaeqS77w4YeEjC6Tk65xIfWSxip+5+q+6FIoaXXsHLI+wtJZqx3Y1rD7VrkBu0gkj+hL7 0GkhJQIKeAIIrFt/jQkQVIofZEynuFl8c9i263XrgVRh1xxEiXjWk/A7KLejcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684238483; a=rsa-sha256; cv=none; b=sDdFrakecgzifZ+NILmME7F6w9PSAm9pMPkrFZGRBAyEr6b72mtf/DgzvaIHv3u5ghB/ZL QjXSzHt6NeCLc4r3jnTtkETd5bGHkQU32fZTDbyALFbaGAyIcLTeEcxaT7GUzSG/JyCAA+ wF4hvUh0DVSmZyWRIMymam//vqsApNYRj2rjndItjca63DKjvetfr+yVnxW36oHF3s2uRx n82wyALL8AhPd4xF/8454gxCMmR8JWR0InGxKBn1m38ehJzcGZEVqrY6F1jBMAnMkTq6zu PHkxajGHDzNSEDmBn20Wula+tG6Tu7x4dymYglv7u/iCWTdUDPRK/kZcN4/GKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLFFb3b9KzLHF; Tue, 16 May 2023 12:01:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GC1Nml076347; Tue, 16 May 2023 12:01:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GC1NbE076346; Tue, 16 May 2023 12:01:23 GMT (envelope-from git) Date: Tue, 16 May 2023 12:01:23 GMT Message-Id: <202305161201.34GC1NbE076346@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: d047a4e486a4 - main - passwd.5: Remove .Tn (Trade Name) macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: d047a4e486a44ca5ada29bf3461903867424c414 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=d047a4e486a44ca5ada29bf3461903867424c414 commit d047a4e486a44ca5ada29bf3461903867424c414 Author: Jose Luis Duran AuthorDate: 2023-05-16 11:18:53 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-16 11:57:32 +0000 passwd.5: Remove .Tn (Trade Name) macros To appease mandoc -T lint, remove .Tn macros. MFC After: 3 days --- share/man/man5/passwd.5 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index 2b79680a20eb..bd2d012ac57f 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -49,7 +49,7 @@ They can be used in conjunction with the Hesiod domains and .Sq Li uid , and the -.Tn NIS +NIS maps .Sq Li passwd.byname , .Sq Li passwd.byuid , @@ -310,7 +310,7 @@ lookups occur from the .Sq Li master.passwd.byname , and .Sq Li master.passwd.byuid -.Tn NIS +NIS maps. .Sh COMPAT SUPPORT If @@ -361,7 +361,7 @@ or .Sq Li passwd.byname and .Sq Li passwd.byuid -.Tn NIS +NIS maps (with .Sq Li passwd_compat: nis ) to be included. @@ -372,7 +372,7 @@ or .Ar gid fields, the specified numbers will override the information retrieved from the Hesiod domain or the -.Tn NIS +NIS maps. Likewise, if the .Ar gecos , @@ -381,20 +381,20 @@ or .Ar shell entries contain text, it will override the information included via Hesiod or -.Tn NIS . +NIS . On some systems, the .Ar passwd field may also be overridden. .Sh FILES .Bl -tag -width ".Pa /etc/master.passwd" -compact .It Pa /etc/passwd -.Tn ASCII +ASCII password file, with passwords removed .It Pa /etc/pwd.db .Xr db 3 Ns -format password database, with passwords removed .It Pa /etc/master.passwd -.Tn ASCII +ASCII password file, with passwords intact .It Pa /etc/spwd.db .Xr db 3 Ns -format @@ -444,7 +444,7 @@ file format first appeared in .At v1 . .Pp The -.Tn NIS +NIS .Nm file format first appeared in SunOS. .Pp From nobody Tue May 16 12:01:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLFFc6BPVz49xxQ; Tue, 16 May 2023 12:01: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 4QLFFc5ZsBz3KJr; Tue, 16 May 2023 12:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684238484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qRlFn/ufsPEi8Kr7piLh6k98EeKyEDlaWClaBbHdxPQ=; b=nq8X4tGS7TggC74dS8o8JOXoVjMBonEPCwiItSemEVAb+4T4ROiGIhmj/o+agtj2kemIhG Yc0mKPO28rH5Rn5CT7ta1kOV0csyeAy0GpUfOK3pU3Ba1lq/MTSEwtwukq3Amyk0/mHl2e KAaI5ELasYXpeucLYjrpYwO8kRylk4c6pjZPekLoWII4zQZ8MmtbEv3WAbHWH0ROwX1xU9 I+cebNB1UpvTxKPJqYAg5ebi29vjA+tjFE166vDrHy/7arN68tdmLSCckvfvos52y3nY6M l1IeFB6HRRiBwesIJSGyyJpt4+VXlwXkFFXAstlgMXjFoXA1ZumAPAZ4AfTK8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684238484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qRlFn/ufsPEi8Kr7piLh6k98EeKyEDlaWClaBbHdxPQ=; b=uqDwtfYq0fjQKs1kJTP8xCnb3rx1AZUskirEbhA8yacjOBYro4whZUS3jrVZ/xdgpMaZhH LSbA5Id3udDwGf7uSj3roQ8xQtapagksx2BypuKAee6EEE9r51m9gCPHhPXWOT/V8mwhW/ kF6jNjEUF2IoAKjgKOhwCYx46XSdemo/cgwEVpDhN5DO9l1lauciQlqIGzCXLGkwArXAHT la6zAIsIc/lPGVmCnfv/ihs2TNEKZSX7fVKGgHAt2MntC05bDyRC5XhHI5Yt3/QZXkNuHt RRtdua0fkAJdYJ9A2XM3WwlHGOahsngv5GZWUxAT+3sI6xaixfwVTXfH7CFcMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684238484; a=rsa-sha256; cv=none; b=LlZqN3mTteaSvlLGzx1Z5k5WeGzCC2pbb3B/v7+faTT+62vtcLqcFIiOtUH3Wcugsflu6I lwe523dofcTO9zpHb83XdEnqEnONr+KUUl1fJY9TIkgbdksrg0BMaT6P+OX3jUK28MvndM e7vBOONZV9TIA19KyPFu7vq0njTs8fwU5EbrDoVrwRry4Na59gaasC17S2mT+M04vV4gF8 OeyXucY8F71n1Qgmh+AxQfcyY4Op9QsaCGhqu7b3hYNBoT2XLJwueeCxj3D18PXL/RKQ2X oKUMZ6QxY6XjkLQ8fCQOtJzjCwUKcVbtbSlyu+ErWe7dsBDA9Rq0el4z6drRmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLFFc4Sy5zM6V; Tue, 16 May 2023 12:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GC1OsG076367; Tue, 16 May 2023 12:01:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GC1OEa076366; Tue, 16 May 2023 12:01:24 GMT (envelope-from git) Date: Tue, 16 May 2023 12:01:24 GMT Message-Id: <202305161201.34GC1OEa076366@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: 6e068d6bea4d - main - passwd.5: Update man page after e0155c6989049da43c5499f7129002aa17d1ca79 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: 6e068d6bea4d8282704b4e157da3da584dc67a2d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=6e068d6bea4d8282704b4e157da3da584dc67a2d commit 6e068d6bea4d8282704b4e157da3da584dc67a2d Author: Jose Luis Duran AuthorDate: 2023-05-16 11:17:16 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-16 11:57:49 +0000 passwd.5: Update man page after e0155c6989049da43c5499f7129002aa17d1ca79 MFC After: 3 days --- share/man/man5/passwd.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index bd2d012ac57f..f2e307686b64 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -31,7 +31,7 @@ .\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd June 30, 2022 +.Dd May 16, 2023 .Dt PASSWD 5 .Os .Sh NAME @@ -131,7 +131,7 @@ The login name must not begin with a hyphen .Pq Ql \&- , and cannot contain 8-bit characters, tabs or spaces, or any of these symbols: -.Ql \&,:+&#%^\&(\&)!@~*?<>=|\e\\&/" . +.Ql \&,:+&#%^\&(\&)!@~*?<>=|\e\\&/"\&; . The dollar symbol .Pq Ql \&$ is allowed only as the last character for use with Samba. From nobody Tue May 16 13:42:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLHVf70yVz4B3bS; Tue, 16 May 2023 13:42: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 4QLHVf6Nxmz3jGV; Tue, 16 May 2023 13:42:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684244570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wr3FttLFacjzZUhVFArxcqoy9n7t+b2rYoSnEs8BIdk=; b=j9Sawqtzp33ibbxYuGGpljdfEuAoq9nUhGo8kJtjsKLSNRysNHGOmoSkcO2S985pQ92kXq 6+lQnPhd1oHxq33koM9sKMtcz8I8woXlJViEzhWNDfDPT67aW9hFi2vMnz0Fm0BwlEH582 GX4Q6jMfA3FsKeC/e7KSoXVHB/0e2C1M/wsEkdnurLsX/naYkeDF+S/aXopLYm5s1YxoyU LNktQ5ssetjTh+KRAf30utNp7qd3Oa7aw+W8Cu8J2W60c9TzX13vK/iOazrIt6fNQ/pz6R 3wdDb/ejK8UxpL5rkENqeahhhJ13ZAt2Yijs9wRhdTa9hJeKl2aBBJ6WdmMCjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684244570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wr3FttLFacjzZUhVFArxcqoy9n7t+b2rYoSnEs8BIdk=; b=ozA02mk3PdWqs+IuLYTIZo4j+vDEi12mumygmG1+gKbCGrZKWIASQ7UpzOxQU6kXfl/UcS 85rLYKy0hC7L23RNcRnrZ0VrhDGqzvv/CiMTuZYeznTtjUoqmUJEYG69INcBWZP9B4jVEd atbEPKPeuCtSJ5LgEWiYOgh9ubZngg10+GQF0hJByWylX7U+3K9irxOiKvFJaGw12cFJ4r ldgZiVleaa7SqifAkBlvMqUmomhpCA/n2+oEmoniUjd/Nf18jNQU3gDpxSWqxhK1CLi0GM FwGlklkPWSdJgwTiNAK42LzqD8WPcPYnVtnzWMBzSP4msYRAe+zvIJyEkND8EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684244570; a=rsa-sha256; cv=none; b=lMoj4F3IUDUAPQxhiJt6U9pUV7a7mCSiHyEdOZ8vFcjsuaRzozRgn7AN13bGSP/ItLFVnz ocEXySRP3cq5+Nq+RY8lw4MfTJ8PJqraypNMhvPGSM0FAHcfEevhWGzFi5hQ31QQt/U4R+ tx2jgCee4NHcNLQuC1l/k5QjV6NvUg9h5rqirXGWBuIZhCZmYTgvGJ+vfYvbLSTKKHJcyu bTn7PXdtQHELI6J7Cml36Um8Rp/gVC28FC3NZcTGa5PatJaiCLMnMbNeRhwv9/lTOQ14xG Xc4vUwKjODHeiIRQOis5qxKuqGoEtWYf2zJHuyw5FDmZl8/kJJIm/D0e76bYxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLHVf5SvxzPfp; Tue, 16 May 2023 13:42:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GDgoCA044651; Tue, 16 May 2023 13:42:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GDgopa044650; Tue, 16 May 2023 13:42:50 GMT (envelope-from git) Date: Tue, 16 May 2023 13:42:50 GMT Message-Id: <202305161342.34GDgopa044650@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Takanori Watanabe Subject: git: 5d261b0cc851 - stable/13 - acpi_ged: New driver to ACPI generic event device List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: takawata X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5d261b0cc851e80912cd850bf1aa3fee8d747da7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by takawata: URL: https://cgit.FreeBSD.org/src/commit/?id=5d261b0cc851e80912cd850bf1aa3fee8d747da7 commit 5d261b0cc851e80912cd850bf1aa3fee8d747da7 Author: Takanori Watanabe AuthorDate: 2022-10-18 05:41:53 +0000 Commit: Takanori Watanabe CommitDate: 2023-05-16 13:40:40 +0000 acpi_ged: New driver to ACPI generic event device New driver to ACPI generic event device, defined in ACPI spec. Some ACPI power button may not work without this. In qemu arm64 with "virt" machine, with ACPI firmware, enable devd check devd message by and invoke following command in qemu monitor (qemu) system_powerdown and make sure some power button input event appear. (setting sysctl hw.acpi.power_button_state=S5 is not work, because ACPI tree does not have \_S5 object.) Reviewed by: andrew, hrs Differential Revision: https://reviews.freebsd.org/D37032 (cherry-picked from a9880bfe1181b7a32d026339bae113f24300e5e1) acpi_ged: fix build, as module and non INTRNG case. Reviewed-by: cy Differential Revision: https://reviews.freebsd.org/D37104 (cherry-picked from 9cf5db63698b3c73edd632412bf68735d3c20d37) acpi_ged: fix build with ACPI_DEBUG (cherry-picked from ba23f762ece54a86f64b8ef62bbfc9c73c98762c) Make it compile for 13-stable. --- share/man/man4/acpi_ged.4 | 64 +++++++++ sys/conf/files | 1 + sys/dev/acpica/acpi_ged.c | 268 +++++++++++++++++++++++++++++++++++++ sys/modules/acpi/Makefile | 2 +- sys/modules/acpi/acpi_ged/Makefile | 11 ++ 5 files changed, 345 insertions(+), 1 deletion(-) diff --git a/share/man/man4/acpi_ged.4 b/share/man/man4/acpi_ged.4 new file mode 100644 index 000000000000..dd62e172ae8d --- /dev/null +++ b/share/man/man4/acpi_ged.4 @@ -0,0 +1,64 @@ +.\" Copyright (c) 2022 Takanori Watanabe +.\" +.\" 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. +.\" +.\" $FreeBSD$ +.\" +.Dd October 18, 2022 +.Dt ACPI_GED 4 +.Os +.Sh NAME +.Nm acpi_ged +.Nd "ACPI Generic Event Device" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device acpi_ged" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +acpi_ged_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for generic events interface. +This handles interrupts and evaluates the specific ACPI method. +This may generate optionally ACPI notify for another device. +.Sh SEE ALSO +.Xr acpi 4 +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 14.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Takanori Watanabe Aq Mt takawata@FreeBSD.org diff --git a/sys/conf/files b/sys/conf/files index 928289668166..dc776d09abf5 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -822,6 +822,7 @@ dev/acpica/acpi_button.c optional acpi dev/acpica/acpi_cmbat.c optional acpi dev/acpica/acpi_cpu.c optional acpi dev/acpica/acpi_ec.c optional acpi +dev/acpica/acpi_ged.c optional acpi_ged acpi dev/acpica/acpi_isab.c optional acpi isa dev/acpica/acpi_lid.c optional acpi dev/acpica/acpi_package.c optional acpi diff --git a/sys/dev/acpica/acpi_ged.c b/sys/dev/acpica/acpi_ged.c new file mode 100644 index 000000000000..5b946a80f06c --- /dev/null +++ b/sys/dev/acpica/acpi_ged.c @@ -0,0 +1,268 @@ +/*- + * Copyright (c) 2022 Takanori Watanabe + * + * 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 +__FBSDID("$FreeBSD$"); + +#include "opt_acpi.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +/* Hooks for the ACPI CA debugging infrastructure */ +#define _COMPONENT ACPI_BUS +ACPI_MODULE_NAME("GED") + +static MALLOC_DEFINE(M_ACPIGED, "acpiged", "ACPI Generic event data"); + +struct acpi_ged_event { + device_t dev; + struct resource *r; + int rid; + void *cookie; + ACPI_HANDLE ah; + ACPI_OBJECT_LIST args; + ACPI_OBJECT arg1; +}; + +struct acpi_ged_softc { + int numevts; + struct acpi_ged_event *evts; +}; + +static int acpi_ged_probe(device_t dev); +static int acpi_ged_attach(device_t dev); +static int acpi_ged_detach(device_t dev); + +static char *ged_ids[] = { "ACPI0013", NULL }; + +static device_method_t acpi_ged_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, acpi_ged_probe), + DEVMETHOD(device_attach, acpi_ged_attach), + DEVMETHOD(device_detach, acpi_ged_detach), + DEVMETHOD_END +}; + +static driver_t acpi_ged_driver = { + "acpi_ged", + acpi_ged_methods, + sizeof(struct acpi_ged_softc), +}; + +static devclass_t acpi_ged_devclass; +DRIVER_MODULE(acpi_ged, acpi, acpi_ged_driver, acpi_ged_devclass, 0, 0); +MODULE_DEPEND(acpi_ged, acpi, 1, 1, 1); + +static void +acpi_ged_evt(void *arg) +{ + struct acpi_ged_event *evt = arg; + + AcpiEvaluateObject(evt->ah, NULL, &evt->args, NULL); +} + +static void +acpi_ged_intr(void *arg) +{ + AcpiOsExecute(OSL_GPE_HANDLER, acpi_ged_evt, arg); +} +static int +acpi_ged_probe(device_t dev) +{ + int rv; + + if (acpi_disabled("ged")) + return (ENXIO); + rv = ACPI_ID_PROBE(device_get_parent(dev), dev, ged_ids, NULL); + if (rv > 0) + return (ENXIO); + + device_set_desc(dev, "Generic Event Device"); + return (rv); +} + +/*this should be in acpi_resource.*/ +static int +acpi_get_trigger(ACPI_RESOURCE *res) +{ + int trig; + + switch (res->Type) { + case ACPI_RESOURCE_TYPE_IRQ: + KASSERT(res->Data.Irq.InterruptCount == 1, + ("%s: multiple interrupts", __func__)); + trig = res->Data.Irq.Triggering; + break; + case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: + KASSERT(res->Data.ExtendedIrq.InterruptCount == 1, + ("%s: multiple interrupts", __func__)); + trig = res->Data.ExtendedIrq.Triggering; + break; + default: + panic("%s: bad resource type %u", __func__, res->Type); + } + + return (trig == ACPI_EDGE_SENSITIVE) + ? INTR_TRIGGER_EDGE : INTR_TRIGGER_LEVEL; +} + +static int +acpi_ged_attach(device_t dev) +{ + struct acpi_ged_softc *sc = device_get_softc(dev); + struct resource_list *rl; + struct resource_list_entry *rle; + ACPI_RESOURCE ares; + ACPI_HANDLE evt_method; + int i; + int rawirq, trig; + char name[] = "_Xnn"; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t) __func__); + + if (ACPI_FAILURE(AcpiGetHandle(acpi_get_handle(dev), "_EVT", + &evt_method))) { + device_printf(dev, "_EVT not found\n"); + evt_method = NULL; + } + + rl = BUS_GET_RESOURCE_LIST(device_get_parent(dev), dev); + STAILQ_FOREACH(rle, rl, link) { + if (rle->type == SYS_RES_IRQ) { + sc->numevts++; + } + } + sc->evts = mallocarray(sc->numevts, sizeof(*sc->evts), M_ACPIGED, + M_WAITOK | M_ZERO); + for (i = 0; i < sc->numevts; i++) { + sc->evts[i].dev = dev; + sc->evts[i].rid = i; + sc->evts[i].r = bus_alloc_resource_any(dev, SYS_RES_IRQ, + &sc->evts[i].rid, RF_ACTIVE | RF_SHAREABLE); + if (sc->evts[i].r == NULL) { + device_printf(dev, "Cannot alloc %dth irq\n", i); + continue; + } +#ifdef INTRNG + { + struct intr_map_data_acpi *ima; + ima = rman_get_virtual(sc->evts[i].r); + if (ima == NULL) { + device_printf(dev, "map not found" + " non-intrng?\n"); + rawirq = rman_get_start(sc->evts[i].r); + trig = INTR_TRIGGER_LEVEL; + if (ACPI_SUCCESS(acpi_lookup_irq_resource + (dev, sc->evts[i].rid, + sc->evts[i].r, &ares))) { + trig = acpi_get_trigger(&ares); + } + } else if (ima->hdr.type == INTR_MAP_DATA_ACPI) { + device_printf(dev, "Raw IRQ %d\n", ima->irq); + rawirq = ima->irq; + trig = ima->trig; + } else { + device_printf(dev, "Not supported intr" + " type%d\n", ima->hdr.type); + continue; + } + } +#else + rawirq = rman_get_start(sc->evts[i].r); + trig = INTR_TRIGGER_LEVEL; + if (ACPI_SUCCESS(acpi_lookup_irq_resource + (dev, sc->evts[i].rid, + sc->evts[i].r, &ares))) { + trig = acpi_get_trigger(&ares); + } +#endif + if (rawirq < 0x100) { + sprintf(name, "_%c%02X", + ((trig == INTR_TRIGGER_EDGE) ? 'E' : 'L'), + rawirq); + if (ACPI_SUCCESS(AcpiGetHandle + (acpi_get_handle(dev), + name, &sc->evts[i].ah))) { + sc->evts[i].args.Count = 0; /* ensure */ + } else { + sc->evts[i].ah = NULL; /* ensure */ + } + } + + if (sc->evts[i].ah == NULL) { + if (evt_method != NULL) { + sc->evts[i].ah = evt_method; + sc->evts[i].arg1.Type = ACPI_TYPE_INTEGER; + sc->evts[i].arg1.Integer.Value = rawirq; + sc->evts[i].args.Count = 1; + sc->evts[i].args.Pointer = &sc->evts[i].arg1; + } else{ + device_printf + (dev, + "Cannot find handler method %d\n", + i); + continue; + } + } + + if (bus_setup_intr(dev, sc->evts[i].r, + INTR_TYPE_MISC | INTR_MPSAFE, NULL, acpi_ged_intr, + &sc->evts[i], &sc->evts[i].cookie) != 0) { + device_printf(dev, "Failed to setup intr %d\n", i); + } + } + + return_VALUE(0); +} + +static int +acpi_ged_detach(device_t dev) +{ + struct acpi_ged_softc *sc = device_get_softc(dev); + int i; + + for (i = 0; i < sc->numevts; i++) { + if (sc->evts[i].cookie) { + bus_teardown_intr(dev, sc->evts[i].r, + sc->evts[i].cookie); + } + if (sc->evts[i].r) { + bus_release_resource(dev, SYS_RES_IRQ, sc->evts[i].rid, + sc->evts[i].r); + } + } + free(sc->evts, M_ACPIGED); + + return (0); +} diff --git a/sys/modules/acpi/Makefile b/sys/modules/acpi/Makefile index 552c4d2cbba0..71e083fef700 100644 --- a/sys/modules/acpi/Makefile +++ b/sys/modules/acpi/Makefile @@ -1,7 +1,7 @@ # $FreeBSD$ SUBDIR= acpi_asus acpi_asus_wmi acpi_dock acpi_fujitsu acpi_hp \ - acpi_ibm acpi_panasonic acpi_sony acpi_toshiba \ + acpi_ged acpi_ibm acpi_panasonic acpi_sony acpi_toshiba \ acpi_video acpi_wmi aibs .include diff --git a/sys/modules/acpi/acpi_ged/Makefile b/sys/modules/acpi/acpi_ged/Makefile new file mode 100644 index 000000000000..87dd53b88b2b --- /dev/null +++ b/sys/modules/acpi/acpi_ged/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/dev/acpica +.if ${MACHINE_CPUARCH} == "aarch64" +CFLAGS += -DINTRNG +.endif +KMOD= acpi_ged +SRCS= acpi_ged.c +SRCS+= opt_acpi.h opt_evdev.h acpi_if.h bus_if.h device_if.h + +.include From nobody Tue May 16 14:26:47 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLJTM610Dz4B5V4; Tue, 16 May 2023 14:26: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 4QLJTM5j6Yz3lMS; Tue, 16 May 2023 14:26:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684247207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C8OGSGvGyYs3HKhv3Q2o/FI8Sqv+y7jeZ9zOXv5sBEw=; b=v7bhkd3EZ/Md90QmGXfdFEUg/UZ0PvzS/KYoxbYXmmuK3IiS8SDmpwvH74+GFvYSOe4NsY bee4dsDLKziBcP2pJ3ydG8agrvlGojPrxs0VkrUW3FLqCNmsp4fnfSNO+4yyGXJNyIeyZz R7vTx6goonuE+s+rgUvaxz1CTg1h1pATzFHB+LJFE4dy4fAicS0N6IEHKdKTDw+dTalflw zI2HuXANVCCMlUU5Nd9WjyKhnopWXFgH3HfJBcXQ6/sZPVdzjFf01NN5QsCoG7fsSybq3e MH5r5KchD/6teLTQYOuyZwvBogdMMgYpkaYMNIxzHWR0EVzQc/e32Rq+OOgppg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684247207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C8OGSGvGyYs3HKhv3Q2o/FI8Sqv+y7jeZ9zOXv5sBEw=; b=NIPYPGnOWyeCQovtZh6igb9qmyZbE/myh7K/A2pEZIJGZtyJsNkNnffadRKvcS/F+LhQzR dKOB40f30A1NXv75EM/RzetJpsjzbjwS5mN59jl+9XN/gS9PvbqPK8BuPkKJY6OR1Tsnmg kkmCe/ZBSDQYfyvt50E8EXk4tXwUwdDJed6HFqbJz5DZJNvRJsKtizFFtQ4qo3eDaXeH0m HJWfIq7ODtAGQ0ZLVzeC+6aDnxlJpNVNCiA5kWPYsV/Ie+f0IDk20PthdEeQRAefR5D34e 10hTeDFAQ1CWrOYXQynkACBCA3vBs7f40nXBVHHaqPpc6bYELHPvbYa+07nnsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684247207; a=rsa-sha256; cv=none; b=rOdZIeK+WikTq03h3PCF7Z8AYSXUUBOJ4GYDp22jRY7mG5S2jjXQR24jOWrSzapDR7NNwr 7Abl/sGxkx2t2VkVTqyllkKG3jptfqq+a5BvgSc4g9vgUnxC7leW6nL6poekSSkGmsqii+ upYW0znCqAptCo+85CIpF0A+BTAJ5KmZbCSDOChycgMCC6jAjLRttRhPeWEHU1E0J81vDB L+n9uToPhq5NTno7yk/Nz0v4/iTQwOVcmhMkohyK9EWENVxcopn9mFrnOXsDPaO1L6VGTL 6UJB6Xrc1/GBJ2EArId+Eich0UVmiWRarXKOXuglb6m9UYGjq71KgqXd2O54XQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLJTM4l9BzQb0; Tue, 16 May 2023 14:26:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GEQlww011435; Tue, 16 May 2023 14:26:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GEQlFJ011434; Tue, 16 May 2023 14:26:47 GMT (envelope-from git) Date: Tue, 16 May 2023 14:26:47 GMT Message-Id: <202305161426.34GEQlFJ011434@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 1304042bce83 - stable/13 - nfsd: Continue adding macros so nfsd can run in a vnet prison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1304042bce8367323d6f8461cc9592c15b193b0f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=1304042bce8367323d6f8461cc9592c15b193b0f commit 1304042bce8367323d6f8461cc9592c15b193b0f Author: Rick Macklem AuthorDate: 2023-02-13 23:07:17 +0000 Commit: Rick Macklem CommitDate: 2023-05-16 14:25:15 +0000 nfsd: Continue adding macros so nfsd can run in a vnet prison Commit 7344856e3a6d added a lot of macros that will front end vnet macros so that nfsd(8) can run in vnet prison. This patch adds some more of them and also a lot of uses of nfsstatsv1_p instead of nfsstatsv1. nfsstatsv1_p points to nfsstatsv1 for prison0, but will point to a malloc'd structure for other prisons. It also puts nfsstatsv1_p in nfscommon.ko instead of nfsd.ko. (cherry picked from commit 9d329bbc9aea6b8f47df251072bc65403ac3e43e) --- sys/fs/nfs/nfs_commonkrpc.c | 15 +- sys/fs/nfs/nfs_commonport.c | 305 ++++++++++++++++++++++------------------ sys/fs/nfsserver/nfs_nfsdport.c | 12 +- 3 files changed, 177 insertions(+), 155 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 9badd8be47d4..bf0a9e6e53ef 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -92,7 +92,6 @@ NFSSTATESPINLOCK; NFSREQSPINLOCK; NFSDLOCKMUTEX; NFSCLSTATEMUTEX; -extern struct nfsstatsv1 nfsstatsv1; extern struct nfsreqhead nfsd_reqq; extern int nfscl_ticks; extern void (*ncl_call_invalcaches)(struct vnode *); @@ -100,6 +99,8 @@ extern int nfs_numnfscbd; extern int nfscl_debuglevel; extern int nfsrv_lease; +NFSD_VNET_DECLARE(struct nfsstatsv1 *, nfsstatsv1_p); + SVCPOOL *nfscbd_pool; int nfs_bufpackets = 4; static int nfsrv_gsscallbackson = 0; @@ -782,7 +783,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, procnum = NFSV4PROC_COMPOUND; if (nmp != NULL) { - NFSINCRGLOBAL(nfsstatsv1.rpcrequests); + NFSINCRGLOBAL(nfsstatsv1_p->rpcrequests); /* Map the procnum to the old NFSv2 one, as required. */ if ((nd->nd_flag & ND_NFSV2) != 0) { @@ -917,13 +918,13 @@ tryagain: if (stat == RPC_SUCCESS) { error = 0; } else if (stat == RPC_TIMEDOUT) { - NFSINCRGLOBAL(nfsstatsv1.rpctimeouts); + NFSINCRGLOBAL(nfsstatsv1_p->rpctimeouts); error = ETIMEDOUT; } else if (stat == RPC_VERSMISMATCH) { - NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); error = EOPNOTSUPP; } else if (stat == RPC_PROGVERSMISMATCH) { - NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); error = EPROTONOSUPPORT; } else if (stat == RPC_CANTSEND || stat == RPC_CANTRECV || stat == RPC_SYSTEMERROR || stat == RPC_INTR) { @@ -957,11 +958,11 @@ tryagain: if (stat == RPC_INTR) error = EINTR; else { - NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); error = ENXIO; } } else { - NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); error = EACCES; } if (error) { diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index f91cb3a8cebe..6aa52245749b 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -61,7 +61,6 @@ extern struct nfssockreq nfsrv_nfsuserdsock; extern void (*nfsd_call_recall)(struct vnode *, int, struct ucred *, struct thread *); extern int nfsrv_useacl; -struct mount nfsv4root_mnt; int newnfs_numnfsd = 0; struct nfsstatsv1 nfsstatsv1; int nfs_numnfscbd = 0; @@ -76,6 +75,8 @@ vop_advlock_t *nfs_advlock_p = NULL; vop_reclaim_t *nfs_reclaim_p = NULL; uint32_t nfs_srvmaxio = NFS_SRVMAXIO; +NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); + int nfs_pnfsio(task_fn_t *, void *); static int nfs_realign_test; @@ -149,6 +150,7 @@ struct mtx nfs_clstate_mutex; /* local functions */ static int nfssvc_call(struct thread *, struct nfssvc_args *, struct ucred *); +static void nfs_clean(struct prison *); #ifdef __NO_STRICT_ALIGNMENT /* @@ -434,7 +436,9 @@ nfssvc_nfscommon(struct thread *td, struct nfssvc_args *uap) { int error; + NFSD_CURVNET_SET(NFSD_TD_TO_VNET(td)); error = nfssvc_call(td, uap, td->td_ucred); + NFSD_CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -474,87 +478,87 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if ((uap->flag & NFSSVC_NEWSTRUCT) == 0) { /* Copy fields to the old ext_nfsstat structure. */ oldnfsstats.attrcache_hits = - nfsstatsv1.attrcache_hits; + nfsstatsv1_p->attrcache_hits; oldnfsstats.attrcache_misses = - nfsstatsv1.attrcache_misses; + nfsstatsv1_p->attrcache_misses; oldnfsstats.lookupcache_hits = - nfsstatsv1.lookupcache_hits; + nfsstatsv1_p->lookupcache_hits; oldnfsstats.lookupcache_misses = - nfsstatsv1.lookupcache_misses; + nfsstatsv1_p->lookupcache_misses; oldnfsstats.direofcache_hits = - nfsstatsv1.direofcache_hits; + nfsstatsv1_p->direofcache_hits; oldnfsstats.direofcache_misses = - nfsstatsv1.direofcache_misses; + nfsstatsv1_p->direofcache_misses; oldnfsstats.accesscache_hits = - nfsstatsv1.accesscache_hits; + nfsstatsv1_p->accesscache_hits; oldnfsstats.accesscache_misses = - nfsstatsv1.accesscache_misses; + nfsstatsv1_p->accesscache_misses; oldnfsstats.biocache_reads = - nfsstatsv1.biocache_reads; + nfsstatsv1_p->biocache_reads; oldnfsstats.read_bios = - nfsstatsv1.read_bios; + nfsstatsv1_p->read_bios; oldnfsstats.read_physios = - nfsstatsv1.read_physios; + nfsstatsv1_p->read_physios; oldnfsstats.biocache_writes = - nfsstatsv1.biocache_writes; + nfsstatsv1_p->biocache_writes; oldnfsstats.write_bios = - nfsstatsv1.write_bios; + nfsstatsv1_p->write_bios; oldnfsstats.write_physios = - nfsstatsv1.write_physios; + nfsstatsv1_p->write_physios; oldnfsstats.biocache_readlinks = - nfsstatsv1.biocache_readlinks; + nfsstatsv1_p->biocache_readlinks; oldnfsstats.readlink_bios = - nfsstatsv1.readlink_bios; + nfsstatsv1_p->readlink_bios; oldnfsstats.biocache_readdirs = - nfsstatsv1.biocache_readdirs; + nfsstatsv1_p->biocache_readdirs; oldnfsstats.readdir_bios = - nfsstatsv1.readdir_bios; + nfsstatsv1_p->readdir_bios; for (i = 0; i < NFSV4_NPROCS; i++) - oldnfsstats.rpccnt[i] = nfsstatsv1.rpccnt[i]; - oldnfsstats.rpcretries = nfsstatsv1.rpcretries; + oldnfsstats.rpccnt[i] = nfsstatsv1_p->rpccnt[i]; + oldnfsstats.rpcretries = nfsstatsv1_p->rpcretries; for (i = 0; i < NFSV4OP_NOPS; i++) oldnfsstats.srvrpccnt[i] = - nfsstatsv1.srvrpccnt[i]; + nfsstatsv1_p->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV4OP_NOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) oldnfsstats.srvrpccnt[j] = - nfsstatsv1.srvrpccnt[i]; + nfsstatsv1_p->srvrpccnt[i]; oldnfsstats.reserved_0 = 0; oldnfsstats.reserved_1 = 0; - oldnfsstats.rpcrequests = nfsstatsv1.rpcrequests; - oldnfsstats.rpctimeouts = nfsstatsv1.rpctimeouts; - oldnfsstats.rpcunexpected = nfsstatsv1.rpcunexpected; - oldnfsstats.rpcinvalid = nfsstatsv1.rpcinvalid; + oldnfsstats.rpcrequests = nfsstatsv1_p->rpcrequests; + oldnfsstats.rpctimeouts = nfsstatsv1_p->rpctimeouts; + oldnfsstats.rpcunexpected = nfsstatsv1_p->rpcunexpected; + oldnfsstats.rpcinvalid = nfsstatsv1_p->rpcinvalid; oldnfsstats.srvcache_inproghits = - nfsstatsv1.srvcache_inproghits; + nfsstatsv1_p->srvcache_inproghits; oldnfsstats.reserved_2 = 0; oldnfsstats.srvcache_nonidemdonehits = - nfsstatsv1.srvcache_nonidemdonehits; + nfsstatsv1_p->srvcache_nonidemdonehits; oldnfsstats.srvcache_misses = - nfsstatsv1.srvcache_misses; + nfsstatsv1_p->srvcache_misses; oldnfsstats.srvcache_tcppeak = - nfsstatsv1.srvcache_tcppeak; - oldnfsstats.srvcache_size = nfsstatsv1.srvcache_size; - oldnfsstats.srvclients = nfsstatsv1.srvclients; - oldnfsstats.srvopenowners = nfsstatsv1.srvopenowners; - oldnfsstats.srvopens = nfsstatsv1.srvopens; - oldnfsstats.srvlockowners = nfsstatsv1.srvlockowners; - oldnfsstats.srvlocks = nfsstatsv1.srvlocks; - oldnfsstats.srvdelegates = nfsstatsv1.srvdelegates; + nfsstatsv1_p->srvcache_tcppeak; + oldnfsstats.srvcache_size = nfsstatsv1_p->srvcache_size; + oldnfsstats.srvclients = nfsstatsv1_p->srvclients; + oldnfsstats.srvopenowners = nfsstatsv1_p->srvopenowners; + oldnfsstats.srvopens = nfsstatsv1_p->srvopens; + oldnfsstats.srvlockowners = nfsstatsv1_p->srvlockowners; + oldnfsstats.srvlocks = nfsstatsv1_p->srvlocks; + oldnfsstats.srvdelegates = nfsstatsv1_p->srvdelegates; for (i = 0; i < NFSV4OP_CBNOPS; i++) oldnfsstats.cbrpccnt[i] = - nfsstatsv1.cbrpccnt[i]; - oldnfsstats.clopenowners = nfsstatsv1.clopenowners; - oldnfsstats.clopens = nfsstatsv1.clopens; - oldnfsstats.cllockowners = nfsstatsv1.cllockowners; - oldnfsstats.cllocks = nfsstatsv1.cllocks; - oldnfsstats.cldelegates = nfsstatsv1.cldelegates; + nfsstatsv1_p->cbrpccnt[i]; + oldnfsstats.clopenowners = nfsstatsv1_p->clopenowners; + oldnfsstats.clopens = nfsstatsv1_p->clopens; + oldnfsstats.cllockowners = nfsstatsv1_p->cllockowners; + oldnfsstats.cllocks = nfsstatsv1_p->cllocks; + oldnfsstats.cldelegates = nfsstatsv1_p->cldelegates; oldnfsstats.cllocalopenowners = - nfsstatsv1.cllocalopenowners; - oldnfsstats.cllocalopens = nfsstatsv1.cllocalopens; + nfsstatsv1_p->cllocalopenowners; + oldnfsstats.cllocalopens = nfsstatsv1_p->cllocalopens; oldnfsstats.cllocallockowners = - nfsstatsv1.cllocallockowners; - oldnfsstats.cllocallocks = nfsstatsv1.cllocallocks; + nfsstatsv1_p->cllocallockowners; + oldnfsstats.cllocallocks = nfsstatsv1_p->cllocallocks; error = copyout(&oldnfsstats, uap->argp, sizeof (oldnfsstats)); } else { @@ -564,128 +568,128 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if (nfsstatver.vers == NFSSTATS_OV1) { /* Copy nfsstatsv1 to nfsstatsov1. */ nfsstatsov1.attrcache_hits = - nfsstatsv1.attrcache_hits; + nfsstatsv1_p->attrcache_hits; nfsstatsov1.attrcache_misses = - nfsstatsv1.attrcache_misses; + nfsstatsv1_p->attrcache_misses; nfsstatsov1.lookupcache_hits = - nfsstatsv1.lookupcache_hits; + nfsstatsv1_p->lookupcache_hits; nfsstatsov1.lookupcache_misses = - nfsstatsv1.lookupcache_misses; + nfsstatsv1_p->lookupcache_misses; nfsstatsov1.direofcache_hits = - nfsstatsv1.direofcache_hits; + nfsstatsv1_p->direofcache_hits; nfsstatsov1.direofcache_misses = - nfsstatsv1.direofcache_misses; + nfsstatsv1_p->direofcache_misses; nfsstatsov1.accesscache_hits = - nfsstatsv1.accesscache_hits; + nfsstatsv1_p->accesscache_hits; nfsstatsov1.accesscache_misses = - nfsstatsv1.accesscache_misses; + nfsstatsv1_p->accesscache_misses; nfsstatsov1.biocache_reads = - nfsstatsv1.biocache_reads; + nfsstatsv1_p->biocache_reads; nfsstatsov1.read_bios = - nfsstatsv1.read_bios; + nfsstatsv1_p->read_bios; nfsstatsov1.read_physios = - nfsstatsv1.read_physios; + nfsstatsv1_p->read_physios; nfsstatsov1.biocache_writes = - nfsstatsv1.biocache_writes; + nfsstatsv1_p->biocache_writes; nfsstatsov1.write_bios = - nfsstatsv1.write_bios; + nfsstatsv1_p->write_bios; nfsstatsov1.write_physios = - nfsstatsv1.write_physios; + nfsstatsv1_p->write_physios; nfsstatsov1.biocache_readlinks = - nfsstatsv1.biocache_readlinks; + nfsstatsv1_p->biocache_readlinks; nfsstatsov1.readlink_bios = - nfsstatsv1.readlink_bios; + nfsstatsv1_p->readlink_bios; nfsstatsov1.biocache_readdirs = - nfsstatsv1.biocache_readdirs; + nfsstatsv1_p->biocache_readdirs; nfsstatsov1.readdir_bios = - nfsstatsv1.readdir_bios; + nfsstatsv1_p->readdir_bios; for (i = 0; i < NFSV42_OLDNPROCS; i++) nfsstatsov1.rpccnt[i] = - nfsstatsv1.rpccnt[i]; + nfsstatsv1_p->rpccnt[i]; nfsstatsov1.rpcretries = - nfsstatsv1.rpcretries; + nfsstatsv1_p->rpcretries; for (i = 0; i < NFSV42_PURENOPS; i++) nfsstatsov1.srvrpccnt[i] = - nfsstatsv1.srvrpccnt[i]; + nfsstatsv1_p->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) nfsstatsov1.srvrpccnt[j] = - nfsstatsv1.srvrpccnt[i]; + nfsstatsv1_p->srvrpccnt[i]; nfsstatsov1.reserved_0 = 0; nfsstatsov1.reserved_1 = 0; nfsstatsov1.rpcrequests = - nfsstatsv1.rpcrequests; + nfsstatsv1_p->rpcrequests; nfsstatsov1.rpctimeouts = - nfsstatsv1.rpctimeouts; + nfsstatsv1_p->rpctimeouts; nfsstatsov1.rpcunexpected = - nfsstatsv1.rpcunexpected; + nfsstatsv1_p->rpcunexpected; nfsstatsov1.rpcinvalid = - nfsstatsv1.rpcinvalid; + nfsstatsv1_p->rpcinvalid; nfsstatsov1.srvcache_inproghits = - nfsstatsv1.srvcache_inproghits; + nfsstatsv1_p->srvcache_inproghits; nfsstatsov1.reserved_2 = 0; nfsstatsov1.srvcache_nonidemdonehits = - nfsstatsv1.srvcache_nonidemdonehits; + nfsstatsv1_p->srvcache_nonidemdonehits; nfsstatsov1.srvcache_misses = - nfsstatsv1.srvcache_misses; + nfsstatsv1_p->srvcache_misses; nfsstatsov1.srvcache_tcppeak = - nfsstatsv1.srvcache_tcppeak; + nfsstatsv1_p->srvcache_tcppeak; nfsstatsov1.srvcache_size = - nfsstatsv1.srvcache_size; + nfsstatsv1_p->srvcache_size; nfsstatsov1.srvclients = - nfsstatsv1.srvclients; + nfsstatsv1_p->srvclients; nfsstatsov1.srvopenowners = - nfsstatsv1.srvopenowners; + nfsstatsv1_p->srvopenowners; nfsstatsov1.srvopens = - nfsstatsv1.srvopens; + nfsstatsv1_p->srvopens; nfsstatsov1.srvlockowners = - nfsstatsv1.srvlockowners; + nfsstatsv1_p->srvlockowners; nfsstatsov1.srvlocks = - nfsstatsv1.srvlocks; + nfsstatsv1_p->srvlocks; nfsstatsov1.srvdelegates = - nfsstatsv1.srvdelegates; + nfsstatsv1_p->srvdelegates; for (i = 0; i < NFSV42_CBNOPS; i++) nfsstatsov1.cbrpccnt[i] = - nfsstatsv1.cbrpccnt[i]; + nfsstatsv1_p->cbrpccnt[i]; nfsstatsov1.clopenowners = - nfsstatsv1.clopenowners; + nfsstatsv1_p->clopenowners; nfsstatsov1.clopens = - nfsstatsv1.clopens; + nfsstatsv1_p->clopens; nfsstatsov1.cllockowners = - nfsstatsv1.cllockowners; + nfsstatsv1_p->cllockowners; nfsstatsov1.cllocks = - nfsstatsv1.cllocks; + nfsstatsv1_p->cllocks; nfsstatsov1.cldelegates = - nfsstatsv1.cldelegates; + nfsstatsv1_p->cldelegates; nfsstatsov1.cllocalopenowners = - nfsstatsv1.cllocalopenowners; + nfsstatsv1_p->cllocalopenowners; nfsstatsov1.cllocalopens = - nfsstatsv1.cllocalopens; + nfsstatsv1_p->cllocalopens; nfsstatsov1.cllocallockowners = - nfsstatsv1.cllocallockowners; + nfsstatsv1_p->cllocallockowners; nfsstatsov1.cllocallocks = - nfsstatsv1.cllocallocks; + nfsstatsv1_p->cllocallocks; nfsstatsov1.srvstartcnt = - nfsstatsv1.srvstartcnt; + nfsstatsv1_p->srvstartcnt; nfsstatsov1.srvdonecnt = - nfsstatsv1.srvdonecnt; + nfsstatsv1_p->srvdonecnt; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) { nfsstatsov1.srvbytes[j] = - nfsstatsv1.srvbytes[i]; + nfsstatsv1_p->srvbytes[i]; nfsstatsov1.srvops[j] = - nfsstatsv1.srvops[i]; + nfsstatsv1_p->srvops[i]; nfsstatsov1.srvduration[j] = - nfsstatsv1.srvduration[i]; + nfsstatsv1_p->srvduration[i]; } nfsstatsov1.busyfrom = - nfsstatsv1.busyfrom; + nfsstatsv1_p->busyfrom; nfsstatsov1.busyfrom = - nfsstatsv1.busyfrom; + nfsstatsv1_p->busyfrom; error = copyout(&nfsstatsov1, uap->argp, sizeof(nfsstatsov1)); } else if (nfsstatver.vers != NFSSTATS_V1) @@ -697,41 +701,41 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) } if (error == 0) { if ((uap->flag & NFSSVC_ZEROCLTSTATS) != 0) { - nfsstatsv1.attrcache_hits = 0; - nfsstatsv1.attrcache_misses = 0; - nfsstatsv1.lookupcache_hits = 0; - nfsstatsv1.lookupcache_misses = 0; - nfsstatsv1.direofcache_hits = 0; - nfsstatsv1.direofcache_misses = 0; - nfsstatsv1.accesscache_hits = 0; - nfsstatsv1.accesscache_misses = 0; - nfsstatsv1.biocache_reads = 0; - nfsstatsv1.read_bios = 0; - nfsstatsv1.read_physios = 0; - nfsstatsv1.biocache_writes = 0; - nfsstatsv1.write_bios = 0; - nfsstatsv1.write_physios = 0; - nfsstatsv1.biocache_readlinks = 0; - nfsstatsv1.readlink_bios = 0; - nfsstatsv1.biocache_readdirs = 0; - nfsstatsv1.readdir_bios = 0; - nfsstatsv1.rpcretries = 0; - nfsstatsv1.rpcrequests = 0; - nfsstatsv1.rpctimeouts = 0; - nfsstatsv1.rpcunexpected = 0; - nfsstatsv1.rpcinvalid = 0; - bzero(nfsstatsv1.rpccnt, - sizeof(nfsstatsv1.rpccnt)); + nfsstatsv1_p->attrcache_hits = 0; + nfsstatsv1_p->attrcache_misses = 0; + nfsstatsv1_p->lookupcache_hits = 0; + nfsstatsv1_p->lookupcache_misses = 0; + nfsstatsv1_p->direofcache_hits = 0; + nfsstatsv1_p->direofcache_misses = 0; + nfsstatsv1_p->accesscache_hits = 0; + nfsstatsv1_p->accesscache_misses = 0; + nfsstatsv1_p->biocache_reads = 0; + nfsstatsv1_p->read_bios = 0; + nfsstatsv1_p->read_physios = 0; + nfsstatsv1_p->biocache_writes = 0; + nfsstatsv1_p->write_bios = 0; + nfsstatsv1_p->write_physios = 0; + nfsstatsv1_p->biocache_readlinks = 0; + nfsstatsv1_p->readlink_bios = 0; + nfsstatsv1_p->biocache_readdirs = 0; + nfsstatsv1_p->readdir_bios = 0; + nfsstatsv1_p->rpcretries = 0; + nfsstatsv1_p->rpcrequests = 0; + nfsstatsv1_p->rpctimeouts = 0; + nfsstatsv1_p->rpcunexpected = 0; + nfsstatsv1_p->rpcinvalid = 0; + bzero(nfsstatsv1_p->rpccnt, + sizeof(nfsstatsv1_p->rpccnt)); } if ((uap->flag & NFSSVC_ZEROSRVSTATS) != 0) { - nfsstatsv1.srvcache_inproghits = 0; - nfsstatsv1.srvcache_nonidemdonehits = 0; - nfsstatsv1.srvcache_misses = 0; - nfsstatsv1.srvcache_tcppeak = 0; - bzero(nfsstatsv1.srvrpccnt, - sizeof(nfsstatsv1.srvrpccnt)); - bzero(nfsstatsv1.cbrpccnt, - sizeof(nfsstatsv1.cbrpccnt)); + nfsstatsv1_p->srvcache_inproghits = 0; + nfsstatsv1_p->srvcache_nonidemdonehits = 0; + nfsstatsv1_p->srvcache_misses = 0; + nfsstatsv1_p->srvcache_tcppeak = 0; + bzero(nfsstatsv1_p->srvrpccnt, + sizeof(nfsstatsv1_p->srvrpccnt)); + bzero(nfsstatsv1_p->cbrpccnt, + sizeof(nfsstatsv1_p->cbrpccnt)); } } goto out; @@ -849,6 +853,34 @@ nfs_pnfsio(task_fn_t *func, void *context) return (ret); } +static void +nfs_clean(struct prison *pr) +{ + + NFSD_CURVNET_SET(pr->pr_vnet); + if (pr != &prison0) + free(NFSD_VNET(nfsstatsv1_p), M_TEMP); + /* Clean out the name<-->id cache. */ + nfsrv_cleanusergroup(); + NFSD_CURVNET_RESTORE(); +} + +/* + * Initialize everything that needs to be initialized for a vnet. + */ +static void +nfs_vnetinit(const void *unused __unused) +{ + + if (curthread->td_ucred->cr_prison == &prison0) + NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; + else + NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), + M_TEMP, M_WAITOK | M_ZERO); +} +SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, + nfs_vnetinit, NULL); + extern int (*nfsd_call_nfscommon)(struct thread *, struct nfssvc_args *); /* @@ -886,8 +918,7 @@ nfscommon_modevent(module_t mod, int type, void *data) } nfsd_call_nfscommon = NULL; - /* Clean out the name<-->id cache. */ - nfsrv_cleanusergroup(); + nfs_clean(&prison0); /* and get rid of the mutexes */ mtx_destroy(&nfs_nameid_mutex); mtx_destroy(&newnfsd_mtx); diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index d62c6295ccfa..72d0f166300d 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -61,7 +61,6 @@ extern u_int32_t newnfs_true, newnfs_false, newnfs_xdrneg1; extern int nfsrv_useacl; extern int newnfs_numnfsd; extern int nfsrv_sessionhashsize; -extern struct nfsstatsv1 nfsstatsv1; extern struct nfslayouthash *nfslayouthash; extern int nfsrv_layouthashsize; extern struct mtx nfsrv_dslock_mtx; @@ -79,6 +78,7 @@ NFSD_VNET_DECLARE(struct nfsclienthashhead *, nfsclienthash); NFSD_VNET_DECLARE(struct nfslockhashhead *, nfslockhash); NFSD_VNET_DECLARE(struct nfssessionhash *, nfssessionhash); NFSD_VNET_DECLARE(struct nfsv4lock, nfsd_suspend_lock); +NFSD_VNET_DECLARE(struct nfsstatsv1 *, nfsstatsv1_p); NFSDLOCKMUTEX; NFSSTATESPINLOCK; @@ -102,7 +102,6 @@ NFSD_VNET_DEFINE(struct nfsrchash_bucket *, nfsrcahash_table); NFSD_VNET_DEFINE(struct nfsrvfh, nfs_rootfh); NFSD_VNET_DEFINE(int, nfs_rootfhset) = 0; NFSD_VNET_DEFINE(struct callout, nfsd_callout); -NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); NFSD_VNET_DEFINE_STATIC(struct mount *, nfsv4root_mnt); NFSD_VNET_DEFINE_STATIC(struct vfsoptlist, nfsv4root_opt); NFSD_VNET_DEFINE_STATIC(struct vfsoptlist, nfsv4root_newopt); @@ -3547,13 +3546,6 @@ nfsd_mntinit(void) nfsrvd_init(0); NFSD_UNLOCK(); - if (curthread->td_ucred->cr_prison == &prison0) - NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; - else - NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), - M_TEMP, M_WAITOK | M_ZERO); - nfsstatsv1_p->srvcache_tcppeak = 0; - nfsstatsv1_p->srvcache_size = 0; NFSD_VNET(nfsv4root_mnt) = malloc(sizeof(struct mount), M_TEMP, M_WAITOK | M_ZERO); NFSD_VNET(nfsv4root_mnt)->mnt_flag = (MNT_RDONLY | MNT_EXPORTED); @@ -6962,8 +6954,6 @@ nfsrv_cleanup(struct prison *pr) free(NFSD_VNET(nfssessionhash), M_NFSDSESSION); free(NFSD_VNET(nfsv4root_mnt), M_TEMP); NFSD_VNET(nfsv4root_mnt) = NULL; - if (pr != &prison0) - free(NFSD_VNET(nfsstatsv1_p), M_TEMP); NFSD_CURVNET_RESTORE(); } From nobody Tue May 16 14:28:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLJWc0lXlz4B5jf; Tue, 16 May 2023 14:28: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 4QLJWc00Y1z3llZ; Tue, 16 May 2023 14:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684247324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TaSbs0QiUksz+vTQDxwFuyYTZepVzmvYIAz5S96pKew=; b=ZSbZGzTON0IXcIFJUmTQdFCIDKFGZK/SyP4jrvNtw3oOodEJu4fk3f1DTLHKVWJfwKCsI+ xI38hxrcGnxA5v4Pz7ckShSjg9yGJqN8lsxY+6/2gN6TZFvCdfc7mXrsa8LFnPD7tgI53n +EO4qcvdVJm8wJwe3p44Q0IL5IsYiJap/M8uW/dT1QnDnqh1c9zT8iouKpaUenjj5gMbUo CZOeAX+9kNacyW+d4zz7HupKnjhP3zW2eQqmu4x2lgAnh6YvMynJVyygDimWuGtlBrzEmR WUBmH2XZCUnMhN0vjljf8aS88z04tMBGIRYPjpX92VY6jLSmnCmo1KZxjFsGlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684247324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TaSbs0QiUksz+vTQDxwFuyYTZepVzmvYIAz5S96pKew=; b=vXo0g7yvbiP81R+iLkhDK1Z8CEKXMVTxTJsifOcibOH8hjb0KMQ+IAN2Se5kV0AITBUUVC y9rLsXPN6szDsRZ7RN4u0Zu4Rb2JFGl7wfMj6/2HFfp43be1cjOKnAQGiuRygVf9EHhi8d mh6M7ytHx4KmpzERhwi96Wwh0nirZfNS0IuHtqhx42F45p/aKtaucRbYGa47Ub7uRQckh+ CPq0M1qdHhuU75aGm3z4nNPrrVxtY2w0l9DKkcCUpFG//w22iQS3pz8w+U53GH4RRRlVBq /rkV9k1zJMCx/bgMm8esr/NO7Bpb25K0u2abyzo19gY2JXx/hkZapMdbZQu37w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684247324; a=rsa-sha256; cv=none; b=tmPku4ZGKYSkBTUW5mpvcVqkTkkRJUl3LStM/4OYh6zEcergdMcBT+KEM7ERC4N8zCQXYU OZTzMQ1KlfZOOS1hVClXsqwIMbDnzQMgTYQV0zpXv9ScKQu09gTUw6zRQWARl5daILxymW 3GYKrvoUCp/2iF7/sRDAL8f+I/qwnLPxWA1byhwkXyqfdEHrO996O2WUPphSxnZkYSpuEA TmhbclTh+NEy+gMk//+9ivDlFC49jY2Xi/yFP2blRrrZVEb1BPehgKVbCr9VtxZ8O9c2CO yg0npo82C+I6jwkB5Ch4Rr2Xs+RyVJ9YitOwFP7jrnwj6emch0NgLtZdGtefgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLJWb5VPrzQXR; Tue, 16 May 2023 14:28:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GEShhq011772; Tue, 16 May 2023 14:28:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GEShWx011771; Tue, 16 May 2023 14:28:43 GMT (envelope-from git) Date: Tue, 16 May 2023 14:28:43 GMT Message-Id: <202305161428.34GEShWx011771@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: aeb27b5d12d3 - stable/13 - nfsd: Wrap nfsstatsv1_p in the NFSD_VNET() macro List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aeb27b5d12d362570973ecc42d5c3cfe5c30f210 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=aeb27b5d12d362570973ecc42d5c3cfe5c30f210 commit aeb27b5d12d362570973ecc42d5c3cfe5c30f210 Author: Rick Macklem AuthorDate: 2023-02-16 01:39:07 +0000 Commit: Rick Macklem CommitDate: 2023-05-16 14:27:28 +0000 nfsd: Wrap nfsstatsv1_p in the NFSD_VNET() macro Commit 7344856e3a6d added a lot of macros that will front end vnet macros so that nfsd(8) can run in vnet prison. The nfsstatsv1_p variable got missed. This patch wraps all uses of nfsstatsv1_p with the NFSD_VNET() macro. The NFSD_VNET() macro is still a null macro. (cherry picked from commit b039ca0776774036a9e33aa45f50296a7f6ba547) --- sys/fs/nfs/nfs_commonkrpc.c | 12 +- sys/fs/nfs/nfs_commonport.c | 290 ++++++++++++++++++++------------------ sys/fs/nfsserver/nfs_nfsdcache.c | 30 ++-- sys/fs/nfsserver/nfs_nfsdport.c | 4 +- sys/fs/nfsserver/nfs_nfsdsocket.c | 25 ++-- sys/fs/nfsserver/nfs_nfsdstate.c | 48 +++---- 6 files changed, 214 insertions(+), 195 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index bf0a9e6e53ef..0d2cb9ec279a 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -783,7 +783,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, procnum = NFSV4PROC_COMPOUND; if (nmp != NULL) { - NFSINCRGLOBAL(nfsstatsv1_p->rpcrequests); + NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcrequests); /* Map the procnum to the old NFSv2 one, as required. */ if ((nd->nd_flag & ND_NFSV2) != 0) { @@ -918,13 +918,13 @@ tryagain: if (stat == RPC_SUCCESS) { error = 0; } else if (stat == RPC_TIMEDOUT) { - NFSINCRGLOBAL(nfsstatsv1_p->rpctimeouts); + NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpctimeouts); error = ETIMEDOUT; } else if (stat == RPC_VERSMISMATCH) { - NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); + NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); error = EOPNOTSUPP; } else if (stat == RPC_PROGVERSMISMATCH) { - NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); + NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); error = EPROTONOSUPPORT; } else if (stat == RPC_CANTSEND || stat == RPC_CANTRECV || stat == RPC_SYSTEMERROR || stat == RPC_INTR) { @@ -958,11 +958,11 @@ tryagain: if (stat == RPC_INTR) error = EINTR; else { - NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); + NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); error = ENXIO; } } else { - NFSINCRGLOBAL(nfsstatsv1_p->rpcinvalid); + NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); error = EACCES; } if (error) { diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 6aa52245749b..def18522104d 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -478,87 +478,105 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if ((uap->flag & NFSSVC_NEWSTRUCT) == 0) { /* Copy fields to the old ext_nfsstat structure. */ oldnfsstats.attrcache_hits = - nfsstatsv1_p->attrcache_hits; + NFSD_VNET(nfsstatsv1_p)->attrcache_hits; oldnfsstats.attrcache_misses = - nfsstatsv1_p->attrcache_misses; + NFSD_VNET(nfsstatsv1_p)->attrcache_misses; oldnfsstats.lookupcache_hits = - nfsstatsv1_p->lookupcache_hits; + NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; oldnfsstats.lookupcache_misses = - nfsstatsv1_p->lookupcache_misses; + NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; oldnfsstats.direofcache_hits = - nfsstatsv1_p->direofcache_hits; + NFSD_VNET(nfsstatsv1_p)->direofcache_hits; oldnfsstats.direofcache_misses = - nfsstatsv1_p->direofcache_misses; + NFSD_VNET(nfsstatsv1_p)->direofcache_misses; oldnfsstats.accesscache_hits = - nfsstatsv1_p->accesscache_hits; + NFSD_VNET(nfsstatsv1_p)->accesscache_hits; oldnfsstats.accesscache_misses = - nfsstatsv1_p->accesscache_misses; + NFSD_VNET(nfsstatsv1_p)->accesscache_misses; oldnfsstats.biocache_reads = - nfsstatsv1_p->biocache_reads; + NFSD_VNET(nfsstatsv1_p)->biocache_reads; oldnfsstats.read_bios = - nfsstatsv1_p->read_bios; + NFSD_VNET(nfsstatsv1_p)->read_bios; oldnfsstats.read_physios = - nfsstatsv1_p->read_physios; + NFSD_VNET(nfsstatsv1_p)->read_physios; oldnfsstats.biocache_writes = - nfsstatsv1_p->biocache_writes; + NFSD_VNET(nfsstatsv1_p)->biocache_writes; oldnfsstats.write_bios = - nfsstatsv1_p->write_bios; + NFSD_VNET(nfsstatsv1_p)->write_bios; oldnfsstats.write_physios = - nfsstatsv1_p->write_physios; + NFSD_VNET(nfsstatsv1_p)->write_physios; oldnfsstats.biocache_readlinks = - nfsstatsv1_p->biocache_readlinks; + NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; oldnfsstats.readlink_bios = - nfsstatsv1_p->readlink_bios; + NFSD_VNET(nfsstatsv1_p)->readlink_bios; oldnfsstats.biocache_readdirs = - nfsstatsv1_p->biocache_readdirs; + NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; oldnfsstats.readdir_bios = - nfsstatsv1_p->readdir_bios; + NFSD_VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV4_NPROCS; i++) - oldnfsstats.rpccnt[i] = nfsstatsv1_p->rpccnt[i]; - oldnfsstats.rpcretries = nfsstatsv1_p->rpcretries; + oldnfsstats.rpccnt[i] = + NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; + oldnfsstats.rpcretries = + NFSD_VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV4OP_NOPS; i++) oldnfsstats.srvrpccnt[i] = - nfsstatsv1_p->srvrpccnt[i]; + NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV4OP_NOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) oldnfsstats.srvrpccnt[j] = - nfsstatsv1_p->srvrpccnt[i]; + NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; oldnfsstats.reserved_0 = 0; oldnfsstats.reserved_1 = 0; - oldnfsstats.rpcrequests = nfsstatsv1_p->rpcrequests; - oldnfsstats.rpctimeouts = nfsstatsv1_p->rpctimeouts; - oldnfsstats.rpcunexpected = nfsstatsv1_p->rpcunexpected; - oldnfsstats.rpcinvalid = nfsstatsv1_p->rpcinvalid; + oldnfsstats.rpcrequests = + NFSD_VNET(nfsstatsv1_p)->rpcrequests; + oldnfsstats.rpctimeouts = + NFSD_VNET(nfsstatsv1_p)->rpctimeouts; + oldnfsstats.rpcunexpected = + NFSD_VNET(nfsstatsv1_p)->rpcunexpected; + oldnfsstats.rpcinvalid = + NFSD_VNET(nfsstatsv1_p)->rpcinvalid; oldnfsstats.srvcache_inproghits = - nfsstatsv1_p->srvcache_inproghits; + NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; oldnfsstats.reserved_2 = 0; oldnfsstats.srvcache_nonidemdonehits = - nfsstatsv1_p->srvcache_nonidemdonehits; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; oldnfsstats.srvcache_misses = - nfsstatsv1_p->srvcache_misses; + NFSD_VNET(nfsstatsv1_p)->srvcache_misses; oldnfsstats.srvcache_tcppeak = - nfsstatsv1_p->srvcache_tcppeak; - oldnfsstats.srvcache_size = nfsstatsv1_p->srvcache_size; - oldnfsstats.srvclients = nfsstatsv1_p->srvclients; - oldnfsstats.srvopenowners = nfsstatsv1_p->srvopenowners; - oldnfsstats.srvopens = nfsstatsv1_p->srvopens; - oldnfsstats.srvlockowners = nfsstatsv1_p->srvlockowners; - oldnfsstats.srvlocks = nfsstatsv1_p->srvlocks; - oldnfsstats.srvdelegates = nfsstatsv1_p->srvdelegates; + NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; + oldnfsstats.srvcache_size = + NFSD_VNET(nfsstatsv1_p)->srvcache_size; + oldnfsstats.srvclients = + NFSD_VNET(nfsstatsv1_p)->srvclients; + oldnfsstats.srvopenowners = + NFSD_VNET(nfsstatsv1_p)->srvopenowners; + oldnfsstats.srvopens = + NFSD_VNET(nfsstatsv1_p)->srvopens; + oldnfsstats.srvlockowners = + NFSD_VNET(nfsstatsv1_p)->srvlockowners; + oldnfsstats.srvlocks = + NFSD_VNET(nfsstatsv1_p)->srvlocks; + oldnfsstats.srvdelegates = + NFSD_VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV4OP_CBNOPS; i++) oldnfsstats.cbrpccnt[i] = - nfsstatsv1_p->cbrpccnt[i]; - oldnfsstats.clopenowners = nfsstatsv1_p->clopenowners; - oldnfsstats.clopens = nfsstatsv1_p->clopens; - oldnfsstats.cllockowners = nfsstatsv1_p->cllockowners; - oldnfsstats.cllocks = nfsstatsv1_p->cllocks; - oldnfsstats.cldelegates = nfsstatsv1_p->cldelegates; + NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; + oldnfsstats.clopenowners = + NFSD_VNET(nfsstatsv1_p)->clopenowners; + oldnfsstats.clopens = NFSD_VNET(nfsstatsv1_p)->clopens; + oldnfsstats.cllockowners = + NFSD_VNET(nfsstatsv1_p)->cllockowners; + oldnfsstats.cllocks = NFSD_VNET(nfsstatsv1_p)->cllocks; + oldnfsstats.cldelegates = + NFSD_VNET(nfsstatsv1_p)->cldelegates; oldnfsstats.cllocalopenowners = - nfsstatsv1_p->cllocalopenowners; - oldnfsstats.cllocalopens = nfsstatsv1_p->cllocalopens; + NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; + oldnfsstats.cllocalopens = + NFSD_VNET(nfsstatsv1_p)->cllocalopens; oldnfsstats.cllocallockowners = - nfsstatsv1_p->cllocallockowners; - oldnfsstats.cllocallocks = nfsstatsv1_p->cllocallocks; + NFSD_VNET(nfsstatsv1_p)->cllocallockowners; + oldnfsstats.cllocallocks = + NFSD_VNET(nfsstatsv1_p)->cllocallocks; error = copyout(&oldnfsstats, uap->argp, sizeof (oldnfsstats)); } else { @@ -568,174 +586,174 @@ nfssvc_call(struct thread *p, struct nfssvc_args *uap, struct ucred *cred) if (nfsstatver.vers == NFSSTATS_OV1) { /* Copy nfsstatsv1 to nfsstatsov1. */ nfsstatsov1.attrcache_hits = - nfsstatsv1_p->attrcache_hits; + NFSD_VNET(nfsstatsv1_p)->attrcache_hits; nfsstatsov1.attrcache_misses = - nfsstatsv1_p->attrcache_misses; + NFSD_VNET(nfsstatsv1_p)->attrcache_misses; nfsstatsov1.lookupcache_hits = - nfsstatsv1_p->lookupcache_hits; + NFSD_VNET(nfsstatsv1_p)->lookupcache_hits; nfsstatsov1.lookupcache_misses = - nfsstatsv1_p->lookupcache_misses; + NFSD_VNET(nfsstatsv1_p)->lookupcache_misses; nfsstatsov1.direofcache_hits = - nfsstatsv1_p->direofcache_hits; + NFSD_VNET(nfsstatsv1_p)->direofcache_hits; nfsstatsov1.direofcache_misses = - nfsstatsv1_p->direofcache_misses; + NFSD_VNET(nfsstatsv1_p)->direofcache_misses; nfsstatsov1.accesscache_hits = - nfsstatsv1_p->accesscache_hits; + NFSD_VNET(nfsstatsv1_p)->accesscache_hits; nfsstatsov1.accesscache_misses = - nfsstatsv1_p->accesscache_misses; + NFSD_VNET(nfsstatsv1_p)->accesscache_misses; nfsstatsov1.biocache_reads = - nfsstatsv1_p->biocache_reads; + NFSD_VNET(nfsstatsv1_p)->biocache_reads; nfsstatsov1.read_bios = - nfsstatsv1_p->read_bios; + NFSD_VNET(nfsstatsv1_p)->read_bios; nfsstatsov1.read_physios = - nfsstatsv1_p->read_physios; + NFSD_VNET(nfsstatsv1_p)->read_physios; nfsstatsov1.biocache_writes = - nfsstatsv1_p->biocache_writes; + NFSD_VNET(nfsstatsv1_p)->biocache_writes; nfsstatsov1.write_bios = - nfsstatsv1_p->write_bios; + NFSD_VNET(nfsstatsv1_p)->write_bios; nfsstatsov1.write_physios = - nfsstatsv1_p->write_physios; + NFSD_VNET(nfsstatsv1_p)->write_physios; nfsstatsov1.biocache_readlinks = - nfsstatsv1_p->biocache_readlinks; + NFSD_VNET(nfsstatsv1_p)->biocache_readlinks; nfsstatsov1.readlink_bios = - nfsstatsv1_p->readlink_bios; + NFSD_VNET(nfsstatsv1_p)->readlink_bios; nfsstatsov1.biocache_readdirs = - nfsstatsv1_p->biocache_readdirs; + NFSD_VNET(nfsstatsv1_p)->biocache_readdirs; nfsstatsov1.readdir_bios = - nfsstatsv1_p->readdir_bios; + NFSD_VNET(nfsstatsv1_p)->readdir_bios; for (i = 0; i < NFSV42_OLDNPROCS; i++) nfsstatsov1.rpccnt[i] = - nfsstatsv1_p->rpccnt[i]; + NFSD_VNET(nfsstatsv1_p)->rpccnt[i]; nfsstatsov1.rpcretries = - nfsstatsv1_p->rpcretries; + NFSD_VNET(nfsstatsv1_p)->rpcretries; for (i = 0; i < NFSV42_PURENOPS; i++) nfsstatsov1.srvrpccnt[i] = - nfsstatsv1_p->srvrpccnt[i]; + NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) nfsstatsov1.srvrpccnt[j] = - nfsstatsv1_p->srvrpccnt[i]; + NFSD_VNET(nfsstatsv1_p)->srvrpccnt[i]; nfsstatsov1.reserved_0 = 0; nfsstatsov1.reserved_1 = 0; nfsstatsov1.rpcrequests = - nfsstatsv1_p->rpcrequests; + NFSD_VNET(nfsstatsv1_p)->rpcrequests; nfsstatsov1.rpctimeouts = - nfsstatsv1_p->rpctimeouts; + NFSD_VNET(nfsstatsv1_p)->rpctimeouts; nfsstatsov1.rpcunexpected = - nfsstatsv1_p->rpcunexpected; + NFSD_VNET(nfsstatsv1_p)->rpcunexpected; nfsstatsov1.rpcinvalid = - nfsstatsv1_p->rpcinvalid; + NFSD_VNET(nfsstatsv1_p)->rpcinvalid; nfsstatsov1.srvcache_inproghits = - nfsstatsv1_p->srvcache_inproghits; + NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits; nfsstatsov1.reserved_2 = 0; nfsstatsov1.srvcache_nonidemdonehits = - nfsstatsv1_p->srvcache_nonidemdonehits; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits; nfsstatsov1.srvcache_misses = - nfsstatsv1_p->srvcache_misses; + NFSD_VNET(nfsstatsv1_p)->srvcache_misses; nfsstatsov1.srvcache_tcppeak = - nfsstatsv1_p->srvcache_tcppeak; + NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak; nfsstatsov1.srvcache_size = - nfsstatsv1_p->srvcache_size; + NFSD_VNET(nfsstatsv1_p)->srvcache_size; nfsstatsov1.srvclients = - nfsstatsv1_p->srvclients; + NFSD_VNET(nfsstatsv1_p)->srvclients; nfsstatsov1.srvopenowners = - nfsstatsv1_p->srvopenowners; + NFSD_VNET(nfsstatsv1_p)->srvopenowners; nfsstatsov1.srvopens = - nfsstatsv1_p->srvopens; + NFSD_VNET(nfsstatsv1_p)->srvopens; nfsstatsov1.srvlockowners = - nfsstatsv1_p->srvlockowners; + NFSD_VNET(nfsstatsv1_p)->srvlockowners; nfsstatsov1.srvlocks = - nfsstatsv1_p->srvlocks; + NFSD_VNET(nfsstatsv1_p)->srvlocks; nfsstatsov1.srvdelegates = - nfsstatsv1_p->srvdelegates; + NFSD_VNET(nfsstatsv1_p)->srvdelegates; for (i = 0; i < NFSV42_CBNOPS; i++) nfsstatsov1.cbrpccnt[i] = - nfsstatsv1_p->cbrpccnt[i]; + NFSD_VNET(nfsstatsv1_p)->cbrpccnt[i]; nfsstatsov1.clopenowners = - nfsstatsv1_p->clopenowners; + NFSD_VNET(nfsstatsv1_p)->clopenowners; nfsstatsov1.clopens = - nfsstatsv1_p->clopens; + NFSD_VNET(nfsstatsv1_p)->clopens; nfsstatsov1.cllockowners = - nfsstatsv1_p->cllockowners; + NFSD_VNET(nfsstatsv1_p)->cllockowners; nfsstatsov1.cllocks = - nfsstatsv1_p->cllocks; + NFSD_VNET(nfsstatsv1_p)->cllocks; nfsstatsov1.cldelegates = - nfsstatsv1_p->cldelegates; + NFSD_VNET(nfsstatsv1_p)->cldelegates; nfsstatsov1.cllocalopenowners = - nfsstatsv1_p->cllocalopenowners; + NFSD_VNET(nfsstatsv1_p)->cllocalopenowners; nfsstatsov1.cllocalopens = - nfsstatsv1_p->cllocalopens; + NFSD_VNET(nfsstatsv1_p)->cllocalopens; nfsstatsov1.cllocallockowners = - nfsstatsv1_p->cllocallockowners; + NFSD_VNET(nfsstatsv1_p)->cllocallockowners; nfsstatsov1.cllocallocks = - nfsstatsv1_p->cllocallocks; + NFSD_VNET(nfsstatsv1_p)->cllocallocks; nfsstatsov1.srvstartcnt = - nfsstatsv1_p->srvstartcnt; + NFSD_VNET(nfsstatsv1_p)->srvstartcnt; nfsstatsov1.srvdonecnt = - nfsstatsv1_p->srvdonecnt; + NFSD_VNET(nfsstatsv1_p)->srvdonecnt; for (i = NFSV42_NOPS, j = NFSV42_PURENOPS; i < NFSV42_NOPS + NFSV4OP_FAKENOPS; i++, j++) { nfsstatsov1.srvbytes[j] = - nfsstatsv1_p->srvbytes[i]; + NFSD_VNET(nfsstatsv1_p)->srvbytes[i]; nfsstatsov1.srvops[j] = - nfsstatsv1_p->srvops[i]; + NFSD_VNET(nfsstatsv1_p)->srvops[i]; nfsstatsov1.srvduration[j] = - nfsstatsv1_p->srvduration[i]; + NFSD_VNET(nfsstatsv1_p)->srvduration[i]; } nfsstatsov1.busyfrom = - nfsstatsv1_p->busyfrom; + NFSD_VNET(nfsstatsv1_p)->busyfrom; nfsstatsov1.busyfrom = - nfsstatsv1_p->busyfrom; + NFSD_VNET(nfsstatsv1_p)->busyfrom; error = copyout(&nfsstatsov1, uap->argp, sizeof(nfsstatsov1)); } else if (nfsstatver.vers != NFSSTATS_V1) error = EPERM; else - error = copyout(&nfsstatsv1, uap->argp, - sizeof(nfsstatsv1)); + error = copyout(NFSD_VNET(nfsstatsv1_p), + uap->argp, sizeof(nfsstatsv1)); } } if (error == 0) { if ((uap->flag & NFSSVC_ZEROCLTSTATS) != 0) { - nfsstatsv1_p->attrcache_hits = 0; - nfsstatsv1_p->attrcache_misses = 0; - nfsstatsv1_p->lookupcache_hits = 0; - nfsstatsv1_p->lookupcache_misses = 0; - nfsstatsv1_p->direofcache_hits = 0; - nfsstatsv1_p->direofcache_misses = 0; - nfsstatsv1_p->accesscache_hits = 0; - nfsstatsv1_p->accesscache_misses = 0; - nfsstatsv1_p->biocache_reads = 0; - nfsstatsv1_p->read_bios = 0; - nfsstatsv1_p->read_physios = 0; - nfsstatsv1_p->biocache_writes = 0; - nfsstatsv1_p->write_bios = 0; - nfsstatsv1_p->write_physios = 0; - nfsstatsv1_p->biocache_readlinks = 0; - nfsstatsv1_p->readlink_bios = 0; - nfsstatsv1_p->biocache_readdirs = 0; - nfsstatsv1_p->readdir_bios = 0; - nfsstatsv1_p->rpcretries = 0; - nfsstatsv1_p->rpcrequests = 0; - nfsstatsv1_p->rpctimeouts = 0; - nfsstatsv1_p->rpcunexpected = 0; - nfsstatsv1_p->rpcinvalid = 0; - bzero(nfsstatsv1_p->rpccnt, - sizeof(nfsstatsv1_p->rpccnt)); + NFSD_VNET(nfsstatsv1_p)->attrcache_hits = 0; + NFSD_VNET(nfsstatsv1_p)->attrcache_misses = 0; + NFSD_VNET(nfsstatsv1_p)->lookupcache_hits = 0; + NFSD_VNET(nfsstatsv1_p)->lookupcache_misses = 0; + NFSD_VNET(nfsstatsv1_p)->direofcache_hits = 0; + NFSD_VNET(nfsstatsv1_p)->direofcache_misses = 0; + NFSD_VNET(nfsstatsv1_p)->accesscache_hits = 0; + NFSD_VNET(nfsstatsv1_p)->accesscache_misses = 0; + NFSD_VNET(nfsstatsv1_p)->biocache_reads = 0; + NFSD_VNET(nfsstatsv1_p)->read_bios = 0; + NFSD_VNET(nfsstatsv1_p)->read_physios = 0; + NFSD_VNET(nfsstatsv1_p)->biocache_writes = 0; + NFSD_VNET(nfsstatsv1_p)->write_bios = 0; + NFSD_VNET(nfsstatsv1_p)->write_physios = 0; + NFSD_VNET(nfsstatsv1_p)->biocache_readlinks = 0; + NFSD_VNET(nfsstatsv1_p)->readlink_bios = 0; + NFSD_VNET(nfsstatsv1_p)->biocache_readdirs = 0; + NFSD_VNET(nfsstatsv1_p)->readdir_bios = 0; + NFSD_VNET(nfsstatsv1_p)->rpcretries = 0; + NFSD_VNET(nfsstatsv1_p)->rpcrequests = 0; + NFSD_VNET(nfsstatsv1_p)->rpctimeouts = 0; + NFSD_VNET(nfsstatsv1_p)->rpcunexpected = 0; + NFSD_VNET(nfsstatsv1_p)->rpcinvalid = 0; + bzero(NFSD_VNET(nfsstatsv1_p)->rpccnt, + sizeof(NFSD_VNET(nfsstatsv1_p)->rpccnt)); } if ((uap->flag & NFSSVC_ZEROSRVSTATS) != 0) { - nfsstatsv1_p->srvcache_inproghits = 0; - nfsstatsv1_p->srvcache_nonidemdonehits = 0; - nfsstatsv1_p->srvcache_misses = 0; - nfsstatsv1_p->srvcache_tcppeak = 0; - bzero(nfsstatsv1_p->srvrpccnt, - sizeof(nfsstatsv1_p->srvrpccnt)); - bzero(nfsstatsv1_p->cbrpccnt, - sizeof(nfsstatsv1_p->cbrpccnt)); + NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits = 0; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits = 0; + NFSD_VNET(nfsstatsv1_p)->srvcache_misses = 0; + NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak = 0; + bzero(NFSD_VNET(nfsstatsv1_p)->srvrpccnt, + sizeof(NFSD_VNET(nfsstatsv1_p)->srvrpccnt)); + bzero(NFSD_VNET(nfsstatsv1_p)->cbrpccnt, + sizeof(NFSD_VNET(nfsstatsv1_p)->cbrpccnt)); } } goto out; diff --git a/sys/fs/nfsserver/nfs_nfsdcache.c b/sys/fs/nfsserver/nfs_nfsdcache.c index e94d58481286..2629c795802f 100644 --- a/sys/fs/nfsserver/nfs_nfsdcache.c +++ b/sys/fs/nfsserver/nfs_nfsdcache.c @@ -404,14 +404,14 @@ loop: TAILQ_REMOVE(&NFSD_VNET(nfsrvudplru), rp, rc_lru); TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), rp, rc_lru); if (rp->rc_flag & RC_INPROG) { - nfsstatsv1_p->srvcache_inproghits++; + NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits++; mtx_unlock(mutex); ret = RC_DROPIT; } else if (rp->rc_flag & RC_REPSTATUS) { /* * V2 only. */ - nfsstatsv1_p->srvcache_nonidemdonehits++; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits++; mtx_unlock(mutex); nfsrvd_rephead(nd); *(nd->nd_errp) = rp->rc_status; @@ -419,7 +419,7 @@ loop: rp->rc_timestamp = NFSD_MONOSEC + NFSRVCACHE_UDPTIMEOUT; } else if (rp->rc_flag & RC_REPMBUF) { - nfsstatsv1_p->srvcache_nonidemdonehits++; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits++; mtx_unlock(mutex); nd->nd_mreq = m_copym(rp->rc_reply, 0, M_COPYALL, M_WAITOK); @@ -434,8 +434,8 @@ loop: goto out; } } - nfsstatsv1_p->srvcache_misses++; - atomic_add_int(&nfsstatsv1_p->srvcache_size, 1); + NFSD_VNET(nfsstatsv1_p)->srvcache_misses++; + atomic_add_int(&NFSD_VNET(nfsstatsv1_p)->srvcache_size, 1); NFSD_VNET(nfsrc_udpcachesize)++; newrp->rc_flag |= RC_INPROG; @@ -489,7 +489,7 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) * Reply from cache is a special case returned by nfsrv_checkseqid(). */ if (nd->nd_repstat == NFSERR_REPLYFROMCACHE) { - nfsstatsv1_p->srvcache_nonidemdonehits++; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits++; mtx_unlock(mutex); nd->nd_repstat = 0; if (nd->nd_mreq) @@ -529,8 +529,8 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) atomic_add_int(&NFSD_VNET(nfsrc_tcpsavedreplies), 1); if (NFSD_VNET(nfsrc_tcpsavedreplies) > - nfsstatsv1_p->srvcache_tcppeak) - nfsstatsv1_p->srvcache_tcppeak = + NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak) + NFSD_VNET(nfsstatsv1_p)->srvcache_tcppeak = NFSD_VNET(nfsrc_tcpsavedreplies); } mtx_unlock(mutex); @@ -688,7 +688,7 @@ tryagain: panic("nfs tcp cache0"); rp->rc_flag |= RC_LOCKED; if (rp->rc_flag & RC_INPROG) { - nfsstatsv1_p->srvcache_inproghits++; + NFSD_VNET(nfsstatsv1_p)->srvcache_inproghits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -697,7 +697,7 @@ tryagain: /* * V2 only. */ - nfsstatsv1_p->srvcache_nonidemdonehits++; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -706,7 +706,7 @@ tryagain: *(nd->nd_errp) = rp->rc_status; rp->rc_timestamp = NFSD_MONOSEC + nfsrc_tcptimeout; } else if (rp->rc_flag & RC_REPMBUF) { - nfsstatsv1_p->srvcache_nonidemdonehits++; + NFSD_VNET(nfsstatsv1_p)->srvcache_nonidemdonehits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -721,8 +721,8 @@ tryagain: free(newrp, M_NFSRVCACHE); goto out; } - nfsstatsv1_p->srvcache_misses++; - atomic_add_int(&nfsstatsv1_p->srvcache_size, 1); + NFSD_VNET(nfsstatsv1_p)->srvcache_misses++; + atomic_add_int(&NFSD_VNET(nfsstatsv1_p)->srvcache_size, 1); /* * For TCP, multiple entries for a key are allowed, so don't @@ -811,7 +811,7 @@ nfsrc_freecache(struct nfsrvcache *rp) atomic_add_int(&NFSD_VNET(nfsrc_tcpsavedreplies), -1); } free(rp, M_NFSRVCACHE); - atomic_add_int(&nfsstatsv1_p->srvcache_size, -1); + atomic_add_int(&NFSD_VNET(nfsstatsv1_p)->srvcache_size, -1); } /* @@ -837,7 +837,7 @@ nfsrvd_cleancache(void) nfsrc_freecache(rp); } } - nfsstatsv1_p->srvcache_size = 0; + NFSD_VNET(nfsstatsv1_p)->srvcache_size = 0; mtx_unlock(&nfsrc_udpmtx); NFSD_VNET(nfsrc_tcpsavedreplies) = 0; } diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 72d0f166300d..bee9388261fd 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -1037,7 +1037,7 @@ nfsvno_read(struct vnode *vp, off_t off, int cnt, struct ucred *cred, nh = nfsrv_sequential_heuristic(uiop, vp); ioflag |= nh->nh_seqcount << IO_SEQSHIFT; /* XXX KDM make this more systematic? */ - nfsstatsv1_p->srvbytes[NFSV4OP_READ] += uiop->uio_resid; + NFSD_VNET(nfsstatsv1_p)->srvbytes[NFSV4OP_READ] += uiop->uio_resid; error = VOP_READ(vp, uiop, IO_NODELOCKED | ioflag, cred); free(iv, M_TEMP); if (error) { @@ -1162,7 +1162,7 @@ nfsvno_write(struct vnode *vp, off_t off, int retlen, int *stable, nh = nfsrv_sequential_heuristic(uiop, vp); ioflags |= nh->nh_seqcount << IO_SEQSHIFT; /* XXX KDM make this more systematic? */ - nfsstatsv1_p->srvbytes[NFSV4OP_WRITE] += uiop->uio_resid; + NFSD_VNET(nfsstatsv1_p)->srvbytes[NFSV4OP_WRITE] += uiop->uio_resid; error = VOP_WRITE(vp, uiop, ioflags, cred); if (error == 0) nh->nh_nextoff = uiop->uio_offset; diff --git a/sys/fs/nfsserver/nfs_nfsdsocket.c b/sys/fs/nfsserver/nfs_nfsdsocket.c index 8dd733f2aa73..b1ca8eab9de5 100644 --- a/sys/fs/nfsserver/nfs_nfsdsocket.c +++ b/sys/fs/nfsserver/nfs_nfsdsocket.c @@ -475,15 +475,16 @@ nfsrvd_statstart(int op, struct bintime *now) } mtx_lock(&nfsrvd_statmtx); - if (nfsstatsv1_p->srvstartcnt == nfsstatsv1_p->srvdonecnt) { + if (NFSD_VNET(nfsstatsv1_p)->srvstartcnt == + NFSD_VNET(nfsstatsv1_p)->srvdonecnt) { if (now != NULL) - nfsstatsv1_p->busyfrom = *now; + NFSD_VNET(nfsstatsv1_p)->busyfrom = *now; else - binuptime(&nfsstatsv1_p->busyfrom); + binuptime(&NFSD_VNET(nfsstatsv1_p)->busyfrom); } - nfsstatsv1_p->srvrpccnt[op]++; - nfsstatsv1_p->srvstartcnt++; + NFSD_VNET(nfsstatsv1_p)->srvrpccnt[op]++; + NFSD_VNET(nfsstatsv1_p)->srvstartcnt++; mtx_unlock(&nfsrvd_statmtx); } @@ -506,21 +507,21 @@ nfsrvd_statend(int op, uint64_t bytes, struct bintime *now, mtx_lock(&nfsrvd_statmtx); - nfsstatsv1_p->srvbytes[op] += bytes; - nfsstatsv1_p->srvops[op]++; + NFSD_VNET(nfsstatsv1_p)->srvbytes[op] += bytes; + NFSD_VNET(nfsstatsv1_p)->srvops[op]++; if (then != NULL) { dt = *now; bintime_sub(&dt, then); - bintime_add(&nfsstatsv1_p->srvduration[op], &dt); + bintime_add(&NFSD_VNET(nfsstatsv1_p)->srvduration[op], &dt); } dt = *now; - bintime_sub(&dt, &nfsstatsv1_p->busyfrom); - bintime_add(&nfsstatsv1_p->busytime, &dt); - nfsstatsv1_p->busyfrom = *now; + bintime_sub(&dt, &NFSD_VNET(nfsstatsv1_p)->busyfrom); + bintime_add(&NFSD_VNET(nfsstatsv1_p)->busytime, &dt); + NFSD_VNET(nfsstatsv1_p)->busyfrom = *now; - nfsstatsv1_p->srvdonecnt++; + NFSD_VNET(nfsstatsv1_p)->srvdonecnt++; mtx_unlock(&nfsrvd_statmtx); } diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index 20f8b28d32fd..684dc672c421 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -363,7 +363,7 @@ nfsrv_setclient(struct nfsrv_descript *nd, struct nfsclient **new_clpp, LIST_INIT(&new_clp->lc_stateid[i]); LIST_INSERT_HEAD(NFSCLIENTHASH(new_clp->lc_clientid), new_clp, lc_hash); - nfsstatsv1_p->srvclients++; + NFSD_VNET(nfsstatsv1_p)->srvclients++; nfsrv_openpluslock++; nfsrv_clients++; NFSLOCKV4ROOTMUTEX(); @@ -492,7 +492,7 @@ nfsrv_setclient(struct nfsrv_descript *nd, struct nfsclient **new_clpp, LIST_INIT(&new_clp->lc_session); LIST_INSERT_HEAD(NFSCLIENTHASH(new_clp->lc_clientid), new_clp, lc_hash); - nfsstatsv1_p->srvclients++; + NFSD_VNET(nfsstatsv1_p)->srvclients++; nfsrv_openpluslock++; nfsrv_clients++; NFSLOCKV4ROOTMUTEX(); @@ -557,7 +557,7 @@ nfsrv_setclient(struct nfsrv_descript *nd, struct nfsclient **new_clpp, LIST_INIT(&new_clp->lc_session); LIST_INSERT_HEAD(NFSCLIENTHASH(new_clp->lc_clientid), new_clp, lc_hash); - nfsstatsv1_p->srvclients++; + NFSD_VNET(nfsstatsv1_p)->srvclients++; nfsrv_openpluslock++; nfsrv_clients++; } @@ -1404,7 +1404,7 @@ nfsrv_zapclient(struct nfsclient *clp, NFSPROC_T *p) free(clp->lc_stateid, M_NFSDCLIENT); free(clp, M_NFSDCLIENT); NFSLOCKSTATE(); - nfsstatsv1_p->srvclients--; + NFSD_VNET(nfsstatsv1_p)->srvclients--; nfsrv_openpluslock--; nfsrv_clients--; NFSUNLOCKSTATE(); @@ -1447,7 +1447,7 @@ nfsrv_freedeleg(struct nfsstate *stp) nfsv4_testlock(&lfp->lf_locallock_lck) == 0) nfsrv_freenfslockfile(lfp); free(stp, M_NFSDSTATE); - nfsstatsv1_p->srvdelegates--; + NFSD_VNET(nfsstatsv1_p)->srvdelegates--; nfsrv_openpluslock--; nfsrv_delegatecnt--; } @@ -1473,7 +1473,7 @@ nfsrv_freeopenowner(struct nfsstate *stp, int cansleep, NFSPROC_T *p) if (stp->ls_op) nfsrvd_derefcache(stp->ls_op); free(stp, M_NFSDSTATE); - nfsstatsv1_p->srvopenowners--; + NFSD_VNET(nfsstatsv1_p)->srvopenowners--; nfsrv_openpluslock--; } @@ -1523,7 +1523,7 @@ nfsrv_freeopen(struct nfsstate *stp, vnode_t vp, int cansleep, NFSPROC_T *p) if (cansleep != 0) NFSUNLOCKSTATE(); free(stp, M_NFSDSTATE); - nfsstatsv1_p->srvopens--; + NFSD_VNET(nfsstatsv1_p)->srvopens--; nfsrv_openpluslock--; return (ret); } @@ -1542,7 +1542,7 @@ nfsrv_freelockowner(struct nfsstate *stp, vnode_t vp, int cansleep, if (stp->ls_op) nfsrvd_derefcache(stp->ls_op); free(stp, M_NFSDSTATE); - nfsstatsv1_p->srvlockowners--; + NFSD_VNET(nfsstatsv1_p)->srvlockowners--; nfsrv_openpluslock--; } @@ -1618,7 +1618,7 @@ nfsrv_freenfslock(struct nfslock *lop) if (lop->lo_lckfile.le_prev != NULL) { LIST_REMOVE(lop, lo_lckfile); - nfsstatsv1_p->srvlocks--; + NFSD_VNET(nfsstatsv1_p)->srvlocks--; nfsrv_openpluslock--; } LIST_REMOVE(lop, lo_lckowner); @@ -2395,7 +2395,7 @@ tryagain: LIST_INSERT_HEAD(&stp->ls_open, new_stp, ls_list); *new_lopp = NULL; *new_stpp = NULL; - nfsstatsv1_p->srvlockowners++; + NFSD_VNET(nfsstatsv1_p)->srvlockowners++; nfsrv_openpluslock++; } if (filestruct_locked != 0) { @@ -3047,12 +3047,12 @@ tryagain: LIST_INSERT_HEAD(&new_stp->ls_open, new_open, ls_list); LIST_INSERT_HEAD(&clp->lc_open, new_stp, ls_list); *new_stpp = NULL; - nfsstatsv1_p->srvopenowners++; + NFSD_VNET(nfsstatsv1_p)->srvopenowners++; nfsrv_openpluslock++; } openstp = new_open; new_open = NULL; - nfsstatsv1_p->srvopens++; + NFSD_VNET(nfsstatsv1_p)->srvopens++; nfsrv_openpluslock++; break; } @@ -3113,7 +3113,7 @@ tryagain: NFSRV_V4DELEGLIMIT(nfsrv_delegatecnt) || !NFSVNO_DELEGOK(vp)) *rflagsp |= NFSV4OPEN_RECALL; - nfsstatsv1_p->srvdelegates++; + NFSD_VNET(nfsstatsv1_p)->srvdelegates++; nfsrv_openpluslock++; nfsrv_delegatecnt++; @@ -3153,12 +3153,12 @@ tryagain: LIST_INSERT_HEAD(&new_stp->ls_open, new_open, ls_list); LIST_INSERT_HEAD(&clp->lc_open, new_stp, ls_list); *new_stpp = NULL; - nfsstatsv1_p->srvopenowners++; + NFSD_VNET(nfsstatsv1_p)->srvopenowners++; nfsrv_openpluslock++; } openstp = new_open; new_open = NULL; - nfsstatsv1_p->srvopens++; + NFSD_VNET(nfsstatsv1_p)->srvopens++; nfsrv_openpluslock++; } else { error = NFSERR_RECLAIMCONFLICT; @@ -3230,7 +3230,7 @@ tryagain: new_deleg->ls_stateid), new_deleg, ls_hash); LIST_INSERT_HEAD(&clp->lc_deleg, new_deleg, ls_list); new_deleg = NULL; - nfsstatsv1_p->srvdelegates++; + NFSD_VNET(nfsstatsv1_p)->srvdelegates++; nfsrv_openpluslock++; nfsrv_delegatecnt++; } @@ -3252,7 +3252,7 @@ tryagain: new_open, ls_hash); openstp = new_open; new_open = NULL; - nfsstatsv1_p->srvopens++; + NFSD_VNET(nfsstatsv1_p)->srvopens++; nfsrv_openpluslock++; /* @@ -3300,7 +3300,7 @@ tryagain: new_deleg->ls_stateid), new_deleg, ls_hash); LIST_INSERT_HEAD(&clp->lc_deleg, new_deleg, ls_list); new_deleg = NULL; - nfsstatsv1_p->srvdelegates++; + NFSD_VNET(nfsstatsv1_p)->srvdelegates++; nfsrv_openpluslock++; nfsrv_delegatecnt++; } @@ -3381,7 +3381,7 @@ tryagain: LIST_INSERT_HEAD(&clp->lc_deleg, new_deleg, ls_list); new_deleg = NULL; - nfsstatsv1_p->srvdelegates++; + NFSD_VNET(nfsstatsv1_p)->srvdelegates++; nfsrv_openpluslock++; nfsrv_delegatecnt++; } @@ -3409,9 +3409,9 @@ tryagain: openstp = new_open; new_open = NULL; *new_stpp = NULL; - nfsstatsv1_p->srvopens++; + NFSD_VNET(nfsstatsv1_p)->srvopens++; nfsrv_openpluslock++; - nfsstatsv1_p->srvopenowners++; + NFSD_VNET(nfsstatsv1_p)->srvopenowners++; nfsrv_openpluslock++; } if (!error) { @@ -3887,7 +3887,7 @@ nfsrv_insertlock(struct nfslock *new_lop, struct nfslock *insert_lop, else LIST_INSERT_AFTER(insert_lop, new_lop, lo_lckowner); if (stp != NULL) { - nfsstatsv1_p->srvlocks++; + NFSD_VNET(nfsstatsv1_p)->srvlocks++; nfsrv_openpluslock++; } } @@ -7455,7 +7455,7 @@ nfsrv_addlayout(struct nfsrv_descript *nd, struct nfslayout **lypp, /* Insert the new layout in the lists. */ *lypp = NULL; atomic_add_int(&nfsrv_layoutcnt, 1); - nfsstatsv1_p->srvlayouts++; + NFSD_VNET(nfsstatsv1_p)->srvlayouts++; NFSBCOPY(lyp->lay_xdr, layp, lyp->lay_layoutlen); *layoutlenp = lyp->lay_layoutlen; TAILQ_INSERT_HEAD(&lhyp->list, lyp, lay_list); @@ -7548,7 +7548,7 @@ nfsrv_freelayout(struct nfslayouthead *lhp, struct nfslayout *lyp) NFSD_DEBUG(4, "Freelayout=%p\n", lyp); atomic_add_int(&nfsrv_layoutcnt, -1); - nfsstatsv1_p->srvlayouts--; + NFSD_VNET(nfsstatsv1_p)->srvlayouts--; TAILQ_REMOVE(lhp, lyp, lay_list); free(lyp, M_NFSDSTATE); } From nobody Tue May 16 14:30:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLJYl24DHz4B6Bp; Tue, 16 May 2023 14:30:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLJYl1tp8z3lkj; Tue, 16 May 2023 14:30:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684247435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MW7KuvWYhmHTGVHehWipktuaggnppdjXSYU0bH7jUPU=; b=HpacupIJlv620EqZaTjZlDir7OeuJGdApdxqvmpVZoz9hedRZvLK4LbQr1Sz+NlBWbJRSE g5YzduXIj7g4s95gbeduVKMFtk/6qD8r+Q8brR5AdcwaeTJaB/7P14oWeJQbMkIyjkqS/X YGMKpEKBMrukME7ygnYvgBS8dI7KV5xfp7c4rW1s6kAuuF2vvYzrTW59H3YUvUxL44Kme3 8YUQj05oSPo87wizm1T/ZcnCSTkUY5SnJTzKTEvr53MiaBG6ncZNIQ0Ur1RGuhR4WN+8gL lUsqybhat+e0rDvyBLoxamNt1KIDewzGt0X8C4IwxQ6lo+l+cLjPRFSkNd30og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684247435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MW7KuvWYhmHTGVHehWipktuaggnppdjXSYU0bH7jUPU=; b=TZYnLR211mdobsOmT7MxU9jkT+k4evr9sKAKRtvl35fTn7HaKgzle1aUeEIPkwuUFDRiBJ s8xiFdTURziU9kcN4iqEGT7dP1rimFI0u2v7cxY7xEyxi4ejlIiI2j8zJcIkr6c9DjQWZ9 nHdigVCEWHh41yt0H++eL+AskJvUIZviLSIEh8ji8x5+/J9s3nn88pbNJ9Xqput2jzVJjK 4DPEN5h/1rWhEOnEH97ORiYBJK/9GjZOIc3vERQDrrZOerToAHaZwJ5+6Y41ktBQEWs2gm IpmgQJONSmQgQx5OmkW4yP6FXxLzzI+9130XcM+L6IFVSXwdXFuOD45KJHpa0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684247435; a=rsa-sha256; cv=none; b=sD5pnYaOJsuVHvUzZXfwPKgrLDtwSSGf+j3oiCD/+zIHgk/v6TVbDbXGMBUF3Zw932AQxk YOiA+DmKjHFFFMmiEtfV0jBnIsxwt3nkOKGYkr9w17Oh2JJgzUFj1hOkx+OQi+YTfSUOF4 LtKJSggvCen/+xvbQfnv1bcbcA5y7T7p1TKHc26WFLIvhVAU1yvZF/IDM7Bs9fDG6HDurn Hhr6F+DR7Zf1gn5onl1/0tY4djofAk3en9damwDZ5CB6Ra6IFi6ALqUQCuy0EEBXd7vdRy 9BsGa0WE6pxX/K7/ZP6OjNemmMbX1uBrrjzqcChXLJsFUZLV1fUjownmmLnTgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLJYl0xmwzPyW; Tue, 16 May 2023 14:30:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GEUZV2021881; Tue, 16 May 2023 14:30:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GEUZU8021853; Tue, 16 May 2023 14:30:35 GMT (envelope-from git) Date: Tue, 16 May 2023 14:30:35 GMT Message-Id: <202305161430.34GEUZU8021853@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: e9f9e3f4086f - stable/13 - nfsd: Continue adding macros so nfsd can run in a vnet prison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e9f9e3f4086fe4ed15cffa1cceee454bd2995230 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=e9f9e3f4086fe4ed15cffa1cceee454bd2995230 commit e9f9e3f4086fe4ed15cffa1cceee454bd2995230 Author: Rick Macklem AuthorDate: 2023-02-14 21:33:35 +0000 Commit: Rick Macklem CommitDate: 2023-05-16 14:29:25 +0000 nfsd: Continue adding macros so nfsd can run in a vnet prison Commit 7344856e3a6d added a lot of macros that will front end vnet macros so that nfsd(8) can run in vnet prison. This patch adds some more, to allow the nfsuserd(8) daemon to run in vnet prison, once the macros map to vnet ones. This is the last commit for NFSD_VNET_xxx macros, but there are still some for KRPC_VNET_xxx and KGSS_VNET_xx to allow the rpc.tlsservd(8) and gssd(8) daemons to run in a vnet prison. (cherry picked from commit f0db2b6022dfa15f375f5fcdd278b9df21cb88f5) --- sys/fs/nfs/nfs_commonport.c | 14 ++- sys/fs/nfs/nfs_commonsubs.c | 289 ++++++++++++++++++++++++-------------------- 2 files changed, 169 insertions(+), 134 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index def18522104d..7fdcdf967fff 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -56,8 +56,6 @@ __FBSDID("$FreeBSD$"); #include extern int nfscl_ticks; -extern nfsuserd_state nfsrv_nfsuserd; -extern struct nfssockreq nfsrv_nfsuserdsock; extern void (*nfsd_call_recall)(struct vnode *, int, struct ucred *, struct thread *); extern int nfsrv_useacl; @@ -77,6 +75,9 @@ uint32_t nfs_srvmaxio = NFS_SRVMAXIO; NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); +NFSD_VNET_DECLARE(struct nfssockreq, nfsrv_nfsuserdsock); +NFSD_VNET_DECLARE(nfsuserd_state, nfsrv_nfsuserd); + int nfs_pnfsio(task_fn_t *, void *); static int nfs_realign_test; @@ -876,6 +877,7 @@ nfs_clean(struct prison *pr) { NFSD_CURVNET_SET(pr->pr_vnet); + mtx_destroy(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx); if (pr != &prison0) free(NFSD_VNET(nfsstatsv1_p), M_TEMP); /* Clean out the name<-->id cache. */ @@ -895,6 +897,8 @@ nfs_vnetinit(const void *unused __unused) else NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), M_TEMP, M_WAITOK | M_ZERO); + mtx_init(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", + NULL, MTX_DEF); } SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, nfs_vnetinit, NULL); @@ -919,8 +923,6 @@ nfscommon_modevent(module_t mod, int type, void *data) mtx_init(&nfs_sockl_mutex, "nfs_sockl_mutex", NULL, MTX_DEF); mtx_init(&nfs_slock_mutex, "nfs_slock_mutex", NULL, MTX_DEF); mtx_init(&nfs_req_mutex, "nfs_req_mutex", NULL, MTX_DEF); - mtx_init(&nfsrv_nfsuserdsock.nr_mtx, "nfsuserd", NULL, - MTX_DEF); mtx_init(&nfsrv_dslock_mtx, "nfs4ds", NULL, MTX_DEF); TAILQ_INIT(&nfsrv_devidhead); newnfs_init(); @@ -929,7 +931,8 @@ nfscommon_modevent(module_t mod, int type, void *data) break; case MOD_UNLOAD: - if (newnfs_numnfsd != 0 || nfsrv_nfsuserd != NOTRUNNING || + if (newnfs_numnfsd != 0 || + NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING || nfs_numnfscbd != 0) { error = EBUSY; break; @@ -945,7 +948,6 @@ nfscommon_modevent(module_t mod, int type, void *data) mtx_destroy(&nfs_sockl_mutex); mtx_destroy(&nfs_slock_mutex); mtx_destroy(&nfs_req_mutex); - mtx_destroy(&nfsrv_nfsuserdsock.nr_mtx); mtx_destroy(&nfsrv_dslock_mtx); loaded = 0; break; diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index fe961d17453f..00cc8c68e9bf 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -66,17 +66,10 @@ enum vtype nv34tov_type[8]={ VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO }; struct timeval nfsboottime; /* Copy boottime once, so it never changes */ int nfscl_ticks; int nfsrv_useacl = 1; -struct nfssockreq nfsrv_nfsuserdsock; -nfsuserd_state nfsrv_nfsuserd = NOTRUNNING; -static int nfsrv_userdupcalls = 0; struct nfsreqhead nfsd_reqq; -uid_t nfsrv_defaultuid = UID_NOBODY; -gid_t nfsrv_defaultgid = GID_NOGROUP; int nfsrv_lease = NFSRV_LEASE; int ncl_mbuf_mlen = MLEN; -int nfsd_enable_stringtouid = 0; int nfsrv_doflexfile = 0; -static int nfs_enable_uidtostring = 0; NFSNAMEIDMUTEX; NFSSOCKMUTEX; extern int nfsrv_lughashsize; @@ -87,9 +80,20 @@ extern struct nfsdevicehead nfsrv_devidhead; extern struct nfsstatsv1 nfsstatsv1; extern uint32_t nfs_srvmaxio; +NFSD_VNET_DEFINE(int, nfsd_enable_stringtouid) = 0; +NFSD_VNET_DEFINE(struct nfssockreq, nfsrv_nfsuserdsock); +NFSD_VNET_DEFINE(nfsuserd_state, nfsrv_nfsuserd) = NOTRUNNING; +NFSD_VNET_DEFINE(uid_t, nfsrv_defaultuid) = UID_NOBODY; +NFSD_VNET_DEFINE(gid_t, nfsrv_defaultgid) = GID_NOGROUP; + +NFSD_VNET_DEFINE_STATIC(int, nfsrv_userdupcalls) = 0; + SYSCTL_DECL(_vfs_nfs); -SYSCTL_INT(_vfs_nfs, OID_AUTO, enable_uidtostring, CTLFLAG_RW, - &nfs_enable_uidtostring, 0, "Make nfs always send numeric owner_names"); + +NFSD_VNET_DEFINE_STATIC(int, nfs_enable_uidtostring) = 0; +SYSCTL_INT(_vfs_nfs, OID_AUTO, enable_uidtostring, + CTLFLAG_NFSD_VNET | CTLFLAG_RW, &NFSD_VNET_NAME(nfs_enable_uidtostring), 0, + "Make nfs always send numeric owner_names"); int nfsrv_maxpnfsmirror = 1; SYSCTL_INT(_vfs_nfs, OID_AUTO, pnfsmirror, CTLFLAG_RD, @@ -192,18 +196,19 @@ struct nfsv4_opflag nfsv4_opflag[NFSV42_NOPS] = { }; static int ncl_mbuf_mhlen = MHLEN; -static int nfsrv_usercnt = 0; -static int nfsrv_dnsnamelen; -static u_char *nfsrv_dnsname = NULL; -static int nfsrv_usermax = 999999999; struct nfsrv_lughash { struct mtx mtx; struct nfsuserhashhead lughead; }; -static struct nfsrv_lughash *nfsuserhash; -static struct nfsrv_lughash *nfsusernamehash; -static struct nfsrv_lughash *nfsgrouphash; -static struct nfsrv_lughash *nfsgroupnamehash; + +NFSD_VNET_DEFINE_STATIC(int, nfsrv_usercnt) = 0; +NFSD_VNET_DEFINE_STATIC(int, nfsrv_dnsnamelen) = 0; +NFSD_VNET_DEFINE_STATIC(int, nfsrv_usermax) = 999999999; +NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsuserhash) = NULL; +NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsusernamehash) = NULL; +NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgrouphash) = NULL; +NFSD_VNET_DEFINE_STATIC(struct nfsrv_lughash *, nfsgroupnamehash) = NULL; +NFSD_VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; /* * This static array indicates whether or not the RPC generates a large @@ -1247,6 +1252,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, #endif CTASSERT(sizeof(ino_t) == sizeof(uint64_t)); + NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); if (compare) { retnotsup = 0; error = nfsrv_getattrbits(nd, &attrbits, NULL, &retnotsup); @@ -1872,7 +1878,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } } else if (nap != NULL) { if (nfsv4_strtouid(nd, cp, j, &uid)) - nap->na_uid = nfsrv_defaultuid; + nap->na_uid = + NFSD_VNET(nfsrv_defaultuid); else nap->na_uid = uid; } @@ -1905,7 +1912,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } } else if (nap != NULL) { if (nfsv4_strtogid(nd, cp, j, &gid)) - nap->na_gid = nfsrv_defaultgid; + nap->na_gid = + NFSD_VNET(nfsrv_defaultgid); else nap->na_gid = gid; } @@ -2268,6 +2276,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, error = nfsm_advance(nd, attrsize - attrsum, -1); } nfsmout: + NFSD_CURVNET_RESTORE(); NFSEXITCODE2(error, nd); return (error); } @@ -3146,14 +3155,16 @@ nfsv4_uidtostr(uid_t uid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; + NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0 && !nfs_enable_uidtostring) { + if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && + !NFSD_VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultuid to "nobody". */ - if (uid == nfsrv_defaultuid) { - i = nfsrv_dnsnamelen + 7; + if (uid == NFSD_VNET(nfsrv_defaultuid)) { + i = NFSD_VNET(nfsrv_dnsnamelen) + 7; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3165,7 +3176,9 @@ tryagain: *retlenp = i; NFSBCOPY("nobody@", cp, 7); cp += 7; - NFSBCOPY(nfsrv_dnsname, cp, nfsrv_dnsnamelen); + NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, + NFSD_VNET(nfsrv_dnsnamelen)); + NFSD_CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3189,7 +3202,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - nfsrv_dnsnamelen + 1; + NFSD_VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3204,12 +3217,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(nfsrv_dnsname, cp, nfsrv_dnsnamelen); + NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, + NFSD_VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); + NFSD_CURVNET_RESTORE(); return; } } @@ -3237,6 +3252,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } + NFSD_CURVNET_RESTORE(); return; } @@ -3257,7 +3273,7 @@ nfsrv_getgrpscred(struct ucred *oldcred) cnt = 0; uid = oldcred->cr_uid; tryagain: - if (nfsrv_dnsnamelen > 0) { + if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { hp = NFSUSERHASH(uid); mtx_lock(&hp->mtx); TAILQ_FOREACH(usrp, &hp->lughead, lug_numhash) { @@ -3304,6 +3320,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) uid_t tuid; struct nfsrv_lughash *hp, *hp2; + NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -3315,7 +3332,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - nfsd_enable_stringtouid != 0)) + NFSD_VNET(nfsd_enable_stringtouid) != 0)) *uidp = tuid; else error = NFSERR_BADOWNER; @@ -3332,7 +3349,7 @@ nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp) cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0) { + if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the domain name matches, search for * the name with dns stripped off. @@ -3340,9 +3357,10 @@ tryagain: * all upper case will not. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == nfsrv_dnsnamelen && - !nfsrv_cmpmixedcase(cp, nfsrv_dnsname, nfsrv_dnsnamelen)) { - len -= (nfsrv_dnsnamelen + 1); + (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && + !nfsrv_cmpmixedcase(cp, + NFSD_VNET(nfsrv_dnsname), NFSD_VNET(nfsrv_dnsnamelen))) { + len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -3350,7 +3368,7 @@ tryagain: * Check for the special case of "nobody". */ if (len == 6 && !NFSBCMP(str, "nobody", 6)) { - *uidp = nfsrv_defaultuid; + *uidp = NFSD_VNET(nfsrv_defaultuid); error = 0; goto out; } @@ -3384,6 +3402,7 @@ tryagain: error = NFSERR_BADOWNER; out: + NFSD_CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -3405,14 +3424,16 @@ nfsv4_gidtostr(gid_t gid, u_char **cpp, int *retlenp) int cnt, hasampersand, len = NFSV4_SMALLSTR, ret; struct nfsrv_lughash *hp; + NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0 && !nfs_enable_uidtostring) { + if (NFSD_VNET(nfsrv_dnsnamelen) > 0 && + !NFSD_VNET(nfs_enable_uidtostring)) { /* * Always map nfsrv_defaultgid to "nogroup". */ - if (gid == nfsrv_defaultgid) { - i = nfsrv_dnsnamelen + 8; + if (gid == NFSD_VNET(nfsrv_defaultgid)) { + i = NFSD_VNET(nfsrv_dnsnamelen) + 8; if (i > len) { if (len > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); @@ -3424,7 +3445,9 @@ tryagain: *retlenp = i; NFSBCOPY("nogroup@", cp, 8); cp += 8; - NFSBCOPY(nfsrv_dnsname, cp, nfsrv_dnsnamelen); + NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, + NFSD_VNET(nfsrv_dnsnamelen)); + NFSD_CURVNET_RESTORE(); return; } hasampersand = 0; @@ -3448,7 +3471,7 @@ tryagain: i = usrp->lug_namelen; else i = usrp->lug_namelen + - nfsrv_dnsnamelen + 1; + NFSD_VNET(nfsrv_dnsnamelen) + 1; if (i > len) { mtx_unlock(&hp->mtx); if (len > NFSV4_SMALLSTR) @@ -3463,12 +3486,14 @@ tryagain: if (!hasampersand) { cp += usrp->lug_namelen; *cp++ = '@'; - NFSBCOPY(nfsrv_dnsname, cp, nfsrv_dnsnamelen); + NFSBCOPY(NFSD_VNET(nfsrv_dnsname), cp, + NFSD_VNET(nfsrv_dnsnamelen)); } TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); TAILQ_INSERT_TAIL(&hp->lughead, usrp, lug_numhash); mtx_unlock(&hp->mtx); + NFSD_CURVNET_RESTORE(); return; } } @@ -3496,6 +3521,7 @@ tryagain: *cp-- = '0' + (tmp % 10); tmp /= 10; } + NFSD_CURVNET_RESTORE(); return; } @@ -3518,6 +3544,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) gid_t tgid; struct nfsrv_lughash *hp, *hp2; + NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); if (len == 0) { error = NFSERR_BADOWNER; goto out; @@ -3529,7 +3556,7 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) /* A numeric string. */ if ((nd->nd_flag & ND_KERBV) == 0 && ((nd->nd_flag & ND_NFSCL) != 0 || - nfsd_enable_stringtouid != 0)) + NFSD_VNET(nfsd_enable_stringtouid) != 0)) *gidp = tgid; else error = NFSERR_BADOWNER; @@ -3546,15 +3573,16 @@ nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp) cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0) { + if (NFSD_VNET(nfsrv_dnsnamelen) > 0) { /* * If an '@' is found and the dns name matches, search for the * name with the dns stripped off. */ if (cnt == 0 && i < len && i > 0 && - (len - 1 - i) == nfsrv_dnsnamelen && - !nfsrv_cmpmixedcase(cp, nfsrv_dnsname, nfsrv_dnsnamelen)) { - len -= (nfsrv_dnsnamelen + 1); + (len - 1 - i) == NFSD_VNET(nfsrv_dnsnamelen) && + !nfsrv_cmpmixedcase(cp, + NFSD_VNET(nfsrv_dnsname), NFSD_VNET(nfsrv_dnsnamelen))) { + len -= (NFSD_VNET(nfsrv_dnsnamelen) + 1); *(cp - 1) = '\0'; } @@ -3562,7 +3590,7 @@ tryagain: * Check for the special case of "nogroup". */ if (len == 7 && !NFSBCMP(str, "nogroup", 7)) { - *gidp = nfsrv_defaultgid; + *gidp = NFSD_VNET(nfsrv_defaultgid); error = 0; goto out; } @@ -3596,6 +3624,7 @@ tryagain: error = NFSERR_BADOWNER; out: + NFSD_CURVNET_RESTORE(); NFSEXITCODE(error); return (error); } @@ -3646,12 +3675,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) int error; NFSLOCKNAMEID(); - if (nfsrv_nfsuserd != NOTRUNNING) { + if (NFSD_VNET(nfsrv_nfsuserd) != NOTRUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; } - nfsrv_nfsuserd = STARTSTOP; + NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; /* * Set up the socket record and connect. * Set nr_client NULL before unlocking, just to ensure that no other @@ -3659,7 +3688,7 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) * occur if the use of the nameid lock to protect nfsrv_nfsuserd is * broken. */ - rp = &nfsrv_nfsuserdsock; + rp = &NFSD_VNET(nfsrv_nfsuserdsock); rp->nr_client = NULL; NFSUNLOCKNAMEID(); rp->nr_sotype = SOCK_DGRAM; @@ -3700,12 +3729,12 @@ nfsrv_nfsuserdport(struct nfsuserd_args *nargs, NFSPROC_T *p) &rp->nr_client); if (error == 0) { NFSLOCKNAMEID(); - nfsrv_nfsuserd = RUNNING; + NFSD_VNET(nfsrv_nfsuserd) = RUNNING; NFSUNLOCKNAMEID(); } else { free(rp->nr_nam, M_SONAME); NFSLOCKNAMEID(); - nfsrv_nfsuserd = NOTRUNNING; + NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } out: @@ -3721,20 +3750,20 @@ nfsrv_nfsuserddelport(void) { NFSLOCKNAMEID(); - if (nfsrv_nfsuserd != RUNNING) { + if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); return; } - nfsrv_nfsuserd = STARTSTOP; + NFSD_VNET(nfsrv_nfsuserd) = STARTSTOP; /* Wait for all upcalls to complete. */ - while (nfsrv_userdupcalls > 0) - msleep(&nfsrv_userdupcalls, NFSNAMEIDMUTEXPTR, PVFS, + while (NFSD_VNET(nfsrv_userdupcalls) > 0) + msleep(&NFSD_VNET(nfsrv_userdupcalls), NFSNAMEIDMUTEXPTR, PVFS, "nfsupcalls", 0); NFSUNLOCKNAMEID(); - newnfs_disconnect(NULL, &nfsrv_nfsuserdsock); - free(nfsrv_nfsuserdsock.nr_nam, M_SONAME); + newnfs_disconnect(NULL, &NFSD_VNET(nfsrv_nfsuserdsock)); + free(NFSD_VNET(nfsrv_nfsuserdsock).nr_nam, M_SONAME); NFSLOCKNAMEID(); - nfsrv_nfsuserd = NOTRUNNING; + NFSD_VNET(nfsrv_nfsuserd) = NOTRUNNING; NFSUNLOCKNAMEID(); } @@ -3754,7 +3783,7 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) int error; NFSLOCKNAMEID(); - if (nfsrv_nfsuserd != RUNNING) { + if (NFSD_VNET(nfsrv_nfsuserd) != RUNNING) { NFSUNLOCKNAMEID(); error = EPERM; goto out; @@ -3763,9 +3792,9 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) * Maintain a count of upcalls in progress, so that nfsrv_X() * can wait until no upcalls are in progress. */ - nfsrv_userdupcalls++; + NFSD_VNET(nfsrv_userdupcalls)++; NFSUNLOCKNAMEID(); - KASSERT(nfsrv_userdupcalls > 0, + KASSERT(NFSD_VNET(nfsrv_userdupcalls) > 0, ("nfsrv_getuser: non-positive upcalls")); nd = &nfsd; cred = newnfs_getcred(); @@ -3783,11 +3812,13 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name) len = strlen(name); (void) nfsm_strtom(nd, name, len); } - error = newnfs_request(nd, NULL, NULL, &nfsrv_nfsuserdsock, NULL, NULL, - cred, RPCPROG_NFSUSERD, RPCNFSUSERD_VERS, NULL, 0, NULL, NULL); + error = newnfs_request(nd, NULL, NULL, &NFSD_VNET(nfsrv_nfsuserdsock), + NULL, NULL, cred, RPCPROG_NFSUSERD, RPCNFSUSERD_VERS, NULL, 0, + NULL, NULL); NFSLOCKNAMEID(); - if (--nfsrv_userdupcalls == 0 && nfsrv_nfsuserd == STARTSTOP) - wakeup(&nfsrv_userdupcalls); + if (--NFSD_VNET(nfsrv_userdupcalls) == 0 && + NFSD_VNET(nfsrv_nfsuserd) == STARTSTOP) + wakeup(&NFSD_VNET(nfsrv_userdupcalls)); NFSUNLOCKNAMEID(); NFSFREECRED(cred); if (!error) { @@ -3827,7 +3858,8 @@ nfssvc_idname(struct nfsd_idargs *nidp) free(cp, M_NFSSTRING); goto out; } - if (atomic_cmpset_acq_int(&nfsrv_dnsnamelen, 0, 0) == 0) { + if (atomic_cmpset_acq_int(&NFSD_VNET(nfsrv_dnsnamelen), 0, 0) == + 0) { /* * Free up all the old stuff and reinitialize hash * lists. All mutexes for both lists must be locked, @@ -3835,80 +3867,81 @@ nfssvc_idname(struct nfsd_idargs *nidp) * ones, to avoid a LOR. */ for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsusernamehash[i].mtx); + mtx_lock(&NFSD_VNET(nfsusernamehash)[i].mtx); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsuserhash[i].mtx); + mtx_lock(&NFSD_VNET(nfsuserhash)[i].mtx); for (i = 0; i < nfsrv_lughashsize; i++) TAILQ_FOREACH_SAFE(usrp, - &nfsuserhash[i].lughead, lug_numhash, nusrp) + &NFSD_VNET(nfsuserhash)[i].lughead, lug_numhash, nusrp) nfsrv_removeuser(usrp, 1); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsuserhash[i].mtx); + mtx_unlock(&NFSD_VNET(nfsuserhash)[i].mtx); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsusernamehash[i].mtx); + mtx_unlock(&NFSD_VNET(nfsusernamehash)[i].mtx); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsgroupnamehash[i].mtx); + mtx_lock(&NFSD_VNET(nfsgroupnamehash)[i].mtx); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsgrouphash[i].mtx); + mtx_lock(&NFSD_VNET(nfsgrouphash)[i].mtx); for (i = 0; i < nfsrv_lughashsize; i++) TAILQ_FOREACH_SAFE(usrp, - &nfsgrouphash[i].lughead, lug_numhash, + &NFSD_VNET(nfsgrouphash)[i].lughead, lug_numhash, nusrp) nfsrv_removeuser(usrp, 0); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsgrouphash[i].mtx); + mtx_unlock(&NFSD_VNET(nfsgrouphash)[i].mtx); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsgroupnamehash[i].mtx); - free(nfsrv_dnsname, M_NFSSTRING); - nfsrv_dnsname = NULL; + mtx_unlock(&NFSD_VNET(nfsgroupnamehash)[i].mtx); + free(NFSD_VNET(nfsrv_dnsname), M_NFSSTRING); + NFSD_VNET(nfsrv_dnsname) = NULL; } - if (nfsuserhash == NULL) { + if (NFSD_VNET(nfsuserhash) == NULL) { /* Allocate the hash tables. */ - nfsuserhash = malloc(sizeof(struct nfsrv_lughash) * + NFSD_VNET(nfsuserhash) = malloc(sizeof(struct nfsrv_lughash) * nfsrv_lughashsize, M_NFSUSERGROUP, M_WAITOK | M_ZERO); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_init(&nfsuserhash[i].mtx, "nfsuidhash", + mtx_init(&NFSD_VNET(nfsuserhash)[i].mtx, "nfsuidhash", NULL, MTX_DEF | MTX_DUPOK); - nfsusernamehash = malloc(sizeof(struct nfsrv_lughash) * + NFSD_VNET(nfsusernamehash) = malloc(sizeof(struct nfsrv_lughash) * nfsrv_lughashsize, M_NFSUSERGROUP, M_WAITOK | M_ZERO); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_init(&nfsusernamehash[i].mtx, + mtx_init(&NFSD_VNET(nfsusernamehash)[i].mtx, "nfsusrhash", NULL, MTX_DEF | MTX_DUPOK); - nfsgrouphash = malloc(sizeof(struct nfsrv_lughash) * + NFSD_VNET(nfsgrouphash) = malloc(sizeof(struct nfsrv_lughash) * nfsrv_lughashsize, M_NFSUSERGROUP, M_WAITOK | M_ZERO); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_init(&nfsgrouphash[i].mtx, "nfsgidhash", + mtx_init(&NFSD_VNET(nfsgrouphash)[i].mtx, "nfsgidhash", NULL, MTX_DEF | MTX_DUPOK); - nfsgroupnamehash = malloc(sizeof(struct nfsrv_lughash) * + NFSD_VNET(nfsgroupnamehash) = malloc(sizeof(struct nfsrv_lughash) * nfsrv_lughashsize, M_NFSUSERGROUP, M_WAITOK | M_ZERO); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_init(&nfsgroupnamehash[i].mtx, + mtx_init(&NFSD_VNET(nfsgroupnamehash)[i].mtx, "nfsgrphash", NULL, MTX_DEF | MTX_DUPOK); } /* (Re)initialize the list heads. */ for (i = 0; i < nfsrv_lughashsize; i++) - TAILQ_INIT(&nfsuserhash[i].lughead); + TAILQ_INIT(&NFSD_VNET(nfsuserhash)[i].lughead); for (i = 0; i < nfsrv_lughashsize; i++) - TAILQ_INIT(&nfsusernamehash[i].lughead); + TAILQ_INIT(&NFSD_VNET(nfsusernamehash)[i].lughead); for (i = 0; i < nfsrv_lughashsize; i++) - TAILQ_INIT(&nfsgrouphash[i].lughead); + TAILQ_INIT(&NFSD_VNET(nfsgrouphash)[i].lughead); for (i = 0; i < nfsrv_lughashsize; i++) - TAILQ_INIT(&nfsgroupnamehash[i].lughead); + TAILQ_INIT(&NFSD_VNET(nfsgroupnamehash)[i].lughead); /* * Put name in "DNS" string. */ - nfsrv_dnsname = cp; - nfsrv_defaultuid = nidp->nid_uid; - nfsrv_defaultgid = nidp->nid_gid; - nfsrv_usercnt = 0; - nfsrv_usermax = nidp->nid_usermax; - atomic_store_rel_int(&nfsrv_dnsnamelen, nidp->nid_namelen); + NFSD_VNET(nfsrv_dnsname) = cp; + NFSD_VNET(nfsrv_defaultuid) = nidp->nid_uid; + NFSD_VNET(nfsrv_defaultgid) = nidp->nid_gid; + NFSD_VNET(nfsrv_usercnt) = 0; + NFSD_VNET(nfsrv_usermax) = nidp->nid_usermax; + atomic_store_rel_int(&NFSD_VNET(nfsrv_dnsnamelen), + nidp->nid_namelen); goto out; } @@ -3935,7 +3968,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) cr->cr_uid = cr->cr_ruid = cr->cr_svuid = nidp->nid_uid; crsetgroups(cr, nidp->nid_ngroup, grps); cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; - cr->cr_prison = &prison0; + cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); #ifdef MAC mac_cred_associate_nfsd(cr); @@ -3967,7 +4000,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) if (nidp->nid_flag & (NFSID_DELUID | NFSID_ADDUID)) { /* Must lock all username hash lists first, to avoid a LOR. */ for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsusernamehash[i].mtx); + mtx_lock(&NFSD_VNET(nfsusernamehash)[i].mtx); username_locked = 1; hp_idnum = NFSUSERHASH(nidp->nid_uid); mtx_lock(&hp_idnum->mtx); @@ -3996,7 +4029,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) } else if (nidp->nid_flag & (NFSID_DELGID | NFSID_ADDGID)) { /* Must lock all groupname hash lists first, to avoid a LOR. */ for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsgroupnamehash[i].mtx); + mtx_lock(&NFSD_VNET(nfsgroupnamehash)[i].mtx); groupname_locked = 1; hp_idnum = NFSGROUPHASH(nidp->nid_gid); mtx_lock(&hp_idnum->mtx); @@ -4039,7 +4072,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) thp = NFSUSERNAMEHASH(newusrp->lug_name, newusrp->lug_namelen); mtx_assert(&thp->mtx, MA_OWNED); TAILQ_INSERT_TAIL(&thp->lughead, newusrp, lug_namehash); - atomic_add_int(&nfsrv_usercnt, 1); + atomic_add_int(&NFSD_VNET(nfsrv_usercnt), 1); } else if (nidp->nid_flag & (NFSID_ADDGID | NFSID_ADDGROUPNAME)) { newusrp->lug_gid = nidp->nid_gid; thp = NFSGROUPHASH(newusrp->lug_gid); @@ -4048,7 +4081,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) thp = NFSGROUPNAMEHASH(newusrp->lug_name, newusrp->lug_namelen); mtx_assert(&thp->mtx, MA_OWNED); TAILQ_INSERT_TAIL(&thp->lughead, newusrp, lug_namehash); - atomic_add_int(&nfsrv_usercnt, 1); + atomic_add_int(&NFSD_VNET(nfsrv_usercnt), 1); } else { if (newusrp->lug_cred != NULL) crfree(newusrp->lug_cred); @@ -4077,17 +4110,17 @@ nfssvc_idname(struct nfsd_idargs *nidp) NFSID_DELUSERNAME | NFSID_ADDUSERNAME)) != 0) { if (username_locked == 0) { for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsusernamehash[i].mtx); + mtx_lock(&NFSD_VNET(nfsusernamehash)[i].mtx); username_locked = 1; } KASSERT(user_locked == 0, ("nfssvc_idname: user_locked")); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsuserhash[i].mtx); + mtx_lock(&NFSD_VNET(nfsuserhash)[i].mtx); user_locked = 1; for (i = 0; i < nfsrv_lughashsize; i++) { TAILQ_FOREACH_SAFE(usrp, - &nfsuserhash[i].lughead, lug_numhash, + &NFSD_VNET(nfsuserhash)[i].lughead, lug_numhash, nusrp) if (usrp->lug_expiry < NFSD_MONOSEC) nfsrv_removeuser(usrp, 1); @@ -4098,26 +4131,26 @@ nfssvc_idname(struct nfsd_idargs *nidp) * algorithm. This code deletes the least * recently used entry on each hash list. */ - if (nfsrv_usercnt <= nfsrv_usermax) + if (NFSD_VNET(nfsrv_usercnt) <= NFSD_VNET(nfsrv_usermax)) break; - usrp = TAILQ_FIRST(&nfsuserhash[i].lughead); + usrp = TAILQ_FIRST(&NFSD_VNET(nfsuserhash)[i].lughead); if (usrp != NULL) nfsrv_removeuser(usrp, 1); } } else { if (groupname_locked == 0) { for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsgroupnamehash[i].mtx); + mtx_lock(&NFSD_VNET(nfsgroupnamehash)[i].mtx); groupname_locked = 1; } KASSERT(group_locked == 0, ("nfssvc_idname: group_locked")); for (i = 0; i < nfsrv_lughashsize; i++) - mtx_lock(&nfsgrouphash[i].mtx); + mtx_lock(&NFSD_VNET(nfsgrouphash)[i].mtx); group_locked = 1; for (i = 0; i < nfsrv_lughashsize; i++) { TAILQ_FOREACH_SAFE(usrp, - &nfsgrouphash[i].lughead, lug_numhash, + &NFSD_VNET(nfsgrouphash)[i].lughead, lug_numhash, nusrp) if (usrp->lug_expiry < NFSD_MONOSEC) nfsrv_removeuser(usrp, 0); @@ -4128,9 +4161,9 @@ nfssvc_idname(struct nfsd_idargs *nidp) * algorithm. This code deletes the least * recently user entry on each hash list. */ - if (nfsrv_usercnt <= nfsrv_usermax) + if (NFSD_VNET(nfsrv_usercnt) <= NFSD_VNET(nfsrv_usermax)) break; - usrp = TAILQ_FIRST(&nfsgrouphash[i].lughead); + usrp = TAILQ_FIRST(&NFSD_VNET(nfsgrouphash)[i].lughead); if (usrp != NULL) nfsrv_removeuser(usrp, 0); } @@ -4146,16 +4179,16 @@ nfssvc_idname(struct nfsd_idargs *nidp) mtx_unlock(&hp_name->mtx); if (user_locked != 0) for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsuserhash[i].mtx); + mtx_unlock(&NFSD_VNET(nfsuserhash)[i].mtx); if (username_locked != 0) for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsusernamehash[i].mtx); + mtx_unlock(&NFSD_VNET(nfsusernamehash)[i].mtx); if (group_locked != 0) for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsgrouphash[i].mtx); + mtx_unlock(&NFSD_VNET(nfsgrouphash)[i].mtx); if (groupname_locked != 0) for (i = 0; i < nfsrv_lughashsize; i++) - mtx_unlock(&nfsgroupnamehash[i].mtx); + mtx_unlock(&NFSD_VNET(nfsgroupnamehash)[i].mtx); out: NFSEXITCODE(error); return (error); @@ -4184,7 +4217,7 @@ nfsrv_removeuser(struct nfsusrgrp *usrp, int isuser) mtx_assert(&hp->mtx, MA_OWNED); TAILQ_REMOVE(&hp->lughead, usrp, lug_namehash); } - atomic_add_int(&nfsrv_usercnt, -1); + atomic_add_int(&NFSD_VNET(nfsrv_usercnt), -1); if (usrp->lug_cred != NULL) crfree(usrp->lug_cred); free(usrp, M_NFSUSERGROUP); @@ -4194,7 +4227,7 @@ nfsrv_removeuser(struct nfsusrgrp *usrp, int isuser) * Free up all the allocations related to the name<-->id cache. * This function should only be called when the nfsuserd daemon isn't * running, since it doesn't do any locking. - * This function is meant to be used when the nfscommon module is unloaded. + * This function is meant to be called when a vnet jail is destroyed. */ void nfsrv_cleanusergroup(void) @@ -4203,11 +4236,11 @@ nfsrv_cleanusergroup(void) struct nfsusrgrp *nusrp, *usrp; int i; - if (nfsuserhash == NULL) + if (NFSD_VNET(nfsuserhash) == NULL) return; for (i = 0; i < nfsrv_lughashsize; i++) { - hp = &nfsuserhash[i]; + hp = &NFSD_VNET(nfsuserhash)[i]; TAILQ_FOREACH_SAFE(usrp, &hp->lughead, lug_numhash, nusrp) { TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); hp2 = NFSUSERNAMEHASH(usrp->lug_name, @@ -4217,7 +4250,7 @@ nfsrv_cleanusergroup(void) crfree(usrp->lug_cred); free(usrp, M_NFSUSERGROUP); } - hp = &nfsgrouphash[i]; + hp = &NFSD_VNET(nfsgrouphash)[i]; TAILQ_FOREACH_SAFE(usrp, &hp->lughead, lug_numhash, nusrp) { TAILQ_REMOVE(&hp->lughead, usrp, lug_numhash); hp2 = NFSGROUPNAMEHASH(usrp->lug_name, @@ -4227,16 +4260,16 @@ nfsrv_cleanusergroup(void) crfree(usrp->lug_cred); free(usrp, M_NFSUSERGROUP); } - mtx_destroy(&nfsuserhash[i].mtx); - mtx_destroy(&nfsusernamehash[i].mtx); - mtx_destroy(&nfsgroupnamehash[i].mtx); - mtx_destroy(&nfsgrouphash[i].mtx); + mtx_destroy(&NFSD_VNET(nfsuserhash)[i].mtx); + mtx_destroy(&NFSD_VNET(nfsusernamehash)[i].mtx); + mtx_destroy(&NFSD_VNET(nfsgroupnamehash)[i].mtx); + mtx_destroy(&NFSD_VNET(nfsgrouphash)[i].mtx); } - free(nfsuserhash, M_NFSUSERGROUP); - free(nfsusernamehash, M_NFSUSERGROUP); - free(nfsgrouphash, M_NFSUSERGROUP); - free(nfsgroupnamehash, M_NFSUSERGROUP); - free(nfsrv_dnsname, M_NFSSTRING); + free(NFSD_VNET(nfsuserhash), M_NFSUSERGROUP); + free(NFSD_VNET(nfsusernamehash), M_NFSUSERGROUP); + free(NFSD_VNET(nfsgrouphash), M_NFSUSERGROUP); + free(NFSD_VNET(nfsgroupnamehash), M_NFSUSERGROUP); + free(NFSD_VNET(nfsrv_dnsname), M_NFSSTRING); } /* From nobody Tue May 16 15:04:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLKJY5drbz4B7TM; Tue, 16 May 2023 15: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 4QLKJY55b4z3pNq; Tue, 16 May 2023 15: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=1684249453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jUjrgWc+VtfE4kiz5+0P102QO6Mj1Wwzu19KetDmriY=; b=jZbpBdQbAycUSHR+dWWSrEWXNHrHHctNMTl3WsV0o7vmYgPOwCz+D6umzqgWtRukgURR4B ZrxfL9HPzkx5mmUDjTPLmworO6lU+bWy6qBED1w9MEirpiHWFiKczcueJA5zWNeMyFGu6Y XOvvjYgMjIUDrnTOvTGlee4u/JfeqJ5pGWhxLiuX0rJl08s0PUhikm5nHVjehhGBazqV97 ei6Q+X8svXcFDQrHCvpq9HJh1pvpZdtboDuk8i3+l4Jotag1W7HuAWOed8zQi//3YernrL PrY+5uGgi3sMgrtFBxODsYxclT7XY2qKUaQHYg6lSrtrXsOTf9Q2tR6FEXh7DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684249453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jUjrgWc+VtfE4kiz5+0P102QO6Mj1Wwzu19KetDmriY=; b=PVDghY2uf9pdaZqZA+6+PzX9XYzpO9F99ZTTYyP7aJ4JbjuHISvEG7xGYDiQjG1n2KCGNd GFLGqjnzvBNHKbQoncpZmrM7f7y2ixExNQ9QiI8/PXWl166ZR9w1YtBlg5dDhtJCEFQwbF sMJIaR4u52HLfX5jlW0vYpavDO7QhCJx4ObwY89AF6S3EVgVwY00yWkl+x2QItLWb+8oXb IUPlFPgUcLr6I59wa2Qijhb04LyYU4QfKOZ8vRHMsuyQlHJEhU5ieThmKdh5AOTODKsZYr FZMWjXDgczwgQzeOzlBNN358i+RAdlwIKSAe4stGyW+jBDKiGhPEYCigUcS5Kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684249453; a=rsa-sha256; cv=none; b=M83HSwWu22rOU4NQ5q9SevsbpHmxCXhJRxPrMWRPbxXP7RPTtHyH/DxUuJFiV/LhRUKlzT ACzKO9RwmEcY6YXS6OgeaGKO+xihWQDIiOkFvRgbMDBAwlHdJjmYCC4GJT7AIBqRQkBHzo UyZr185K0Jx3pXel4ODtiUroT90sZnB0/kofXP82cvp2QeRnEUQ7rKo1tEQxXItXjQ8Eds mFpHoO5PgUbSsscAh4pMAatTfVH0WU3MxVNAKNdvfF+WPU4gCgl9I7GQUXIzDtXpiVxVbT iOUuYuPzQiuiva3IsVDdhDh0+CmfFyOj32VGEyNQyZyjcWEdQ05e4fITlnhLqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLKJY47kdzRny; Tue, 16 May 2023 15:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GF4Dal077507; Tue, 16 May 2023 15:04:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GF4DjZ077506; Tue, 16 May 2023 15:04:13 GMT (envelope-from git) Date: Tue, 16 May 2023 15:04:13 GMT Message-Id: <202305161504.34GF4DjZ077506@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 584ad4126c76 - main - testing: improve vnet support in pytest * Allow vnet object to be directly referenced (self.vnet1 vs self.vnet_map["vnet1"]) * Allow iface object to be directly reference (vnet.bridge vs vnet.iface_alias_map["bridge"]) * Allow arbitrary interface alias names insted of ifX * Add wait_objects_any() method for waiting object from multiple vnets * Add wait() method for indefinite sleep on vnet handlers List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 584ad4126c76721b7f5da39d4ca4818ded7d64db Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=584ad4126c76721b7f5da39d4ca4818ded7d64db commit 584ad4126c76721b7f5da39d4ca4818ded7d64db Author: Alexander V. Chernikov AuthorDate: 2023-05-16 15:00:45 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-16 15:00:45 +0000 testing: improve vnet support in pytest * Allow vnet object to be directly referenced (self.vnet1 vs self.vnet_map["vnet1"]) * Allow iface object to be directly reference (vnet.bridge vs vnet.iface_alias_map["bridge"]) * Allow arbitrary interface alias names insted of ifX * Add wait_objects_any() method for waiting object from multiple vnets * Add wait() method for indefinite sleep on vnet handlers MFC after: 2 weeks --- tests/atf_python/sys/net/vnet.py | 46 +++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/tests/atf_python/sys/net/vnet.py b/tests/atf_python/sys/net/vnet.py index a2884b0d7ce2..8942e6839b35 100644 --- a/tests/atf_python/sys/net/vnet.py +++ b/tests/atf_python/sys/net/vnet.py @@ -1,11 +1,12 @@ #!/usr/local/bin/python3 import copy import ipaddress -import re import os +import re import socket import sys import time +from multiprocessing import connection from multiprocessing import Pipe from multiprocessing import Process from typing import Dict @@ -218,6 +219,8 @@ class VnetInstance(object): iface.set_jailed(True) self.iface_alias_map[iface.alias] = iface self.iface_map[iface.name] = iface + # Allow reference to interfce aliases as attributes + setattr(self, iface.alias, iface) self.need_dad = False # Disable duplicate address detection by default self.attached = False self.pipe = None @@ -364,7 +367,8 @@ class VnetTestTemplate(BaseTest): if prefixes6: iface.enable_ipv6() for prefix in prefixes6 + prefixes4: - iface.setup_addr(prefix[idx]) + if prefix[idx]: + iface.setup_addr(prefix[idx]) for iface in ipv6_ifaces: while iface.has_tentative(): time.sleep(0.1) @@ -378,18 +382,28 @@ class VnetTestTemplate(BaseTest): self.drop_privileges() handler(vnet) + def _get_topo_ifmap(self, topo: Dict): + iface_factory = IfaceFactory() + iface_map: Dict[str, SingleInterfaceMap] = {} + iface_aliases = set() + for obj_name, obj_data in topo.items(): + if obj_name.startswith("vnet"): + for iface_alias in obj_data["ifaces"]: + iface_aliases.add(iface_alias) + for iface_alias in iface_aliases: + print("Creating {}".format(iface_alias)) + iface_data = topo[iface_alias] + iface_type = iface_data.get("type", "epair") + ifaces = iface_factory.create_iface(iface_alias, iface_type) + smap = SingleInterfaceMap(ifaces, []) + iface_map[iface_alias] = smap + return iface_map + def setup_topology(self, topo: Dict, topology_id: str): """Creates jails & interfaces for the provided topology""" - iface_map: Dict[str, SingleInterfaceMap] = {} vnet_map = {} - iface_factory = IfaceFactory() vnet_factory = VnetFactory(topology_id) - for obj_name, obj_data in topo.items(): - if obj_name.startswith("if"): - iface_type = obj_data.get("type", "epair") - ifaces = iface_factory.create_iface(obj_name, iface_type) - smap = SingleInterfaceMap(ifaces, []) - iface_map[obj_name] = smap + iface_map = self._get_topo_ifmap(topo) for obj_name, obj_data in topo.items(): if obj_name.startswith("vnet"): vnet_ifaces = [] @@ -401,6 +415,8 @@ class VnetTestTemplate(BaseTest): vnet_ifaces.append(iface_map[iface_alias].ifaces[idx]) vnet = vnet_factory.create_vnet(obj_name, vnet_ifaces) vnet_map[obj_name] = vnet + # Allow reference to VNETs as attributes + setattr(self, obj_name, vnet) # Debug output print("============= TEST TOPOLOGY =============") for vnet_alias, vnet in vnet_map.items(): @@ -484,9 +500,19 @@ class VnetTestTemplate(BaseTest): return pipe.recv() raise TimeoutError + def wait_objects_any(self, pipe_list, timeout=5): + objects = connection.wait(pipe_list, timeout) + if objects: + return objects[0].recv() + raise TimeoutError + def send_object(self, pipe, obj): pipe.send(obj) + def wait(self): + while True: + time.sleep(1) + @property def curvnet(self): pass From nobody Tue May 16 16:06:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLLhM6571z4BBJw; Tue, 16 May 2023 16:06: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 4QLLhM5RRfz3tQb; Tue, 16 May 2023 16:06:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684253187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2q67grBCROtCErK7GhdNlUFHjS5orEy706Rh6y++j2Q=; b=erSQaHqO6DSqGZLe/O62DV5xO2uZPvIwHZQlRbbcEUzbst5yTU8s7zJOKpca5o1Csu3MMT /ywpMl/goJqMvAr1jbK0l9HeUBj6+qsYMZo/zAL8Ntj/hDhURabxpX9MU0W4ZQc4/oE/j6 zp8qAFGuHFrG8FtS/h76mts6YDLdw7eTNR7qDWpHZ9fTJ6JJPehteau/KQblU/ZElbMbSP QyVWeRngmnOlblol69QbPmHBSRsNbXkCmt0PLx12zFFHnsWB259c80xqJ/f5IzHoUU5nsC g+JV6Y52hY8qWtZbEh6pBNBAahamYDH2k4Hgfr/pUDRC/pXPjlMMKsqVr8yBvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684253187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2q67grBCROtCErK7GhdNlUFHjS5orEy706Rh6y++j2Q=; b=wZeH5ou552TXBa8Jn6OOCthY++hIEqFpilLOMWjsBlKTTBb2prPstTYpcLWyXwXnuul7UO DdS5pet0iw8HSZYJkNB7VuuSO2aQxKTU175wKguYDbLQLqi46P6k+3Yt5oOy6dMskrOfuw auvKRqsRK6VNkMvYR20D/uTMh14hUWSEHscLpK/99rpvaf7r8AHXJLfW/nr06fLhJ8lZbU GSabQSjAiHrVDuhtT7mFEKFWK8j/gaF7xqUIp4ovOo8VTWWfUWJrFoQQsSrlKHSpzvnvGI WIpm5TDsb46FufxVJxZa08Jgoj46BjFlol+L17whEkQdbssTXMXRWzq2yENtXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684253187; a=rsa-sha256; cv=none; b=oaEg45MmMllvZJ1B1xpyaiD0BpVfZIcJ6ssJBYJeM5i9j33pqEa+5rAMPBsc3JlOXiR7mS 4WesUEsxlbqv64s8/hqTqUqr0bicTsb1Fau0vDjbI8hQzwCvGNIn6a4FHJwnFL10qpodUz eLGr8WcAKwse67Q+7XLyZ87+xBsXnjLezGSugfpF5vOvIhjEkBEM6Fry3C0oGRBrV5gEHW 1WSfIU2uKnBFEEGAD7tYQja4ADI08cNo3Mu+rcEKJrGf+zO6QYKrZuVeKnu3N6owXR/xBC /W5VU0pEGVZ/EMqkt6xPiDzZkdgvXpq7eQ/W5wfEksFR5wSX+7ZQL4hWBjN5nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLLhM4Qv4zTDn; Tue, 16 May 2023 16:06:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GG6RV7076882; Tue, 16 May 2023 16:06:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GG6RhI076881; Tue, 16 May 2023 16:06:27 GMT (envelope-from git) Date: Tue, 16 May 2023 16:06:27 GMT Message-Id: <202305161606.34GG6RhI076881@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 7232e6dcc89b - main - net80211: Radiotap: update for newer standards (add EHT, U-SIG) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7232e6dcc89b978825b30a537bca2e7d3a9b71bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7232e6dcc89b978825b30a537bca2e7d3a9b71bb commit 7232e6dcc89b978825b30a537bca2e7d3a9b71bb Author: Bjoern A. Zeeb AuthorDate: 2023-05-16 16:03:17 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-16 16:05:55 +0000 net80211: Radiotap: update for newer standards (add EHT, U-SIG) iwlwifi already uses suggested EHT and U-SIG bits as well as some more TLV bits. Update radiotap to know of those even if they might get updated again in the future in order to get newer versions of the driver to compile. Sponsored by: The FreeBSD Foundation MFC after: 10 days --- sys/net80211/ieee80211_radiotap.h | 132 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 128 insertions(+), 4 deletions(-) diff --git a/sys/net80211/ieee80211_radiotap.h b/sys/net80211/ieee80211_radiotap.h index 35800325f121..bd54690ee2ec 100644 --- a/sys/net80211/ieee80211_radiotap.h +++ b/sys/net80211/ieee80211_radiotap.h @@ -234,9 +234,13 @@ enum ieee80211_radiotap_type { IEEE80211_RADIOTAP_AMPDU_STATUS = 20, IEEE80211_RADIOTAP_VHT = 21, + IEEE80211_RADIOTAP_TLV = 28, IEEE80211_RADIOTAP_RADIOTAP_NAMESPACE = 29, - IEEE80211_RADIOTAP_VENDOREXT = 30, + IEEE80211_RADIOTAP_VENDOREXT = 30, /* obsolete? */ + IEEE80211_RADIOTAP_VENDOR_NAMESPACE = 30, IEEE80211_RADIOTAP_EXT = 31, + IEEE80211_RADIOTAP_EHT_USIG = 33, + IEEE80211_RADIOTAP_EHT = 34, }; #ifndef _KERNEL @@ -381,10 +385,25 @@ enum ieee80211_radiotap_type { #define IEEE80211_RADIOTAP_ZERO_LEN_PSDU_NOT_CAPTURED 0x01 #define IEEE80211_RADIOTAP_ZERO_LEN_PSDU_VENDOR 0xFF +/* http://www.radiotap.org/fields/TLV.html */ +struct ieee80211_radiotap_tlv { + uint16_t type; + uint16_t len; + uint8_t data[]; +} __packed; + +struct ieee80211_radiotap_vendor_content { + uint8_t oui[3]; + uint8_t oui_subtype; + uint16_t vendor_type; + uint16_t __padding; + uint8_t data[]; +} __packed; + /* https://www.radiotap.org/fields/HE.html */ struct ieee80211_radiotap_he { uint16_t data1, data2, data3, data4, data5, data6; -}; +} __packed; #define IEEE80211_RADIOTAP_HE_DATA1_FORMAT_SU 0x0000 #define IEEE80211_RADIOTAP_HE_DATA1_FORMAT_EXT_SU 0x0001 @@ -459,7 +478,7 @@ struct ieee80211_radiotap_he_mu { uint16_t flags2; uint8_t ru_ch1[4]; uint8_t ru_ch2[4]; -}; +} __packed; #define IEEE80211_RADIOTAP_HE_MU_FLAGS1_SIG_B_MCS 0x000F #define IEEE80211_RADIOTAP_HE_MU_FLAGS1_SIG_B_MCS_KNOWN 0x0010 @@ -490,7 +509,7 @@ struct ieee80211_radiotap_he_mu { struct ieee80211_radiotap_lsig { uint16_t data1; uint16_t data2; -}; +} __packed; #define IEEE80211_RADIOTAP_LSIG_DATA1_LENGTH_KNOWN 0x0002 #define IEEE80211_RADIOTAP_LSIG_DATA2_LENGTH 0xFFF0 @@ -503,4 +522,109 @@ struct ieee80211_radiotap_lsig { #define IEEE80211_RADIOTAP_TIMESTAMP_UNIT_US 0x01 #define IEEE80211_RADIOTAP_TIMESTAMP_SPOS_PLCP_SIG_ACQ 0x10 +/* http://www.radiotap.org/fields/U-SIG.html */ +struct ieee80211_radiotap_eht_usig { + uint32_t common; + uint32_t value; + uint32_t mask; +} __packed; +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_PHY_VER_KNOWN 0x00000001 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW_KNOWN 0x00000002 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_UL_DL_KNOWN 0x00000004 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BSS_COLOR_KNOWN 0x00000008 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_TXOP_KNOWN 0x00000010 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BAD_USIG_CRC 0x00000020 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_PHY_VER 0x00007000 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW 0x00038000 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_UL_DL 0x00040000 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BSS_COLOR 0x01f80000 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_TXOP 0xfe000000 + +#define IEEE80211_RADIOTAP_EHT_USIG1_MU_B20_B24_DISREGARD 0x0000001f +#define IEEE80211_RADIOTAP_EHT_USIG1_MU_B25_VALIDATE 0x00000020 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B0_B1_PPDU_TYPE 0x000000c0 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B2_VALIDATE 0x00000100 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B3_B7_PUNCTURED_INFO 0x00003e00 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B8_VALIDATE 0x00004000 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B9_B10_SIG_MCS 0x00018000 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B11_B15_EHT_SIG_SYMBOLS 0x003e0000 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B16_B19_CRC 0x03c00000 +#define IEEE80211_RADIOTAP_EHT_USIG2_MU_B20_B25_TAIL 0xfc000000 + +#define IEEE80211_RADIOTAP_EHT_USIG1_TB_B20_B25_DISREGARD 0x0000003f +#define IEEE80211_RADIOTAP_EHT_USIG2_TB_B0_B1_PPDU_TYPE 0x000000c0 +#define IEEE80211_RADIOTAP_EHT_USIG2_TB_B2_VALIDATE 0x00000100 +#define IEEE80211_RADIOTAP_EHT_USIG2_TB_B3_B6_SPATIAL_REUSE_1 0x00001e00 +#define IEEE80211_RADIOTAP_EHT_USIG2_TB_B7_B10_SPATIAL_REUSE_2 0x0001e000 +#define IEEE80211_RADIOTAP_EHT_USIG2_TB_B11_B15_DISREGARD 0x003e0000 +#define IEEE80211_RADIOTAP_EHT_USIG2_TB_B16_B19_CRC 0x03c00000 +#define IEEE80211_RADIOTAP_EHT_USIG2_TB_B20_B25_TAIL 0xfc000000 + +/* http://www.radiotap.org/fields/EHT.html */ +struct ieee80211_radiotap_eht { + uint32_t known; + uint32_t data[9]; + uint32_t user_info[]; +} __packed; +#define IEEE80211_RADIOTAP_EHT_KNOWN_SPATIAL_REUSE 0x00000002 +#define IEEE80211_RADIOTAP_EHT_KNOWN_GI 0x00000004 +#define IEEE80211_RADIOTAP_EHT_KNOWN_EHT_LTF 0x00000010 +#define IEEE80211_RADIOTAP_EHT_KNOWN_LDPC_EXTRA_SYM_OM 0x00000020 +#define IEEE80211_RADIOTAP_EHT_KNOWN_PRE_PADD_FACOR_OM 0x00000040 +#define IEEE80211_RADIOTAP_EHT_KNOWN_PE_DISAMBIGUITY_OM 0x00000080 +#define IEEE80211_RADIOTAP_EHT_KNOWN_NSS_S 0x00020000 +#define IEEE80211_RADIOTAP_EHT_KNOWN_BEAMFORMED_S 0x00040000 +#define IEEE80211_RADIOTAP_EHT_KNOWN_NR_NON_OFDMA_USERS_M 0x00080000 +#define IEEE80211_RADIOTAP_EHT_KNOWN_RU_ALLOC_TB_FMT 0x01000000 +#define IEEE80211_RADIOTAP_EHT_KNOWN_PRIMARY_80 0x02000000 + +#define IEEE80211_RADIOTAP_EHT_DATA0_SPATIAL_REUSE 0x00000078 +#define IEEE80211_RADIOTAP_EHT_DATA0_GI 0x00000180 +#define IEEE80211_RADIOTAP_EHT_DATA0_LTF 0x00000600 +#define IEEE80211_RADIOTAP_EHT_DATA0_EHT_LTF 0x00003800 +#define IEEE80211_RADIOTAP_EHT_DATA0_LDPC_EXTRA_SYM_OM 0x00004000 +#define IEEE80211_RADIOTAP_EHT_DATA0_PRE_PADD_FACOR_OM 0x00018000 +#define IEEE80211_RADIOTAP_EHT_DATA0_PE_DISAMBIGUITY_OM 0x00020000 + +#define IEEE80211_RADIOTAP_EHT_DATA1_RU_ALLOC_CC_1_1_1 0x003fe000 +#define IEEE80211_RADIOTAP_EHT_DATA1_RU_ALLOC_CC_1_1_1_KNOWN 0x00400000 +#define IEEE80211_RADIOTAP_EHT_DATA1_PRIMARY_80 0xc0000000 + +#define IEEE80211_RADIOTAP_EHT_DATA2_RU_ALLOC_CC_2_1_1 0x000001ff +#define IEEE80211_RADIOTAP_EHT_DATA2_RU_ALLOC_CC_2_1_1_KNOWN 0x00000200 +#define IEEE80211_RADIOTAP_EHT_DATA2_RU_ALLOC_CC_1_1_2 0x0007fc00 +#define IEEE80211_RADIOTAP_EHT_DATA2_RU_ALLOC_CC_1_1_2_KNOWN 0x00080000 +#define IEEE80211_RADIOTAP_EHT_DATA2_RU_ALLOC_CC_2_1_2 0x1ff00000 +#define IEEE80211_RADIOTAP_EHT_DATA2_RU_ALLOC_CC_2_1_2_KNOWN 0x20000000 + +#define IEEE80211_RADIOTAP_EHT_DATA3_RU_ALLOC_CC_1_2_1 0x000001ff +#define IEEE80211_RADIOTAP_EHT_DATA3_RU_ALLOC_CC_1_2_1_KNOWN 0x00000200 +#define IEEE80211_RADIOTAP_EHT_DATA3_RU_ALLOC_CC_2_2_1 0x0007fc00 +#define IEEE80211_RADIOTAP_EHT_DATA3_RU_ALLOC_CC_2_2_1_KNOWN 0x00080000 +#define IEEE80211_RADIOTAP_EHT_DATA3_RU_ALLOC_CC_1_2_2 0x1ff00000 +#define IEEE80211_RADIOTAP_EHT_DATA3_RU_ALLOC_CC_1_2_2_KNOWN 0x20000000 + +#define IEEE80211_RADIOTAP_EHT_DATA4_RU_ALLOC_CC_2_2_2 0x000001ff +#define IEEE80211_RADIOTAP_EHT_DATA4_RU_ALLOC_CC_2_2_2_KNOWN 0x00000200 + +#define IEEE80211_RADIOTAP_EHT_DATA7_NSS_S 0x0000f000 +#define IEEE80211_RADIOTAP_EHT_DATA7_BEAMFORMED_S 0x00010000 +#define IEEE80211_RADIOTAP_EHT_DATA7_NUM_OF_NON_OFDMA_USERS 0x000e0000 + +#define IEEE80211_RADIOTAP_EHT_DATA8_RU_ALLOC_TB_FMT_PS_160 0x00000001 +#define IEEE80211_RADIOTAP_EHT_DATA8_RU_ALLOC_TB_FMT_B0 0x00000002 +#define IEEE80211_RADIOTAP_EHT_DATA8_RU_ALLOC_TB_FMT_B7_B1 0x000001fc + +#define IEEE80211_RADIOTAP_EHT_USER_INFO_STA_ID_KNOWN 0x00000001 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_MCS_KNOWN 0x00000002 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_CODING_KNOWN 0x00000004 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_NSS_KNOWN_O 0x00000010 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_BEAMFORMING_KNOWN_O 0x00000020 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_DATA_FOR_USER 0x00000080 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_STA_ID 0x0007ff00 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_CODING 0x00080000 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_MCS 0x00f00000 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_NSS_O 0x0f000000 +#define IEEE80211_RADIOTAP_EHT_USER_INFO_BEAMFORMING_O 0x20000000 + #endif /* !_NET80211_IEEE80211_RADIOTAP_H_ */ From nobody Tue May 16 19:39:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLRQC4GcRz4BP6w; Tue, 16 May 2023 19:39: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 4QLRQC43tYz4Fp7; Tue, 16 May 2023 19:39:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684265971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RxjIvboiJYpVxa8vEGA7OyTpyC41T6NDGwkCr5cv/p4=; b=KpotVgmLiQ++r2I3/clCGoaaaTxzTu6Zy2oBziqA4ObV5bBUPZlLwHJrmEvboXjUaxQdrV CN7wBqMtE0xFt5JOUzml3P7JEU7e6qURnBLTH2ZLtxtsa1NzEq4ax5Ol54pdubM5Z7y3S6 LR34CmnVONIwzPCLb86ljRvPSMOBgRS+VWTYXzKvm75UASzTd19LmhfkpOElO+vKo8ZDst sssiXzsCoOCBfln49rdM5IqIBh6Bh7EptvSVSGXa3MKGK2VnTrFqGi1+c/j+PLDvjTyvOo zj06wPDDJlFFpehzeaa5QTIMc5EZrMjPtoMPv9+U6VZ3257zhvB0WT5wNvGWUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684265971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RxjIvboiJYpVxa8vEGA7OyTpyC41T6NDGwkCr5cv/p4=; b=fX5fN+o6kK70CVffy+PqxCOWV7z03zZ9MdKRh3xevjaPvwNOV+mztWTNrX5J1ymbLSRRjU UDK4mFc7PTBru2W668Lsswj+rH7c2rXMlHTutTZSuNg2HEaKh3tvTE6QzYF23is4WJuPYY sZsN8bStjh88oibSAhBYHCmivTAzl6U+43tZfs+Rze3+n8etNgYyRf1hHgqzkZttRuX/rb OyMcVNMHp9g3mNtwQv4zOQuumjrks6Zdx0dUb4gYaXWDaasZ37al3uqvQc19X8tbKwkmIH I7OUwmIZk1akypZ8jMj82T7wMgnrOSu8R/J+8dSJ7LWKpHcpplrxdaqCNC/nrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684265971; a=rsa-sha256; cv=none; b=N0SIi1AujvflmtdUpb55l1Ldqr2bv4S1cdtKzesYyWzdyTVOYoX7pZhUvJLD1QgXDAFgqj loRA+HH3kt9fCD+eB8r0iXZaltb+eyRakFodcHa0j6n3gAHDJzFLuJqhPEIozvGIDnXnm/ Y3rXKULJ8E6mv7BRQJG0OcAFkGU7Kw0CYHUECOre61MQxih/SJvDvq/irEPIYe2cEQlUZu tIC6wR/0mGfbBi9Roy+ot6aReM0aJZDO7djwK9ZJ2UnXOA1MFFvzchDMdDqDhlfQN7TVnz V+CUZ62E+obPVQzHcvdMdbV8EMA8nsD9RuuwyyvMoFfokg3egOQcnDTZl60pkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLRQC37HczZjt; Tue, 16 May 2023 19:39:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GJdVJK024029; Tue, 16 May 2023 19:39:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GJdVt2024028; Tue, 16 May 2023 19:39:31 GMT (envelope-from git) Date: Tue, 16 May 2023 19:39:31 GMT Message-Id: <202305161939.34GJdVt2024028@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 10b94e406444 - main - netlink: add support for adding/deleting interface addresses List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 10b94e406444d65af99d344f87d1de320b6cd87e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=10b94e406444d65af99d344f87d1de320b6cd87e commit 10b94e406444d65af99d344f87d1de320b6cd87e Author: Alexander V. Chernikov AuthorDate: 2023-05-15 11:59:39 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-16 19:39:13 +0000 netlink: add support for adding/deleting interface addresses Differential Revision: https://reviews.freebsd.org/D40103 MFC after: 2 weeks --- sys/netlink/route/iface.c | 344 ++++++++++++++- sys/netlink/route/ifaddrs.h | 4 +- tests/atf_python/sys/netlink/netlink_route.py | 223 +++++++--- tests/sys/netlink/test_rtnl_ifaddr.py | 586 +++++++++++++++++++++++++- 4 files changed, 1057 insertions(+), 100 deletions(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index aae2cbefb325..976b485b3f56 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -48,14 +48,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include /* scope deembedding */ #include #include #include #include -#include /* scope deembedding */ - #define DEBUG_MOD_NAME nl_iface #define DEBUG_MAX_LEVEL LOG_DEBUG3 #include @@ -242,6 +242,9 @@ dump_sa(struct nl_writer *nw, int attr, const struct sockaddr *sa) addr_len = ((const struct sockaddr_dl *)sa)->sdl_alen; addr_data = LLADDR_CONST((const struct sockaddr_dl *)sa); break; + case AF_UNSPEC: + /* Ignore empty SAs without warning */ + return (true); default: NL_LOG(LOG_DEBUG2, "unsupported family: %d, skipping", sa->sa_family); return (true); @@ -649,16 +652,60 @@ rtnl_handle_newlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n return (modify_link(hdr, &attrs, &bm, nlp, npt)); } +static void +set_scope6(struct sockaddr *sa, uint32_t ifindex) +{ +#ifdef INET6 + if (sa != NULL && sa->sa_family == AF_INET6) { + struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)sa; + + if (IN6_IS_ADDR_LINKLOCAL(&sa6->sin6_addr)) + in6_set_unicast_scopeid(&sa6->sin6_addr, ifindex); + } +#endif +} + +static bool +check_sa_family(const struct sockaddr *sa, int family, const char *attr_name, + struct nl_pstate *npt) +{ + if (sa == NULL || sa->sa_family == family) + return (true); + + nlmsg_report_err_msg(npt, "wrong family for %s attribute: %d != %d", + attr_name, family, sa->sa_family); + return (false); +} + struct nl_parsed_ifa { - uint8_t ifa_family; - uint8_t ifa_prefixlen; - uint8_t ifa_scope; - uint32_t ifa_index; - uint32_t ifa_flags; - struct sockaddr *ifa_address; - struct sockaddr *ifa_local; + uint8_t ifa_family; + uint8_t ifa_prefixlen; + uint8_t ifa_scope; + uint32_t ifa_index; + uint32_t ifa_flags; + uint32_t ifaf_vhid; + uint32_t ifaf_flags; + struct sockaddr *ifa_addr; + struct sockaddr *ifa_dst; + struct sockaddr *ifa_broadcast; + struct ifa_cacheinfo *ifa_cacheinfo; + struct sockaddr *f_ifa_addr; + struct sockaddr *f_ifa_dst; }; +static int +nlattr_get_cinfo(struct nlattr *nla, struct nl_pstate *npt, + const void *arg __unused, void *target) +{ + if (__predict_false(NLA_DATA_LEN(nla) != sizeof(struct ifa_cacheinfo))) { + NLMSG_REPORT_ERR_MSG(npt, "nla type %d size(%u) is not ifa_cacheinfo", + nla->nla_type, NLA_DATA_LEN(nla)); + return (EINVAL); + } + *((struct ifa_cacheinfo **)target) = (struct ifa_cacheinfo *)NL_RTA_DATA(nla); + return (0); +} + #define _IN(_field) offsetof(struct ifaddrmsg, _field) #define _OUT(_field) offsetof(struct nl_parsed_ifa, _field) static const struct nlfield_parser nlf_p_ifa[] = { @@ -669,14 +716,66 @@ static const struct nlfield_parser nlf_p_ifa[] = { { .off_in = _IN(ifa_index), .off_out = _OUT(ifa_index), .cb = nlf_get_u32 }, }; +static const struct nlattr_parser nla_p_ifa_fbsd[] = { + { .type = IFAF_VHID, .off = _OUT(ifaf_vhid), .cb = nlattr_get_uint32 }, + { .type = IFAF_FLAGS, .off = _OUT(ifaf_flags), .cb = nlattr_get_uint32 }, +}; +NL_DECLARE_ATTR_PARSER(ifa_fbsd_parser, nla_p_ifa_fbsd); + static const struct nlattr_parser nla_p_ifa[] = { - { .type = IFA_ADDRESS, .off = _OUT(ifa_address), .cb = nlattr_get_ip }, - { .type = IFA_LOCAL, .off = _OUT(ifa_local), .cb = nlattr_get_ip }, + { .type = IFA_ADDRESS, .off = _OUT(ifa_addr), .cb = nlattr_get_ip }, + { .type = IFA_LOCAL, .off = _OUT(ifa_dst), .cb = nlattr_get_ip }, + { .type = IFA_BROADCAST, .off = _OUT(ifa_broadcast), .cb = nlattr_get_ip }, + { .type = IFA_CACHEINFO, .off = _OUT(ifa_cacheinfo), .cb = nlattr_get_cinfo }, { .type = IFA_FLAGS, .off = _OUT(ifa_flags), .cb = nlattr_get_uint32 }, + { .type = IFA_FREEBSD, .arg = &ifa_fbsd_parser, .cb = nlattr_get_nested }, }; #undef _IN #undef _OUT -NL_DECLARE_PARSER(ifaddrmsg_parser, struct ifaddrmsg, nlf_p_ifa, nla_p_ifa); + +static bool +post_p_ifa(void *_attrs, struct nl_pstate *npt) +{ + struct nl_parsed_ifa *attrs = (struct nl_parsed_ifa *)_attrs; + + if (!check_sa_family(attrs->ifa_addr, attrs->ifa_family, "IFA_ADDRESS", npt)) + return (false); + if (!check_sa_family(attrs->ifa_dst, attrs->ifa_family, "IFA_LOCAL", npt)) + return (false); + if (!check_sa_family(attrs->ifa_broadcast, attrs->ifa_family, "IFA_BROADADDR", npt)) + return (false); + + set_scope6(attrs->ifa_addr, attrs->ifa_index); + set_scope6(attrs->ifa_dst, attrs->ifa_index); + + /* + * Map the Netlink attributes to FreeBSD ifa layout. + * If only IFA_ADDRESS or IFA_LOCAL is set OR + * both are set to the same value => ifa is not broadcast + * and the attribute value contains interface address. + * + * Otherwise (both IFA_ADDRESS and IFA_LOCAL are set and + * different), IFA_LOCAL contains an interface address and + * IFA_ADDRESS contains peer address. + */ + struct sockaddr *addr, *dst; + + addr = attrs->ifa_addr; + if ((dst = attrs->ifa_dst) != NULL) { + if (addr != NULL && !sa_equal(addr, dst)) { + /* Ptp address */ + attrs->ifa_addr = dst; + attrs->ifa_dst = addr; + } else { + attrs->ifa_addr = dst; + attrs->ifa_dst = NULL; + } + } + + return (true); +} + +NL_DECLARE_PARSER_EXT(ifa_parser, struct ifaddrmsg, NULL, nlf_p_ifa, nla_p_ifa, post_p_ifa); /* @@ -792,6 +891,25 @@ in6_flags_to_nl(uint32_t flags) return (nl_flags); } +static uint32_t +nl_flags_to_in6(uint32_t flags) +{ + uint32_t in6_flags = 0; + + if (flags & IFA_F_TEMPORARY) + in6_flags |= IN6_IFF_TEMPORARY; + if (flags & IFA_F_NODAD) + in6_flags |= IN6_IFF_NODAD; + if (flags & IFA_F_DEPRECATED) + in6_flags |= IN6_IFF_DEPRECATED; + if (flags & IFA_F_TENTATIVE) + in6_flags |= IN6_IFF_TENTATIVE; + if (flags & IFA_F_DADFAILED) + in6_flags |= IN6_IFF_DUPLICATED; + + return (in6_flags); +} + static void export_cache_info6(struct nl_writer *nw, const struct in6_ifaddr *ia) { @@ -831,6 +949,7 @@ dump_iface_addr(struct nl_writer *nw, struct ifnet *ifp, struct ifaddr *ifa, { struct ifaddrmsg *ifamsg; struct sockaddr *sa = ifa->ifa_addr; + struct sockaddr *sa_dst = ifa->ifa_dstaddr; NL_LOG(LOG_DEBUG3, "dumping ifa %p type %s(%d) for interface %s", ifa, rib_print_family(sa->sa_family), sa->sa_family, if_name(ifp)); @@ -845,8 +964,9 @@ dump_iface_addr(struct nl_writer *nw, struct ifnet *ifp, struct ifaddr *ifa, ifamsg->ifa_scope = ifa_get_scope(ifa); ifamsg->ifa_index = ifp->if_index; - if (ifp->if_flags & IFF_POINTOPOINT) { - dump_sa(nw, IFA_ADDRESS, ifa->ifa_dstaddr); + if ((ifp->if_flags & IFF_POINTOPOINT) && sa_dst != NULL && sa_dst->sa_family != 0) { + /* P2P interface may have IPv6 LL with no dst address */ + dump_sa(nw, IFA_ADDRESS, sa_dst); dump_sa(nw, IFA_LOCAL, sa); } else { dump_sa(nw, IFA_ADDRESS, sa); @@ -930,7 +1050,7 @@ rtnl_handle_getaddr(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n int error = 0; struct nl_parsed_ifa attrs = {}; - error = nl_parse_nlmsg(hdr, &ifaddrmsg_parser, npt, &attrs); + error = nl_parse_nlmsg(hdr, &ifa_parser, npt, &attrs); if (error != 0) return (error); @@ -971,6 +1091,188 @@ rtnl_handle_getaddr(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n return (error); } +#ifdef INET +static int +handle_newaddr_inet(struct nlmsghdr *hdr, struct nl_parsed_ifa *attrs, + struct ifnet *ifp, struct nlpcb *nlp, struct nl_pstate *npt) +{ + if (attrs->ifa_prefixlen > 32) { + nlmsg_report_err_msg(npt, "invalid ifa_prefixlen"); + return (EINVAL); + }; + + int if_flags = if_getflags(ifp); + + if (if_flags & IFF_POINTOPOINT) { + if (attrs->ifa_addr == NULL || attrs->ifa_dst == NULL) { + nlmsg_report_err_msg(npt, "Empty IFA_LOCAL/IFA_ADDRESS"); + return (EINVAL); + } + } else { + if (attrs->ifa_addr == NULL) { + nlmsg_report_err_msg(npt, "Empty IFA_LOCAL/IFA_ADDRESS"); + return (EINVAL); + } + attrs->ifa_dst = attrs->ifa_broadcast; + + if (attrs->ifa_dst == NULL && !(if_flags & IFF_LOOPBACK)) { + nlmsg_report_err_msg(npt, "empty IFA_BROADCAST for BRD interface"); + return (EINVAL); + } + } + + int plen = attrs->ifa_prefixlen; + struct sockaddr_in mask = { + .sin_len = sizeof(struct sockaddr_in), + .sin_family = AF_INET, + .sin_addr.s_addr = htonl(plen ? ~((1 << (32 - plen)) - 1) : 0), + }; + struct in_aliasreq req = { + .ifra_addr = *((struct sockaddr_in *)attrs->ifa_addr), + .ifra_mask = mask, + .ifra_vhid = attrs->ifaf_vhid, + }; + if (attrs->ifa_dst != NULL) + req.ifra_dstaddr = *((struct sockaddr_in *)attrs->ifa_dst); + + return (in_control(NULL, SIOCAIFADDR, &req, ifp, curthread)); +} + +static int +handle_deladdr_inet(struct nlmsghdr *hdr, struct nl_parsed_ifa *attrs, + struct ifnet *ifp, struct nlpcb *nlp, struct nl_pstate *npt) +{ + if (attrs->ifa_addr == NULL) { + nlmsg_report_err_msg(npt, "empty IFA_ADDRESS/IFA_LOCAL"); + return (EINVAL); + } + + struct in_aliasreq req = { + .ifra_addr = *((struct sockaddr_in *)attrs->ifa_addr), + }; + + return (in_control(NULL, SIOCDIFADDR, &req, ifp, curthread)); +} +#endif + +#ifdef INET6 +static int +handle_newaddr_inet6(struct nlmsghdr *hdr, struct nl_parsed_ifa *attrs, + struct ifnet *ifp, struct nlpcb *nlp, struct nl_pstate *npt) +{ + if (attrs->ifa_prefixlen > 128) { + nlmsg_report_err_msg(npt, "invalid ifa_prefixlen"); + return (EINVAL); + } + + if (attrs->ifa_addr == NULL) { + nlmsg_report_err_msg(npt, "Empty IFA_LOCAL/IFA_ADDRESS"); + return (EINVAL); + } + + /* TODO: Clarify addition of prefixes on p2p interfaces w/o ifa_dst */ + + uint32_t flags = nl_flags_to_in6(attrs->ifa_flags) | attrs->ifaf_flags; + + uint32_t pltime = 0, vltime = 0; + if (attrs->ifa_cacheinfo != 0) { + pltime = attrs->ifa_cacheinfo->ifa_prefered; + vltime = attrs->ifa_cacheinfo->ifa_valid; + } + + struct sockaddr_in6 mask = { + .sin6_len = sizeof(struct sockaddr_in6), + .sin6_family = AF_INET6, + }; + ip6_writemask(&mask.sin6_addr, attrs->ifa_prefixlen); + + struct in6_aliasreq req = { + .ifra_addr = *((struct sockaddr_in6 *)attrs->ifa_addr), + .ifra_prefixmask = mask, + .ifra_flags = flags, + .ifra_lifetime = { .ia6t_vltime = vltime, .ia6t_pltime = pltime }, + .ifra_vhid = attrs->ifaf_vhid, + }; + if (attrs->ifa_dst != NULL) + req.ifra_dstaddr = *((struct sockaddr_in6 *)attrs->ifa_dst); + + return (in6_control(NULL, SIOCAIFADDR_IN6, &req, ifp, curthread)); +} + +static int +handle_deladdr_inet6(struct nlmsghdr *hdr, struct nl_parsed_ifa *attrs, + struct ifnet *ifp, struct nlpcb *nlp, struct nl_pstate *npt) +{ + if (attrs->ifa_addr == NULL) { + nlmsg_report_err_msg(npt, "Empty IFA_LOCAL/IFA_ADDRESS"); + return (EINVAL); + } + + struct in6_aliasreq req = { + .ifra_addr = *((struct sockaddr_in6 *)attrs->ifa_addr), + }; + + return (in6_control(NULL, SIOCDIFADDR_IN6, &req, ifp, curthread)); +} +#endif + + +static int +rtnl_handle_addr(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) +{ + struct epoch_tracker et; + int error; + + struct nl_parsed_ifa attrs = {}; + error = nl_parse_nlmsg(hdr, &ifa_parser, npt, &attrs); + if (error != 0) + return (error); + + NET_EPOCH_ENTER(et); + struct ifnet *ifp = ifnet_byindex_ref(attrs.ifa_index); + NET_EPOCH_EXIT(et); + + if (ifp == NULL) { + nlmsg_report_err_msg(npt, "Unable to find interface with index %u", + attrs.ifa_index); + return (ENOENT); + } + + bool new = hdr->nlmsg_type == NL_RTM_NEWADDR; + + /* + * TODO: Properly handle NLM_F_CREATE / NLM_F_EXCL. + * The current ioctl-based KPI always does an implicit create-or-replace. + * It is not possible to specify fine-grained options. + */ + + switch (attrs.ifa_family) { +#ifdef INET + case AF_INET: + if (new) + error = handle_newaddr_inet(hdr, &attrs, ifp, nlp, npt); + else + error = handle_deladdr_inet(hdr, &attrs, ifp, nlp, npt); + break; +#endif +#ifdef INET6 + case AF_INET6: + if (new) + error = handle_newaddr_inet6(hdr, &attrs, ifp, nlp, npt); + else + error = handle_deladdr_inet6(hdr, &attrs, ifp, nlp, npt); + break; +#endif + default: + error = EAFNOSUPPORT; + } + + if_rele(ifp); + + return (error); +} + + static void rtnl_handle_ifaddr(void *arg __unused, struct ifaddr *ifa, int cmd) { @@ -1084,16 +1386,22 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { { .cmd = NL_RTM_NEWADDR, .name = "RTM_NEWADDR", - .cb = &rtnl_handle_getaddr, + .cb = &rtnl_handle_addr, + .priv = PRIV_NET_ADDIFADDR, + .flags = RTNL_F_NOEPOCH, }, { .cmd = NL_RTM_DELADDR, .name = "RTM_DELADDR", - .cb = &rtnl_handle_getaddr, + .cb = &rtnl_handle_addr, + .priv = PRIV_NET_DELIFADDR, + .flags = RTNL_F_NOEPOCH, }, }; -static const struct nlhdr_parser *all_parsers[] = { &ifmsg_parser, &ifaddrmsg_parser }; +static const struct nlhdr_parser *all_parsers[] = { + &ifmsg_parser, &ifa_parser, &ifa_fbsd_parser, +}; void rtnl_iface_add_cloner(struct nl_cloner *cloner) diff --git a/sys/netlink/route/ifaddrs.h b/sys/netlink/route/ifaddrs.h index 29973d9768e5..88d776c3b925 100644 --- a/sys/netlink/route/ifaddrs.h +++ b/sys/netlink/route/ifaddrs.h @@ -55,9 +55,9 @@ enum { IFA_LABEL = 3, /* string, interface name */ IFA_BROADCAST = 4, /* binary, broadcast ifa */ IFA_ANYCAST = 5, /* not supported */ - IFA_CACHEINFO = 6, /* not supported */ + IFA_CACHEINFO = 6, /* binary, struct ifa_cacheinfo */ IFA_MULTICAST = 7, /* not supported */ - IFA_FLAGS = 8, /* not supported */ + IFA_FLAGS = 8, /* u32, IFA_F flags */ IFA_RT_PRIORITY = 9, /* not supported */ IFA_TARGET_NETNSID = 10, /* not supported */ IFA_FREEBSD = 11, /* nested, FreeBSD-specific */ diff --git a/tests/atf_python/sys/netlink/netlink_route.py b/tests/atf_python/sys/netlink/netlink_route.py index cd3ffbe31a00..2cfeb57da13f 100644 --- a/tests/atf_python/sys/netlink/netlink_route.py +++ b/tests/atf_python/sys/netlink/netlink_route.py @@ -291,61 +291,76 @@ class IfinfoMsg(Structure): class IflattrType(Enum): IFLA_UNSPEC = 0 - IFLA_ADDRESS = auto() - IFLA_BROADCAST = auto() - IFLA_IFNAME = auto() - IFLA_MTU = auto() - IFLA_LINK = auto() - IFLA_QDISC = auto() - IFLA_STATS = auto() - IFLA_COST = auto() - IFLA_PRIORITY = auto() - IFLA_MASTER = auto() - IFLA_WIRELESS = auto() - IFLA_PROTINFO = auto() - IFLA_TXQLEN = auto() - IFLA_MAP = auto() - IFLA_WEIGHT = auto() - IFLA_OPERSTATE = auto() - IFLA_LINKMODE = auto() - IFLA_LINKINFO = auto() - IFLA_NET_NS_PID = auto() - IFLA_IFALIAS = auto() - IFLA_NUM_VF = auto() - IFLA_VFINFO_LIST = auto() - IFLA_STATS64 = auto() - IFLA_VF_PORTS = auto() - IFLA_PORT_SELF = auto() - IFLA_AF_SPEC = auto() - IFLA_GROUP = auto() - IFLA_NET_NS_FD = auto() - IFLA_EXT_MASK = auto() - IFLA_PROMISCUITY = auto() - IFLA_NUM_TX_QUEUES = auto() - IFLA_NUM_RX_QUEUES = auto() - IFLA_CARRIER = auto() - IFLA_PHYS_PORT_ID = auto() - IFLA_CARRIER_CHANGES = auto() - IFLA_PHYS_SWITCH_ID = auto() - IFLA_LINK_NETNSID = auto() - IFLA_PHYS_PORT_NAME = auto() - IFLA_PROTO_DOWN = auto() - IFLA_GSO_MAX_SEGS = auto() - IFLA_GSO_MAX_SIZE = auto() - IFLA_PAD = auto() - IFLA_XDP = auto() - IFLA_EVENT = auto() - IFLA_NEW_NETNSID = auto() - IFLA_IF_NETNSID = auto() - IFLA_CARRIER_UP_COUNT = auto() - IFLA_CARRIER_DOWN_COUNT = auto() - IFLA_NEW_IFINDEX = auto() - IFLA_MIN_MTU = auto() - IFLA_MAX_MTU = auto() - IFLA_PROP_LIST = auto() - IFLA_ALT_IFNAME = auto() - IFLA_PERM_ADDRESS = auto() - IFLA_PROTO_DOWN_REASON = auto() + IFLA_ADDRESS = 1 + IFLA_BROADCAST = 2 + IFLA_IFNAME = 3 + IFLA_MTU = 4 + IFLA_LINK = 5 + IFLA_QDISC = 6 + IFLA_STATS = 7 + IFLA_COST = 8 + IFLA_PRIORITY = 9 + IFLA_MASTER = 10 + IFLA_WIRELESS = 11 + IFLA_PROTINFO = 12 + IFLA_TXQLEN = 13 + IFLA_MAP = 14 + IFLA_WEIGHT = 15 + IFLA_OPERSTATE = 16 + IFLA_LINKMODE = 17 + IFLA_LINKINFO = 18 + IFLA_NET_NS_PID = 19 + IFLA_IFALIAS = 20 + IFLA_NUM_VF = 21 + IFLA_VFINFO_LIST = 22 + IFLA_STATS64 = 23 + IFLA_VF_PORTS = 24 + IFLA_PORT_SELF = 25 + IFLA_AF_SPEC = 26 + IFLA_GROUP = 27 + IFLA_NET_NS_FD = 28 + IFLA_EXT_MASK = 29 + IFLA_PROMISCUITY = 30 + IFLA_NUM_TX_QUEUES = 31 + IFLA_NUM_RX_QUEUES = 32 + IFLA_CARRIER = 33 + IFLA_PHYS_PORT_ID = 34 + IFLA_CARRIER_CHANGES = 35 + IFLA_PHYS_SWITCH_ID = 36 + IFLA_LINK_NETNSID = 37 + IFLA_PHYS_PORT_NAME = 38 + IFLA_PROTO_DOWN = 39 + IFLA_GSO_MAX_SEGS = 40 + IFLA_GSO_MAX_SIZE = 41 + IFLA_PAD = 42 + IFLA_XDP = 43 + IFLA_EVENT = 44 + IFLA_NEW_NETNSID = 45 + IFLA_IF_NETNSID = 46 + IFLA_CARRIER_UP_COUNT = 47 + IFLA_CARRIER_DOWN_COUNT = 48 + IFLA_NEW_IFINDEX = 49 + IFLA_MIN_MTU = 50 + IFLA_MAX_MTU = 51 + IFLA_PROP_LIST = 52 + IFLA_ALT_IFNAME = 53 + IFLA_PERM_ADDRESS = 54 + IFLA_PROTO_DOWN_REASON = 55 + IFLA_PARENT_DEV_NAME = 56 + IFLA_PARENT_DEV_BUS_NAME = 57 + IFLA_GRO_MAX_SIZE = 58 + IFLA_TSO_MAX_SEGS = 59 + IFLA_ALLMULTI = 60 + IFLA_DEVLINK_PORT = 61 + IFLA_GSO_IPV4_MAX_SIZE = 62 + IFLA_GRO_IPV4_MAX_SIZE = 63 + IFLA_FREEBSD = 64 + + +class IflafAttrType(Enum): + IFLAF_UNSPEC = 0 + IFLAF_ORIG_IFNAME = 1 + IFLAF_ORIG_HWADDR = 2 class IflinkInfo(Enum): @@ -378,16 +393,59 @@ class IfaddrMsg(Structure): class IfaAttrType(Enum): IFA_UNSPEC = 0 - IFA_ADDRESS = auto() - IFA_LOCAL = auto() - IFA_LABEL = auto() - IFA_BROADCAST = auto() - IFA_ANYCAST = auto() - IFA_CACHEINFO = auto() - IFA_MULTICAST = auto() - IFA_FLAGS = auto() - IFA_RT_PRIORITY = auto() - IFA_TARGET_NETNSID = auto() + IFA_ADDRESS = 1 + IFA_LOCAL = 2 + IFA_LABEL = 3 + IFA_BROADCAST = 4 + IFA_ANYCAST = 5 + IFA_CACHEINFO = 6 + IFA_MULTICAST = 7 + IFA_FLAGS = 8 + IFA_RT_PRIORITY = 9 + IFA_TARGET_NETNSID = 10 + IFA_FREEBSD = 11 + + +class IfafAttrType(Enum): + IFAF_UNSPEC = 0 + IFAF_VHID = 1 + IFAF_FLAGS = 2 + + +class IfaCacheInfo(Structure): + _fields_ = [ + ("ifa_prefered", c_uint), # seconds till the end of the prefix considered preferred + ("ifa_valid", c_uint), # seconds till the end of the prefix considered valid + ("cstamp", c_uint), # creation time in 1ms intervals from the boot time + ("tstamp", c_uint), # update time in 1ms intervals from the boot time + ] + + +class IfaFlags(Enum): + IFA_F_TEMPORARY = 0x01 + IFA_F_NODAD = 0x02 + IFA_F_OPTIMISTIC = 0x04 + IFA_F_DADFAILED = 0x08 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_DEPRECATED = 0x20 + IFA_F_TENTATIVE = 0x40 + IFA_F_PERMANENT = 0x80 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_STABLE_PRIVACY = 0x800 + + +class IfafFlags6(Enum): + IN6_IFF_ANYCAST = 0x01 + IN6_IFF_TENTATIVE = 0x02 + IN6_IFF_DUPLICATED = 0x04 + IN6_IFF_DETACHED = 0x08 + IN6_IFF_DEPRECATED = 0x10 + IN6_IFF_NODAD = 0x20 + IN6_IFF_AUTOCONF = 0x40 + IN6_IFF_TEMPORARY = 0x80 + IN6_IFF_PREFER_SOURCE = 0x100 class NdMsg(Structure): @@ -464,6 +522,25 @@ class NlAttrIfStats(NlAttr): return " stats={...}" +class NlAttrCacheInfo(NlAttr): + def __init__(self, nla_type, data): + super().__init__(nla_type, data) + self.ci = IfaCacheInfo.from_buffer_copy(data) + + @staticmethod + def _validate(data): + nla_len, nla_type = struct.unpack("@HH", data[:4]) + data_len = nla_len - 4 + if data_len != sizeof(IfaCacheInfo): + raise ValueError( + "Error validating attr {}: wrong size".format(nla_type) + ) # noqa: E501 + + def _print_attr_value(self): + return " ifa_prefered={} ifa_valid={} cstamp={} tstamp={}".format( + self.ci.ifa_prefered, self.ci.ifa_valid, self.ci.cstamp, self.ci.tstamp) + + class NlAttrVia(NlAttr): def __init__(self, nla_type, family, addr: str): super().__init__(nla_type, b"") @@ -565,6 +642,13 @@ rtnl_ifla_attrs = prepare_attrs_map( AttrDescr(IflinkInfo.IFLA_INFO_DATA, NlAttr), ], ), + AttrDescr( + IflattrType.IFLA_FREEBSD, + NlAttrNested, + [ + AttrDescr(IflafAttrType.IFLAF_ORIG_HWADDR, NlAttrMac), + ], + ), ] ) @@ -576,6 +660,15 @@ rtnl_ifa_attrs = prepare_attrs_map( AttrDescr(IfaAttrType.IFA_BROADCAST, NlAttrIp), AttrDescr(IfaAttrType.IFA_ANYCAST, NlAttrIp), AttrDescr(IfaAttrType.IFA_FLAGS, NlAttrU32), + AttrDescr(IfaAttrType.IFA_CACHEINFO, NlAttrCacheInfo), + AttrDescr( + IfaAttrType.IFA_FREEBSD, + NlAttrNested, + [ + AttrDescr(IfafAttrType.IFAF_VHID, NlAttrU32), + AttrDescr(IfafAttrType.IFAF_FLAGS, NlAttrU32), + ], + ), ] ) diff --git a/tests/sys/netlink/test_rtnl_ifaddr.py b/tests/sys/netlink/test_rtnl_ifaddr.py index 1e7d6ca62bd8..11c08b32674a 100644 --- a/tests/sys/netlink/test_rtnl_ifaddr.py +++ b/tests/sys/netlink/test_rtnl_ifaddr.py @@ -2,18 +2,34 @@ import ipaddress import socket import struct +import pytest from atf_python.sys.net.vnet import SingleVnetTestTemplate +from atf_python.sys.netlink.attrs import NlAttr +from atf_python.sys.netlink.attrs import NlAttrIp +from atf_python.sys.netlink.attrs import NlAttrNested +from atf_python.sys.netlink.attrs import NlAttrU32 from atf_python.sys.netlink.base_headers import NlmBaseFlags +from atf_python.sys.netlink.base_headers import NlmNewFlags from atf_python.sys.netlink.base_headers import Nlmsghdr +from atf_python.sys.netlink.message import NlMsgType from atf_python.sys.netlink.netlink import NetlinkTestTemplate +from atf_python.sys.netlink.netlink import Nlsock +from atf_python.sys.netlink.netlink_generic import CarpAttrType +from atf_python.sys.netlink.netlink_generic import CarpGenMessage +from atf_python.sys.netlink.netlink_generic import CarpMsgType from atf_python.sys.netlink.netlink_route import IfaAttrType +from atf_python.sys.netlink.netlink_route import IfaCacheInfo +from atf_python.sys.netlink.netlink_route import IfafAttrType +from atf_python.sys.netlink.netlink_route import IfafFlags6 +from atf_python.sys.netlink.netlink_route import IfaFlags from atf_python.sys.netlink.netlink_route import NetlinkIfaMessage from atf_python.sys.netlink.netlink_route import NlRtMsgType from atf_python.sys.netlink.netlink_route import RtScope +from atf_python.sys.netlink.utils import enum_or_int from atf_python.sys.netlink.utils import NlConst -class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): +class TestRtNlIfaddrList(NetlinkTestTemplate, SingleVnetTestTemplate): def setup_method(self, method): method_name = method.__name__ if "4" in method_name: @@ -26,9 +42,7 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): def test_46_nofilter(self): """Tests that listing outputs both IPv4/IPv6 and interfaces""" msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_GETADDR.value) - msg.nl_hdr.nlmsg_flags = ( - NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value - ) + msg.set_request() self.write_message(msg) ret = [] @@ -49,9 +63,7 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): epair_ifname = self.vnet.iface_alias_map["if1"].name msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_GETADDR.value) - msg.nl_hdr.nlmsg_flags = ( - NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value - ) + msg.set_request() msg.base_hdr.ifa_index = socket.if_nametoindex(epair_ifname) self.write_message(msg) @@ -70,11 +82,11 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): """Tests that family filtering works with the stripped header""" hdr = Nlmsghdr( - nlmsg_len=17, - nlmsg_type=NlRtMsgType.RTM_GETADDR.value, - nlmsg_flags=NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value, - nlmsg_seq=self.helper.get_seq() - ) + nlmsg_len=17, + nlmsg_type=NlRtMsgType.RTM_GETADDR.value, + nlmsg_flags=NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value, + nlmsg_seq=self.helper.get_seq(), + ) data = bytes(hdr) + struct.pack("@B", socket.AF_INET) self.nlsock.write_data(data) @@ -90,9 +102,7 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): epair_ifname = self.vnet.iface_alias_map["if1"].name msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_GETADDR.value) - msg.nl_hdr.nlmsg_flags = ( - NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value - ) + msg.set_request() msg.base_hdr.ifa_family = family msg.base_hdr.ifa_index = socket.if_nametoindex(epair_ifname) self.write_message(msg) @@ -159,3 +169,549 @@ class TestRtNlIfaddr(NetlinkTestTemplate, SingleVnetTestTemplate): epair_ifname = self.vnet.iface_alias_map["if1"].name assert msg.get_nla(IfaAttrType.IFA_LABEL).text == epair_ifname + + +class RtnlIfaOps(NetlinkTestTemplate, SingleVnetTestTemplate): + def setup_method(self, method): + super().setup_method(method) + self.setup_netlink(NlConst.NETLINK_ROUTE) + + def send_check_success(self, msg): + rx_msg = self.get_reply(msg) + assert rx_msg.is_type(NlMsgType.NLMSG_ERROR) + assert rx_msg.error_code == 0 + + @staticmethod + def get_family_from_ip(ip): + if ip.version == 4: + return socket.AF_INET + return socket.AF_INET6 + + def create_msg(self, ifa): + iface = self.vnet.iface_alias_map["if1"] + + msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_NEWADDR.value) + msg.set_request() + msg.nl_hdr.nlmsg_flags |= ( + NlmNewFlags.NLM_F_EXCL.value | NlmNewFlags.NLM_F_CREATE.value + ) + msg.base_hdr.ifa_family = self.get_family_from_ip(ifa.ip) + msg.base_hdr.ifa_index = iface.ifindex + msg.base_hdr.ifa_prefixlen = ifa.network.prefixlen + return msg + + def get_ifa_list(self, ifindex=0, family=0): + msg = NetlinkIfaMessage(self.helper, NlRtMsgType.RTM_GETADDR.value) + msg.set_request() + msg.base_hdr.ifa_family = family + msg.base_hdr.ifa_index = ifindex + self.write_message(msg) + return self.read_msg_list(msg.nl_hdr.nlmsg_seq, NlRtMsgType.RTM_NEWADDR) + + def find_msg_by_ifa(self, msg_list, ip): + for msg in msg_list: + if msg.get_nla(IfaAttrType.IFA_ADDRESS).addr == str(ip): + return msg + return None + + def setup_dummy_carp(self, ifindex: int, vhid: int): + self.require_module("carp") + + nlsock = Nlsock(NlConst.NETLINK_GENERIC, self.helper) + family_id = nlsock.get_genl_family_id("carp") + + msg = CarpGenMessage(self.helper, family_id, CarpMsgType.CARP_NL_CMD_SET) + msg.set_request() + msg.add_nla(NlAttrU32(CarpAttrType.CARP_NL_VHID, vhid)) + msg.add_nla(NlAttrU32(CarpAttrType.CARP_NL_IFINDEX, ifindex)) + rx_msg = nlsock.get_reply(msg) + + assert rx_msg.is_type(NlMsgType.NLMSG_ERROR) + assert rx_msg.error_code == 0 + + +class TestRtNlIfaddrOpsBroadcast(RtnlIfaOps): + def test_add_4(self): + """Tests IPv4 address addition to the standard broadcast interface""" + ifa = ipaddress.ip_interface("192.0.2.1/24") + ifa_brd = ifa.network.broadcast_address + iface = self.vnet.iface_alias_map["if1"] + + msg = self.create_msg(ifa) + msg.add_nla(NlAttrIp(IfaAttrType.IFA_LOCAL, str(ifa.ip))) + msg.add_nla(NlAttrIp(IfaAttrType.IFA_BROADCAST, str(ifa_brd))) + + self.send_check_success(msg) + + lst = self.get_ifa_list(iface.ifindex, self.get_family_from_ip(ifa.ip)) + assert len(lst) == 1 + rx_msg = lst[0] + + assert rx_msg.base_hdr.ifa_prefixlen == ifa.network.prefixlen + assert rx_msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value + + assert rx_msg.get_nla(IfaAttrType.IFA_ADDRESS).addr == str(ifa.ip) + assert rx_msg.get_nla(IfaAttrType.IFA_LOCAL).addr == str(ifa.ip) + assert rx_msg.get_nla(IfaAttrType.IFA_BROADCAST).addr == str(ifa_brd) + + def test_add_6(self): + ifa = ipaddress.ip_interface("2001:db8::1/64") + iface = self.vnet.iface_alias_map["if1"] + + msg = self.create_msg(ifa) + msg.add_nla(NlAttrIp(IfaAttrType.IFA_LOCAL, str(ifa.ip))) + + self.send_check_success(msg) + + lst = self.get_ifa_list(iface.ifindex, self.get_family_from_ip(ifa.ip)) + assert len(lst) == 2 + rx_msg_gu = self.find_msg_by_ifa(lst, ifa.ip) + assert rx_msg_gu is not None + + assert rx_msg_gu.base_hdr.ifa_prefixlen == ifa.network.prefixlen + assert rx_msg_gu.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value + assert rx_msg_gu.get_nla(IfaAttrType.IFA_ADDRESS).addr == str(ifa.ip) + + def test_add_4_carp(self): + ifa = ipaddress.ip_interface("192.0.2.1/24") + ifa_brd = ifa.network.broadcast_address + iface = self.vnet.iface_alias_map["if1"] + vhid = 77 + + self.setup_dummy_carp(iface.ifindex, vhid) + + msg = self.create_msg(ifa) + msg.add_nla(NlAttrIp(IfaAttrType.IFA_LOCAL, str(ifa.ip))) + msg.add_nla(NlAttrIp(IfaAttrType.IFA_BROADCAST, str(ifa_brd))) + attrs_bsd = [NlAttrU32(IfafAttrType.IFAF_VHID, vhid)] + msg.add_nla(NlAttrNested(IfaAttrType.IFA_FREEBSD, attrs_bsd)) + + self.send_check_success(msg) + + lst = self.get_ifa_list(iface.ifindex, self.get_family_from_ip(ifa.ip)) + assert len(lst) == 1 + rx_msg = lst[0] + + assert rx_msg.base_hdr.ifa_prefixlen == ifa.network.prefixlen + assert rx_msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value + + assert rx_msg.get_nla(IfaAttrType.IFA_ADDRESS).addr == str(ifa.ip) + assert rx_msg.get_nla(IfaAttrType.IFA_LOCAL).addr == str(ifa.ip) + assert rx_msg.get_nla(IfaAttrType.IFA_BROADCAST).addr == str(ifa_brd) + ifa_bsd = rx_msg.get_nla(IfaAttrType.IFA_FREEBSD) + assert ifa_bsd.get_nla(IfafAttrType.IFAF_VHID).u32 == vhid + + def test_add_6_carp(self): + ifa = ipaddress.ip_interface("2001:db8::1/64") + iface = self.vnet.iface_alias_map["if1"] + vhid = 77 + + self.setup_dummy_carp(iface.ifindex, vhid) + + msg = self.create_msg(ifa) + msg.add_nla(NlAttrIp(IfaAttrType.IFA_LOCAL, str(ifa.ip))) + attrs_bsd = [NlAttrU32(IfafAttrType.IFAF_VHID, vhid)] + msg.add_nla(NlAttrNested(IfaAttrType.IFA_FREEBSD, attrs_bsd)) + + self.send_check_success(msg) + + lst = self.get_ifa_list(iface.ifindex, self.get_family_from_ip(ifa.ip)) + assert len(lst) == 2 + rx_msg_gu = self.find_msg_by_ifa(lst, ifa.ip) + assert rx_msg_gu is not None + + assert rx_msg_gu.base_hdr.ifa_prefixlen == ifa.network.prefixlen + assert rx_msg_gu.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value + assert rx_msg_gu.get_nla(IfaAttrType.IFA_ADDRESS).addr == str(ifa.ip) + ifa_bsd = rx_msg_gu.get_nla(IfaAttrType.IFA_FREEBSD) *** 391 LINES SKIPPED *** From nobody Tue May 16 19:39:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLRQD68Rsz4BNxM; Tue, 16 May 2023 19:39: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 4QLRQD5PYZz4G31; Tue, 16 May 2023 19:39:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684265972; h=from:from:reply-to:subject:subject: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/q4VoZIsl6ge4uNw1zON+oR9KGidYDGfS61avic2xw=; b=egOSy0h8z1wZTsfTjXjb2BoUoRQeoZViEnUp0juTyCxkgYHRKRDAQDq23RVpqu3xGrW6x7 FDF2XVY3NH0R6Zwa4I8NyZF1yJ/ziwX2QzDW/17lu7VnEzzfUKcFnDYLvm7REKD34aDAh/ /CxMQCJYQF1tW6IGir4hW7DtffIVE0MGU7b7yIO9oX66GPsnOMLIQ3yN9jOlqwHkmtkFq0 lLr8H6P0FTBX5DftCnPW5u1gVZmnl2Ukk/FCjE+vNq3pza9ElWrNx8u2pCsMxivKvgZnMs yUzR4UvVM4xY97xzbck+tsp0mLbihGBWY85XrgawOtHbQXbAb4jYQqtAGwTnKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684265972; h=from:from:reply-to:subject:subject: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/q4VoZIsl6ge4uNw1zON+oR9KGidYDGfS61avic2xw=; b=p6CNqmNFEoLuIrIhUPJA5GxOhMMIgo41cxjwbXV1bG0jEloYnqnPisBsJaH2zEjiq0kUiH KI0gpqXCLfs1CirXs0P4f3irO9kVuvAIYVwYfSOaRfaIY85mF04VXcD1SdtS8sLC94p3iL 1DAYWukuAti/rYHbXNdDdVs51BGq0zEoj9K8jLmhrQ4M+u0IT1+QAxvITVFSmlatjL7M4i w1PYi0y3AIT8XpL6wEjCKMWobZxIRukVKjVRlruKEKjcUoLHm1AaZM1ggDVB6ZuiayrccU uJUglZXcqFnsPjPAB11w2k1rRbAeWnfCvLrq4CniCs5aEiA2DANKuc8GA46RSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684265972; a=rsa-sha256; cv=none; b=ghCafr2akqI6bFPYwgkUL/+QhZGCVW0FDYsPZttffJcUjjBHqr9NZiemvR7dKpLdqfK/9W GcEvCcuryCVihnBcHYywwjHPAwTeHhbpXU5BmuXfz3pEIaRvNjt+yj0FhuRBsZMOmFacRR ytWdSUba3uMNTzrCHUImahW43bDaeL7VwV6Rslsw6oXWPjVOfeCBeFbLxyyaR/SKJMoRAo hPqwO+RHxA5rhTaoyeiP8HoplCxX78toEgcGADyTymxcRmJ46Dm5D4A4Np1RHf2UctPV4J 2FhFEZTUciw95qvhOszQMROXdUgPj4iPDAONz6MkJEQ7pXz9/mdYoTx92RQGFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLRQD3nQjzZnf; Tue, 16 May 2023 19:39:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GJdW3p024052; Tue, 16 May 2023 19:39:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GJdWN9024051; Tue, 16 May 2023 19:39:32 GMT (envelope-from git) Date: Tue, 16 May 2023 19:39:32 GMT Message-Id: <202305161939.34GJdWN9024051@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 4c91a5dfe483 - main - ifconfig: make interface and address listing use Netlink as transport List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c91a5dfe48349c9238eeea6a5b9c11daca4e70d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=4c91a5dfe48349c9238eeea6a5b9c11daca4e70d commit 4c91a5dfe48349c9238eeea6a5b9c11daca4e70d Author: Alexander V. Chernikov AuthorDate: 2023-05-10 13:58:21 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-16 19:39:13 +0000 ifconfig: make interface and address listing use Netlink as transport Differential Revision: https://reviews.freebsd.org/D40044 --- sbin/ifconfig/Makefile | 6 + sbin/ifconfig/af_inet.c | 57 ++++++ sbin/ifconfig/af_inet6.c | 67 ++++++ sbin/ifconfig/af_link.c | 53 +++++ sbin/ifconfig/ifconfig.c | 42 ++-- sbin/ifconfig/ifconfig.h | 31 +++ sbin/ifconfig/ifconfig_netlink.c | 427 +++++++++++++++++++++++++++++++++++++++ sbin/ifconfig/ifconfig_netlink.h | 37 ++++ 8 files changed, 702 insertions(+), 18 deletions(-) diff --git a/sbin/ifconfig/Makefile b/sbin/ifconfig/Makefile index c48375b8c6d9..9b9df6ab9f78 100644 --- a/sbin/ifconfig/Makefile +++ b/sbin/ifconfig/Makefile @@ -71,6 +71,12 @@ LIBADD+= jail .endif LIBADD+= nv +.if ${MK_NETLINK_SUPPORT} != "no" +SRCS+= ifconfig_netlink.c +.else +CFLAGS+=-DWITHOUT_NETLINK +.endif + MAN= ifconfig.8 CFLAGS+= -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wnested-externs diff --git a/sbin/ifconfig/af_inet.c b/sbin/ifconfig/af_inet.c index 6ce11fa2d673..4569c9c362e9 100644 --- a/sbin/ifconfig/af_inet.c +++ b/sbin/ifconfig/af_inet.c @@ -53,6 +53,7 @@ static const char rcsid[] = #include #include "ifconfig.h" +#include "ifconfig_netlink.h" static struct in_aliasreq in_addreq; static struct ifreq in_ridreq; @@ -80,6 +81,7 @@ print_addr(struct sockaddr_in *sin) printf("\tinet %s", addr_buf); } +#ifdef WITHOUT_NETLINK static void in_status(int s __unused, const struct ifaddrs *ifa) { @@ -129,6 +131,57 @@ in_status(int s __unused, const struct ifaddrs *ifa) putchar('\n'); } +#else +static struct in_addr +get_mask(int plen) +{ + struct in_addr a; + + a.s_addr = htonl(plen ? ~((1 << (32 - plen)) - 1) : 0); + + return (a); +} + +static struct sockaddr_in * +satosin(struct sockaddr *sa) +{ + return ((struct sockaddr_in *)(void *)sa); +} + +static void +in_status_nl(struct ifconfig_args *args __unused, struct io_handler *h, + if_link_t *link, if_addr_t *ifa) +{ + struct sockaddr_in *sin = satosin(ifa->ifa_local); + int plen = ifa->ifa_prefixlen; + + print_addr(sin); + + if (link->ifi_flags & IFF_POINTOPOINT) { + struct sockaddr_in *dst = satosin(ifa->ifa_address); + + printf(" --> %s", inet_ntoa(dst->sin_addr)); + } + if (f_inet != NULL && strcmp(f_inet, "cidr") == 0) { + printf("/%d", plen); + } else if (f_inet != NULL && strcmp(f_inet, "dotted") == 0) + printf(" netmask %s", inet_ntoa(get_mask(plen))); + else + printf(" netmask 0x%lx", (unsigned long)ntohl(get_mask(plen).s_addr)); + + if ((link->ifi_flags & IFF_BROADCAST) && plen != 0) { + struct sockaddr_in *brd = satosin(ifa->ifa_broadcast); + if (brd != NULL) + printf(" broadcast %s", inet_ntoa(brd->sin_addr)); + } + + if (ifa->ifaf_vhid != 0) + printf(" vhid %d", ifa->ifaf_vhid); + + putchar('\n'); +} +#endif + #define SIN(x) ((struct sockaddr_in *) &(x)) static struct sockaddr_in *sintab[] = { SIN(in_ridreq.ifr_addr), SIN(in_addreq.ifra_addr), @@ -235,7 +288,11 @@ in_set_tunnel(int s, struct addrinfo *srcres, struct addrinfo *dstres) static struct afswtch af_inet = { .af_name = "inet", .af_af = AF_INET, +#ifdef WITHOUT_NETLINK .af_status = in_status, +#else + .af_status_nl = in_status_nl, +#endif .af_getaddr = in_getaddr, .af_postproc = in_postproc, .af_status_tunnel = in_status_tunnel, diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index 49049ba2c376..0f4e0e75e44a 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -57,6 +57,7 @@ static const char rcsid[] = #include /* Define ND6_INFINITE_LIFETIME */ #include "ifconfig.h" +#include "ifconfig_netlink.h" static struct in6_ifreq in6_ridreq; static struct in6_aliasreq in6_addreq = @@ -242,6 +243,7 @@ print_lifetime(const char *prepend, time_t px_time, struct timespec *now) printf(" %s", px_time < now->tv_sec ? "0" : sec2str(px_time - now->tv_sec)); } +#ifdef WITHOUT_NETLINK static void in6_status(int s __unused, const struct ifaddrs *ifa) { @@ -313,6 +315,67 @@ in6_status(int s __unused, const struct ifaddrs *ifa) putchar('\n'); } +#else +static void +show_lifetime(struct ifa_cacheinfo *ci) +{ + struct timespec now; + uint32_t pl, vl; + + if (ci == NULL) + return; + + int count = ci->ifa_prefered != ND6_INFINITE_LIFETIME; + count += ci->ifa_valid != ND6_INFINITE_LIFETIME; + if (count == 0) + return; + + pl = (ci->ifa_prefered == ND6_INFINITE_LIFETIME) ? 0 : ci->ifa_prefered; + vl = (ci->ifa_valid == ND6_INFINITE_LIFETIME) ? 0 : ci->ifa_valid; + + clock_gettime(CLOCK_MONOTONIC_FAST, &now); + print_lifetime("pltime", pl + now.tv_sec, &now); + print_lifetime("vltime", vl + now.tv_sec, &now); +} + +static struct sockaddr_in6 * +satosin6(struct sockaddr *sa) +{ + return ((struct sockaddr_in6 *)(void *)sa); +} + +static void +in6_status_nl(struct ifconfig_args *args __unused, struct io_handler *h, + if_link_t *link, if_addr_t *ifa) +{ + int plen = ifa->ifa_prefixlen; + uint32_t scopeid; + + if (ifa->ifa_local == NULL) { + /* Non-P2P address */ + scopeid = satosin6(ifa->ifa_address)->sin6_scope_id; + print_addr(satosin6(ifa->ifa_address)); + } else { + scopeid = satosin6(ifa->ifa_local)->sin6_scope_id; + print_addr(satosin6(ifa->ifa_local)); + print_p2p(satosin6(ifa->ifa_address)); + } + + print_mask(plen); + print_flags(ifa->ifaf_flags); + + if (scopeid != 0) + printf(" scopeid 0x%x", scopeid); + + show_lifetime(ifa->ifa_cacheinfo); + + if (ifa->ifaf_vhid != 0) + printf(" vhid %d", ifa->ifaf_vhid); + + putchar('\n'); +} +#endif + #define SIN6(x) ((struct sockaddr_in6 *) &(x)) static struct sockaddr_in6 *sin6tab[] = { SIN6(in6_ridreq.ifr_addr), SIN6(in6_addreq.ifra_addr), @@ -531,7 +594,11 @@ static struct cmd inet6_cmds[] = { static struct afswtch af_inet6 = { .af_name = "inet6", .af_af = AF_INET6, +#ifdef WITHOUT_NETLINK .af_status = in6_status, +#else + .af_status_nl = in6_status_nl, +#endif .af_getaddr = in6_getaddr, .af_getprefix = in6_getprefix, .af_other_status = nd6_status, diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c index f651ddc51cb4..52295453b4f0 100644 --- a/sbin/ifconfig/af_link.c +++ b/sbin/ifconfig/af_link.c @@ -51,6 +51,7 @@ static const char rcsid[] = #include #include "ifconfig.h" +#include "ifconfig_netlink.h" static struct ifreq link_ridreq; @@ -90,6 +91,7 @@ print_pcp(int s) printf("\tpcp %d\n", ifr.ifr_lan_pcp); } +#ifdef WITHOUT_NETLINK static void link_status(int s __unused, const struct ifaddrs *ifa) { @@ -143,6 +145,45 @@ pcp: print_pcp(s); } +#else +static uint8_t +convert_iftype(uint8_t iftype) +{ + switch (iftype) { + case IFT_IEEE8023ADLAG: + return (IFT_ETHER); + case IFT_INFINIBANDLAG: + return (IFT_INFINIBAND); + } + return (iftype); +} + +static void +link_status_nl(struct ifconfig_args *args __unused, struct io_handler *h, + if_link_t *link, if_addr_t *ifa __unused) +{ + if (link->ifla_address != NULL) { + struct sockaddr_dl sdl = { + .sdl_len = sizeof(struct sockaddr_dl), + .sdl_family = AF_LINK, + .sdl_type = convert_iftype(link->ifi_type), + .sdl_alen = NLA_DATA_LEN(link->ifla_address), + }; + memcpy(LLADDR(&sdl), NLA_DATA(link->ifla_address), sdl.sdl_alen); + print_lladdr(&sdl); + + if (link->iflaf_orig_hwaddr != NULL) { + struct nlattr *hwaddr = link->iflaf_orig_hwaddr; + + if (memcmp(NLA_DATA(hwaddr), NLA_DATA(link->ifla_address), sdl.sdl_alen)) + print_ether((struct ether_addr *)NLA_DATA(hwaddr), "hwaddr"); + } + } + if (convert_iftype(link->ifi_type) == IFT_ETHER) + print_pcp(h->s); +} +#endif + static void link_getaddr(const char *addr, int which) { @@ -180,7 +221,11 @@ link_getaddr(const char *addr, int which) static struct afswtch af_link = { .af_name = "link", .af_af = AF_LINK, +#ifdef WITHOUT_NETLINK .af_status = link_status, +#else + .af_status_nl = link_status_nl, +#endif .af_getaddr = link_getaddr, .af_aifaddr = SIOCSIFLLADDR, .af_addreq = &link_ridreq, @@ -188,7 +233,11 @@ static struct afswtch af_link = { static struct afswtch af_ether = { .af_name = "ether", .af_af = AF_LINK, +#ifdef WITHOUT_NETLINK .af_status = link_status, +#else + .af_status_nl = link_status_nl, +#endif .af_getaddr = link_getaddr, .af_aifaddr = SIOCSIFLLADDR, .af_addreq = &link_ridreq, @@ -196,7 +245,11 @@ static struct afswtch af_ether = { static struct afswtch af_lladdr = { .af_name = "lladdr", .af_af = AF_LINK, +#ifdef WITHOUT_NETLINK .af_status = link_status, +#else + .af_status_nl = link_status_nl, +#endif .af_getaddr = link_getaddr, .af_aifaddr = SIOCSIFLLADDR, .af_addreq = &link_ridreq, diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 15a40f1c5601..7872c2b336a5 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -108,20 +108,14 @@ int exit_code = 0; /* Formatter Strings */ char *f_inet, *f_inet6, *f_ether, *f_addr; -static bool group_member(const char *ifname, const char *match, - const char *nomatch); -static int ifconfig(int argc, char *const *argv, int iscreate, - const struct afswtch *afp); +static void list_interfaces_ioctl(struct ifconfig_args *args); static void status(struct ifconfig_args *args, const struct sockaddr_dl *sdl, struct ifaddrs *ifa); -static void tunnel_status(int s); static _Noreturn void usage(void); static int getifflags(const char *ifname, int us, bool err_ok); static struct afswtch *af_getbyname(const char *name); -static struct afswtch *af_getbyfamily(int af); -static void af_other_status(int); void printifnamemaybe(void); @@ -403,7 +397,15 @@ void printifnamemaybe() printf("%s\n", name); } -static void list_interfaces(struct ifconfig_args *args); +static void +list_interfaces(struct ifconfig_args *args) +{ +#ifdef WITHOUT_NETLINK + list_interfaces_ioctl(args); +#else + list_interfaces_nl(args); +#endif +} int main(int argc, char *argv[]) @@ -651,7 +653,7 @@ match_afp(const struct afswtch *afp, int sa_family, const struct sockaddr_dl *sd return (afp->af_af == sa_family); } -static bool +bool match_if_flags(struct ifconfig_args *args, int if_flags) { if ((if_flags & IFF_CANTCONFIG) != 0) @@ -663,8 +665,9 @@ match_if_flags(struct ifconfig_args *args, int if_flags) return (true); } +#ifdef WITHOUT_NETLINK static void -list_interfaces(struct ifconfig_args *args) +list_interfaces_ioctl(struct ifconfig_args *args) { struct ifa_queue q = TAILQ_HEAD_INITIALIZER(q); struct ifaddrs *ifap, *sifap, *ifa; @@ -743,13 +746,14 @@ list_interfaces(struct ifconfig_args *args) printf("\n"); freeifaddrs(ifap); } +#endif /* * Returns true if an interface should be listed because any its groups * matches shell pattern "match" and none of groups matches pattern "nomatch". * If any pattern is NULL, corresponding condition is skipped. */ -static bool +bool group_member(const char *ifname, const char *match, const char *nomatch) { static int sock = -1; @@ -832,7 +836,7 @@ af_getbyname(const char *name) return NULL; } -static struct afswtch * +struct afswtch * af_getbyfamily(int af) { struct afswtch *afp; @@ -843,7 +847,7 @@ af_getbyfamily(int af) return NULL; } -static void +void af_other_status(int s) { struct afswtch *afp; @@ -933,7 +937,7 @@ static void setifdstaddr(const char *, int, int, const struct afswtch *); static const struct cmd setifdstaddr_cmd = DEF_CMD("ifdstaddr", 0, setifdstaddr); -static int +int ifconfig(int argc, char *const *argv, int iscreate, const struct afswtch *uafp) { const struct afswtch *afp, *nafp; @@ -1514,7 +1518,7 @@ print_ifcap_nv(struct ifconfig_args *args, int s) Perror("ioctl (SIOCGIFCAP)"); } -static void +void print_ifcap(struct ifconfig_args *args, int s) { if (ioctl(s, SIOCGIFCAP, (caddr_t)&ifr) != 0) @@ -1533,7 +1537,7 @@ print_ifcap(struct ifconfig_args *args, int s) } } -static void +void print_ifstatus(int s) { struct ifstat ifs; @@ -1543,13 +1547,14 @@ print_ifstatus(int s) printf("%s", ifs.ascii); } -static void +void print_metric(int s) { if (ioctl(s, SIOCGIFMETRIC, &ifr) != -1) printf(" metric %d", ifr.ifr_metric); } +#ifdef WITHOUT_NETLINK static void print_mtu(int s) { @@ -1658,8 +1663,9 @@ status(struct ifconfig_args *args, const struct sockaddr_dl *sdl, close(s); return; } +#endif -static void +void tunnel_status(int s) { af_all_tunnel_status(s); diff --git a/sbin/ifconfig/ifconfig.h b/sbin/ifconfig/ifconfig.h index e65c26a031e6..70a2c92199b6 100644 --- a/sbin/ifconfig/ifconfig.h +++ b/sbin/ifconfig/ifconfig.h @@ -150,6 +150,20 @@ enum { DSTADDR, }; +struct snl_state; +struct snl_parsed_addr; +struct snl_parsed_link; +typedef struct snl_parsed_link if_link_t; +typedef struct snl_parsed_addr if_addr_t; +struct ifconfig_args; +struct io_handler { + int s; /* socket to use for ioctls */ + struct snl_state *ss; /* NETLINK_ROUTE snl(3) socket */ +}; + +typedef void af_status_nl_f(struct ifconfig_args *args, struct io_handler *h, + if_link_t *link, if_addr_t *ifa); + struct afswtch { const char *af_name; /* as given on cmd line, e.g. "inet" */ short af_af; /* AF_* */ @@ -162,7 +176,11 @@ struct afswtch { * is defined then it is invoked after all address status * is presented. */ +#ifndef WITHOUT_NETLINK + af_status_nl_f *af_status_nl; +#else void (*af_status)(int, const struct ifaddrs *); +#endif void (*af_other_status)(int); /* parse address method */ void (*af_getaddr)(const char *, int); @@ -238,6 +256,19 @@ void sfp_status(int s, struct ifreq *ifr, int verbose); struct sockaddr_dl; bool match_ether(const struct sockaddr_dl *sdl); +bool match_if_flags(struct ifconfig_args *args, int if_flags); +int ifconfig(int argc, char *const *argv, int iscreate, const struct afswtch *uafp); +bool group_member(const char *ifname, const char *match, const char *nomatch); +void print_ifcap(struct ifconfig_args *args, int s); +void tunnel_status(int s); +struct afswtch *af_getbyfamily(int af); +void af_other_status(int s); +void print_ifstatus(int s); +void print_metric(int s); + +/* Netlink-related functions */ +void list_interfaces_nl(struct ifconfig_args *args); + /* * XXX expose this so modules that neeed to know of any pending * operations on ifmedia can avoid cmd line ordering confusion. diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c new file mode 100644 index 000000000000..26a42b5866c5 --- /dev/null +++ b/sbin/ifconfig/ifconfig_netlink.c @@ -0,0 +1,427 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Alexander V. Chernikov + * + * 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 +#include +#include + +#include +#include + +#include +#include +#include +#include +#include "ifconfig.h" +#include "ifconfig_netlink.h" + +static const char *IFFBITS[] = { + "UP", /* 00:0x1 IFF_UP*/ + "BROADCAST", /* 01:0x2 IFF_BROADCAST*/ + "DEBUG", /* 02:0x4 IFF_DEBUG*/ + "LOOPBACK", /* 03:0x8 IFF_LOOPBACK*/ + "POINTOPOINT", /* 04:0x10 IFF_POINTOPOINT*/ + "NEEDSEPOCH", /* 05:0x20 IFF_NEEDSEPOCH*/ + "RUNNING", /* 06:0x40 IFF_DRV_RUNNING*/ + "NOARP", /* 07:0x80 IFF_NOARP*/ + "PROMISC", /* 08:0x100 IFF_PROMISC*/ + "ALLMULTI", /* 09:0x200 IFF_ALLMULTI*/ + "DRV_OACTIVE", /* 10:0x400 IFF_DRV_OACTIVE*/ + "SIMPLEX", /* 11:0x800 IFF_SIMPLEX*/ + "LINK0", /* 12:0x1000 IFF_LINK0*/ + "LINK1", /* 13:0x2000 IFF_LINK1*/ + "LINK2", /* 14:0x4000 IFF_LINK2*/ + "MULTICAST", /* 15:0x8000 IFF_MULTICAST*/ + "CANTCONFIG", /* 16:0x10000 IFF_CANTCONFIG*/ + "PPROMISC", /* 17:0x20000 IFF_PPROMISC*/ + "MONITOR", /* 18:0x40000 IFF_MONITOR*/ + "STATICARP", /* 19:0x80000 IFF_STATICARP*/ + "STICKYARP", /* 20:0x100000 IFF_STICKYARP*/ + "DYING", /* 21:0x200000 IFF_DYING*/ + "RENAMING", /* 22:0x400000 IFF_RENAMING*/ + "NOGROUP", /* 23:0x800000 IFF_NOGROUP*/ + "LOWER_UP", /* 24:0x1000000 IFF_NETLINK_1*/ +}; + +static void +print_bits(const char *btype, uint32_t *v, const int v_count, + const char **names, const int n_count) +{ + int num = 0; + + for (int i = 0; i < v_count * 32; i++) { + bool is_set = v[i / 32] & (1 << (i % 32)); + if (i == 31) + v++; + if (is_set) { + if (num++ == 0) + printf("<"); + if (num != 1) + printf(","); + if (i < n_count) + printf("%s", names[i]); + else + printf("%s_%d", btype, i); + } + } + if (num > 0) + printf(">"); +} + +static void +nl_init_socket(struct snl_state *ss) +{ + if (snl_init(ss, NETLINK_ROUTE)) + return; + + if (modfind("netlink") == -1 && errno == ENOENT) { + /* Try to load */ + if (kldload("netlink") == -1) + err(1, "netlink is not loaded and load attempt failed"); + if (snl_init(ss, NETLINK_ROUTE)) + return; + } + + err(1, "unable to open netlink socket"); +} + +struct ifa { + struct ifa *next; + uint32_t count; + uint32_t idx; + struct snl_parsed_addr addr; +}; + +struct iface { + struct snl_parsed_link link; + struct ifa *ifa; + uint32_t ifa_count; + uint32_t idx; +}; + +struct ifmap { + uint32_t size; + uint32_t count; + struct iface **ifaces; +}; + +/* + * Returns ifmap ifindex->snl_parsed_link. + * Memory is allocated using snl temporary buffers + */ +static struct ifmap * +prepare_ifmap(struct snl_state *ss) +{ + struct snl_writer nw = {}; + + snl_init_writer(ss, &nw); + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETLINK); + hdr->nlmsg_flags |= NLM_F_DUMP; + snl_reserve_msg_object(&nw, struct ifinfomsg); + + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return (NULL); + + uint32_t nlmsg_seq = hdr->nlmsg_seq; + struct ifmap *ifmap = snl_allocz(ss, sizeof(*ifmap)); + struct snl_errmsg_data e = {}; + + while ((hdr = snl_read_reply_multi(ss, nlmsg_seq, &e)) != NULL) { + struct iface *iface = snl_allocz(ss, sizeof(*iface)); + + if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_link_parser, &iface->link)) + continue; + if (iface->link.ifi_index >= ifmap->size) { + size_t new_size = MAX(ifmap->size, 32); + + while (new_size <= iface->link.ifi_index + 1) + new_size *= 2; + + struct iface **ifaces= snl_allocz(ss, new_size * sizeof(void *)); + memcpy(ifaces, ifmap->ifaces, ifmap->size * sizeof(void *)); + ifmap->ifaces = ifaces; + ifmap->size = new_size; + } + ifmap->ifaces[iface->link.ifi_index] = iface; + ifmap->count++; + iface->idx = ifmap->count; + } + return (ifmap); +} + +static void +prepare_ifaddrs(struct snl_state *ss, struct ifmap *ifmap) +{ + struct snl_writer nw = {}; + + snl_init_writer(ss, &nw); + struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_GETADDR); + hdr->nlmsg_flags |= NLM_F_DUMP; + snl_reserve_msg_object(&nw, struct ifaddrmsg); + + if (!snl_finalize_msg(&nw) || !snl_send_message(ss, hdr)) + return; + + uint32_t nlmsg_seq = hdr->nlmsg_seq; + struct snl_errmsg_data e = {}; + uint32_t count = 0; + + while ((hdr = snl_read_reply_multi(ss, nlmsg_seq, &e)) != NULL) { + struct ifa *ifa = snl_allocz(ss, sizeof(*ifa)); + + if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_addr_parser, &ifa->addr)) + continue; + + const uint32_t ifindex = ifa->addr.ifa_index; + if (ifindex >= ifmap->size || ifmap->ifaces[ifindex] == NULL) + continue; + struct iface *iface = ifmap->ifaces[ifindex]; + ifa->next = iface->ifa; + ifa->count = ++count; + iface->ifa = ifa; + iface->ifa_count++; + } +} + +static bool +match_iface(struct ifconfig_args *args, struct iface *iface) +{ + if_link_t *link = &iface->link; + + if (args->ifname != NULL && strcmp(args->ifname, link->ifla_ifname)) + return (false); + + if (!match_if_flags(args, link->ifi_flags)) + return (false); + + if (!group_member(link->ifla_ifname, args->matchgroup, args->nogroup)) + return (false); + + if (args->afp == NULL) + return (true); + + if (!strcmp(args->afp->af_name, "ether")) { + if (link->ifla_address == NULL) + return (false); + + struct sockaddr_dl sdl = { + .sdl_len = sizeof(struct sockaddr_dl), + .sdl_family = AF_LINK, + .sdl_type = link->ifi_type, + .sdl_alen = NLA_DATA_LEN(link->ifla_address), + }; + return (match_ether(&sdl)); + } + + for (struct ifa *ifa = iface->ifa; ifa != NULL; ifa = ifa->next) { + if (args->afp->af_af == ifa->addr.ifa_family) + return (true); + } + + return (false); +} + +/* Sort according to the kernel-provided order */ +static int +cmp_iface(const void *_a, const void *_b) +{ + const struct iface *a = *((const void * const *)_a); + const struct iface *b = *((const void * const *)_b); + + return ((a->idx > b->idx) * 2 - 1); +} + +static int +cmp_ifaddr(const void *_a, const void *_b) +{ + const struct ifa *a = *((const void * const *)_a); + const struct ifa *b = *((const void * const *)_b); + + if (a->addr.ifa_family != b->addr.ifa_family) + return ((a->addr.ifa_family > b->addr.ifa_family) * 2 - 1); + return ((a->idx > b->idx) * 2 - 1); +} + +static void +sort_iface_ifaddrs(struct snl_state *ss, struct iface *iface) +{ + if (iface->ifa_count == 0) + return; + + struct ifa **sorted_ifaddrs = snl_allocz(ss, iface->ifa_count * sizeof(void *)); + struct ifa *ifa = iface->ifa; + + for (int i = 0; i < iface->ifa_count; i++) { + struct ifa *ifa_next = ifa->next; + + sorted_ifaddrs[i] = ifa; + ifa->next = NULL; + ifa = ifa_next; + } + qsort(sorted_ifaddrs, iface->ifa_count, sizeof(void *), cmp_ifaddr); + ifa = sorted_ifaddrs[0]; + iface->ifa = ifa; + for (int i = 1; i < iface->ifa_count; i++) { + ifa->next = sorted_ifaddrs[i]; + ifa = sorted_ifaddrs[i]; + } +} + +static void +status_nl(struct ifconfig_args *args, struct io_handler *h, struct iface *iface) +{ + if_link_t *link = &iface->link; + + printf("%s: ", link->ifla_ifname); + + printf("flags=%x", link->ifi_flags); + print_bits("IFF", &link->ifi_flags, 1, IFFBITS, nitems(IFFBITS)); + + print_metric(h->s); + printf(" mtu %d\n", link->ifla_mtu); + + if (link->ifla_ifalias != NULL) + printf("\tdescription: %s\n", link->ifla_ifalias); + + /* TODO: convert to netlink */ + strlcpy(ifr.ifr_name, link->ifla_ifname, sizeof(ifr.ifr_name)); + print_ifcap(args, h->s); + tunnel_status(h->s); + + if (args->allfamilies | (args->afp != NULL && args->afp->af_af == AF_LINK)) { + /* Start with link-level */ + const struct afswtch *p = af_getbyfamily(AF_LINK); + if (p != NULL && link->ifla_address != NULL) + p->af_status_nl(args, h, link, NULL); + } + + sort_iface_ifaddrs(h->ss, iface); + + for (struct ifa *ifa = iface->ifa; ifa != NULL; ifa = ifa->next) { + if (args->allfamilies) { + const struct afswtch *p = af_getbyfamily(ifa->addr.ifa_family); + + if (p != NULL) + p->af_status_nl(args, h, link, &ifa->addr); + } else if (args->afp->af_af == ifa->addr.ifa_family) { + const struct afswtch *p = args->afp; + + p->af_status_nl(args, h, link, &ifa->addr); + } + } + + /* TODO: convert to netlink */ + if (args->allfamilies) + af_other_status(h->s); + else if (args->afp->af_other_status != NULL) + args->afp->af_other_status(h->s); + + print_ifstatus(h->s); + if (args->verbose > 0) + sfp_status(h->s, &ifr, args->verbose); +} + +static int +get_local_socket(void) +{ + int s = socket(AF_LOCAL, SOCK_DGRAM, 0); + + if (s < 0) + err(1, "socket(family %u,SOCK_DGRAM)", AF_LOCAL); + return (s); +} + +static void +set_global_ifname(if_link_t *link) +{ + int iflen = strlcpy(name, link->ifla_ifname, sizeof(name)); + if (iflen >= sizeof(name)) + errx(1, "%s: cloning name too long", link->ifla_ifname); + strlcpy(ifr.ifr_name, link->ifla_ifname, sizeof(ifr.ifr_name)); +} + +void +list_interfaces_nl(struct ifconfig_args *args) +{ + struct snl_state ss = {}; + + nl_init_socket(&ss); + + struct ifmap *ifmap = prepare_ifmap(&ss); + struct iface **sorted_ifaces = snl_allocz(&ss, ifmap->count * sizeof(void *)); + for (int i = 0, num = 0; i < ifmap->size; i++) { + if (ifmap->ifaces[i] != NULL) { + sorted_ifaces[num++] = ifmap->ifaces[i]; + if (num == ifmap->count) + break; + } + } + qsort(sorted_ifaces, ifmap->count, sizeof(void *), cmp_iface); + prepare_ifaddrs(&ss, ifmap); + + struct io_handler h = { + .s = get_local_socket(), + .ss = &ss, + }; + + for (int i = 0, num = 0; i < ifmap->count; i++) { + struct iface *iface = sorted_ifaces[i]; + + if (!match_iface(args, iface)) + continue; + + set_global_ifname(&iface->link); + + if (args->namesonly) { + if (num++ != 0) + printf(" "); + fputs(iface->link.ifla_ifname, stdout); + } else if (args->argc == 0) + status_nl(args, &h, iface); + else + ifconfig(args->argc, args->argv, 0, args->afp); + } + if (args->namesonly) + printf("\n"); + + close(h.s); + snl_free(&ss); +} + diff --git a/sbin/ifconfig/ifconfig_netlink.h b/sbin/ifconfig/ifconfig_netlink.h new file mode 100644 index 000000000000..1c762619a483 --- /dev/null +++ b/sbin/ifconfig/ifconfig_netlink.h @@ -0,0 +1,37 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2023 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions *** 30 LINES SKIPPED *** From nobody Tue May 16 19:46:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLRZX5GZWz4BPVP; Tue, 16 May 2023 19:46:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLRZX4dp5z4H1c; Tue, 16 May 2023 19:46:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684266404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zhk9nSHBJpjw0SMuKz3qf6IM4RkPEgDdo5HXKE7iGUU=; b=HwhRj4GvXtdikg+xqNxRS8W7u73KZSlmdETLU9xeAeAZi4srdpsZpLxBqGQuhUxq32IEDQ MW7soWuLRQVUzxKNm4L60ORD+I3OpHYuDQukEnXidvI2n1Fo9i2YvZtdxrAJQMY4Njio9O 4uybXSvm3hJ7yiTjemfiIuOtaxteXtWaOLMORrzs+ywyja5G/fUDFai6Yroc8EgVgdCJ58 HZXXsjc2VkCg7PHQJr82HRphBKieEzuQ3ODCmkxu6qoCSTDDGla8dijRajhwInDwWNTFNY aK12TFfoWocom8m2LJdSFVbt/I/K0VYU74tEI/ZGsZX+phl98i+r1CO0u7ifFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684266404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zhk9nSHBJpjw0SMuKz3qf6IM4RkPEgDdo5HXKE7iGUU=; b=RYmjbYpmWAvqJsputpoXSlFqpGJ3U1pJGeoauqUZaD13tQ/8nHbOQuMBxn4XpKliwoUo7+ EEVCzFnVJZzPFdScpV4amjQbuM00S/tAzWWc5nHZoH0Y3imwl4Ud7VjKlDxH0Vd6Ffsij2 ftYu/ZgUzjR5L8xtY9KF4ztdFSUmPb1cKeEQoyCqXuxRrN5ay2TfYrWyNgKI9dll3If+lo EAhS+mq/5CnoU53b8vbrUztghbRqo9byqMkOZhCeRgAzs6rHIP5Xisn9mpptPkeMwkPXGZ wn/FVlFW4sP8/PrTHhiLedR8n/0YgxigJd3XRDaWhy80Mo+NadImrP8Vzb2Jjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684266404; a=rsa-sha256; cv=none; b=T8WU0qvedLDHj4ThMQ+Zmvt0kvGP13nhAppzmobqSdHEGPaThr4Mw1Q11rdzu3vcq17wXA 5q4Ze9s4uUrW9TjECwUcXJ/tVNQbF/DCKjJM19RrQ7urBxufenoMoTSP4Sz12hxVDZx1VU uP2F9ExpwbOeLNGx34mhoqtm/7usRR0OdtUet885L8kn03hhO1+8/M9zzkAt7X0/zUSm2/ TkJE+wbsjpToM2xh8DKPDJ5bEZGRQWDej9YKh/OSySs3mHDFCZDhwz2bO/8Y4ev2P4oQPk fsF6NxyJdmZ99zDzMPfmyUUN/47+9IgYSoJGrX7ojghNcvcP6j1i5KtSeeIylA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLRZX3jBWzZpc; Tue, 16 May 2023 19:46:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GJkiCp039879; Tue, 16 May 2023 19:46:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GJkif5039878; Tue, 16 May 2023 19:46:44 GMT (envelope-from git) Date: Tue, 16 May 2023 19:46:44 GMT Message-Id: <202305161946.34GJkif5039878@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 0282f87530b3 - main - ktrace: Simplify ae6ac587, drop the sa var declaration List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0282f87530b33ebba890794b07f75a2874357e3a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=0282f87530b33ebba890794b07f75a2874357e3a commit 0282f87530b33ebba890794b07f75a2874357e3a Author: Dmitry Chagin AuthorDate: 2023-05-16 19:46:26 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-16 19:46:26 +0000 ktrace: Simplify ae6ac587, drop the sa var declaration Suggested by: kib MFC after: 5 days --- sys/kern/kern_fork.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index ca2357edbe36..f981747aaf70 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -1125,9 +1125,6 @@ fork_exit(void (*callout)(void *, struct trapframe *), void *arg, void fork_return(struct thread *td, struct trapframe *frame) { -#ifdef KTRACE - struct syscall_args *sa; -#endif struct proc *p; p = td->td_proc; @@ -1170,10 +1167,8 @@ fork_return(struct thread *td, struct trapframe *frame) userret(td, frame); #ifdef KTRACE - if (KTRPOINT(td, KTR_SYSRET)) { - sa = &td->td_sa; - ktrsysret(sa->code, 0, 0); - } + if (KTRPOINT(td, KTR_SYSRET)) + ktrsysret(td->td_sa.code, 0, 0); #endif } From nobody Tue May 16 21:27:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLTpY4vNgz4BTvw; Tue, 16 May 2023 21:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLTpY4Pt6z4Mb1; Tue, 16 May 2023 21:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684272437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3bsaGsn6z6N3L3FtIe9vxDJgkFkSx6uAcjrRm6hIrKQ=; b=rLe4uRnVe5Bs7jEqn5Y1MvGDnzJVJuRqKDi0QgyoLCDiJh1CLMa2otH2Qp16AQMVv2eLFx Qv3qv/utEWv61v0pbQ4sEZtPbOXfoquG1dqybj7N+5Hl55/xGjr9qhbakRbzzxrLmCvblu biGUwIAV6LqP1D1uar6XK05b/YBJSee9Brau0vDmOsG2fE8IahKB/ER57Qm8lgCNrFWNcr KeecFzzRE0KOJ2V9pkgnBruKZ/wPzZSmWF+b8xVOBtfnQEFLATJevLTyTfqxGEdOu7aiA6 3xc2z+QGBCNJtHBpp6KCI95apIF/GnFWQYz+lhovZRz9ZjhHgiIYUQYf93gITg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684272437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3bsaGsn6z6N3L3FtIe9vxDJgkFkSx6uAcjrRm6hIrKQ=; b=lo86H1nk39XnXKfVAWpMce3Bqig4YYsl9CSUeYifVr2t/nFJMb+LdEjyK20HCV83TaOdz7 0YvFL5dSzFqXkBAwEvcsmaRDy2frbG80nFU2uXbAiFRk+7y2QGABlRbmrQ9qggwooQ7LaQ ak+AsLcMEEgjpiu6UaxUIvtdd1qR9r0xLEgr2wynfppbO0wcXfP8elAaQy+2h42Zxfyro/ h+5xOB9rxuS9WEopMWuKC6zlscVq+uo8fZKf9IIqv+p9xo/9lpuiSuiT2OTxNAH+wK0V9L HvLs89eFv76ZPToUvPyHHI85Y6ypo4WlMahSgl16IjVDpa4X29brkNeUEbb/Lw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684272437; a=rsa-sha256; cv=none; b=A9waqiHywNPC11+JrBwM3BOSHRBMdz2+hJpDwuddf1Q92seEySXjwM+zRJN4uF8lVFRe71 oGoYDjjb6u7VXY+6GvXcD1WE7WE6sy2CeCcp5vytNfUbuGScWLC5H61ZQYhRJU4OkolHvL v1wc9ShLAfJJtxqZvbQpgCfCTRbZ4pH24UdmYpfAfxxJ0nIx9cKN0QLBx4uNhhrBHtzkBU aLQaNTj5Stw41GQLQby1EcVF61ZdwuNUXFRp8nVTZJVDOk5L1Wt1qCajJLkWOM0h09MaGg 4nnJRlZp0+hs+XQCIoMqp6WYOoVYizso+s60FZx6wnK6+dOa9t7Wp6S5WP1Lgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLTpY3TdXzdbT; Tue, 16 May 2023 21:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GLRHuT004578; Tue, 16 May 2023 21:27:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GLRHEX004577; Tue, 16 May 2023 21:27:17 GMT (envelope-from git) Date: Tue, 16 May 2023 21:27:17 GMT Message-Id: <202305162127.34GLRHEX004577@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 972bf40b62f7 - main - LinuxKPI: add ptp_clock_kernel.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 972bf40b62f7de0a4c652e4577c551200dfe45a5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=972bf40b62f7de0a4c652e4577c551200dfe45a5 commit 972bf40b62f7de0a4c652e4577c551200dfe45a5 Author: Bjoern A. Zeeb AuthorDate: 2023-05-16 21:24:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-16 21:26:40 +0000 LinuxKPI: add ptp_clock_kernel.h Add the new ptp_clock_kernel.h with structs and dummy functions for kernel ptp support. This is needed for the next iwlwifi update. Sponsored by: The FreeBSD Foundation MFC after: 10 days --- .../common/include/linux/ptp_clock_kernel.h | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/ptp_clock_kernel.h b/sys/compat/linuxkpi/common/include/linux/ptp_clock_kernel.h new file mode 100644 index 000000000000..b7b0bac0607e --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/ptp_clock_kernel.h @@ -0,0 +1,77 @@ +/*- + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Björn Zeeb under sponsorship from + * the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * 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. + * + * $FreeBSD$ + */ + +#ifndef _LINUXKPI_LINUX_PTP_CLOCK_KERNEL_H +#define _LINUXKPI_LINUX_PTP_CLOCK_KERNEL_H + +#include +#include +#include /* pr_debug */ +#include /* system_device_crosststamp */ + +/* This very likely belongs elsewhere. */ +struct system_device_crosststamp { + ktime_t device; + ktime_t sys_realtime; + ktime_t sys_monotonic_raw; /* name guessed based on comment */ +}; + +struct ptp_clock_info { + char name[32]; + int max_adj; + void *owner; /* THIS_MODULE */ + int (*adjfine)(struct ptp_clock_info *, long); + int (*adjtime)(struct ptp_clock_info *, s64); + int (*getcrosststamp)(struct ptp_clock_info *, struct system_device_crosststamp *); + int (*gettime64)(struct ptp_clock_info *, struct timespec *); +}; + +static inline struct ptp_clock * +ptp_clock_register(struct ptp_clock_info *ptpci, struct device *dev) +{ + + pr_debug("%s: TODO\n", __func__); + return (NULL); +} + +static inline void +ptp_clock_unregister(struct ptp_clock *ptpc) +{ + pr_debug("%s: TODO\n", __func__); +} + +static inline int +ptp_clock_index(struct ptp_clock *ptpc) +{ + pr_debug("%s: TODO\n", __func__); + return (0); +} + +#endif /* _LINUXKPI_LINUX_PTP_CLOCK_KERNEL_H */ From nobody Tue May 16 21:27:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLTpZ6hNPz4BTnP; Tue, 16 May 2023 21:27: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 4QLTpZ5VBSz4MbJ; Tue, 16 May 2023 21:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684272438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8B4lC3m3xFxtYf6wvvBbCPC1sodtDx7cadMMAaPmin4=; b=qeKzIRbe/KQgZ0wqDVylF0VX1oFKCebfGojQm9Qk/kc5HyThUAEDjyxQDXGJU9pqhvSk1c WxqyEtn4j8iA3B0L4SijKrMZ5o5gq3eeTYxn15n8FMcbVHYBp5FgrEjPTsi/Y2OiPOUpKQ AMTTqHu/7OAwvLXo9fmOHcAUupQQ/PwV2OSHb/2WP6wzC4Fbewq3C7zkuUknZMgkWxeVtw up7+58qCt/2RDsJ2nxn5/RBjD7On76jnlztcj+fUrAQo6sonwfjb04BuiRn6lRxgEYQ32k nYcssSZtPogN1Ikc2GxhVAShmhkZJbeTQRPa/nQth6z5dSCNRhyxaPBBGeQoOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684272438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8B4lC3m3xFxtYf6wvvBbCPC1sodtDx7cadMMAaPmin4=; b=XBlRzRi8Fuwq6bxxEzRIOsfNVuvlvwDSaRyOLcbDo17ps8GzMVOZHWV4aCHnJY95zJqh23 BBQYy1SHfduHKWZkJ18Yap04QIh1kAcsoexMafo+VythrmKEmloajiMV0LtrSEU7p/AgtI 255Erzd5rIU5H8P+5MfvXFWtq/0W16wQ/EHuAuLCrJQEDTY1I7/MKVzosv7y6PT+xjjLns Nz6fCT54z6YWxeRS7JeyqqfYL85GwuESw/WvO/uwNCGzGTpNoc4R98PaJtotKnJ8+rCnrB cgiHYHueYboG3RNOjxG3w/I2U4IPPrZ26e64IOxiMv25JXcxosASu4mcso1RvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684272438; a=rsa-sha256; cv=none; b=WnnwXupzBpUt1yhHmYYHhqRlgUIPHLt9dou10WhuRqMvBnzoQHpPcAd/K+FxYbzo1F6zkc 4pXRIqlPgcQvDVx4jrq8Z9Cz5CeJRWp5fWcSu/+mC1rEPSIAlUhDKgkNYDVBnv8JqyesfT Mb8dsCPvpl9vERaX9bBhw0lGkSLkGK3CPjsgYMMfxO/9vjZfA0h0CcH1zk6/hxbUiF1jH0 nHGT+1iWPq2hBJHUR2lR4DUrW+aOqAcsBThdGaskWZuEQF4r9t6F3X5xQxZWqV2jkEjXpv FKjaVjMm0Q+G+kCfFPDR9xlqj3vmcwWKdgoGnLUr2LtCKqscZPfd3L9xCTl8JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLTpZ4PHDzdbV; Tue, 16 May 2023 21:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GLRIU9004604; Tue, 16 May 2023 21:27:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GLRIjv004603; Tue, 16 May 2023 21:27:18 GMT (envelope-from git) Date: Tue, 16 May 2023 21:27:18 GMT Message-Id: <202305162127.34GLRIjv004603@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 262c5e81937f - main - LinuxKPI: skbuff.h: add skb_hwtstamps(), implement *mac_header() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 262c5e81937ff1682632f33e92c3e42bc92e5a77 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=262c5e81937ff1682632f33e92c3e42bc92e5a77 commit 262c5e81937ff1682632f33e92c3e42bc92e5a77 Author: Bjoern A. Zeeb AuthorDate: 2023-05-16 21:22:34 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-16 21:26:50 +0000 LinuxKPI: skbuff.h: add skb_hwtstamps(), implement *mac_header() Add a dummy skb_hwtstamps() function for now, and implement skb_mac_header(), skb_reset_mac_header(), and skb_set_mac_header(). Sponsored by: The FreeBSD Foundation MFC after: 10 days --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 34 +++++++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index fca161537837..cb1e7cef98e0 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2022 The FreeBSD Foundation + * Copyright (c) 2020-2023 The FreeBSD Foundation * Copyright (c) 2021-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -46,6 +46,7 @@ #include #include #include +#include /* #define SKB_DEBUG */ #ifdef SKB_DEBUG @@ -85,6 +86,10 @@ enum sk_buff_pkt_type { PACKET_OTHERHOST, }; +struct skb_shared_hwtstamps { + ktime_t hwtstamp; +}; + #define NET_SKB_PAD max(CACHE_LINE_SIZE, 32) struct sk_buff_head { @@ -154,6 +159,7 @@ struct sk_buff { uint16_t _flags; /* Internal flags. */ #define _SKB_FLAGS_SKBEXTFRAG 0x0001 enum sk_buff_pkt_type pkt_type; + uint16_t mac_header; /* offset of mac_header */ /* "Scratch" area for layers to store metadata. */ /* ??? I see sizeof() operations so probably an array. */ @@ -928,22 +934,38 @@ skb_header_cloned(struct sk_buff *skb) } static inline uint8_t * -skb_mac_header(struct sk_buff *skb) +skb_mac_header(const struct sk_buff *skb) { SKB_TRACE(skb); - SKB_TODO(); - return (NULL); + /* Make sure the mac_header was set as otherwise we return garbage. */ + WARN_ON(skb->mac_header == 0); + return (skb->head + skb->mac_header); +} +static inline void +skb_reset_mac_header(struct sk_buff *skb) +{ + SKB_TRACE(skb); + skb->mac_header = skb->data - skb->head; } static inline void -skb_orphan(struct sk_buff *skb) +skb_set_mac_header(struct sk_buff *skb, const size_t len) +{ + SKB_TRACE(skb); + skb_reset_mac_header(skb); + skb->mac_header += len; +} + +static inline struct skb_shared_hwtstamps * +skb_hwtstamps(struct sk_buff *skb) { SKB_TRACE(skb); SKB_TODO(); + return (NULL); } static inline void -skb_reset_mac_header(struct sk_buff *skb) +skb_orphan(struct sk_buff *skb) { SKB_TRACE(skb); SKB_TODO(); From nobody Tue May 16 21:34:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLTyz3GsBz4BTfm; Tue, 16 May 2023 21:34:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLTyz2s8xz4P7x; Tue, 16 May 2023 21:34:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684272875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+isLXM7j54dQLM1eNyP5fz7OvO9F3eUZqkO8b6AQ7Pw=; b=c05gpxNLg5d8dnInza+Hm1cTStqB5ZJOLL/7bE2iyNSTnlKrU2KtVJhW7WhctR4jdQVQfj WZGBkW4UdHNUcXFJm56rOwypCv7wczDTqUqv76Qaq7wNeHCY5n1bD0GSDbP0sOQvDBFQus lqYmRCOZyS/Aso14Mf0gVi3xmi7uFOARLR/Sqa+5s8/ZZsUfxMaNaVrfTtsGvyXUBh2Imw yaC+QCaFF8TouIFwOL1n4sgl0XDT0wpgbMcbYh4K9acmCOaKeePr/UOmBC+A6JBc6SDgRJ uZRLuZFqpImE8pG4TWicqtH+abhP1Dxxy7qPZXa22tUSlDF9DsodAeyuWteSvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684272875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+isLXM7j54dQLM1eNyP5fz7OvO9F3eUZqkO8b6AQ7Pw=; b=SnVTreS6XWRtIf7Qz4RFsCnJKEJVm+Qm8QvXko0GwNMhnN8PliiakTWy84VvJ6JDLc4gwp dSozUA0qGBVEKvqJtxNhSUPJdcfBsAc6tUGUubH+otm0Uv9l3ykO2/iOPbt32+JMW42kfB CMLWw6Skoqjk3A/ThabHGHuKWI/5s+mQ/QA1DUotXBXnRagXsl41UbNwyLvtFYbTADhjUv t9850phFmHPP3+r2wbTjJWQaQy8EecHdEydg0oWGEx+/e4WDIKOoG9LS/tr9FCMUDhhDKO IxKCJJblOxpa7XjdNBv6RtU4U5y9sTPiIGYu4RHjXK3sG1992oB2RaL+4W9bBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684272875; a=rsa-sha256; cv=none; b=g0sCPH70Gy/RpP1gB0XYX+UPjU0scdn7bh83cMuvEUAWKizR1bd4nY/a0DiE+bFmNgfKbe fNJoFQhQxrhdq96oxHJ4zYysfn86hasGYTnI0zSYKbkHO3nGU1c/rpe7X41CHaM2G5Oeut I8ZYfhLnIoMFUXb/kWqKfLvC7g+5SdIYgu7F0fQgBrUjL+KT09vRxlWqkmTiw8vyuTXhBW BrgTKMmiYD6zwQF9D9ITCmNPAgx0fwoLGThoAc0o33YYQOWOBrZlWUgbriTvUbmm0xEX1H iV0VGEG9SC0nnIAbGUO97P97v8kfY/JhxpY6eI1QZpsILW9qwHb2eFDUIEobMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLTyz1cXNzdnc; Tue, 16 May 2023 21:34:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GLYZF6020339; Tue, 16 May 2023 21:34:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GLYZ9I020338; Tue, 16 May 2023 21:34:35 GMT (envelope-from git) Date: Tue, 16 May 2023 21:34:35 GMT Message-Id: <202305162134.34GLYZ9I020338@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 866e5c6b3ce7 - stable/13 - freebsd-update: Fix merging already-updated files List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 866e5c6b3ce7ca3e15a24180fa1a0dcbda7c4b0f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=866e5c6b3ce7ca3e15a24180fa1a0dcbda7c4b0f commit 866e5c6b3ce7ca3e15a24180fa1a0dcbda7c4b0f Author: Colin Percival AuthorDate: 2023-05-05 03:00:58 +0000 Commit: Colin Percival CommitDate: 2023-05-16 21:34:10 +0000 freebsd-update: Fix merging already-updated files When performing an "upgrade" (moving between FreeBSD releases, as opposed to "update" which merely applies security/errata updates to the installed release) FreeBSD Update: 1. Generates a list of "files needing to be merged", namely those files which don't match the version installed in the "old" release and have paths matching the MergeChanges configuration directive (by default, /boot/device.hints and everything under /etc/). and later on, 2. Compares the currently-installed files to the versions in the "new" release, removing index entries for files which "don't need to be updated because they're not changing". Unfortunately if a file falls into both of these categories -- that is to say, if a file in /etc/ is the same as the version in the new release and not the same as the version in the old release -- the resulting "merge" step saw that the file was no longer listed as being part of the new release, resulting in the file being deleted. For the first 18 years of FreeBSD Update's existence, this never happened, since $FreeBSD$ tags resulted in "new release" files always being different from any files systems would already have installed. This commit fixes this behaviour by only placing a file into the "files needing to be merged" list if it does not match the version in the old release *or* the version in the new release. Reported by: des Reviewed by: delphij (earlier version), des, emaste MFC after: 7 days X-EN-Candidate: yes Differential Revision: https://reviews.freebsd.org/D39973 (cherry picked from commit c55b7e522629cb78adeb54bd9964304481d55eab) --- usr.sbin/freebsd-update/freebsd-update.sh | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 4ef44d1ad000..4f779270926d 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -1677,11 +1677,12 @@ fetch_inspect_system () { echo "done." } -# For any paths matching ${MERGECHANGES}, compare $1 and $2 and find any -# files which differ; generate $3 containing these paths and the old hashes. +# For any paths matching ${MERGECHANGES}, compare $2 against $1 and $3 and +# find any files with values unique to $2; generate $4 containing these paths +# and their corresponding hashes from $1. fetch_filter_mergechanges () { # Pull out the paths and hashes of the files matching ${MERGECHANGES}. - for F in $1 $2; do + for F in $1 $2 $3; do for X in ${MERGECHANGES}; do grep -E "^${X}" ${F} done | @@ -1689,9 +1690,10 @@ fetch_filter_mergechanges () { sort > ${F}-values done - # Any line in $2-values which doesn't appear in $1-values and is a - # file means that we should list the path in $3. - comm -13 $1-values $2-values | + # Any line in $2-values which doesn't appear in $1-values or $3-values + # and is a file means that we should list the path in $3. + sort $1-values $3-values | + comm -13 - $2-values | fgrep '|f|' | cut -f 1 -d '|' > $2-paths @@ -1703,10 +1705,10 @@ fetch_filter_mergechanges () { while read X; do look "${X}|" $1-values | head -1 - done < $2-paths > $3 + done < $2-paths > $4 # Clean up - rm $1-values $2-values $2-paths + rm $1-values $2-values $3-values $2-paths } # For any paths matching ${UPDATEIFUNMODIFIED}, remove lines from $[123] @@ -2711,7 +2713,7 @@ upgrade_run () { # Based on ${MERGECHANGES}, generate a file tomerge-old with the # paths and hashes of old versions of files to merge. - fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT tomerge-old + fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT INDEX-NEW tomerge-old # Based on ${UPDATEIFUNMODIFIED}, remove lines from INDEX-* which # correspond to lines in INDEX-PRESENT with hashes not appearing From nobody Tue May 16 21:37:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLV20269bz4BV0J; Tue, 16 May 2023 21:37: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 4QLV201Ytcz4P9l; Tue, 16 May 2023 21:37:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684273032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xfgznpy3s5h3ic7JUcYz2i0H2sbqkH3nURtCMh2UXcU=; b=m4EOspoKZCW4vkS3TvN7vYlENGkI7EvFqaOPkdpJdvsJmStPfy0J7EsNyVxhbrIloSO2iN HL1ef/hEhRTe2VMyNh3aXSmQ9an/ALvB1Qca7o6O7z6Ry+b4Q8f8nCRkh8nAjAegSAsYzq Tsp3Ew9Ep1Gk3jvLcoSNHC+G0cLkWleZSokj67frlP8SzZUupmaOoDLC7XuqgYzfZIx/kf qZXy6+ka9/z0hQVhVjAxfZoJDb0ymnzweq18Upfqg8BQcYDevtTyIaHbZm3DZWp8WWhCid 19HFbh8Rlgx24KJPVgYN9/+a7TswzxlmWt4OWfrofdLyufTWqH1/udQm/1w7jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684273032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xfgznpy3s5h3ic7JUcYz2i0H2sbqkH3nURtCMh2UXcU=; b=dOANAtTXL1I5BQ2d/Ebr1Gd41f9JEIJueG/UnFCVVpe9onkr82X5rdU2v6NuH66uW3GIY2 p6gD0qxpJ9UR7S0DzsK5m9Py5UqNGlds8mZ8EpYzsc22bIKGO50TWH85O2OLDGoLvzbuCJ oiSqrjqOLIhEiKrpulaNHXr9+5fxYUOBeHiASZhSUjUgCSUoQcvQpUqOqkdDgCZfYaf/gG CEpmT75UT7avg6/bESiM5dprBbzXzfT8x13kr2b/pWZkTpDQtUw3d9D/x8apaI7LBaTYtM 7e2LjIN/vGQOMfbIIYlwuBHPWFuuq0Cj8fkUk4lP+elDaY1hfZsv1/Wrml6lVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684273032; a=rsa-sha256; cv=none; b=AG9LXf2IbDkTHpTZhFMFiqGBUXQm2hEP+aWJnAwGpHARX4LK2pMxB+Dv3ubwcWiBpzYd+y /hENb3C+0q+K6B7DbAB9DsIQsP+Az/Qi8gsoFoJsH0E4ZF1yBIbYvtUg6CNb3AA8cMYc/1 8/aWK0ndS8AKGEH6AF66Bm7aLHjDX97tuj9jqHC6qj7zCh0WsNH7ZizD5l7XyjjH7ze1YP QAFxha1CpSVcHno4LRFEga2AcwyIctIW0mLZYfMfjLzErJgy6pBDx0iUiwBMIREPm3GvfW Fm1Yb9mTKwaN00PWe4rFDH5js9uakDzV0hjfJ5hfxcbJhwbA+cqb7bjyNQheCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLV200dXFzdRQ; Tue, 16 May 2023 21:37:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GLbBAf020769; Tue, 16 May 2023 21:37:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GLbBkl020768; Tue, 16 May 2023 21:37:11 GMT (envelope-from git) Date: Tue, 16 May 2023 21:37:11 GMT Message-Id: <202305162137.34GLbBkl020768@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 8c6a6e8c8071 - stable/13 - nfsd: Get rid of useless "pool" field in nfs_fha_new.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8c6a6e8c8071eb1bcd83f283d26b1aec69e9f76f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=8c6a6e8c8071eb1bcd83f283d26b1aec69e9f76f commit 8c6a6e8c8071eb1bcd83f283d26b1aec69e9f76f Author: Rick Macklem AuthorDate: 2023-02-17 15:34:40 +0000 Commit: Rick Macklem CommitDate: 2023-05-16 21:36:22 +0000 nfsd: Get rid of useless "pool" field in nfs_fha_new.c Since svcpool_create() is now called from an initialization function, the pool field of fha_params is always non-NULL, so just get rid of it and the useless check for it being NULL. (cherry picked from commit b99c419587db2ac75b929637f61ec3b845d7b5f6) --- sys/fs/nfsserver/nfs_fha_new.c | 9 --------- sys/fs/nfsserver/nfs_fha_new.h | 1 - 2 files changed, 10 deletions(-) diff --git a/sys/fs/nfsserver/nfs_fha_new.c b/sys/fs/nfsserver/nfs_fha_new.c index 59933ef01bd4..05a03bee5d1c 100644 --- a/sys/fs/nfsserver/nfs_fha_new.c +++ b/sys/fs/nfsserver/nfs_fha_new.c @@ -62,8 +62,6 @@ SYSCTL_DECL(_vfs_nfsd); extern int newnfs_nfsv3_procid[]; -NFSD_VNET_DECLARE(SVCPOOL *, nfsrvd_pool); - SYSINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_init, NULL); SYSUNINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_uninit, NULL); @@ -80,8 +78,6 @@ fhanew_init(void *foo) snprintf(softc->server_name, sizeof(softc->server_name), FHANEW_SERVER_NAME); - softc->pool = &NFSD_VNET(nfsrvd_pool); - /* * Initialize the sysctl context list for the fha module. */ @@ -656,11 +652,6 @@ fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS) sbuf_new(&sb, NULL, 65536, SBUF_FIXEDLEN); - if (!*softc->pool) { - sbuf_printf(&sb, "NFSD not running\n"); - goto out; - } - for (i = 0; i < FHA_HASH_SIZE; i++) if (!LIST_EMPTY(&softc->fha_hash[i].list)) break; diff --git a/sys/fs/nfsserver/nfs_fha_new.h b/sys/fs/nfsserver/nfs_fha_new.h index 7d437e7a0853..08f52539450e 100644 --- a/sys/fs/nfsserver/nfs_fha_new.h +++ b/sys/fs/nfsserver/nfs_fha_new.h @@ -99,7 +99,6 @@ struct fha_params { struct sysctl_oid *sysctl_tree; struct fha_ctls ctls; char server_name[32]; - SVCPOOL **pool; }; SVCTHREAD *fhanew_assign(SVCTHREAD *this_thread, struct svc_req *req); From nobody Tue May 16 21:38:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLV3s0fHVz4BTpg; Tue, 16 May 2023 21:38: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 4QLV3r6zM7z4PGn; Tue, 16 May 2023 21:38:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684273129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ct0uZ/O+Pf2ZIyuwzk/wlp2bX6xOlW4n/Yi69zliDNM=; b=WF+WJFYFHGI2n3HUTBUKBZNfo8a8AWv9snQqmB7Jeq3RYvGsQtT4xxL97xi72lJSG0omJT 0w3K9P3sZqzaRrX0aAKxOtNo8P+r/sDNtnDxWpyTTcAyuE3yxKcw0RAdxNjN2ScFTVO5x+ k9qRVSgR9rjjfKOMyKI9/XcDuhVFc6p0kfQshpRaNti2KHjAPmdpFMjKpg3uqee2HleLCf vyi4U31EegbhbNOf4wXOq1Mz+O9OoGE/xClcciesGI1pJPAvBmJoifz9HNFyCRafWCRShO QZS3t5Tbj4SFZEEdnZ/tMgufD3wwJLKzLjzT2LU8PMnFm5cVkZtTocTLnofgGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684273129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ct0uZ/O+Pf2ZIyuwzk/wlp2bX6xOlW4n/Yi69zliDNM=; b=nPyLO2YXZHaSwE2AyA1fAWoyLeRzK0aZD6shRpBQbgf838X9Tuqnxw475WOrrTIYtQzrRG Gt66tALgUfYyLp4AVI1nah5HnrP05NuHtw4yeUcD9rIq24B8FcqU87nbzPCRO3AmGnQMga iz176euKr66pevW3P+YXXbnJYGYZllpwN3keVrDJFAkm0wgjF7LWiCCqbHIXwk87mAerrN Anh560ZlVB7n0mgk0gV3KZqGnnhogGeZRcUq1zXgoYKDp6VwE6KMuC2/mt7L0Heu5EfjRg rN+L6DNOSgYxFjhfqfV7xlezZkgdHnB0LZLfEljFRB4qgELIvFpTGNlMaS2o0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684273129; a=rsa-sha256; cv=none; b=uf+Ajc+DhLPyiFDyQQvmWF6JdNMQ8z5A9py2Gzvw4wFn2CkiaL9TKqQzW2FMXivS3xb7IV NXFGSljsKjKHmVegCvrU+M/A9lGs9G15QYtVrE59UTQUF4t/fVQIDgYNRV6e0qsjFuRcuO Zdw5BbG1lMVV8KXQtkFKA/KkAF1c6jfd3XF3Pv0WFqcCr8tuaWUkLyj7w4qbhGncLSNaWc K3KIsvlvFo0eC4H/ZusdKjH0KC14uiYPRIoRofjzQ13zrcs8on8PPGG/+sE2UlIEDnN3ab fLd0AczzaBoe9XnK529h7d9eOSMAX5/tRdC5hGqi27D+FMjaWDY7nfExAFbe3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLV3r5xXszdWP; Tue, 16 May 2023 21:38:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GLcmJ0021063; Tue, 16 May 2023 21:38:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GLcmM1021062; Tue, 16 May 2023 21:38:48 GMT (envelope-from git) Date: Tue, 16 May 2023 21:38:48 GMT Message-Id: <202305162138.34GLcmM1021062@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 4ee3d271b74d - stable/13 - nfsd: Add NFSD_VNET() macros to nfs_fha_new.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4ee3d271b74dbaf710adfd11432c12d3b21f2628 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4ee3d271b74dbaf710adfd11432c12d3b21f2628 commit 4ee3d271b74dbaf710adfd11432c12d3b21f2628 Author: Rick Macklem AuthorDate: 2023-02-18 15:45:38 +0000 Commit: Rick Macklem CommitDate: 2023-05-16 21:37:39 +0000 nfsd: Add NFSD_VNET() macros to nfs_fha_new.c Although it is not 100% obvious if the affinity threads lists need to be vnet'd when nfsd runs in a prison, I think it is necessary for the unusual case where the same file system is exported in multiple prisons. For this case, the affinity code might try to assign the RPC to a svc thread that runs in a different prison. Also, it makes sense to vnet them, since there are separate svc threads for each prison running nfsd(8). This patch adds the macros for vnet'ng to nfs_fha_new.c. The macros are still null, so the only semantics change is malloc'ng the fha_param structure. (cherry picked from commit cd406ac94d8beae7f184adb14a3c94e058366b9a) --- sys/fs/nfsserver/nfs_fha_new.c | 108 +++++++++++++++++++++++------------------ 1 file changed, 62 insertions(+), 46 deletions(-) diff --git a/sys/fs/nfsserver/nfs_fha_new.c b/sys/fs/nfsserver/nfs_fha_new.c index 05a03bee5d1c..203e98d3ac86 100644 --- a/sys/fs/nfsserver/nfs_fha_new.c +++ b/sys/fs/nfsserver/nfs_fha_new.c @@ -56,14 +56,14 @@ static int fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS); static void fha_extract_info(struct svc_req *req, struct fha_info *i); -static struct fha_params fhanew_softc; +NFSD_VNET_DEFINE_STATIC(struct fha_params *, fhanew_softc); SYSCTL_DECL(_vfs_nfsd); extern int newnfs_nfsv3_procid[]; -SYSINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_init, NULL); -SYSUNINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_uninit, NULL); +SYSINIT(nfs_fhanew, SI_SUB_VNET_DONE, SI_ORDER_ANY, fhanew_init, NULL); +SYSUNINIT(nfs_fhanew, SI_SUB_VNET_DONE, SI_ORDER_ANY, fhanew_uninit, NULL); static void fhanew_init(void *foo) @@ -71,9 +71,9 @@ fhanew_init(void *foo) struct fha_params *softc; int i; - softc = &fhanew_softc; - - bzero(softc, sizeof(*softc)); + NFSD_VNET(fhanew_softc) = malloc(sizeof(struct fha_params), M_TEMP, + M_WAITOK | M_ZERO); + softc = NFSD_VNET(fhanew_softc); snprintf(softc->server_name, sizeof(softc->server_name), FHANEW_SERVER_NAME); @@ -82,12 +82,14 @@ fhanew_init(void *foo) * Initialize the sysctl context list for the fha module. */ sysctl_ctx_init(&softc->sysctl_ctx); - softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_vfs_nfsd), OID_AUTO, "fha", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "NFS File Handle Affinity (FHA)"); - if (softc->sysctl_tree == NULL) { - printf("%s: unable to allocate sysctl tree\n", __func__); - return; + if (IS_DEFAULT_VNET(curvnet)) { + softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, + SYSCTL_STATIC_CHILDREN(_vfs_nfsd), OID_AUTO, "fha", + CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "NFS File Handle Affinity (FHA)"); + if (softc->sysctl_tree == NULL) { + printf("%s: unable to allocate sysctl tree\n", __func__); + return; + } } for (i = 0; i < FHA_HASH_SIZE; i++) @@ -106,36 +108,38 @@ fhanew_init(void *foo) /* * Add sysctls so the user can change the tuning parameters. */ - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "enable", CTLFLAG_RWTUN, - &softc->ctls.enable, 0, "Enable NFS File Handle Affinity (FHA)"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "read", CTLFLAG_RWTUN, - &softc->ctls.read, 0, "Enable NFS FHA read locality"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "write", CTLFLAG_RWTUN, - &softc->ctls.write, 0, "Enable NFS FHA write locality"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "bin_shift", CTLFLAG_RWTUN, - &softc->ctls.bin_shift, 0, - "Maximum locality distance 2^(bin_shift) bytes"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "max_nfsds_per_fh", CTLFLAG_RWTUN, - &softc->ctls.max_nfsds_per_fh, 0, "Maximum nfsd threads that " - "should be working on requests for the same file handle"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "max_reqs_per_nfsd", CTLFLAG_RWTUN, - &softc->ctls.max_reqs_per_nfsd, 0, "Maximum requests that " - "single nfsd thread should be working on at any time"); - - SYSCTL_ADD_OID(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "fhe_stats", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, - 0, 0, fhenew_stats_sysctl, "A", ""); + if (IS_DEFAULT_VNET(curvnet)) { + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "enable", CTLFLAG_RWTUN, + &softc->ctls.enable, 0, "Enable NFS File Handle Affinity (FHA)"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "read", CTLFLAG_RWTUN, + &softc->ctls.read, 0, "Enable NFS FHA read locality"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "write", CTLFLAG_RWTUN, + &softc->ctls.write, 0, "Enable NFS FHA write locality"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "bin_shift", CTLFLAG_RWTUN, + &softc->ctls.bin_shift, 0, + "Maximum locality distance 2^(bin_shift) bytes"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "max_nfsds_per_fh", CTLFLAG_RWTUN, + &softc->ctls.max_nfsds_per_fh, 0, "Maximum nfsd threads that " + "should be working on requests for the same file handle"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "max_reqs_per_nfsd", CTLFLAG_RWTUN, + &softc->ctls.max_reqs_per_nfsd, 0, "Maximum requests that " + "single nfsd thread should be working on at any time"); + + SYSCTL_ADD_OID(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "fhe_stats", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + 0, 0, fhenew_stats_sysctl, "A", ""); + } } static void @@ -144,11 +148,12 @@ fhanew_uninit(void *foo) struct fha_params *softc; int i; - softc = &fhanew_softc; + softc = NFSD_VNET(fhanew_softc); sysctl_ctx_free(&softc->sysctl_ctx); for (i = 0; i < FHA_HASH_SIZE; i++) mtx_destroy(&softc->fha_hash[i].mtx); + free(softc, M_TEMP); } static rpcproc_t @@ -556,11 +561,13 @@ noloc: SVCTHREAD * fhanew_assign(SVCTHREAD *this_thread, struct svc_req *req) { - struct fha_params *softc = &fhanew_softc; + struct fha_params *softc; SVCTHREAD *thread; struct fha_info i; struct fha_hash_entry *fhe; + NFSD_CURVNET_SET(NFSD_TD_TO_VNET(curthread)); + softc = NFSD_VNET(fhanew_softc); /* Check to see whether we're enabled. */ if (softc->ctls.enable == 0) goto thist; @@ -602,9 +609,11 @@ fhanew_assign(SVCTHREAD *this_thread, struct svc_req *req) mtx_lock(&thread->st_lock); mtx_unlock(fhe->mtx); + NFSD_CURVNET_RESTORE(); return (thread); thist: req->rq_p1 = NULL; + NFSD_CURVNET_RESTORE(); mtx_lock(&this_thread->st_lock); return (this_thread); } @@ -619,12 +628,15 @@ fhanew_nd_complete(SVCTHREAD *thread, struct svc_req *req) struct fha_hash_entry *fhe = req->rq_p1; struct mtx *mtx; + NFSD_CURVNET_SET(NFSD_TD_TO_VNET(curthread)); /* * This may be called for reqs that didn't go through * fha_assign (e.g. extra NULL ops used for RPCSEC_GSS. */ - if (!fhe) + if (!fhe) { + NFSD_CURVNET_RESTORE(); return; + } mtx = fhe->mtx; mtx_lock(mtx); @@ -638,12 +650,13 @@ fhanew_nd_complete(SVCTHREAD *thread, struct svc_req *req) fha_hash_entry_remove(fhe); } mtx_unlock(mtx); + NFSD_CURVNET_RESTORE(); } static int fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS) { - struct fha_params *softc = &fhanew_softc; + struct fha_params *softc; int error, i; struct sbuf sb; struct fha_hash_entry *fhe; @@ -652,6 +665,8 @@ fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS) sbuf_new(&sb, NULL, 65536, SBUF_FIXEDLEN); + NFSD_CURVNET_SET(NFSD_TD_TO_VNET(curthread)); + softc = NFSD_VNET(fhanew_softc); for (i = 0; i < FHA_HASH_SIZE; i++) if (!LIST_EMPTY(&softc->fha_hash[i].list)) break; @@ -694,6 +709,7 @@ fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS) } out: + NFSD_CURVNET_RESTORE(); sbuf_trim(&sb); sbuf_finish(&sb); error = sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req); From nobody Tue May 16 21:40:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLV5Z4Vyhz4BTgL; Tue, 16 May 2023 21: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 4QLV5Z3jWrz4Pr6; Tue, 16 May 2023 21: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=1684273218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZiMM0lsLPaBF0VE90QpHRkYEUTJrqQCYMz01S6+1S90=; b=jpKcWj3y1cAz18RfDeCyUVoNZLZFforUxTLtaejeC7KDEauGXpZqp6MgPdaGz3SXyLfF3A DFreVa3piapeNI3NLwS36FYELMET9OHg89VUyJYU8gmOZlOXSDF3t8pjW6cG+yaE66vRfj PPbYS2yeCOI+5JA16xGwcyyDgATCnc9ru7sjXRYyvtwxL1qasa/7lq3gV7nz2LZLKopEBH QgaeD9KgodA4wyTdYfiktHO0odCjpWTcJM9+ZvQjzCHZtnNw1zQCfxOUDEV8/LDlvBtmSQ kPW2azL6Hmizy1aOrZzCr8gLKWb/qGW52q6f6NwohRDBWDnWD75ZY7Z0b/9rhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684273218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZiMM0lsLPaBF0VE90QpHRkYEUTJrqQCYMz01S6+1S90=; b=MleaP0pKSiyXApCkzScrzNAAsU/41s46CfBFlL0GXciSrJCqqOO26Tp3uXfkE32a/TeFNs qB7xwpjcrh3Zfy74Ob3SKPU5cBoLOHBBUHOglkXCqUjUmdqKLU6urWYeZmLlkGYNQZtjWr YfjXdcfngSXctrel2ZkGyWFHk0HzYRYORyq8RuovCPvzKTdQWuXnw1H+nTxRXK8UzM8gPo QDJiatcmGaW6Sln7eGuoyMGja+UwXHedPPzztJtEqpCvB/BrG0o0KN9/+d/J1KMX+J4zb8 IEHDAN/O7y+NHeGL5R9+hcTPu/MgSEFVW6FaaDUjHd+7nzaL3kwHzWVh3VViAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684273218; a=rsa-sha256; cv=none; b=I+21Lx4d2XXq2P/EsE8LtG+p3pYEFkEc9+gz2yCnh31tbyRNF5QrNVg93CnbpWZy1D6X0T sLzFVxdEec/63IeZIIODRfPiIFgRcsX8JtYFsOa3L2BuUQxk18OTrLG5L07GppKrvl3Z+E 5vd4RgueMjPtd+J5QKYzMZOZSsestPIZLxvcIvXsqZLw2bQBmNrm8Mn143HE6EhVj35u7W w/QKhcGAiQzMSeASjEVOdZeQlhp3fPtRNYjnUtsnxJ5uO4gM3fPrqFgIVCWJNu6l13UBcn A6zetggvVM3msHptzGfoMd9OS7A9SNIptbRUESebtVUh4uhYVQ+DHwv4o/m7yQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLV5Z2jBczdSy; Tue, 16 May 2023 21:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34GLeIGA029798; Tue, 16 May 2023 21:40:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34GLeIf9029797; Tue, 16 May 2023 21:40:18 GMT (envelope-from git) Date: Tue, 16 May 2023 21:40:18 GMT Message-Id: <202305162140.34GLeIf9029797@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: d9ecb62798da - stable/13 - nfs_fha_new: Fix nfs_fha_new so that sysctls work in prisons List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d9ecb62798da799c7a391b05eabeb57e3082cf97 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=d9ecb62798da799c7a391b05eabeb57e3082cf97 commit d9ecb62798da799c7a391b05eabeb57e3082cf97 Author: Rick Macklem AuthorDate: 2023-03-01 23:25:35 +0000 Commit: Rick Macklem CommitDate: 2023-05-16 21:39:27 +0000 nfs_fha_new: Fix nfs_fha_new so that sysctls work in prisons The sysctls were in "struct fha_params", making it impractical to vnet them. This patch moves the sysctls out of "struct fha_params" and vnet's them, so that they are available in vnet prisons running nfsd(8). It also avoids the IS_DEFAULT_VNET() macros in the VNET_SYSINIT() function. (cherry picked from commit a90b47abcbdbd48c68fbf7c407546293479056de) --- sys/fs/nfsserver/nfs_fha_new.c | 118 ++++++++++++++++++----------------------- sys/fs/nfsserver/nfs_fha_new.h | 3 -- 2 files changed, 53 insertions(+), 68 deletions(-) diff --git a/sys/fs/nfsserver/nfs_fha_new.c b/sys/fs/nfsserver/nfs_fha_new.c index 203e98d3ac86..3d18083f7205 100644 --- a/sys/fs/nfsserver/nfs_fha_new.c +++ b/sys/fs/nfsserver/nfs_fha_new.c @@ -57,8 +57,46 @@ static void fha_extract_info(struct svc_req *req, struct fha_info *i); NFSD_VNET_DEFINE_STATIC(struct fha_params *, fhanew_softc); +NFSD_VNET_DEFINE_STATIC(struct fha_ctls, nfsfha_ctls); SYSCTL_DECL(_vfs_nfsd); +SYSCTL_NODE(_vfs_nfsd, OID_AUTO, fha, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "NFS File Handle Affinity (FHA)"); + +SYSCTL_UINT(_vfs_nfsd_fha, + OID_AUTO, enable, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfsfha_ctls).enable, 0, + "Enable NFS File Handle Affinity (FHA)"); + +SYSCTL_UINT(_vfs_nfsd_fha, + OID_AUTO, read, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfsfha_ctls).read, 0, + "Enable NFS FHA read locality"); + +SYSCTL_UINT(_vfs_nfsd_fha, + OID_AUTO, write, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfsfha_ctls).write, 0, + "Enable NFS FHA write locality"); + +SYSCTL_UINT(_vfs_nfsd_fha, + OID_AUTO, bin_shift, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfsfha_ctls).bin_shift, 0, + "Maximum locality distance 2^(bin_shift) bytes"); + +SYSCTL_UINT(_vfs_nfsd_fha, + OID_AUTO, max_nfsds_per_fh, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfsfha_ctls).max_nfsds_per_fh, 0, + "Maximum nfsd threads that " + "should be working on requests for the same file handle"); + +SYSCTL_UINT(_vfs_nfsd_fha, + OID_AUTO, max_reqs_per_nfsd, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfsfha_ctls).max_reqs_per_nfsd, 0, "Maximum requests that " + "single nfsd thread should be working on at any time"); + +SYSCTL_PROC(_vfs_nfsd_fha, OID_AUTO, fhe_stats, + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, 0, 0, + fhenew_stats_sysctl, "A", ""); extern int newnfs_nfsv3_procid[]; @@ -78,68 +116,19 @@ fhanew_init(void *foo) snprintf(softc->server_name, sizeof(softc->server_name), FHANEW_SERVER_NAME); - /* - * Initialize the sysctl context list for the fha module. - */ - sysctl_ctx_init(&softc->sysctl_ctx); - if (IS_DEFAULT_VNET(curvnet)) { - softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_vfs_nfsd), OID_AUTO, "fha", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "NFS File Handle Affinity (FHA)"); - if (softc->sysctl_tree == NULL) { - printf("%s: unable to allocate sysctl tree\n", __func__); - return; - } - } - for (i = 0; i < FHA_HASH_SIZE; i++) mtx_init(&softc->fha_hash[i].mtx, "fhalock", NULL, MTX_DEF); /* * Set the default tuning parameters. */ - softc->ctls.enable = FHA_DEF_ENABLE; - softc->ctls.read = FHA_DEF_READ; - softc->ctls.write = FHA_DEF_WRITE; - softc->ctls.bin_shift = FHA_DEF_BIN_SHIFT; - softc->ctls.max_nfsds_per_fh = FHA_DEF_MAX_NFSDS_PER_FH; - softc->ctls.max_reqs_per_nfsd = FHA_DEF_MAX_REQS_PER_NFSD; + NFSD_VNET(nfsfha_ctls).enable = FHA_DEF_ENABLE; + NFSD_VNET(nfsfha_ctls).read = FHA_DEF_READ; + NFSD_VNET(nfsfha_ctls).write = FHA_DEF_WRITE; + NFSD_VNET(nfsfha_ctls).bin_shift = FHA_DEF_BIN_SHIFT; + NFSD_VNET(nfsfha_ctls).max_nfsds_per_fh = FHA_DEF_MAX_NFSDS_PER_FH; + NFSD_VNET(nfsfha_ctls).max_reqs_per_nfsd = FHA_DEF_MAX_REQS_PER_NFSD; - /* - * Add sysctls so the user can change the tuning parameters. - */ - if (IS_DEFAULT_VNET(curvnet)) { - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "enable", CTLFLAG_RWTUN, - &softc->ctls.enable, 0, "Enable NFS File Handle Affinity (FHA)"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "read", CTLFLAG_RWTUN, - &softc->ctls.read, 0, "Enable NFS FHA read locality"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "write", CTLFLAG_RWTUN, - &softc->ctls.write, 0, "Enable NFS FHA write locality"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "bin_shift", CTLFLAG_RWTUN, - &softc->ctls.bin_shift, 0, - "Maximum locality distance 2^(bin_shift) bytes"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "max_nfsds_per_fh", CTLFLAG_RWTUN, - &softc->ctls.max_nfsds_per_fh, 0, "Maximum nfsd threads that " - "should be working on requests for the same file handle"); - - SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "max_reqs_per_nfsd", CTLFLAG_RWTUN, - &softc->ctls.max_reqs_per_nfsd, 0, "Maximum requests that " - "single nfsd thread should be working on at any time"); - - SYSCTL_ADD_OID(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), - OID_AUTO, "fhe_stats", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, - 0, 0, fhenew_stats_sysctl, "A", ""); - } } static void @@ -150,7 +139,6 @@ fhanew_uninit(void *foo) softc = NFSD_VNET(fhanew_softc); - sysctl_ctx_free(&softc->sysctl_ctx); for (i = 0; i < FHA_HASH_SIZE; i++) mtx_destroy(&softc->fha_hash[i].mtx); free(softc, M_TEMP); @@ -489,8 +477,8 @@ fha_hash_entry_choose_thread(struct fha_params *softc, } /* Check whether we should consider locality. */ - if ((i->read && !softc->ctls.read) || - (i->write && !softc->ctls.write)) + if ((i->read && !NFSD_VNET(nfsfha_ctls).read) || + (i->write && !NFSD_VNET(nfsfha_ctls).write)) goto noloc; /* @@ -501,11 +489,11 @@ fha_hash_entry_choose_thread(struct fha_params *softc, offset2 = thread->st_p3; if (((offset1 >= offset2) - && ((offset1 - offset2) < (1 << softc->ctls.bin_shift))) + && ((offset1 - offset2) < (1 << NFSD_VNET(nfsfha_ctls).bin_shift))) || ((offset2 > offset1) - && ((offset2 - offset1) < (1 << softc->ctls.bin_shift)))) { - if ((softc->ctls.max_reqs_per_nfsd == 0) || - (req_count < softc->ctls.max_reqs_per_nfsd)) { + && ((offset2 - offset1) < (1 << NFSD_VNET(nfsfha_ctls).bin_shift)))) { + if ((NFSD_VNET(nfsfha_ctls).max_reqs_per_nfsd == 0) || + (req_count < NFSD_VNET(nfsfha_ctls).max_reqs_per_nfsd)) { #if 0 ITRACE_CURPROC(ITRACE_NFS, ITRACE_INFO, "fha: %p(%d)r", thread, req_count); @@ -535,8 +523,8 @@ noloc: * We didn't find a good match yet. See if we can add * a new thread to this file handle entry's thread list. */ - if ((softc->ctls.max_nfsds_per_fh == 0) || - (fhe->num_threads < softc->ctls.max_nfsds_per_fh)) { + if ((NFSD_VNET(nfsfha_ctls).max_nfsds_per_fh == 0) || + (fhe->num_threads < NFSD_VNET(nfsfha_ctls).max_nfsds_per_fh)) { thread = this_thread; #if 0 ITRACE_CURPROC(ITRACE_NFS, ITRACE_INFO, @@ -569,7 +557,7 @@ fhanew_assign(SVCTHREAD *this_thread, struct svc_req *req) NFSD_CURVNET_SET(NFSD_TD_TO_VNET(curthread)); softc = NFSD_VNET(fhanew_softc); /* Check to see whether we're enabled. */ - if (softc->ctls.enable == 0) + if (NFSD_VNET(nfsfha_ctls).enable == 0) goto thist; /* diff --git a/sys/fs/nfsserver/nfs_fha_new.h b/sys/fs/nfsserver/nfs_fha_new.h index 08f52539450e..5510fa2891f1 100644 --- a/sys/fs/nfsserver/nfs_fha_new.h +++ b/sys/fs/nfsserver/nfs_fha_new.h @@ -95,9 +95,6 @@ struct fha_info { struct fha_params { struct fha_hash_slot fha_hash[FHA_HASH_SIZE]; - struct sysctl_ctx_list sysctl_ctx; - struct sysctl_oid *sysctl_tree; - struct fha_ctls ctls; char server_name[32]; }; From nobody Wed May 17 02:12:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLc815ZgBz4BkmT; Wed, 17 May 2023 02:12:49 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from glebi.us (glebi.us [162.251.186.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4QLc805Y8lz3F2Z; Wed, 17 May 2023 02:12:48 +0000 (UTC) (envelope-from glebius@freebsd.org) Authentication-Results: mx1.freebsd.org; dkim=none; spf=softfail (mx1.freebsd.org: 162.251.186.162 is neither permitted nor denied by domain of glebius@freebsd.org) smtp.mailfrom=glebius@freebsd.org; dmarc=none Received: by glebi.us (Postfix, from userid 1000) id 296CABCC; Tue, 16 May 2023 19:12:42 -0700 (PDT) Date: Tue, 16 May 2023 19:12:42 -0700 From: Gleb Smirnoff To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: HEADS UP: broken boot! Was: git: 2f131435bc22 - main - stand: efi create eficom console device. Message-ID: References: <202305112006.34BK6kPw019492@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Zud8Xl36IPk5ca78" Content-Disposition: inline In-Reply-To: <202305112006.34BK6kPw019492@gitrepo.freebsd.org> X-Spamd-Result: default: False [0.97 / 15.00]; VIOLATED_DIRECT_SPF(3.50)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.995]; NEURAL_HAM_SHORT(-0.90)[-0.896]; NEURAL_HAM_LONG(-0.64)[-0.635]; MIME_GOOD(-0.10)[multipart/mixed,text/plain,text/x-diff]; RCVD_NO_TLS_LAST(0.10)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; ASN(0.00)[asn:27348, ipnet:162.251.186.0/24, country:US]; MIME_TRACE(0.00)[0:+,1:+,2:+]; R_DKIM_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; SUBJECT_HAS_EXCLAIM(0.00)[]; ARC_NA(0.00)[]; DMARC_NA(0.00)[freebsd.org]; R_SPF_SOFTFAIL(0.00)[~all:c]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[glebius]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_THREE(0.00)[3]; HAS_ATTACHMENT(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4QLc805Y8lz3F2Z X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N --Zud8Xl36IPk5ca78 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, this commit breaks boot on some machines with EFI. Warner already knows and he provided a quick hack to make it bootable. The proper fix will be available later. Meanwhile you are advised to not update your loader past 2f131435bc22, or use the patch (attached). On Thu, May 11, 2023 at 08:06:46PM +0000, Warner Losh wrote: W> The branch main has been updated by imp: W> W> URL: https://cgit.FreeBSD.org/src/commit/?id=2f131435bc22540db2d3f6bf97e5f9fe7039f889 W> W> commit 2f131435bc22540db2d3f6bf97e5f9fe7039f889 W> Author: Warner Losh W> AuthorDate: 2023-05-11 20:03:17 +0000 W> Commit: Warner Losh W> CommitDate: 2023-05-11 20:06:03 +0000 W> W> stand: efi create eficom console device. W> W> Fix the 'renaming kludge' that we absolutely cannot do going forward W> (it's cost us days of engineering time). W> W> console=comconsole talks to the hardware directly. This is available W> only on amd64. It is not available anywhere else (and so requires W> changes for people doing comconsole on aarch64) W> W> console=eficom talks to the console via EFI protocols. It's available W> on amd64, aarch64 and riscv64. It's the first port that we find, though W> it can be overriden by efi_com_port (which should be set to the UID of W> the serial port, not the I/O port, despite the name). devinfo -v W> will give the UID to uartX mapping. W> W> This is an incompatible change for HYPER-V on amd64. It only works with W> eficom console, so you'll need to change your configuration in W> loader.conf. No compatibility hack will ever be provided for this (since W> it requires renamig, which the loader cannot reliably do). W> W> It's also an incompatible change for aarch64. comconsole will need to W> change to eficom. There might be a comconsole "shim" for this. W> W> All the interlock to keep only eficom and comconsole from both attaching W> have been removed. W> W> RelNotes: Yes W> Sponsored by: Netflix W> Discussed with: kevans W> Differential Revision: https://reviews.freebsd.org/D39982 W> --- W> stand/efi/loader/conf.c | 12 ++---- W> stand/efi/loader/efiserialio.c | 85 +++++++++++++++++------------------------ W> stand/i386/libi386/comconsole.c | 14 ------- W> 3 files changed, 39 insertions(+), 72 deletions(-) W> W> diff --git a/stand/efi/loader/conf.c b/stand/efi/loader/conf.c W> index 051e1a3381d1..e9ae01d19270 100644 W> --- a/stand/efi/loader/conf.c W> +++ b/stand/efi/loader/conf.c W> @@ -80,22 +80,18 @@ struct netif_driver *netif_drivers[] = { W> }; W> W> extern struct console efi_console; W> -extern struct console comconsole; W> -#if defined(__amd64__) W> -extern struct console eficomconsole; W> -#endif W> +extern struct console eficom; W> #if defined(__amd64__) || defined(__i386__) W> +extern struct console comconsole; W> extern struct console nullconsole; W> extern struct console spinconsole; W> #endif W> W> struct console *consoles[] = { W> &efi_console, W> -#if defined(__amd64__) W> - &eficomconsole, W> -#endif W> - &comconsole, W> + &eficom, W> #if defined(__amd64__) || defined(__i386__) W> + &comconsole, W> &nullconsole, W> &spinconsole, W> #endif W> diff --git a/stand/efi/loader/efiserialio.c b/stand/efi/loader/efiserialio.c W> index 0f37ef8b87dd..de4d6b3e34c1 100644 W> --- a/stand/efi/loader/efiserialio.c W> +++ b/stand/efi/loader/efiserialio.c W> @@ -69,14 +69,9 @@ static int comc_speed_set(struct env_var *, int, const void *); W> W> static struct serial *comc_port; W> extern struct console efi_console; W> -bool efi_comconsole_avail = false; W> W> -#if defined(__amd64__) W> -#define comconsole eficomconsole W> -#endif W> - W> -struct console comconsole = { W> - .c_name = "comconsole", W> +struct console eficom = { W> + .c_name = "eficom", W> .c_desc = "serial port", W> .c_flags = 0, W> .c_probe = comc_probe, W> @@ -259,18 +254,6 @@ comc_probe(struct console *sc) W> char *env, *buf, *ep; W> size_t sz; W> W> -#if defined(__amd64__) W> - /* W> - * For x86-64, don't use this driver if not running in Hyper-V. W> - */ W> - env = getenv("smbios.bios.version"); W> - if (env == NULL || strncmp(env, "Hyper-V", 7) != 0) { W> - /* Disable being seen as "comconsole". */ W> - comconsole.c_name = "efiserialio"; W> - return; W> - } W> -#endif W> - W> if (comc_port == NULL) { W> comc_port = calloc(1, sizeof (struct serial)); W> if (comc_port == NULL) W> @@ -339,13 +322,9 @@ comc_probe(struct console *sc) W> env_setenv("efi_com_speed", EV_VOLATILE, value, W> comc_speed_set, env_nounset); W> W> - comconsole.c_flags = 0; W> + eficom.c_flags = 0; W> if (comc_setup()) { W> sc->c_flags = C_PRESENTIN | C_PRESENTOUT; W> - efi_comconsole_avail = true; W> - } else { W> - /* disable being seen as "comconsole" */ W> - comconsole.c_name = "efiserialio"; W> } W> } W> W> @@ -356,7 +335,7 @@ comc_init(int arg __unused) W> if (comc_setup()) W> return (CMD_OK); W> W> - comconsole.c_flags = 0; W> + eficom.c_flags = 0; W> return (CMD_ERROR); W> } W> W> @@ -522,35 +501,41 @@ comc_setup(void) W> if (comc_port->sio == NULL) W> return (false); W> W> - status = comc_port->sio->Reset(comc_port->sio); W> - if (EFI_ERROR(status)) W> - return (false); W> - W> - ev = getenv("smbios.bios.version"); W> - if (ev != NULL && strncmp(ev, "Hyper-V", 7) == 0) { W> - status = comc_port->sio->SetAttributes(comc_port->sio, W> - 0, 0, 0, DefaultParity, 0, DefaultStopBits); W> - } else { W> - status = comc_port->sio->SetAttributes(comc_port->sio, W> - comc_port->baudrate, comc_port->receivefifodepth, W> - comc_port->timeout, comc_port->parity, W> - comc_port->databits, comc_port->stopbits); W> + if (comc_port->sio->Reset != NULL) { W> + status = comc_port->sio->Reset(comc_port->sio); W> + if (EFI_ERROR(status)) W> + return (false); W> } W> W> - if (EFI_ERROR(status)) W> - return (false); W> + if (comc_port->sio->SetAttributes != NULL) { W> + ev = getenv("smbios.bios.version"); W> + if (ev != NULL && strncmp(ev, "Hyper-V", 7) == 0) { W> + status = comc_port->sio->SetAttributes(comc_port->sio, W> + 0, 0, 0, DefaultParity, 0, DefaultStopBits); W> + } else { W> + status = comc_port->sio->SetAttributes(comc_port->sio, W> + comc_port->baudrate, comc_port->receivefifodepth, W> + comc_port->timeout, comc_port->parity, W> + comc_port->databits, comc_port->stopbits); W> + } W> W> - status = comc_port->sio->GetControl(comc_port->sio, &control); W> - if (EFI_ERROR(status)) W> - return (false); W> - if (comc_port->rtsdtr_off) { W> - control &= ~(EFI_SERIAL_REQUEST_TO_SEND | W> - EFI_SERIAL_DATA_TERMINAL_READY); W> - } else { W> - control |= EFI_SERIAL_REQUEST_TO_SEND; W> + if (EFI_ERROR(status)) W> + return (false); W> + } W> + W> + if (comc_port->sio->GetControl != NULL && comc_port->sio->SetControl != NULL) { W> + status = comc_port->sio->GetControl(comc_port->sio, &control); W> + if (EFI_ERROR(status)) W> + return (false); W> + if (comc_port->rtsdtr_off) { W> + control &= ~(EFI_SERIAL_REQUEST_TO_SEND | W> + EFI_SERIAL_DATA_TERMINAL_READY); W> + } else { W> + control |= EFI_SERIAL_REQUEST_TO_SEND; W> + } W> + (void) comc_port->sio->SetControl(comc_port->sio, control); W> } W> - (void) comc_port->sio->SetControl(comc_port->sio, control); W> /* Mark this port usable. */ W> - comconsole.c_flags |= (C_PRESENTIN | C_PRESENTOUT); W> + eficom.c_flags |= (C_PRESENTIN | C_PRESENTOUT); W> return (true); W> } W> diff --git a/stand/i386/libi386/comconsole.c b/stand/i386/libi386/comconsole.c W> index 507cd0ec922f..6d48e876fa37 100644 W> --- a/stand/i386/libi386/comconsole.c W> +++ b/stand/i386/libi386/comconsole.c W> @@ -85,20 +85,6 @@ comc_probe(struct console *cp) W> int speed, port; W> uint32_t locator; W> W> -#if defined(__amd64__) W> - extern bool efi_comconsole_avail; W> - W> - if (efi_comconsole_avail) { W> - /* W> - * If EFI provides serial I/O, then don't use this legacy W> - * com driver to avoid conflicts with the firmware's driver. W> - * Change c_name so that it cannot be found in the lookup. W> - */ W> - comconsole.c_name = "xcomconsole"; W> - return; W> - } W> -#endif W> - W> if (comc_curspeed == 0) { W> comc_curspeed = COMSPEED; W> /* -- Gleb Smirnoff --Zud8Xl36IPk5ca78 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="comc_probe_hack.diff" diff --git a/stand/efi/libefi/eficom.c b/stand/efi/libefi/eficom.c index b1c84399a05..57b57b8f2ac 100644 --- a/stand/efi/libefi/eficom.c +++ b/stand/efi/libefi/eficom.c @@ -281,6 +281,7 @@ comc_probe(struct console *sc) if (comc_parse_intval(env, &val) == CMD_OK) { comc_port->ioaddr = val; } else { +#if 0 /* * efi_com_port is not set, we need to select default. * First, we consult ConOut variable to see if @@ -289,6 +290,10 @@ comc_probe(struct console *sc) */ handle = comc_get_con_serial_handle("ConOut"); comc_port->condev = handle; +#else + comc_port->sio = NULL; + return; +#endif } handle = efi_serial_get_handle(comc_port->ioaddr, handle); --Zud8Xl36IPk5ca78-- From nobody Wed May 17 02:19:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLcHw26XHz4Bl5l for ; Wed, 17 May 2023 02:19:40 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (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 4QLcHv3XNWz3FFk for ; Wed, 17 May 2023 02:19:39 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-50bc22805d3so308906a12.1 for ; Tue, 16 May 2023 19:19:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20221208.gappssmtp.com; s=20221208; t=1684289976; x=1686881976; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=oE0dlyP9R7sepyE/wilkY/wqYrVOawrLdN4ZiJH31Gc=; b=PC1eIcrHCgvEtEGNLiuHjMKks9jNLM6DjljM/5mzBEHn4ENogSWaaQgVnGTxObA/Cf p6t8hY4vpTGTOjKg6hyJc1T6HAef4lW8Vhocbi4V27oiWFLYLAjIxNPoRWw51HZtyHWY Ari+2HivJX8G6YreSZj17n28QqPRSdwLViyAlc3uNlwQiDKp89XSGxso394e454QLZ+s +7OTcawswRd9hanXYe7z7e1e7arEYxOpUMVudKgGW5y1Q8wxCgzD0p65uB7m33NOwTZw JeP7G1d3lilwYXixRb5wt0HPEIk7/U7hivLVL3Uf/njqBUf7M8d/GWJr3Z3uNkDZOf15 GMbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684289976; x=1686881976; h=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=oE0dlyP9R7sepyE/wilkY/wqYrVOawrLdN4ZiJH31Gc=; b=aB4HINuaqASy/Zeoz7ck6dN2s76mQJC5O3IB+tYx3r/TbCnl08o2E0UUbd9xJPl2T9 ILWYsWtDLuXbPq05l44K64YSpLYeiataEQf/1zZqBfMZYDnD5geCJ/YIBz4noixw1QiW 2K7RHtCVgG3pC97V4taLU2Cmx3QgwcQ7YnitSW9Zh/GxqDiJDQQvef5ASgyJThP3/ozu fXPqg0XwFeOcxwHh+KBDnFhH5Gspv40LNQm1r7F3xZYrE7nkJiQ7YMcJIiggP1Bpbs+t SuwfiTs+cFxxjX/6cp6ZwjdrNeIrtkCFQyZfvKfipCortifsYnL1XvpGQxIFXVXTjTLL Xpcw== X-Gm-Message-State: AC+VfDwKH2D9L7Sey+gowjvshFrf1BJCXmDfcDB6A25P5FW3uUFf7ASH 5DQNQENv1D8s7ulOAXZ8MN7i7A2Tidg+eIhPtlqHow== X-Google-Smtp-Source: ACHHUZ5rw/PtnQWSKyXokblvIkpZv82bJWbQzhCUv7m7jantv86DcCZlko1EYBehGRZqXFFOBGmBVi+DQVTxieJHSqk= X-Received: by 2002:a17:906:7949:b0:969:ffcb:1eb4 with SMTP id l9-20020a170906794900b00969ffcb1eb4mr25049988ejo.2.1684289976260; Tue, 16 May 2023 19:19:36 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202305112006.34BK6kPw019492@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Tue, 16 May 2023 20:19:25 -0600 Message-ID: Subject: Re: HEADS UP: broken boot! Was: git: 2f131435bc22 - main - stand: efi create eficom console device. To: Gleb Smirnoff Cc: src-committers , "" , "" Content-Type: multipart/alternative; boundary="000000000000bbea4f05fbda5104" X-Rspamd-Queue-Id: 4QLcHv3XNWz3FFk X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --000000000000bbea4f05fbda5104 Content-Type: text/plain; charset="UTF-8" On Tue, May 16, 2023, 10:12 PM Gleb Smirnoff wrote: > Hi, > > this commit breaks boot on some machines with EFI. Warner already knows > and he > provided a quick hack to make it bootable. The proper fix will be > available later. > > Meanwhile you are advised to not update your loader past 2f131435bc22, or > use the patch (attached). > It breaks dual console loaders. I should have a fix in the morning. Too much bsdcan cheer tonight to think straight. Warner On Thu, May 11, 2023 at 08:06:46PM +0000, Warner Losh wrote: > W> The branch main has been updated by imp: > W> > W> URL: > https://cgit.FreeBSD.org/src/commit/?id=2f131435bc22540db2d3f6bf97e5f9fe7039f889 > W> > W> commit 2f131435bc22540db2d3f6bf97e5f9fe7039f889 > W> Author: Warner Losh > W> AuthorDate: 2023-05-11 20:03:17 +0000 > W> Commit: Warner Losh > W> CommitDate: 2023-05-11 20:06:03 +0000 > W> > W> stand: efi create eficom console device. > W> > W> Fix the 'renaming kludge' that we absolutely cannot do going forward > W> (it's cost us days of engineering time). > W> > W> console=comconsole talks to the hardware directly. This is available > W> only on amd64. It is not available anywhere else (and so requires > W> changes for people doing comconsole on aarch64) > W> > W> console=eficom talks to the console via EFI protocols. It's > available > W> on amd64, aarch64 and riscv64. It's the first port that we find, > though > W> it can be overriden by efi_com_port (which should be set to the UID > of > W> the serial port, not the I/O port, despite the name). devinfo -v > W> will give the UID to uartX mapping. > W> > W> This is an incompatible change for HYPER-V on amd64. It only works > with > W> eficom console, so you'll need to change your configuration in > W> loader.conf. No compatibility hack will ever be provided for this > (since > W> it requires renamig, which the loader cannot reliably do). > W> > W> It's also an incompatible change for aarch64. comconsole will need > to > W> change to eficom. There might be a comconsole "shim" for this. > W> > W> All the interlock to keep only eficom and comconsole from both > attaching > W> have been removed. > W> > W> RelNotes: Yes > W> Sponsored by: Netflix > W> Discussed with: kevans > W> Differential Revision: https://reviews.freebsd.org/D39982 > W> --- > W> stand/efi/loader/conf.c | 12 ++---- > W> stand/efi/loader/efiserialio.c | 85 > +++++++++++++++++------------------------ > W> stand/i386/libi386/comconsole.c | 14 ------- > W> 3 files changed, 39 insertions(+), 72 deletions(-) > W> > W> diff --git a/stand/efi/loader/conf.c b/stand/efi/loader/conf.c > W> index 051e1a3381d1..e9ae01d19270 100644 > W> --- a/stand/efi/loader/conf.c > W> +++ b/stand/efi/loader/conf.c > W> @@ -80,22 +80,18 @@ struct netif_driver *netif_drivers[] = { > W> }; > W> > W> extern struct console efi_console; > W> -extern struct console comconsole; > W> -#if defined(__amd64__) > W> -extern struct console eficomconsole; > W> -#endif > W> +extern struct console eficom; > W> #if defined(__amd64__) || defined(__i386__) > W> +extern struct console comconsole; > W> extern struct console nullconsole; > W> extern struct console spinconsole; > W> #endif > W> > W> struct console *consoles[] = { > W> &efi_console, > W> -#if defined(__amd64__) > W> - &eficomconsole, > W> -#endif > W> - &comconsole, > W> + &eficom, > W> #if defined(__amd64__) || defined(__i386__) > W> + &comconsole, > W> &nullconsole, > W> &spinconsole, > W> #endif > W> diff --git a/stand/efi/loader/efiserialio.c > b/stand/efi/loader/efiserialio.c > W> index 0f37ef8b87dd..de4d6b3e34c1 100644 > W> --- a/stand/efi/loader/efiserialio.c > W> +++ b/stand/efi/loader/efiserialio.c > W> @@ -69,14 +69,9 @@ static int comc_speed_set(struct env_var *, > int, const void *); > W> > W> static struct serial *comc_port; > W> extern struct console efi_console; > W> -bool efi_comconsole_avail = false; > W> > W> -#if defined(__amd64__) > W> -#define comconsole eficomconsole > W> -#endif > W> - > W> -struct console comconsole = { > W> - .c_name = "comconsole", > W> +struct console eficom = { > W> + .c_name = "eficom", > W> .c_desc = "serial port", > W> .c_flags = 0, > W> .c_probe = comc_probe, > W> @@ -259,18 +254,6 @@ comc_probe(struct console *sc) > W> char *env, *buf, *ep; > W> size_t sz; > W> > W> -#if defined(__amd64__) > W> - /* > W> - * For x86-64, don't use this driver if not running in Hyper-V. > W> - */ > W> - env = getenv("smbios.bios.version"); > W> - if (env == NULL || strncmp(env, "Hyper-V", 7) != 0) { > W> - /* Disable being seen as "comconsole". */ > W> - comconsole.c_name = "efiserialio"; > W> - return; > W> - } > W> -#endif > W> - > W> if (comc_port == NULL) { > W> comc_port = calloc(1, sizeof (struct serial)); > W> if (comc_port == NULL) > W> @@ -339,13 +322,9 @@ comc_probe(struct console *sc) > W> env_setenv("efi_com_speed", EV_VOLATILE, value, > W> comc_speed_set, env_nounset); > W> > W> - comconsole.c_flags = 0; > W> + eficom.c_flags = 0; > W> if (comc_setup()) { > W> sc->c_flags = C_PRESENTIN | C_PRESENTOUT; > W> - efi_comconsole_avail = true; > W> - } else { > W> - /* disable being seen as "comconsole" */ > W> - comconsole.c_name = "efiserialio"; > W> } > W> } > W> > W> @@ -356,7 +335,7 @@ comc_init(int arg __unused) > W> if (comc_setup()) > W> return (CMD_OK); > W> > W> - comconsole.c_flags = 0; > W> + eficom.c_flags = 0; > W> return (CMD_ERROR); > W> } > W> > W> @@ -522,35 +501,41 @@ comc_setup(void) > W> if (comc_port->sio == NULL) > W> return (false); > W> > W> - status = comc_port->sio->Reset(comc_port->sio); > W> - if (EFI_ERROR(status)) > W> - return (false); > W> - > W> - ev = getenv("smbios.bios.version"); > W> - if (ev != NULL && strncmp(ev, "Hyper-V", 7) == 0) { > W> - status = comc_port->sio->SetAttributes(comc_port->sio, > W> - 0, 0, 0, DefaultParity, 0, DefaultStopBits); > W> - } else { > W> - status = comc_port->sio->SetAttributes(comc_port->sio, > W> - comc_port->baudrate, comc_port->receivefifodepth, > W> - comc_port->timeout, comc_port->parity, > W> - comc_port->databits, comc_port->stopbits); > W> + if (comc_port->sio->Reset != NULL) { > W> + status = comc_port->sio->Reset(comc_port->sio); > W> + if (EFI_ERROR(status)) > W> + return (false); > W> } > W> > W> - if (EFI_ERROR(status)) > W> - return (false); > W> + if (comc_port->sio->SetAttributes != NULL) { > W> + ev = getenv("smbios.bios.version"); > W> + if (ev != NULL && strncmp(ev, "Hyper-V", 7) == 0) { > W> + status = > comc_port->sio->SetAttributes(comc_port->sio, > W> + 0, 0, 0, DefaultParity, 0, DefaultStopBits); > W> + } else { > W> + status = > comc_port->sio->SetAttributes(comc_port->sio, > W> + comc_port->baudrate, > comc_port->receivefifodepth, > W> + comc_port->timeout, comc_port->parity, > W> + comc_port->databits, comc_port->stopbits); > W> + } > W> > W> - status = comc_port->sio->GetControl(comc_port->sio, &control); > W> - if (EFI_ERROR(status)) > W> - return (false); > W> - if (comc_port->rtsdtr_off) { > W> - control &= ~(EFI_SERIAL_REQUEST_TO_SEND | > W> - EFI_SERIAL_DATA_TERMINAL_READY); > W> - } else { > W> - control |= EFI_SERIAL_REQUEST_TO_SEND; > W> + if (EFI_ERROR(status)) > W> + return (false); > W> + } > W> + > W> + if (comc_port->sio->GetControl != NULL && > comc_port->sio->SetControl != NULL) { > W> + status = comc_port->sio->GetControl(comc_port->sio, > &control); > W> + if (EFI_ERROR(status)) > W> + return (false); > W> + if (comc_port->rtsdtr_off) { > W> + control &= ~(EFI_SERIAL_REQUEST_TO_SEND | > W> + EFI_SERIAL_DATA_TERMINAL_READY); > W> + } else { > W> + control |= EFI_SERIAL_REQUEST_TO_SEND; > W> + } > W> + (void) comc_port->sio->SetControl(comc_port->sio, control); > W> } > W> - (void) comc_port->sio->SetControl(comc_port->sio, control); > W> /* Mark this port usable. */ > W> - comconsole.c_flags |= (C_PRESENTIN | C_PRESENTOUT); > W> + eficom.c_flags |= (C_PRESENTIN | C_PRESENTOUT); > W> return (true); > W> } > W> diff --git a/stand/i386/libi386/comconsole.c > b/stand/i386/libi386/comconsole.c > W> index 507cd0ec922f..6d48e876fa37 100644 > W> --- a/stand/i386/libi386/comconsole.c > W> +++ b/stand/i386/libi386/comconsole.c > W> @@ -85,20 +85,6 @@ comc_probe(struct console *cp) > W> int speed, port; > W> uint32_t locator; > W> > W> -#if defined(__amd64__) > W> - extern bool efi_comconsole_avail; > W> - > W> - if (efi_comconsole_avail) { > W> - /* > W> - * If EFI provides serial I/O, then don't use this legacy > W> - * com driver to avoid conflicts with the firmware's > driver. > W> - * Change c_name so that it cannot be found in the lookup. > W> - */ > W> - comconsole.c_name = "xcomconsole"; > W> - return; > W> - } > W> -#endif > W> - > W> if (comc_curspeed == 0) { > W> comc_curspeed = COMSPEED; > W> /* > > -- > Gleb Smirnoff > --000000000000bbea4f05fbda5104 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, May 16, 2023, 10:12 PM Gleb Smirnoff <glebius@freebsd.org> wrote:
=C2=A0 Hi,

this commit breaks boot on some machines with EFI. Warner already knows and= he
provided a quick hack to make it bootable. The proper fix will be available= later.

Meanwhile you are advised to not update your loader past 2f131435bc22, or <= br> use the patch (attached).
It breaks dual console loaders. I should have a fi= x in the morning. Too much bsdcan cheer tonight to think straight.=C2=A0

Warner=C2=A0

On Thu, May 11, 2023 at 08:06:46PM +0000, Warner Losh wrote:
W> The branch main has been updated by imp:
W>
W> URL: https://cgit.FreeBSD.org/src/commit/?id=3D2f131435bc22540db2d3f6bf97e5f= 9fe7039f889
W>
W> commit 2f131435bc22540db2d3f6bf97e5f9fe7039f889
W> Author:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
W> AuthorDate: 2023-05-11 20:03:17 +0000
W> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
W> CommitDate: 2023-05-11 20:06:03 +0000
W>
W>=C2=A0 =C2=A0 =C2=A0stand: efi create eficom console device.
W>=C2=A0 =C2=A0 =C2=A0
W>=C2=A0 =C2=A0 =C2=A0Fix the 'renaming kludge' that we absolute= ly cannot do going forward
W>=C2=A0 =C2=A0 =C2=A0(it's cost us days of engineering time).
W>=C2=A0 =C2=A0 =C2=A0
W>=C2=A0 =C2=A0 =C2=A0console=3Dcomconsole talks to the hardware directl= y. This is available
W>=C2=A0 =C2=A0 =C2=A0only on amd64. It is not available anywhere else (= and so requires
W>=C2=A0 =C2=A0 =C2=A0changes for people doing comconsole on aarch64) W>=C2=A0 =C2=A0 =C2=A0
W>=C2=A0 =C2=A0 =C2=A0console=3Deficom talks to the console via EFI prot= ocols.=C2=A0 It's available
W>=C2=A0 =C2=A0 =C2=A0on amd64, aarch64 and riscv64. It's the first = port that we find, though
W>=C2=A0 =C2=A0 =C2=A0it can be overriden by efi_com_port (which should = be set to the UID of
W>=C2=A0 =C2=A0 =C2=A0the serial port, not the I/O port, despite the nam= e). devinfo -v
W>=C2=A0 =C2=A0 =C2=A0will give the UID to uartX mapping.
W>=C2=A0 =C2=A0 =C2=A0
W>=C2=A0 =C2=A0 =C2=A0This is an incompatible change for HYPER-V on amd6= 4. It only works with
W>=C2=A0 =C2=A0 =C2=A0eficom console, so you'll need to change your = configuration in
W>=C2=A0 =C2=A0 =C2=A0loader.conf. No compatibility hack will ever be pr= ovided for this (since
W>=C2=A0 =C2=A0 =C2=A0it requires renamig, which the loader cannot relia= bly do).
W>=C2=A0 =C2=A0 =C2=A0
W>=C2=A0 =C2=A0 =C2=A0It's also an incompatible change for aarch64. = comconsole will need to
W>=C2=A0 =C2=A0 =C2=A0change to eficom. There might be a comconsole &quo= t;shim" for this.
W>=C2=A0 =C2=A0 =C2=A0
W>=C2=A0 =C2=A0 =C2=A0All the interlock to keep only eficom and comconso= le from both attaching
W>=C2=A0 =C2=A0 =C2=A0have been removed.
W>=C2=A0 =C2=A0 =C2=A0
W>=C2=A0 =C2=A0 =C2=A0RelNotes:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0Yes
W>=C2=A0 =C2=A0 =C2=A0Sponsored by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0Netflix
W>=C2=A0 =C2=A0 =C2=A0Discussed with:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0k= evans
W>=C2=A0 =C2=A0 =C2=A0Differential Revision:=C2=A0 h= ttps://reviews.freebsd.org/D39982
W> ---
W>=C2=A0 stand/efi/loader/conf.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 12 += +----
W>=C2=A0 stand/efi/loader/efiserialio.c=C2=A0 | 85 +++++++++++++++++----= --------------------
W>=C2=A0 stand/i386/libi386/comconsole.c | 14 -------
W>=C2=A0 3 files changed, 39 insertions(+), 72 deletions(-)
W>
W> diff --git a/stand/efi/loader/conf.c b/stand/efi/loader/conf.c
W> index 051e1a3381d1..e9ae01d19270 100644
W> --- a/stand/efi/loader/conf.c
W> +++ b/stand/efi/loader/conf.c
W> @@ -80,22 +80,18 @@ struct netif_driver *netif_drivers[] =3D {
W>=C2=A0 };
W>=C2=A0
W>=C2=A0 extern struct console efi_console;
W> -extern struct console comconsole;
W> -#if defined(__amd64__)
W> -extern struct console eficomconsole;
W> -#endif
W> +extern struct console eficom;
W>=C2=A0 #if defined(__amd64__) || defined(__i386__)
W> +extern struct console comconsole;
W>=C2=A0 extern struct console nullconsole;
W>=C2=A0 extern struct console spinconsole;
W>=C2=A0 #endif
W>=C2=A0
W>=C2=A0 struct console *consoles[] =3D {
W>=C2=A0 =C2=A0 =C2=A0 &efi_console,
W> -#if defined(__amd64__)
W> -=C2=A0 =C2=A0 &eficomconsole,
W> -#endif
W> -=C2=A0 =C2=A0 &comconsole,
W> +=C2=A0 =C2=A0 &eficom,
W>=C2=A0 #if defined(__amd64__) || defined(__i386__)
W> +=C2=A0 =C2=A0 &comconsole,
W>=C2=A0 =C2=A0 =C2=A0 &nullconsole,
W>=C2=A0 =C2=A0 =C2=A0 &spinconsole,
W>=C2=A0 #endif
W> diff --git a/stand/efi/loader/efiserialio.c b/stand/efi/loader/efiser= ialio.c
W> index 0f37ef8b87dd..de4d6b3e34c1 100644
W> --- a/stand/efi/loader/efiserialio.c
W> +++ b/stand/efi/loader/efiserialio.c
W> @@ -69,14 +69,9 @@ static int=C2=A0 =C2=A0 =C2=A0 =C2=A0 comc_speed_s= et(struct env_var *, int, const void *);
W>=C2=A0
W>=C2=A0 static struct serial=C2=A0 =C2=A0 =C2=A0 =C2=A0 *comc_port;
W>=C2=A0 extern struct console efi_console;
W> -bool efi_comconsole_avail =3D false;
W>=C2=A0
W> -#if defined(__amd64__)
W> -#define comconsole eficomconsole
W> -#endif
W> -
W> -struct console comconsole =3D {
W> -=C2=A0 =C2=A0 .c_name =3D "comconsole",
W> +struct console eficom =3D {
W> +=C2=A0 =C2=A0 .c_name =3D "eficom",
W>=C2=A0 =C2=A0 =C2=A0 .c_desc =3D "serial port",
W>=C2=A0 =C2=A0 =C2=A0 .c_flags =3D 0,
W>=C2=A0 =C2=A0 =C2=A0 .c_probe =3D comc_probe,
W> @@ -259,18 +254,6 @@ comc_probe(struct console *sc)
W>=C2=A0 =C2=A0 =C2=A0 char *env, *buf, *ep;
W>=C2=A0 =C2=A0 =C2=A0 size_t sz;
W>=C2=A0
W> -#if defined(__amd64__)
W> -=C2=A0 =C2=A0 /*
W> -=C2=A0 =C2=A0 =C2=A0* For x86-64, don't use this driver if not r= unning in Hyper-V.
W> -=C2=A0 =C2=A0 =C2=A0*/
W> -=C2=A0 =C2=A0 env =3D getenv("smbios.bios.version");
W> -=C2=A0 =C2=A0 if (env =3D=3D NULL || strncmp(env, "Hyper-V"= ;, 7) !=3D 0) {
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Disable being seen as &= quot;comconsole". */
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comconsole.c_name =3D &quo= t;efiserialio";
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return;
W> -=C2=A0 =C2=A0 }
W> -#endif
W> -
W>=C2=A0 =C2=A0 =C2=A0 if (comc_port =3D=3D NULL) {
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comc_port =3D calloc(= 1, sizeof (struct serial));
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (comc_port =3D=3D = NULL)
W> @@ -339,13 +322,9 @@ comc_probe(struct console *sc)
W>=C2=A0 =C2=A0 =C2=A0 env_setenv("efi_com_speed", EV_VOLATILE= , value,
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comc_speed_set, env_nounset);
W>=C2=A0
W> -=C2=A0 =C2=A0 comconsole.c_flags =3D 0;
W> +=C2=A0 =C2=A0 eficom.c_flags =3D 0;
W>=C2=A0 =C2=A0 =C2=A0 if (comc_setup()) {
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 sc->c_flags =3D C_= PRESENTIN | C_PRESENTOUT;
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 efi_comconsole_avail =3D t= rue;
W> -=C2=A0 =C2=A0 } else {
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* disable being seen as &= quot;comconsole" */
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comconsole.c_name =3D &quo= t;efiserialio";
W>=C2=A0 =C2=A0 =C2=A0 }
W>=C2=A0 }
W>=C2=A0
W> @@ -356,7 +335,7 @@ comc_init(int arg __unused)
W>=C2=A0 =C2=A0 =C2=A0 if (comc_setup())
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (CMD_OK);
W>=C2=A0
W> -=C2=A0 =C2=A0 comconsole.c_flags =3D 0;
W> +=C2=A0 =C2=A0 eficom.c_flags =3D 0;
W>=C2=A0 =C2=A0 =C2=A0 return (CMD_ERROR);
W>=C2=A0 }
W>=C2=A0
W> @@ -522,35 +501,41 @@ comc_setup(void)
W>=C2=A0 =C2=A0 =C2=A0 if (comc_port->sio =3D=3D NULL)
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (false);
W>=C2=A0
W> -=C2=A0 =C2=A0 status =3D comc_port->sio->Reset(comc_port->s= io);
W> -=C2=A0 =C2=A0 if (EFI_ERROR(status))
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (false);
W> -
W> -=C2=A0 =C2=A0 ev =3D getenv("smbios.bios.version");
W> -=C2=A0 =C2=A0 if (ev !=3D NULL && strncmp(ev, "Hyper-V&= quot;, 7) =3D=3D 0) {
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 status =3D comc_port->s= io->SetAttributes(comc_port->sio,
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0, 0, 0, Def= aultParity, 0, DefaultStopBits);
W> -=C2=A0 =C2=A0 } else {
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 status =3D comc_port->s= io->SetAttributes(comc_port->sio,
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comc_port-&g= t;baudrate, comc_port->receivefifodepth,
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comc_port-&g= t;timeout, comc_port->parity,
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comc_port-&g= t;databits, comc_port->stopbits);
W> +=C2=A0 =C2=A0 if (comc_port->sio->Reset !=3D NULL) {
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 status =3D comc_port->s= io->Reset(comc_port->sio);
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (EFI_ERROR(status))
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 return (false);
W>=C2=A0 =C2=A0 =C2=A0 }
W>=C2=A0
W> -=C2=A0 =C2=A0 if (EFI_ERROR(status))
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (false);
W> +=C2=A0 =C2=A0 if (comc_port->sio->SetAttributes !=3D NULL) { W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ev =3D getenv("smbios= .bios.version");
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (ev !=3D NULL &&= ; strncmp(ev, "Hyper-V", 7) =3D=3D 0) {
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 status =3D comc_port->sio->SetAttributes(comc_port->sio,
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 0, 0, 0, DefaultParity, 0, DefaultStopBits);
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else {
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 status =3D comc_port->sio->SetAttributes(comc_port->sio,
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 comc_port->baudrate, comc_port->receivefifodepth, W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 comc_port->timeout, comc_port->parity,
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 comc_port->databits, comc_port->stopbits);
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
W>=C2=A0
W> -=C2=A0 =C2=A0 status =3D comc_port->sio->GetControl(comc_port-= >sio, &control);
W> -=C2=A0 =C2=A0 if (EFI_ERROR(status))
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (false);
W> -=C2=A0 =C2=A0 if (comc_port->rtsdtr_off) {
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 control &=3D ~(EFI_SER= IAL_REQUEST_TO_SEND |
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_SERIAL_D= ATA_TERMINAL_READY);
W> -=C2=A0 =C2=A0 } else {
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 control |=3D EFI_SERIAL_RE= QUEST_TO_SEND;
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (EFI_ERROR(status))
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 return (false);
W> +=C2=A0 =C2=A0 }
W> +
W> +=C2=A0 =C2=A0 if (comc_port->sio->GetControl !=3D NULL &&a= mp; comc_port->sio->SetControl !=3D NULL) {
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 status =3D comc_port->s= io->GetControl(comc_port->sio, &control);
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (EFI_ERROR(status))
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 return (false);
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (comc_port->rtsdtr_o= ff) {
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 control &=3D ~(EFI_SERIAL_REQUEST_TO_SEND |
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 EFI_SERIAL_DATA_TERMINAL_READY);
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else {
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 control |=3D EFI_SERIAL_REQUEST_TO_SEND;
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
W> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (void) comc_port->sio-&= gt;SetControl(comc_port->sio, control);
W>=C2=A0 =C2=A0 =C2=A0 }
W> -=C2=A0 =C2=A0 (void) comc_port->sio->SetControl(comc_port->= sio, control);
W>=C2=A0 =C2=A0 =C2=A0 /* Mark this port usable. */
W> -=C2=A0 =C2=A0 comconsole.c_flags |=3D (C_PRESENTIN | C_PRESENTOUT);<= br> W> +=C2=A0 =C2=A0 eficom.c_flags |=3D (C_PRESENTIN | C_PRESENTOUT);
W>=C2=A0 =C2=A0 =C2=A0 return (true);
W>=C2=A0 }
W> diff --git a/stand/i386/libi386/comconsole.c b/stand/i386/libi386/com= console.c
W> index 507cd0ec922f..6d48e876fa37 100644
W> --- a/stand/i386/libi386/comconsole.c
W> +++ b/stand/i386/libi386/comconsole.c
W> @@ -85,20 +85,6 @@ comc_probe(struct console *cp)
W>=C2=A0 =C2=A0 =C2=A0 int speed, port;
W>=C2=A0 =C2=A0 =C2=A0 uint32_t locator;
W>=C2=A0
W> -#if defined(__amd64__)
W> -=C2=A0 =C2=A0 extern bool efi_comconsole_avail;
W> -
W> -=C2=A0 =C2=A0 if (efi_comconsole_avail) {
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /*
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* If EFI provides se= rial I/O, then don't use this legacy
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* com driver to avoi= d conflicts with the firmware's driver.
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Change c_name so t= hat it cannot be found in the lookup.
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*/
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comconsole.c_name =3D &quo= t;xcomconsole";
W> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return;
W> -=C2=A0 =C2=A0 }
W> -#endif
W> -
W>=C2=A0 =C2=A0 =C2=A0 if (comc_curspeed =3D=3D 0) {
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 comc_curspeed =3D COM= SPEED;
W>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /*

--
Gleb Smirnoff
--000000000000bbea4f05fbda5104-- From nobody Wed May 17 02:40:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLcmK5P2fz4BlkN; Wed, 17 May 2023 02:40: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 4QLcmK4tvQz3GQg; Wed, 17 May 2023 02:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684291249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GwgHYvLObnNWr4M8Oi85gYBeUjjb4K3ErNRAjl2tj6o=; b=SsRNzPukZuwr6u+Skr4WXXrveEWXIUYKilFj6RKfAZQMgq/9KATj//FapOfPQyUiXA8S2l 8LVYhUmXv2tijD9jTuUSyQuW6ntP1nzulJ8iGIfJWFEDEAJ+CU4qICiv9EaNo8hhFeqDUM 8XZ5xtPXhcFP/4hJj6g3VLCR45nwX8FXCwMUFQuafCj2jzhqj5Lbgj+TmomGxkngHdsfOE FEllNi3p7AyH01xQqwHISlIRZOAIRimkEyMmcVku8/faY9gvXUy5LKAMdWkPscADg1V2aE M/O1TF7iII5KFLJwab6dBWfX0exI94dzHLgyLHDnrvuRLF04wKo7iT9bJEkD6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684291249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GwgHYvLObnNWr4M8Oi85gYBeUjjb4K3ErNRAjl2tj6o=; b=r49nvCmgOp4vInG9BxqAv7pZUoZfAv7wuMJlGuI/H0J/1eCGi5XT0913o1/IR+i2h80rnV GM/ox8smAOTyIxqCmztEKUWoggXmJpuh68qpMgqHBYrGhIPGyMVXjKeKTGcOtTBgwuPH0O nPMh1XYduQV1OBnjV3x1wBB33v90JkP82c8yaV8dcMBue6xBr/D0b2SvOrbOfN7Vtqgin0 UiIRPwXMGyPCHoGfD5Jd2knFnNNu00Xbpef8mBE4KiMhkAg8x3/mTTXDZIK5hyrgFpsAGG KdXfGSwrcXR7WHJIwdcdTXWvSxpiwyVLK12yNpiwFvRcMzvkMAHNust0a1K0JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684291249; a=rsa-sha256; cv=none; b=Wdg1ElMxOyKLIK1ktch2hFORtVZjbfxVLIHMX4fPetVW3oY+WPZ7IBPiy4LDw9Pvmmqiha MC3PmMl29jHQJ86+Qekh8jf2p4LL6K1JhPiVFmePeBqMIFzgXac5mwyG1JaLWEnMxOgelI Jt7I9F1E5muWaFLyJpV60Y25bdpMX/X4Zjwa4+PyYfmlYoiJc0ds1ePs+DhA/SfKr+Tyul OXAFK4jM6TxQ1Vg0VC+BrlyNsjSC0ohMpdJtJSx9rSmSPLUmuQRxZBJSrFCGlSnLEfTqEp ugfjweqrPk90q8o1FvGib0H9sbjM6eMkyHKR3FabB5rSH9AXP14ccJvNvFqe5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLcmK3yFYzmTS; Wed, 17 May 2023 02:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H2en1a021848; Wed, 17 May 2023 02:40:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H2enLQ021847; Wed, 17 May 2023 02:40:49 GMT (envelope-from git) Date: Wed, 17 May 2023 02:40:49 GMT Message-Id: <202305170240.34H2enLQ021847@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: cdc231bd4949 - main - pfsync: Remove deletion of states using the full pfsync_state struct List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cdc231bd49498481801686913872c361dbc01f95 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=cdc231bd49498481801686913872c361dbc01f95 commit cdc231bd49498481801686913872c361dbc01f95 Author: Kajetan Staszkiewicz AuthorDate: 2023-05-15 19:43:06 +0000 Commit: Kristof Provost CommitDate: 2023-05-17 00:39:58 +0000 pfsync: Remove deletion of states using the full pfsync_state struct State deletions are sent over pfsync using struct pfsync_del_c. Remove the code for receiving state deletions using struct pfsync_state as such deletions are never sent. Rename functions and constants so that only the "compressed" versions remain. Reviewed by: kp Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D40004 --- sys/net/if_pfsync.h | 2 +- sys/netpfil/pf/if_pfsync.c | 44 ++++++-------------------------------------- 2 files changed, 7 insertions(+), 39 deletions(-) diff --git a/sys/net/if_pfsync.h b/sys/net/if_pfsync.h index bee247cd0a84..a13e26fd3bdf 100644 --- a/sys/net/if_pfsync.h +++ b/sys/net/if_pfsync.h @@ -274,7 +274,7 @@ struct pfsyncioc_nv { #define PFSYNC_S_IACK 0x01 #define PFSYNC_S_UPD 0x02 #define PFSYNC_S_UPD_C 0x03 -#define PFSYNC_S_DEL 0x04 +#define PFSYNC_S_DEL_C 0x04 #define PFSYNC_S_COUNT 0x05 #define PFSYNC_S_DEFER 0xfe diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index a7924d822eee..f53479283ecd 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -128,7 +128,6 @@ static int pfsync_in_iack(struct mbuf *, int, int, int); static int pfsync_in_upd(struct mbuf *, int, int, int); static int pfsync_in_upd_c(struct mbuf *, int, int, int); static int pfsync_in_ureq(struct mbuf *, int, int, int); -static int pfsync_in_del(struct mbuf *, int, int, int); static int pfsync_in_del_c(struct mbuf *, int, int, int); static int pfsync_in_bus(struct mbuf *, int, int, int); static int pfsync_in_tdb(struct mbuf *, int, int, int); @@ -142,7 +141,7 @@ static int (*pfsync_acts[])(struct mbuf *, int, int, int) = { pfsync_in_upd, /* PFSYNC_ACT_UPD */ pfsync_in_upd_c, /* PFSYNC_ACT_UPD_C */ pfsync_in_ureq, /* PFSYNC_ACT_UPD_REQ */ - pfsync_in_del, /* PFSYNC_ACT_DEL */ + pfsync_in_error, /* PFSYNC_ACT_DEL */ pfsync_in_del_c, /* PFSYNC_ACT_DEL_C */ pfsync_in_error, /* PFSYNC_ACT_INS_F */ pfsync_in_error, /* PFSYNC_ACT_DEL_F */ @@ -161,14 +160,14 @@ struct pfsync_q { static void pfsync_out_state(struct pf_kstate *, void *); static void pfsync_out_iack(struct pf_kstate *, void *); static void pfsync_out_upd_c(struct pf_kstate *, void *); -static void pfsync_out_del(struct pf_kstate *, void *); +static void pfsync_out_del_c(struct pf_kstate *, void *); static struct pfsync_q pfsync_qs[] = { { pfsync_out_state, sizeof(struct pfsync_state), PFSYNC_ACT_INS }, { pfsync_out_iack, sizeof(struct pfsync_ins_ack), PFSYNC_ACT_INS_ACK }, { pfsync_out_state, sizeof(struct pfsync_state), PFSYNC_ACT_UPD }, { pfsync_out_upd_c, sizeof(struct pfsync_upd_c), PFSYNC_ACT_UPD_C }, - { pfsync_out_del, sizeof(struct pfsync_del_c), PFSYNC_ACT_DEL_C } + { pfsync_out_del_c, sizeof(struct pfsync_del_c), PFSYNC_ACT_DEL_C } }; static void pfsync_q_ins(struct pf_kstate *, int, bool); @@ -1127,37 +1126,6 @@ pfsync_in_ureq(struct mbuf *m, int offset, int count, int flags) return (len); } -static int -pfsync_in_del(struct mbuf *m, int offset, int count, int flags) -{ - struct mbuf *mp; - struct pfsync_state *sa, *sp; - struct pf_kstate *st; - int len = count * sizeof(*sp); - int offp, i; - - mp = m_pulldown(m, offset, len, &offp); - if (mp == NULL) { - V_pfsyncstats.pfsyncs_badlen++; - return (-1); - } - sa = (struct pfsync_state *)(mp->m_data + offp); - - for (i = 0; i < count; i++) { - sp = &sa[i]; - - st = pf_find_state_byid(sp->id, sp->creatorid); - if (st == NULL) { - V_pfsyncstats.pfsyncs_badstate++; - continue; - } - st->state_flags |= PFSTATE_NOSYNC; - pf_unlink_state(st); - } - - return (len); -} - static int pfsync_in_del_c(struct mbuf *m, int offset, int count, int flags) { @@ -1526,7 +1494,7 @@ pfsync_out_upd_c(struct pf_kstate *st, void *buf) } static void -pfsync_out_del(struct pf_kstate *st, void *buf) +pfsync_out_del_c(struct pf_kstate *st, void *buf) { struct pfsync_del_c *dp = buf; @@ -2039,7 +2007,7 @@ pfsync_update_state_req(struct pf_kstate *st) case PFSYNC_S_INS: case PFSYNC_S_UPD: - case PFSYNC_S_DEL: + case PFSYNC_S_DEL_C: /* we're already handling it */ break; @@ -2089,7 +2057,7 @@ pfsync_delete_state(struct pf_kstate *st) /* FALLTHROUGH */ case PFSYNC_S_NONE: - pfsync_q_ins(st, PFSYNC_S_DEL, ref); + pfsync_q_ins(st, PFSYNC_S_DEL_C, ref); break; default: From nobody Wed May 17 04:37:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLgM04L3Hz4Brc3; Wed, 17 May 2023 04:37: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 4QLgM03hgnz3NKy; Wed, 17 May 2023 04:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684298252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au74LLlQ/AnftFlKd0PXSdnL77MUXCDviFfdUiiZd/8=; b=JkhaRrj5VY92BWjxEuo8JnWyYiG0UMx34VF9kiUh8mA6Ox5hMV7BxevJK+8+dSdf8YDlTy d6SdxAvg5Wz9Sh6q/0XstqLSnVRoWumraJdYOl5iEbJ02l7Llp5G/0KCXaOGdfl/dAcsqo NnR4s4oEYKd42Fz+VneKQ/3f3mv7jJvcxtGFpWSJLq9hyx4113PQYU0zX7qyDSGl+qTblo yxbzO2OkGgF9BbXbl36bAQclWkfR5FwfPoD5b25qb4TwOjAZqUjkY/l3LMovLY2ermkqci TfM6JHUf+z6w43wfA0A6bkMvyiyB8xPAnMR66NHJX4f9MkhdXUzWGMxfvWzgqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684298252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au74LLlQ/AnftFlKd0PXSdnL77MUXCDviFfdUiiZd/8=; b=XkaTHyQHjUrLg+7BLgWF6HgueGS4eTk8aaxLO88yszCirgGY75L4jF40p4Vhe64TB9P+Ld k8YvF+W8He03aPmt3xj1f3PxolR77SkAYk/1vad/9tYUAmuyzQhp4kPc+qBwHcOUxSCM0d mlKkCZcP48DPRQgHp//ek/hAzj5hIFZRl+4Rcl8fR3C7sw7IJpCuqgOA+NeEi8taltN7yE FFcrX07Tomr6utSu5wp9SfLBEy0HB9zqVWnmj+4zwJ5FbLTXEAt+zgI1n5A1SSy6K8IC9L IIi4SSj5CgI8oDkaLpXmjpbOWWE6yc/zKhKqzEAeLltujzCBZf2AcbeTIAkseQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684298252; a=rsa-sha256; cv=none; b=i5poO7/Zj4+weCspkkGhgeOocVOboNrAIdedb6S1YvxVJsqTkSInPHI8Vn7rcJpPeiLKfb sm/B9ffYXs9Nkv4/op7YHmqe9FqJX6btY8SpfKC3s/7YXSuZZTUAdNuwk4sdy32bOVG6sr oJR1BFjobBW7Ggq6MDkrHkdBaUrXBrGKQnxJt1+iCpOT3ZDqTUuRNPJXoO4jjlGywYr5hJ 3trRtBM8F6HE7+btG3l5LA+mWyALWcyiqbMCIismh3u3bi3aa+f4WEFWflXhKBBDtj2rzH zqYfRWegg2a61RvDfb2KCc+7XT9KgtHoRcZp4Bij3vJKtYQndV/v43SPv2ncwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLgM02fGZzqdq; Wed, 17 May 2023 04:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H4bWfS013325; Wed, 17 May 2023 04:37:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H4bWqU013324; Wed, 17 May 2023 04:37:32 GMT (envelope-from git) Date: Wed, 17 May 2023 04:37:32 GMT Message-Id: <202305170437.34H4bWqU013324@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: 616a6c9f66cf - main - net/if.h: fix style of if_t definition List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 616a6c9f66cf2e08db0928fba0152dcc28cedd75 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=616a6c9f66cf2e08db0928fba0152dcc28cedd75 commit 616a6c9f66cf2e08db0928fba0152dcc28cedd75 Author: Konstantin Belousov AuthorDate: 2023-05-17 01:21:57 +0000 Commit: Konstantin Belousov CommitDate: 2023-05-17 03:30:59 +0000 net/if.h: fix style of if_t definition Reviewed by: jhibbits Sponsored by: NVidia networking Differential revision: https://reviews.freebsd.org/D40125 --- sys/net/if.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if.h b/sys/net/if.h index da3d25f2b226..4003b33e5de4 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -655,7 +655,7 @@ struct ifdownreason { * Opaque interface structure. */ -typedef struct ifnet * if_t; +typedef struct ifnet *if_t; #ifdef _KERNEL #ifdef MALLOC_DECLARE From nobody Wed May 17 04:37:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLgM15QpYz4Brs7; Wed, 17 May 2023 04:37: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 4QLgM14Q16z3N6N; Wed, 17 May 2023 04:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684298253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xcay5d1OOUt3rBG4oF2S2rbwbyGbjXOtnebnH6ROKoI=; b=OEpXX++wOYwFCb3cyFMl6Y3r43SW3+Dk4A3GgNZEgS/VXPmWUMjng3mvbcrooQ9LtvHEr/ g2UASXAR0qxcckRhfXfcXSPimsXVESG9LrADQH8wcduKh7dHJeGwmK89kmHk5dPqZ2EciD 4NkTWPWFthGD2fNC7mdOrjRfbFmRKUVTxbDxL6ar64F91yxSVFNcrz5SdLG67oAS1FFEzL Egbs1jxdqD5zzjc7HhbqXKy33OfRalDXuo0GwBPL+Nt1guwTxuqFg5i9VWoIuQ2Nz+k/JS s06SMFWaP7l2OE5hYGXSuecwfkv9WtCPqIoKO8XgAi51e4WvVpOadj8TlIPD8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684298253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xcay5d1OOUt3rBG4oF2S2rbwbyGbjXOtnebnH6ROKoI=; b=UsvjhSnLu9QMYf10Jknnr9j6XnfrxTqi3Ivr8P2k0Kq3wJCEw/lb8eUw1wOkQf+k3mxwE2 03uwis8BtyHwaBHWtN0d6MTulNXX6KdSmaK94cBcnsbeZIjo9fUe3Bsuy2gZZNkv2TP4O+ 5j5NttLda4J0sfBryF5K1QYAmox1vUSIMmgn5/Ch8ndhgFliEVv6PPo98ScgJKHqNDEea5 et0HdS0kpcpm0LBq+mV20/pN26IMNDI74XcMzA/KnaH8e9J43YdHzxAxGaQLeBSjgEjfxm /LpqSwjPOSOJI2V4gVJ57XwrfSQl35fqLuxhIPP//7SHuQUtowzVQ7/xPUHWgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684298253; a=rsa-sha256; cv=none; b=oAuo37mckXjRxChfuNZZRCBYYrOAGGoB5Q8dRqug5z3g9Vurpw4up5VykKaUrmbCPnkST3 s741uYVeSEcXcj7YoqqOwr08qhH8ybUDo0jgOSyIXXlldRtMkFH8Uzu7pXQ/GnjN9mE+x0 e0ZTqCgpjzgJIufM0fwYwlhNGDRXgY/lH7jp1o29ffxjZsEEpAqHAE0sXN1nLuq2Q6cZ2t YTTBl5bKeHpE43bttlmuZe5QenAWgCrajmEuGCM8R0TnFaxqpPoEPNkF9Somfvl3TW/kKP YI8wxTZLzArdbxuOCuZ+rAM10SVZEDeHLHRDgLdJsxsara4lTWlgBXUhR6K8Pg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLgM132kyzqtJ; Wed, 17 May 2023 04:37:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H4bXeT013344; Wed, 17 May 2023 04:37:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H4bX5U013343; Wed, 17 May 2023 04:37:33 GMT (envelope-from git) Date: Wed, 17 May 2023 04:37:33 GMT Message-Id: <202305170437.34H4bX5U013343@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: 848d5bb1abea - main - net/if_var.h: consistently use if_t over struct ifnet * List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 848d5bb1abea7e1fb936a191f2500900624a0da4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=848d5bb1abea7e1fb936a191f2500900624a0da4 commit 848d5bb1abea7e1fb936a191f2500900624a0da4 Author: Konstantin Belousov AuthorDate: 2023-05-17 01:22:36 +0000 Commit: Konstantin Belousov CommitDate: 2023-05-17 03:31:07 +0000 net/if_var.h: consistently use if_t over struct ifnet * Reviewed by: jhibbits Sponsored by: NVidia networking Differential revision: https://reviews.freebsd.org/D40125 --- sys/net/if_var.h | 119 +++++++++++++++++++++++++++---------------------------- 1 file changed, 59 insertions(+), 60 deletions(-) diff --git a/sys/net/if_var.h b/sys/net/if_var.h index f87472509863..13a82d772c37 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -127,13 +127,13 @@ typedef enum { typedef void (*if_start_fn_t)(if_t); typedef int (*if_ioctl_fn_t)(if_t, u_long, caddr_t); typedef void (*if_init_fn_t)(void *); -typedef void (*if_input_fn_t)(struct ifnet *, struct mbuf *); -typedef int (*if_output_fn_t) - (struct ifnet *, struct mbuf *, const struct sockaddr *, struct route *); +typedef void (*if_input_fn_t)(if_t, struct mbuf *); +typedef int (*if_output_fn_t)(if_t, struct mbuf *, const struct sockaddr *, + struct route *); typedef void (*if_qflush_fn_t)(if_t); typedef int (*if_transmit_fn_t)(if_t, struct mbuf *); typedef uint64_t (*if_get_counter_t)(if_t, ift_counter); -typedef void (*if_reassign_fn_t)(struct ifnet *, struct vnet *, char *); +typedef void (*if_reassign_fn_t)(if_t, struct vnet *, char *); struct ifnet_hw_tsomax { u_int tsomaxbytes; /* TSO total burst length limit in bytes */ @@ -275,7 +275,7 @@ union if_snd_tag_query_params { struct if_snd_tag_rate_limit_params tls_rate_limit; }; -typedef int (if_snd_tag_alloc_t)(struct ifnet *, union if_snd_tag_alloc_params *, +typedef int (if_snd_tag_alloc_t)(if_t, union if_snd_tag_alloc_params *, struct m_snd_tag **); typedef int (if_snd_tag_modify_t)(struct m_snd_tag *, union if_snd_tag_modify_params *); typedef int (if_snd_tag_query_t)(struct m_snd_tag *, union if_snd_tag_query_params *); @@ -314,9 +314,9 @@ struct if_ratelimit_query_results { uint32_t min_segment_burst; /* The amount the adapter bursts at each send */ }; -typedef void (if_ratelimit_query_t)(struct ifnet *, +typedef void (if_ratelimit_query_t)(if_t, struct if_ratelimit_query_results *); -typedef int (if_ratelimit_setup_t)(struct ifnet *, uint64_t, uint32_t); +typedef int (if_ratelimit_setup_t)(if_t, uint64_t, uint32_t); #define IF_NODOM 255 /* * Locks for address lists on the network interface. @@ -331,24 +331,23 @@ typedef int (if_ratelimit_setup_t)(struct ifnet *, uint64_t, uint32_t); #ifdef _KERNEL /* interface link layer address change event */ -typedef void (*iflladdr_event_handler_t)(void *, struct ifnet *); +typedef void (*iflladdr_event_handler_t)(void *, if_t); EVENTHANDLER_DECLARE(iflladdr_event, iflladdr_event_handler_t); /* interface address change event */ -typedef void (*ifaddr_event_handler_t)(void *, struct ifnet *); +typedef void (*ifaddr_event_handler_t)(void *, if_t); EVENTHANDLER_DECLARE(ifaddr_event, ifaddr_event_handler_t); -typedef void (*ifaddr_event_ext_handler_t)(void *, struct ifnet *, - struct ifaddr *, int); +typedef void (*ifaddr_event_ext_handler_t)(void *, if_t, struct ifaddr *, int); EVENTHANDLER_DECLARE(ifaddr_event_ext, ifaddr_event_ext_handler_t); #define IFADDR_EVENT_ADD 0 #define IFADDR_EVENT_DEL 1 /* new interface arrival event */ -typedef void (*ifnet_arrival_event_handler_t)(void *, struct ifnet *); +typedef void (*ifnet_arrival_event_handler_t)(void *, if_t); EVENTHANDLER_DECLARE(ifnet_arrival_event, ifnet_arrival_event_handler_t); /* interface departure event */ -typedef void (*ifnet_departure_event_handler_t)(void *, struct ifnet *); +typedef void (*ifnet_departure_event_handler_t)(void *, if_t); EVENTHANDLER_DECLARE(ifnet_departure_event, ifnet_departure_event_handler_t); /* Interface link state change event */ -typedef void (*ifnet_link_event_handler_t)(void *, struct ifnet *, int); +typedef void (*ifnet_link_event_handler_t)(void *, if_t, int); EVENTHANDLER_DECLARE(ifnet_link_event, ifnet_link_event_handler_t); /* Interface up/down event */ #define IFNET_EVENT_UP 0 @@ -356,7 +355,7 @@ EVENTHANDLER_DECLARE(ifnet_link_event, ifnet_link_event_handler_t); #define IFNET_EVENT_PCP 2 /* priority code point, PCP */ #define IFNET_EVENT_UPDATE_BAUDRATE 3 -typedef void (*ifnet_event_fn)(void *, struct ifnet *ifp, int event); +typedef void (*ifnet_event_fn)(void *, if_t ifp, int event); EVENTHANDLER_DECLARE(ifnet_event, ifnet_event_fn); /* @@ -372,7 +371,7 @@ struct ifg_group { struct ifg_member { CK_STAILQ_ENTRY(ifg_member) ifgm_next; /* (CK_) */ - struct ifnet *ifgm_ifp; + if_t ifgm_ifp; }; struct ifg_list { @@ -417,7 +416,7 @@ struct ifaddr { struct sockaddr *ifa_dstaddr; /* other end of p-to-p link */ #define ifa_broadaddr ifa_dstaddr /* broadcast address interface */ struct sockaddr *ifa_netmask; /* used to determine subnet */ - struct ifnet *ifa_ifp; /* back-pointer to interface */ + if_t ifa_ifp; /* back-pointer to interface */ struct carp_softc *ifa_carp; /* pointer to CARP data */ CK_STAILQ_ENTRY(ifaddr) ifa_link; /* queue macro glue */ u_short ifa_flags; /* mostly rt_flags for cloning */ @@ -446,7 +445,7 @@ struct ifmultiaddr { CK_STAILQ_ENTRY(ifmultiaddr) ifma_link; /* queue macro glue */ struct sockaddr *ifma_addr; /* address this membership is for */ struct sockaddr *ifma_lladdr; /* link-layer translation, if any */ - struct ifnet *ifma_ifp; /* back-pointer to interface */ + if_t ifma_ifp; /* back-pointer to interface */ u_int ifma_refcount; /* reference count */ int ifma_flags; void *ifma_protospec; /* protocol-specific state, if any */ @@ -468,19 +467,19 @@ extern struct sx ifnet_sxlock; * being freed by the network epoch. The _ref variant also acquires a * reference that must be freed using if_rele(). */ -struct ifnet *ifnet_byindex(u_int); -struct ifnet *ifnet_byindex_ref(u_int); +if_t ifnet_byindex(u_int); +if_t ifnet_byindex_ref(u_int); /* * ifnet_byindexgen() looks up ifnet by index and generation count, * attempting to restore a weak pointer that had been stored across * the epoch. */ -struct ifnet *ifnet_byindexgen(uint16_t idx, uint16_t gen); +if_t ifnet_byindexgen(uint16_t idx, uint16_t gen); VNET_DECLARE(struct ifnethead, ifnet); VNET_DECLARE(struct ifgrouphead, ifg_head); -VNET_DECLARE(struct ifnet *, loif); /* first loopback interface */ +VNET_DECLARE(if_t, loif); /* first loopback interface */ #define V_ifnet VNET(ifnet) #define V_ifg_head VNET(ifg_head) @@ -492,39 +491,39 @@ VNET_DECLARE(struct ifnet *, loif); /* first loopback interface */ #define MCDPRINTF(...) #endif -int if_addgroup(struct ifnet *, const char *); -int if_delgroup(struct ifnet *, const char *); -int if_addmulti(struct ifnet *, struct sockaddr *, struct ifmultiaddr **); -int if_allmulti(struct ifnet *, int); -struct ifnet* if_alloc(u_char); -struct ifnet* if_alloc_dev(u_char, device_t dev); -void if_attach(struct ifnet *); -void if_dead(struct ifnet *); -int if_delmulti(struct ifnet *, struct sockaddr *); +int if_addgroup(if_t, const char *); +int if_delgroup(if_t, const char *); +int if_addmulti(if_t, struct sockaddr *, struct ifmultiaddr **); +int if_allmulti(if_t, int); +if_t if_alloc(u_char); +if_t if_alloc_dev(u_char, device_t dev); +void if_attach(if_t); +void if_dead(if_t); +int if_delmulti(if_t, struct sockaddr *); void if_delmulti_ifma(struct ifmultiaddr *); void if_delmulti_ifma_flags(struct ifmultiaddr *, int flags); -void if_detach(struct ifnet *); -void if_purgeaddrs(struct ifnet *); -void if_delallmulti(struct ifnet *); -void if_down(struct ifnet *); +void if_detach(if_t); +void if_purgeaddrs(if_t); +void if_delallmulti(if_t); +void if_down(if_t); struct ifmultiaddr * - if_findmulti(struct ifnet *, const struct sockaddr *); + if_findmulti(if_t, const struct sockaddr *); void if_freemulti(struct ifmultiaddr *ifma); -void if_free(struct ifnet *); -void if_initname(struct ifnet *, const char *, int); -void if_link_state_change(struct ifnet *, int); -int if_printf(struct ifnet *, const char *, ...) __printflike(2, 3); -int if_log(struct ifnet *, int, const char *, ...) __printflike(3, 4); -void if_ref(struct ifnet *); -void if_rele(struct ifnet *); -bool __result_use_check if_try_ref(struct ifnet *); -int if_setlladdr(struct ifnet *, const u_char *, int); -int if_tunnel_check_nesting(struct ifnet *, struct mbuf *, uint32_t, int); -void if_up(struct ifnet *); +void if_free(if_t); +void if_initname(if_t, const char *, int); +void if_link_state_change(if_t, int); +int if_printf(if_t, const char *, ...) __printflike(2, 3); +int if_log(if_t, int, const char *, ...) __printflike(3, 4); +void if_ref(if_t); +void if_rele(if_t); +bool __result_use_check if_try_ref(if_t); +int if_setlladdr(if_t, const u_char *, int); +int if_tunnel_check_nesting(if_t, struct mbuf *, uint32_t, int); +void if_up(if_t); int ifioctl(struct socket *, u_long, caddr_t, struct thread *); -int ifpromisc(struct ifnet *, int); -struct ifnet *ifunit(const char *); -struct ifnet *ifunit_ref(const char *); +int ifpromisc(if_t, int); +if_t ifunit(const char *); +if_t ifunit_ref(const char *); int ifa_add_loopback_route(struct ifaddr *, struct sockaddr *); int ifa_del_loopback_route(struct ifaddr *, struct sockaddr *); @@ -537,18 +536,18 @@ struct ifaddr *ifa_ifwithdstaddr(const struct sockaddr *, int); struct ifaddr *ifa_ifwithnet(const struct sockaddr *, int, int); struct ifaddr *ifa_ifwithroute(int, const struct sockaddr *, const struct sockaddr *, u_int); -struct ifaddr *ifaof_ifpforaddr(const struct sockaddr *, struct ifnet *); +struct ifaddr *ifaof_ifpforaddr(const struct sockaddr *, if_t); int ifa_preferred(struct ifaddr *, struct ifaddr *); -int if_simloop(struct ifnet *ifp, struct mbuf *m, int af, int hlen); +int if_simloop(if_t ifp, struct mbuf *m, int af, int hlen); -typedef void *if_com_alloc_t(u_char type, struct ifnet *ifp); +typedef void *if_com_alloc_t(u_char type, if_t ifp); typedef void if_com_free_t(void *com, u_char type); void if_register_com_alloc(u_char type, if_com_alloc_t *a, if_com_free_t *f); void if_deregister_com_alloc(u_char type); -void if_data_copy(struct ifnet *, struct if_data *); -uint64_t if_get_counter_default(struct ifnet *, ift_counter); -void if_inc_counter(struct ifnet *, ift_counter, int64_t); +void if_data_copy(if_t, struct if_data *); +uint64_t if_get_counter_default(if_t, ift_counter); +void if_inc_counter(if_t, ift_counter, int64_t); uint64_t if_setbaudrate(if_t ifp, uint64_t baudrate); uint64_t if_getbaudrate(const if_t ifp); @@ -573,7 +572,7 @@ const char *if_getdname(const if_t ifp); void if_setdname(if_t ifp, const char *name); const char *if_name(if_t ifp); int if_setname(if_t ifp, const char *name); -int if_rename(struct ifnet *ifp, char *new_name); +int if_rename(if_t ifp, char *new_name); void if_setdescr(if_t ifp, char *descrbuf); char *if_allocdescr(size_t sz, int malloc_flag); void if_freedescr(char *descrbuf); @@ -646,7 +645,7 @@ bool if_altq_is_enabled(if_t ifp); void *if_getafdata(if_t ifp, int); -int if_snd_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, +int if_snd_tag_alloc(if_t ifp, union if_snd_tag_alloc_params *params, struct m_snd_tag **mstp); /* * Traversing through interface address lists. @@ -691,7 +690,7 @@ if_transmit_fn_t if_gettransmitfn(if_t ifp); void if_setqflushfn(if_t ifp, if_qflush_fn_t); void if_setgetcounterfn(if_t ifp, if_get_counter_t); void if_setsndtagallocfn(if_t ifp, if_snd_tag_alloc_t); -void if_setdebugnet_methods(struct ifnet *, struct debugnet_methods *); +void if_setdebugnet_methods(if_t, struct debugnet_methods *); void if_setreassignfn(if_t ifp, if_reassign_fn_t); void if_setratelimitqueryfn(if_t ifp, if_ratelimit_query_t); @@ -704,7 +703,7 @@ void *ifr_data_get_ptr(void *ifrp); void *ifr_buffer_get_buffer(void *data); size_t ifr_buffer_get_length(void *data); -int ifhwioctl(u_long, struct ifnet *, caddr_t, struct thread *); +int ifhwioctl(u_long, if_t, caddr_t, struct thread *); #ifdef DEVICE_POLLING enum poll_cmd { POLL_ONLY, POLL_AND_CHECK_STATUS }; From nobody Wed May 17 08:40:38 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLmlW1HzKz4C47c; Wed, 17 May 2023 08:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLmlW0sF5z3tJt; Wed, 17 May 2023 08:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684312839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4GMr5ZYwgXM+hZcC6XWXGPSuF1q4eS4ryTelzoVHzGk=; b=JYMr0YoLi0DWD+6Fs41Ow06eyfWAFF9VdUUEIixaWO/hL46EXakAKyyvXZzBaLIRcSVwV5 Eb6b8xUGSEdBaW81LIRdhPxKWe8HvnOR8WyysgsqT4AjaXhkRWhEoasHYshnKvywOQNDSE f2eDuXYil6tbsYg92i4QLrQc8pEy4q0NBY8rJC5TEb5i/2QE/axn4NyjKhVMcf/5w0x/bS A4ntWmpBL5GD1z5yLRSzNURz9vnMGIokO6puWhuqUHeEQe1U7hWpWqfeW0tOdBNXpuHLnh 62+D8lYedWYlqeZC7uueS0uezbohZJCqj/2GIMQau9Hhb1atvgWC//htYAbyiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684312839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4GMr5ZYwgXM+hZcC6XWXGPSuF1q4eS4ryTelzoVHzGk=; b=TcwP7Lmu6YjpawLb117lqcsc24azTnwtxszjRU9vnHRsNwAIorVX67VlgJ82RrSFnyfln/ w8bnpX2Mxr2bXOImY5SfQQ0MeyKfywb8y7XMaTO+1tMQLXzi+YVGp9MhB1I2+Z4ehtExBU NUd1BL26nkUWpPWjEHqQaSfBwGpMkg8dEFZgyg2MurhmZ9ysjiaf1fJn2W8Hl37pSAbEUy eGfLFeJViux9+mvWnueE8aKQxGg8PnW6vlwFoAv8GQIdQa09HrpPKpboQDndaUjq0gRbsW eSqbraJvtj0LlormZS1ATSSFpzOJX0CzT0EOvrATdt/RWGZJPnWb3hE2Dn9tPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684312839; a=rsa-sha256; cv=none; b=Pq9nUzwEwzQN8dTZlERayZgciPZYD8XjWb8wOxFPffuWYyZF1DR8RQ+LfhAAyFfltKg5WV 7dt9YQwzNUmAe2hLX4ILqrg8mA+cZu4zR3G6kCTsRGZSkAOCCG7s8zXT4TiUVuITD4+R5o fyynF4c3XZ4yphJgkmqMxYfPYXnYRpIxRnM5r6OKhZDsESQAQZiSzmMtpFHCk6cPGp/c9g K3J2PBgabMc+vezAI5/ukzfH3K7+SiOKeDOCeOczCXHRp131g3Xtg2RT+hS1EmAwTqWgY+ f/Y+YrJfd+R98jo6/EQgX1K2+oestDoDhY+w7h/bLxu4AInpbVVwRhgXOlZDxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLmlV73KyzxRw; Wed, 17 May 2023 08:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H8ecTO016982; Wed, 17 May 2023 08:40:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H8ecWF016981; Wed, 17 May 2023 08:40:38 GMT (envelope-from git) Date: Wed, 17 May 2023 08:40:38 GMT Message-Id: <202305170840.34H8ecWF016981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 4c63ecf5c77c - main - routing: fix panic triggered by the 'gr_idx != 0' assert in nhg code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c63ecf5c77cdd023282c2ab585d139aa0408d42 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=4c63ecf5c77cdd023282c2ab585d139aa0408d42 commit 4c63ecf5c77cdd023282c2ab585d139aa0408d42 Author: Alexander V. Chernikov AuthorDate: 2023-05-17 08:24:05 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-17 08:40:29 +0000 routing: fix panic triggered by the 'gr_idx != 0' assert in nhg code Nexthop groups can be referenced by the external code. The reference can be released after the VNET destruction. Furthermore, nexthop groups use a single per-rib lock, which is destroyed during the VNET desctruction. To eliminate use-after-free problem, each nhg is marked as "unlinked" during the VNET destruction stage, leaving nhg_idx intact. Normally there should not be such nexthops, but if there are any, the kernel will panic on 'gr_idx != 0' when the last nhg reference is released. Address this by using the assert checks only when the nexthop group is destroyed during "valid" VNET lifetime. MFC after: 3 days --- sys/net/route/nhgrp_ctl.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/net/route/nhgrp_ctl.c b/sys/net/route/nhgrp_ctl.c index 2e9bcd4dc86f..ce5b154859f6 100644 --- a/sys/net/route/nhgrp_ctl.c +++ b/sys/net/route/nhgrp_ctl.c @@ -382,10 +382,11 @@ nhgrp_free(struct nhgrp_object *nhg) NET_EPOCH_EXIT(et); return; } + MPASS((nhg_priv->nhg_idx == 0)); + MPASS((nhg_priv->nhg_refcount == 0)); } NET_EPOCH_EXIT(et); - KASSERT((nhg_priv->nhg_idx == 0), ("gr_idx != 0")); NET_EPOCH_CALL(destroy_nhgrp_epoch, &nhg_priv->nhg_epoch_ctx); } @@ -402,10 +403,6 @@ destroy_nhgrp_int(struct nhgrp_priv *nhg_priv) __noinline static void destroy_nhgrp(struct nhgrp_priv *nhg_priv) { - - KASSERT((nhg_priv->nhg_refcount == 0), ("nhg_refcount != 0")); - KASSERT((nhg_priv->nhg_idx == 0), ("gr_idx != 0")); - IF_DEBUG_LEVEL(LOG_DEBUG2) { char nhgbuf[NHOP_PRINT_BUFSIZE] __unused; FIB_NH_LOG(LOG_DEBUG2, nhg_priv->nhg_nh_weights[0].nh, From nobody Wed May 17 09:09:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLnNm4fvbz4C61h; Wed, 17 May 2023 09:09: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 4QLnNm47xbz3vv2; Wed, 17 May 2023 09:09:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684314568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xr6S/5JEIND4fcoqiE6ggVmoa8+6SLTc9chLTbMYZWc=; b=N2NjXUBIb01BvCM2Dvew8n3kiI4+e849lADuyHNNaWmJuk0YT22ljQEAoeyXrwwXzuOHjb DjIg1noE0eNBaSyIEJ9q6D11wipwwQzVOFqbIZUXwGM1Uw61gR6f1ueIlKrPZiBPOIS60a JPDo2DVLW2dDVEEVhMkRd1gNoLSB7OHFAhBG58YJThCyqz78xTNI+VxZWCnp7QOHI6nB8F XQBfdADQtiKaIoBeltI/y6FVndD39kjzj8HzXfXrIT6xrhdZFXPfDqWkSkyGfjFcEGrHfJ fsixhsIimiBSbjj204l1RO+oyLokvqVVJub4Cu5EVbrtX3WTkbHrmf2k2yV3Pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684314568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xr6S/5JEIND4fcoqiE6ggVmoa8+6SLTc9chLTbMYZWc=; b=ZL+m0i6tRfq3EicV2xy4Cg5qsG2r5mp6GzlHSIwilFmCVI4o6j/aBjnOi2Gwifq2iaMh/M E6KyiW+qD2qwB+/bgUpUIEfQLwjgem+0vTZoSEUur4WV5Muf+y5rze5OBj/4yr/5TeUL+B Q062JFx9+YRc5mmqBypBdlrEFIrIjynzkvy+9B8k2kpCG2NAEp2sWgIGxti/7JTV+F7H69 SlErlxpCk7vZPaAS8qgLVhHTcQoay7fTkZesiDk3OvsBYp+xIlAvRnCjhlvzzsp/zFb9g7 SLhtdiejkVhLocVyweET4R5i0oMJAS/qu2H9vbvb1luxaB0n4mAkfb/hbXVwIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684314568; a=rsa-sha256; cv=none; b=DXVQhkANuokausdA2PiK2Iqx3oziyKyasouB4sLckGGUeTAv2rzJiFM4Ur4XomzD754W2v jcU1E7RT05TBH+zpolMg9c4ezLcKScSbcrN1NoxbXV0StD/Hw+R2QHaHiTNxFii6nUGU3p Ox6dCpJDMkGYZu2NZWpxhabhQla9FgqHt5XPWOLcKHDoBU2k5YXr34mtTWSYsXxZVFzdh+ Cs2FnzB6Ng5JwKyOp6WByF/rCD80WfiTX0NeWdy89h+TlAM5/ejIPcPADTIkanrqIR7B/D 9uS8mRPF4yAj0O0ukp8KHKpTj5q4jg0YaNhD47VwvNqkb85vXKPz0YILr/mwdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLnNm361Czy5b; Wed, 17 May 2023 09:09:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H99SBU057929; Wed, 17 May 2023 09:09:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H99Sgn057928; Wed, 17 May 2023 09:09:28 GMT (envelope-from git) Date: Wed, 17 May 2023 09:09:28 GMT Message-Id: <202305170909.34H99Sgn057928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: b50e1465e88d - main - routing: plug mbuf leak for the packets hitting IPv6 blackhole route List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b50e1465e88dcf5f6f008892d802df010e7029d1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=b50e1465e88dcf5f6f008892d802df010e7029d1 commit b50e1465e88dcf5f6f008892d802df010e7029d1 Author: Alexander V. Chernikov AuthorDate: 2023-05-17 09:06:04 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-17 09:06:04 +0000 routing: plug mbuf leak for the packets hitting IPv6 blackhole route Reported by: Dmitriy Smirnov Tested by: Dmitriy Smirnov MFC after: 1 day --- sys/netinet6/ip6_forward.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/netinet6/ip6_forward.c b/sys/netinet6/ip6_forward.c index c8f9079e0aa7..0f7260ccd067 100644 --- a/sys/netinet6/ip6_forward.c +++ b/sys/netinet6/ip6_forward.c @@ -198,9 +198,12 @@ again: if (nh->nh_flags & (NHF_BLACKHOLE | NHF_REJECT)) { IP6STAT_INC(ip6s_cantforward); - if ((nh->nh_flags & NHF_REJECT) && (mcopy != NULL)) { - icmp6_error(mcopy, ICMP6_DST_UNREACH, - ICMP6_DST_UNREACH_REJECT, 0); + if (mcopy != NULL) { + if (nh->nh_flags & NHF_REJECT) { + icmp6_error(mcopy, ICMP6_DST_UNREACH, + ICMP6_DST_UNREACH_REJECT, 0); + } else + m_freem(mcopy); } goto bad; } From nobody Wed May 17 09:59:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpV74cTNz49vVr; Wed, 17 May 2023 09:59: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 4QLpV73nYTz41Bn; Wed, 17 May 2023 09:59:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hp+6gCYuVmOvPKVwTcOl2KZ6p4hXCRMJJZW5KJivVow=; b=IS746WFdDqBmD6R3NrrM9ZLURzoKlCa8k3C0Qr83AZhD4FxAQc3VSx9xmQhoaPGWAvTh8b StetusNpZN3nXdteZMd2PJHDu7WHw62lYaUyZKsuudSyEWmALa9y64TfNWuLU+zohUd4RK 9zDxW6uGXDvntJvY6TFBFt+vcMBSsKGp/38Iy82RlN0vNPHXueUGCOcgj34f3AIBAyWP/w EcbxrYmHtq8/a6p9BkeOmMEN6Az+wo57KGEPOMc23Q9NhDwzMUK6O4n42qZpecvfqua8rn VdobzbhqfQDx/9bUi/RUIM0MwEHd/8R2geO74/5Z9F9ylqOylC1u+qWPir2OwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hp+6gCYuVmOvPKVwTcOl2KZ6p4hXCRMJJZW5KJivVow=; b=LiZXmb6hAoXPT3vfaKYELRSS4YoK4aiY7wIbOE7kCanikGNLYjFmrvN7rGdXR8M+UEoIiN TaYBvwE3htuIThEchWKj+Ys4VhykQMJOZMVEhOtxzKNH6jwela6xGqExALI0ZEzQ88AttO iDxxNAFhKFACZPfdj7sdvSE2xr++ieasuzv1ncs+GEoL0R27AZIwKBlKy8tOlsgn1upoRr C2r/ouV26SVCRBNR1fRkEY7DhDDG0Q7Y/lBdlvmtIQhxkbq2v91B/Cc8uRTP53x2/DSpM6 T0TNw8ooRln8n0E58vKr/o1xfmZi8FOpZR+cwedF0qNtvg/5q6blvyuNB10Rjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317551; a=rsa-sha256; cv=none; b=fdoqiOYnLnObFcQjwAZCTf5X8xRmFemik6zscUqu+mn9M6h9PL6qjkIwJGzseRe2HJcHqQ bLQFLFCWXUZRWbDH3Oe98nOAXrvIOxamRI6sQdRGObTMhnJRbt3bwUYZ3TcJX9t22gm/2P RjLi9n3tOygEd9IoTz7DFDcMiEZDl5ajM/ori7NK8eCX+QieRYXJkd5h3rGe+KHPEB4bs5 seVJj2F5jRRwTWFZ9DEVbdzsU+yHbYpp8YrqO0UIeYyb5ajxgIcVUr9XIHmsFKCxeSyodQ kSymxal/KorbEum0rQURzk7jKzPIMZicjS7Mqw4ahtbYrqSw4fWxlk1+vooP3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpV72qPWzycY; Wed, 17 May 2023 09:59:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H9xBIj039288; Wed, 17 May 2023 09:59:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H9xBJr039287; Wed, 17 May 2023 09:59:11 GMT (envelope-from git) Date: Wed, 17 May 2023 09:59:11 GMT Message-Id: <202305170959.34H9xBJr039287@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: f70caf1b4524 - stable/13 - if_stf: Delete unreachable code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f70caf1b4524c10d3a747770c69da9d7b6a56a22 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f70caf1b4524c10d3a747770c69da9d7b6a56a22 commit f70caf1b4524c10d3a747770c69da9d7b6a56a22 Author: Zhenlei Huang AuthorDate: 2023-04-23 04:47:57 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 09:57:07 +0000 if_stf: Delete unreachable code As the flag M_WAITOK is passed to ip_encap_attach(), then the function will never return NULL, and the following code within NULL check branch will be unreachable. No functional change intended. Reviewed by: kp Fixes: 6d8fdfa9d5e7d Rework IP encapsulation handling code MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39746 (cherry picked from commit c373e1d6adbc3785e8f1072cdc4a062733baa514) --- sys/net/if_stf.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index d5ffdeabdf53..d0303665d478 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -249,12 +249,6 @@ stf_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) ifp->if_dunit = IF_DUNIT_NONE; sc->encap_cookie = ip_encap_attach(&ipv4_encap_cfg, sc, M_WAITOK); - if (sc->encap_cookie == NULL) { - if_printf(ifp, "attach failed\n"); - free(sc, M_STF); - ifc_free_unit(ifc, unit); - return (ENOMEM); - } ifp->if_mtu = IPV6_MMTU; ifp->if_ioctl = stf_ioctl; From nobody Wed May 17 09:59:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpV85VWWz49vYp; Wed, 17 May 2023 09:59: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 4QLpV84d8bz41bb; Wed, 17 May 2023 09:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=69h2YgSGMK3XvPT4PfV9moxWXKOh2et4AIC4zG7tdL0=; b=oFTnOQHc/kZ4o6H9MqpWUC33xaScx75d/HX90KwHDABPbbRXOnhlykE7UZJhMuIiEwvGvo 3ZdeNg2qQy9lhRRIifrthI0eZ2MJcN5vxoLM2YI2Wf6Hxf4lncRXX7tGRPuDJcnFocMFCS JuxK5lv4ybrbnlwLjuwZ2W10tJfu6Hfqe/SZ+SLHFctnshMz8nvZlt7OSV3lT89DIbddDQ IwJpP+mExnh2SwPHKt+CCs1tHt9B1o4kZpwYNgUbvd6EzpLGyx+P3eNEQwmWHyr9325hEO /Mfj1ntWccEDtM9VnTyb4Pbal7vy5LOpRMIxQIk6YAZfl7yCmbW8dy4TBYA9LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=69h2YgSGMK3XvPT4PfV9moxWXKOh2et4AIC4zG7tdL0=; b=Xj1vYzL6Z9lkiO+X3ehVYoHqsYLyGYi99Sw9dw+S6sKXmMzcQajL5qBY0mDtr9esy19IrA 7XNvyyCcMMk0ZevBA+aLHXrscaejer7QxwM2M6jU7SuH2IyNeXHEuXlRD1npOf8CW7HqCO wwqBymD73E5K6V3d/wRhVzNwVxLDP+r05VoMXEACKqugj4bEGqHw0DCPdZGQtnAbtnTnvd 3u9WJJQMe6jeNEPvmw7cv+bUXpeJw2UXhjp5XLgvQZlxLaTxiY8w1DROYOxk1AyaioqMZN bQ84n6wU17aWc5XcP84V76b3FWMjHye2P8u5RLaZxp4sj09Vw09fwfl/nPvNTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317552; a=rsa-sha256; cv=none; b=hI4EdcE7x6jDW7PYKgsGzH6GLKlzP+IX43CkND4gnj83ZdkXBNY/E65OIvhZMOIRvNbEOl PtyARyp8k7W2Dej4XZvCWibdeP2+eN2BHIE8bZQyyEdjEysp7pTQNdx791MO9nYO0DIi/i NR/TZHk6dHB64d0ULPzKvJPVukPHDeieaJiBqXc5W+cd00pGVKchTsG73/fgocuEpaAorH JnNhhTkC9v6/QRElj6nZ9TpDA/0OxJfcQQvEzDEabtAm0Qo0w/xKCPmhqmljeD5fpVxkWC Nbg7NfyZ4squfNNI8Cujao8xAV6+5E0Yti26w4aYjpCbNtBYbmG7dvkuTFPNEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpV83k5TzyrY; Wed, 17 May 2023 09:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H9xCkO039310; Wed, 17 May 2023 09:59:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H9xC0S039309; Wed, 17 May 2023 09:59:12 GMT (envelope-from git) Date: Wed, 17 May 2023 09:59:12 GMT Message-Id: <202305170959.34H9xC0S039309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: ece63e96c364 - stable/13 - ip_mroute: Delete unreachable code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ece63e96c364679e19c124d145abe5af789d1948 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=ece63e96c364679e19c124d145abe5af789d1948 commit ece63e96c364679e19c124d145abe5af789d1948 Author: Zhenlei Huang AuthorDate: 2023-04-23 04:47:57 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 09:57:07 +0000 ip_mroute: Delete unreachable code As the flag M_WAITOK is passed to ip_encap_attach(), then the function will never return NULL, and the following code within NULL check branch will be unreachable. No functional change intended. Reviewed by: kp Fixes: 6d8fdfa9d5e7d Rework IP encapsulation handling code MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39746 (cherry picked from commit b658c0fce10a06493dc468fc9f6699120473e17b) --- sys/netinet/ip_mroute.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 6aeea44f631c..39d2e1c26a48 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2891,13 +2891,6 @@ ip_mroute_modevent(module_t mod, int type, void *unused) &pim_squelch_wholepkt); pim_encap_cookie = ip_encap_attach(&ipv4_encap_cfg, NULL, M_WAITOK); - if (pim_encap_cookie == NULL) { - printf("ip_mroute: unable to attach pim encap\n"); - VIF_LOCK_DESTROY(); - MFC_LOCK_DESTROY(); - MROUTER_LOCK_DESTROY(); - return (EINVAL); - } ip_mcast_src = X_ip_mcast_src; ip_mforward = X_ip_mforward; From nobody Wed May 17 09:59:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpV96CLSz49vBZ; Wed, 17 May 2023 09:59: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 4QLpV95j4Lz41NY; Wed, 17 May 2023 09:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=It0U/4gS/7eYMq5CuxGQyuvo//B4sE3vvaZtMIabjS0=; b=aL1wTN3SEwMM8XNLoOjEGTNnWMGw7jqPR8cGiykmsuVIGzvEAoFXAOQTHVK59naBPN7EBn av8J4ku/NQY9sHHidPX0HbTQl+KM4aHRWQsfIjgfXbvZBU1wdYIzCfjBlz9dJfzgt6yCNr w/+0/GG/mX/J66XI6I5qDvb3ajhPq3JEMIetfEKzcIhuiO6gwz2KfiIx9JdxuJeror75SS v1IPMF4Y00e1z3gCI7EHOm9xSfUZsNBt6Wl/22vk8UWMiMD2D8tslIc3IzZAYfWbXN3cDf 5dA7WYA7G7rEKBOjKz2hzWwjlWyzKFD6PE5v9Hv5y5y4KeoLUUi10bcaZea4zA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317553; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=It0U/4gS/7eYMq5CuxGQyuvo//B4sE3vvaZtMIabjS0=; b=T+KIC+h9styeC7WG00gJG2d6ABZjNS+mxleiN1kZ/T2Y28lcdPTghBuc4+buZd9tmm8LAf PtUfffwOLXvwXwGj8lG6JXlSZworMEh+f9LzNIgX1D5LInKSpWIZrVv0Qmrq4XkeoGj8Ks dje8Z5CCOcMWuM3Q7tqu/auy1XhF4hwt/sk07S2mhs1NEHeEpXOp7xzDajQHYZ/djELFZG EoF81cA8U61yTwVnWDCqOq2hDG1JkWtS4Oq/R+G8h1mx4e43lawhlLmauHwMgsdcF4IaB7 tnxAYfEdW7EKCJ5Wu3OaXq8JKi7R99VNVUAqs9CB/x2YyOUcWrYLfeMLLhoikg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317553; a=rsa-sha256; cv=none; b=ObvXtNyPP7hFlfTQ5v0Um3sUal0aBs414Y+FcOn1/9q+komZ9aXFY/h6I+l/3Zva4KCrcI 3yKCmODdV/9vDpTBnMBgOdX1uBSP+Abxs9PJbZJd755H6elMHgiMq6ZPmBk6fbXd4h1Rkz EBjkb6056lOBoXN4CqNTyeSiPgx/Yy6UgcXmKXdM+66RkZcS1TpWUx11WfkUJfNE5C2A9f C5PfoRaerha4F7kCcKWzJWz/iqdJ+X4J6wXz+2un+z8GL9Tjk9L1peD1E6YpTAiWKrqEAm ryRiORs5iSVybuKE4CPF4vyhQ6tKm2c8VWULrAzV+lx9UI/XM4lPBp/4YCOL3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpV94csrzyrZ; Wed, 17 May 2023 09:59:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H9xDJU039329; Wed, 17 May 2023 09:59:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H9xD5o039328; Wed, 17 May 2023 09:59:13 GMT (envelope-from git) Date: Wed, 17 May 2023 09:59:13 GMT Message-Id: <202305170959.34H9xD5o039328@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 4d7d39b0f208 - stable/13 - elf.5: Fix conjugation of holds List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4d7d39b0f20874cda49771067f92e129840976fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=4d7d39b0f20874cda49771067f92e129840976fc commit 4d7d39b0f20874cda49771067f92e129840976fc Author: Zhenlei Huang AuthorDate: 2023-04-25 10:21:52 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 09:57:07 +0000 elf.5: Fix conjugation of holds MFC after: 1 week (cherry picked from commit 6f96b5487f4359199ceb8339d2d7063e2249f538) --- share/man/man5/elf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5 index 95bc183a1f91..17922c8c0d69 100644 --- a/share/man/man5/elf.5 +++ b/share/man/man5/elf.5 @@ -1022,7 +1022,7 @@ This section is of type The attribute used is .Sy SHF_ALLOC . .It .rodata1 -This section hold read-only data that typically contributes to a +This section holds read-only data that typically contributes to a non-writable segment in the process image. This section is of type .Sy SHT_PROGBITS . From nobody Wed May 17 09:59:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpVC08tkz49vSP; Wed, 17 May 2023 09:59: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 4QLpVB6S8yz41cj; Wed, 17 May 2023 09:59:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VrgqAg1e+gMAnkODGptoAwe9R7+rA9V2kJ6OCmwRPFk=; b=xO3rpUOgjuLO07FzJy49E5cegM6wMSzZeLXdqVvxppVWdrm8V+yjyO8HbHvFKC5/gQebEQ fTvox9wS/ZDZ8UPh4Z5dKkNG/RONsU/tdzg0jHY7T0KKNebesmnFDj7DtglTPqHKi3c21y nhXzrKGdq8AQE2gGitwx/5/GpuumOq8AYpsR3dXIu++fKjsRRxig8cLpdLJrU9A6T/UFsb EfysztrhZf4UvS/jwf28FJcDD0JMK8WxQZGJzGYnNW9t6Iq2815cO+rrY34bLfS8kJdf69 991dmNoL73VqeEsYO0dkAg73hLOK3OaFSWiA+MPnKCFx9sUs1enRSWG/Teaz/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VrgqAg1e+gMAnkODGptoAwe9R7+rA9V2kJ6OCmwRPFk=; b=wKrzvQMQukUiBQ9LnqWyyWu7mHc5Q1TIxaITg8a+HQO7IoA/dtUBIvTG4NGfuwDnPGkSYF Vy8206OQ7TJ1GkpHzjMeIRoBfiEv5Zc6oAsDdWjLbTw5IG+Ka/Vt85zH6nocETB2gp/8ZQ bGHPKYOkIJXrZ4De/adIH1KG0d78Eirl/gcUOcwmk84O+ScjplrFK7w/qtElaUaig8kfLa R1ZApjzvGPagsLVDEDC0mY8etIZ7w2pSRnvizPyFgRJ2JnIceZ+YD0gybQK1AzrQEVuPIl T5weMyJTJwt4Rk471eqXwnqeUsGlHIsFOY7OvpCMoLv9Z7IeSyDTBcVaHuSwbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317554; a=rsa-sha256; cv=none; b=FnNUPw1iDO7FC5KXgXfBz1dVAzcyES6TEhA7a6uiE/VAs8DXJVtySVXvSlXlhsA1y4ynsU Wz/K5hiBPyTtoQS2+9PPXcDWm8ADZrAmDqS8rjmB7OL3D7ZXVe+WP41vD9W+/J4Xck7mFS 8ZyMYqmneOeMkoJkBikwPbO9HBPufbSsEwDoQz0jUF0JEVp437LEAsIiAdbxg1jwsA+f9w +zhzVVc7oSQ0CkapvxXqN6JmWagz9zXRS+D8csyV8yX8MnqoIsdMBL2l6y6hlzgoq4zOQx 6Y2iOEBe3HQJhKl4Z2ESkoxdt9I/fe0Rn82pLIuPZrtQqV4o7rT5J60KevPuhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpVB5Yfhz100g; Wed, 17 May 2023 09:59:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H9xEEv039348; Wed, 17 May 2023 09:59:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H9xE3m039347; Wed, 17 May 2023 09:59:14 GMT (envelope-from git) Date: Wed, 17 May 2023 09:59:14 GMT Message-Id: <202305170959.34H9xE3m039347@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 1437712fd8c9 - stable/13 - ixgbe: Fix typos in source code comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1437712fd8c969847c339b43261a914b99b1aa05 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1437712fd8c969847c339b43261a914b99b1aa05 commit 1437712fd8c969847c339b43261a914b99b1aa05 Author: Ian Moffett AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 09:57:07 +0000 ixgbe: Fix typos in source code comments - s/feilds/fields/ Reviewed by: zlei MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/707 (cherry picked from commit 99cb088f1a2513ad71225b9691e0aed09ba8fafe) --- sys/dev/ixgbe/ixgbe_api.c | 2 +- sys/dev/ixgbe/ixgbe_common.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/ixgbe/ixgbe_api.c b/sys/dev/ixgbe/ixgbe_api.c index 80cf1ce1925d..12fc7d9cfd4e 100644 --- a/sys/dev/ixgbe/ixgbe_api.c +++ b/sys/dev/ixgbe/ixgbe_api.c @@ -1420,7 +1420,7 @@ s32 ixgbe_bypass_rw(struct ixgbe_hw *hw, u32 cmd, u32 *status) * ixgbe_bypass_valid_rd - Verify valid return from bit-bang. * * If we send a write we can't be sure it took until we can read back - * that same register. It can be a problem as some of the feilds may + * that same register. It can be a problem as some of the fields may * for valid reasons change inbetween the time wrote the register and * we read it again to verify. So this function check everything we * can check and then assumes it worked. diff --git a/sys/dev/ixgbe/ixgbe_common.c b/sys/dev/ixgbe/ixgbe_common.c index 86301dab80ed..9c13b1b2663d 100644 --- a/sys/dev/ixgbe/ixgbe_common.c +++ b/sys/dev/ixgbe/ixgbe_common.c @@ -5151,7 +5151,7 @@ s32 ixgbe_bypass_rw_generic(struct ixgbe_hw *hw, u32 cmd, u32 *status) * ixgbe_bypass_valid_rd_generic - Verify valid return from bit-bang. * * If we send a write we can't be sure it took until we can read back - * that same register. It can be a problem as some of the feilds may + * that same register. It can be a problem as some of the fields may * for valid reasons change inbetween the time wrote the register and * we read it again to verify. So this function check everything we * can check and then assumes it worked. From nobody Wed May 17 09:59:15 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpVD0jgkz49vYs; Wed, 17 May 2023 09:59: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 4QLpVD0GQyz41k2; Wed, 17 May 2023 09:59:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+blMh+wUn6mlkYh75y1gyLpLkv1bSMnUkspIvL3P8aI=; b=G3+5pZZBVQXnuDLr7g9mUzLhmAE9ZyCBKE1fisteLpg+xut/T1lO/hQlr6i0mgHfYnoWN2 1XKxhDg+53Z5v/7fwC9/GYdOxBak3X7vOk5yQHc43uXRX78g3yQPMjTYegV+nu8ucbD0Tn qb5lKV5S9Rykb9ftKVGsbGDrBaxlAJYrszOlwaP7N8BPbr/FmRtfanBEqaBfGjJgYd7T/h /QskVHBMcakE8soR+iH4CfB2mK8MZHuWcg+IdRVVc1ZbXZ7luTF6AM7TYDIATzOEGLQhcX va/G/T/yQ8gtk+2kJHEpcbb7dMzpsYmRESwK3wYcbFlIXGfaOHG5tQSlarrJ3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+blMh+wUn6mlkYh75y1gyLpLkv1bSMnUkspIvL3P8aI=; b=jsbHEEwyhlithQM8Atg7NVZ4mti/zRZnmhiK2ig0/j3iuH/I+kCe7kyfpuqeXpaFHhbCyW FjPaldvkdA3xcGRsHzjy50WTR0+Kmrwxw/tvdCC6Q2qnH207L3JB7zWts1a40acgGU2Nlq mmDzAax2fkF2CxQxfHZypRXijMPr/uINOy6YnWrCbOq5XhIOCZ/dBPV87m8DvFZhwZme/1 hpPLiO678L7BJm5/YHuYqHgmfWVMoMb8TWGXYOfb2TJwEKLPAQVgYIfsdnfkG7ZYSQZ+5n EzYCY03Ntl9RMyjqaK1+rkKEycmcPs4tZ3qVZZApna+SS9K5MqIEPIdRwKgcAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317556; a=rsa-sha256; cv=none; b=f4ujIDaYByPiHNVQEBP/neHgRLv7YEuwduj1ofrF18kX/oY963OtZrlPAazzplMkdAnxjJ rjRHYq46jA7uG0fgvG995M+GZQ3jR8v8ai4v/BwbJtMx9LhiBgFZZtpc52bGBVFp2Nek7z hm+U0BZtm8i+ia5E/rPv3yOLlRwE13KzeMe2R2i8Q9eHA9pHViXp1j+rLyBAn4fEPHXVw3 0TbFTMiD9Z0qxB5DdTU8LO27dDthM1jYUnXUiRPmljdD4EDa7EVLOFitZsIIoDcpDXHfRJ fa5+LUR4T4esQJBqcMFgHcUDuVUhDjWwfb5pTQLhNYf1VvFbwmyFqt69ClC4pg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpVC6Twmz102n; Wed, 17 May 2023 09:59:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H9xF30039370; Wed, 17 May 2023 09:59:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H9xFXd039369; Wed, 17 May 2023 09:59:15 GMT (envelope-from git) Date: Wed, 17 May 2023 09:59:15 GMT Message-Id: <202305170959.34H9xFXd039369@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 3056dfbdf815 - stable/13 - mps: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3056dfbdf815d0536ab045b1aa3d600260a19e95 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=3056dfbdf815d0536ab045b1aa3d600260a19e95 commit 3056dfbdf815d0536ab045b1aa3d600260a19e95 Author: Zhenlei Huang AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 09:57:08 +0000 mps: Fix a typo in a source code comment - s/feild/field/ MFC after: 3 days (cherry picked from commit 5bcbdb0b2eb4c14ef0a8671c996337acdefb7f72) --- sys/dev/mps/mps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c index 956a0301e70a..7ff596d66085 100644 --- a/sys/dev/mps/mps.c +++ b/sys/dev/mps/mps.c @@ -2722,7 +2722,7 @@ mps_add_chain(struct mps_command *cm) * sgc->Flags = ( MPI2_SGE_FLAGS_CHAIN_ELEMENT | MPI2_SGE_FLAGS_64_BIT_ADDRESSING | * MPI2_SGE_FLAGS_SYSTEM_ADDRESS) << MPI2_SGE_FLAGS_SHIFT * This is fine.. because we are not using simple element. In case of - * MPI2_SGE_CHAIN32, we have separate Length and Flags feild. + * MPI2_SGE_CHAIN32, we have separate Length and Flags field. */ sgc->Flags = MPI2_SGE_FLAGS_CHAIN_ELEMENT; sgc->Address = htole32(chain->chain_busaddr); From nobody Wed May 17 09:59:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpVF1cyDz49vBh; Wed, 17 May 2023 09:59:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLpVF14vjz41qK; Wed, 17 May 2023 09:59:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3pho7oEpSvPxLi8Hkm0Bao3TWJS3D55PHh/ofkIgjsQ=; b=LwjiZb1N9HLdnx9BkDCGaIhy9pJuM1MuBKgXtgLBW4mlsFjrXn5E81hVUsqpVuKSb6CKWT rROWBk8BE0O4WmqiF9i4bFxZfYBpEFCHLfbMAX/sN5+SfdPRmhe4bVw6gKHuU80GfNj2Y4 urCidMqq02nffFfsKUyW2anbZ9wkOBiDL1AyEYmcnh/aZxcxSbmnx/kpuL92FLUqkot4OX AqUGFdM/jMfJbXQ3WURa+nD68MBCrXVCsrjuaZoxkIL/OC+ulk55TVjHWtUWGtGl6Bda8S ovNy7/4ubfpPS3XmkSyXi1jzWwzCDgAOzbOVaHzghPHD4LnWFViZ1Gl4jbHZEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3pho7oEpSvPxLi8Hkm0Bao3TWJS3D55PHh/ofkIgjsQ=; b=qeoWjvUMSUmcRRup7g/aGOtjeFo0dJ8G+ZKdwhr6doWG6kZ5wbv+cknoXm+InvoPbA5k+/ meZ0CCl6r2Qxt/vQ/k0LKtHMwi8T96rPoU0EjfTWNT9BdFayhpCT1C0b8GRC02pGU/zz+1 l1CNMR9Fi3lB3BzZxUjEku/d08l9mlaOpaOnIg3gVITONOjG/p4kXBE6c8WtgMtIxc1RjS EIa2GiEkk40sWPUKcFFowMKAnWEwgTchoAWX+DaAW0IeJfHnTQb3y9rAlJ4//k7ZrLWoRk NaMVE6rgFMLA/LFpll8Eja/MH8Kg0zhafL+EStHw/AdpZNdRzyGujjugHZubOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317557; a=rsa-sha256; cv=none; b=jMQi2JDEttaIasggg+Qs4DqJbJMtKCSw1PpkFNDpQW8lBR/Wm56inlr+Q9s++jCrPJ2HvY rVc3x1dnwTvOzAqs/YLBaTQICYO9Xy8zItHdR+7WZt7uPJ8iueyqGJRtb0IuvNE8yqdzVk 7qyG0PDH0G9jajSe1YSpGrtfAKhtFjKtxzPdY4Estwigwi9dG1g4fcY1JNLmGgHfIMbnIJ J/HYMnZQJX+vNFIAHmI5JkWNgx1YzSHARn0k1XZLokFT70+eKs91RRQskr6XYCswcZHLFF e090FNi9OMIQaS887nKS06rhA22neinfZVk9x/QaYn2PgpCkNZKZO4Gzm3ggTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpVF0808z102p; Wed, 17 May 2023 09:59:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34H9xGZ4039391; Wed, 17 May 2023 09:59:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34H9xG7o039390; Wed, 17 May 2023 09:59:16 GMT (envelope-from git) Date: Wed, 17 May 2023 09:59:16 GMT Message-Id: <202305170959.34H9xG7o039390@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 62af5091a4f7 - stable/13 - mrsas: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 62af5091a4f757b2c356a1dbf8edf40548b0a724 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=62af5091a4f757b2c356a1dbf8edf40548b0a724 commit 62af5091a4f757b2c356a1dbf8edf40548b0a724 Author: Zhenlei Huang AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 09:57:08 +0000 mrsas: Fix a typo in a source code comment - s/feild/field/ MFC after: 3 days (cherry picked from commit bbfb244724e25933d7c7cf68b943e0c2a7d6e381) --- sys/dev/mrsas/mrsas.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mrsas/mrsas.h b/sys/dev/mrsas/mrsas.h index 069db02fadff..44f247352f0b 100644 --- a/sys/dev/mrsas/mrsas.h +++ b/sys/dev/mrsas/mrsas.h @@ -998,7 +998,7 @@ typedef struct _MR_FW_RAID_MAP_EXT { typedef struct _MR_DRV_RAID_MAP { /* - * Total size of this structure, including this field. This feild + * Total size of this structure, including this field. This field * will be manupulated by driver for ext raid map, else pick the * value from firmware raid map. */ From nobody Wed May 17 10:05:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpdR1wRPz49w0H; Wed, 17 May 2023 10:05: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 4QLpdR0tL4z43d6; Wed, 17 May 2023 10:05:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wzVHSBZckoOifXMSolCYuLkJPnz694K1K0DBc4CCYKA=; b=DPZQ3P92kY84kh8VKi40PWAXjzBpGJc/cE4KiK7yvLdjTRBdiAM+5QdL/xo3I9I2P17get UlfJ93ZZ91jT/+fLPhD9fTsQsu+WTZSYflVQ0kYwF5Mqr12E6SEs3I8DQLFD13ssKGEO+y NSmuPu78+FoX8xM7hPtJzyJBfv9ztYG+DE0vZvw6FzGqtm7Rs+SH4epMU9TGd/UcXv2hcz QmjMdQTh4KXhPQ6J45ZjWHd0f4tCDY/XuAjWtg4gIsVPZSusSIwAVBuqSFnUowIg7Dmkye ge5p+Z1ADoZ3fmtfTj0GnSM95SuF71u/e4elW9Fe7iAIJNvpRYgG8EcFN+yp1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wzVHSBZckoOifXMSolCYuLkJPnz694K1K0DBc4CCYKA=; b=Pw0oLrAVZtWjoqFji4/rmOJAXks6CyheKV76j8NKPzqhhF6Z1fG/c6RqXovz3EUi92vCDF emmnv43/ukQ3pwLhXtFLgPhwCvn/8WjdVmmLolMSLdI0myqU7IEKcEOVe8sv4gyeinnabG 0nGDSUctC4oyEvGu+lvlbjAhlLKhrzgqdbeC+GgfSZmk8Qc7+F+8qBHo2wAAMWJC5U73KH 1bVawhnfYxEZXCmDYAWeGOfQrKuinG/Zj1vWYNrWe1j/e1VItfwpPPpRx42qaIl0D8Qtyw Npa5NqF5OUANNheufDJSzz0IGdOivaDDPjtipp85R3XmjF3zvYzAMko5K9jLfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317931; a=rsa-sha256; cv=none; b=XP+R+1TG7AUjB/IbhzK0c807xvR17PhF62Uc4HbaMuEE89+7FC2+1KPLqPUqw6PHqrWoZx CNPK8vaPyjC4K5YhojKlc/EHycycBRp+iAqRBDYxLTKWs/C867oj+T8C5/YpOZdPfkgzMF bJj7PRiJhBJfx3kADLGCY0kbQ15V9+mwUE1b2LaCxaTAdEokfJbSUJf2KYncteEW4L9XoH of7IgFu+gU3nsJbdpmNBuKNLBHiec4A4BzTiFKruAQnwSeqD2GOnEoWDdzGV1NvDSzni3S rOSC4iSo7dWYQWW9M+452MA3yPjU4Dv7pm3PQeEs9NetFlbRWGFigkocDWeu4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpdQ739vz10Gg; Wed, 17 May 2023 10:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HA5Uun056886; Wed, 17 May 2023 10:05:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HA5UVk056885; Wed, 17 May 2023 10:05:30 GMT (envelope-from git) Date: Wed, 17 May 2023 10:05:30 GMT Message-Id: <202305171005.34HA5UVk056885@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 1ff44a05d6bc - stable/12 - if_stf: Delete unreachable code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 1ff44a05d6bc9ada7ee9691c3a52f6a60438d0b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=1ff44a05d6bc9ada7ee9691c3a52f6a60438d0b5 commit 1ff44a05d6bc9ada7ee9691c3a52f6a60438d0b5 Author: Zhenlei Huang AuthorDate: 2023-04-23 04:47:57 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 10:02:12 +0000 if_stf: Delete unreachable code As the flag M_WAITOK is passed to ip_encap_attach(), then the function will never return NULL, and the following code within NULL check branch will be unreachable. No functional change intended. Reviewed by: kp Fixes: 6d8fdfa9d5e7d Rework IP encapsulation handling code MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39746 (cherry picked from commit c373e1d6adbc3785e8f1072cdc4a062733baa514) (cherry picked from commit f70caf1b4524c10d3a747770c69da9d7b6a56a22) --- sys/net/if_stf.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index 098099052264..bdba588d2522 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -247,12 +247,6 @@ stf_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) ifp->if_dunit = IF_DUNIT_NONE; sc->encap_cookie = ip_encap_attach(&ipv4_encap_cfg, sc, M_WAITOK); - if (sc->encap_cookie == NULL) { - if_printf(ifp, "attach failed\n"); - free(sc, M_STF); - ifc_free_unit(ifc, unit); - return (ENOMEM); - } ifp->if_mtu = IPV6_MMTU; ifp->if_ioctl = stf_ioctl; From nobody Wed May 17 10:05:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpdS2rblz49w2p; Wed, 17 May 2023 10:05: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 4QLpdS1pdXz43dT; Wed, 17 May 2023 10:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b4uYzuhVYY7Db/G7ZWvgD1QBNtHzqMYHMEYZxhENj2o=; b=TtIfnFS1XGaEYkX2ujzMWkSbqeOBvhcoKWKuDCmHw3spPd/l/uxbKPs8Z7HGyondLKAXo5 O/egMzM+GrnqrMlHrR79P1aSy/txhDfwKsQgSYEtje5BpB7+RLY+4zfhatu/UIalxpUH5V +M6WDyW73tO3fzNejmOUl9eOZL7GrkItif2vgA/vgfS9o6PBdR9AVmVtvP6yzAkVIsqmNU 7Vc/wd+G3nt3kbgmpbJidAi+Ktj1OEVjiRBw3LZf20hAjErrdAd4gUrAI0Svux87rvr3BA wY5ImwSsxJyjl1e9y8i6hINqYcl6khNtjdC6XgKFPdi2rEVpjM0lTpPPnzO38A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317932; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b4uYzuhVYY7Db/G7ZWvgD1QBNtHzqMYHMEYZxhENj2o=; b=xWjrDA0Q7uQrF7xAUDtSJVhaZ7uvuwrCTCaUI5laatxg9HI/4RXtLLepnclRwnj/QB2GEZ mE/9J6WufK7yyLO+Yd7Ae9azmkSQiwdMzRwnMq4PKMnZQobM3QH/9j9xmuv2phAHNQd9FQ gMt1zApM7sNvCD2Uq7SnOIDLh2jbewTch1CMTPo6WktYLS6t6twL8oEAeTDK9cZYwAWFfx PbDWBEafPwz4vCevF1ZpaXBDcWCHb488aSYq2aWklZWhlJTITYHBs66nq0MucM5lc8F/cY ff3fMe6TMIV1QGpYj08W1Km+6zwtnfWc6AjbOUSqz+0MoV57kqJ0Bac9pghy7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317932; a=rsa-sha256; cv=none; b=B5qOQQwPbRDqVBy0ZG+evHTpjBvBOx/WvDBXkcnrhkm6mVlgEIwv03gfZeoCq+O7Cqvtst xX7xUoQLNFVJjzbLxnVmRUn23u8+dtcGEP0GtcpUnf0P08d+6Jd+t7J/knd3p8Y3S/ngrn KVdn9CtDBXuMc/gSHDifRVuNRIGXKqfE0OQ1k+IWQX3AobVBuboMYny+o0B2kCaUMGbjRC Js+uXlLWkiPTjbwH7Txbw4n/e5cV9LIvdUyieUE5bEvrdDu2GBvWtf5FFqTrfYWzOaSKh3 MRx70HfgObl7vsRSe7flFCcUg8Mu8rTmPSv38/KADJY20J7FmEes6m1CHqiltA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpdS0rBzz10DH; Wed, 17 May 2023 10:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HA5Wa4056905; Wed, 17 May 2023 10:05:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HA5Wck056904; Wed, 17 May 2023 10:05:32 GMT (envelope-from git) Date: Wed, 17 May 2023 10:05:32 GMT Message-Id: <202305171005.34HA5Wck056904@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 2a3147f96241 - stable/12 - ip_mroute: Delete unreachable code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 2a3147f962419e07e3eea69d74fece46c526dee2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=2a3147f962419e07e3eea69d74fece46c526dee2 commit 2a3147f962419e07e3eea69d74fece46c526dee2 Author: Zhenlei Huang AuthorDate: 2023-04-23 04:47:57 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 10:02:29 +0000 ip_mroute: Delete unreachable code As the flag M_WAITOK is passed to ip_encap_attach(), then the function will never return NULL, and the following code within NULL check branch will be unreachable. No functional change intended. Reviewed by: kp Fixes: 6d8fdfa9d5e7d Rework IP encapsulation handling code MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39746 (cherry picked from commit b658c0fce10a06493dc468fc9f6699120473e17b) (cherry picked from commit ece63e96c364679e19c124d145abe5af789d1948) --- sys/netinet/ip_mroute.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 60b18cdbd35c..92074670cf60 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2889,13 +2889,6 @@ ip_mroute_modevent(module_t mod, int type, void *unused) &pim_squelch_wholepkt); pim_encap_cookie = ip_encap_attach(&ipv4_encap_cfg, NULL, M_WAITOK); - if (pim_encap_cookie == NULL) { - printf("ip_mroute: unable to attach pim encap\n"); - VIF_LOCK_DESTROY(); - MFC_LOCK_DESTROY(); - MROUTER_LOCK_DESTROY(); - return (EINVAL); - } ip_mcast_src = X_ip_mcast_src; ip_mforward = X_ip_mforward; From nobody Wed May 17 10:05:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpdT3VKrz49vx1; Wed, 17 May 2023 10:05: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 4QLpdT2TQkz43k1; Wed, 17 May 2023 10:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=itCZBwY/Nt7FfkhumvlQsO85CEW+tF8vrtHfohqq9aA=; b=HsEAPOGrO07BZz9CKkIP+pRsnsRCBtpzuNQncT6CHcR+rhLfTitBD0DH4x/ZbqC/TQfGGF BtJFYRb8/173xCETfjMMobwpee5c4mSMtZ4JrG8W+INgejOU20ifEEnRDm/uUBtnKw7Bj3 m3QmpuMao04C/XWwTGml1MZQ83Ogjry/i21tvjZ/+8Qb1KbEKmrEOZ6NiYKicixdGWfy5R YgQNO+nbrpMxzva366MCwo5Qp74OYhotXzihXi/qR3aGvu9SLZWUM6g+8Jkpxrx6vp2mNK dZSgxjtQQJ20l3nIWoFAAYamxkbNzZYWhQUS1875uj0lQZOvpVvTNnOWCKsY5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=itCZBwY/Nt7FfkhumvlQsO85CEW+tF8vrtHfohqq9aA=; b=Wdc2GKNEoa4ceSmMW27Q7ZvBwXOjlP1DxEoJpbGAk8pZIBWmWhHeOYmghWn25XSZmgVLpl o9gDuBs58nm9z+Q+KLA0fR9zMBI5TdIX+xv0JcGLHboS4bc1l1GL2uMw1M3LxS4zUCWzdM Zn37d5dL9BmOadNhx5S7IHxDh9AgupxYmmy/3LQGW8lFYS4Q4TxJeUaS8JAC3SeUmthnTN AHbgf1QajRyDmDcRqXWtAn7b28i0uuebao0mVErF/bbcgEd5Q7p4shm67ofGUUFXMEWFQ4 2quvKH3llHOhrgZHjEGx4AB8WPWllI6OtY66W8gLGR3ATA7wWEJuJsoI/8QRog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317933; a=rsa-sha256; cv=none; b=m2vMwhk98zMCM9fJrclAzJnUzpxzTrvC0Bu+B5lZFXtbTtXxyx4lMHcAhAK0rTYHFN0yyx nutJ8wFYZ9q8s4sas+wcqxxmD1SXjVPaJDAWVgFJdQs0+ARXyTkzELFtUqpfd0Pkf/wATt 3ho1m7CZWNtoYZHOegi3lSnW0Sggr2+/uj6w1YuKdQmqPN33XrD6TIb3WROA4QDXN3KNhX AThVAed1A/X/AhdR+77Qi+nYRf3lc0qB+w35eA4BRvCSFIZxTtrpHQT7MtbaqcmCSFHU7M 9xPUvWToWMwlmSswBeTqhGFWPJNBZnVRKoerD6iPFlcXq3ZUs+egZzTYkUuFFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpdT1ZMMz10Sx; Wed, 17 May 2023 10:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HA5Xc4056931; Wed, 17 May 2023 10:05:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HA5Xs1056930; Wed, 17 May 2023 10:05:33 GMT (envelope-from git) Date: Wed, 17 May 2023 10:05:33 GMT Message-Id: <202305171005.34HA5Xs1056930@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: c0612a203c92 - stable/12 - elf.5: Fix conjugation of holds List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: c0612a203c92604d96cdac256b88d386cbe4bea7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=c0612a203c92604d96cdac256b88d386cbe4bea7 commit c0612a203c92604d96cdac256b88d386cbe4bea7 Author: Zhenlei Huang AuthorDate: 2023-04-25 10:21:52 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 10:02:49 +0000 elf.5: Fix conjugation of holds MFC after: 1 week (cherry picked from commit 6f96b5487f4359199ceb8339d2d7063e2249f538) (cherry picked from commit 4d7d39b0f20874cda49771067f92e129840976fc) --- share/man/man5/elf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5 index df051adbf873..dad4fd79e87a 100644 --- a/share/man/man5/elf.5 +++ b/share/man/man5/elf.5 @@ -1020,7 +1020,7 @@ This section is of type The attribute used is .Sy SHF_ALLOC . .It .rodata1 -This section hold read-only data that typically contributes to a +This section holds read-only data that typically contributes to a non-writable segment in the process image. This section is of type .Sy SHT_PROGBITS . From nobody Wed May 17 10:05:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpdV60mWz49vvw; Wed, 17 May 2023 10:05: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 4QLpdV3Bjdz43kM; Wed, 17 May 2023 10:05:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IHP3r4vuEeU8zAU6IouyWtswBcLcOMAkqIQSjdPqJdA=; b=IC7XD5C9pdbLjZhRhEoXwenB43IMGmGOUS/cDZLdbDUN2+SRZELox5tujMRNT+dpPafF+D iG+MtYbTgClAF2QUYc0gecqQJ7KVlMEt80ZkjxZOr1HcJu64Y5i/5xKh1k2Zz9t2oDkSj1 Sv9Eqj/xObONpJFb09fdwG+xEjw09gHQBTc7zxYEq41hO4wVrDEQbY3kz/pTDj2SQNSd5T /TnQaaEq3ZEDyEfKSNPPW86wPcOaBy2v4tV6E1RDZwhr1pSynwtlprEpm+iNoz9kTzSoh3 rgu+rfHTzOS2b12WIe3u+pDCSX35+BNRIwWQWrG+KRemBsILpt7oVwtIp9JnJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IHP3r4vuEeU8zAU6IouyWtswBcLcOMAkqIQSjdPqJdA=; b=pKd8vQVMLchx8vdQsD1ctIRWgN1jGN7RTybeX22slrNIYrGhX+5ySqTonf55Z9k5BQjt8t W8mFOJGoMtc08mtXKSd0+u4nKVg2VpOcFYAzJ25bXbhO+opGCXHqNNKsrSAwVem3b6eGYt TBExfnYYyVw++y4Jnz5d3pkLBVAeKtbR/aEktlgJH+y+bk3f05BTIyK72O1TZQoss18y7r YwsTd0q46o9yo7JvWRoSGlWZgPpB/MHIrm/ebY7OPtfqFUDDzzq68+wiDpimmByO8ZEJZy cTPzFU9JmqumpFbnhzy6yQ002Sry9Ba/4w1TiYlO7U1FNb6E5sNPSSNK/VOkug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317934; a=rsa-sha256; cv=none; b=yr0VLNAd+CQ9wNsZGEbwlwMv4BWMaJFb43NNMjSv51MovTGkhGwrdIwJjB7O0fSRbDTbH5 ilu3mF40syuczKnvUXXGqsmjFxbK29FJkdUXK/DKLqb2JpurrpEdIuczUn11jBWDIruRng E1kJJZ7LMWzBZ15MpTOeMlr7/aV4erg05BnSkbHgfFhk2E12r5qbuQRSUa/LVKxH4Sh5ZK K8Vty2/ICRMNsFuQn+XiR8fGZnHZCx1UimxOiacvHKM5f0zENAFe6EDaiuEJsUxd6FQSLM IQfgHiMRtEC0s1d04tZpF4Uo5tNJHOrfJeGdZ+qnokYRr6tC9oy6U0bMlZKDpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpdV2Jdqz10Gh; Wed, 17 May 2023 10:05:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HA5Ygs056950; Wed, 17 May 2023 10:05:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HA5YkQ056949; Wed, 17 May 2023 10:05:34 GMT (envelope-from git) Date: Wed, 17 May 2023 10:05:34 GMT Message-Id: <202305171005.34HA5YkQ056949@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: b23360fe1355 - stable/12 - ixgbe: Fix typos in source code comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: b23360fe1355935921be3cdde346279760b3db55 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b23360fe1355935921be3cdde346279760b3db55 commit b23360fe1355935921be3cdde346279760b3db55 Author: Ian Moffett AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 10:03:03 +0000 ixgbe: Fix typos in source code comments - s/feilds/fields/ Reviewed by: zlei MFC after: 3 days Pull Request: https://github.com/freebsd/freebsd-src/pull/707 (cherry picked from commit 99cb088f1a2513ad71225b9691e0aed09ba8fafe) (cherry picked from commit 1437712fd8c969847c339b43261a914b99b1aa05) --- sys/dev/ixgbe/ixgbe_api.c | 2 +- sys/dev/ixgbe/ixgbe_common.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/ixgbe/ixgbe_api.c b/sys/dev/ixgbe/ixgbe_api.c index 80cf1ce1925d..12fc7d9cfd4e 100644 --- a/sys/dev/ixgbe/ixgbe_api.c +++ b/sys/dev/ixgbe/ixgbe_api.c @@ -1420,7 +1420,7 @@ s32 ixgbe_bypass_rw(struct ixgbe_hw *hw, u32 cmd, u32 *status) * ixgbe_bypass_valid_rd - Verify valid return from bit-bang. * * If we send a write we can't be sure it took until we can read back - * that same register. It can be a problem as some of the feilds may + * that same register. It can be a problem as some of the fields may * for valid reasons change inbetween the time wrote the register and * we read it again to verify. So this function check everything we * can check and then assumes it worked. diff --git a/sys/dev/ixgbe/ixgbe_common.c b/sys/dev/ixgbe/ixgbe_common.c index 3f38f5e27123..a3a1cb564948 100644 --- a/sys/dev/ixgbe/ixgbe_common.c +++ b/sys/dev/ixgbe/ixgbe_common.c @@ -5136,7 +5136,7 @@ s32 ixgbe_bypass_rw_generic(struct ixgbe_hw *hw, u32 cmd, u32 *status) * ixgbe_bypass_valid_rd_generic - Verify valid return from bit-bang. * * If we send a write we can't be sure it took until we can read back - * that same register. It can be a problem as some of the feilds may + * that same register. It can be a problem as some of the fields may * for valid reasons change inbetween the time wrote the register and * we read it again to verify. So this function check everything we * can check and then assumes it worked. From nobody Wed May 17 10:05:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpdW4jVVz49vLZ; Wed, 17 May 2023 10:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLpdW47YQz43sd; Wed, 17 May 2023 10:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WlQj0/HfKNw27gYBGd1bQc+Ewhifr3+qnaIF5vYexns=; b=kfX82uxs5fTuKm66tqMPX6v+4fhDJYGEZheD91fME9H698T+DJibGHPgW3gl0xS1RxONFi KYd4AwOi/UeYbk1lgIqsqmVtPlmx52tLBJyrS9Bfy+Z+eBI01Td/aoTy3Fv+jBNTKXbQVT hehrdTHxfOR5HX+bJNYFZb6mcAJK/4bdXwXb9GPKJ/1B1ZLTXJeUnMYlYunE11yq6rN6jG h5fRHZ7d4T7kmY4vNer0/Eb2K1Hw4U2fFt6Mj8x2Q13K5UWklzNlLGzoair3o7na6VPUY9 mjRENh78lvLWFGe0W4nq7ElLjV1AcrOYAxCU2iHXL1sLom80VsSkD5Jc08GbYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WlQj0/HfKNw27gYBGd1bQc+Ewhifr3+qnaIF5vYexns=; b=LsPsH7lgYWETX+ZFaZrZWVF0WywuxGCV+e1clffShN8b/H2m55cEuWxA8/P6XFuD9uVlGq qSVjHiw0KO8qnutjl59vt1OQDIolWyDied6b265PGBw0ajt8UpXRHwBJzNXlJ724mxK5Hf h7mf8kpHz2diPcVhgyiS4pYR4tregTPRnezqPi5kpYGZHV/rAu8EdpBS38b//LVa9JOVyi OrCdHYWjmKR5neY+GnoDfXhq8nK7BK0Ewu1tEYeDkdCDuQALnlarETzbseh6smJfZW/Lb/ cuNnR35pSnm79vnm+A+NFeySyi5tdaTfFRDJ6N++/+yI2Us9KH37sCZkiUeDNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317935; a=rsa-sha256; cv=none; b=UyQqMSvXpkZ+pdoGaPzSubW7/Ns068rXWm5Ax3YByQZCNqYd/22jetV2xTPwvMQIbBOuS8 EL94ZPl9lb3zcNt0eat4UbN79Xvr6e6DA147PNs9RjKhn38prOMS0vhGF+S9hb2v4ZE19s aO/UQaDlVFRNp66zyMSmQZpUgjstfinditQfnhGXbwx/Ipz2f1t8yBAzPkKc/7TUuOe50y FNgGpE8ZXh8n71d4NxjTnvcQQoy+HezcP2PY5uRf4CfenTghuyccXtO/byv3on1Sw8XfIQ nZsXqRJ0smydjrlKvyHAQY/e1eTdQIJapwLaI5gYMzoFPSJiP4DyuPKa4xd5Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpdW3FDHz10Sy; Wed, 17 May 2023 10:05:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HA5Zdb056972; Wed, 17 May 2023 10:05:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HA5Z33056971; Wed, 17 May 2023 10:05:35 GMT (envelope-from git) Date: Wed, 17 May 2023 10:05:35 GMT Message-Id: <202305171005.34HA5Z33056971@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: a043c76d3e33 - stable/12 - mps: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: a043c76d3e33004848b7ff3aed8ce3213a741d97 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=a043c76d3e33004848b7ff3aed8ce3213a741d97 commit a043c76d3e33004848b7ff3aed8ce3213a741d97 Author: Zhenlei Huang AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 10:03:17 +0000 mps: Fix a typo in a source code comment - s/feild/field/ MFC after: 3 days (cherry picked from commit 5bcbdb0b2eb4c14ef0a8671c996337acdefb7f72) (cherry picked from commit 3056dfbdf815d0536ab045b1aa3d600260a19e95) --- sys/dev/mps/mps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c index 2e2fd9641c77..1fb7cf09eae8 100644 --- a/sys/dev/mps/mps.c +++ b/sys/dev/mps/mps.c @@ -2740,7 +2740,7 @@ mps_add_chain(struct mps_command *cm) * sgc->Flags = ( MPI2_SGE_FLAGS_CHAIN_ELEMENT | MPI2_SGE_FLAGS_64_BIT_ADDRESSING | * MPI2_SGE_FLAGS_SYSTEM_ADDRESS) << MPI2_SGE_FLAGS_SHIFT * This is fine.. because we are not using simple element. In case of - * MPI2_SGE_CHAIN32, we have separate Length and Flags feild. + * MPI2_SGE_CHAIN32, we have separate Length and Flags field. */ sgc->Flags = MPI2_SGE_FLAGS_CHAIN_ELEMENT; sgc->Address = htole32(chain->chain_busaddr); From nobody Wed May 17 10:05:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpdX61MDz49w5D; Wed, 17 May 2023 10:05:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLpdX55tNz43w5; Wed, 17 May 2023 10:05:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yn5QKqBwRv2EUnSYDddY0W+YLZXALF0K5T2AYTK3UHI=; b=X+PyyQY82NmQJAiB7GXgIhbMh66s12QZRAfuzfPZTNM0f9mKmY0Qg/bRCBaD8Ol+76sUM4 EDX7iyAAu8SagDdvEHy7H6AixTTiqN63G+VUH2x6mb0sPqIpcQhq7H+1FOwX10ezMwokuZ CQtrtsa605Mcpe2ytrx5GACj6ZXldUFzomieSkifhqEYqtt9myiAcsIak520YXJ//ukVaf GpzXABn2Udlshvm19Oev19HfP7VdhVVxLzLXbVD65Oxowc7Znh9gG4QNmnLIWkDfFIYXOd c0Fdw+NV8ffxGLHROaHIpQN3/1LQg2wuJNt+pmSf7jiGniA8qPG5HFE07JEw9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684317936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yn5QKqBwRv2EUnSYDddY0W+YLZXALF0K5T2AYTK3UHI=; b=D8Bt6J0rBLnU9dh+3cDQsmu2RWckk/1Ib+kw4YOKJsWn9XpfbnhBNOw5hB8jMIwYGptSxY EyPOhfuW+ZevOwq8UGaF7o6R+LIEmkWt713fOMj2lx73IUBfJpwY8IBscL81/YIpQ7Is/+ RC8rdo7l9NBbhuRVrgZzp6iPImr7h8kC2mJ/tLCEHOktCvGQE6Vz3aVC+Isa9KTGDvDFuQ qsQiqFO4gfwWFzNaum54hfApwMkxCWpjtjffS6qHlU+IG+C/trulK7dneudhOv1FqzlKbz +NFgYfCBGF89y9SewjBgb4sg1V2wfSSK0h1vjZZ1uqQxa89Oarnl6vBG7Vjssw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684317936; a=rsa-sha256; cv=none; b=TpKG9HkbHhMFJ6cz7tyxnlt71G6expJW8+zNl2VILdabP/62xeRCD+dgHFXEsk2uvzL4Js kTNK4dhmpoHl5n5y1Ai9Ly7ky/qt+e7RNLeDgRW3ul0dyB6E4ocExWB83jnylh8Mftobox Ap8+6b2mQ/ZDdstYSPj6jGzvIplotnZ8M+X2Bj9kPvr4xIzZj7UbO7pB773HCHc0fDoOqT piZAo1PESTc1YUnBSkJG+wi51nMJ9gwGYsLKpGhISMh1A4UCwkgvfvRRrbumb5LEKkK8RY 9wfgMuenH+yOY0QtLneSLAboL+dJep47t1BDWXgNMZUYNyMM/vywjEu0cO6EYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpdX49dGz101Q; Wed, 17 May 2023 10:05:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HA5asp056992; Wed, 17 May 2023 10:05:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HA5aHc056991; Wed, 17 May 2023 10:05:36 GMT (envelope-from git) Date: Wed, 17 May 2023 10:05:36 GMT Message-Id: <202305171005.34HA5aHc056991@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 4f6be38eed95 - stable/12 - mrsas: Fix a typo in a source code comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 4f6be38eed953c35df73451911ca685bd8fe5535 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=4f6be38eed953c35df73451911ca685bd8fe5535 commit 4f6be38eed953c35df73451911ca685bd8fe5535 Author: Zhenlei Huang AuthorDate: 2023-04-28 10:01:58 +0000 Commit: Zhenlei Huang CommitDate: 2023-05-17 10:03:30 +0000 mrsas: Fix a typo in a source code comment - s/feild/field/ MFC after: 3 days (cherry picked from commit bbfb244724e25933d7c7cf68b943e0c2a7d6e381) (cherry picked from commit 62af5091a4f757b2c356a1dbf8edf40548b0a724) --- sys/dev/mrsas/mrsas.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mrsas/mrsas.h b/sys/dev/mrsas/mrsas.h index 50b67f0ca50d..638bb46695fc 100644 --- a/sys/dev/mrsas/mrsas.h +++ b/sys/dev/mrsas/mrsas.h @@ -937,7 +937,7 @@ typedef struct _MR_FW_RAID_MAP_EXT { typedef struct _MR_DRV_RAID_MAP { /* - * Total size of this structure, including this field. This feild + * Total size of this structure, including this field. This field * will be manupulated by driver for ext raid map, else pick the * value from firmware raid map. */ From nobody Wed May 17 10:14:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLprD6LLXz49wcf; Wed, 17 May 2023 10:14: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 4QLprD5nssz45cX; Wed, 17 May 2023 10:14:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684318492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+W8EfYRkyaPp2wrHJvT0g0WjyGum+R0AZQn9bCQjc8s=; b=WEwaToKWKOcZyEkXvhq7VgvU7eRNwzb30jQ4aUSxJ3PN9LroQdoRBXcmPZwwXLgdaxFywt GGema2IunDmirT9Y/FW082j9kxHq2rTGpJOAUihptsf45c5uNaIzlCkKVoSHOWmxikEDOx yETdZZaVGQHG37thkrSSju62nANZVxrS1xatBC6xXUjzK+k9BxOZYK7rKLwEHGtYLNddtA 7Wrk6Ivii9tgSYl+5Q5sUz4sdvyacDiq3+5AcmRq4R+Ql5VfXY7SxkLG7AWLRjFKMPM6d0 A6LevWq0HdRjopEQ9QPpNY/S1ew19CJkV1TubZsR4vE7cwWvtVKUzDRSx+KGyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684318492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+W8EfYRkyaPp2wrHJvT0g0WjyGum+R0AZQn9bCQjc8s=; b=M/RMvWcYNGTEuHu+S0ZI/snViWYL6RPlR+AwRlvLomF6J7peeW9vtsTLzXiJ0NH9iOZXdR c8bc4044jVHwo1+JNJyWtJ7tA1pgPM4Uf+7ifEQ72myhXhz7RY0dTK08sBgpouI+pbbzcU AuSB9k+sS5li7JKUDaH1WUKLDzpSKl0cr/alefOeUaI4BusG8WuUcW771+d4QQDVprHZmA HjGr86XKgP8YDHIqpZvqoojmb6VYSi6QyVNkYaB2yQvuM/4kfZi59uJC3rrXTknlhN5Xn9 oSy+vdx0cgIlzYr8zoSU5GpaRPNe7PsMRRZshy36dNkktDl1M0LVCy4vKAdyCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684318492; a=rsa-sha256; cv=none; b=imbKFwwx7jG45FV/aMBM1ZPWF0/ftLz1SuSIbe0KLXlwc7apfturc/ZTFbK+U/Q7mw91oZ /dTDhHEjEQlBqv77s31Eet8L3SOJ5J6JaQouMADZz2awDD+cdCAIi+WMluSKaNxiUZnTC4 4DHztbMON/XHglT9SauS8jRNwec++QJGFXKI8qrqdzmcTrFX4Ft6NUgLgkB4bwC+ZqzEwr 4Kivd30o7JkMrs96jH1Sixp5gQ+WlwZhtrwypqKDQyQUvV8IAr6TzyNyDPX1dpz5DCqJAX 5CZfgJC2vWxtUEn/w2BStrG1ZX9JYM0XuAtRA58Qq7ryBBOqINVZSRNeF1ZAyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLprD4qmQz10lN; Wed, 17 May 2023 10:14:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HAEqDH073014; Wed, 17 May 2023 10:14:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HAEq7h073013; Wed, 17 May 2023 10:14:52 GMT (envelope-from git) Date: Wed, 17 May 2023 10:14:52 GMT Message-Id: <202305171014.34HAEq7h073013@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Piotr Kubaj Subject: git: d0cdec7a2042 - main - em: sync platform detection with Linux List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pkubaj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d0cdec7a20422bf48dfe9b2118a3d776e8202c57 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pkubaj: URL: https://cgit.FreeBSD.org/src/commit/?id=d0cdec7a20422bf48dfe9b2118a3d776e8202c57 commit d0cdec7a20422bf48dfe9b2118a3d776e8202c57 Author: Piotr Kubaj AuthorDate: 2023-05-17 10:14:02 +0000 Commit: Piotr Kubaj CommitDate: 2023-05-17 10:14:02 +0000 em: sync platform detection with Linux Switch 16 and 23 adapters from tgp to adp. PR: 270929 Differential revision: https://reviews.freebsd.org/D39977 Approved by: erj, kbowling --- sys/dev/e1000/e1000_api.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/e1000/e1000_api.c b/sys/dev/e1000/e1000_api.c index 9442dd26651b..adb6e4d08b8a 100644 --- a/sys/dev/e1000/e1000_api.c +++ b/sys/dev/e1000/e1000_api.c @@ -333,16 +333,16 @@ s32 e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_PCH_TGP_I219_V14: case E1000_DEV_ID_PCH_TGP_I219_LM15: case E1000_DEV_ID_PCH_TGP_I219_V15: - case E1000_DEV_ID_PCH_ADL_I219_LM16: - case E1000_DEV_ID_PCH_ADL_I219_V16: - case E1000_DEV_ID_PCH_RPL_I219_LM23: - case E1000_DEV_ID_PCH_RPL_I219_V23: mac->type = e1000_pch_tgp; break; + case E1000_DEV_ID_PCH_ADL_I219_LM16: + case E1000_DEV_ID_PCH_ADL_I219_V16: case E1000_DEV_ID_PCH_ADL_I219_LM17: case E1000_DEV_ID_PCH_ADL_I219_V17: case E1000_DEV_ID_PCH_RPL_I219_LM22: case E1000_DEV_ID_PCH_RPL_I219_V22: + case E1000_DEV_ID_PCH_RPL_I219_LM23: + case E1000_DEV_ID_PCH_RPL_I219_V23: mac->type = e1000_pch_adp; break; case E1000_DEV_ID_PCH_MTP_I219_LM18: From nobody Wed May 17 10:17:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLpv30CpXz49wl5; Wed, 17 May 2023 10:17: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 4QLpv26bJMz46QJ; Wed, 17 May 2023 10:17:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684318638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1nDTFnVlk4VLKJ78ZlRJLCx6qyNz/l0IoM19Jxo+sNk=; b=iUB2vzGUJlLbWrUUytfe732xgSah2Tcf8F0tClsjKzdTNkT1qx5ku+i5FK5NIkMFnch2rF syDfIGBaCEVLk0s+kMvOfN6mZl5Mbh6d524h/97Ldrmwylyq0Wy3fwWhiCB5z9MoYhr5t+ 0XECx0XgNHx39ukaL9YvX0Oas/UImqIbO+HUlFKmGvO0+GbmOku2wugDfYbGnWipZY7SD5 5OGaUKA9KbvlDpDo1Km4X1zU8S/N3XpG7P1OJYy0Ad18xo/Ix+1My3c2lnLAnk9wr9NFPk IWa5RkLoNmoJyUe6KmI6APYR0gET3RlRbeAbFqH+ptKgV80YwcM1N+Vmv7LwlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684318638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1nDTFnVlk4VLKJ78ZlRJLCx6qyNz/l0IoM19Jxo+sNk=; b=Bmr0JpXOWPQ83LyuyoM/JSF6kdlVFnTuqC+YfKp66qjX2wg3lr/tmibSdCHcwW/qbIclUm 9Q8/huvXjl6OLNWd1VAaLLqfgMO0yAHE63TvHM3ahpMZaKO6m/n7TxuNqwbJrz8fU3N+Dr c9qR9KE7Batg5ghZIDd8uZMUGHUddx36EsXw64vHXLayzSxlqe7LpSsRmaqvKQ7KVjwXhi 6d5ZrFM9JlIyLxy5OAW5cymF1NdeXEQucpLZBignx1Tnxd3Qllz98OKe6ECyYyXiorHib7 leYoqxadOzfHyFjMyYC2NnP/2A2v0rwuc1V9naWmnaqQNEVVklZT4Y0yBiA+jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684318638; a=rsa-sha256; cv=none; b=v6auNVx10mKPODbQBsgVaDKeOOQbDcZdkBBp+Ux4ZTHUTabu21rm99+/qVKAazASGhQINv iYzKS+L4zVRhKudZKw5gsxfUJJZ6hwYDueeUnRaedIjXNUgpNWadBxQaDAe3bBt3Xrj5sW ZuMiuvxyaUPIpmdmcRZVPqRIP7KWEPzdc7a26QUa7cZz82tcSctkz+C8xCKTIgw8Gr6J5o hd24i8/gkuLVYS5IK1j4nVHKQIWAGonvE6eoFa/aeEvxcaUDhi3r3ydn1k+20GXZrzFDp0 kb2xhce3q2GCJD8tL6GimHmFXC0k5Dqlb7pmjdPtKR0BI21N1JOIaCoRVG1alw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLpv25f9qz10Yy; Wed, 17 May 2023 10:17:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HAHIJU073441; Wed, 17 May 2023 10:17:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HAHIRe073440; Wed, 17 May 2023 10:17:18 GMT (envelope-from git) Date: Wed, 17 May 2023 10:17:18 GMT Message-Id: <202305171017.34HAHIRe073440@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Piotr Kubaj Subject: git: 2e57f7bf2092 - main - ix(4): correct max MTU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pkubaj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e57f7bf209281e176f16ca3c5716807479873f8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pkubaj: URL: https://cgit.FreeBSD.org/src/commit/?id=2e57f7bf209281e176f16ca3c5716807479873f8 commit 2e57f7bf209281e176f16ca3c5716807479873f8 Author: Piotr Kubaj AuthorDate: 2023-05-17 10:16:22 +0000 Commit: Piotr Kubaj CommitDate: 2023-05-17 10:16:22 +0000 ix(4): correct max MTU The max MTU for the ix(4) is 9710. Differential revision: https://reviews.freebsd.org/D40003 Approved by: erj, bcr --- share/man/man4/ixgbe.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ixgbe.4 index 54c9146d2630..e83011a18664 100644 --- a/share/man/man4/ixgbe.4 +++ b/share/man/man4/ixgbe.4 @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 17, 2019 +.Dd May 17, 2023 .Dt IXGBE 4 .Os .Sh NAME @@ -68,7 +68,7 @@ Support for Jumbo Frames is provided via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the .Xr ifconfig 8 utility configures the adapter to receive and transmit Jumbo Frames. -The maximum MTU size for Jumbo Frames is 16114. +The maximum MTU size for Jumbo Frames is 9710. .Pp This driver version supports VLANs. For information on enabling VLANs, see From nobody Wed May 17 10:23:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLq1r1QmKz49wtx; Wed, 17 May 2023 10:23: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 4QLq1r0vkXz47CF; Wed, 17 May 2023 10:23:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684318992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fWK3EHXIBqCxsDlRf1HkY7luHTvbukacMc4+gFHMKGk=; b=QIrUQFX2XUSrmKTzch1zHp8d2/nCN+asj0oHas9x/n2pwCKfRjI3JuhAP6dJrV89UDIOaW dFSL0tRzpkGTj8Gmux8jw9ifBYpH4HMAYrxgmWwL6+U/WQebMb62zEvAybxcU12ceCZjgO NSYISl2dYEhmT9fUrg6X4HpO9grg+F0wyEd4eMsS4sQAfxtNQ1YXl84z8VXGaVKsbbU/xm vbGQatQfOBz/bciOGHUmWR6Bem2bYnqndzylSesV4qPBWRTBMV+qA62QOX1keLcClU32S4 Z3u7Wj8DIpTbmScHdyRvMs8FllBXpRDKviw5Z81VL/MH61Em9124eBFW97Ttdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684318992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fWK3EHXIBqCxsDlRf1HkY7luHTvbukacMc4+gFHMKGk=; b=ND5FQUKgv8IkeNa0QcaTOBZsg/4LsczI6EcynlOX2f3Yfib3RgfIKTYs+UsfB5pwef2hZ6 i+FbYOhc2U3PHgQ3fsS0f1xFXsjls2Zt5LHVm4nURdfm/XeyHKvbRtZtdNnl6EYd8tCpkM AP8zM/z+vIbIPNQSO+LJmhzyIrza4MWjHmpeal967LlcSJboBUR7AoTKMRXu/WuHV02gt0 awiuY5TiLnwcwH8Hq91feDinwlzjeOrDz7REGQLbE4tL5sIaNwP2GH0LFu+WBBc66XDuZC tn1uAXDpquBMjxXjrzVPjZJqPqWKJ1JEpHEcLexVhcWqM6Dh406k4aoiG8zEbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684318992; a=rsa-sha256; cv=none; b=NTKNoO9kMFNvn0tGLGGE0k5oa7xUYylJvbJyXtD0AKHSNeNHaq20/LQkF6QMOJavOxQMST FdfykKj10ygNL9TIRU0dhabFuS+4Znp6PYvx6+3t39cBru80OAp8QQaIgiXs6MbEUbvqY5 Y2VnK0SCr0CRu9LX0sqibYk67SdWFcFPBDdo7M43xODl9Jxsw7XTdfyS8iA1zvAR+VagJn zUNu8i5Gp7lN2/Vrl8tlWEaEPsGR75unDxmH6CkIGoSCJM8HCHuKcAzvUDuKOkK0hfAU5p ZTjo5CtLxvsuMC0OTMMLQM5Jdm5quGw+rvmWQC+7iYBbcqfbWR0Jpln+1k0rfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLq1q74GBz10Y1; Wed, 17 May 2023 10:23:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HANB6s089340; Wed, 17 May 2023 10:23:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HANBfU089339; Wed, 17 May 2023 10:23:11 GMT (envelope-from git) Date: Wed, 17 May 2023 10:23:11 GMT Message-Id: <202305171023.34HANBfU089339@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 71fde8e5070c - main - LinuxKPI: add ns_to_timespec64() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71fde8e5070c4128e35acdb7f69a01460bce4638 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=71fde8e5070c4128e35acdb7f69a01460bce4638 commit 71fde8e5070c4128e35acdb7f69a01460bce4638 Author: Bjoern A. Zeeb AuthorDate: 2023-05-16 21:00:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-17 10:22:07 +0000 LinuxKPI: add ns_to_timespec64() Add ns_to_timespec64() which does not seem to require anything from us given timespec64 is aliases to timespec. Sponsored by: The FreeBSD Foundation MFC after: 10 days Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D40123 --- sys/compat/linuxkpi/common/include/linux/time.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/time.h b/sys/compat/linuxkpi/common/include/linux/time.h index a1c18d6879ca..62f20c15f607 100644 --- a/sys/compat/linuxkpi/common/include/linux/time.h +++ b/sys/compat/linuxkpi/common/include/linux/time.h @@ -121,6 +121,8 @@ ns_to_timespec(const int64_t nsec) return (ts); } +#define ns_to_timespec64(_x) ns_to_timespec(_x) + static inline int timespec_valid(const struct timespec *ts) { From nobody Wed May 17 11:31:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLrXP09Zhz4B1rr; Wed, 17 May 2023 11:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLrXN6svjz4D20; Wed, 17 May 2023 11:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684323077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oDt3ILKcvhFXtkmRCgk2Tg4lzU4JB/z7RP7jOVItZS0=; b=X9BR6SifkhaGGWQspwa/awIMC/RU2OlF56b7Fi0E+DYV9immtUrlKYJv9qIarWKywCaLx9 HbsWOL35hyPxhgJg0BlOeEnX+PX6jPuXuBnAZaBOtIeHGKGCasPA4i/AsmwselPjh01MsG bweU4nvJ8pDCJ2to4TGN1y73G5cIOZMRiXXPi5pXepBrftQj0GWy4V9a2/mH4/9V/f+AHU 5409T8nyG03dymscg7BF9Cr2DL5bQL/+BypGFEdXD/Bb0YCM1zGECahAKj7anpjIxlwyr/ q3eZ2xF+rYtBu65bMMSWboKKPJ+8qdVaKGibles1w5l4IgXEPjwbLo5vGi3wWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684323077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oDt3ILKcvhFXtkmRCgk2Tg4lzU4JB/z7RP7jOVItZS0=; b=AN0i4x9aP0Y6hTEwfIWy8rDjLj1vIlfTzF8m0qL/xGskurPkRvuE3/w1dNTIkaqw1tol8z xhgGemFfQidcmMUyuVvDSib4boks2dBhjYfB+WLNBAcPJ871z+imvaeCt56qBLW6nyX1tH +tlm518olXrL9mYUusU3vENUutuq1zTLLrx4K30Qdts3zqttNsQZZJy2lAdAH4MOGdROHS oIrhW0PNJ7cGPc4fzbxjuaDrD415O4HsIhhWazqXpgM4At9v1fAMIdboIq9oCdKVoOvC1Q cUi+wHyCyOqLQ96qRvBrOL1mXBTQx9Iyshn6qhL0Zya4BoghiH7huc0otDfodg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684323077; a=rsa-sha256; cv=none; b=Vzg5xk5IFerDly0US1pZbzn18WwBFmzEAH7yonTgerhpiYiXoe6GnO8Z7Y2klmDCe/bIQ7 dYUIXN7Kx1bbcOPZ+zo961qC25QqNCtzyIHIdsztXcSU4NJyNYDlj4ytaT1193fN343pZM Ckz6TO2080G0vQY142mb5AH8UjzChDGT4xt6U+1vD29rpE9IS0BoL7YwXf0halsHSI+jmV GujNZalNbOvE3jWYZPmI9sQGCH7OKGp+6m/8McRbN2nAhXfUPJW6EZhw6kIJ3vb2QYakqg 59km+hffS/dCCw+hVWzoX4wdGRWS/hV0MkSe6n7tPp64yXrqoTNX9mKuCCVGDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLrXN5zMlz11yV; Wed, 17 May 2023 11:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HBVGsb000607; Wed, 17 May 2023 11:31:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HBVG0s000606; Wed, 17 May 2023 11:31:16 GMT (envelope-from git) Date: Wed, 17 May 2023 11:31:16 GMT Message-Id: <202305171131.34HBVG0s000606@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 37c1ef5ac0a2 - main - Move the arm64 sigcode to .rodata List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37c1ef5ac0a2867a59cfbdd73f1970389a7fc8e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=37c1ef5ac0a2867a59cfbdd73f1970389a7fc8e8 commit 37c1ef5ac0a2867a59cfbdd73f1970389a7fc8e8 Author: Andrew Turner AuthorDate: 2023-05-17 11:00:12 +0000 Commit: Andrew Turner CommitDate: 2023-05-17 11:28:45 +0000 Move the arm64 sigcode to .rodata The kernel doesn't execute this code, it's only ever copied to userspace. Move it to .rodata as we don't need to modify it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39399 --- sys/arm64/arm64/locore.S | 8 +++++--- sys/arm64/arm64/sigtramp.S | 7 +++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index e17f897baeab..e26003b6c926 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -918,8 +918,10 @@ pagetable_end: el2_pagetable: .space PAGE_SIZE -.text -EENTRY(aarch32_sigcode) + .section .rodata, "a", %progbits + .globl aarch32_sigcode + .align 2 +aarch32_sigcode: .word 0xe1a0000d // mov r0, sp .word 0xe2800040 // add r0, r0, #SIGF_UC .word 0xe59f700c // ldr r7, [pc, #12] @@ -927,10 +929,10 @@ EENTRY(aarch32_sigcode) .word 0xe59f7008 // ldr r7, [pc, #8] .word 0xef000000 // swi #0 .word 0xeafffffa // b . - 16 -EEND(aarch32_sigcode) .word SYS_sigreturn .word SYS_exit .align 3 + .size aarch32_sigcode, . - aarch32_sigcode aarch32_esigcode: .data .global sz_aarch32_sigcode diff --git a/sys/arm64/arm64/sigtramp.S b/sys/arm64/arm64/sigtramp.S index a9ad10da766c..f1936e695f33 100644 --- a/sys/arm64/arm64/sigtramp.S +++ b/sys/arm64/arm64/sigtramp.S @@ -30,7 +30,10 @@ #include #include -ENTRY(sigcode) + .section .rodata, "a", %progbits + .globl sigcode + .align 2 +sigcode: blr x8 mov x0, sp add x0, x0, #SF_UC @@ -44,9 +47,9 @@ ENTRY(sigcode) svc 0 b 1b -END(sigcode) /* This may be copied to the stack, keep it 16-byte aligned */ .align 3 + .size sigcode, . - sigcode esigcode: .data From nobody Wed May 17 13:22:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLv0B5J8Yz4B7JM; Wed, 17 May 2023 13:22: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 4QLv0B4pFZz3G0r; Wed, 17 May 2023 13:22:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684329722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zed2XLp59ZZLgxJ8eMshQ/Y3NVqlft6c+aHXSpb6qEU=; b=F48yKSCwraFpUIfcfrYB3XnWOF6dsGeWaHfwJj449NLAbhAa7bE6VKqI8ZjzMHseaEOp1Z x38gYY8j4IoPXT34cx1K+/E50xv8n33OPExcNREOZhJJSvdRUDGIfK6OVjQXS/aqDVloCF h4kCJhu1w8cenG2bGiE+kUAg4LIddlyNMcM55kfS0/e2vuSSS55luPHQeCygD7vyIpL9RY 5UfbBgHvTrLkV/RBE9dLo9lu9njlZBk2si2iGlmprNvl5rn3Hs5GNOD+lNztAVx5cXLTTa 39jNJbqgaqWXgd9lioLKYuLm0SZagXF++C1hxwe5rqBynncGjJFrR4cs98EOBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684329722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zed2XLp59ZZLgxJ8eMshQ/Y3NVqlft6c+aHXSpb6qEU=; b=Csa17N4iose4Vxima5chsnsD0zSf15UvYqVBxFNa1XACIlwpbCUM29LZrkh4lm/MEujaNB ZrmOTC9YoaVf+eC3h/v+yYcvgfGaSUtaifWsyk3uEBTsqF3SSUcwv5qIanS84BNlRFHKth 1pw5AP5tufaF1GXOaDmba6SM+Mzu3KNi5FhJSIPqazvOCvtEMBlhZJ7FiLhOc9f3XDjNIG yY9h6qzvMEPA4c/Kwz+QGtyeBP49CwZ03nnMsg7vrAuFH/nX+NULj9LQ+B7fk4pV+94t+R U9fkMQHfKM+9U3ni8MFPGr7fOEBbXc8F1IFmpB+N05nLxCk928YYeU02zp9fRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684329722; a=rsa-sha256; cv=none; b=rvtzFD+H3b57vtJbhnfVwvTZ0XYLx/O+gcnkjV+TGlLKWobAL/EZTTe3XGMxzC1OM9oSN6 sPxPiUZBP3iCGM9iZw3Ue1c2AHcRrHDZGGSUQ1OvTyDeQVUZ0IDDh+lOPBWcqzC2Qpzrfv EaQkS4TB2jK18zb178hD/tb8PhmSLc3MCvzqS6wIWWjKjfC9vE6KF3cObGCR5gQCRgb3CN 3BrMlne+Ljotvf+/yh5BDv63jLGOSFn1Mfd8LuO5mIR5lR+suWVAppaLSFkS7QIovC+RGB Sub4wVG47jBL50+lS37xXlclDKQABQj7GX2UQAnMW/I0nbr9zuGOj6xltkxt6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLv0B3Zqkz155x; Wed, 17 May 2023 13:22:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HDM2qk084089; Wed, 17 May 2023 13:22:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HDM2qS084088; Wed, 17 May 2023 13:22:02 GMT (envelope-from git) Date: Wed, 17 May 2023 13:22:02 GMT Message-Id: <202305171322.34HDM2qS084088@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: bdd47177528b - main - pf: release rules lock before passing the packet to dummynet List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bdd47177528b5beacabb4837bfac0e9de92aae74 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=bdd47177528b5beacabb4837bfac0e9de92aae74 commit bdd47177528b5beacabb4837bfac0e9de92aae74 Author: Kristof Provost AuthorDate: 2023-05-11 16:10:33 +0000 Commit: Kristof Provost CommitDate: 2023-05-17 13:20:18 +0000 pf: release rules lock before passing the packet to dummynet In the Ethernet rules we held the PF_RULES lock while we called ip_dn_io_ptr() (i.e. dummynet). That meant that we could end up back in pf while still holding the PF_RULES lock. That's not immediately fatal, because that lock is recursive, but still not ideal. There also appear to be scenarios where this can actually trigger deadlocks. We don't need to hold the PF_RULES lock, as long as we make a local copy of the data we need from the rule (in this case, the action and bridge_to target). It's safe to keep the struct ifnet pointer around, because we remain in NET_EPOCH. See also: https://redmine.pfsense.org/issues/14373 MFC after: 1 week Reviewed by: mjg Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D40067 --- sys/netpfil/pf/pf.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1424099b1e5a..06270d34da85 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3875,10 +3875,8 @@ pf_match_eth_tag(struct mbuf *m, struct pf_keth_rule *r, int *tag, int mtag) } static void -pf_bridge_to(struct pfi_kkif *kif, struct mbuf *m) +pf_bridge_to(struct ifnet *ifp, struct mbuf *m) { - struct ifnet *ifp = kif->pfik_ifp; - /* If we don't have the interface drop the packet. */ if (ifp == NULL) { m_freem(m); @@ -3897,7 +3895,7 @@ pf_bridge_to(struct pfi_kkif *kif, struct mbuf *m) return; } - kif->pfik_ifp->if_transmit(kif->pfik_ifp, m); + ifp->if_transmit(ifp, m); } static int @@ -3916,6 +3914,7 @@ pf_test_eth_rule(int dir, struct pfi_kkif *kif, struct mbuf **m0) struct pf_mtag *mtag; struct pf_keth_ruleq *rules; struct pf_addr *src = NULL, *dst = NULL; + struct pfi_kkif *bridge_to; sa_family_t af = 0; uint16_t proto; int asd = 0, match = 0; @@ -4097,6 +4096,9 @@ pf_test_eth_rule(int dir, struct pfi_kkif *kif, struct mbuf **m0) mtag->qid = r->qid; } + action = r->action; + bridge_to = r->bridge_to; + /* Dummynet */ if (r->dnpipe) { struct ip_fw_args dnflow; @@ -4151,21 +4153,21 @@ pf_test_eth_rule(int dir, struct pfi_kkif *kif, struct mbuf **m0) break; } + PF_RULES_RUNLOCK(); + mtag->flags |= PF_TAG_DUMMYNET; ip_dn_io_ptr(m0, &dnflow); if (*m0 != NULL) mtag->flags &= ~PF_TAG_DUMMYNET; + } else { + PF_RULES_RUNLOCK(); } - action = r->action; - - if (action == PF_PASS && r->bridge_to) { - pf_bridge_to(r->bridge_to, *m0); + if (action == PF_PASS && bridge_to) { + pf_bridge_to(bridge_to->pfik_ifp, *m0); *m0 = NULL; /* We've eaten the packet. */ } - PF_RULES_RUNLOCK(); - return (action); } From nobody Wed May 17 13:40:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLvPw1xFbz4B8tk; Wed, 17 May 2023 13: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 4QLvPw1VG3z3LLS; Wed, 17 May 2023 13: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=1684330852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7QPKydAUb/QLv00jku7MtB4gEwt03rwGX2Pzk1+YcB4=; b=SrDL63PPfK2z9gD68jtIsDRxPPG0e/NApsiShR9SQaFNtzUy1rA2UKZt89rdfwQVtvS0Jj YLk6N0RoChCJP/o1wzj6N9yZQ8LcB8ULL7EBW5dlpSfWJvm8jtztheK5nHkZFzZrf5oI6X q9zbfbGcLAKzTpnLgqRXKrIt3SCw13WqnNUh4IA8wFk+1SrwjGFF6EXlx5mtHDB8L2l2j9 nc/qwO0RiyofvxsUnN7dvQnPLNrrdGvx+xJcCht9GDX0J2vkd6bf3gBTKbnGn7OucfmZqA Q0IXuZ5z8W8K9T0PnbY24bslNyvEgVoil7raK7tpaKzEHDHdXmv1HOYayv/x9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684330852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7QPKydAUb/QLv00jku7MtB4gEwt03rwGX2Pzk1+YcB4=; b=buiyTd3eZEisVbpmAkqPFzukbyagQv8Pu/LbTsLCKRCVTHpb3HSICaNKkk4VRwtM4rZUGw DDWNzK8zTk74IjjEMIWN4JJMRsWJ10aOD4mHSRBvCv8vFYNt5YhPKrTqcIpAyGMncLRjK/ EErWRr4tGP13XWKrVwFWveTzACzVCE04RpkLbSNNLe+o6uBtrszGhV5R7uWCHf9wBYkd33 sz2J2HOQDO1ho0CMsdrhn3LzfOkl1jOUWhH+xx25wAqBjc0q7ozqazQjsbyuwygSYVTvH9 JQzIIVquuvfMXvicgAncdJwkKprm8LUSEKUWiwbPkUFAY47VHl5jWnI6JwX3pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684330852; a=rsa-sha256; cv=none; b=D690G4z8HL8vx0DLhS6Nlw/qyL6RlaLKwABN51sOeI7cG6UhKyN1erSfzMCBvwpU2HGuX0 s0Sa3m28OwP+Zyh3De1v9exoq+wVpYXXbskQI/hfv1LjmD5L4TW8anBqGewGx434pKd1Et EWxND0A/dPg8jh/HU8dj4ZwuuhHPtZ7tpv43qoeG/Kygb0MfkZWCW0jIafkNj4B3TF3qLL ZkmmLKs0naEaRsxtm2XciJB0fg5f3voM7nqqzFqi8sDOLjYee3PLcOzHXMCJCCABla0IuG I0AglklHeBZmhFpFutbaLjLJh106TL8H7VjhC9KaX8RZhjxGvZYXp5xP1y2m3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLvPw0btdz15Pf; Wed, 17 May 2023 13:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HDeqWV010944; Wed, 17 May 2023 13:40:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HDeqIw010928; Wed, 17 May 2023 13:40:52 GMT (envelope-from git) Date: Wed, 17 May 2023 13:40:52 GMT Message-Id: <202305171340.34HDeqIw010928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 26d9f973d869 - main - bhyve: error out if fwcfg user file isn't read completely List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26d9f973d8691eccc098ded7326137d6f76ad243 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=26d9f973d8691eccc098ded7326137d6f76ad243 commit 26d9f973d8691eccc098ded7326137d6f76ad243 Author: Corvin Köhne AuthorDate: 2023-05-12 05:37:32 +0000 Commit: Corvin Köhne CommitDate: 2023-05-17 13:39:37 +0000 bhyve: error out if fwcfg user file isn't read completely At the moment, fwcfg reads the file once at startup and passes these data to the guest. Therefore, we should always read the whole file. Otherwise we should error out. Additionally, GCC12 complains that the comparison whether fwcfg_file->size is lower than 0 is always false due to the limited range of data type. Reviewed by: markj Fixes: ca14781c8170f3517ae79e198c0c880dbc3142dd ("bhyve: add cmdline option for user defined fw_cfg items") MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D40076 --- usr.sbin/bhyve/qemu_fwcfg.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/qemu_fwcfg.c b/usr.sbin/bhyve/qemu_fwcfg.c index 45c4a885ae96..e845c70950b1 100644 --- a/usr.sbin/bhyve/qemu_fwcfg.c +++ b/usr.sbin/bhyve/qemu_fwcfg.c @@ -524,6 +524,7 @@ qemu_fwcfg_parse_cmdline_arg(const char *opt) struct qemu_fwcfg_user_file *fwcfg_file; struct stat sb; const char *opt_ptr, *opt_end; + ssize_t bytes_read; int fd; fwcfg_file = malloc(sizeof(*fwcfg_file)); @@ -593,16 +594,14 @@ qemu_fwcfg_parse_cmdline_arg(const char *opt) close(fd); return (ENOMEM); } - fwcfg_file->size = read(fd, fwcfg_file->data, sb.st_size); - if ((ssize_t)fwcfg_file->size < 0) { + bytes_read = read(fd, fwcfg_file->data, sb.st_size); + if (bytes_read < 0 || bytes_read != sb.st_size) { warn("Unable to read file \"%s\"", opt_ptr); free(fwcfg_file->data); close(fd); return (-1); - } else if (fwcfg_file->size < sb.st_size) { - warnx("Only read %u bytes of file \"%s\"", - fwcfg_file->size, opt_ptr); } + fwcfg_file->size = bytes_read; close(fd); } else { From nobody Wed May 17 14:38:41 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLwhd6dHMz4BCRp; Wed, 17 May 2023 14:38:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLwhd5pY1z3hvd; Wed, 17 May 2023 14:38:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684334321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mPNym5hrFvZSMkdZu2fu/EIxBYKE6XfmiXmtDmoNNOs=; b=I2Hrz3J/6bnsk4ynpBeZjVfAJvicfo/Tkyi9YYpZZI3Y+HFTkx/TjyBeCTq3H+6lnL9G3r YcvOhHasmdX0QiSQdMo7q6wAB6RK1ZoIixMxmkusY7fZAPjRa+JWGEFnEP173j3uC2k9bm AvsJxJK/EvENOnU4i/xifD8oYR027Qo03VKMj/6VW8NbaxieLi6qntLbV2bLBgApB1T5Rw rXoZQpNH2KTPx+a/Zb7cboJUN7ELoRJOvKWtjWhKX4j2YmYuVp8GgVKreYA0/JQT+nBnyJ zGPbGH9KbE/qnT9785+yQ/1KXBjUHHwOXqQZ0Q8BG3/5nZEnrKsXIqzu4azYxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684334321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mPNym5hrFvZSMkdZu2fu/EIxBYKE6XfmiXmtDmoNNOs=; b=qPWzx+Gn5FXEidGRYa2eHr5hcbQgSfgQt5wDdKQjejLDPqAmUpeKzjvAGjZIoBveVUWZvk kusCw1GtvSBhZXaiv1wgft1jI6pxyPjGgRaJOLNgKYQQjgEoIcu1p2j7FqWtaecsnIqg6U LJEhslQkzg+GpLdVzW91GPCmv02mC1qmpto4y9dA9AdxdzBSEYdaJI30MnsX/WRjlQxhhA XM4WqV9cuA7y7EbIeFmxJaz5NzMY3rYQkhYUKZ1B0BIM0lod42EvwtsG8MIdhf0BXId2hD xL8D6gti/DfHGDr34UQkuPc09sFi9PfE8chg9S08QW03IKZcxc7ynwyOJ3HV0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684334321; a=rsa-sha256; cv=none; b=UUvQwlBvPOqitngOppJnGUO0ymxo3vrxBsDHCFL2M+pHLa1HrRZxvpxXLmWv2UcVWxPlOs LZkDDSc/eOzvYyfu8KFqqi0QEbLaZr+W92Oq4Q1uzHyBIAXBLdcDimoA72zlUO3zL1+ARV dlWg+K/5FhNS2jCldBFTB7/hFm1OxqYSvsgcv3chpmIYcGOTdidgLAssdkku2+dfsaDW21 jOwHRY/mIeQje9iC4qRbT3hwaaafNgIhvsbzY6MNfWOHJq39iOhaODqpr0z8jbu++AtzGS n4QPN77WOYl9XioItY6siFDUobB3LkaRNi+V36fHJ07Qt4vKZP8TPQgHNSGEGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLwhd4w8Fz16VR; Wed, 17 May 2023 14:38:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HEcfs2000945; Wed, 17 May 2023 14:38:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HEcfJd000944; Wed, 17 May 2023 14:38:41 GMT (envelope-from git) Date: Wed, 17 May 2023 14:38:41 GMT Message-Id: <202305171438.34HEcfJd000944@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: ddaa27909a92 - stable/13 - kern_jail.c: Allow mountd/nfsd to optionally run in a jail List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ddaa27909a9214f59eb6ee3682482b02e94b8dab Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ddaa27909a9214f59eb6ee3682482b02e94b8dab commit ddaa27909a9214f59eb6ee3682482b02e94b8dab Author: Rick Macklem AuthorDate: 2022-12-17 21:43:49 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 14:37:31 +0000 kern_jail.c: Allow mountd/nfsd to optionally run in a jail This patch adds "allow.nfsd" to the jail code based on a new kernel build option VNET_NFSD. This will not work until future patches fix nmount(2) to allow mountd to run in a vnet prison and the NFS server code is patched so that global variables are in a vnet. The jail(8) man page will be patched in a future commit. (cherry picked from commit bba7a2e89602e6745bb2ec474f5ab714aef49f42) --- sys/kern/kern_jail.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- sys/sys/jail.h | 4 +++- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 1dfdb30a463c..0a9d311eeafd 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include "opt_ddb.h" #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_nfs.h" #include #include @@ -215,6 +216,9 @@ static struct bool_flags pr_flag_allow[NBBY * NBPW] = { {"allow.unprivileged_proc_debug", "allow.nounprivileged_proc_debug", PR_ALLOW_UNPRIV_DEBUG}, {"allow.suser", "allow.nosuser", PR_ALLOW_SUSER}, +#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD) + {"allow.nfsd", "allow.nonfsd", PR_ALLOW_NFSD}, +#endif }; static unsigned pr_allow_all = PR_ALLOW_ALL_STATIC; const size_t pr_flag_allow_size = sizeof(pr_flag_allow); @@ -1884,6 +1888,13 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) } #endif +#ifdef VNET_NFSD + if (born && pr != &prison0 && (pr->pr_allow & PR_ALLOW_NFSD) != 0 && + (pr->pr_root->v_vflag & VV_ROOT) == 0) + printf("Warning jail jid=%d: mountd/nfsd requires a separate" + " file system\n", pr->pr_id); +#endif + drflags &= ~PD_KILL; td->td_retval[0] = pr->pr_id; @@ -3176,6 +3187,27 @@ prison_check(struct ucred *cred1, struct ucred *cred2) prison_ischild(cred1->cr_prison, cred2->cr_prison)) ? 0 : ESRCH); } +/* + * For mountd/nfsd to run within a prison, it must be: + * - A vnet prison. + * - PR_ALLOW_NFSD must be set on it. + * - The root directory (pr_root) of the prison must be + * a file system mount point, so the mountd can hang + * export information on it. + */ +bool +prison_check_nfsd(struct ucred *cred) +{ + + if (jailed_without_vnet(cred)) + return (false); + if (!prison_allow(cred, PR_ALLOW_NFSD)) + return (false); + if ((cred->cr_prison->pr_root->v_vflag & VV_ROOT) == 0) + return (false); + return (true); +} + /* * Return 1 if p2 is a child of p1, otherwise 0. */ @@ -3430,11 +3462,20 @@ prison_priv_check(struct ucred *cred, int priv) * is only granted conditionally in the legacy jail case. */ switch (priv) { -#ifdef notyet /* * NFS-specific privileges. */ case PRIV_NFS_DAEMON: + case PRIV_VFS_GETFH: + case PRIV_VFS_MOUNT_EXPORTED: +#ifdef VNET_NFSD + if (!prison_check_nfsd(cred)) +#else + printf("running nfsd in a prison requires a kernel " + "built with ''options VNET_NFSD''\n"); +#endif + return (EPERM); +#ifdef notyet case PRIV_NFS_LOCKD: #endif /* @@ -4184,6 +4225,10 @@ SYSCTL_JAIL_PARAM(_allow, unprivileged_proc_debug, CTLTYPE_INT | CTLFLAG_RW, "B", "Unprivileged processes may use process debugging facilities"); SYSCTL_JAIL_PARAM(_allow, suser, CTLTYPE_INT | CTLFLAG_RW, "B", "Processes in jail with uid 0 have privilege"); +#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD) +SYSCTL_JAIL_PARAM(_allow, nfsd, CTLTYPE_INT | CTLFLAG_RW, + "B", "Mountd/nfsd may run in the jail"); +#endif SYSCTL_JAIL_PARAM_SUBNODE(allow, mount, "Jail mount/unmount permission flags"); SYSCTL_JAIL_PARAM(_allow_mount, , CTLTYPE_INT | CTLFLAG_RW, diff --git a/sys/sys/jail.h b/sys/sys/jail.h index b0183d404352..f4d4e521d7de 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -247,7 +247,8 @@ struct prison_racct { #define PR_ALLOW_SUSER 0x00000400 #define PR_ALLOW_RESERVED_PORTS 0x00008000 #define PR_ALLOW_KMEM_ACCESS 0x00010000 /* reserved, not used yet */ -#define PR_ALLOW_ALL_STATIC 0x000187ff +#define PR_ALLOW_NFSD 0x00020000 +#define PR_ALLOW_ALL_STATIC 0x000387ff /* * PR_ALLOW_DIFFERENCES determines which flags are able to be @@ -414,6 +415,7 @@ void getjailname(struct ucred *cred, char *name, size_t len); void prison0_init(void); int prison_allow(struct ucred *, unsigned); int prison_check(struct ucred *cred1, struct ucred *cred2); +bool prison_check_nfsd(struct ucred *cred); int prison_owns_vnet(struct ucred *); int prison_canseemount(struct ucred *cred, struct mount *mp); void prison_enforce_statfs(struct ucred *cred, struct mount *mp, From nobody Wed May 17 14:40:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLwkT4Sb8z4BCNL; Wed, 17 May 2023 14:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLwkT33tSz3k7S; Wed, 17 May 2023 14: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=1684334417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i5Sk7TkYzLrEUyv97kLH2AMrRaHmaN7JVKBxIGqI8zM=; b=GLtcktteTJiemRa4A6XKj6ISCcO+8mLs9mo+S0BzqFbkCsX3hd8L+9FvZGy/8KvMgYuaTi LtMFlRUJk7cwYSfsEY8hknx+Yj5VXJIvrry82ijx0BChCft0IxoYmD28Dg5HzinA4XBPqP n2e3pESq/kZsTI++yyE8y++KKZGVAlChfiUpRLdOY1Xdv+88HNjOGompRf5Q0xumFhYLYG OB4u13tEyV7RIUB4q5sO5pX80MTkVlhicm1XlemBeZcTFkyZq1U/TfRyy87l0GILlRjgHn 0MKhTD1DJVqFZ0N6/lNKSIlJbhlU2SSl6Sgo/5qkXY+a2MapJBffRSt4RZ372A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684334417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i5Sk7TkYzLrEUyv97kLH2AMrRaHmaN7JVKBxIGqI8zM=; b=sd755L1AnYxtR8/6tiG97AX1MHiLV+kP4REEO/tFChCCQmUG5hCZ66XBUPnjhzIwwk2wUt NO15JXMLHrwAqiTay710zwinGf4hoQXWL1qyAtRg6Fa6ljNYXggPZouhrexCb7CmeYXXgG pq84FVKIWPJeyD3nlDxyU/SjZRrqycftnkax0xC46Dfl9WagnUz/YbrPis5o3zW88O6/Ha 8NkviPHLhhde3y+USCJi7RsfTOYQ1c7c79gOVJXKCjmPnCC1VQjEyGQuQm87BPIfaFcxH5 J/s5Ct37wPmkhNsdpvpMoF32sqDDOkxUkLqkgYyPHZa0NDqXWyPEjxMGAQEZbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684334417; a=rsa-sha256; cv=none; b=NGvXUtHmheR/QjFudIij4fSgfj+DEHs2KAk/6uPoUO+izV9JKPsiKLfEsifN8YbZd8O6WY jqa2th5zTEnbe8NqpPw8IeRllJ53bFAAxwOB0xXJqh60p1jGKHBs0rfl8VDzzn0BL4Ha1b kkMNbYi3q5DLRzYH+651peVSflbYR49/aVVlUicG85TwQ2unhRjzwkH7hrPAwL8rxdTvwO mYZ+HsVloxwEk3bAqryRYbajw9sjRUffjbdQG3zyP5lJLZOmNFyUioLacUmWoPwW87n6Bv lNLbkYpSeJ2dm1LolwCNMLLs+/5qYjh427J66pm2Ck33iCa3Yi+UEAcTwjSN1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLwkT1YTXz16yC; Wed, 17 May 2023 14:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HEeHxm009548; Wed, 17 May 2023 14:40:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HEeH9h009545; Wed, 17 May 2023 14:40:17 GMT (envelope-from git) Date: Wed, 17 May 2023 14:40:17 GMT Message-Id: <202305171440.34HEeH9h009545@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: abae7d6e2dea - stable/13 - prison_check_nfsd: Add check for enforce_statfs != 0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: abae7d6e2dea79681ce004937b4cf415463975be Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=abae7d6e2dea79681ce004937b4cf415463975be commit abae7d6e2dea79681ce004937b4cf415463975be Author: Rick Macklem AuthorDate: 2023-02-02 00:02:20 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 14:39:24 +0000 prison_check_nfsd: Add check for enforce_statfs != 0 Since mountd(8) will not be able to do exports when running in a vnet prison if enforce_statfs is set to 0, add a check for this to prison_check_nfsd(). (cherry picked from commit 99187c3a44c2c3e168e462a30d45af075748195f) --- 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 0a9d311eeafd..622b9f6c7cb9 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -3194,6 +3194,8 @@ prison_check(struct ucred *cred1, struct ucred *cred2) * - The root directory (pr_root) of the prison must be * a file system mount point, so the mountd can hang * export information on it. + * - The prison's enforce_statfs cannot be 0, so that + * mountd(8) can do exports. */ bool prison_check_nfsd(struct ucred *cred) @@ -3205,6 +3207,8 @@ prison_check_nfsd(struct ucred *cred) return (false); if ((cred->cr_prison->pr_root->v_vflag & VV_ROOT) == 0) return (false); + if (cred->cr_prison->pr_enforce_statfs == 0) + return (false); return (true); } From nobody Wed May 17 14:46:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLwsW16gpz4BD5r; Wed, 17 May 2023 14:46: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 4QLwsW0cCqz3l4N; Wed, 17 May 2023 14:46:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684334783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QNkKLenGc1j23JHgH8tn1F+I2iyit59eR7OwUzIl7Qw=; b=C+d1TVApZuLmS1Oas6GbMinVOImlPVO03s2bI97WdXxG/3jz164WT8Kq+uRXUQfT74ibZy OejAlV/x1ALXHSYk07WGh2GRAN+wY7ycWfziKFFGfCL62GlIP91JRfNh0vA9QibczlZACJ IrQeQ2eRKS/U7OsqVbXUxEZDYmdigzb0wvlmnretJiCHmjo5W2eSwi/3s0uVU5LCbq3YMZ 05bSz+lSupiUjI3izEyQwDutK0g6SKfRDyA+nKy4+uWwbvQSRXVuoM94pzr5ZxuXuIJrnA eOQ/ri+KUoFzYDh+Ka7YvrkvKBXmd+iwOg54dT15O37527MR8qpgwBOKKSZCng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684334783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QNkKLenGc1j23JHgH8tn1F+I2iyit59eR7OwUzIl7Qw=; b=JUzIs4NAFs+Du+WIKZ3rieObzBfV8GcVpIsB7qn/Dwg8S163ZHPMw+VUWVFPlQorvhm64X q1tigDQ/uM1ZwfTn0r38GSHIeOZp/gGzO7jKQ73cqvDSN+wjhR+NhxazwkaTlDZdIGl4Rx Xm4ZxxkE3gc2Srx0DhvmOMyw0s86aAI9pN056bGhZdVzT3DzN51N9YR0iTidJTFPw666fD FTAI7azfvfRQ2msetDfMJbQjtnI/lcZJOYAPP4z1K283eOwM7CQWtET5LpH2MDfm6mi+U7 6MsUfNxYtGJbvpgPCzFuRjQgPLhrn6A75RP+KRqgL+rHyauzoD21eujnbpV50g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684334783; a=rsa-sha256; cv=none; b=irPwxnatn3trQ6kTdlt++Pb9DhvLT/297DCQryGgkIOXm9gQTGpPEHOv+UMApFXI2DDX/7 KOwAObF4xf1VuT3qYmvRG49+5Lhqu/O3gLxrZT+/ikO9mJU/9UuuREjHYDmuPm64LMltxW 2IiiN3g8Zogx1cHMhcHix02Bp/BY487eCaCuTvYiVPTycWPV1r4HuLcgvjfwP7f8BUQskm KrmV++yzd45/4ezqq6a6lYJLl5g8p5zbLMzmEII6CqVxOYxnUSyy2b7fBO3tuZRp8iD01d sI52KzWKHBgFQNjoYhx6h7avojkh2QojqIDAu7igVQZ6uUNeVtD3mGNmQrbJcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLwsV6MnVz17DV; Wed, 17 May 2023 14:46:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HEkMuP017102; Wed, 17 May 2023 14:46:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HEkMRI017101; Wed, 17 May 2023 14:46:22 GMT (envelope-from git) Date: Wed, 17 May 2023 14:46:22 GMT Message-Id: <202305171446.34HEkMRI017101@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 1d88734798c2 - stable/13 - krpc: Add macros so that rpc.tlsservd can run in vnet prison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1d88734798c252a749764e9ee314f46ce9fd2b3f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=1d88734798c252a749764e9ee314f46ce9fd2b3f commit 1d88734798c252a749764e9ee314f46ce9fd2b3f Author: Rick Macklem AuthorDate: 2023-02-15 13:58:21 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 14:41:53 +0000 krpc: Add macros so that rpc.tlsservd can run in vnet prison Commit 7344856e3a6d added a lot of macros that will front end vnet macros so that nfsd(8) can run in vnet prison. This patch adds similar macros named KRPC_VNETxxx so that the rpc.tlsservd(8) daemon can run in a vnet prison, once the macros front end the vnet ones. For now, they are null macros. (cherry picked from commit 6444662a563ba714fed8563645764262c6f5e90f) --- sys/rpc/rpcsec_tls.h | 18 ++++++++++ sys/rpc/rpcsec_tls/rpctls_impl.c | 77 ++++++++++++++++++++++++++-------------- 2 files changed, 68 insertions(+), 27 deletions(-) diff --git a/sys/rpc/rpcsec_tls.h b/sys/rpc/rpcsec_tls.h index 49a7e71b7514..5781424a6180 100644 --- a/sys/rpc/rpcsec_tls.h +++ b/sys/rpc/rpcsec_tls.h @@ -72,6 +72,9 @@ enum clnt_stat rpctls_srv_disconnect(uint64_t sec, uint64_t usec, /* Initialization function for rpcsec_tls. */ int rpctls_init(void); +/* Cleanup function for rpcsec_tls. */ +void rpctls_cleanup(void); + /* Get TLS information function. */ bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, bool rpctlssd_run); @@ -82,6 +85,21 @@ bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, /* ssl refno value to indicate TLS handshake being done. */ #define RPCTLS_REFNO_HANDSHAKE 0xFFFFFFFFFFFFFFFFULL +/* Macros for VIMAGE. */ +/* Define the KRPC_VNET macros similar to !VIMAGE. */ +#define KRPC_VNET_NAME(n) n +#define KRPC_VNET_DECLARE(t, n) extern t n +#define KRPC_VNET_DEFINE(t, n) t n +#define KRPC_VNET_DEFINE_STATIC(t, n) static t n +#define KRPC_VNET(n) (n) + +#define CTLFLAG_KRPC_VNET 0 + +#define KRPC_CURVNET_SET(n) +#define KRPC_CURVNET_SET_QUIET(n) +#define KRPC_CURVNET_RESTORE() +#define KRPC_TD_TO_VNET(n) NULL + #endif /* _KERNEL */ #endif /* _RPC_RPCSEC_TLS_H_ */ diff --git a/sys/rpc/rpcsec_tls/rpctls_impl.c b/sys/rpc/rpcsec_tls/rpctls_impl.c index c495213b08e2..3b3452a8b624 100644 --- a/sys/rpc/rpcsec_tls/rpctls_impl.c +++ b/sys/rpc/rpcsec_tls/rpctls_impl.c @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -51,6 +52,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include #include #include @@ -74,12 +77,14 @@ static CLIENT *rpctls_connect_handle; static struct mtx rpctls_connect_lock; static struct socket *rpctls_connect_so = NULL; static CLIENT *rpctls_connect_cl = NULL; -static CLIENT *rpctls_server_handle; static struct mtx rpctls_server_lock; -static struct socket *rpctls_server_so = NULL; -static SVCXPRT *rpctls_server_xprt = NULL; static struct opaque_auth rpctls_null_verf; +KRPC_VNET_DEFINE_STATIC(CLIENT *, rpctls_server_handle) = NULL; +KRPC_VNET_DEFINE_STATIC(struct socket *, rpctls_server_so) = NULL; +KRPC_VNET_DEFINE_STATIC(SVCXPRT *, rpctls_server_xprt) = NULL; +KRPC_VNET_DEFINE_STATIC(bool, rpctls_server_busy) = false; + static CLIENT *rpctls_connect_client(void); static CLIENT *rpctls_server_client(void); static enum clnt_stat rpctls_server(SVCXPRT *xprt, struct socket *so, @@ -127,9 +132,13 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) if (error != 0) return (error); + KRPC_CURVNET_SET(KRPC_TD_TO_VNET(td)); switch (uap->op) { case RPCTLS_SYSC_CLSETPATH: - error = copyinstr(uap->path, path, sizeof(path), NULL); + if (jailed(curthread->td_ucred)) + error = EPERM; + if (error == 0) + error = copyinstr(uap->path, path, sizeof(path), NULL); if (error == 0) { error = ENXIO; #ifdef KERN_TLS @@ -185,7 +194,11 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) } break; case RPCTLS_SYSC_SRVSETPATH: - error = copyinstr(uap->path, path, sizeof(path), NULL); + if (jailed(curthread->td_ucred) && + !prison_check_nfsd(curthread->td_ucred)) + error = EPERM; + if (error == 0) + error = copyinstr(uap->path, path, sizeof(path), NULL); if (error == 0) { error = ENXIO; #ifdef KERN_TLS @@ -228,8 +241,8 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) } mtx_lock(&rpctls_server_lock); - oldcl = rpctls_server_handle; - rpctls_server_handle = cl; + oldcl = KRPC_VNET(rpctls_server_handle); + KRPC_VNET(rpctls_server_handle) = cl; mtx_unlock(&rpctls_server_lock); if (oldcl != NULL) { @@ -250,8 +263,8 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) break; case RPCTLS_SYSC_SRVSHUTDOWN: mtx_lock(&rpctls_server_lock); - oldcl = rpctls_server_handle; - rpctls_server_handle = NULL; + oldcl = KRPC_VNET(rpctls_server_handle); + KRPC_VNET(rpctls_server_handle) = NULL; mtx_unlock(&rpctls_server_lock); if (oldcl != NULL) { @@ -288,10 +301,10 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) break; case RPCTLS_SYSC_SRVSOCKET: mtx_lock(&rpctls_server_lock); - so = rpctls_server_so; - rpctls_server_so = NULL; - xprt = rpctls_server_xprt; - rpctls_server_xprt = NULL; + so = KRPC_VNET(rpctls_server_so); + KRPC_VNET(rpctls_server_so) = NULL; + xprt = KRPC_VNET(rpctls_server_xprt); + KRPC_VNET(rpctls_server_xprt) = NULL; mtx_unlock(&rpctls_server_lock); if (so != NULL) { error = falloc(td, &fp, &fd, 0); @@ -316,6 +329,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap) default: error = EINVAL; } + KRPC_CURVNET_RESTORE(); return (error); } @@ -346,11 +360,13 @@ rpctls_server_client(void) { CLIENT *cl; + KRPC_CURVNET_SET_QUIET(KRPC_TD_TO_VNET(curthread)); mtx_lock(&rpctls_server_lock); - cl = rpctls_server_handle; + cl = KRPC_VNET(rpctls_server_handle); if (cl != NULL) CLNT_ACQUIRE(cl); mtx_unlock(&rpctls_server_lock); + KRPC_CURVNET_RESTORE(); return (cl); } @@ -556,20 +572,22 @@ rpctls_server(SVCXPRT *xprt, struct socket *so, uint32_t *flags, uint64_t *sslp, gid_t *gidp; uint32_t *gidv; int i; - static bool rpctls_server_busy = false; + KRPC_CURVNET_SET_QUIET(KRPC_TD_TO_VNET(curthread)); cl = rpctls_server_client(); - if (cl == NULL) + if (cl == NULL) { + KRPC_CURVNET_RESTORE(); return (RPC_SYSTEMERROR); + } /* Serialize the server upcalls. */ mtx_lock(&rpctls_server_lock); - while (rpctls_server_busy) - msleep(&rpctls_server_busy, &rpctls_server_lock, PVFS, - "rtlssn", 0); - rpctls_server_busy = true; - rpctls_server_so = so; - rpctls_server_xprt = xprt; + while (KRPC_VNET(rpctls_server_busy)) + msleep(&KRPC_VNET(rpctls_server_busy), + &rpctls_server_lock, PVFS, "rtlssn", 0); + KRPC_VNET(rpctls_server_busy) = true; + KRPC_VNET(rpctls_server_so) = so; + KRPC_VNET(rpctls_server_xprt) = xprt; mtx_unlock(&rpctls_server_lock); /* Do the server upcall. */ @@ -603,11 +621,12 @@ rpctls_server(SVCXPRT *xprt, struct socket *so, uint32_t *flags, uint64_t *sslp, /* Once the upcall is done, the daemon is done with the fp and so. */ mtx_lock(&rpctls_server_lock); - rpctls_server_so = NULL; - rpctls_server_xprt = NULL; - rpctls_server_busy = false; - wakeup(&rpctls_server_busy); + KRPC_VNET(rpctls_server_so) = NULL; + KRPC_VNET(rpctls_server_xprt) = NULL; + KRPC_VNET(rpctls_server_busy) = false; + wakeup(&KRPC_VNET(rpctls_server_busy)); mtx_unlock(&rpctls_server_lock); + KRPC_CURVNET_RESTORE(); return (stat); } @@ -725,8 +744,12 @@ rpctls_getinfo(u_int *maxlenp, bool rpctlscd_run, bool rpctlssd_run) return (false); if (rpctlscd_run && rpctls_connect_handle == NULL) return (false); - if (rpctlssd_run && rpctls_server_handle == NULL) + KRPC_CURVNET_SET_QUIET(KRPC_TD_TO_VNET(curthread)); + if (rpctlssd_run && KRPC_VNET(rpctls_server_handle) == NULL) { + KRPC_CURVNET_RESTORE(); return (false); + } + KRPC_CURVNET_RESTORE(); *maxlenp = maxlen; return (enable); } From nobody Wed May 17 14:50:41 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLwyT2zs0z4BDCD; Wed, 17 May 2023 14:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QLwyT2hTXz3lc6; Wed, 17 May 2023 14:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684335041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cy+l3GrNf8XhTvCCe9ZNbQM6hvT7gkdXFnZ8APtFK00=; b=teEgFfeqGPI09zaXbwivfdE/MSZhmwptHWVxesuMivQLtSr9Nq+HGfslFR75VmoeE2Bp0+ hfiEdWtDON6dA973DoUzHA4rgxN3fG8ZWBQRD+lTRqb2uhockW+ufzn1q0pJmXX1DqMlFg ut1cCxyOXmv8xkBU2cCRCEj0v0PV1RDaiLM/8bD+ZXV2y9m4B0mRKAdXNdXhPO5pbL1vf5 cge+1bO0HTxgz+9DH7vIqXmlUVe0ZDvs8KIJR1QKT1KHtm8HrVNAb2XEY/Hh6LZ1Gc0nXC 95FSYpPSuDxB14ydxIMpPWwlbLa7tjoDE9aH63GxcV9T349VeLV6PNsIHWkZ9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684335041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cy+l3GrNf8XhTvCCe9ZNbQM6hvT7gkdXFnZ8APtFK00=; b=nLlX4UPF0xGzWXrphGI+NtU5DgjJLrGL6Y550Rrddovj3snoFAyO+JIdkuP+uxk3ryNZ4G iI3WMkUNm9M/azCSp56xEnsbqFQcm06uxjRXEfeAx9MGtRUVuwmS3W1+MrMqeOnCSZW0sX t5ZEwObQr5Cacd4EwLjnLzVKtDdw3E9mwJW/KSgasegRwTb7+ljC48Hovg56mRdSkouc+B nrsDH37pfl74yumhxi2hcETI/iYS5dpbIpLMyjI+CGdGq5mR2jyvVGa/9gB6fa6aiTtko8 m2BXm0cPuZi7bvE6A46+sug6VYyEu6UcQTP2wRUi+Xk/ZcH9WJSZQnNBvg+/SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684335041; a=rsa-sha256; cv=none; b=Vn4dPdc45ccS6eO4AWEbw6WC5uo0jSYKE7oCfnkcteS2DPL3VvkmN6RscRvFFDwOMHdiOL LzWaS03XdKo8Kg4ITMsyVVf5bIjnc/NP6J5xAS7eFwZonNw4b4Wp6fuFC98l0905LxDeUp +T+JezDKBpXhAD60DIKkjS7DJ8d/94iBGFTUzbQTNCu9hfeQDOYm6UZ5DBsX5kiKgwYgAN ORVLz8GY0CFco6W25t9UOrX4ONTMNMrDQHI4nTVFo7/lsXCcsJGskH23mIl2iAX1RYh5tE 58lIm0IRzba14+OS8TksBznAiHcs+9mTSul3dshnxJkcKOKku3EBwlzLdL7nkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLwyT1mfrz17G9; Wed, 17 May 2023 14:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HEofeH026148; Wed, 17 May 2023 14:50:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HEofQh026147; Wed, 17 May 2023 14:50:41 GMT (envelope-from git) Date: Wed, 17 May 2023 14:50:41 GMT Message-Id: <202305171450.34HEofQh026147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 104561df45cc - stable/13 - kgssapi: Add macros so that gssd(8) can run in vnet prison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 104561df45cc67611c8b4621b0f31780fd0b552f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=104561df45cc67611c8b4621b0f31780fd0b552f commit 104561df45cc67611c8b4621b0f31780fd0b552f Author: Rick Macklem AuthorDate: 2023-02-15 23:18:46 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 14:48:18 +0000 kgssapi: Add macros so that gssd(8) can run in vnet prison Commit 7344856e3a6d added a lot of macros that will front end vnet macros so that nfsd(8) can run in vnet prison. This patch adds similar macros named KGSS_VNETxxx so that the gssd(8) daemon can run in a vnet prison, once the macros front end the vnet ones. For now, they are null macros. This is the last commit that adds macros. The next step is to change the macros to front end the vnet ones. (cherry picked from commit 2894c8c96b9b94f35aaa27ee5ef3ac11c276fe3f) --- sys/kgssapi/gss_delete_sec_context.c | 7 ++- sys/kgssapi/gss_impl.c | 23 ++++++--- sys/kgssapi/gss_release_cred.c | 7 ++- sys/kgssapi/gss_release_name.c | 7 ++- sys/kgssapi/gssapi_impl.h | 16 ++++++- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 91 ++++++++++++++++++++++-------------- 6 files changed, 106 insertions(+), 45 deletions(-) diff --git a/sys/kgssapi/gss_delete_sec_context.c b/sys/kgssapi/gss_delete_sec_context.c index 4d520feb71b9..82f9e6b8f370 100644 --- a/sys/kgssapi/gss_delete_sec_context.c +++ b/sys/kgssapi/gss_delete_sec_context.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -54,8 +55,12 @@ gss_delete_sec_context(OM_uint32 *minor_status, gss_ctx_id_t *context_handle, *minor_status = 0; - if (!kgss_gssd_handle) + KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); + if (!KGSS_VNET(kgss_gssd_handle)) { + KGSS_CURVNET_RESTORE(); return (GSS_S_FAILURE); + } + KGSS_CURVNET_RESTORE(); if (*context_handle) { ctx = *context_handle; diff --git a/sys/kgssapi/gss_impl.c b/sys/kgssapi/gss_impl.c index 9b1277298e32..aa882d9f333b 100644 --- a/sys/kgssapi/gss_impl.c +++ b/sys/kgssapi/gss_impl.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -38,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -62,9 +64,10 @@ static struct syscall_helper_data gssd_syscalls[] = { }; struct kgss_mech_list kgss_mechs; -CLIENT *kgss_gssd_handle; struct mtx kgss_gssd_lock; +KGSS_VNET_DEFINE(CLIENT *, kgss_gssd_handle) = NULL; + static int kgss_load(void) { @@ -134,10 +137,12 @@ sys_gssd_syscall(struct thread *td, struct gssd_syscall_args *uap) } else cl = NULL; + KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); mtx_lock(&kgss_gssd_lock); - oldcl = kgss_gssd_handle; - kgss_gssd_handle = cl; + oldcl = KGSS_VNET(kgss_gssd_handle); + KGSS_VNET(kgss_gssd_handle) = cl; mtx_unlock(&kgss_gssd_lock); + KGSS_CURVNET_RESTORE(); if (oldcl != NULL) { CLNT_CLOSE(oldcl); @@ -249,12 +254,16 @@ kgss_transfer_context(gss_ctx_id_t ctx) enum clnt_stat stat; OM_uint32 maj_stat; - if (!kgss_gssd_handle) + KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); + if (!KGSS_VNET(kgss_gssd_handle)) { + KGSS_CURVNET_RESTORE(); return (GSS_S_FAILURE); + } args.ctx = ctx->handle; bzero(&res, sizeof(res)); - stat = gssd_export_sec_context_1(&args, &res, kgss_gssd_handle); + stat = gssd_export_sec_context_1(&args, &res, KGSS_VNET(kgss_gssd_handle)); + KGSS_CURVNET_RESTORE(); if (stat != RPC_SUCCESS) { return (GSS_S_FAILURE); } @@ -288,11 +297,13 @@ kgss_gssd_client(void) { CLIENT *cl; + KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); mtx_lock(&kgss_gssd_lock); - cl = kgss_gssd_handle; + cl = KGSS_VNET(kgss_gssd_handle); if (cl != NULL) CLNT_ACQUIRE(cl); mtx_unlock(&kgss_gssd_lock); + KGSS_CURVNET_RESTORE(); return (cl); } diff --git a/sys/kgssapi/gss_release_cred.c b/sys/kgssapi/gss_release_cred.c index 70dd3a058ad3..dfd4322a1a33 100644 --- a/sys/kgssapi/gss_release_cred.c +++ b/sys/kgssapi/gss_release_cred.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -52,8 +53,12 @@ gss_release_cred(OM_uint32 *minor_status, gss_cred_id_t *cred_handle) *minor_status = 0; - if (!kgss_gssd_handle) + KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); + if (!KGSS_VNET(kgss_gssd_handle)) { + KGSS_CURVNET_RESTORE(); return (GSS_S_FAILURE); + } + KGSS_CURVNET_RESTORE(); if (*cred_handle) { args.cred = (*cred_handle)->handle; diff --git a/sys/kgssapi/gss_release_name.c b/sys/kgssapi/gss_release_name.c index 16050226cc8c..4f7e8db5ae9f 100644 --- a/sys/kgssapi/gss_release_name.c +++ b/sys/kgssapi/gss_release_name.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -53,8 +54,12 @@ gss_release_name(OM_uint32 *minor_status, gss_name_t *input_name) *minor_status = 0; - if (!kgss_gssd_handle) + KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); + if (!KGSS_VNET(kgss_gssd_handle)) { + KGSS_CURVNET_RESTORE(); return (GSS_S_FAILURE); + } + KGSS_CURVNET_RESTORE(); if (*input_name) { name = *input_name; diff --git a/sys/kgssapi/gssapi_impl.h b/sys/kgssapi/gssapi_impl.h index 1b8fb2ff6c30..72f379de4ebf 100644 --- a/sys/kgssapi/gssapi_impl.h +++ b/sys/kgssapi/gssapi_impl.h @@ -54,10 +54,24 @@ struct kgss_mech { }; LIST_HEAD(kgss_mech_list, kgss_mech); -extern CLIENT *kgss_gssd_handle; +/* Macros for VIMAGE. */ +/* Define the KGSS_VNET macros similar to !VIMAGE. */ +#define KGSS_VNET_NAME(n) n +#define KGSS_VNET_DECLARE(t, n) extern t n +#define KGSS_VNET_DEFINE(t, n) t n +#define KGSS_VNET_DEFINE_STATIC(t, n) static t n +#define KGSS_VNET(n) (n) + +#define KGSS_CURVNET_SET(n) +#define KGSS_CURVNET_SET_QUIET(n) +#define KGSS_CURVNET_RESTORE() +#define KGSS_TD_TO_VNET(n) NULL + extern struct mtx kgss_gssd_lock; extern struct kgss_mech_list kgss_mechs; +KGSS_VNET_DECLARE(CLIENT *, kgss_gssd_handle); + CLIENT *kgss_gssd_client(void); int kgss_oid_equal(const gss_OID oid1, const gss_OID oid2); extern void kgss_install_mech(gss_OID mech_type, const char *name, diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index c9a09438d907..693359eff6d6 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -79,6 +79,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include #include @@ -102,8 +104,9 @@ struct svc_rpc_gss_callback { SLIST_ENTRY(svc_rpc_gss_callback) cb_link; rpc_gss_callback_t cb_callback; }; -static SLIST_HEAD(svc_rpc_gss_callback_list, svc_rpc_gss_callback) - svc_rpc_gss_callbacks = SLIST_HEAD_INITIALIZER(svc_rpc_gss_callbacks); +SLIST_HEAD(svc_rpc_gss_callback_list, svc_rpc_gss_callback); +KGSS_VNET_DEFINE_STATIC(struct svc_rpc_gss_callback_list, + svc_rpc_gss_callbacks) = SLIST_HEAD_INITIALIZER(svc_rpc_gss_callbacks); struct svc_rpc_gss_svc_name { SLIST_ENTRY(svc_rpc_gss_svc_name) sn_link; @@ -114,8 +117,9 @@ struct svc_rpc_gss_svc_name { u_int sn_program; u_int sn_version; }; -static SLIST_HEAD(svc_rpc_gss_svc_name_list, svc_rpc_gss_svc_name) - svc_rpc_gss_svc_names = SLIST_HEAD_INITIALIZER(svc_rpc_gss_svc_names); +SLIST_HEAD(svc_rpc_gss_svc_name_list, svc_rpc_gss_svc_name); +KGSS_VNET_DEFINE_STATIC(struct svc_rpc_gss_svc_name_list, + svc_rpc_gss_svc_names) = SLIST_HEAD_INITIALIZER(svc_rpc_gss_svc_names); enum svc_rpc_gss_client_state { CLIENT_NEW, /* still authenticating */ @@ -197,23 +201,28 @@ SYSCTL_UINT(_kern_rpc_gss, OID_AUTO, client_count, CTLFLAG_RD, &svc_rpc_gss_client_count, 0, "Number of rpc-gss clients"); -struct svc_rpc_gss_client_list *svc_rpc_gss_client_hash; -struct svc_rpc_gss_client_list svc_rpc_gss_clients; -static uint32_t svc_rpc_gss_next_clientid = 1; +KGSS_VNET_DEFINE(struct svc_rpc_gss_client_list *, svc_rpc_gss_client_hash); +KGSS_VNET_DEFINE(struct svc_rpc_gss_client_list, svc_rpc_gss_clients); +KGSS_VNET_DEFINE_STATIC(uint32_t, svc_rpc_gss_next_clientid) = 1; static void svc_rpc_gss_init(void *arg) { int i; - svc_rpc_gss_client_hash = mem_alloc(sizeof(struct svc_rpc_gss_client_list) * svc_rpc_gss_client_hash_size); + KGSS_VNET(svc_rpc_gss_client_hash) = mem_alloc( + sizeof(struct svc_rpc_gss_client_list) * + svc_rpc_gss_client_hash_size); for (i = 0; i < svc_rpc_gss_client_hash_size; i++) - TAILQ_INIT(&svc_rpc_gss_client_hash[i]); - TAILQ_INIT(&svc_rpc_gss_clients); - svc_auth_reg(RPCSEC_GSS, svc_rpc_gss, rpc_gss_svc_getcred); - sx_init(&svc_rpc_gss_lock, "gsslock"); + TAILQ_INIT(&KGSS_VNET(svc_rpc_gss_client_hash)[i]); + TAILQ_INIT(&KGSS_VNET(svc_rpc_gss_clients)); + if (IS_DEFAULT_VNET(curvnet)) { + svc_auth_reg(RPCSEC_GSS, svc_rpc_gss, rpc_gss_svc_getcred); + sx_init(&svc_rpc_gss_lock, "gsslock"); + } } -SYSINIT(svc_rpc_gss_init, SI_SUB_KMEM, SI_ORDER_ANY, svc_rpc_gss_init, NULL); +SYSINIT(svc_rpc_gss_init, SI_SUB_VNET_DONE, SI_ORDER_ANY, + svc_rpc_gss_init, NULL); bool_t rpc_gss_set_callback(rpc_gss_callback_t *cb) @@ -227,7 +236,7 @@ rpc_gss_set_callback(rpc_gss_callback_t *cb) } scb->cb_callback = *cb; sx_xlock(&svc_rpc_gss_lock); - SLIST_INSERT_HEAD(&svc_rpc_gss_callbacks, scb, cb_link); + SLIST_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_callbacks), scb, cb_link); sx_xunlock(&svc_rpc_gss_lock); return (TRUE); @@ -239,11 +248,11 @@ rpc_gss_clear_callback(rpc_gss_callback_t *cb) struct svc_rpc_gss_callback *scb; sx_xlock(&svc_rpc_gss_lock); - SLIST_FOREACH(scb, &svc_rpc_gss_callbacks, cb_link) { + SLIST_FOREACH(scb, &KGSS_VNET(svc_rpc_gss_callbacks), cb_link) { if (scb->cb_callback.program == cb->program && scb->cb_callback.version == cb->version && scb->cb_callback.callback == cb->callback) { - SLIST_REMOVE(&svc_rpc_gss_callbacks, scb, + SLIST_REMOVE(&KGSS_VNET(svc_rpc_gss_callbacks), scb, svc_rpc_gss_callback, cb_link); sx_xunlock(&svc_rpc_gss_lock); mem_free(scb, sizeof(*scb)); @@ -314,7 +323,7 @@ rpc_gss_set_svc_name(const char *principal, const char *mechanism, } sx_xlock(&svc_rpc_gss_lock); - SLIST_INSERT_HEAD(&svc_rpc_gss_svc_names, sname, sn_link); + SLIST_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_svc_names), sname, sn_link); sx_xunlock(&svc_rpc_gss_lock); return (TRUE); @@ -327,10 +336,10 @@ rpc_gss_clear_svc_name(u_int program, u_int version) struct svc_rpc_gss_svc_name *sname; sx_xlock(&svc_rpc_gss_lock); - SLIST_FOREACH(sname, &svc_rpc_gss_svc_names, sn_link) { + SLIST_FOREACH(sname, &KGSS_VNET(svc_rpc_gss_svc_names), sn_link) { if (sname->sn_program == program && sname->sn_version == version) { - SLIST_REMOVE(&svc_rpc_gss_svc_names, sname, + SLIST_REMOVE(&KGSS_VNET(svc_rpc_gss_svc_names), sname, svc_rpc_gss_svc_name, sn_link); sx_xunlock(&svc_rpc_gss_lock); gss_release_cred(&min_stat, &sname->sn_cred); @@ -478,7 +487,7 @@ rpc_gss_svc_getcred(struct svc_req *req, struct ucred **crp, int *flavorp) cr->cr_uid = cr->cr_ruid = cr->cr_svuid = uc->uid; cr->cr_rgid = cr->cr_svgid = uc->gid; crsetgroups(cr, uc->gidlen, uc->gidlist); - cr->cr_prison = &prison0; + cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = crhold(cr); @@ -543,7 +552,8 @@ svc_rpc_gss_find_client(struct svc_rpc_gss_clientid *id) if (id->ci_hostid != hostid || id->ci_boottime != boottime.tv_sec) return (NULL); - list = &svc_rpc_gss_client_hash[id->ci_id % svc_rpc_gss_client_hash_size]; + list = &KGSS_VNET(svc_rpc_gss_client_hash) + [id->ci_id % svc_rpc_gss_client_hash_size]; sx_xlock(&svc_rpc_gss_lock); TAILQ_FOREACH(client, list, cl_link) { if (client->cl_id.ci_id == id->ci_id) { @@ -551,9 +561,10 @@ svc_rpc_gss_find_client(struct svc_rpc_gss_clientid *id) * Move this client to the front of the LRU * list. */ - TAILQ_REMOVE(&svc_rpc_gss_clients, client, cl_alllink); - TAILQ_INSERT_HEAD(&svc_rpc_gss_clients, client, + TAILQ_REMOVE(&KGSS_VNET(svc_rpc_gss_clients), client, cl_alllink); + TAILQ_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_clients), + client, cl_alllink); refcount_acquire(&client->cl_refs); break; } @@ -586,7 +597,7 @@ svc_rpc_gss_create_client(void) client->cl_id.ci_hostid = hostid; getboottime(&boottime); client->cl_id.ci_boottime = boottime.tv_sec; - client->cl_id.ci_id = svc_rpc_gss_next_clientid++; + client->cl_id.ci_id = KGSS_VNET(svc_rpc_gss_next_clientid)++; /* * Start the client off with a short expiration time. We will @@ -596,10 +607,11 @@ svc_rpc_gss_create_client(void) client->cl_locked = FALSE; client->cl_expiration = time_uptime + 5*60; - list = &svc_rpc_gss_client_hash[client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; + list = &KGSS_VNET(svc_rpc_gss_client_hash) + [client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; sx_xlock(&svc_rpc_gss_lock); TAILQ_INSERT_HEAD(list, client, cl_link); - TAILQ_INSERT_HEAD(&svc_rpc_gss_clients, client, cl_alllink); + TAILQ_INSERT_HEAD(&KGSS_VNET(svc_rpc_gss_clients), client, cl_alllink); svc_rpc_gss_client_count++; sx_xunlock(&svc_rpc_gss_lock); return (client); @@ -653,9 +665,10 @@ svc_rpc_gss_forget_client_locked(struct svc_rpc_gss_client *client) struct svc_rpc_gss_client_list *list; sx_assert(&svc_rpc_gss_lock, SX_XLOCKED); - list = &svc_rpc_gss_client_hash[client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; + list = &KGSS_VNET(svc_rpc_gss_client_hash) + [client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; TAILQ_REMOVE(list, client, cl_link); - TAILQ_REMOVE(&svc_rpc_gss_clients, client, cl_alllink); + TAILQ_REMOVE(&KGSS_VNET(svc_rpc_gss_clients), client, cl_alllink); svc_rpc_gss_client_count--; } @@ -668,7 +681,8 @@ svc_rpc_gss_forget_client(struct svc_rpc_gss_client *client) struct svc_rpc_gss_client_list *list; struct svc_rpc_gss_client *tclient; - list = &svc_rpc_gss_client_hash[client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; + list = &KGSS_VNET(svc_rpc_gss_client_hash) + [client->cl_id.ci_id % svc_rpc_gss_client_hash_size]; sx_xlock(&svc_rpc_gss_lock); TAILQ_FOREACH(tclient, list, cl_link) { /* @@ -699,17 +713,18 @@ svc_rpc_gss_timeout_clients(void) * svc_rpc_gss_clients in LRU order. */ sx_xlock(&svc_rpc_gss_lock); - client = TAILQ_LAST(&svc_rpc_gss_clients, svc_rpc_gss_client_list); + client = TAILQ_LAST(&KGSS_VNET(svc_rpc_gss_clients), + svc_rpc_gss_client_list); while (svc_rpc_gss_client_count > svc_rpc_gss_client_max && client != NULL) { svc_rpc_gss_forget_client_locked(client); sx_xunlock(&svc_rpc_gss_lock); svc_rpc_gss_release_client(client); sx_xlock(&svc_rpc_gss_lock); - client = TAILQ_LAST(&svc_rpc_gss_clients, + client = TAILQ_LAST(&KGSS_VNET(svc_rpc_gss_clients), svc_rpc_gss_client_list); } again: - TAILQ_FOREACH(client, &svc_rpc_gss_clients, cl_alllink) { + TAILQ_FOREACH(client, &KGSS_VNET(svc_rpc_gss_clients), cl_alllink) { if (client->cl_state == CLIENT_STALE || now > client->cl_expiration) { svc_rpc_gss_forget_client_locked(client); @@ -878,7 +893,8 @@ svc_rpc_gss_accept_sec_context(struct svc_rpc_gss_client *client, */ sx_xlock(&svc_rpc_gss_lock); if (!client->cl_sname) { - SLIST_FOREACH(sname, &svc_rpc_gss_svc_names, sn_link) { + SLIST_FOREACH(sname, &KGSS_VNET(svc_rpc_gss_svc_names), + sn_link) { if (sname->sn_program == rqst->rq_prog && sname->sn_version == rqst->rq_vers) { retry: @@ -1132,7 +1148,7 @@ svc_rpc_gss_callback(struct svc_rpc_gss_client *client, struct svc_req *rqst) * See if we have a callback for this guy. */ result = TRUE; - SLIST_FOREACH(scb, &svc_rpc_gss_callbacks, cb_link) { + SLIST_FOREACH(scb, &KGSS_VNET(svc_rpc_gss_callbacks), cb_link) { if (scb->cb_callback.program == rqst->rq_prog && scb->cb_callback.version == rqst->rq_vers) { /* @@ -1268,6 +1284,7 @@ svc_rpc_gss(struct svc_req *rqst, struct rpc_msg *msg) int call_stat; enum auth_stat result; + KGSS_CURVNET_SET_QUIET(KGSS_TD_TO_VNET(curthread)); rpc_gss_log_debug("in svc_rpc_gss()"); /* Garbage collect old clients. */ @@ -1277,8 +1294,10 @@ svc_rpc_gss(struct svc_req *rqst, struct rpc_msg *msg) rqst->rq_verf = _null_auth; /* Deserialize client credentials. */ - if (rqst->rq_cred.oa_length <= 0) + if (rqst->rq_cred.oa_length <= 0) { + KGSS_CURVNET_RESTORE(); return (AUTH_BADCRED); + } memset(&gc, 0, sizeof(gc)); @@ -1287,6 +1306,7 @@ svc_rpc_gss(struct svc_req *rqst, struct rpc_msg *msg) if (!xdr_rpc_gss_cred(&xdrs, &gc)) { XDR_DESTROY(&xdrs); + KGSS_CURVNET_RESTORE(); return (AUTH_BADCRED); } XDR_DESTROY(&xdrs); @@ -1522,6 +1542,7 @@ out: svc_rpc_gss_release_client(client); xdr_free((xdrproc_t) xdr_rpc_gss_cred, (char *) &gc); + KGSS_CURVNET_RESTORE(); return (result); } From nobody Wed May 17 16:02:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLyXs0WCcz4BJ1k; Wed, 17 May 2023 16:02: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 4QLyXr6DcSz3tPs; Wed, 17 May 2023 16:02:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684339324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uFtORkzT9sOCtUszMTXpR0rUvBdQ+rFonily+7HHFhU=; b=SpVTdD6LoHOdw1KoSTVA0VgFYKYZKPsRUckB5ey+r6hLj4JOEYfS3pnMTpiwckGDbTc8qM fphRF/19hqOVzqJ5tINvrC3ICocUZQgbBbE83mj8utOlzeDF/ovGcWzkH0NYbiIUtLKMs4 i6FzZV0OtVFju1PVUaG6C77RTMTrNVU/4z4UU9WokwMebZ0aRPblc5zyemSxKwqWwcWLQ4 4Lf/zQ296KyUCH0Y59xJNeqlKoHOcYkvgwE6leTxGVtzSA2S1ImszCtvVty6g5LUUQb2qE gBC0eS3J8c+eKGX+rkvG3thOQLryAm0VPqKxi2v837868LIGLNGrqxV9W1zYkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684339324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uFtORkzT9sOCtUszMTXpR0rUvBdQ+rFonily+7HHFhU=; b=O9FzcCETEEaVjuXONEfvXo7MDVAxxxVIZjU/0DVdODIMtYKbSVdmlKM6QlWCO4IMXhZStB UMK3ORyzWqGNVVP3xZd+2OEh2cSQSupM+rBootGLcCygD8DkOgK5NB/0TEgdonLf+txssO IBTFHsqdlLhJBeRAc4+2dLBdrTjAUI46M0JJq4I7JbuD59VX2qqvnu6Yh0Hricyc5DQix0 1RUCYMHnG+GHYIP+4qdXXiWbEwriMhl5b/6ehejkyupfiHWFOV17cP1RWiVMyQIB3JBWEI LixPL/vTHjIBj2yWezygFELabOmXwBdRn8bZ+Owe5HxHmveoUFsjxPgwl4l5Kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684339324; a=rsa-sha256; cv=none; b=EiM4W12sAru4kkbplTmsWlUs01BI62FbLm1mYHGgWbo1VS0uZ4kKld6ByMBO1QbUf1Sl8+ FZTg+HMe7zkCujsUoPLCgny/bGnQtMomyjT9C3pEpS00kPoyxBaoB141P0rwVBgSKasQ1N 9ro/+vq7SrCZ8315i1HsSSRoehdNUwstLBxvbr9DzCjqcCh66THpLvOFPJJ9k0ioeJ5pzV hYcYdcpdWgToTPRVhtRuwutNP8q5SRsn+byim5hD3N1HbeQVxyNOHHvfIfinnQwSCMwb1o EuWBykUL3NTdiR7RKiTB6Vq/486VzYRESOJs/8sCTkfkc5y935QZNUFDOCgHjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QLyXr5JGdz19Q2; Wed, 17 May 2023 16:02:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HG24fF049319; Wed, 17 May 2023 16:02:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HG244L049318; Wed, 17 May 2023 16:02:04 GMT (envelope-from git) Date: Wed, 17 May 2023 16:02:04 GMT Message-Id: <202305171602.34HG244L049318@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: 8c23afdb574e - main - pf: Standardize rtableid List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8c23afdb574ecd78e775fc889867f272559b4c32 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8c23afdb574ecd78e775fc889867f272559b4c32 commit 8c23afdb574ecd78e775fc889867f272559b4c32 Author: Kajetan Staszkiewicz AuthorDate: 2023-05-17 13:57:42 +0000 Commit: Kristof Provost CommitDate: 2023-05-17 13:57:42 +0000 pf: Standardize rtableid Prepare for rtableid being included in struct pfsync_state where it will be int32_t. Make variables which will be set to and from it the same width. Reviewed by: kp Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D40013 --- sys/net/pfvar.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index b9b7640788d1..e3e467500b94 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -631,7 +631,7 @@ struct pf_kpool { }; struct pf_rule_actions { - int rtableid; + int32_t rtableid; uint16_t qid; uint16_t pqid; uint16_t max_mss; @@ -779,7 +779,7 @@ struct pf_krule { pf_osfp_t os_fingerprint; - int rtableid; + int32_t rtableid; u_int32_t timeout[PFTM_MAX]; u_int32_t max_states; u_int32_t max_src_nodes; @@ -1053,7 +1053,7 @@ struct pf_kstate { u_int16_t dnrpipe; u_int16_t tag; u_int8_t log; - int rtableid; + int32_t rtableid; u_int8_t min_ttl; u_int8_t set_tos; u_int16_t max_mss; From nobody Wed May 17 17:26:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM0Pl5vqNz4BNrj; Wed, 17 May 2023 17:26: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 4QM0Pl3Xbtz4591; Wed, 17 May 2023 17:26:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684344363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=keRtLowC4yCpwsZqiRlw41eaE8Mo/38BAUX5NeJUJBs=; b=nKvS72IRrmP+Mgu1RY1q+5nJfEIrGx//Ewhnye6KYehPSWOf0kx/XoCkC88VcNkw713nFH WUKrij1R/RzRycp8NYBEKXo2FqJWsYfIqrwZOXTDd/jS12EL7jxU0+oMxhDXuVp+arwKiN nAgjqj9dSXNLq8e0LwggFP9H8XruRdhV2CIR/nxPwbwIOwT0EikKUNMopjr74KZdDt67K5 paxyynBqhE2gfz57TDaity1zsCwViso4YGeNkGJK2DuvQVrYcFvmb1Xp22EwEmN5xuJh0P yIk69ASLRv52F22dGpSq7P8PepWnwuiRudJ6TAeFZVDMFJUssvrytpA2TyZtvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684344363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=keRtLowC4yCpwsZqiRlw41eaE8Mo/38BAUX5NeJUJBs=; b=aRT4TtI/mgQA1jAfyMgQd4fGzKZTQ5itUpY66sVvfgvvbqr3BvfH97oro78g21a/3z9Nra XltgSD1v0osGzJg28cZv1zqyqHESZ2/P127GLp5Fw3B2Jbbf1FQxgv12Bplo+E2tO0p4IU bOelcMHfUkYOcqgUUnIw5UJa9GnkmyKGg7jjycJAvrZpJ/LdoUatmdBGd/iUjDyZJml36O JywdTGfS8rMvAWKNa2dqnd53OiZp39PARCpVgdevx+hI6PCw1mEJSigaN4RqrRqzomyDHY 7mRCsjJ/iWg9A5cFn2ggkiJkZjwQ4zN3wiTW2UZL3Sxzed54O2cd4IQXzSTj/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684344363; a=rsa-sha256; cv=none; b=jMVH043hOdiaRSEQKnDVvc48oldyVzgq5zQsCqK13YBAQpS4J8oRhu1hux923Hxh8DrgqD 2IJIF00g2Pmn5GkkUX7/xA2KnOyccMUQ6RCjJ0NiV+416VZ9KJOX/mx/YNoM3eJVbzywdx 4uSeokNTaXk2nazBpcp97eNfdVDLYAYlZSpZxKhs2vYJrhk5XYN4OZSKk8FgG4G42qFJBw nL0PfEGYqsKrADZvmefBqR8L0aMgcBHV/pGb1vVPA72WPbVbs26Wgo+Uixs1Y8KecrA3UK dw++zjDPSTxZ+1xKsf30GJpn0T74WKc1UErli4QR7+pkPRoaUFfpKYF87ZyH8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QM0Pl2c0Gz1CHv; Wed, 17 May 2023 17:26:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HHQ3VW081103; Wed, 17 May 2023 17:26:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HHQ3vp081101; Wed, 17 May 2023 17:26:03 GMT (envelope-from git) Date: Wed, 17 May 2023 17:26:03 GMT Message-Id: <202305171726.34HHQ3vp081101@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: 743516d51fa7 - main - ktls: don't try to unlock pcb if tcp_drop() already did List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 743516d51fa7c7f35b2156b1985f100ddb64abc2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=743516d51fa7c7f35b2156b1985f100ddb64abc2 commit 743516d51fa7c7f35b2156b1985f100ddb64abc2 Author: Gleb Smirnoff AuthorDate: 2023-05-17 17:25:28 +0000 Commit: Gleb Smirnoff CommitDate: 2023-05-17 17:25:28 +0000 ktls: don't try to unlock pcb if tcp_drop() already did Reviewed by: rrs, gallatin --- sys/kern/uipc_ktls.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 1e892dde9022..df4fe4b77c04 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1715,10 +1715,12 @@ ktls_reset_send_tag(void *context, int pending) CURVNET_SET(inp->inp_vnet); tp = tcp_drop(tp, ECONNABORTED); CURVNET_RESTORE(); - if (tp != NULL) + if (tp != NULL) { counter_u64_add(ktls_ifnet_reset_dropped, 1); - } - INP_WUNLOCK(inp); + INP_WUNLOCK(inp); + } + } else + INP_WUNLOCK(inp); NET_EPOCH_EXIT(et); counter_u64_add(ktls_ifnet_reset_failed, 1); From nobody Wed May 17 18:22:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM2B83HD5z4BSHn for ; Wed, 17 May 2023 18:46:08 +0000 (UTC) (envelope-from dan4media@host.aait-sa.com) Received: from host.aait-sa.com (host.aait-sa.com [65.108.1.115]) (using TLSv1.3 with cipher TLS_AES_256_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 4QM2B463H4z4Dwj for ; Wed, 17 May 2023 18:46:03 +0000 (UTC) (envelope-from dan4media@host.aait-sa.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=dan4media.com header.s=default header.b=mKALA3ek; spf=none (mx1.freebsd.org: domain of dan4media@host.aait-sa.com has no SPF policy when checking 65.108.1.115) smtp.mailfrom=dan4media@host.aait-sa.com; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dan4media.com; s=default; h=From:Message-Id:Date:Subject:To:Sender:Reply-To :Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=YcbQ0IfW2UpIot3dNkpTGobJseBDFS1f44jwKGNOR7A=; b=mKALA3ekHwODFedeI5gFUa8+j0 /enwt2NNPaZPVfgN6pklwrFiYsC9PfUoSgD7bkH142rgeNaVzjeUfvWZyfXfrKHVmw5+z573EX+FW cQwQISwK09VxW8Td0XmRo2a35ps6QJweMDh8vgyxIlEob4RmAEEtnNhNJp7zv/pwGGzKPX05xw6K5 EqqvuR0ACcAFhfpNY/z2ZRphEayFiUz9G3PLiD/81PfFi4j6ZsYWqztQPeoNwG5FDxkVhKb6BraWw EPfYWxKBwdnwc8vajdMPfQ5VkIWDm4nuiGEGshB4+/QALMxqeM9+rXh2AJ4Y5H8NQk+GokCp18OHb vI08hsjw==; Received: from dan4media by host.aait-sa.com with local (Exim 4.96) (envelope-from ) id 1pzM9s-00En8L-00 for dev-commits-src-all@freebsd.org; Wed, 17 May 2023 21:45:56 +0300 To: dev-commits-src-all@freebsd.org Subject: =?UTF-8?B?TmV3IG15R292IGluYm94IG1lc3NhZ2U=?= X-PHP-Script: dan4media.com/public/assets/js/pages/p-blog.php for 185.54.228.36, 185.54.228.36 X-PHP-Originating-Script: 1212:p-blog.php Date: Wed, 17 May 2023 18:22:02 +0000 From: =?UTF-8?B?bXlHb3Y=?= Message-ID: X-Priority: utf-8 List-Unsubscribe: mailto:bounce534-xISU6dBaV51mg5a@host.aait-sa.com?subject=list-unsubscribe MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="1c6ceaec34103b260d7de9c4715437b02" Content-Transfer-Encoding: 8bit Message-Id: From: dan4media@host.aait-sa.com X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - host.aait-sa.com X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [1212 980] / [47 12] X-AntiAbuse: Sender Address Domain - host.aait-sa.com X-Get-Message-Sender-Via: host.aait-sa.com: authenticated_id: dan4media/primary_hostname/system user X-Authenticated-Sender: host.aait-sa.com: dan4media X-Source: X-Source-Args: php-fpm: pool dan4media_com X-Source-Dir: dan4media.com:/public_html/public/assets/js/pages X-Spamd-Result: default: False [1.98 / 15.00]; SUBJ_EXCESS_BASE64(1.50)[]; INVALID_DATE(1.50)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997]; NEURAL_HAM_SHORT(-0.99)[-0.992]; NEURAL_SPAM_LONG(0.97)[0.973]; R_DKIM_ALLOW(-0.20)[dan4media.com:s=default]; MIME_HTML_ONLY(0.20)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[aait-sa.com: no valid DMARC record]; RCPT_COUNT_ONE(0.00)[1]; R_SPF_NA(0.00)[no SPF record]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; BLOCKLISTDE_FAIL(0.00)[65.108.1.115:server fail]; HAS_X_GMSV(0.00)[dan4media/primary_hostname/system user]; FROM_NO_DN(0.00)[]; ARC_NA(0.00)[]; HAS_X_AS(0.00)[dan4media]; DKIM_TRACE(0.00)[dan4media.com:+]; HAS_X_ANTIABUSE(0.00)[]; TO_DN_NONE(0.00)[]; HAS_X_SOURCE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:~]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:24940, ipnet:65.108.0.0/16, country:DE]; HAS_X_PHP_SCRIPT(0.00)[] X-Rspamd-Queue-Id: 4QM2B463H4z4Dwj X-Spamd-Bar: + X-ThisMailContainsUnwantedMimeParts: N List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org This is a multi-part message in MIME format. --1c6ceaec34103b260d7de9c4715437b02 Content-Type: text/plain; charset=us-ascii        Dear Customer,    You have an outstanding refund from MyGov.  Our transaction management system detects that you are entitled to receive this payment.  Your refund is available online : 359.95 AUD      NEW REFUND                                                                   Registration Date           : 18/05/2023 Registration number       :1927086734768 Payment method            : Direct debit at maturity Reference notice            : 173XXXXXXXXXXX Amount                           : 359.95 AUD Bank details                   : Completed on the form                                                                                                                                              To accept the fast online payment click on the following link and save the refund       information : >> Access your form Kind Regards, The MyGov.au Team     --1c6ceaec34103b260d7de9c4715437b02 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: quoted-printable =09
=09 =09=09 =09=09=09 =09=09 =09
=09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09
  =09=09=09=09=09=09=09=09=09

=09=09=09=09=09=09=09=09=09

&n= bsp;

=09=09=09=09=09=09=09=09=09

&n= bsp;

=09=09=09=09=09=09=09=09=09

 D= ear Customer,

=09=09=09=09=09=09=09=09=09

&n= bsp;

=09=09=09=09=09=09=09=09=09

 You have = an outstanding refund from MyGov.

=09=09=09=09=09=09=09=09=09

 Our trans= action management system detects that you are entitled to receive this paym= ent.

=09=09=09=09=09=09=09=09=09

 Y= our refund is available online : 359.95 AUD=

=09=09=09=09=09=09=09=09=09

&n= bsp;

=09=09=09=09=09=09=09=09=09

  = NEW REFUND                  &= nbsp;                    =                     = ;    

=09=09=09=09=09=09=09=09=09

&n= bsp;

=09=09=09=09=09=09=09=09=09

Registration Da= te           : 18/05/2023

=09=09=09=09=09=09=09=09=09

Registration nu= mber       :1927086734768

=09=09=09=09=09=09=09=09=09

Payment method&= nbsp;           : Dire= ct debit at maturity

=09=09=09=09=09=09=09=09=09

Reference notic= e            : = 173XXXXXXXXXXX

=09=09=09=09=09=09=09=09=09

Amount &nb= sp;            =              : = 359.95 AUD

=09=09=09=09=09=09=09=09=09

Bank details&nb= sp;            =       : Completed on the form

=09=09=09=09=09=09=09=09=09

&n= bsp;

=09=09=09=09=09=09=09=09=09              &n= bsp;                     =                      = ;                     &nb= sp;                     &= nbsp;                    =                =09=09=09=09=09=09=09=09=09

 

=09=09=09=09=09=09=09=09=09

To accept the f= ast online payment click on the following link and save the refund  &n= bsp;    information : >> Access your form

=09=09=09=09=09=09=09=09=09

Kind Regards,
=09=09=09=09=09=09=09=09=09The =
<= span style=3D"border: 0px; font-style: inherit; font-variant: inherit; font= -weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inhe= rit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inhe= rit; font-feature-settings: inherit; font-variation-settings: inherit; marg= in: 0px; padding: 0px; vertical-align: baseline; color: inherit;">MyGov.au <= /span>Team =09=09=09=09=09=09=09=09=09

=09=09=09=09=09=09
=09=09=09
=09 =09=09 =09=09=09 =09=09 =09
=09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09
  =09=09=09=09=09=09=09=09=09

&nb= sp;

=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09
=09=09=09
--1c6ceaec34103b260d7de9c4715437b02-- From nobody Wed May 17 22:08:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM6g64zcVz4Bf7v; Wed, 17 May 2023 22:08: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 4QM6g64VZKz3HVG; Wed, 17 May 2023 22:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684361282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/AzhC8Jk8CnU+xQsOVpspaHVkjmtlLGzA/ha3LFQw7Y=; b=xd8lxAKwRWupn7mVPW7ImD/nNm/ZL6RGm7b8+EjESc5NqCwYYHRDxvwL9zV8T/CKs/ge7T G764oJ5C798mR9Q65er2NtgayZViX0cmi5pvy4brgRrmXB+pceudUqLSkXKvJT1XeCoUt7 eaQpAAfKln+/sU5W/4qlQOABJY+b+GTCLZK4vCv/DY7PyD+qvTz8vG3YrJWI1sfKQBVDXR WQxbC00qVksYMHbh5N146PRVAx91kMv5CKUcU2S+331jXKbnwyisWd9uPB5NPUer+M8l38 Y5WuoerF4Nx+3N6mk1UD1o3wbFLaN1syClPG6yuW12oebSJ76oZSx7Co/hNExw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684361282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/AzhC8Jk8CnU+xQsOVpspaHVkjmtlLGzA/ha3LFQw7Y=; b=bMjeDuP0MJ8QXbj7Zx8/cE4EqgHgGgrL4KdV8QnIkGq3EzaPCEYaGgQtaVsGquM06DkZ0U +sD/96UVQuf88fD15GXBQMKj7yHtyOVboUltjW2KSX4DYK14eer3TGovP+mgwE4Q9pYwVp +duXyNRJQoPl5UUmYDCJb3qQoQlSwID4DwtfNfNsFZo0wsSVVqWKVUqfQxCuXA+2dLWX3k DG8T5qNd1tosGA+JxHoK3/RXb03siLyfSD36TnuXTrs2QZwRtCXftofN0XzN9CX86KT4We prNQ+X9jxb3YP2lacACOMr7ITC+mCV7EeQe4k9iEb95GZGAw3d7cuPjPykrg+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684361282; a=rsa-sha256; cv=none; b=BMVcUKCdgsXERJIyG6JCXqRKbUew7mDGd2nPFuYTQ0jn0FQPpnvVjGOXhRxTdcWhdIsKtm lREk4I2MIktd6fQ7TrIyTxaLUDdq9eAnaed9oy5QNPcjLPW8axZ2uA4H97lFMFJeqabGBm wQKj3l7UQ5eSWvvgym/7stu9wTxsIvU3jchVkAlQGK/jdJOG94Ln0B89judzjxjINxoW+1 IR8wIj06LTla8OPLQMSO/xvoMX4rZZsvmHrUXqr43OFnk8NfuVfIcJFHkGRSAva3yPFo/g vY4xSsFrCfovs5xzVaMcgtOP4kt4sxbX8fON5gzYXpAKR+qW0GVIUZSXyJW+aw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QM6g63F9szLD1; Wed, 17 May 2023 22:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HM82EP042010; Wed, 17 May 2023 22:08:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HM82GI042009; Wed, 17 May 2023 22:08:02 GMT (envelope-from git) Date: Wed, 17 May 2023 22:08:02 GMT Message-Id: <202305172208.34HM82GI042009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 0a17b290c3a9 - stable/13 - nfsd: Continue adding macros so nfsd can run in a vnet prison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0a17b290c3a95f961593137c8a4bf6b9ebe9c020 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=0a17b290c3a95f961593137c8a4bf6b9ebe9c020 commit 0a17b290c3a95f961593137c8a4bf6b9ebe9c020 Author: Rick Macklem AuthorDate: 2023-02-12 21:52:13 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 22:07:04 +0000 nfsd: Continue adding macros so nfsd can run in a vnet prison Commit 7344856e3a6d added a lot of macros that will front end vnet macros so that nfsd(8) can run in vnet prison. This patch adds some more of them. (cherry picked from commit ab0440af75ba0c2dbf263c5441ccbe4058515fff) --- sys/fs/nfs/nfsdport.h | 2 +- sys/fs/nfs/nfsrvstate.h | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/fs/nfs/nfsdport.h b/sys/fs/nfs/nfsdport.h index 6d468219adf3..26bd57d5736d 100644 --- a/sys/fs/nfs/nfsdport.h +++ b/sys/fs/nfs/nfsdport.h @@ -92,7 +92,7 @@ struct nfsexstuff { bcmp(&(f1)->fh_fid, &(f2)->fh_fid, sizeof(struct fid)) == 0) #define NFSLOCKHASH(f) \ - (&nfslockhash[nfsrv_hashfh(f) % nfsrv_lockhashsize]) + (&NFSD_VNET(nfslockhash)[nfsrv_hashfh(f) % nfsrv_lockhashsize]) #define NFSFPVNODE(f) ((f)->f_vnode) #define NFSFPCRED(f) ((f)->f_cred) diff --git a/sys/fs/nfs/nfsrvstate.h b/sys/fs/nfs/nfsrvstate.h index 4c171e8b3f50..4dc9729a952f 100644 --- a/sys/fs/nfs/nfsrvstate.h +++ b/sys/fs/nfs/nfsrvstate.h @@ -58,18 +58,18 @@ LIST_HEAD(nfsdontlisthead, nfsdontlist); TAILQ_HEAD(nfsuserhashhead, nfsusrgrp); #define NFSCLIENTHASH(id) \ - (&nfsclienthash[(id).lval[1] % nfsrv_clienthashsize]) + (&NFSD_VNET(nfsclienthash)[(id).lval[1] % nfsrv_clienthashsize]) #define NFSSTATEHASH(clp, id) \ (&((clp)->lc_stateid[(id).other[2] % nfsrv_statehashsize])) #define NFSUSERHASH(id) \ - (&nfsuserhash[(id) % nfsrv_lughashsize]) + (&NFSD_VNET(nfsuserhash)[(id) % nfsrv_lughashsize]) #define NFSUSERNAMEHASH(p, l) \ - (&nfsusernamehash[((l)>=4?(*(p)+*((p)+1)+*((p)+2)+*((p)+3)):*(p)) \ + (&NFSD_VNET(nfsusernamehash)[((l)>=4?(*(p)+*((p)+1)+*((p)+2)+*((p)+3)):*(p)) \ % nfsrv_lughashsize]) #define NFSGROUPHASH(id) \ - (&nfsgrouphash[(id) % nfsrv_lughashsize]) + (&NFSD_VNET(nfsgrouphash)[(id) % nfsrv_lughashsize]) #define NFSGROUPNAMEHASH(p, l) \ - (&nfsgroupnamehash[((l)>=4?(*(p)+*((p)+1)+*((p)+2)+*((p)+3)):*(p)) \ + (&NFSD_VNET(nfsgroupnamehash)[((l)>=4?(*(p)+*((p)+1)+*((p)+2)+*((p)+3)):*(p)) \ % nfsrv_lughashsize]) struct nfssessionhash { @@ -77,7 +77,8 @@ struct nfssessionhash { struct nfssessionhashhead list; }; #define NFSSESSIONHASH(f) \ - (&nfssessionhash[nfsrv_hashsessionid(f) % nfsrv_sessionhashsize]) + (&NFSD_VNET(nfssessionhash)[nfsrv_hashsessionid(f) % \ + nfsrv_sessionhashsize]) struct nfslayouthash { struct mtx mtx; From nobody Wed May 17 22:15:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM6qW5GB2z4BfYm; Wed, 17 May 2023 22:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QM6qW3CNTz3Jvt; Wed, 17 May 2023 22:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684361719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=86ciIEOLxugLtQ335v8gIJVz/vrc1TJVCk4W5phxhH0=; b=jHP1cjFNbXKJqmDV11o/sh2zGHkrPgY3SnzcDm9ypD9YsAZ8Y/ggkdX2/0rnzEhehaewGS UzfBo04U6XquXOf9WF7UMcT/a58LmqUdCQVtHoi+cq34M5tJfBmh4KJA20rrr2GBMJRDD7 4OJNBn6b8sahJZic37pZE+nfoZlPFbQlrdnNKdo732oioDscW1jbzrdcc1gMsPISsEZdlA KK345lHRCE5PphHQ7loJQIVHu+awZB5k4FwsTCFBBVH6IHFGG9NeQ709C0HuEA+3FfSE7e 1eKMOIq7obU3grTvqeSAB9+KwhamKBDUjFSAStOdyVCHSCLiLoxIDjW6RB65cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684361719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=86ciIEOLxugLtQ335v8gIJVz/vrc1TJVCk4W5phxhH0=; b=rdqvae/P70L+vPVclx8p4JICoaBvt+Ql46C7ZaNRxL/F7Cyv4yUhYpoje/qWPKmZOuzYgE 8r9hxAbLlP2DCU/OzMlM3YFzVaudsBgioJ/seOIbehOYLg3gV2zRwB3iJvYwCDGeSadCtB KNPDShEAc9Gtk2oYcAMywYUGWbZ4i83auegLVDH7PI8O4sq42yX82lTXtENnt7opZTmAIK 8PpeLT/QcW6MgYbYZ1QNPfDfNbvJCsUmFSb2H8Ff0kmEF95tvYiM9zn9HRIs2/lMQ0nIHC 1zBJc60vUwXKBx+VX1wG+MJsVd14zS0mmCAu3G/v9zG85U/Kh4+sSoUB/ogXvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684361719; a=rsa-sha256; cv=none; b=NJJVc9pO7ETfF4QOIILqlI8481n3JL1vm6lWjZi4G4UxeWRjbPsd4X1ZtnwUqNxN336y03 2zH0nCPYQ1Y5QKwMlljcWvSR5+E0aAndIXBFawu9uvnjrL5FmqEeiYAcTAmuJhquMXCy85 6lpmOO0kayAK+xWCM04xSj08m9iT/EuTUGK2JL95rNIEO4L3lJCOrS6W219AYqQQSSRyI7 eXjFFzF7pL7pv+RO+Sy0RsBb7glEenZzLWmohuCGqbWQA8G6VxZx8BWnv2Jt0eSwdwsn7i Gg0QKYC/ea1E0/sAi4jgYv1lLWCxO3Dh5Lnq67bD/IL2qWOELfB6Jz2M2iaSyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QM6qT4jS4zLmD; Wed, 17 May 2023 22:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HMFHi9058224; Wed, 17 May 2023 22:15:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HMFHu2058223; Wed, 17 May 2023 22:15:17 GMT (envelope-from git) Date: Wed, 17 May 2023 22:15:17 GMT Message-Id: <202305172215.34HMFHu2058223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: fddac96ca559 - stable/13 - krpc: Allow mountd/nfsd to optionally run in a jail List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fddac96ca55968f42156e6286547de513f980a52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=fddac96ca55968f42156e6286547de513f980a52 commit fddac96ca55968f42156e6286547de513f980a52 Author: Rick Macklem AuthorDate: 2022-12-18 20:40:48 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 22:14:07 +0000 krpc: Allow mountd/nfsd to optionally run in a jail This patch modifies the kernel RPC so that it will allow mountd/nfsd to run inside of a vnet jail. Running mountd/nfsd inside a vnet jail will be enabled via a new kernel build option called VNET_NFSD, which will be implemented in future commits. Although I suspect cr_prison can be set from the credentials of the current thread unconditionally, I #ifdef'd the code VNET_NFSD and only did this for the jailed case mainly to document that it is only needed for use in a jail. The TLS support code has not yet been modified to work in a jail. That is planned as future development after the basic VNET_NFSD support is in the kernel. This patch should not result in any semantics change until VNET_NFSD is implemented and used in a kernel configuration. (cherry picked from commit 6a76d35cac8e1549f74bd4cdceccc2ee52c8e556) --- sys/rpc/svc.c | 3 ++- sys/rpc/svc_auth.c | 15 +++++++++++++-- sys/rpc/svc_dg.c | 4 ++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/sys/rpc/svc.c b/sys/rpc/svc.c index be0f08ebca9d..065da0cc23a4 100644 --- a/sys/rpc/svc.c +++ b/sys/rpc/svc.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); */ #include +#include #include #include #include @@ -126,7 +127,7 @@ svcpool_create(const char *name, struct sysctl_oid_list *sysctl_base) pool->sp_space_low = (pool->sp_space_high / 3) * 2; sysctl_ctx_init(&pool->sp_sysctl); - if (sysctl_base) { + if (!jailed(curthread->td_ucred) && sysctl_base) { SYSCTL_ADD_PROC(&pool->sp_sysctl, sysctl_base, OID_AUTO, "minthreads", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, pool, 0, svcpool_minthread_sysctl, "I", diff --git a/sys/rpc/svc_auth.c b/sys/rpc/svc_auth.c index 21149139b5a5..a5c9753c4fde 100644 --- a/sys/rpc/svc_auth.c +++ b/sys/rpc/svc_auth.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -197,7 +198,12 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xprt->xp_uid; crsetgroups(cr, xprt->xp_ngrps, xprt->xp_gidp); cr->cr_rgid = cr->cr_svgid = xprt->xp_gidp[0]; - cr->cr_prison = &prison0; +#ifdef VNET_NFSD + if (jailed(curthread->td_ucred)) + cr->cr_prison = curthread->td_ucred->cr_prison; + else +#endif + cr->cr_prison = &prison0; prison_hold(cr->cr_prison); *crp = cr; return (TRUE); @@ -210,7 +216,12 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xcr->cr_uid; crsetgroups(cr, xcr->cr_ngroups, xcr->cr_groups); cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; - cr->cr_prison = &prison0; +#ifdef VNET_NFSD + if (jailed(curthread->td_ucred)) + cr->cr_prison = curthread->td_ucred->cr_prison; + else +#endif + cr->cr_prison = &prison0; prison_hold(cr->cr_prison); *crp = cr; return (TRUE); diff --git a/sys/rpc/svc_dg.c b/sys/rpc/svc_dg.c index 36724ed07b98..e4cf0d8c45e3 100644 --- a/sys/rpc/svc_dg.c +++ b/sys/rpc/svc_dg.c @@ -45,11 +45,13 @@ __FBSDID("$FreeBSD$"); */ #include +#include #include #include #include #include #include +#include #include #include #include @@ -104,6 +106,8 @@ svc_dg_create(SVCPOOL *pool, struct socket *so, size_t sendsize, struct sockaddr* sa; int error; + if (jailed(curthread->td_ucred)) + return (NULL); if (!__rpc_socket2sockinfo(so, &si)) { printf(svc_dg_str, svc_dg_err1); return (NULL); From nobody Wed May 17 22:18:16 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM6tx07tFz4Bfcx; Wed, 17 May 2023 22:18:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QM6tw6kPvz3K2r; Wed, 17 May 2023 22:18:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684361896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zQUL0wSXilCdvRS81PcoiqC8QZ0NxWztRihUxdP7ggA=; b=wGREwA1cC+Q3kRPcrNGL1LB8jLoNzKzRmwLuyhsatgpseBykVbq5N6RHq1CtE9xfDJOg8o 9erbmHHu1GntqaKMCKK6M5Ty8Qj0MR9WXpI+p+tK6uaIX8Gi8r1v2ITlD3igU+orLV9RmQ rBYGBE0BRGeFsYWgsi3BZVTlA4gU3GpvrYLkhWWKHiZpWTiHeGJypwDMSKzBA+KX3zANj4 3WNuSLyJ6/7bvtgFjuxB1An/TGG5urgREk/yTCB8GtB7vWS0by3OTsU+KVwmGgFiX96ClO V8cT3o1UzhYkLQrR8OF/m9D3XfaXRmrih1wMChZ9nq+PJQIa2ZAE/Uq1FYFf6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684361896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zQUL0wSXilCdvRS81PcoiqC8QZ0NxWztRihUxdP7ggA=; b=e91UWAJRXOXJe2ouJp/GBnfmPZB+mpuv+qCA0+3TVklh9PATL+qQ4F+Q+PSZdom0ITwUaK SG06Yr6Y8gh7g7TEIIk2VbnkWdpPEuN18JOE19oSBej8zobX+kLa4pU+ilkn2A8A3VVPSZ Jf9ivjnZn+T/8SltN+oCVJ5GmyNrwSJRnbpjhKWBxhVB98VKWu/3mmiHjpfBLX0WzC2uEy B2zC9CgByoFcK3H8uOLlgrbLUqb2qMAGmzMuPYwQUGFVLqYPFCvTQQgVsex8gHADJPAYxY vevXnQVJ0hCtcROWNE92nkKyErkaz3QKRbxhRCzLch7XU94sUMSlsHaIQgy7FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684361896; a=rsa-sha256; cv=none; b=o4xIAxlZGoaGxRx74wXykvniq753Ft5SpCkk+tjrLH7HmMogc2a6uTKvVyY2qE0NPP3RQi OHViVlRrX6CMtcRgneBf0tmm06oOcf9ASS/c7xjOqALu2r9c90ghlsLcJ35ZuJoRTwWeiR ud0rIK7sjrlWLS037Eb7wVevERa75HfRGjQUgN4SWyljcdJ+4pL4seJEs9QfXS+ZF4KDZP OQ9k/hX970gg/fTfNxDrrFi6V4PPGDgc/WcU9iSn016F1dh9hCY+1QuUTM1cZIp/JUwqF6 j4efyyFJFIkBK0jfvoAv2dIz2W+143cCVG2UpH6WnAppuRw+IGJepZgbJEbpug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QM6tw5q2CzLT2; Wed, 17 May 2023 22:18:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HMIG1Y058661; Wed, 17 May 2023 22:18:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HMIGWJ058660; Wed, 17 May 2023 22:18:16 GMT (envelope-from git) Date: Wed, 17 May 2023 22:18:16 GMT Message-Id: <202305172218.34HMIGWJ058660@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 967e9ddfb839 - stable/13 - krpc: Replace !jailed() with IS_DEFAULT_VNET() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 967e9ddfb83936386870b5533f31b875be574929 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=967e9ddfb83936386870b5533f31b875be574929 commit 967e9ddfb83936386870b5533f31b875be574929 Author: Rick Macklem AuthorDate: 2023-02-16 22:32:50 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 22:17:22 +0000 krpc: Replace !jailed() with IS_DEFAULT_VNET() Since svcpool_create() is now called from an initialization function, !jailed() no longer works. Replace it with IS_DEFAULT_VNET(). (cherry picked from commit 780bae23b8e6c386e4b2f971eb27fa3bd1a6edd1) --- sys/rpc/svc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/rpc/svc.c b/sys/rpc/svc.c index 065da0cc23a4..0b07d2751f4a 100644 --- a/sys/rpc/svc.c +++ b/sys/rpc/svc.c @@ -48,7 +48,6 @@ __FBSDID("$FreeBSD$"); */ #include -#include #include #include #include @@ -63,6 +62,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include #include #include @@ -127,7 +128,7 @@ svcpool_create(const char *name, struct sysctl_oid_list *sysctl_base) pool->sp_space_low = (pool->sp_space_high / 3) * 2; sysctl_ctx_init(&pool->sp_sysctl); - if (!jailed(curthread->td_ucred) && sysctl_base) { + if (IS_DEFAULT_VNET(curvnet) && sysctl_base) { SYSCTL_ADD_PROC(&pool->sp_sysctl, sysctl_base, OID_AUTO, "minthreads", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, pool, 0, svcpool_minthread_sysctl, "I", From nobody Wed May 17 22:20:17 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM6xF6khBz4BfkG; Wed, 17 May 2023 22:20:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QM6xF6BBzz3KY1; Wed, 17 May 2023 22:20:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684362017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WGW8Md8LxzDJi6GemuGRWb0wVHocvoX0F10i2E0z1dw=; b=MvVAG0RePrhwMDcm92SNWLWDLQ5dUwiaPOx+YQfQ43Gs3fs5YwlcIaOTYyLnrwOfOy+uYP b71HbBvji/Eqw+dpftHDsKCPA7bIf/pxuGBy12JiSUaSbRaZTERplnqcIEtg9DkEatGePS tL6R7b+H/vHvfvMWXqzvYdUGVIAYYPLjJBOjSdEfCZifvjIQVLQGBC9lK6/NIEz08zxing bhBh7BZ804CYsPAchqcFjBT/fr2Uum9mJ9tbrcrnxNIK4NGW9axmymKnz0D7t31wuCVGP1 vTCAgojNBSwHehhRK331QqMCObf7qmDM2/2f+/VsN2QKxESs4APFR/Bgj9P3pA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684362017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WGW8Md8LxzDJi6GemuGRWb0wVHocvoX0F10i2E0z1dw=; b=UrpmlrXKJbQ4A72oOTIJ+u2xCp+zEnzfiX6dTW7i0gka6hMaS6BXsCHtuYk8ACKpSrZ9oi /coozHBpKColEm808lxzmKazPg08AOiuQmAAnWqnIyMny01CMZNdlwNpRdknvfjgft9x1S fT6gl+dzJAOm/M6XGD+gvSnRR95FHhzZpTImW6GVILTujq+/0VcV50dlVRMNC38innt7ER 3E7gI7k1as/Z7kzKKBMrZbpp9T7ph/tsUUum4zTCfL/SblGaqfUmJMzAGwrkAOSGfF/eiC 0hBfpd7XQ4OS/jn/Y6UEnxEOAKyY0oBJyw3MJaLobRqInOjFudv9U+n2TsVttw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684362017; a=rsa-sha256; cv=none; b=Q1ZkXnt5jZYaGNturUx3/DrWq3ZUrwR3d084CKB7HDgkNQ3oWAJe3guhgV7OYpv7KBFoJD Z9Rd3W/9PQbTKgQkqrmBCk27q6eKq16U7TRzWJBkCb3w/4ZEtnNMMEXY7B345xDHfT6yrl NX+DCSemUSnN4sBcJw2omGtcQr4npte9Xg5fe/Ap8xDMkyPjo51NiPn8Z7ln+9y1OHg7Vw tgg2GUjfyx+NQwNPnK14h2ZNJdnZojUZQ6QO3DWNb10lnadnXIuDSkWOujjkEtL2CbxgJQ vfCw4rr1tNAJLZknxL5y2x43Sltmp2ZOvATei2bNu6mXTqd4JrqalHEAY82Sbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QM6xF5FynzLN6; Wed, 17 May 2023 22:20:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HMKHNf067450; Wed, 17 May 2023 22:20:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HMKHaE067449; Wed, 17 May 2023 22:20:17 GMT (envelope-from git) Date: Wed, 17 May 2023 22:20:17 GMT Message-Id: <202305172220.34HMKHaE067449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 8d7d3c6963f8 - stable/13 - nfscl: Add NFSD_CURVNET macros to nfsclient syscall List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8d7d3c6963f8d504e0d02353bacce767a907ca5d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=8d7d3c6963f8d504e0d02353bacce767a907ca5d commit 8d7d3c6963f8d504e0d02353bacce767a907ca5d Author: Rick Macklem AuthorDate: 2023-02-21 00:40:07 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 22:19:19 +0000 nfscl: Add NFSD_CURVNET macros to nfsclient syscall Although the nfsclient syscall is used for client side, it does set up server side krpc for callbacks. As such, it needs to have the vnet set. This patch does this. Without this patch, the system would crash when the nfscbd(8) daemon was killed. (cherry picked from commit 357492c99597d13bc966441f30bb44f6ef659f08) --- sys/fs/nfsclient/nfs_clport.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c index 4d8599c18363..1d2617b2bb9b 100644 --- a/sys/fs/nfsclient/nfs_clport.c +++ b/sys/fs/nfsclient/nfs_clport.c @@ -1276,10 +1276,11 @@ nfssvc_nfscl(struct thread *td, struct nfssvc_args *uap) struct mount *mp; struct nfsmount *nmp; + NFSD_CURVNET_SET(NFSD_TD_TO_VNET(td)); if (uap->flag & NFSSVC_CBADDSOCK) { error = copyin(uap->argp, (caddr_t)&nfscbdarg, sizeof(nfscbdarg)); if (error) - return (error); + goto out; /* * Since we don't know what rights might be required, * pretend that we need them all. It is better to be too @@ -1288,10 +1289,11 @@ nfssvc_nfscl(struct thread *td, struct nfssvc_args *uap) error = fget(td, nfscbdarg.sock, cap_rights_init_one(&rights, CAP_SOCK_CLIENT), &fp); if (error) - return (error); + goto out; if (fp->f_type != DTYPE_SOCKET) { fdrop(fp, td); - return (EPERM); + error = EPERM; + goto out; } error = nfscbd_addsock(fp); fdrop(fp, td); @@ -1300,12 +1302,14 @@ nfssvc_nfscl(struct thread *td, struct nfssvc_args *uap) nfscl_enablecallb = 1; } } else if (uap->flag & NFSSVC_NFSCBD) { - if (uap->argp == NULL) - return (EINVAL); + if (uap->argp == NULL) { + error = EINVAL; + goto out; + } error = copyin(uap->argp, (caddr_t)&nfscbdarg2, sizeof(nfscbdarg2)); if (error) - return (error); + goto out; error = nfscbd_nfsd(td, &nfscbdarg2); } else if (uap->flag & NFSSVC_DUMPMNTOPTS) { error = copyin(uap->argp, &dumpmntopts, sizeof(dumpmntopts)); @@ -1391,6 +1395,8 @@ nfssvc_nfscl(struct thread *td, struct nfssvc_args *uap) } else { error = EINVAL; } +out: + NFSD_CURVNET_RESTORE(); return (error); } From nobody Wed May 17 23:13:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM8755pz5z4Bj0S; Wed, 17 May 2023 23:13: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 4QM8755HHtz3PNC; Wed, 17 May 2023 23:13:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684365233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AadAp5ySWuXCdQOTGQ9uWHWKrEMXA+zfIGbVZynsdo=; b=p1pNFhhoNtKwiPby2whY/Zr1Gsl50D8aOR2pwrgKtlYequrLrGcStrLUCbxPNSTnuzy7+a bkU1OsK004dTzCBVvWSp++oOnXBknusOWtJrl+GavkHMLCyLhoOHaSi7xxHitHhvIZADQv 46UsnM7KYG5xfq3UDaa0MY/29GW/aqalbetfwzRcMfUwUXoMPOWZc8Zym972WjKWNZYJzL dfr+rDnCd2XPsrL0CrgQiLiO5Vl1CczWgzELdKnnK8K7Xaa43N/dGOBO2lqp7gJ0PnjgV3 gYkWShJwNcvCDbLcp3EysgMbWHpn5OJ/sHxogktLlmY73hKo9gCUveNhDFESMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684365233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AadAp5ySWuXCdQOTGQ9uWHWKrEMXA+zfIGbVZynsdo=; b=T6qiMNtyXghfwTL0iaFh3gHeQkn3mb9PE0TuqlhJwVUBTeYR/GQVx80jMd+fNu43W0r3me ieSJlmZrmv8uvD8jSWkf+4aspjcMUT6s6b5u9hVFvDqxY0hb3gdH7dCsboVI2BvIDEk/hu X2QprBHLMJrEzmweLjnCofYgNcfLKu9X0NACQpLmzqwjwVCphNNnHsWBEgilP7O5lIna2u 4xwvWDRAsBtJ+VS6A1hAin8mVSZ27z0qUrSsbjlT3JgdbFXhO1yXZsgku+i207QVXm8mgt enTZ6Nj0hQ6tpmQkGaImSxu22bOgaHOzUbaaAQBqYU9woWdAJ7WTv7GflMaCuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684365233; a=rsa-sha256; cv=none; b=t+W+1rkuhwL76MvsxaPDQ49j42IekPtzdrY/90XvfU3Z+3fx8Cw5YNMK6w0URybJXSx+Vt uItlFFTKBeTkv+2jq+DZdGjro8lasxcKy4Z1OzyimNkT7gTj16wgZBuim3VvL0GewK64N3 xvJrkWZyV8oYg07nZNMzI8NQ3wc9jWFzXtP7iaGXIHW1V4/9uKiNhGI6N/74jOmpiyaBm6 ldfsToJNFHddJUAjGuSfoxZgLdBfjh16SEGpR5DB935R5S0sbUUPC1zS3DEuqHt6ng3YBz Yb9QqkGItQsUbzPgMEbq+BVNQvd5qTQChqjT4AlpMF2C7pTtuLPqC92r/a2q3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QM87543qhzNDG; Wed, 17 May 2023 23:13:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34HNDr99056545; Wed, 17 May 2023 23:13:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34HNDrFg056544; Wed, 17 May 2023 23:13:53 GMT (envelope-from git) Date: Wed, 17 May 2023 23:13:53 GMT Message-Id: <202305172313.34HNDrFg056544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 3f1e7e07459f - stable/13 - nfscommon: Revert use of nfsstatsv1_p in nfs_commonkrpc.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3f1e7e07459f54ecd0cdbe586570f00a88c55d0f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=3f1e7e07459f54ecd0cdbe586570f00a88c55d0f commit 3f1e7e07459f54ecd0cdbe586570f00a88c55d0f Author: Rick Macklem AuthorDate: 2023-02-17 01:44:19 +0000 Commit: Rick Macklem CommitDate: 2023-05-17 23:12:49 +0000 nfscommon: Revert use of nfsstatsv1_p in nfs_commonkrpc.c Commit 9d329bbc9aea converted a lot of accesses to nfsstatsv1 to use nfsstatsv1_p instead. However, the accesses in nfs_commonkrpc.c are for client side and should not be converted. This patch puts them back in the correct pre-commit 9d329bbc9aea form. (cherry picked from commit a63b5d488badce9298e4272da2d5344e9f83a13d) --- sys/fs/nfs/nfs_commonkrpc.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index 0d2cb9ec279a..9badd8be47d4 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -92,6 +92,7 @@ NFSSTATESPINLOCK; NFSREQSPINLOCK; NFSDLOCKMUTEX; NFSCLSTATEMUTEX; +extern struct nfsstatsv1 nfsstatsv1; extern struct nfsreqhead nfsd_reqq; extern int nfscl_ticks; extern void (*ncl_call_invalcaches)(struct vnode *); @@ -99,8 +100,6 @@ extern int nfs_numnfscbd; extern int nfscl_debuglevel; extern int nfsrv_lease; -NFSD_VNET_DECLARE(struct nfsstatsv1 *, nfsstatsv1_p); - SVCPOOL *nfscbd_pool; int nfs_bufpackets = 4; static int nfsrv_gsscallbackson = 0; @@ -783,7 +782,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, procnum = NFSV4PROC_COMPOUND; if (nmp != NULL) { - NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcrequests); + NFSINCRGLOBAL(nfsstatsv1.rpcrequests); /* Map the procnum to the old NFSv2 one, as required. */ if ((nd->nd_flag & ND_NFSV2) != 0) { @@ -918,13 +917,13 @@ tryagain: if (stat == RPC_SUCCESS) { error = 0; } else if (stat == RPC_TIMEDOUT) { - NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpctimeouts); + NFSINCRGLOBAL(nfsstatsv1.rpctimeouts); error = ETIMEDOUT; } else if (stat == RPC_VERSMISMATCH) { - NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); error = EOPNOTSUPP; } else if (stat == RPC_PROGVERSMISMATCH) { - NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); error = EPROTONOSUPPORT; } else if (stat == RPC_CANTSEND || stat == RPC_CANTRECV || stat == RPC_SYSTEMERROR || stat == RPC_INTR) { @@ -958,11 +957,11 @@ tryagain: if (stat == RPC_INTR) error = EINTR; else { - NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); error = ENXIO; } } else { - NFSINCRGLOBAL(NFSD_VNET(nfsstatsv1_p)->rpcinvalid); + NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); error = EACCES; } if (error) { From nobody Thu May 18 00:13:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM9S02ZYHz4Bm54; Thu, 18 May 2023 00:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QM9S01pY8z3lQY; Thu, 18 May 2023 00:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684368816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/dKDZsyAgbXWUqENY055mKyQYjS7cBRT94C/2UN86Kg=; b=WOVj8dt/LQS6Y4ht25AElACp03V66I+cvt+DbESPUHhpynmL4Rq45o6Vw2TEvRiAW6HDyk sl/aWm4neTDROUXMHkN+YRBTlO9QCa+YwxiaccN+iILagIvFCwkzSKxb/Ik02ayerCG3N+ rkcxEhGdDCo+3cM6i4rsRffn2hE3oL+KkSqIM6xKf/Zpkyxn4I6h4Rc60lDVZ4xEwFmJP2 jsIsIu1AOXEPIk6hiLbpfvRqtEtF+NnklvMiGoXwaCbiiXIqny9Zh2bvQb8q7az6bww6gU SG3OGZzdgC9kJJXykqbzL1WRW8rUIldN8bKzKq+otZr90CARkE6CO1dxlOylag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684368816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/dKDZsyAgbXWUqENY055mKyQYjS7cBRT94C/2UN86Kg=; b=hBSJfx4gL+7sPpbCbyhJCoyVPwPKU+lmX4fvyeXVWICTLjd/jQyJ4oST7k8BUExQHqVrXY pH+iz0eJ0yEyeKUVVm+HCKOAfBFA/gk0R2+sELxARwlcjEpMLQuc4qPz1uVQObkA9iJzYS dIEgskirjsqlPZl8kdMIf/0DJ6sHabBIRv3ep+yTB4BKZJN8uHmJsJby8a4v97vDEsteVp /BajXluiFoOFnv6Jv6Oxi/Sa9p9IqkcQQIMyO9oXGm0pjVEcbMSUjtUciva1uwbyVjMI0q wFWNLxngcazAOfJlNrWyFGR1mDePf2RbhfPfVFAxPhR+NFn6jNlSunf6PJvacQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684368816; a=rsa-sha256; cv=none; b=lvBad6SjPaWORqRhEqftViHu141SMC7NblVz8FnIq77IauX/6j0OY7VBLqCxGGMKWflbbd AcJP4FG3UI12wACom+rRKPDb7k1C+UpCFZAC5111TOC26pWUjU8vSF0+dCPVuvy++OJvYp 9Fi3YrgVkGB5SgnphgDtZxjdKlvbFH4c2w6r6BNZrrkWJstCZREtRwEpVIXMS6shbBcSr2 0WaYs53oOqH6DpKysoE6+9n/I88dXUkXDrljYyZm27Sp4AV2qNOMCctK30plj3T2zAMiO0 vOWoCKwiiC770WLT1uSxrg+qdsiHKoFh/gwIL6REL/qnMa7X1cBWqArA2sE7Xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QM9S00syNzPgV; Thu, 18 May 2023 00:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34I0DaSj055218; Thu, 18 May 2023 00:13:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34I0DaNL055217; Thu, 18 May 2023 00:13:36 GMT (envelope-from git) Date: Thu, 18 May 2023 00:13:36 GMT Message-Id: <202305180013.34I0DaNL055217@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 46910ffacbfe - stable/13 - krpc: Remove VNET_NFSD #ifdefs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 46910ffacbfeadb08a3421c2d4995d1a244768c4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=46910ffacbfeadb08a3421c2d4995d1a244768c4 commit 46910ffacbfeadb08a3421c2d4995d1a244768c4 Author: Rick Macklem AuthorDate: 2023-02-14 21:53:39 +0000 Commit: Rick Macklem CommitDate: 2023-05-18 00:12:26 +0000 krpc: Remove VNET_NFSD #ifdefs The consensus is that the VNET_NFSD kernel option is not needed, so this commit removes its use from the kernel RPC. (cherry picked from commit 364391a9bb5eb85af5f711a952ba40a4b1f768da) --- sys/rpc/svc_auth.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/sys/rpc/svc_auth.c b/sys/rpc/svc_auth.c index a5c9753c4fde..22ce83f72bdb 100644 --- a/sys/rpc/svc_auth.c +++ b/sys/rpc/svc_auth.c @@ -198,12 +198,7 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xprt->xp_uid; crsetgroups(cr, xprt->xp_ngrps, xprt->xp_gidp); cr->cr_rgid = cr->cr_svgid = xprt->xp_gidp[0]; -#ifdef VNET_NFSD - if (jailed(curthread->td_ucred)) - cr->cr_prison = curthread->td_ucred->cr_prison; - else -#endif - cr->cr_prison = &prison0; + cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = cr; return (TRUE); @@ -216,12 +211,7 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp) cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xcr->cr_uid; crsetgroups(cr, xcr->cr_ngroups, xcr->cr_groups); cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; -#ifdef VNET_NFSD - if (jailed(curthread->td_ucred)) - cr->cr_prison = curthread->td_ucred->cr_prison; - else -#endif - cr->cr_prison = &prison0; + cr->cr_prison = curthread->td_ucred->cr_prison; prison_hold(cr->cr_prison); *crp = cr; return (TRUE); From nobody Thu May 18 06:01:00 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMK8r6XBWz4C6nB; Thu, 18 May 2023 06:01: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 4QMK8r6MY6z4J9D; Thu, 18 May 2023 06:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684389660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZUrxksEl44m2ESeoaniTR/tuPBjUbS/QjRUOqN0bIp8=; b=kHWArs19eIiiDMvsVq7+F5q6lo0pcHKSSqPO8ZlOvpsiTsMZ0akmARpV7hkhoXhUCYNrHI mw68ImZ78IxoMtRX/KN/280tm3xQ0Dz2rSCbXKIaK/L9A1OYQi83UlFYV4vRCm9YquzoqP dTENFIElZ6wixfSG0rGuOpkeePREsJ8Hteev7oRGO8pGGtXcfvU8Sh//ZPYagjJptWzJaj xmijTIsU7IJt1t8IlamJT2ta8qs+wCS3RIAF6ruESi4xGo3q/IdV2EhsPqKh/J0FC9Nz1d 8zfkLkvVkXZrfzd8+dqYLAPCDf6pHMrHgct98eEAXuZbCrUt6JsjLbzmUZ7XsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684389660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZUrxksEl44m2ESeoaniTR/tuPBjUbS/QjRUOqN0bIp8=; b=WomHSVk03QZJIErf1b9tPiAYAXvgXKs4EJB1F+y8OK3RYyiNvBoDW2FZcP55XHZ4STkyUh tMtac4KE0OUbEnlWtI6TejB/5ZpASTD+JTpMkWKfoAryopUXoCsgEnBbfsDLvYWCRA8G4w e1W+gmCl4bGlacALLB01gPdaB7l0ktBZNRR3TkIqL7YoAf7NCzBCt4qU2mr71UbfN6no+g p33Y+dwAKEOGDRnUOykrezL1m/IatfONAjAX/fY8kcosFxXp1RteWagCEISvteHbxYbhsZ K7y7JDav8ZcP+JqLOyGzDHbhHWi6Ds0l03tJ0l3d1aASXqtGl8cA5w2diOTdVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684389660; a=rsa-sha256; cv=none; b=peM2SF4dXLmfNU22SJPYWGxa4LQ088jAxD7YmyGKcFyU7gbX4a/qVuE6auC/XD6921XbOC RqqoD/w0f2MPLJemR3OZ8vlq3jOK3vBYNWe2vZ8bdG4GO2EX4vRvgHZGul38CnwdfVPd7f r/lIPW8IqNs5JT3ir9untNkHvP2Cn3tOVkmBcW039B45+POSKKpTXBSRLdAFBYVjN+ts+E 0xMa/153WnWf86LTMUkF9MKHaGVHsEU+pUe0dDn5KfQE8xNLty43oGwFaulGkK98cz6OkH gNCvVpdxxIpu1Wgk4mMoHGBbTEJkh+odaBcH4KSrxgbU+oePlJuOMhgMDAFE+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMK8r5RVfzZ32; Thu, 18 May 2023 06:01:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34I6103m026791; Thu, 18 May 2023 06:01:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34I610vG026790; Thu, 18 May 2023 06:01:00 GMT (envelope-from git) Date: Thu, 18 May 2023 06:01:00 GMT Message-Id: <202305180601.34I610vG026790@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 69ce8ed3c650 - stable/13 - MFV: less v632. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 69ce8ed3c6500878ec011a779663765a69727342 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=69ce8ed3c6500878ec011a779663765a69727342 commit 69ce8ed3c6500878ec011a779663765a69727342 Author: Xin LI AuthorDate: 2023-05-02 03:43:57 +0000 Commit: Xin LI CommitDate: 2023-05-18 06:00:49 +0000 MFV: less v632. (cherry picked from commit d713e0891ff9ab8246245c3206851d486ecfdd37) --- contrib/less/LICENSE | 2 +- contrib/less/NEWS | 79 ++++- contrib/less/brac.c | 9 +- contrib/less/ch.c | 321 ++++++++----------- contrib/less/charset.c | 234 +++++++++----- contrib/less/charset.h | 2 +- contrib/less/cmd.h | 3 +- contrib/less/cmdbuf.c | 211 +++--------- contrib/less/command.c | 200 ++++++------ contrib/less/compose.uni | 14 +- contrib/less/cvt.c | 19 +- contrib/less/decode.c | 144 ++------- contrib/less/edit.c | 357 +++++++++++++++------ contrib/less/filename.c | 137 ++++---- contrib/less/fmt.uni | 4 +- contrib/less/forwback.c | 64 +--- contrib/less/funcs.h | 748 ++++++++++++++++++++++--------------------- contrib/less/help.c | 46 ++- contrib/less/ifile.c | 118 ++----- contrib/less/input.c | 203 +++++++++--- contrib/less/jump.c | 37 +-- contrib/less/less.h | 89 +++-- contrib/less/less.hlp | 44 ++- contrib/less/less.nro | 677 ++++++++++++++++++++++++++------------- contrib/less/lessecho.c | 44 +-- contrib/less/lessecho.nro | 38 +-- contrib/less/lesskey.c | 66 ++-- contrib/less/lesskey.h | 2 +- contrib/less/lesskey.nro | 62 ++-- contrib/less/lesskey_parse.c | 111 ++----- contrib/less/lglob.h | 2 +- contrib/less/line.c | 467 ++++++++++++--------------- contrib/less/linenum.c | 53 ++- contrib/less/lsystem.c | 18 +- contrib/less/main.c | 54 ++-- contrib/less/mark.c | 84 ++--- contrib/less/mkutable | 15 +- contrib/less/optfunc.c | 314 ++++++++---------- contrib/less/option.c | 105 ++---- contrib/less/option.h | 4 +- contrib/less/opttbl.c | 116 +++++-- contrib/less/os.c | 231 +++++++------ contrib/less/output.c | 135 ++++---- contrib/less/pattern.c | 176 +++++----- contrib/less/pattern.h | 10 +- contrib/less/pckeys.h | 2 +- contrib/less/position.c | 41 +-- contrib/less/position.h | 2 +- contrib/less/prompt.c | 78 ++--- contrib/less/screen.c | 562 +++++++++++++++----------------- contrib/less/scrsize.c | 2 +- contrib/less/search.c | 370 ++++++++------------- contrib/less/signal.c | 29 +- contrib/less/tags.c | 87 ++--- contrib/less/ttyin.c | 52 +-- contrib/less/ubin.uni | 16 +- contrib/less/version.c | 31 +- contrib/less/wide.uni | 22 +- contrib/less/xbuf.c | 150 +++++++-- contrib/less/xbuf.h | 7 +- usr.bin/less/defines.h | 24 +- 61 files changed, 3721 insertions(+), 3623 deletions(-) diff --git a/contrib/less/LICENSE b/contrib/less/LICENSE index 65bce4288972..d22cc6070c51 100644 --- a/contrib/less/LICENSE +++ b/contrib/less/LICENSE @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2022 Mark Nudelman +Copyright (C) 1984-2023 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/contrib/less/NEWS b/contrib/less/NEWS index bcfe4c6c9e38..468f59441b28 100644 --- a/contrib/less/NEWS +++ b/contrib/less/NEWS @@ -9,6 +9,77 @@ Report bugs, suggestions or comments at https://github.com/gwsw/less/issues. +====================================================================== + + Major changes between "less" versions 608 and 632 + +* Add LESSUTFCHARDEF environment variable (github #275). + +* Add # command (github #330). + +* Add ^S search modifier (github #196). + +* Add --wordwrap option (github #113). + +* Add --no-vbell option (github #304). + +* Add --no-search-headers option (github #44). + +* Add --modelines option (github #89). + +* Add --intr option (github #224). + +* Add --proc-backspace, --proc-tab and --proc-return options (github #335). + +* Add --show-preproc-errors option (github #258). + +* Add LESS_LINES and LESS_COLUMNS environment variables (github #84). + +* Add LESS_DATA_DELAY environment variable (github #337). + +* Allow empty "lines" field in --header option. + +* Update Unicode tables. + +* Improve ability of ^X to interrupt F command (github #49). + +* Status column (-J) shows off-screen matches. + +* Parenthesized sub-patterns in searches are colored with unique colors, + if supported by the regular expression library (github #196). + +* Don't allow opening a tty as file input unless -f is set (github #309). + +* Don't require newline input after +&... option (github #339). + +* Fix incorrect handling of some Private Use Unicode characters. + +* Fix ANSI color bug when overstriking with colored chars (github #276). + +* Fix compiler const warning (github #279). + +* Fix signal race in iread (github #280). + +* Fix reading procfs files on Linux (github #282). + +* Fix --ignore-case with ctrl-R (no regex) search (github #300). + +* Fix bug doing repeat search after setting & filter (github #299). + +* Fix bug doing repeat search before non-repeat search. + +* Fix crash with -R and certain line lengths (github #338). + +* Fix input of Windows dead keys (github #352). + +* Don't retain search options from a cancelled search (github #302). + +* Don't call realpath on fake filenames like "-" (github #289). + +* Implement lesstest test suite. + +* Convert function parameter definitions from K&R to C89 (github #316). + ====================================================================== Major changes between "less" versions 590 and 608 @@ -241,7 +312,7 @@ * Update Unicode tables to 2017-03-08. -* Pass-thru Unicode formating chars (Cf type) instead of treating them +* Pass-thru Unicode formatting chars (Cf type) instead of treating them as binary chars. But treat them as binary if -U is set. * Fix erroneous binary file warning when UTF-8 file contains ANSI SGR sequences. @@ -433,7 +504,7 @@ * Fix problem interrupting the line number calculation for initial prompt. -* Fix SGR emulation when dealing with multiple attributes (eg. bold+underline). +* Fix SGR emulation when dealing with multiple attributes (e.g. bold+underline). * Fix highlight bug when searching for underlined/overstruck text. @@ -515,7 +586,7 @@ * The -c option has been made identical with the -C option. -* Allow "/dev/null" as synomym for "-" in LESSHISTFILE to indicate +* Allow "/dev/null" as synonym for "-" in LESSHISTFILE to indicate that no history file should be used. * Search can now find text which follows a null byte, if the PCRE @@ -665,7 +736,7 @@ * Improved performance in reading very large pipes. -* Eliminated some dependencies on file offets being 32 bits. +* Eliminated some dependencies on file offsets being 32 bits. * Fixed problems when viewing files with very long lines. diff --git a/contrib/less/brac.c b/contrib/less/brac.c index 58ecf172ae4e..da4efab8605e 100644 --- a/contrib/less/brac.c +++ b/contrib/less/brac.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2022 Mark Nudelman + * Copyright (C) 1984-2023 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -23,12 +23,7 @@ * The characters which serve as "open bracket" and * "close bracket" are given. */ - public void -match_brac(obrac, cbrac, forwdir, n) - int obrac; - int cbrac; - int forwdir; - int n; +public void match_brac(char obrac, char cbrac, int forwdir, int n) { int c; int nest; diff --git a/contrib/less/ch.c b/contrib/less/ch.c index bfad09c719f6..b297e7483e7b 100644 --- a/contrib/less/ch.c +++ b/contrib/less/ch.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2022 Mark Nudelman + * Copyright (C) 1984-2023 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -20,14 +20,11 @@ #include #endif -#if HAVE_STAT_INO -#include -extern dev_t curr_dev; -extern ino_t curr_ino; -#endif - #if HAVE_PROCFS #include +#if HAVE_LINUX_MAGIC_H +#include +#endif #endif typedef POSITION BLOCKNUM; @@ -133,6 +130,7 @@ extern int sigs; extern int secure; extern int screen_trashed; extern int follow_mode; +extern int waiting_for_data; extern constant char helpdata[]; extern constant int size_helpdata; extern IFILE curr_ifile; @@ -147,13 +145,12 @@ static int ch_addbuf(); /* * Get the character pointed to by the read pointer. */ - int -ch_get(VOID_PARAM) +static int ch_get(void) { struct buf *bp; struct bufnode *bn; int n; - int slept; + int read_again; int h; POSITION pos; POSITION len; @@ -172,11 +169,10 @@ ch_get(VOID_PARAM) return bp->data[ch_offset]; } - slept = FALSE; - /* * Look for a buffer holding the desired block. */ + waiting_for_data = FALSE; h = BUFHASH(ch_block); FOR_BUFS_IN_CHAIN(h, bn) { @@ -225,149 +221,139 @@ ch_get(VOID_PARAM) BUF_HASH_INS(bn, h); /* Insert into new hash chain. */ } - read_more: - pos = (ch_block * LBUFSIZE) + bp->datasize; - if ((len = ch_length()) != NULL_POSITION && pos >= len) - /* - * At end of file. - */ - return (EOI); - - if (pos != ch_fpos) + for (;;) { + pos = (ch_block * LBUFSIZE) + bp->datasize; + if ((len = ch_length()) != NULL_POSITION && pos >= len) + /* + * At end of file. + */ + return (EOI); + + if (pos != ch_fpos) + { + /* + * Not at the correct position: must seek. + * If input is a pipe, we're in trouble (can't seek on a pipe). + * Some data has been lost: just return "?". + */ + if (!(ch_flags & CH_CANSEEK)) + return ('?'); + if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK) + { + error("seek error", NULL_PARG); + clear_eol(); + return (EOI); + } + ch_fpos = pos; + } + /* - * Not at the correct position: must seek. - * If input is a pipe, we're in trouble (can't seek on a pipe). - * Some data has been lost: just return "?". + * Read the block. + * If we read less than a full block, that's ok. + * We use partial block and pick up the rest next time. */ - if (!(ch_flags & CH_CANSEEK)) - return ('?'); - if (lseek(ch_file, (off_t)pos, SEEK_SET) == BAD_LSEEK) + if (ch_ungotchar != -1) { - error("seek error", NULL_PARG); - clear_eol(); - return (EOI); + bp->data[bp->datasize] = ch_ungotchar; + n = 1; + ch_ungotchar = -1; + } else if (ch_flags & CH_HELPFILE) + { + bp->data[bp->datasize] = helpdata[ch_fpos]; + n = 1; + } else + { + n = iread(ch_file, &bp->data[bp->datasize], + (unsigned int)(LBUFSIZE - bp->datasize)); } - ch_fpos = pos; - } - - /* - * Read the block. - * If we read less than a full block, that's ok. - * We use partial block and pick up the rest next time. - */ - if (ch_ungotchar != -1) - { - bp->data[bp->datasize] = ch_ungotchar; - n = 1; - ch_ungotchar = -1; - } else if (ch_flags & CH_HELPFILE) - { - bp->data[bp->datasize] = helpdata[ch_fpos]; - n = 1; - } else - { - n = iread(ch_file, &bp->data[bp->datasize], - (unsigned int)(LBUFSIZE - bp->datasize)); - } - if (n == READ_INTR) - return (EOI); - if (n < 0) - { + read_again = FALSE; + if (n == READ_INTR) + { + ch_fsize = pos; + return (EOI); + } + if (n == READ_AGAIN) + { + read_again = TRUE; + n = 0; + } + if (n < 0) + { #if MSDOS_COMPILER==WIN32C - if (errno != EPIPE) + if (errno != EPIPE) #endif - { - error("read error", NULL_PARG); - clear_eol(); + { + error("read error", NULL_PARG); + clear_eol(); + } + n = 0; } - n = 0; - } #if LOGFILE - /* - * If we have a log file, write the new data to it. - */ - if (!secure && logfile >= 0 && n > 0) - write(logfile, (char *) &bp->data[bp->datasize], n); + /* + * If we have a log file, write the new data to it. + */ + if (!secure && logfile >= 0 && n > 0) + write(logfile, (char *) &bp->data[bp->datasize], n); #endif - ch_fpos += n; - bp->datasize += n; + ch_fpos += n; + bp->datasize += n; - /* - * If we have read to end of file, set ch_fsize to indicate - * the position of the end of file. - */ - if (n == 0) - { - ch_fsize = pos; - if (ignore_eoi) + if (n == 0) { - /* - * We are ignoring EOF. - * Wait a while, then try again. - */ - if (!slept) - { - PARG parg; - parg.p_string = wait_message(); - ierror("%s", &parg); - } - sleep_ms(2); /* Reduce system load */ - slept = TRUE; - -#if HAVE_STAT_INO - if (follow_mode == FOLLOW_NAME) + /* Either end of file or no data available. + * read_again indicates the latter. */ + if (!read_again) + ch_fsize = pos; + if (ignore_eoi || read_again) { - /* See whether the file's i-number has changed, - * or the file has shrunk. - * If so, force the file to be closed and - * reopened. */ - struct stat st; - POSITION curr_pos = ch_tell(); - int r = stat(get_filename(curr_ifile), &st); - if (r == 0 && (st.st_ino != curr_ino || - st.st_dev != curr_dev || - (curr_pos != NULL_POSITION && st.st_size < curr_pos))) + /* Wait a while, then try again. */ + if (!waiting_for_data) { - /* screen_trashed=2 causes - * make_display to reopen the file. */ - screen_trashed = 2; - return (EOI); + PARG parg; + parg.p_string = wait_message(); + ixerror("%s", &parg); + waiting_for_data = TRUE; } + sleep_ms(50); /* Reduce system load */ } -#endif + if (ignore_eoi && follow_mode == FOLLOW_NAME && curr_ifile_changed()) + { + /* screen_trashed=2 causes make_display to reopen the file. */ + screen_trashed = 2; + return (EOI); + } + if (sigs) + return (EOI); } - if (sigs) - return (EOI); - } - found: - if (ch_bufhead != bn) - { - /* - * Move the buffer to the head of the buffer chain. - * This orders the buffer chain, most- to least-recently used. - */ - BUF_RM(bn); - BUF_INS_HEAD(bn); + found: + if (ch_bufhead != bn) + { + /* + * Move the buffer to the head of the buffer chain. + * This orders the buffer chain, most- to least-recently used. + */ + BUF_RM(bn); + BUF_INS_HEAD(bn); - /* - * Move to head of hash chain too. - */ - BUF_HASH_RM(bn); - BUF_HASH_INS(bn, h); - } + /* + * Move to head of hash chain too. + */ + BUF_HASH_RM(bn); + BUF_HASH_INS(bn, h); + } - if (ch_offset >= bp->datasize) + if (ch_offset < bp->datasize) + break; /* * After all that, we still don't have enough data. * Go back and try again. */ - goto read_more; - + } return (bp->data[ch_offset]); } @@ -375,9 +361,7 @@ ch_get(VOID_PARAM) * ch_ungetchar is a rather kludgy and limited way to push * a single char onto an input file descriptor. */ - public void -ch_ungetchar(c) - int c; +public void ch_ungetchar(int c) { if (c != -1 && ch_ungotchar != -1) error("ch_ungetchar overrun", NULL_PARG); @@ -389,8 +373,7 @@ ch_ungetchar(c) * Close the logfile. * If we haven't read all of standard input into it, do that now. */ - public void -end_logfile(VOID_PARAM) +public void end_logfile(void) { static int tried = FALSE; @@ -415,8 +398,7 @@ end_logfile(VOID_PARAM) * Invoked from the - command; see toggle_option(). * Write all the existing buffered data to the log file. */ - public void -sync_logfile(VOID_PARAM) +public void sync_logfile(void) { struct buf *bp; struct bufnode *bn; @@ -452,9 +434,7 @@ sync_logfile(VOID_PARAM) /* * Determine if a specific block is currently in one of the buffers. */ - static int -buffered(block) - BLOCKNUM block; +static int buffered(BLOCKNUM block) { struct buf *bp; struct bufnode *bn; @@ -474,9 +454,7 @@ buffered(block) * Seek to a specified position in the file. * Return 0 if successful, non-zero if can't seek there. */ - public int -ch_seek(pos) - POSITION pos; +public int ch_seek(POSITION pos) { BLOCKNUM new_block; POSITION len; @@ -513,8 +491,7 @@ ch_seek(pos) /* * Seek to the end of the file. */ - public int -ch_end_seek(VOID_PARAM) +public int ch_end_seek(void) { POSITION len; @@ -540,8 +517,7 @@ ch_end_seek(VOID_PARAM) /* * Seek to the last position in the file that is currently buffered. */ - public int -ch_end_buffer_seek(VOID_PARAM) +public int ch_end_buffer_seek(void) { struct buf *bp; struct bufnode *bn; @@ -568,8 +544,7 @@ ch_end_buffer_seek(VOID_PARAM) * We may not be able to seek there if input is a pipe and the * beginning of the pipe is no longer buffered. */ - public int -ch_beg_seek(VOID_PARAM) +public int ch_beg_seek(void) { struct bufnode *bn; struct bufnode *firstbn; @@ -600,8 +575,7 @@ ch_beg_seek(VOID_PARAM) /* * Return the length of the file, if known. */ - public POSITION -ch_length(VOID_PARAM) +public POSITION ch_length(void) { if (thisfile == NULL) return (NULL_POSITION); @@ -617,8 +591,7 @@ ch_length(VOID_PARAM) /* * Return the current position in the file. */ - public POSITION -ch_tell(VOID_PARAM) +public POSITION ch_tell(void) { if (thisfile == NULL) return (NULL_POSITION); @@ -628,8 +601,7 @@ ch_tell(VOID_PARAM) /* * Get the current char and post-increment the read pointer. */ - public int -ch_forw_get(VOID_PARAM) +public int ch_forw_get(void) { int c; @@ -651,8 +623,7 @@ ch_forw_get(VOID_PARAM) /* * Pre-decrement the read pointer and get the new current char. */ - public int -ch_back_get(VOID_PARAM) +public int ch_back_get(void) { if (thisfile == NULL) return (EOI); @@ -674,15 +645,14 @@ ch_back_get(VOID_PARAM) * Set max amount of buffer space. * bufspace is in units of 1024 bytes. -1 mean no limit. */ - public void -ch_setbufspace(bufspace) - int bufspace; +public void ch_setbufspace(int bufspace) { if (bufspace < 0) maxbufs = -1; else { - maxbufs = ((bufspace * 1024) + LBUFSIZE-1) / LBUFSIZE; + int lbufk = LBUFSIZE / 1024; + maxbufs = bufspace / lbufk + (bufspace % lbufk != 0); if (maxbufs < 1) maxbufs = 1; } @@ -691,8 +661,7 @@ ch_setbufspace(bufspace) /* * Flush (discard) any saved file state, including buffer contents. */ - public void -ch_flush(VOID_PARAM) +public void ch_flush(void) { struct bufnode *bn; @@ -765,8 +734,7 @@ ch_flush(VOID_PARAM) * Allocate a new buffer. * The buffer is added to the tail of the buffer chain. */ - static int -ch_addbuf(VOID_PARAM) +static int ch_addbuf(void) { struct buf *bp; struct bufnode *bn; @@ -790,8 +758,7 @@ ch_addbuf(VOID_PARAM) /* * */ - static void -init_hashtbl(VOID_PARAM) +static void init_hashtbl(void) { int h; @@ -805,8 +772,7 @@ init_hashtbl(VOID_PARAM) /* * Delete all buffers for this file. */ - static void -ch_delbufs(VOID_PARAM) +static void ch_delbufs(void) { struct bufnode *bn; @@ -823,9 +789,7 @@ ch_delbufs(VOID_PARAM) /* * Is it possible to seek on a file descriptor? */ - public int -seekable(f) - int f; +public int seekable(int f) { #if MSDOS_COMPILER extern int fd0; @@ -845,8 +809,7 @@ seekable(f) * Force EOF to be at the current read position. * This is used after an ignore_eof read, during which the EOF may change. */ - public void -ch_set_eof(VOID_PARAM) +public void ch_set_eof(void) { if (ch_fsize != NULL_POSITION && ch_fsize < ch_fpos) ch_fsize = ch_fpos; @@ -856,10 +819,7 @@ ch_set_eof(VOID_PARAM) /* * Initialize file state for a new file. */ - public void -ch_init(f, flags) - int f; - int flags; +public void ch_init(int f, int flags) { /* * See if we already have a filestate for this file. @@ -896,8 +856,7 @@ ch_init(f, flags) /* * Close a filestate. */ - public void -ch_close(VOID_PARAM) +public void ch_close(void) { int keepstate = FALSE; @@ -939,8 +898,7 @@ ch_close(VOID_PARAM) /* * Return ch_flags for the current file. */ - public int -ch_getflags(VOID_PARAM) +public int ch_getflags(void) { if (thisfile == NULL) return (0); @@ -948,8 +906,7 @@ ch_getflags(VOID_PARAM) } #if 0 - public void -ch_dump(struct filestate *fs) +static void ch_dump(struct filestate *fs) { struct buf *bp; struct bufnode *bn; diff --git a/contrib/less/charset.c b/contrib/less/charset.c index 5e9a2d6427b8..881ebafd02cf 100644 --- a/contrib/less/charset.c +++ b/contrib/less/charset.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2022 Mark Nudelman + * Copyright (C) 1984-2023 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -21,6 +21,7 @@ #endif #include "charset.h" +#include "xbuf.h" #if MSDOS_COMPILER==WIN32C #define WIN32_LEAN_AND_MEAN @@ -123,6 +124,108 @@ static char *binfmt = NULL; static char *utfbinfmt = NULL; public int binattr = AT_STANDOUT|AT_COLOR_BIN; +static struct xbuffer user_wide_array; +static struct xbuffer user_ubin_array; +static struct xbuffer user_compose_array; +static struct xbuffer user_prt_array; +static struct wchar_range_table user_wide_table; +static struct wchar_range_table user_ubin_table; +static struct wchar_range_table user_compose_table; +static struct wchar_range_table user_prt_table; + +/* + * Set a wchar_range_table to the table in an xbuffer. + */ +static void wchar_range_table_set(struct wchar_range_table *tbl, struct xbuffer *arr) +{ + tbl->table = (struct wchar_range *) arr->data; + tbl->count = arr->end / sizeof(struct wchar_range); +} + +/* + * Skip over a "U" or "U+" prefix before a hex codepoint. + */ +static char * skip_uprefix(char *s) +{ + if (*s == 'U' || *s == 'u') + if (*++s == '+') ++s; + return s; +} + +/* + * Parse a dash-separated range of hex values. + */ +static void wchar_range_get(char **ss, struct wchar_range *range) +{ + char *s = skip_uprefix(*ss); + range->first = lstrtoul(s, &s, 16); + if (s[0] == '-') + { + s = skip_uprefix(&s[1]); + range->last = lstrtoul(s, &s, 16); + } else + { + range->last = range->first; + } + *ss = s; +} + +/* + * Parse the LESSUTFCHARDEF variable. + */ +static void ichardef_utf(char *s) +{ + xbuf_init(&user_wide_array); + xbuf_init(&user_ubin_array); + xbuf_init(&user_compose_array); + xbuf_init(&user_prt_array); + + if (s != NULL) + { + while (s[0] != '\0') + { + struct wchar_range range; + wchar_range_get(&s, &range); + if (range.last == 0) + { + error("invalid hex number(s) in LESSUTFCHARDEF", NULL_PARG); + quit(QUIT_ERROR); + } + if (*s++ != ':') + { + error("missing colon in LESSUTFCHARDEF", NULL_PARG); + quit(QUIT_ERROR); + } + switch (*s++) + { + case 'b': + xbuf_add_data(&user_ubin_array, (unsigned char *) &range, sizeof(range)); + break; + case 'c': + xbuf_add_data(&user_compose_array, (unsigned char *) &range, sizeof(range)); + break; + case 'w': + xbuf_add_data(&user_wide_array, (unsigned char *) &range, sizeof(range)); + xbuf_add_data(&user_prt_array, (unsigned char *) &range, sizeof(range)); + break; + case 'p': case '.': + xbuf_add_data(&user_prt_array, (unsigned char *) &range, sizeof(range)); + break; + case '\0': + s--; + break; + default: + /* Ignore unknown character attribute. */ + break; + } + if (s[0] == ',') ++s; + } + } + wchar_range_table_set(&user_wide_table, &user_wide_array); + wchar_range_table_set(&user_ubin_table, &user_ubin_array); + wchar_range_table_set(&user_compose_table, &user_compose_array); + wchar_range_table_set(&user_prt_table, &user_prt_array); +} /* * Define a charset, given a description string. @@ -138,9 +241,7 @@ public int binattr = AT_STANDOUT|AT_COLOR_BIN; * b binary character * c control character */ - static void -ichardef(s) - char *s; +static void ichardef(char *s) { char *cp; int n; @@ -165,10 +266,12 @@ ichardef(s) case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - n = (10 * n) + (s[-1] - '0'); + if (ckd_mul(&n, n, 10) || ckd_add(&n, n, s[-1] - '0')) + goto invalid_chardef; continue; default: + invalid_chardef: error("invalid chardef", NULL_PARG); quit(QUIT_ERROR); /*NOTREACHED*/ @@ -195,10 +298,7 @@ ichardef(s) * Define a charset, given a charset name. * The valid charset names are listed in the "charsets" array. */ - static int -icharset(name, no_error) - char *name; - int no_error; +static int icharset(char *name, int no_error) { struct charset *p; struct cs_alias *a; @@ -244,8 +344,7 @@ icharset(name, no_error) /* * Define a charset, given a locale name. */ - static void -ilocale(VOID_PARAM) +static void ilocale(void) { int c; @@ -264,12 +363,7 @@ ilocale(VOID_PARAM) /* * Define the printing format for control (or binary utf) chars. */ - public void -setfmt(s, fmtvarptr, attrptr, default_fmt) - char *s; - char **fmtvarptr; - int *attrptr; - char *default_fmt; +public void setfmt(char *s, char **fmtvarptr, int *attrptr, char *default_fmt, int for_printf) { *** 14546 LINES SKIPPED *** From nobody Thu May 18 07:55:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMMjN394Zz3bLmD; Thu, 18 May 2023 07:55: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 4QMMjN2NwQz3HMS; Thu, 18 May 2023 07:55:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684396552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdYiIvcC5cFOWYixe7h5GezX0rW/rqT4PWe3bU2fyB8=; b=x6XkAF50U6NG8mzAh7pwUwEu8AbF0E1Na110xl7RMlMSiLrFSCJKPkWL5aiXP12ixLPjzI AJ/+MGuigvM+BYFH1sLa7IRrH3jKPRiERUvlihlcVPQAMHuDmqeHwB8YeURpNPysQT3Z9p 526/faLGtjUafp/1jElGeay5evnSAup2zmy5QEnrYotSOy5a14iZU2aRLyVkX7U61vzw7F MFJ6ewDLqBeJQUHRfLnyCZFf7hEY7mVKrKRHVjDbH1orv6Ytk04J9nJM+mp4RuifhD68N8 GfB5I7Ut8Tmu4+ctblH2CQ09F/c1yE9N4I1FdpX15ZYHGqFuJT/y64vEqqFk4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684396552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdYiIvcC5cFOWYixe7h5GezX0rW/rqT4PWe3bU2fyB8=; b=p6cqsrUI0RGGb8+b2WCy+pGBYguYjaZQXcJiytleaN2UPYzSIREJlve+GGilABbGnNu2B2 TbK67jJhs/M6h/zCp5WmguKLLNMj9pL/SvYXlayxD+5+IJTyD/vyToCLq3NVCX+W1tm30V G+mGIrqU0mkD/UmIu5ihqlLU/Le3X7DtlDpi7szDRvgbYGKxLytixFtkZXoXFFjNHkBIdW HTY0enljrGapFECzrKGp4UqU7chXbA4z6pQYWoLDgqn6wrM4ZCMWnWrJfnbtEBk0udMe+N rkO4MSzmqF89uLON295ESR2vKB58/SqnvRJPFnqjb1eaLWJyKWC9RFHLshNkAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684396552; a=rsa-sha256; cv=none; b=wQF3YTQq4Pokm13kj5Ra/ohqD7Gfo963xWfCSFSUh14ch0/CHK0PjjtMpyRW1YN3cEU18N hClGRFksokutMvTUu263PWLNNe7g2VI1Q7p0pr5pE0B++pgS29DH8733xiIiUNmIDtGsi/ Iw9DMOT/7kEUwMoPiyeaxZWRisq/WXkyuTMidq9TA2B7q6bmEz6lfMlDA61zp73tLYBATW yZgULUlDSGFLMiD7JqwBNMbtUB600ERoBdOtFl647Qs+HwTwTAUf5qNKmY/hWYUFhJT6Ki 54JNxBKwoz33WBOyOlkxhra7HTyYHsgo7F+AfZy1pzG/qUOu4pp7ksIUUXPcFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMMjN1L59zddS; Thu, 18 May 2023 07:55:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34I7tqAF012789; Thu, 18 May 2023 07:55:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34I7tqvt012788; Thu, 18 May 2023 07:55:52 GMT (envelope-from git) Date: Thu, 18 May 2023 07:55:52 GMT Message-Id: <202305180755.34I7tqvt012788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 0f62290e7f74 - main - linux(4): Check fd passed to unlockpt() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f62290e7f749b7a453d413dd72c406129a9aba5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=0f62290e7f749b7a453d413dd72c406129a9aba5 commit 0f62290e7f749b7a453d413dd72c406129a9aba5 Author: Dmitry Chagin AuthorDate: 2023-05-18 07:55:39 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-18 07:55:39 +0000 linux(4): Check fd passed to unlockpt() In our implementation, grantpt() and unlockpt() don't actually have any use, because PTY's are created on the fly and already have proper permissions upon creation. Atleast check that a proper fd passed to unlockpt(). For grantpt() Glibc calls TIOCGPTN ioctl which would fail if fd is not a master. Differential Revision: https://reviews.freebsd.org/D40100 MFC after: 1 week --- sys/compat/linux/linux_ioctl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/compat/linux/linux_ioctl.c b/sys/compat/linux/linux_ioctl.c index 4583d4bd6784..5e7446f0dfaa 100644 --- a/sys/compat/linux/linux_ioctl.c +++ b/sys/compat/linux/linux_ioctl.c @@ -1009,8 +1009,12 @@ linux_ioctl_termio(struct thread *td, struct linux_ioctl_args *args) error = ENOIOCTL; break; case LINUX_TIOCSPTLCK: - /* Our unlockpt() does nothing. */ - error = 0; + /* + * Our unlockpt() does nothing. Check that fd refers + * to a pseudo-terminal master device. + */ + args->cmd = TIOCPTMASTER; + error = (sys_ioctl(td, (struct ioctl_args *)args)); break; default: error = ENOIOCTL; From nobody Thu May 18 14:20:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMXDf75lQz4Bd6b; Thu, 18 May 2023 14:20: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 4QMXDf6VV8z4FD1; Thu, 18 May 2023 14:20:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684419602; h=from:from:reply-to:subject:subject: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/VGz8/ySBFNpc2Jet5C8pU0TNYXf5ADW5Y6NhGF/Ko=; b=bQ5cfPD0zYbOZzbRkjznzyuD2m/3DhtmQK6NOrDu3fxVYYTEo7nA8yDmx4GflXAX6LOrUa bgic7wyvPDVE8zd4ksC2116mPDth8zrkGvrfYLqLcvgcJHJopJd/kC9xvJyy7fCHVvSL4J Ihxuo9TH0nbWPuFtYxT28JutTsY3D0ddRbz3pGUgQ3NFjYujpwIKta2LVrYNwvLTUe07LO PgY7zZCcSMZSEbk7bg6w4/CZbhPs8sQTMtN67pw2gH4uW8voLhVDivUCDBdxiX2fYPuwqB Ng73ozWbgJyKO9fZh+tJYyHMaRcKTeE1XhXzY728Y36klJfid2GdJbcp2SP5HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684419602; h=from:from:reply-to:subject:subject: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/VGz8/ySBFNpc2Jet5C8pU0TNYXf5ADW5Y6NhGF/Ko=; b=jkCH8jYTrqd78GWWeTFLsMWRVepLVazNmS3sR6aQkwA7NG7VnoBXof3BpIccAOYW141DlX PMLsl9D7YuWfnzPIJRtGaEvsyeJvgTB9h6FVS447bTl/gnaBITTDfVkluke/T28eoMuFPC OrqDEcdXckURWu8xKXYKRARR0VkMb6Vz1nxWkYyL6k9mvhdLHutuJoC9LU+T4xscvCh588 WorMYA7Stzh++/2RyF4tcFzncAEfvm4nSgXXmhkKhheUbKDFg2qcRIY/0vcBRidYJIFABF BNL5qM/fCOw706NjGeYlngrP21Tph6WFAfiD+dCRejCvBL2gmCDpMArcteUbfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684419602; a=rsa-sha256; cv=none; b=A2x+XZB2UbJsP0Pk0siGzTwf6mnKTMj9/dmKFxbqG3mLna6/KT355KybZOwDE8BYckCcvy 2IId8S99fiTHgYNqN2d0mhQxxPigCCBKoyhjW7pqDY42FjSDd+XzwkZpiDepvF5+YRu6lz 6kuBWxQwNzOu9WSw1k5+vhy9vO2J535xK5aen2LrmGDHEgQRgUYXbq0aRqfY0xzl5Aa3Mx +vg9zCBR04cFba5e9Ei82VwG0w/yCb2znmizXywBDY+zAUSTapWVyZAv/0b6h2+Rg2DVB2 btSokf/oLJZpmcT12B9jesMHIRLzvv4o1hXuU5CBbHvXm8u3ZrIgpkG0sBhrpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMXDf5T9CzpJF; Thu, 18 May 2023 14:20:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IEK26j041444; Thu, 18 May 2023 14:20:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IEK2ov041441; Thu, 18 May 2023 14:20:02 GMT (envelope-from git) Date: Thu, 18 May 2023 14:20:02 GMT Message-Id: <202305181420.34IEK2ov041441@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 668c406ce567 - stable/13 - UPDATING: Update release name and handbook link List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 668c406ce567fb786a693153c2d8b25bfb217415 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=668c406ce567fb786a693153c2d8b25bfb217415 commit 668c406ce567fb786a693153c2d8b25bfb217415 Author: Graham Perrin AuthorDate: 2023-05-18 14:13:04 +0000 Commit: Warner Losh CommitDate: 2023-05-18 14:18:43 +0000 UPDATING: Update release name and handbook link Pull-Request: https://github.com/freebsd/freebsd-src/pull/714 Reviewed-by: imp --- UPDATING | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/UPDATING b/UPDATING index d2c07cf5a80b..2ca07499ff00 100644 --- a/UPDATING +++ b/UPDATING @@ -1,4 +1,4 @@ - Updating Information for FreeBSD stable/13 users. + Updating Information for users of FreeBSD stable/13. This file is maintained and copyrighted by M. Warner Losh . See end of file for further details. For commonly done items, please see the @@ -6,7 +6,7 @@ COMMON ITEMS: section later in the file. These instructions assume that you basically know what you are doing. If not, then please consult the FreeBSD handbook: - https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html + https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages From nobody Thu May 18 15:21:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMYbD3xRkz4Bgc9; Thu, 18 May 2023 15:21:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QMYbC5wZ4z4L4l; Thu, 18 May 2023 15:21:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684423271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=48OSou+g3/29/5aUdJtT2s4LDy08wM6jIVb2f55xuVA=; b=mshSCxGMRwkAM9uPhy4MeHUZvR9fsAJDtipBdwvXCEV6aTw+tNZ4ZxCE/P3w7fh7TZWpkW X+0Te2+qGEhrER13e8Pr4usTGuZ1jmywYoCQ9s/+IyRcv0L+RaoolN0uDe1z8urOR/kmtF jTaS3+Hi4ALZ1kwcAud0I4PyoBzsMTVZVGP1kigdXydvT5XIm+kRqwtwNBuHzciVi6aX0d Nwhhy+s8Q4wqvreKr3JwNqJjYe21nNPYGc0TMYtUttMLISGwxrHEdYKqmH+ikg7MVZtpit chIEldplrV/UGTHerElNwboT81WzFtKdpU9ZfFL5QUN7PVuxRufX0bJhwwRBCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684423271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=48OSou+g3/29/5aUdJtT2s4LDy08wM6jIVb2f55xuVA=; b=QPqfTzbVtH+MdVdk5j41LTzN0eVMcFzwYXcTab49x7I3XHvMwYZtbamwllHXk73bl8VmMs NMIZOZ6OqL0vp4HwOEJr+EJ1EMt196U/gxKNIDc8e89KYnv5mdkI6InAgB7CvAHQPixl+U 70EfNRzKl5Vb6/COx3sBVrUSRv9s4g4z8MAJwylQrnNX73/vvuyKlBZyAR7b/gt18D9Ews IU8mQY/tjtviBhbB289cvchSwx6C/RXO2XPpMZkjHKPvI1rZE6SNFyvgTjCcnJKM+91u6z jQO4aNbAVCQ8W9Wpvcwel4fnSN+p+mHQrcWQMJSl1KnHK7BqeavQkBfP8or5NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684423271; a=rsa-sha256; cv=none; b=eCN6NxQrFWg7lG4kOilxJqRQnj7/72BfSAkOLLTlTftZ+NW8X8B89fPWOHb8YvbSWKkjgx bIY6uPOo0eo1ENwOgEnb3Y8C/pZUHSHfOgvRmLxhkGGnTzt743GI04pkc0SYjMqkHb+Eyw B5ICjrd9dN046kNjGjvWRm1cq0BSSj+vzLB+YXzKrrRcXP8FrPMYm14m6N27ly7f0Oo5Qv nPwMF5KeQkqQP4jx7EpTAHNXdw357EPISTrp6Lu9TxbBnX6q1MlZjcILjZMtOH11a8U4vd b0oBYSK4kEA/lhGNeJzPEsxJ06EtgonCmmu1I35qxXs7M1rHDChYq1AgDeu1Ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMYbC508fzr25; Thu, 18 May 2023 15:21:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IFLBBj048672; Thu, 18 May 2023 15:21:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IFLBhX048670; Thu, 18 May 2023 15:21:11 GMT (envelope-from git) Date: Thu, 18 May 2023 15:21:11 GMT Message-Id: <202305181521.34IFLBhX048670@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: dc5361ea16bf - main - rc.d/netif: Don't DAD if lo0 is the only IPv6 IF List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc5361ea16bf5bffab43823eb128f4081f0a5097 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=dc5361ea16bf5bffab43823eb128f4081f0a5097 commit dc5361ea16bf5bffab43823eb128f4081f0a5097 Author: Colin Percival AuthorDate: 2023-05-18 03:17:24 +0000 Commit: Colin Percival CommitDate: 2023-05-18 15:20:15 +0000 rc.d/netif: Don't DAD if lo0 is the only IPv6 IF The code in rc.d/netif waiting for IPv6 Duplicate Address Detection if any network interfaces support IPv6. Unfortunately, since lo0 *always* has IPv6 enabled, this means unconditionally sleeping, even on systems which have no external IPv6 interfaces. Since we presume that there is little risk of a duplicate address being assigned on lo0, amend the test to wait only if there is an interface *other than lo0* which supports IPv6. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D40141 --- libexec/rc/rc.d/netif | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/netif b/libexec/rc/rc.d/netif index 1a2fe0b73589..ba6b43917378 100755 --- a/libexec/rc/rc.d/netif +++ b/libexec/rc/rc.d/netif @@ -215,7 +215,7 @@ netif_common() esac if ${_func} ${ifn} $2; then _ok="${_ok} ${ifn}" - if ipv6if ${ifn}; then + if ipv6if ${ifn} && [ "${ifn}" != "lo0" ]; then _dadwait=1 fi else From nobody Thu May 18 15:24:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMYgK27tkz4Bh8h; Thu, 18 May 2023 15:24: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 4QMYgK1XTlz4Ld5; Thu, 18 May 2023 15:24:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684423485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bV86ibr1pPq+J5vj25eLu77lqK+DnadqowEONN+y+qM=; b=IAq9RDi56TjD9WQAhUrbq2K/b1fkd8OKgjw8rOa09/B1VZoNfkOaaol6ajpv1cunBgKYcL zy+qtqwnyQT59gYQ46TifoJi4unHBVMPyihZftGTgR1fysj6AN/wpAr5vv4dUu63mHr0tj akIJPVRVlVEeXMx2sSWjxXqnEecJBFW0J4Vvpr3uhbVoxtAX1Ae4fCd1tNqL2FaS4JNseE HUac1uuWB5ZQH6EKeAb6NlsffvTwbbsUNM5hYvnGX0wrulNqA9tZmNwEF0GCKH9iQVIbu+ xd9b4nM7ZHZHdn3oYc+cIpxaXkuec2J3C+CkKNbk3E/670WEOEUzzu4btsyFVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684423485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bV86ibr1pPq+J5vj25eLu77lqK+DnadqowEONN+y+qM=; b=ZdweUx50wsUNVWKZMUHfMvyVaL4r5X2EWIxQ0XaeGpb3HwPoTSYMidQCrzjl1v1C1uuYkv wJxodeSBlTsy0CclhEYldMxvoDJ8PTj90xaBAmyXq5o6iQuYc/UAMqQ9hDUtfJ1IjoeUwe 9ongFmX7OF68IU4dCdsyU/k/2UYWGfijCzBdtUFkitAXEajbrMeOjxQbGxxzTPrFv3YfvD eoKX0iF6QqNp7/0tA9qtxyQg63vgFWCGdaPAJRGr7X+flQRUGxUHJQOzdny0AZ4PFCH3zw TdmUqe+yANawefLnot1L+8nBb3XoLA3ReZXeNn/qOeE5m1IMAJc1SPcKTLrUbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684423485; a=rsa-sha256; cv=none; b=dut/tXxEzGqlcuWamj+KhJ9WfmxBf/aGTOZfl4GIj364ZebwZX+Xk0T8LZp4+uzDsGEGdy zTM/3Cp/CYaSWkINyL4ReN4SiV8RjHLVXAT5xzRWF/X4YeutOFymqxnbyBYdKXUMxOv6hH ixqCCSn6kLd7ERVeUL9d4s6UPjPlu89WiItsLPtV5y8gsx9/Juyq+DZBCzY+iboXIOtHAA KS85A4oa97fiYEW++sMMqM3CXKRzbz7GGBLfqFNErrcsCif2GxF5CAviDDgqBaWJLZ+/yc y1MncAvfGcg788r53vsLTQHHnWTWLe1ttFiNfIHfCPdlWamw3t7rBrRFp9Vr5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMYgK0TQwzr5Z; Thu, 18 May 2023 15:24:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IFOiEZ053762; Thu, 18 May 2023 15:24:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IFOiLv053761; Thu, 18 May 2023 15:24:44 GMT (envelope-from git) Date: Thu, 18 May 2023 15:24:44 GMT Message-Id: <202305181524.34IFOiLv053761@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 2e6756b752e0 - main - ifconfig: improve trimming off interface number at end List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e6756b752e07878ae5f5e3e9b74934231f9fd17 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2e6756b752e07878ae5f5e3e9b74934231f9fd17 commit 2e6756b752e07878ae5f5e3e9b74934231f9fd17 Author: Bjoern A. Zeeb AuthorDate: 2023-05-17 20:40:47 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-18 15:22:53 +0000 ifconfig: improve trimming off interface number at end When trying to auto-load a module, we trim the interface number off the end. Currently we stop at the first digit. For interfaces which have numbers in the driver name this does not work well. In the current example ifconfig ath10k0 would load ath(4) instead of ath10k(4). For module/interface names like rtw88[0] we never guess correctly. To improve for the case we can, start trimming off digits from the end rather than the front. Sponsored by: The FreeBSD Foundation Reported by: thierry MFC after: 20 days Reviewed by: melifaro, thierry Differential Revision: https://reviews.freebsd.org/D40137 --- sbin/ifconfig/ifconfig.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 7872c2b336a5..8c3a7b4c0007 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -1752,11 +1752,13 @@ ifmaybeload(struct ifconfig_args *args, const char *name) /* trim the interface number off the end */ strlcpy(ifname, name, sizeof(ifname)); - for (dp = ifname; *dp != 0; dp++) - if (isdigit(*dp)) { - *dp = 0; + dp = ifname + strlen(ifname) - 1; + for (; dp > ifname; dp--) { + if (isdigit(*dp)) + *dp = '\0'; + else break; - } + } /* Either derive it from the map or guess otherwise */ *ifkind = '\0'; From nobody Thu May 18 16:01:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMZTb1xQTz4Bk2w; Thu, 18 May 2023 16:01: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 4QMZTb1Rhkz4PVV; Thu, 18 May 2023 16:01:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684425683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8nnGlHffoA1JXmi0uCxwuVA0i9rqFpFcGTETzPRqgOQ=; b=R5xBLG+uM1BB+S6jojSwhWPk76P7nb0sabl+eHIxxuIXK3p4KCDd+5nWP2AAuGUkPNvDy8 +3KRsKcotiNva89vygcpwZg0GKjMql6AF5RlDSkPd6LGACPgj0FQ/xgompXrX1P69Dx0BU fXW5ShL0kcI2PNMnLIMQYOkOZ6BCuRuK2lvTu6M6aNve5u/Ix9/GMUvqAvoNIt8qJb0w/K vrh7sJRGKxb+0+B9juYevWoM7i1n+Enct2zTm1ZAvsC02X6It5s04LbYV60S2MW6vR6zz2 ijSEjnGi5/ssoy34DrjpuVXe3iF+t9zQnvZeLms9c60aoysl1eMeZu3YEkEfBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684425683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8nnGlHffoA1JXmi0uCxwuVA0i9rqFpFcGTETzPRqgOQ=; b=dj+eC+ccwEsgHMGrlXfeSdZ/P6wygT3VHztamomhdkO2WZ85+OU0i2Ju7v0jL5d6k2RLOS DlHcps1OvDafebkq1TjvlxkRNn26ftz5n1IMwssTndiPbQvxLkmSgPMU7N7JnU5+OR51XH E3q6sdHcjhrLs3AAHULzbRw8H4F85cxeW6n1b+wGfzHiUh0qGsjqli2RaszdiK9B+FCOWe 0lUSyEaq+jDw/L6gTLjsqhJ5GlYP1nIbvcxB/tVIKYPrAT/4hVuwWi2ufNgldcLPL4uvT1 IU1Asra3u7f0/s3kOVc9skkyZOTiKobcJIFCMZuYlGmbqXDfvMAOlOv2eOevaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684425683; a=rsa-sha256; cv=none; b=h0xPq99iVwcxcRJDh9qQ/JYVnEM1T0nU6wgxAl/nr2PX33z+0A2lg28QhcgbSy/TRBZ0Ay MpXgCZaz66Hk/kJ8tcOaljEVCJYjdBwqT3HqCHNVCdY0BrUxRhRPzJg1DaYYarIa2kJ8rI 4DluGvW3//ASUPL4NDsb6LGbn72bsovs2gdeM15XkfCh8SAY0Lg3j3QJqCm7iaoNMc3/Yn k/8pQYW5O+v8IXdy1OfEgAE2+HnMDOa4/xXSFACXafNPKd4rzNUUIL91unZlA4pH3PyBcv ExFGWXIJzZ4FWJPEIKLgI1SIhAu3gZyBFcw/YH9aBhuez7ahQTwKOWupaJkYEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMZTb0X8TzsC1; Thu, 18 May 2023 16:01:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IG1MbQ013673; Thu, 18 May 2023 16:01:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IG1Mgo013672; Thu, 18 May 2023 16:01:22 GMT (envelope-from git) Date: Thu, 18 May 2023 16:01:22 GMT Message-Id: <202305181601.34IG1Mgo013672@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: 2d9d97e66e9e - main - ifconfig: improve error checking for carp peer6 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d9d97e66e9e29de128c21cb676b9661df20dede Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=2d9d97e66e9e29de128c21cb676b9661df20dede commit 2d9d97e66e9e29de128c21cb676b9661df20dede Author: Kristof Provost AuthorDate: 2023-05-17 19:39:42 +0000 Commit: Kristof Provost CommitDate: 2023-05-18 15:47:03 +0000 ifconfig: improve error checking for carp peer6 getaddrinfo() returns 0 if it succeeded, but it's not guaranteed to return 1 on error. Check for success rather than for one specific error. Without this fix commands such as `ifconfig bnxt1 inet6 add vhid 1 peer6 2001:db8::1/64` would segfault ifconfig. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/ifconfig/carp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/carp.c b/sbin/ifconfig/carp.c index aab5f2985328..2a2d8ce407ab 100644 --- a/sbin/ifconfig/carp.c +++ b/sbin/ifconfig/carp.c @@ -237,7 +237,7 @@ setcarp_peer6(const char *val, int d, int s, const struct afswtch *afp) hints.ai_family = AF_INET6; hints.ai_flags = AI_NUMERICHOST; - if (getaddrinfo(val, NULL, &hints, &res) == 1) + if (getaddrinfo(val, NULL, &hints, &res) != 0) errx(1, "Invalid IPv6 address %s", val); memcpy(&carp_addr6, &((struct sockaddr_in6 *)res->ai_addr)->sin6_addr, From nobody Thu May 18 16:01:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMZTc374Cz4BjsK; Thu, 18 May 2023 16:01: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 4QMZTc2JNfz4PgJ; Thu, 18 May 2023 16:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684425684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A5TK+NJLuVyEckKfM1IIXX1uDlap6wygrQjGWJ9sE+Y=; b=PCsd1UvFOQ5Mt9m37o02gyOw1V14/GnptizCm+ymCxnicYYY7K7dpZSn9bxM/vrURcu39C n5yEBipxNdMlSvnQ4gGtr00CKFWj1uPWA8ndPK2JzlSjW+wo6ixyUDXcKcuuF/W3wAIhka mVopJ81z70jQL2l8WYLSDYv1X0mBsvpf8BVsxcd9lasHrj6gRP5HMsr8Rg6QAE5xlw3V2H yfnos6hx5WQbfirN0w9tCJaAqhkkNN0UZh4Utn/i8HWWYY6fTS49voWFMcmhHBcchDqhUp abwNrJMCuWwRr5yNFuFcZ6LsHdWo3upynHpvZF74lQ/OvmFgtpnfI/1o0ETvQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684425684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A5TK+NJLuVyEckKfM1IIXX1uDlap6wygrQjGWJ9sE+Y=; b=Wl0TIvH496VvU0fAsWbG7oAjz8rGYJNJeI8llpggEI5+1QBHNrda+TJfwMRdZDADtUb+VO nY7VFBwoBxXIlTFksBEgh86lI1ebLpy1XlU4BrNrSS+YLdVUFSNYh3kypNQYtfr7aV99UL J3qg8cQBQEEgWdEZ/p9u1TjVHkfJ9D/mUsNymJT/Hl5AG8Oax0QJTGUcDGR2CL/FNf8i1f gHgigtj7b+Vz3UFgfBwnQxGxg4CMg5ju5VCguejuTq9Ehd3NrQGENL5cmz2zYQ8d6mS7lK +gKzxV86soS5jRku0QexyXxVXCUocQpOykLQA73r95dLznnorOOHrUbyoQVdHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684425684; a=rsa-sha256; cv=none; b=YX7zK67JiJQw+ZOujEVo3zd82xPKfQyjnbzO+n0ho+X+D5yNQdNcFL8QCxQzvfyu3MnGpS YPOdw44HdpL3u89p0ijlj+VvhNP8b28QUOcJ4ZWbJccwMCL1cRoGkGD+qK/T6w7G2c2o/L RtfZ4GUPe3JsWLR04SpuCQlD0Rtb5FWypU/e8KfLgwl4DGWh+yOk/52yGeSJZeDwRK9I4C cMkrm28xTTBilVyb1DwB3jZoWmppbc1RuF4JMklPA+kHO1U7fjSV+0JUFrvuezPuqn1a3Y rC9kKpegdridZ7eH4wF+niss0DOpwnfgV5RysR0ze+OAdz8HPUVe/dHB4El3Yw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMZTc1LG9zsC2; Thu, 18 May 2023 16:01:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IG1OFh013698; Thu, 18 May 2023 16:01:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IG1Omf013697; Thu, 18 May 2023 16:01:24 GMT (envelope-from git) Date: Thu, 18 May 2023 16:01:24 GMT Message-Id: <202305181601.34IG1Omf013697@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: c2c28c0fa2e4 - main - carp: fix unicast link-local List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c2c28c0fa2e44caf1671b4dbf94167f686c3c411 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c2c28c0fa2e44caf1671b4dbf94167f686c3c411 commit c2c28c0fa2e44caf1671b4dbf94167f686c3c411 Author: Kristof Provost AuthorDate: 2023-05-18 15:30:39 +0000 Commit: Kristof Provost CommitDate: 2023-05-18 15:47:03 +0000 carp: fix unicast link-local If the peer6 address is a link-local address we have to embed the scopeid, much like we have to for IPv6 multicast as well. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet/ip_carp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 5eb6e0bf5166..935e7eaf92f5 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -1065,7 +1065,8 @@ carp_send_ad_locked(struct carp_softc *sc) /* Set the multicast destination. */ memcpy(&ip6->ip6_dst, &sc->sc_carpaddr6, sizeof(ip6->ip6_dst)); - if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) { + if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) || + IN6_IS_ADDR_LINKLOCAL(&ip6->ip6_dst)) { if (in6_setscope(&ip6->ip6_dst, sc->sc_carpdev, NULL) != 0) { m_freem(m); CARP_DEBUG("%s: in6_setscope failed\n", __func__); From nobody Thu May 18 16:01:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMZTd3Qggz4BkN2; Thu, 18 May 2023 16:01: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 4QMZTd2yqhz4Pkl; Thu, 18 May 2023 16:01:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684425685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RbeUl0xkbxRRZcd1mUIGcW/FEjhPvf10Ewe4vM2wRqE=; b=w5EGZ/WroGRkg9E0COnD7CXv9lRlle5N5bjpJv9xvUnjMm4ylDYKfFv4MVyEWy5n9XMZfh SepNE+9LVpvmEiG9Y+zzOAMKE6D0R698eDRHIKaarawuogWKALbXGsIu7n3f/81yaIZMLk aR5Sr2C9qtz7prOfdLmwe2cdgvQDpXIs9+J/vXbWilOaqtdPoIyWx4/kOjIm/E3DBimE43 scM0/cTAlM3SK5kLdi/DZ78l+nfBawyX9JGreLhmTHerfW1fq133yuVDNIm97amUO07CR5 3Jjmk/jH/jA0Ygmo1w64D6CW72qT7tTAfiy+dVQe/Pg5SGKap08uuvVpJ9Boig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684425685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RbeUl0xkbxRRZcd1mUIGcW/FEjhPvf10Ewe4vM2wRqE=; b=L7ITFgU+ZpTkEu2HPmC0UQ7UEki+/9U9tcGjHZa1hWE9q9fNqQx7GpnGOfZ8mEeHOb3rCa qgB5CXCrCtS21E01T0k4S/RaBJw4HPYAMne25oT6wXH+aT/5jR2NQU2nhaOP9Q82n1BOXs RqrcVBNjnQZeYNznNKWco0hJV7jBvV+PyoK1brZDl/xirn8oiuTqOxz9psB4nez1Os3L0b 0zQxfK91FxblCfGKvaQQiKc+//sY5+hX2iGJhtwRehKDE/z54mFzW32atTactw+pvwMsIf RwP4V3iZQTmjGOdhWDyOHg907/DDB5QOvkQyW4qYYJ4Dq3sWgcCTFWgY9PjreA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684425685; a=rsa-sha256; cv=none; b=oZOBzVTguDI+Raefz5bFGppyCXxNDPQz7YKCo/gTBfkq5zCFoiBczMO6gtRowHxgdPl2ZT +uZnZ9CgclZ1Tdq4YMwcx87oRnrSyS07QfINJGdlce+jqPHscfj+x2MJxBW1adv0F/ElnY +ZnMsiyJKXywKtn13MgMnJvJI0Q6FGZqXdtqZWO6039LZPbyw8vsH7VWcHmuDthkgvIKo8 7Qp71oYADuXB7vQlNYTOz5O7g2FCZnvDzbfTue90XG/vFvE0E7qg4KK81suuDoZt5qXr5f iLccflLdJWtHgOq2zL6vYWw13gMCLbftp7uE34dM4bF21MjCrsCTgD4GkZ2Cng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMZTd236xzs2P; Thu, 18 May 2023 16:01:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IG1P3e013718; Thu, 18 May 2023 16:01:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IG1Psa013717; Thu, 18 May 2023 16:01:25 GMT (envelope-from git) Date: Thu, 18 May 2023 16:01:25 GMT Message-Id: <202305181601.34IG1Psa013717@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: 33ff01cebc02 - main - carp tests: test unicast carp via link-local addresses List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33ff01cebc0209f59239ded324906cfdfe986341 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=33ff01cebc0209f59239ded324906cfdfe986341 commit 33ff01cebc0209f59239ded324906cfdfe986341 Author: Kristof Provost AuthorDate: 2023-05-18 14:43:46 +0000 Commit: Kristof Provost CommitDate: 2023-05-18 15:47:04 +0000 carp tests: test unicast carp via link-local addresses Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netinet/carp.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index fba69800670a..7508a6996fcd 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -272,6 +272,66 @@ unicast_v6_cleanup() vnet_cleanup } +atf_test_case "unicast_ll_v6" "cleanup" +unicast_ll_v6_head() +{ + atf_set descr 'Unicast CARP test (IPv6, link-local)' + atf_set require.user root +} + +unicast_ll_v6_body() +{ + carp_init + + bridge=$(vnet_mkbridge) + epair_one=$(vnet_mkepair) + epair_two=$(vnet_mkepair) + + vnet_mkjail carp_uni_v6_one ${bridge} ${epair_one}a ${epair_two}a + vnet_mkjail carp_uni_v6_two ${epair_one}b + vnet_mkjail carp_uni_v6_three ${epair_two}b + + jexec carp_uni_v6_one ifconfig ${bridge} addm ${epair_one}a \ + addm ${epair_two}a + jexec carp_uni_v6_one ifconfig ${epair_one}a up + jexec carp_uni_v6_one ifconfig ${epair_two}a up + jexec carp_uni_v6_one ifconfig ${bridge} inet6 2001:db8::0:4/64 up \ + no_dad + jexec carp_uni_v6_one ifconfig ${bridge} inet6 alias 2001:db8:1::1/64 \ + no_dad up + + jexec carp_uni_v6_two ifconfig ${epair_one}b inet6 2001:db8:1::2/64 \ + no_dad up + jexec carp_uni_v6_three ifconfig ${epair_two}b inet6 2001:db8:1::3/64 \ + no_dad up + + ll_one=$(jexec carp_uni_v6_two ifconfig ${epair_one}b | awk "/ .*%${epair_one}b.* / { print \$2 }" | cut -d % -f 1) + ll_two=$(jexec carp_uni_v6_three ifconfig ${epair_two}b | awk "/ .*%${epair_two}b.* / { print \$2 }" | cut -d % -f 1) + + jexec carp_uni_v6_two ifconfig ${epair_one}b inet6 add vhid 1 \ + peer6 ${ll_two} \ + 2001:db8::0:1/64 + jexec carp_uni_v6_three ifconfig ${epair_two}b inet6 add vhid 1 \ + peer6 ${ll_one} \ + 2001:db8::0:1/64 + + # Sanity check + atf_check -s exit:0 -o ignore jexec carp_uni_v6_two \ + ping -6 -c 1 2001:db8:1::3 + + wait_for_carp carp_uni_v6_two ${epair_one}b \ + carp_uni_v6_three ${epair_two}b + + atf_check -s exit:0 -o ignore jexec carp_uni_v6_one \ + ping -6 -c 3 2001:db8::0:1 + +} + +unicast_ll_v6_cleanup() +{ + vnet_cleanup +} + atf_test_case "negative_demotion" "cleanup" negative_demotion_head() { @@ -412,6 +472,7 @@ atf_init_test_cases() atf_add_test_case "unicast_v4" atf_add_test_case "basic_v6" atf_add_test_case "unicast_v6" + atf_add_test_case "unicast_ll_v6" atf_add_test_case "negative_demotion" atf_add_test_case "nd6_ns_source_mac" atf_add_test_case "switch" From nobody Thu May 18 17:02:50 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMbrW1wV4z4Bmq8; Thu, 18 May 2023 17:02: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 4QMbrV6wn8z4VPw; Thu, 18 May 2023 17:02:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HAalQNJJGEBsHldIoQvUX9QNAp2TEziCi2wwI4riUjk=; b=JDwzwsGpNyMBicYHpDQmd0n+ZC/Lc4iC3NUMbfIzuHcc6iiZr2lr1Wsqlyudd2mU0CASuk aFp4VRTVK9b+0CBtlKMH6YbC95PHEqfbugURecMn7m08odgBipDUFTd4s+Ev6u8ydXHaSw lhRaC+RzPQUzhmJ8I068Es4pPcOTqYOmed46Gsr+eq+jX/Sa15opAOa7AyrQPuqgT4tXBQ ivVHrKXIEoRfxdCtMWbGAZJtLzyv1l9Vy52+gT0y+2UEyjM26KGOSyKTYWFS6UL3KlaPsM q4eY/6kKWACm0zgOtYbhAD+cRgucQopo6VN7ID9z9unFYgkKOmw504MqgLXoxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HAalQNJJGEBsHldIoQvUX9QNAp2TEziCi2wwI4riUjk=; b=M/N/NwavS/3ZuHTYhHyzPFUT26OCldpuD0udBzvndTq/qEzIMcDqk/K1zxuoulBT0ObKLB 0wTVI5QxN+bCu3VucurnjIiV54jWAN8DSAhWW5TByYGVidnKsCZI0gcYfP+MFO4ZHTsMkD mO5Jucmw192n84/TCRmQvgwh88MLOICEQ9msgGIG005hU/iykLdvky9AAt5Tshj47YfGPe S06Hdow8hngeV28L5ddrQ15BdP6uI+NaF7ndwNc6T9pymaef6H2af/zZPm4cS2nuN3vytm eNUhDkhcS8EsD5QtgGGxfS7fB7Ra18JbBO2TrWe8GaGiM084p3oEb6VKJy027g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684429371; a=rsa-sha256; cv=none; b=E36AV6hOu/Am3R+PEJSfsgDPpPUOZDNz42VFvcQyKgAFtIY2mp7IJDjQgkTQxwzpAHHMEk F5EMEkxMVJbjF5b4CdK6h/nBi7mecuGLtERAkw+E6XlR7RR1A4f+rayz8qCG9IkDLySSGQ VKvTwW+zPuLC8TFmHwuNcDPKaFQOGCIdGyYWv//z+/ARaa7iwqjNZi/rD553gOxnT5J6+t YLQlw1HVsN2h1DrFU6zAdg1PReLB5aBP9OSA9QdqU4ARJhEqdc1woCp14t3qvtUEMz3V4c md2gqPkmH9TMgy7Vz7VA7npWpWcLKmxqZ2Kwe4lJIkLoP5n9QPrvzNOXqEwPrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMbrV5zX0ztQR; Thu, 18 May 2023 17:02:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IH2oWW018622; Thu, 18 May 2023 17:02:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IH2ogw018621; Thu, 18 May 2023 17:02:50 GMT (envelope-from git) Date: Thu, 18 May 2023 17:02:50 GMT Message-Id: <202305181702.34IH2ogw018621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 38a137f41620 - main - linux(4): Move linux_debug decalration to linux_util.h List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38a137f416203494f183cb2b309524102680105e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=38a137f416203494f183cb2b309524102680105e commit 38a137f416203494f183cb2b309524102680105e Author: Dmitry Chagin AuthorDate: 2023-05-18 16:58:23 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-18 16:58:23 +0000 linux(4): Move linux_debug decalration to linux_util.h To avoid inclusion of linux_mib.h with linux_util.h in cases where we need rate limiting macro. MFC after: 1 week --- sys/compat/linux/linux_mib.h | 1 - sys/compat/linux/linux_util.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_mib.h b/sys/compat/linux/linux_mib.h index 5a5b71f58c8f..c0c12f799382 100644 --- a/sys/compat/linux/linux_mib.h +++ b/sys/compat/linux/linux_mib.h @@ -57,7 +57,6 @@ int linux_kernver(struct thread *td); #define LINUX_XKERNVERSTR(x) LINUX_KERNVERSTR(x) #define LINUX_VERSION_STR LINUX_XKERNVERSTR(LINUX_KVERSION.LINUX_KPATCHLEVEL.LINUX_KSUBLEVEL) -extern int linux_debug; extern int linux_default_openfiles; extern int linux_default_stacksize; extern int linux_dummy_rlimits; diff --git a/sys/compat/linux/linux_util.h b/sys/compat/linux/linux_util.h index f61aeea99136..bd364e61e90f 100644 --- a/sys/compat/linux/linux_util.h +++ b/sys/compat/linux/linux_util.h @@ -38,6 +38,8 @@ #include +extern int linux_debug; + MALLOC_DECLARE(M_LINUX); MALLOC_DECLARE(M_EPOLL); From nobody Thu May 18 17:02:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMbrX2hfBz4Bn61; Thu, 18 May 2023 17:02: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 4QMbrX0kmyz4VRx; Thu, 18 May 2023 17:02:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AbGUYN+wAavqCb0kuy0/5u9hs0onxPZEiNERE7USwM=; b=xmmw5dktRNbr7IX+Lr8ixQU0w36Irggqa/OubqF2CVwx4FH4vqIbyKSN/C+hTfpSgWvAB6 nZhkITumLMYK3jCq9f/vmJT3PkPDRVMKoQ6VLyLncxTKe4Wj8g6LQC11nID+VoI3Rcf36t O8S5j6Ov7JOtwAw0W4L3SyFsblxR8T2H8f1eci0akgm1kuW18pWntQgh4wKKNWaAkcbKml VstXOjSkI1y6k/MJ6/7Ki7G+geSTs0My0M+PS8ZgT54cOST/Fi4PjRJrfPfdX8bbTEHlMj /+bJcSwVhg5xJt2t5elcAp91VICvFbzkqyKDSi+bcN3KgPEsCAlgZcKLjauCnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AbGUYN+wAavqCb0kuy0/5u9hs0onxPZEiNERE7USwM=; b=iiGnbiIF0S8iK7mWnTToxVBPMMlbsRoVFTkyB8XwY2i/nYS/s39C8E5YReycerjzy5doU4 rXAzKz0htBpEfeSSReUYYY3nNubQZ+ihxDjF48DCaQyLfKa30Ads33BGIAlq82+wOAske0 n4Ce4Isw1j0KBv/ZgF5HWMt74XoRLVZGHo+gQqJZKRF1PwvTdip89rAs3aZP0x58k3OZzo MXxFTcYxMFrS4tjBA2HDeaHaF6a6Rh5vQE1XFYPW0crinoqI904j9n4jai+Lv1jwq1oOiI HxB1mGvQbfSDHSMDpL3Gbu/y918eYZIAA92clTVZSBZQx/zWGQ+XIKo4xapozA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684429372; a=rsa-sha256; cv=none; b=WNfjP1gu+J+FLC5/Vkl1iTlJZ8ArAvDRX07lzc6RWsdTNIfVpZfdd4bsmE4I1iCahBV/Ka 3w5subApKWiuM9ALmwA6wYAFn57ZtV+mDTvm9K3KZ0udKYaEYzaY43tzTHvY68fNhv1VxT 5JJ8k4uPzHvvjAtdF4Dj4MK0YoG9d5u8sBuM5mBhaOd9nGlnQIIMa6+G/zhGAaO/Co5brl WJWPmB8mabZZsfF0EEl7b6KfUVOPqppIu4jX5PolQQpiWCRuBBBPsoSXjB0AVmFJc+UqnL h1EBhTklsB3CVDpVo4399ovLwGAl2yh3AzKnU7ObKNsDMBP0aibIlaK+7tSDcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMbrW6wryztvb; Thu, 18 May 2023 17:02:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IH2p3K018643; Thu, 18 May 2023 17:02:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IH2pCi018642; Thu, 18 May 2023 17:02:51 GMT (envelope-from git) Date: Thu, 18 May 2023 17:02:51 GMT Message-Id: <202305181702.34IH2pCi018642@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: dd2a6cd701ae - main - linux(4): Make ptrace_peekusr machine dependend List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd2a6cd701aea5a6ced59b9947e087304f7d7238 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=dd2a6cd701aea5a6ced59b9947e087304f7d7238 commit dd2a6cd701aea5a6ced59b9947e087304f7d7238 Author: Dmitry Chagin AuthorDate: 2023-05-18 17:00:12 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-18 17:00:12 +0000 linux(4): Make ptrace_peekusr machine dependend And partially implement it for x86_64. Differential Revision: https://reviews.freebsd.org/D40095 MFC after: 1 week --- sys/amd64/linux/linux.h | 2 ++ sys/amd64/linux/linux_machdep.c | 31 ++++++++++++++++++++++++++ sys/amd64/linux32/linux.h | 2 ++ sys/amd64/linux32/linux32_machdep.c | 9 ++++++++ sys/arm64/linux/linux.h | 2 ++ sys/arm64/linux/linux_machdep.c | 8 +++++++ sys/compat/linux/linux_ptrace.c | 43 ------------------------------------- 7 files changed, 54 insertions(+), 43 deletions(-) diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index c15381dc1e86..698c560154ec 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -277,6 +277,8 @@ void linux_ptrace_get_syscall_info_machdep(const struct reg *reg, struct syscall_info *si); int linux_ptrace_getregs_machdep(struct thread *td, pid_t pid, struct linux_pt_regset *l_regset); +int linux_ptrace_peekuser(struct thread *td, pid_t pid, + void *addr, void *data); #endif /* _KERNEL */ #endif /* !_AMD64_LINUX_H_ */ diff --git a/sys/amd64/linux/linux_machdep.c b/sys/amd64/linux/linux_machdep.c index 6c96dd496fdc..233d66a40899 100644 --- a/sys/amd64/linux/linux_machdep.c +++ b/sys/amd64/linux/linux_machdep.c @@ -367,3 +367,34 @@ linux_ptrace_getregs_machdep(struct thread *td, pid_t pid, return (0); } + +#define LINUX_URO(a,m) ((uintptr_t)a == offsetof(struct linux_pt_regset, m)) + +int +linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) +{ + struct linux_pt_regset reg; + struct reg b_reg; + uint64_t val; + int error; + + if ((uintptr_t)addr & (sizeof(data) -1) || (uintptr_t)addr < 0) + return (EIO); + if ((uintptr_t)addr >= sizeof(struct linux_pt_regset)) { + LINUX_RATELIMIT_MSG_OPT1("PTRACE_PEEKUSER offset %ld " + "not implemented; returning EINVAL", (uintptr_t)addr); + return (EINVAL); + } + + if (LINUX_URO(addr, fs_base)) + return (kern_ptrace(td, PT_GETFSBASE, pid, data, 0)); + if (LINUX_URO(addr, gs_base)) + return (kern_ptrace(td, PT_GETGSBASE, pid, data, 0)); + if ((error = kern_ptrace(td, PT_GETREGS, pid, &b_reg, 0)) != 0) + return (error); + bsd_to_linux_regset(&b_reg, ®); + val = *(®.r15 + ((uintptr_t)addr / sizeof(reg.r15))); + return (copyout(&val, data, sizeof(val))); +} + +#undef LINUX_URO diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 652dfccd75f1..23cba6aa2e2c 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -431,6 +431,8 @@ struct reg32; void bsd_to_linux_regset32(const struct reg32 *b_reg, struct linux_pt_regset32 *l_regset); +int linux_ptrace_peekuser(struct thread *td, pid_t pid, + void *addr, void *data); extern bool linux32_emulate_i386; #endif /* _KERNEL */ diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c index 0bd398042c3f..afc60fb7e822 100644 --- a/sys/amd64/linux32/linux32_machdep.c +++ b/sys/amd64/linux32/linux32_machdep.c @@ -742,3 +742,12 @@ DEFINE_IFUNC(, int, futex_xorl, (int, uint32_t *, int *)) return ((cpu_stdext_feature & CPUID_STDEXT_SMAP) != 0 ? futex_xorl_smap : futex_xorl_nosmap); } + +int +linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) +{ + + LINUX_RATELIMIT_MSG_OPT1("PTRACE_PEEKUSER offset %ld not implemented; " + "returning EINVAL", (uintptr_t)addr); + return (EINVAL); +} diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h index 423f1fb0acb8..9ef50bce42a5 100644 --- a/sys/arm64/linux/linux.h +++ b/sys/arm64/linux/linux.h @@ -204,6 +204,8 @@ void linux_ptrace_get_syscall_info_machdep(const struct reg *reg, struct syscall_info *si); int linux_ptrace_getregs_machdep(struct thread *td, pid_t pid, struct linux_pt_regset *l_regset); +int linux_ptrace_peekuser(struct thread *td, pid_t pid, + void *addr, void *data); #endif /* _KERNEL */ #endif /* _ARM64_LINUX_H_ */ diff --git a/sys/arm64/linux/linux_machdep.c b/sys/arm64/linux/linux_machdep.c index 91eea2c6c5e0..2c0445bbed5d 100644 --- a/sys/arm64/linux/linux_machdep.c +++ b/sys/arm64/linux/linux_machdep.c @@ -152,3 +152,11 @@ linux_ptrace_getregs_machdep(struct thread *td __unused, pid_t pid __unused, return (0); } +int +linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) +{ + + LINUX_RATELIMIT_MSG_OPT1("PTRACE_PEEKUSER offset %ld not implemented; " + "returning EINVAL", (uintptr_t)addr); + return (EINVAL); +} diff --git a/sys/compat/linux/linux_ptrace.c b/sys/compat/linux/linux_ptrace.c index 75b616b7258a..bc595ce106dc 100644 --- a/sys/compat/linux/linux_ptrace.c +++ b/sys/compat/linux/linux_ptrace.c @@ -100,11 +100,6 @@ __FBSDID("$FreeBSD$"); #define LINUX_PTRACE_SYSCALL_INFO_ENTRY 1 #define LINUX_PTRACE_SYSCALL_INFO_EXIT 2 -#define LINUX_PTRACE_PEEKUSER_ORIG_RAX 120 -#define LINUX_PTRACE_PEEKUSER_RIP 128 -#define LINUX_PTRACE_PEEKUSER_CS 136 -#define LINUX_PTRACE_PEEKUSER_DS 184 - static int map_signum(int lsig, int *bsigp) { @@ -179,44 +174,6 @@ linux_ptrace_peek(struct thread *td, pid_t pid, void *addr, void *data) return (error); } -static int -linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) -{ - struct reg b_reg; - uint64_t val; - int error; - - error = kern_ptrace(td, PT_GETREGS, pid, &b_reg, 0); - if (error != 0) - return (error); - - switch ((uintptr_t)addr) { -#ifdef __amd64__ - case LINUX_PTRACE_PEEKUSER_ORIG_RAX: - val = b_reg.r_rax; - break; - case LINUX_PTRACE_PEEKUSER_RIP: - val = b_reg.r_rip; - break; - case LINUX_PTRACE_PEEKUSER_CS: - val = b_reg.r_cs; - break; - case LINUX_PTRACE_PEEKUSER_DS: - val = b_reg.r_ds; - break; -#endif /* __amd64__ */ - default: - linux_msg(td, "PTRACE_PEEKUSER offset %ld not implemented; " - "returning EINVAL", (uintptr_t)addr); - return (EINVAL); - } - - error = copyout(&val, data, sizeof(val)); - td->td_retval[0] = error; - - return (error); -} - static int linux_ptrace_pokeuser(struct thread *td, pid_t pid, void *addr, void *data) { From nobody Thu May 18 17:02:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMbrY5DwMz4Bn2Q; Thu, 18 May 2023 17:02:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QMbrY28Tlz4VXq; Thu, 18 May 2023 17:02:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYwkO45CzKDbQDVoY2dgOBRbG8vs3VrWrmxDl86E474=; b=uVlllzNQ+sCCywx6Zpa1LcLZttVlnPzVPqG5EgBCu6yQaGcFOxHHPg0Y/EY76KKyktfd0H TLSIigoZhG/5zRrXOa0kSZV48b7JMf6kcFMDJMblraRARarTl0coJ1v1sG0DsMnxQRVnSQ eSiepGVP7nkQGqISHwTxlnL8Kw1ZRDvXxHWxgMPF0QTJMzHkThGD/zQSlA9Sq3YOcLXBUT 26el3G5yJYwEdAf5OXhYlAK/yTVmd+q93Uo9ISVu0yYkZpmDcI9u6pcyzDEjcyWNNlvlPe l+W4aw09gRxNrKlq/8BeGKM7/i1AaY7oT1oEe0xJQzfDZKoQUUr0uV1cFyhYCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BYwkO45CzKDbQDVoY2dgOBRbG8vs3VrWrmxDl86E474=; b=t889F8p1igQwS7MAeB82tlpSESgKYIxirsZbYcEj7vQNOg9vjAZlIuUMpQeA583Jk2FJdK hEUmnRPaBaYMernNgTWnF6Q9jpp4w08EcDApiZmn434FPrSdarCsgq2blukX27BND4GMIy gej7FAD86ZSN30Fg6LbY8eRRZpcSsj3rAMtiALc6DuAwQtCBpOkGhVD4BQPn0vTeUtV9a4 UJ079XOQ6xgzqFyJ8YUSvVJ4eD3TXjnz4EZnYGqn+1fSF+vzIon5BT3hlCU7Gbuj5rR24X bDq6RXuB6aj9AsnslcfhnPgG2Ur0GK3C9gcH/X9vH8YxleV2jJRdcQXLmvWtxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684429373; a=rsa-sha256; cv=none; b=XYIWvyWF33hCyzumx8wkCEOqmfDgBmh1VXY+q+oFAAJlRp+9sWbb1vqvF4p8DypOVZVkiF PNGnueRp0W7B+lldvkK2B192b3XZQs7sp9Sk/Kfh8jf4/L9R2FLbE/o1VR3bbDtML43c7C mhFgc4ctWzm1l0nxJpxlhAbF13RnPQEo91xo07IrZHx+ha5mGfbvCXZ/3eOs2/0aD3GPHO 8geWE4NMxXno4akYnxIWpGdGykZkGHH9jNtqbCK4MaGJe63b7fkPvVzJa+EJKuldox9/n4 IXt1Dw6tz0NpW/9u/6qup9PBur3x9ikF7nf+IK7yN0cCPP5HWeBC1WQNswFEnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMbrY0lnRztQS; Thu, 18 May 2023 17:02:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IH2rtl018662; Thu, 18 May 2023 17:02:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IH2rv7018661; Thu, 18 May 2023 17:02:53 GMT (envelope-from git) Date: Thu, 18 May 2023 17:02:53 GMT Message-Id: <202305181702.34IH2rv7018661@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 3d0addcd3519 - main - linux(4): Make ptrace_pokeusr machine dependent List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d0addcd35193461e927db6cfe4b6d9b579eed6b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=3d0addcd35193461e927db6cfe4b6d9b579eed6b commit 3d0addcd35193461e927db6cfe4b6d9b579eed6b Author: Dmitry Chagin AuthorDate: 2023-05-18 17:01:12 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-18 17:01:12 +0000 linux(4): Make ptrace_pokeusr machine dependent Differential Revision: https://reviews.freebsd.org/D40096 MFC after: 1 week --- sys/amd64/linux/linux.h | 2 ++ sys/amd64/linux/linux_machdep.c | 8 ++++++++ sys/amd64/linux32/linux.h | 2 ++ sys/amd64/linux32/linux32_machdep.c | 9 +++++++++ sys/arm64/linux/linux.h | 2 ++ sys/arm64/linux/linux_machdep.c | 9 +++++++++ sys/compat/linux/linux_ptrace.c | 8 -------- 7 files changed, 32 insertions(+), 8 deletions(-) diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index 698c560154ec..e1d5480100f9 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -279,6 +279,8 @@ int linux_ptrace_getregs_machdep(struct thread *td, pid_t pid, struct linux_pt_regset *l_regset); int linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data); +int linux_ptrace_pokeuser(struct thread *td, pid_t pid, + void *addr, void *data); #endif /* _KERNEL */ #endif /* !_AMD64_LINUX_H_ */ diff --git a/sys/amd64/linux/linux_machdep.c b/sys/amd64/linux/linux_machdep.c index 233d66a40899..ddb291169a03 100644 --- a/sys/amd64/linux/linux_machdep.c +++ b/sys/amd64/linux/linux_machdep.c @@ -397,4 +397,12 @@ linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) return (copyout(&val, data, sizeof(val))); } +int +linux_ptrace_pokeuser(struct thread *td, pid_t pid, void *addr, void *data) +{ + + LINUX_RATELIMIT_MSG_OPT1("PTRACE_POKEUSER offset %ld " + "not implemented; returning EINVAL", (uintptr_t)addr); + return (EINVAL); +} #undef LINUX_URO diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 23cba6aa2e2c..218f7923f59d 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -433,6 +433,8 @@ void bsd_to_linux_regset32(const struct reg32 *b_reg, struct linux_pt_regset32 *l_regset); int linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data); +int linux_ptrace_pokeuser(struct thread *td, pid_t pid, + void *addr, void *data); extern bool linux32_emulate_i386; #endif /* _KERNEL */ diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c index afc60fb7e822..23d8f8767282 100644 --- a/sys/amd64/linux32/linux32_machdep.c +++ b/sys/amd64/linux32/linux32_machdep.c @@ -751,3 +751,12 @@ linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) "returning EINVAL", (uintptr_t)addr); return (EINVAL); } + +int +linux_ptrace_pokeuser(struct thread *td, pid_t pid, void *addr, void *data) +{ + + LINUX_RATELIMIT_MSG_OPT1("PTRACE_POKEUSER offset %ld " + "not implemented; returning EINVAL", (uintptr_t)addr); + return (EINVAL); +} diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h index 9ef50bce42a5..177579178705 100644 --- a/sys/arm64/linux/linux.h +++ b/sys/arm64/linux/linux.h @@ -206,6 +206,8 @@ int linux_ptrace_getregs_machdep(struct thread *td, pid_t pid, struct linux_pt_regset *l_regset); int linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data); +int linux_ptrace_pokeuser(struct thread *td, pid_t pid, + void *addr, void *data); #endif /* _KERNEL */ #endif /* _ARM64_LINUX_H_ */ diff --git a/sys/arm64/linux/linux_machdep.c b/sys/arm64/linux/linux_machdep.c index 2c0445bbed5d..8a7593ba94ba 100644 --- a/sys/arm64/linux/linux_machdep.c +++ b/sys/arm64/linux/linux_machdep.c @@ -160,3 +160,12 @@ linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) "returning EINVAL", (uintptr_t)addr); return (EINVAL); } + +int +linux_ptrace_pokeuser(struct thread *td, pid_t pid, void *addr, void *data) +{ + + LINUX_RATELIMIT_MSG_OPT1("PTRACE_POKEUSER offset %ld " + "not implemented; returning EINVAL", (uintptr_t)addr); + return (EINVAL); +} diff --git a/sys/compat/linux/linux_ptrace.c b/sys/compat/linux/linux_ptrace.c index bc595ce106dc..fc93881bb32a 100644 --- a/sys/compat/linux/linux_ptrace.c +++ b/sys/compat/linux/linux_ptrace.c @@ -174,14 +174,6 @@ linux_ptrace_peek(struct thread *td, pid_t pid, void *addr, void *data) return (error); } -static int -linux_ptrace_pokeuser(struct thread *td, pid_t pid, void *addr, void *data) -{ - - linux_msg(td, "PTRACE_POKEUSER not implemented; returning EINVAL"); - return (EINVAL); -} - static int linux_ptrace_setoptions(struct thread *td, pid_t pid, l_ulong data) { From nobody Thu May 18 17:02:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMbrZ5gp5z4Bn65; Thu, 18 May 2023 17:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QMbrZ2sVZz4VQG; Thu, 18 May 2023 17:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RNzAdCmahVV3RVOlovjGH2jHT562OBARUDPy9/tAF6g=; b=FN2r6MbVFM7k7r5HkecksgrIRWXRZzx16kojH/jyIWSZp+kh6tS8pifSln8ouXGZAL9HBn 6sZgzueTb4hB+PQzUENsqj3TezS04wy3svyAzZ+T6S0d5oFnJ2hdOiH/XFBhHDXlq4ISxu kaVPV2nbunDE9ncATYCQyHctMMwohk8u3oW059mFSZVwZSSMX0cy5dWhOh4bzgSxVlke1n lcwd/mEOeTE+YIqjaKC+TdnNHeMUVL/2Di+gMmSW/7LyEtbBVzCXCmysaFNF1B/LlYHwom NdxWJw5Md0oOkuRBhDcfhahQkpozxsvI0j8QwMg+oWs5auTVlAlsot6jEBU/Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684429374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RNzAdCmahVV3RVOlovjGH2jHT562OBARUDPy9/tAF6g=; b=jKRSrMWggZh56RvfbFNgJcU4xNyfwcB5ASXZs7X/FgjmERFKlezlhdHi+2o9rYHxeJbK9F QR27CE8lyG6HItjm2wPd/O617UPYTBVAU9x9B/xpbsy1h15sQ1Aa4tFagHnM13+NHtct7N rCI7jDN7HRFpc8f2o1HwYV2TlMq671BJLvjyvDU+GuYecSNDiYIcMxXFEGTKLOQwT2Efsb iPPnyH8lAyFeozT5P2BqvXYhTEKJ0qgur4S5b2KHW1fnJm72u9/+YJUwHew2NHyWCpiUAv Ea8uTtNmz/1w8ukFUnNlcLlEqZO7T1525n56kBCkna+degn0gj7JNBLnN0U2qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684429374; a=rsa-sha256; cv=none; b=dI0+CPMGsLotUZ54YvPtJfPK0G8KP9ITxcB3N5oZrVaZ7Fld4QsW27euxhEF7rvXnWy/7E orfei0XCTq/XvmXDB6oI2nOMsx5byOeTbQ+kT5WFBmPbuNBkH1n/hJDaG5BQ5tvxzEnOC8 XvnzVltYRe55Do7+5jIS54CQpeYwDB9tNfmVeGUKnRZ+Dr61SxcfFuDReE5LjlSqIev/kK QpXaL7WuxyCg/P00GPlhNoJ+KRrIP+ZfewggnfYa8X47LcvU4Z/ceHFcSDxVCSKDZsjyLO f8NVYngFNoyfOEuugkXe6ontTnmfExQBrlKLvbpky6FgNM87D5r6X6xnnA5MGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMbrZ1fXcztgf; Thu, 18 May 2023 17:02:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IH2siH018687; Thu, 18 May 2023 17:02:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IH2sLZ018686; Thu, 18 May 2023 17:02:54 GMT (envelope-from git) Date: Thu, 18 May 2023 17:02:54 GMT Message-Id: <202305181702.34IH2sLZ018686@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 1d76741520c0 - main - linux(4): Implement ptrace_pokeusr for x86_64 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1d76741520c031730319ed976a6c394213991504 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=1d76741520c031730319ed976a6c394213991504 commit 1d76741520c031730319ed976a6c394213991504 Author: Dmitry Chagin AuthorDate: 2023-05-18 17:02:35 +0000 Commit: Dmitry Chagin CommitDate: 2023-05-18 17:02:35 +0000 linux(4): Implement ptrace_pokeusr for x86_64 Differential Revision: https://reviews.freebsd.org/D40097 MFC after: 1 week --- sys/amd64/linux/linux_machdep.c | 73 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 3 deletions(-) diff --git a/sys/amd64/linux/linux_machdep.c b/sys/amd64/linux/linux_machdep.c index ddb291169a03..6ac0ab0cd3d7 100644 --- a/sys/amd64/linux/linux_machdep.c +++ b/sys/amd64/linux/linux_machdep.c @@ -397,12 +397,79 @@ linux_ptrace_peekuser(struct thread *td, pid_t pid, void *addr, void *data) return (copyout(&val, data, sizeof(val))); } +static inline bool +linux_invalid_selector(u_short val) +{ + + return (val != 0 && ISPL(val) != SEL_UPL); +} + +struct linux_segreg_off { + uintptr_t reg; + bool is0; +}; + +const struct linux_segreg_off linux_segregs_off[] = { + { + .reg = offsetof(struct linux_pt_regset, gs), + .is0 = true, + }, + { + .reg = offsetof(struct linux_pt_regset, fs), + .is0 = true, + }, + { + .reg = offsetof(struct linux_pt_regset, ds), + .is0 = true, + }, + { + .reg = offsetof(struct linux_pt_regset, es), + .is0 = true, + }, + { + .reg = offsetof(struct linux_pt_regset, cs), + .is0 = false, + }, + { + .reg = offsetof(struct linux_pt_regset, ss), + .is0 = false, + }, +}; + int linux_ptrace_pokeuser(struct thread *td, pid_t pid, void *addr, void *data) { + struct linux_pt_regset reg; + struct reg b_reg, b_reg1; + int error, i; - LINUX_RATELIMIT_MSG_OPT1("PTRACE_POKEUSER offset %ld " - "not implemented; returning EINVAL", (uintptr_t)addr); - return (EINVAL); + if ((uintptr_t)addr & (sizeof(data) -1) || (uintptr_t)addr < 0) + return (EIO); + if ((uintptr_t)addr >= sizeof(struct linux_pt_regset)) { + LINUX_RATELIMIT_MSG_OPT1("PTRACE_POKEUSER offset %ld " + "not implemented; returning EINVAL", (uintptr_t)addr); + return (EINVAL); + } + + if (LINUX_URO(addr, fs_base)) + return (kern_ptrace(td, PT_SETFSBASE, pid, data, 0)); + if (LINUX_URO(addr, gs_base)) + return (kern_ptrace(td, PT_SETGSBASE, pid, data, 0)); + for (i = 0; i < nitems(linux_segregs_off); i++) { + if ((uintptr_t)addr == linux_segregs_off[i].reg) { + if (linux_invalid_selector((uintptr_t)data)) + return (EIO); + if (!linux_segregs_off[i].is0 && (uintptr_t)data == 0) + return (EIO); + } + } + if ((error = kern_ptrace(td, PT_GETREGS, pid, &b_reg, 0)) != 0) + return (error); + bsd_to_linux_regset(&b_reg, ®); + *(®.r15 + ((uintptr_t)addr / sizeof(reg.r15))) = (uint64_t)data; + linux_to_bsd_regset(&b_reg1, ®); + b_reg1.r_err = b_reg.r_err; + b_reg1.r_trapno = b_reg.r_trapno; + return (kern_ptrace(td, PT_SETREGS, pid, &b_reg, 0)); } #undef LINUX_URO From nobody Thu May 18 17:17:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMc9V4nf4z4Bnht; Thu, 18 May 2023 17:17: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 4QMc9V4BQLz4Y12; Thu, 18 May 2023 17:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684430254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0WGZI4aBoXc4jIVrQYzTdVYtsoYJPjHtOg+GiZPExW4=; b=KHs0HKCaal4EPkaYbkso1EAZEdz9RR1yWxVzn5ZfeExx70WjAFhsIfg9ilyrDzWjcNFNOq pQ81F6hkTOXre29RASx64FVySEEo1BNy7kG0q99wnM7RRgTn3AWc06GWkxiiS0QL9aFD1f 2cigNctGrmuBeXFzicVWUF5Q1JmCbIFqIhP6AgkSA7i+NWlw7vjK35Q1IOO+1gz3n1bLwZ oxgQSjILAni36Z26t2ABgyA9fANP2pifW1sI7INEMQmIctx/vP1dCeNpiBuM2jQIUfprbp vv1qLPVPoVXu5kRkT12UIHNYkoI1VGb2wfpdZQr3O8xQOqfJpP1FRB8oaBvMFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684430254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0WGZI4aBoXc4jIVrQYzTdVYtsoYJPjHtOg+GiZPExW4=; b=MUtbrltK4DNmR5QZ3L3uJm0Uy7qp8r/ZZNxAQ/wyhkZ+EXdKGtyThaJRiqEiX1BSIMZTFl TMHPdFVYQu8SQVItShR22YjyMnEbe3wUm5XIC/6lSa4gzyR83eF0rzSTbJDa0llLWE+Zzk gLl+0H6O0q+G5MDyJBQ2sE62VezpVJzIqp11xu/XnfrYl0pVvoem/Npiqnzn04Cv1OV9tX uB/f316agxuufkwmGDj9SMX45D3gwF30voTksxYaS2xaI88z7toWnE2sleOx0Y3JH7EvF8 2IsVo2iU2cUi30MuboCBjgoSD/jIm9YBqAB3ISB80IQgX5vPlpapGsi9nEAMeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684430254; a=rsa-sha256; cv=none; b=Gpmv5Lp+N7cg5CGjfF9Ck9MKSt9rK7j80rXzerdWL7ibVH1FxF1xEl4/KiQ4PudaOlZg0y wLYUitBW/DRXFjJfqY5/aTJO504Pli0BZfGgnhr1abQiDNXkoDv3xn1H86aCjIksHb3fn1 ZCTLaOGnoMIbS/F5d/+FYB+H+nqFQAxLlU/nbbYmYZ8pSQvOENiGT3Fn8Qid1KyjUwm+Zq 7GIQmnsStqmkULh6cPgxFzSLH07u7/Dip4W8kr8Pc+Y9964F21lJcOkT31+UMKoHCXN+Rg 5Wywzq+1K8T0jxhffw3nmE0MbiC1QY34yy3WIRxsl3+bj1NkZq6SOrIbRpcTrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMc9V3Fs3ztlm; Thu, 18 May 2023 17:17:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IHHYuE035485; Thu, 18 May 2023 17:17:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IHHYPc035484; Thu, 18 May 2023 17:17:34 GMT (envelope-from git) Date: Thu, 18 May 2023 17:17:34 GMT Message-Id: <202305181717.34IHHYPc035484@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: 6de1a005d4ca - main - traceroute.8: Document TOS as DiffServ and ECN List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: 6de1a005d4ca69911b1a45d6f94ea021f8abf5fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6de1a005d4ca69911b1a45d6f94ea021f8abf5fc commit 6de1a005d4ca69911b1a45d6f94ea021f8abf5fc Author: Jesse Rosenstock AuthorDate: 2023-05-18 17:10:13 +0000 Commit: Warner Losh CommitDate: 2023-05-18 17:17:24 +0000 traceroute.8: Document TOS as DiffServ and ECN Reviewed by: imp,karels Pull Request: https://github.com/freebsd/freebsd-src/pull/744 --- contrib/traceroute/traceroute.8 | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/contrib/traceroute/traceroute.8 b/contrib/traceroute/traceroute.8 index a10848f564a8..85a7e9d3a17e 100644 --- a/contrib/traceroute/traceroute.8 +++ b/contrib/traceroute/traceroute.8 @@ -164,16 +164,9 @@ Set the .Em type-of-service in probe packets to the following value (default zero). The value must be a decimal integer in the range 0 to 255. This option can be used to -see if different types-of-service result in different paths. (If you -are not running 4.4bsd, this may be academic since the normal network -services like telnet and ftp don't let you control the TOS). -Not all values of TOS are legal or -meaningful \- see the IP spec for definitions. Useful values are -probably -.Fl t Ar 16 -(low delay) and -.Fl t Ar 8 -(high throughput). +see if different types-of-service result in different paths. The upper six +bits are the Differentiated Services Codepoint (RFC4594). The lower two +bits are the Explicit Congestion Notification field (RFC3168). .It Fl v Verbose output. Received ICMP packets other than .Dv TIME_EXCEEDED From nobody Thu May 18 18:42:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMf3N5l2mz4Bt7C; Thu, 18 May 2023 18:42: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 4QMf3N4pRhz3Q5W; Thu, 18 May 2023 18:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684435344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Csi3b6wOKY4XDTbM8EEV6N0v/AJdMKnyjdf2hCad06w=; b=Mc4faOakAGnhcAqRobS6GdgFNF5wWlddfuZ2XII8/FQBOnI4UIgLuxCbyM1rR51fKMNHx7 UTq764L0g6HbsUOwWiYawNfRfIX8gyqv2ddais9BE80CASI277RUf6Qrx94lWFGz2M1rnS qFb/3cI7GI9zvyNZTyeFNz4fbvPKWOzNFzLY/Lo6lMTEPIkz1vEdLd5whGNMgpzCaQDW/P 0QxJEElsp4l+sLlbmw3UBbYr0IutFM/NfB0H0+OhE3aIjJwaQPUDqH0ymTQTi3HNv/LQbW uY3h8O1XlfHZeqKLtyYlaow2Tj6sUoNqiUP/U5xeSJ5vdxPNgxQngfsELFhtDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684435344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Csi3b6wOKY4XDTbM8EEV6N0v/AJdMKnyjdf2hCad06w=; b=KeG6uU2+rQqYAvBoHKwSc/i5BqmYY7NMet+paUKz6uVRGPdohb7IYB5/O+SrrhCPnOhp4W 1LAhBzqcBVVvNH1kH3aDWYpChKKM8SEni3Q8cD7LrELaQtVWfRlae+WL7WiY9TbMMTk6tx Os6Rd6h5DNX9A3mj9f69sYvjDRK6LpafRqr4s29lG+IUZ5agwCHHweDZ2FLIwPf3k2X0uT MhqXddyh6aeIyF3PbNqUjF3tTqoowXiHVWHH2EpQ223WHm/I9qTQM5N/pPGHXjX4uHMwP2 16gJbodpCaVGM9hjEx9K7hCuNTKaopbNzBCnpB2x7PXkes0Asg8vRVMrxoAMIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684435344; a=rsa-sha256; cv=none; b=XZqPOMVMkVXj3qfSel1EVTP4lK1zH2ffFxQsHSM93UA3yCyv8fimap6idHt2Mb7xJELJdB V7ja2gP1539Ye01LU6CIkWzaMQYfkG9AVZrJVjaFEPUaZs3xj5ra1ixAY+qdZz4vXDn/uD V07lqpAX9Rfz2Yq/1Uffy3eEdU0l6wl7EZs5ItEuMS39eEPy2Q+/hwLrpUsrzWnAf/0an+ tTGMLPlXO0hhxAVgJBkCAY6ag2bQ4MUXLdQ0ty51TO6hOmOuY2K8TenuVH4vc9WBxbf2dh j0xtuKRha8Q8UrFzQoToXw+VB6WQYoX+BOulYmAm+2WZtT80tYPTMj4gHv6tMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMf3N3tbxzwwm; Thu, 18 May 2023 18:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IIgOUD083013; Thu, 18 May 2023 18:42:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IIgOEa083012; Thu, 18 May 2023 18:42:24 GMT (envelope-from git) Date: Thu, 18 May 2023 18:42:24 GMT Message-Id: <202305181842.34IIgOEa083012@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Wemm Subject: git: e829181c6534 - main - libc: Update copyright text to match current templates. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: peter X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e829181c653485529ba8efc2969afb78b2ec4c76 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by peter: URL: https://cgit.FreeBSD.org/src/commit/?id=e829181c653485529ba8efc2969afb78b2ec4c76 commit e829181c653485529ba8efc2969afb78b2ec4c76 Author: Peter Wemm AuthorDate: 2023-05-18 18:30:10 +0000 Commit: Peter Wemm CommitDate: 2023-05-18 18:30:10 +0000 libc: Update copyright text to match current templates. --- lib/libc/gen/__getosreldate.c | 1 - lib/libc/gen/setproctitle.3 | 29 +++++++++++++++++------------ lib/libc/gen/setproctitle.c | 26 ++++++++++++++++++-------- 3 files changed, 35 insertions(+), 21 deletions(-) diff --git a/lib/libc/gen/__getosreldate.c b/lib/libc/gen/__getosreldate.c index 81fd125b2ee6..685382f76977 100644 --- a/lib/libc/gen/__getosreldate.c +++ b/lib/libc/gen/__getosreldate.c @@ -2,7 +2,6 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2007 Peter Wemm - * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/lib/libc/gen/setproctitle.3 b/lib/libc/gen/setproctitle.3 index a725977e5191..15bafa23a982 100644 --- a/lib/libc/gen/setproctitle.3 +++ b/lib/libc/gen/setproctitle.3 @@ -1,23 +1,28 @@ -.\" Copyright (c) 1995 Peter Wemm -.\" All rights reserved. +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 1995 Peter Wemm .\" .\" Redistribution and use in source and binary forms, with or without -.\" modification, is permitted provided that the following conditions +.\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright -.\" notice immediately at the beginning of the file, without modification, -.\" this list of conditions, and the following disclaimer. +.\" 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. -.\" 3. This work was done expressly for inclusion into FreeBSD. Other use -.\" is permitted provided this notation is included. -.\" 4. Absolutely no warranty of function or purpose is made by the author -.\" Peter Wemm. -.\" 5. Modifications may be freely made to this file providing the above -.\" conditions are met. .\" -.\" $FreeBSD$ +.\" 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. .\" .\" The following requests are required for all man pages. .Dd November 28, 2022 diff --git a/lib/libc/gen/setproctitle.c b/lib/libc/gen/setproctitle.c index 08612e99d9bb..743f27d15b50 100644 --- a/lib/libc/gen/setproctitle.c +++ b/lib/libc/gen/setproctitle.c @@ -1,18 +1,28 @@ -/* - * Copyright (c) 1995 Peter Wemm - * All rights reserved. +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 1995 Peter Wemm * * Redistribution and use in source and binary forms, with or without - * modification, is permitted provided that the following conditions + * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright - * notice immediately at the beginning of the file, without modification, - * this list of conditions, and the following disclaimer. + * 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. - * 3. Absolutely no warranty of function or purpose is made by the author - * Peter Wemm. + * + * 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 From nobody Thu May 18 19:16:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMfpF4Xxrz4Bvs4; Thu, 18 May 2023 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 4QMfpF40ycz3nBq; Thu, 18 May 2023 19:16:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684437365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5R3nyWjbSMsKc0WEcd73fPFZe3ju4aX1K5q4Zxhsjiw=; b=kyfflnFaIu1PH/Y1Yf12y0+1ox0JRnmPKcOI+744zWWVQX7gmHRE6NvGIIQl3OWn+6Hmv8 5yRqNO7H96VfK14RnC+pFdecRubB1YxaAwDGZi7ZmG0pM1ITmAAPNDhgUSWv/Z7pNespwC MbaU4bzm6mokvNahFyRfMvuKR0PSDs4aN4zUwEyxXyoAB/Y7G/h5P2kMCsln1mG9ikHsUK KLmPlMyVxMWOUyjSsJQ+y+7Fu9myBUfJ7TpkQoRE3/CKt7VfRg0i0WyU22g5i9gl/MBHVw uHkus1tURK2wM9ULgsjzL6LUk+W6smD10LbvQWzoeS/7ZuoTkruJrgBP5mNb3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684437365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5R3nyWjbSMsKc0WEcd73fPFZe3ju4aX1K5q4Zxhsjiw=; b=Zxn1J+yTAYmV1/tvvJ8Ma6nIJDTq4tQBskyh1aCF76aCpJyDAQewXceGBoc+owR7Cz2RqA xqQegdtNBvgDxWM+IeQHwTLV03PvxpgZ2SOG6vRcTdlJUGfsm5xKDiJ+V+LBMmdrNEkmlf hkTbebAcM1dK/i34d9rDQX8xSv4PwxAp1GqIs5jIIUCW9YidkpBYYf5v5rQmDp6dShzdxK dJELzQw+iwAnm/UE4cReD9INpQ9jjEGPKEdrUStA/RCg0Cu98LYz1bxGj26iL31bHGo6S5 9NDuXDzswkq2a2iVn2LLxhWXXVqhpESknSjWxKfNqdlJrE0xgeX54dHwe1TNCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684437365; a=rsa-sha256; cv=none; b=KkzPduo2l3MsStSkSU16kHr4xttlG/wgXaa3YmRi33pgMSgbzd/jz8dgoD4E3Fz3t4Y4MY f3jkkAdl2ZLGMSKGT1NXQwTKsqyKXaOEgHVMyaamyfR+6en59jttUYBEFh8Rk5+myFN6Z8 A56SeXCkZgz5BgLOWsvfyWoRyDz+QjOjRuNbB2TsVvxMhpb1YaYQok7agFCADytbTJ5q5f DhxZPRKRzCEdPvF5uFPn+4n1ZRXZBAg9dCzr9IPwphQWkWkY+vFY6j99nZd2aqfrK24gWh ezcf6sPhHvUTYxIlxgxPa3y2STe+2zJ11um9ncA0QeM9o6BVk93I8SfJmMRdyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMfpF33Pczxjm; Thu, 18 May 2023 19:16:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IJG5M8033769; Thu, 18 May 2023 19:16:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IJG5cn033768; Thu, 18 May 2023 19:16:05 GMT (envelope-from git) Date: Thu, 18 May 2023 19:16:05 GMT Message-Id: <202305181916.34IJG5cn033768@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: e5738ee04bf0 - main - Under RSS, assign a TCP flow's inp_flowid anyway. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5738ee04bf07edde5a394da83ac119b13c4f9e9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=e5738ee04bf07edde5a394da83ac119b13c4f9e9 commit e5738ee04bf07edde5a394da83ac119b13c4f9e9 Author: Cheng Cui AuthorDate: 2023-05-11 09:06:04 +0000 Commit: Cheng Cui CommitDate: 2023-05-18 15:11:53 +0000 Under RSS, assign a TCP flow's inp_flowid anyway. Summary: This brings some benefit of a tcp flow identification for some kernel modules, such as siftr. Reviewers: rrs, rscheff, tuexen, #transport! Approved by: tuexen (mentor), rrs Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D40061 --- sys/netinet/tcp_input.c | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 55d3e41a07c1..10daab2d61ba 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" +#include "opt_rss.h" #include #include @@ -83,6 +84,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #define TCPSTATES /* for logging */ @@ -90,6 +92,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include /* required for icmp_var.h */ @@ -99,6 +102,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -936,10 +940,35 @@ findpcb: INP_LOCK_ASSERT(inp); if ((inp->inp_flowtype == M_HASHTYPE_NONE) && - (M_HASHTYPE_GET(m) != M_HASHTYPE_NONE) && !SOLISTENING(inp->inp_socket)) { - inp->inp_flowid = m->m_pkthdr.flowid; - inp->inp_flowtype = M_HASHTYPE_GET(m); + if (M_HASHTYPE_GET(m) != M_HASHTYPE_NONE) { + inp->inp_flowid = m->m_pkthdr.flowid; + inp->inp_flowtype = M_HASHTYPE_GET(m); +#ifdef RSS + } else { + /* assign flowid by software RSS hash */ +#ifdef INET6 + if (isipv6) { + rss_proto_software_hash_v6(&inp->in6p_faddr, + &inp->in6p_laddr, + inp->inp_fport, + inp->inp_lport, + IPPROTO_TCP, + &inp->inp_flowid, + &inp->inp_flowtype); + } else +#endif /* INET6 */ + { + rss_proto_software_hash_v4(inp->inp_faddr, + inp->inp_laddr, + inp->inp_fport, + inp->inp_lport, + IPPROTO_TCP, + &inp->inp_flowid, + &inp->inp_flowtype); + } +#endif /* RSS */ + } } #if defined(IPSEC) || defined(IPSEC_SUPPORT) #ifdef INET6 From nobody Thu May 18 20:11:18 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMh1z1lz1z4ByTn; Thu, 18 May 2023 20:11: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 4QMh1z1G1cz3s84; Thu, 18 May 2023 20:11:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z2rk5T8YzqO6B8A9NJNlIL9e9ZTGAQQI37R+AAWSsiw=; b=vBs2aB6ocop208WA64+OuH+LwGDwQ+ibc/IXz/XnF4AZXP/EHAwr8b+hOWk1NRqHIAce2y w3l2EnfybzdE+KFjprc74YOzcb5PkUoj5yVUs+0E6iquukmykbrmzavleJWY7q7wKjefnJ CMUEvHW7EKG2TL/ma7UfvlFdYqnFQzOY8cmDBk0gMKVtEhbjSUJQZ3BK4vxGHWoDNs5RVZ 4pyGMO/lMu4HPSB1UWVXr6Chlwun3BzFEId25WCmAS1FC/7Tpmg7hKuoQYIigcGcER0JFB VXGb6P0aKXl5g0IzRsQJ81C7SwGbt1ocOK4DHz6X+UQ/SleTMZOTlBktmzTW/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z2rk5T8YzqO6B8A9NJNlIL9e9ZTGAQQI37R+AAWSsiw=; b=K4znGUNcPGJmXcE+/H79HuqzlvZiT3Qktj2OM5h3vqm6Eb6NqYyZ3G+Qlo9mA1+S1PipR4 g6oBZHp5PkqfXzTi4+lpU+tIYFA1QVXyl2/Wj/93CarAmc04rr/vviAPM+7y+wMRPSvsFE i0VDqyYPf/LhZAvDuRKnRMI4ZTbeWpXBpD7DIP4n66SYbgrAC/XQ22qaV4H0xouyrMfkA3 pVMxS5I+2slFfrGwooXZt5asA9ActDyQhEERvt1iFFANkOrO5l4CgSwpIOVc/o0RAqJIKC yJafgxu26eo84IaMd8W5HK/Tou5CAykQpz26HxBg9WWcEOsxbcMkAYhF5AeC3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684440679; a=rsa-sha256; cv=none; b=oSsojQjJ7sRUoZlsyyNNwO8hQJC/rBXzihGYABqqu2mgbt9uQZiNtumdOTcpc0bKsf1pPg e7/HI/AbqcxextJdzezjU3G2GzIpTCh6eq2sScBInKPHNPFbOwY6eBzHX8k4xAOZPlCLjx F5tmX7AzWEywdMp9NWouQsFsZg/C2wPpVp2R6phd3r0rRTPUDX/9GoreWqflEZEyOIYxvh 4X5kJsUsRS6c2uzXf7gY633Av8h/ZI50mOpUWqRFx5lv7TZtpa7qhEnqOvCnx6rZCPPoj1 Q98ujGmyhGWRULfrglefJdoOZDkp3DxJrRKfyw/EXOTam+XN5PrtPEzAzp6p7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMh1z0K20zytk; Thu, 18 May 2023 20:11:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IKBI6F028717; Thu, 18 May 2023 20:11:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IKBIgB028716; Thu, 18 May 2023 20:11:18 GMT (envelope-from git) Date: Thu, 18 May 2023 20:11:18 GMT Message-Id: <202305182011.34IKBIgB028716@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 6ba1be38f67d - main - proc: s/short/u_char for td_stopsched List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ba1be38f67db2ea82db427fb1ff0c076f066f58 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=6ba1be38f67db2ea82db427fb1ff0c076f066f58 commit 6ba1be38f67db2ea82db427fb1ff0c076f066f58 Author: Mateusz Guzik AuthorDate: 2023-05-18 19:44:29 +0000 Commit: Mateusz Guzik CommitDate: 2023-05-18 19:44:29 +0000 proc: s/short/u_char for td_stopsched bool is not used because of massive header mess While here move it into a gap. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/sys/proc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 1292315990b3..54d586b06525 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -271,11 +271,11 @@ struct thread { const char *td_wmesg; /* (t) Reason for sleep. */ volatile u_char td_owepreempt; /* (k*) Preempt on last critical_exit */ u_char td_tsqueue; /* (t) Turnstile queue blocked on. */ + u_char td_stopsched; /* (k) Scheduler stopped. */ short td_locks; /* (k) Debug: count of non-spin locks */ short td_rw_rlocks; /* (k) Count of rwlock read locks. */ short td_sx_slocks; /* (k) Count of sx shared locks. */ short td_lk_slocks; /* (k) Count of lockmgr shared locks. */ - short td_stopsched; /* (k) Scheduler stopped. */ struct turnstile *td_blocked; /* (t) Lock thread is blocked on. */ const char *td_lockname; /* (t) Name of lock blocked on. */ LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */ From nobody Thu May 18 20:11:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMh203xlXz4ByRb; Thu, 18 May 2023 20:11: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 4QMh202NsJz3sHh; Thu, 18 May 2023 20:11:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nwFjaF3DDQPrPcxrcxoDKNqhHtZVianvj9BIbVVBY1c=; b=sO7Zw9MXJlLkDOMwn8zR3je9InrU+m6QBfL9BDtq23bugleRjAf2TPb97h8fapGkTfcFVm tceIEBL7WBRm3zFBjt+0JFiClEGVQqvFiedHmXcEFb4XyetxO/OByrVXMcSeIu/eGRyLgX WKTlraBEa07St8+6hzXfJOulXA6EYdSuUntsw/q+BEpLbsOgJEqdJLXhhqT7IGmDqruKvN 0JzKsmETfba1ZkBkrI5vNx80Xt8Uqv2ACfJN/OKbgmj9jvPMncWFn7sikFV2DqBIy41enK IVLCak7gxoV/cZcs92lafMeU6PheMvGDbVVF0yX29vpmi5Ip5P5sBlKdcCub9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nwFjaF3DDQPrPcxrcxoDKNqhHtZVianvj9BIbVVBY1c=; b=iy3th0iyMPGYs/42bJW9KDa6vFNp9gSqRIquyG/cZDhl6B8yDD1ki29cX5FXkCi8GXylJ3 f5M+Qy5Yl/Wxcl2zJVCGj4NLwPke/QInrHrfS6ydyl++7a94+gcBhSJT3450UnIe3htW1C I8Zetd+dY3MekoiPxSQT0SvVsAeNln4LKDPM4kDDHAu/ZHOgTYlwSkKQAIzXkl77WU3MiE Ldsrd2S2wTOKNjOmCf5cssQXdtLS/uj10oiTfHD1PeVBp+wIZ+ZxA0qVf5s5TFbZd6JY1q fCEc4JSyqdGzhKQcJlaGUXP0TZtQyBqKJc4qkqy5BnXAOJdVud1X+w4DD6uyyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684440680; a=rsa-sha256; cv=none; b=HprkD4wLI5eAF4jWtLcWMvCJ37X3GAgFkwCnCDeeDqeUTSUfZPijtUz+NJvv2izHV/CSVR fLJEraqZJaGTb8Tay2GpJRNhWlIYO25VP0P/DNYHjWltPKtpHmyWxFAF3Bh+eRMWs79zPz 2EZhsUvXtdZ6mCOCV96d5+0gNl+xVoGJfZsGMxOy8zsooAPq2lx7G7V/VG0IIasV5EZgKD xSkJZgpRlGJoxEpIm7+cAjuXYpC4YJj+/6RO5RYy2W72oH5bG9TI3a5/kd1P6NPheQz3M6 os4KKMr4tSUUBsgEhJQXwePKpmqZCc0KPEqNjLEug2Rrc1V2+lcP7WqT69tpwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMh201Bjcz10DK; Thu, 18 May 2023 20:11:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IKBKsC028737; Thu, 18 May 2023 20:11:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IKBKOf028736; Thu, 18 May 2023 20:11:20 GMT (envelope-from git) Date: Thu, 18 May 2023 20:11:20 GMT Message-Id: <202305182011.34IKBKOf028736@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 9a19595cad92 - main - proc: s/short/int lock-related counters List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a19595cad9247902fbdadbb2b8fe61bb3a1dab1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=9a19595cad9247902fbdadbb2b8fe61bb3a1dab1 commit 9a19595cad9247902fbdadbb2b8fe61bb3a1dab1 Author: Mateusz Guzik AuthorDate: 2023-05-18 19:45:33 +0000 Commit: Mateusz Guzik CommitDate: 2023-05-18 19:57:38 +0000 proc: s/short/int lock-related counters short is small enough that it can overflow in practice for certain cases and then trigger wrong asserts. One known example is vfs namecache resize which grabs all locks at once. Reported by: gallatin Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/kern/kern_thread.c | 6 +++--- sys/sys/proc.h | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 283606bf4a8b..b62bfafa58be 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -89,7 +89,7 @@ _Static_assert(offsetof(struct thread, td_flags) == 0x108, "struct thread KBI td_flags"); _Static_assert(offsetof(struct thread, td_pflags) == 0x114, "struct thread KBI td_pflags"); -_Static_assert(offsetof(struct thread, td_frame) == 0x4b0, +_Static_assert(offsetof(struct thread, td_frame) == 0x4b8, "struct thread KBI td_frame"); _Static_assert(offsetof(struct thread, td_emuldata) == 0x6c0, "struct thread KBI td_emuldata"); @@ -109,9 +109,9 @@ _Static_assert(offsetof(struct thread, td_flags) == 0x9c, "struct thread KBI td_flags"); _Static_assert(offsetof(struct thread, td_pflags) == 0xa8, "struct thread KBI td_pflags"); -_Static_assert(offsetof(struct thread, td_frame) == 0x30c, +_Static_assert(offsetof(struct thread, td_frame) == 0x314, "struct thread KBI td_frame"); -_Static_assert(offsetof(struct thread, td_emuldata) == 0x350, +_Static_assert(offsetof(struct thread, td_emuldata) == 0x358, "struct thread KBI td_emuldata"); _Static_assert(offsetof(struct proc, p_flag) == 0x6c, "struct proc KBI p_flag"); diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 54d586b06525..6af221db056f 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -272,10 +272,10 @@ struct thread { volatile u_char td_owepreempt; /* (k*) Preempt on last critical_exit */ u_char td_tsqueue; /* (t) Turnstile queue blocked on. */ u_char td_stopsched; /* (k) Scheduler stopped. */ - short td_locks; /* (k) Debug: count of non-spin locks */ - short td_rw_rlocks; /* (k) Count of rwlock read locks. */ - short td_sx_slocks; /* (k) Count of sx shared locks. */ - short td_lk_slocks; /* (k) Count of lockmgr shared locks. */ + int td_locks; /* (k) Debug: count of non-spin locks */ + int td_rw_rlocks; /* (k) Count of rwlock read locks. */ + int td_sx_slocks; /* (k) Count of sx shared locks. */ + int td_lk_slocks; /* (k) Count of lockmgr shared locks. */ struct turnstile *td_blocked; /* (t) Lock thread is blocked on. */ const char *td_lockname; /* (t) Name of lock blocked on. */ LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */ From nobody Thu May 18 20:12:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMh3N0fQKz4ByPx; Thu, 18 May 2023 20:12: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 4QMh3N0Dg6z3t6j; Thu, 18 May 2023 20:12:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LeM6l8Qs1EquEf5pwinkfK9J/WHAJ66r8bPparxkvvI=; b=brzzPDK+S6r1JSutH1fixk3Ls6LFMxPMg6mgKWAyfMCE2ULidBXExalflkey/b602cTGnD lx+KaSclaEKFLpO/XGqVNjsJZIOmxGdq+s0P18qin4cyKfFCOQCgA6qG7Rupc4iitK8kji jzl5h9dczSdbKcSGNt4Hh4Kbe7JhtPcTsZhGPZz4/FV1QAE0hVpNPDluV3+f7v+R1iEsCq tL7FIJvhCiUmZwl+Ks/xEXQcRgSJrzjUeA6JFgE0n+NJCnZTeVnkIYgRuuF8k4Q6IN9tF7 IsuY+CCDPNm+F4fvaFz9nkN97/+dw9xGNH7YCeQ7v9VhzOgSGLaSpktJpQG/sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LeM6l8Qs1EquEf5pwinkfK9J/WHAJ66r8bPparxkvvI=; b=mHkXKSI9zeR/bb4epb186M1CbHUbK71i3/yfcE7J9d9m6T6H0naK4bbS387Y514MNJyJAa 4pwjZaC4O/1wBGONZYMJweavIJHXzvUVbasoi0mV++Q52SI74uWslEy88uMFE69F0ZeRS2 NBfuLJjxtDa8x0LMs7R+U4jGd/2c1ZJ6cjHiZa+GG/AIb39hxk4ndfG/3dIug3z3Of5R3P bY98I0npF7gJCXU9OHX42OwKFH3I45rhOgsxEnVbUaik8qe9tHwZD4PhctqFiRb62Mw56C AEYeJM/hieSuZzch+4SjXUsurg1kXiPyFVP7+sIK2oNfG5Z1fJ1CCGEa2cJDVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684440752; a=rsa-sha256; cv=none; b=eUsXUk9b1Vib5ELruHxHLG+VH9O7gh7aT4vWv0NqNNIKNk11QyLThmLEYasRr7B0iCS3gg vDR+Zu8gPz9nprSYwzKDDLG+U3wOVLmxshpQq/keCsI7muFzH3nIGb4MKL6xpA91iztmuQ 3l3HgjxRIPql5r9zdQASoUH1fIcNiBOg2mK5A+zLo123lfY4tWTl/n4vbH4PQ8sUixyxcb UaCbjA2fgc5WDgFnvBoSEzSegTPH6CtJ82KFEtUIhn8FD0CkvJ0ropwBZe7I18XIYNZtNl SoCuInrXoC9DYa4gUouJuddkw9jr+5OuPpjuDQHpqknfIFfEhAfqJjqgrjMkgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMh3M6RNsz10ZR; Thu, 18 May 2023 20:12:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IKCVtq032311; Thu, 18 May 2023 20:12:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IKCVM0032309; Thu, 18 May 2023 20:12:31 GMT (envelope-from git) Date: Thu, 18 May 2023 20:12:31 GMT Message-Id: <202305182012.34IKCVM0032309@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: 0d574d8ba8b2 - main - pfsync tests: check for the correct IP address List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d574d8ba8b244f40c1484123c5042f49ac642b8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0d574d8ba8b244f40c1484123c5042f49ac642b8 commit 0d574d8ba8b244f40c1484123c5042f49ac642b8 Author: Kristof Provost AuthorDate: 2023-05-18 19:37:48 +0000 Commit: Kristof Provost CommitDate: 2023-05-18 20:12:07 +0000 pfsync tests: check for the correct IP address When checking if the state synced over we should look for 198.51.100.254, not 198.51.100.2. The test worked because the incorrect address is a substring of the correct one, but we should fix it anyway. Reported by: Naman Sood MFC after: 1 week --- tests/sys/netpfil/pf/pfsync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netpfil/pf/pfsync.sh b/tests/sys/netpfil/pf/pfsync.sh index 8d41b16d9116..8028ba9790ba 100644 --- a/tests/sys/netpfil/pf/pfsync.sh +++ b/tests/sys/netpfil/pf/pfsync.sh @@ -87,7 +87,7 @@ common_body() sleep 2 if ! jexec two pfctl -s states | grep icmp | grep 198.51.100.1 | \ - grep 198.51.100.2 ; then + grep 198.51.100.254 ; then atf_fail "state not found on synced host" fi } From nobody Thu May 18 20:12:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMh3P1wsfz4BykD; Thu, 18 May 2023 20:12: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 4QMh3P1QZJz3tTl; Thu, 18 May 2023 20:12:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HaxqzdR54w0a04qGgyUngefFcg2RqHE1UR8772F/xLs=; b=ECLj4bkhLiDkm3c3CmTAunX3mhKmUloJGwIW3/T9UoepB4qVXOn8hyQeG7GV4DZadVW1Ay /sygzs8ZR6ywSB385O/0VouB8PF5OrOq1KFJaUTKUpkgWDP2QECC2QOEQvU8uCkVdwnOpS zf1Adfz+OSizvaG2OcqevNIZM8eEShi1elWmR5qE5aOWwn8e1i7Jt70KxjhWC8weC1JgJB cWIw781syqgdrQGUzmUbmQQDKUpSiX46Lky176yhbcN3Lnlt8KnJgZD+oj8k+IHDxxTqh9 ngGf8Vj9EQ7geWjkqDLkQfxbmXgebqzKaGj0iDapWXFs19iHtmrghswNaK3UKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684440753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HaxqzdR54w0a04qGgyUngefFcg2RqHE1UR8772F/xLs=; b=Tfzcc2GEPIK1i5PBwthdEWVfpOG4WfGKXbjh0PkmuFGhvHXSZ2fs2i1v2ryS7r69mhWXOp cZ0sagafwlX6cnUbAOpXYxBi2CVu3BZiwk56Vt+6z2+AJgmIpAgn3Ki6gJ6c9/PIw72W+r 6v161Ng9OK6JsbJO/PTyCu6Vd+/YkeA2QW50NfIXEgp9DB16c4jem8iRTsDmZhieRD+X42 OgEZ5WRg+2/S0BMOD+exM6IyU1wIZpt7xZUTPDhPbGS94IgFCUTho0B3mp9MtaHsPLSEZG 77BzPhiV0V26CAm8GNKtydGGhxn96o5k0m2VxUbxPCY1tA8QSjaS6NxXC3ewaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684440753; a=rsa-sha256; cv=none; b=U4xXIczz5wzp8vHGt6RoQs7ShK3RpPA5R53FjaU0bt1kSUdqVpwT0uHQbgZ6Qedy7fJzVO 9R47T0HYVJiQgOa5JQKcZq7uVA5F+hEU+XoaEy68RDMFiVevLQrQglWHVnIUaCQatgZdNh 8zXH/w5GnYy60lwMAb+MxpcOUxHSOAi+mnC8TjUnOTeGIvq6iKz4tOf8W4wSPaxifdvMKY Kk1ajcGxa8B6H13nbJc3RLm+aBJ5pj9PCwICn1tbkjvIX4msJJnSBVZbXOtrwGBHZCl1ly Mz2BlpwMScRIQZr6crFGXsDpvI0+1a4miGlXyg+Ic8CGJHEhLf9RZw4IhGpX+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 4QMh3P0V81z10DX; Thu, 18 May 2023 20:12:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IKCWRO032332; Thu, 18 May 2023 20:12:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IKCWu4032331; Thu, 18 May 2023 20:12:32 GMT (envelope-from git) Date: Thu, 18 May 2023 20:12:32 GMT Message-Id: <202305182012.34IKCWu4032331@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: 6408d025cf34 - main - carp test: improve jail names for unicast_ll_v6 test List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6408d025cf343aee6abeeb83ed8f284ad283e1dc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=6408d025cf343aee6abeeb83ed8f284ad283e1dc commit 6408d025cf343aee6abeeb83ed8f284ad283e1dc Author: Kristof Provost AuthorDate: 2023-05-18 20:06:37 +0000 Commit: Kristof Provost CommitDate: 2023-05-18 20:12:08 +0000 carp test: improve jail names for unicast_ll_v6 test Rename the jails used in the unicast_ll_v6 test, to ensure the jail names are unique to this test. That is one of the requirements for running these tests in parallel. --- tests/sys/netinet/carp.sh | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh index 7508a6996fcd..5175435a8770 100755 --- a/tests/sys/netinet/carp.sh +++ b/tests/sys/netinet/carp.sh @@ -283,48 +283,49 @@ unicast_ll_v6_body() { carp_init + j=carp_uni_ll_v6 + bridge=$(vnet_mkbridge) epair_one=$(vnet_mkepair) epair_two=$(vnet_mkepair) - vnet_mkjail carp_uni_v6_one ${bridge} ${epair_one}a ${epair_two}a - vnet_mkjail carp_uni_v6_two ${epair_one}b - vnet_mkjail carp_uni_v6_three ${epair_two}b + vnet_mkjail ${j}_one ${bridge} ${epair_one}a ${epair_two}a + vnet_mkjail ${j}_two ${epair_one}b + vnet_mkjail ${j}_three ${epair_two}b - jexec carp_uni_v6_one ifconfig ${bridge} addm ${epair_one}a \ + jexec ${j}_one ifconfig ${bridge} addm ${epair_one}a \ addm ${epair_two}a - jexec carp_uni_v6_one ifconfig ${epair_one}a up - jexec carp_uni_v6_one ifconfig ${epair_two}a up - jexec carp_uni_v6_one ifconfig ${bridge} inet6 2001:db8::0:4/64 up \ + jexec ${j}_one ifconfig ${epair_one}a up + jexec ${j}_one ifconfig ${epair_two}a up + jexec ${j}_one ifconfig ${bridge} inet6 2001:db8::0:4/64 up \ no_dad - jexec carp_uni_v6_one ifconfig ${bridge} inet6 alias 2001:db8:1::1/64 \ + jexec ${j}_one ifconfig ${bridge} inet6 alias 2001:db8:1::1/64 \ no_dad up - jexec carp_uni_v6_two ifconfig ${epair_one}b inet6 2001:db8:1::2/64 \ + jexec ${j}_two ifconfig ${epair_one}b inet6 2001:db8:1::2/64 \ no_dad up - jexec carp_uni_v6_three ifconfig ${epair_two}b inet6 2001:db8:1::3/64 \ + jexec ${j}_three ifconfig ${epair_two}b inet6 2001:db8:1::3/64 \ no_dad up - ll_one=$(jexec carp_uni_v6_two ifconfig ${epair_one}b | awk "/ .*%${epair_one}b.* / { print \$2 }" | cut -d % -f 1) - ll_two=$(jexec carp_uni_v6_three ifconfig ${epair_two}b | awk "/ .*%${epair_two}b.* / { print \$2 }" | cut -d % -f 1) + ll_one=$(jexec ${j}_two ifconfig ${epair_one}b | awk "/ .*%${epair_one}b.* / { print \$2 }" | cut -d % -f 1) + ll_two=$(jexec ${j}_three ifconfig ${epair_two}b | awk "/ .*%${epair_two}b.* / { print \$2 }" | cut -d % -f 1) - jexec carp_uni_v6_two ifconfig ${epair_one}b inet6 add vhid 1 \ + jexec ${j}_two ifconfig ${epair_one}b inet6 add vhid 1 \ peer6 ${ll_two} \ 2001:db8::0:1/64 - jexec carp_uni_v6_three ifconfig ${epair_two}b inet6 add vhid 1 \ + jexec ${j}_three ifconfig ${epair_two}b inet6 add vhid 1 \ peer6 ${ll_one} \ 2001:db8::0:1/64 # Sanity check - atf_check -s exit:0 -o ignore jexec carp_uni_v6_two \ + atf_check -s exit:0 -o ignore jexec ${j}_two \ ping -6 -c 1 2001:db8:1::3 - wait_for_carp carp_uni_v6_two ${epair_one}b \ - carp_uni_v6_three ${epair_two}b + wait_for_carp ${j}_two ${epair_one}b \ + ${j}_three ${epair_two}b - atf_check -s exit:0 -o ignore jexec carp_uni_v6_one \ + atf_check -s exit:0 -o ignore jexec ${j}_one \ ping -6 -c 3 2001:db8::0:1 - } unicast_ll_v6_cleanup() From nobody Thu May 18 23:02:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMlr24DySz4C7Lg; Thu, 18 May 2023 23:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QMlr23lN3z46G4; Thu, 18 May 2023 23:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684450978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GnrADlT0GVVRTZAmiYyTWIUMssUg2TgdLzXXKvHcS+E=; b=VHdw306zE/TD4AtTdvQ+mApOpReT3xtF/dP30PhWzJwT0N+fuJkADHUfhHrPqhsskp41FM v0T2xmohVYLTVgdiA4tF9akUssJAWOJfbT5yO1cVmO1vFK0565byYQl3DJ0GjywJXOMMtT wNs96PTLt3gUeTsgGJ0GG+BUEY+ZacKrW7C9ftNfv1VXuD9+s4h3YxlPmv92aN0r+yXSDz eFld3q5dObMQRtPxOZiX/+auCe6XKsSMxVKlbHuvCy2Cs4fLpMqGvTfRWUDCDFEv7cJspK JvZSBgmoZAyIpaV2iwg5UodquU+21D1Yz+SVbGX32b9GbVMQGmr3xNJoOsI67g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684450978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GnrADlT0GVVRTZAmiYyTWIUMssUg2TgdLzXXKvHcS+E=; b=AxXLFsW3nXbd72JhuFzOaITvSaiAX17JpR5N7g147MGyp8Hv5ibRX6tos7Eq5BOB6tvPZx TtRygZETi2mNMDV7RW1LJDi3duOOPpbmYq1/cVekHjJZeWVDk0Cpca6BxLRM8i6icRBDxB u+gixqncQoBBJ0MQR42x+TZMh0JAMN13EC40GePLMIs63vDQzpUfGlnGvXffvl+iN50mz0 SwFW0omInxzBQnKeLVpAt25J5eZGZvOI0fihMm/OEEvTdgulKB+P84Ke7pOxgs2Od55xBT yrbbvXH6uU/er4emONHWHjKNTHvvSp5p3qxL64vv1QmEmSxfiS5u/4QZ5kd9qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684450978; a=rsa-sha256; cv=none; b=tLq5zoqPBsmToEgOYluYMyy68/+z7xnCJqOfAjh3Bb/vBMrzPPczqOve2Ohw28reRCP1Ah 0Jtt3NQlVslG7FL8bsTY9VkbBIagzABvjlbmX8rqUZqBOeGZDTX3UYeQz76HjbHMo9nJ/2 vBxmcwN4uY9zJMqj5+tJVG/4LryT9EkBkLbZHdFNVaOCwEU6V8n4jhKLMAV5cTREh32hfE 0l5u2LqxAMSBTKERc9mKkvmGtFH+vKMqyagI3DrnLk9MJHuG/wt5ZxPAAsnmYq/yETmMvv EEsDMXP7HYMDNraSmzL74VT98ZdKuxGnQAFhNb1gRtXmVtnA+W11U4pStDfrlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMlr22qFsz148P; Thu, 18 May 2023 23:02:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IN2w4k012331; Thu, 18 May 2023 23:02:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IN2w0A012330; Thu, 18 May 2023 23:02:58 GMT (envelope-from git) Date: Thu, 18 May 2023 23:02:58 GMT Message-Id: <202305182302.34IN2w0A012330@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 56b45bf5f6e1 - stable/13 - nfsd: Enable the NFSD_VNET vnet front end macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 56b45bf5f6e14f9a46ee896543ad24070f11cc9c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=56b45bf5f6e14f9a46ee896543ad24070f11cc9c commit 56b45bf5f6e14f9a46ee896543ad24070f11cc9c Author: Rick Macklem AuthorDate: 2023-02-18 22:59:36 +0000 Commit: Rick Macklem CommitDate: 2023-05-18 22:59:27 +0000 nfsd: Enable the NFSD_VNET vnet front end macros Several commits have added front end macros for the vnet macros to the NFS server, krpc and kgssapi. These macros are now null, but this patch changes them to front end the vnet macros. With this commit, many global variables in the code become vnet'd, so that nfsd(8), nfsuserd(8), rpc.tlsservd(8) and gssd(8) can run in a vnet prison, once enabled. To run the NFS server in a vnet prison still requires a couple of patches (in D37741 and D38371) that allow mountd(8) to export file systems from within a vnet prison. Once these are committed to main, a small patch to kern_jail.c allowing "allow.nfsd" without VNET_NFSD defined will allow the NFS server to run in a vnet prison. One area that still needs to be settled is cleanup when a prison is removed. Without this, everything should work except there will be a leak of malloc'd data and mutex locks when a vnet prison is removed. (cherry picked from commit ed03776ca7f43de8275da80cfa89a9ecc4732f82) --- sys/fs/nfs/nfs_commonport.c | 2 +- sys/fs/nfs/nfsport.h | 26 +++++++++++++------------- sys/fs/nfsserver/nfs_fha_new.c | 4 ++-- sys/fs/nfsserver/nfs_nfsdport.c | 2 +- sys/kgssapi/gssapi_impl.h | 21 +++++++++++---------- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 2 +- sys/rpc/rpcsec_tls.h | 22 +++++++++------------- 7 files changed, 38 insertions(+), 41 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 7fdcdf967fff..2079317f1f29 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -900,7 +900,7 @@ nfs_vnetinit(const void *unused __unused) mtx_init(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", NULL, MTX_DEF); } -SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, +VNET_SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, nfs_vnetinit, NULL); extern int (*nfsd_call_nfscommon)(struct thread *, struct nfssvc_args *); diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 0a0e68787f65..bcfbae857755 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -181,19 +181,19 @@ */ #define NFSMUTEX_T struct mtx -/* Define the NFSD_VNET macros similar to !VIMAGE. */ -#define NFSD_VNET_NAME(n) n -#define NFSD_VNET_DECLARE(t, n) extern t n -#define NFSD_VNET_DEFINE(t, n) t n -#define NFSD_VNET_DEFINE_STATIC(t, n) static t n -#define NFSD_VNET(n) (n) - -#define CTLFLAG_NFSD_VNET 0 - -#define NFSD_CURVNET_SET(n) -#define NFSD_CURVNET_SET_QUIET(n) -#define NFSD_CURVNET_RESTORE() -#define NFSD_TD_TO_VNET(n) NULL +/* Just define the NFSD_VNETxxx() macros as VNETxxx() macros. */ +#define NFSD_VNET_NAME(n) VNET_NAME(n) +#define NFSD_VNET_DECLARE(t, n) VNET_DECLARE(t, n) +#define NFSD_VNET_DEFINE(t, n) VNET_DEFINE(t, n) +#define NFSD_VNET_DEFINE_STATIC(t, n) VNET_DEFINE_STATIC(t, n) +#define NFSD_VNET(n) VNET(n) + +#define CTLFLAG_NFSD_VNET CTLFLAG_VNET + +#define NFSD_CURVNET_SET(n) CURVNET_SET(n) +#define NFSD_CURVNET_SET_QUIET(n) CURVNET_SET_QUIET(n) +#define NFSD_CURVNET_RESTORE() CURVNET_RESTORE() +#define NFSD_TD_TO_VNET(n) TD_TO_VNET(n) #endif /* _KERNEL */ diff --git a/sys/fs/nfsserver/nfs_fha_new.c b/sys/fs/nfsserver/nfs_fha_new.c index 3d18083f7205..20343c7c846f 100644 --- a/sys/fs/nfsserver/nfs_fha_new.c +++ b/sys/fs/nfsserver/nfs_fha_new.c @@ -100,8 +100,8 @@ SYSCTL_PROC(_vfs_nfsd_fha, OID_AUTO, fhe_stats, extern int newnfs_nfsv3_procid[]; -SYSINIT(nfs_fhanew, SI_SUB_VNET_DONE, SI_ORDER_ANY, fhanew_init, NULL); -SYSUNINIT(nfs_fhanew, SI_SUB_VNET_DONE, SI_ORDER_ANY, fhanew_uninit, NULL); +VNET_SYSINIT(nfs_fhanew, SI_SUB_VNET_DONE, SI_ORDER_ANY, fhanew_init, NULL); +VNET_SYSUNINIT(nfs_fhanew, SI_SUB_VNET_DONE, SI_ORDER_ANY, fhanew_uninit, NULL); static void fhanew_init(void *foo) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index bee9388261fd..578978537cbc 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -6898,7 +6898,7 @@ nfsrv_vnetinit(const void *unused __unused) nfsd_mntinit(); } -SYSINIT(nfsrv_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, +VNET_SYSINIT(nfsrv_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, nfsrv_vnetinit, NULL); /* diff --git a/sys/kgssapi/gssapi_impl.h b/sys/kgssapi/gssapi_impl.h index 72f379de4ebf..21c77ec61d8c 100644 --- a/sys/kgssapi/gssapi_impl.h +++ b/sys/kgssapi/gssapi_impl.h @@ -31,6 +31,8 @@ #include "gssd.h" +#include + MALLOC_DECLARE(M_GSSAPI); struct _gss_ctx_id_t { @@ -55,17 +57,16 @@ struct kgss_mech { LIST_HEAD(kgss_mech_list, kgss_mech); /* Macros for VIMAGE. */ -/* Define the KGSS_VNET macros similar to !VIMAGE. */ -#define KGSS_VNET_NAME(n) n -#define KGSS_VNET_DECLARE(t, n) extern t n -#define KGSS_VNET_DEFINE(t, n) t n -#define KGSS_VNET_DEFINE_STATIC(t, n) static t n -#define KGSS_VNET(n) (n) +/* Just define the KGSS_VNETxxx() macros as VNETxxx() macros. */ +#define KGSS_VNET_DEFINE(t, n) VNET_DEFINE(t, n) +#define KGSS_VNET_DEFINE_STATIC(t, n) VNET_DEFINE_STATIC(t, n) +#define KGSS_VNET_DECLARE(t, n) VNET_DECLARE(t, n) +#define KGSS_VNET(n) VNET(n) -#define KGSS_CURVNET_SET(n) -#define KGSS_CURVNET_SET_QUIET(n) -#define KGSS_CURVNET_RESTORE() -#define KGSS_TD_TO_VNET(n) NULL +#define KGSS_CURVNET_SET(n) CURVNET_SET(n) +#define KGSS_CURVNET_SET_QUIET(n) CURVNET_SET_QUIET(n) +#define KGSS_CURVNET_RESTORE() CURVNET_RESTORE() +#define KGSS_TD_TO_VNET(n) TD_TO_VNET(n) extern struct mtx kgss_gssd_lock; extern struct kgss_mech_list kgss_mechs; diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 693359eff6d6..6c3cbe619c8c 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -221,7 +221,7 @@ svc_rpc_gss_init(void *arg) sx_init(&svc_rpc_gss_lock, "gsslock"); } } -SYSINIT(svc_rpc_gss_init, SI_SUB_VNET_DONE, SI_ORDER_ANY, +VNET_SYSINIT(svc_rpc_gss_init, SI_SUB_VNET_DONE, SI_ORDER_ANY, svc_rpc_gss_init, NULL); bool_t diff --git a/sys/rpc/rpcsec_tls.h b/sys/rpc/rpcsec_tls.h index 5781424a6180..5f53fc73fbd0 100644 --- a/sys/rpc/rpcsec_tls.h +++ b/sys/rpc/rpcsec_tls.h @@ -86,19 +86,15 @@ bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, #define RPCTLS_REFNO_HANDSHAKE 0xFFFFFFFFFFFFFFFFULL /* Macros for VIMAGE. */ -/* Define the KRPC_VNET macros similar to !VIMAGE. */ -#define KRPC_VNET_NAME(n) n -#define KRPC_VNET_DECLARE(t, n) extern t n -#define KRPC_VNET_DEFINE(t, n) t n -#define KRPC_VNET_DEFINE_STATIC(t, n) static t n -#define KRPC_VNET(n) (n) - -#define CTLFLAG_KRPC_VNET 0 - -#define KRPC_CURVNET_SET(n) -#define KRPC_CURVNET_SET_QUIET(n) -#define KRPC_CURVNET_RESTORE() -#define KRPC_TD_TO_VNET(n) NULL +/* Just define the KRPC_VNETxxx() macros as VNETxxx() macros. */ +#define KRPC_VNET_DEFINE(t, n) VNET_DEFINE(t, n) +#define KRPC_VNET_DEFINE_STATIC(t, n) VNET_DEFINE_STATIC(t, n) +#define KRPC_VNET(n) VNET(n) + +#define KRPC_CURVNET_SET(n) CURVNET_SET(n) +#define KRPC_CURVNET_SET_QUIET(n) CURVNET_SET_QUIET(n) +#define KRPC_CURVNET_RESTORE() CURVNET_RESTORE() +#define KRPC_TD_TO_VNET(n) TD_TO_VNET(n) #endif /* _KERNEL */ From nobody Thu May 18 23:09:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMlz82GZvz4C7Vw; Thu, 18 May 2023 23:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QMlz80Yf9z46vS; Thu, 18 May 2023 23:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TFxO8f6QNjBHxhz66uQUCyN1e6K07gLOxZuLj+WQCqs=; b=wNPf8XITtbO2Xr+4JCu6J2mfn0ogUKmnS/sYk1uX91Xj2Gu8BABiJYsXO00CHcTc5rdJMn dAhSQsN/gMuvmFd2m5UbQYK2Kf4r2yRFT07CsEpQItr2wvrX8j8W3Bc8NAoymCII1Gz23y AEOCsPqmozpLp/PYTNkHxPQz6unfPczvRIje0tYTj7rCgZCd0luUFB97+tzhGpuHdYfefY TeW9zrYCZ1KaU+FFUj/ebFp7VpGfqucoNJAhAkayJ5z3bp6GHpT7cDXn4JAUqgAUWBzNyL Gnlh/OeeSMT/GWhMIJnixypr/4OIBYPfMMavyBxA5cGNxoG8XHALL2ulKcRMHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TFxO8f6QNjBHxhz66uQUCyN1e6K07gLOxZuLj+WQCqs=; b=v+PAHcHbsKDueCa5SvzlNh93RW4PnKJYI6SNT2PVrFKaDau7MUNG5JAagD/ULk/8F6fEeR ZoxoW4B3jsm6zZeE2DkMN+38F1e9EPJ/L7qWATvo+LC5IPLtLghzpG2OLAx4JxXKjF/wqg iFWf/B4W5L7SQ2w1O7YckUPwUAq3oUAw5lHIy8wHkUspbC8VOYG7PKnXkwht3vbaLedceO b5Vog+pJwnagdG55bAfnmY25ctPUh9CBSeV0i9EB64QPv+3uRbTJUIYS6LXIt5nGymivmG lXeiLAiMQqCmtaCIQbOBYvRdBFVj1HB7ohWfpdrrFa0gDPOAZn1FXAls+WZr/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684451348; a=rsa-sha256; cv=none; b=yGGXdtApH9cu0a5f7SCuO16VZOqCiBspla2X1JdWF5UYXznlDF8FmizJwfr4BTuoLbGKRT DHPm4xfVZO9vRKwdc0zowt3befmZEhJYnWp51yPoK3RQ1VSwKCAd0GFE8W9RJZj6bJ6t7K MilCx3kBtaO3JOk9y1PrWbqqHxu1x2GQCpiYOxYcv4iQJcMnnGKM4c5jBUnp59sFJkFisg /1gV+UXD46g7jWcXjqubQHFiBDgQjvY0HFaVCHRfx56mGs4WVMKXq/RilcheTQmAaxHwHY ZVj3nWdhYBsld8g5Qcgj4KjYwEBIzrEqAgYdVF4pikgaiVtN6iyIFHdDQDBUWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMlz76lK0z14fp; Thu, 18 May 2023 23:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34IN97g1013179; Thu, 18 May 2023 23:09:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34IN97We013178; Thu, 18 May 2023 23:09:07 GMT (envelope-from git) Date: Thu, 18 May 2023 23:09:07 GMT Message-Id: <202305182309.34IN97We013178@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 8fecd12ec950 - stable/13 - nfsd: Add VNET_SYSUNINIT() macros for vnet cleanup List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8fecd12ec95005f11ff6f0f43c0cb6e59fdf5317 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=8fecd12ec95005f11ff6f0f43c0cb6e59fdf5317 commit 8fecd12ec95005f11ff6f0f43c0cb6e59fdf5317 Author: Rick Macklem AuthorDate: 2023-02-20 21:11:22 +0000 Commit: Rick Macklem CommitDate: 2023-05-18 23:05:48 +0000 nfsd: Add VNET_SYSUNINIT() macros for vnet cleanup Commit ed03776ca7f4 enabled the vnet front end macros. As such, for kernels built with the VIMAGE option will malloc data and initialize locks on a per-vnet basis, typically via a VNET_SYSINIT(). This patch adds VNET_SYSUNINIT() macros to do the frees of the per-vnet malloc'd data and destroys of per-vnet locks. It also removes the mtx_lock/mtx_unlock calls from nfsrvd_cleancache(), since they are not needed. (cherry picked from commit ef6fcc5e2b0714c859d2e4ba23a55b1fd12f8a4e) --- sys/fs/nfs/nfs_commonport.c | 28 +++++++++++++--------------- sys/fs/nfsserver/nfs_nfsdcache.c | 4 ---- sys/fs/nfsserver/nfs_nfsdport.c | 10 +++------- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 15 ++++++++++++++- sys/rpc/rpcsec_tls.h | 3 --- 5 files changed, 30 insertions(+), 30 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index 2079317f1f29..d72565cd3e9c 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -151,7 +151,6 @@ struct mtx nfs_clstate_mutex; /* local functions */ static int nfssvc_call(struct thread *, struct nfssvc_args *, struct ucred *); -static void nfs_clean(struct prison *); #ifdef __NO_STRICT_ALIGNMENT /* @@ -872,19 +871,6 @@ nfs_pnfsio(task_fn_t *func, void *context) return (ret); } -static void -nfs_clean(struct prison *pr) -{ - - NFSD_CURVNET_SET(pr->pr_vnet); - mtx_destroy(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx); - if (pr != &prison0) - free(NFSD_VNET(nfsstatsv1_p), M_TEMP); - /* Clean out the name<-->id cache. */ - nfsrv_cleanusergroup(); - NFSD_CURVNET_RESTORE(); -} - /* * Initialize everything that needs to be initialized for a vnet. */ @@ -903,6 +889,19 @@ nfs_vnetinit(const void *unused __unused) VNET_SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, nfs_vnetinit, NULL); +static void +nfs_cleanup(void *unused __unused) +{ + + mtx_destroy(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx); + if (!IS_DEFAULT_VNET(curvnet)) + free(NFSD_VNET(nfsstatsv1_p), M_TEMP); + /* Clean out the name<-->id cache. */ + nfsrv_cleanusergroup(); +} +VNET_SYSUNINIT(nfs_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, + nfs_cleanup, NULL); + extern int (*nfsd_call_nfscommon)(struct thread *, struct nfssvc_args *); /* @@ -939,7 +938,6 @@ nfscommon_modevent(module_t mod, int type, void *data) } nfsd_call_nfscommon = NULL; - nfs_clean(&prison0); /* and get rid of the mutexes */ mtx_destroy(&nfs_nameid_mutex); mtx_destroy(&newnfsd_mtx); diff --git a/sys/fs/nfsserver/nfs_nfsdcache.c b/sys/fs/nfsserver/nfs_nfsdcache.c index 2629c795802f..0eb623b6f5ee 100644 --- a/sys/fs/nfsserver/nfs_nfsdcache.c +++ b/sys/fs/nfsserver/nfs_nfsdcache.c @@ -824,13 +824,10 @@ nfsrvd_cleancache(void) int i; for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - mtx_lock(&NFSD_VNET(nfsrchash_table)[i].mtx); LIST_FOREACH_SAFE(rp, &NFSD_VNET(nfsrchash_table)[i].tbl, rc_hash, nextrp) nfsrc_freecache(rp); - mtx_unlock(&NFSD_VNET(nfsrchash_table)[i].mtx); } - mtx_lock(&nfsrc_udpmtx); for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { LIST_FOREACH_SAFE(rp, &NFSD_VNET(nfsrvudphashtbl)[i], rc_hash, nextrp) { @@ -838,7 +835,6 @@ nfsrvd_cleancache(void) } } NFSD_VNET(nfsstatsv1_p)->srvcache_size = 0; - mtx_unlock(&nfsrc_udpmtx); NFSD_VNET(nfsrc_tcpsavedreplies) = 0; } diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 578978537cbc..4247177a3fc0 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -108,8 +108,6 @@ NFSD_VNET_DEFINE_STATIC(struct vfsoptlist, nfsv4root_newopt); NFSD_VNET_DEFINE_STATIC(bool, nfsrv_suspend_nfsd) = false; NFSD_VNET_DEFINE_STATIC(bool, nfsrv_mntinited) = false; -static void nfsrv_cleanup(struct prison *); - static int nfssvc_srvcall(struct thread *, struct nfssvc_args *, struct ucred *); static void nfsvno_updateds(struct vnode *, struct ucred *, struct thread *); @@ -6906,15 +6904,13 @@ VNET_SYSINIT(nfsrv_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, * done when the jail is destroyed or the module unloaded. */ static void -nfsrv_cleanup(struct prison *pr) +nfsrv_cleanup(const void *unused __unused) { int i; - NFSD_CURVNET_SET(pr->pr_vnet); NFSD_LOCK(); if (!NFSD_VNET(nfsrv_mntinited)) { NFSD_UNLOCK(); - NFSD_CURVNET_RESTORE(); return; } NFSD_VNET(nfsrv_mntinited) = false; @@ -6954,8 +6950,9 @@ nfsrv_cleanup(struct prison *pr) free(NFSD_VNET(nfssessionhash), M_NFSDSESSION); free(NFSD_VNET(nfsv4root_mnt), M_TEMP); NFSD_VNET(nfsv4root_mnt) = NULL; - NFSD_CURVNET_RESTORE(); } +VNET_SYSUNINIT(nfsrv_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, + nfsrv_cleanup, NULL); extern int (*nfsd_call_nfsd)(struct thread *, struct nfssvc_args *); @@ -6996,7 +6993,6 @@ nfsd_modevent(module_t mod, int type, void *data) vn_deleg_ops.vndeleg_disable = NULL; #endif nfsd_call_nfsd = NULL; - nfsrv_cleanup(&prison0); mtx_destroy(&nfsrc_udpmtx); mtx_destroy(&nfs_v4root_mutex); mtx_destroy(&nfsrv_dontlistlock_mtx); diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 6c3cbe619c8c..05be03bb74ea 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -206,7 +206,7 @@ KGSS_VNET_DEFINE(struct svc_rpc_gss_client_list, svc_rpc_gss_clients); KGSS_VNET_DEFINE_STATIC(uint32_t, svc_rpc_gss_next_clientid) = 1; static void -svc_rpc_gss_init(void *arg) +svc_rpc_gss_init(void *unused __unused) { int i; @@ -224,6 +224,19 @@ svc_rpc_gss_init(void *arg) VNET_SYSINIT(svc_rpc_gss_init, SI_SUB_VNET_DONE, SI_ORDER_ANY, svc_rpc_gss_init, NULL); +static void +svc_rpc_gss_cleanup(void *unused __unused) +{ + + mem_free(KGSS_VNET(svc_rpc_gss_client_hash), + sizeof(struct svc_rpc_gss_client_list) * + svc_rpc_gss_client_hash_size); + if (IS_DEFAULT_VNET(curvnet)) + sx_destroy(&svc_rpc_gss_lock); +} +VNET_SYSUNINIT(svc_rpc_gss_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, + svc_rpc_gss_cleanup, NULL); + bool_t rpc_gss_set_callback(rpc_gss_callback_t *cb) { diff --git a/sys/rpc/rpcsec_tls.h b/sys/rpc/rpcsec_tls.h index 5f53fc73fbd0..77c969c0655e 100644 --- a/sys/rpc/rpcsec_tls.h +++ b/sys/rpc/rpcsec_tls.h @@ -72,9 +72,6 @@ enum clnt_stat rpctls_srv_disconnect(uint64_t sec, uint64_t usec, /* Initialization function for rpcsec_tls. */ int rpctls_init(void); -/* Cleanup function for rpcsec_tls. */ -void rpctls_cleanup(void); - /* Get TLS information function. */ bool rpctls_getinfo(u_int *maxlen, bool rpctlscd_run, bool rpctlssd_run); From nobody Thu May 18 23:10:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMm0g48syz4C7ry; Thu, 18 May 2023 23:10: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 4QMm0g3YJxz47C5; Thu, 18 May 2023 23:10:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z2G/wHFBAvycS2wHrFPMVtnqs5GPVuSo1mQ4RFtdRtQ=; b=pk90Hso2IHuYWDVHB7M2dwZ08u7og8N7BKeWwjvCJIGXR+0XtZrRZVvp/XRqWhCAUhitd+ r3CEJkUU6e8c9XemKGcZLB3mt2bDWDlbOmz2tiQOGibpAjUCAW2zY/SpQgtFrnUvSZe8pi UqD6ySNNeGyPN8cvfk0wc0ohisoAIYuzh30Yif/wYhWLkSR7GY55SIrhviobKncYw6np90 lR3QhmAg/5R7ng88WDJnuhzJ5N5LKcoeY9ua6UhOlX6uSO0MfSIXdzH75IaKh7+T5Umru7 0HW8drbpJaOTCcRt9HqSRLIbw17MUrH+TPItVm6sx/KY12CNn5IIDfuD9UjxdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z2G/wHFBAvycS2wHrFPMVtnqs5GPVuSo1mQ4RFtdRtQ=; b=GqY1RekR/Va7kW8MH5O4O39XxEj4EuNVeaQdYoTl5SCKtBOMW1Lp09YOiKtc8UcKqLWdgG 2F0tH201LlDPdaYLZhdjODhQzTKG0glIp7WO3jw8YrRexMO9lKluiEtInOEkt6tvbIWL1l LPoiIFIcS5jJJR1ua1Q6nt680g9kCbwTKXsP3N54cErnBBmmmA5/AGNvrRfIbEG53iZEQE ryiTYLfZeJB318efn32HnwD7eUsexXfyBJMDcTmJIs8VALF73AjNYtFf2aLecSQqWBF5n0 mCus4XB0c+/hgVdF+XjdphDsQu+VnA9iAWzGpFIprIlzNjQqARKnCeiJWt7oAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684451427; a=rsa-sha256; cv=none; b=aKEL06VhAZeD2M8CAUdXhqZ5BVYgTtgBi/e/r98YBasof16cmiT7WEpGBkCkwp5wHLZ4a3 672dQlDKQU+oW88PfYOQF7M2Tuj/lHkNazpOeEaPBIpo+DmEhjVbkhRUpQ+XvK1LNWAQTt mvyD0eg782FfML3etJdQN5+2/pGUkMVxMPdtPiQVqeLOkGWjVjMc2fszXqsGxTRAthZte8 g9Nhf2QcJMI1YX81GsBBz1DswHAZXWSyaqKTPiY/OohSrDNuCvVOLXEgmOZiMT9T6B6AaD XTBEYw+S8r/Zf2LebaMrtXOk/GPELuLAQjDl1XH+ng2XJFp/9YrdF2rnVIDj4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMm0g2bmMz14n6; Thu, 18 May 2023 23:10:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34INARfI021869; Thu, 18 May 2023 23:10:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34INAR73021868; Thu, 18 May 2023 23:10:27 GMT (envelope-from git) Date: Thu, 18 May 2023 23:10:27 GMT Message-Id: <202305182310.34INAR73021868@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: b4098b4fd6d6 - stable/13 - nfscommon: Use IS_DEFAULT_VNET() in the vnet initialization List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b4098b4fd6d63d88abba265b06bf4aa39174b7be Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=b4098b4fd6d63d88abba265b06bf4aa39174b7be commit b4098b4fd6d63d88abba265b06bf4aa39174b7be Author: Rick Macklem AuthorDate: 2023-02-21 03:43:37 +0000 Commit: Rick Macklem CommitDate: 2023-05-18 23:09:39 +0000 nfscommon: Use IS_DEFAULT_VNET() in the vnet initialization Another oopsie. The vnet initialization function in nfs_commonport.c for initializing prison0 by testing curthread->td_ucred->cr_prison == &prison0. This is bogus and always true. Replace it with IS_DEFAULT_VNET(curvnet). (cherry picked from commit ef4e8f0cf91f7009745d5a7a90d3bdd2d9e25780) --- sys/fs/nfs/nfs_commonport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index d72565cd3e9c..e78edff964f9 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -878,7 +878,7 @@ static void nfs_vnetinit(const void *unused __unused) { - if (curthread->td_ucred->cr_prison == &prison0) + if (IS_DEFAULT_VNET(curvnet)) NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; else NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), From nobody Thu May 18 23:12:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMm2h5ln9z4C7X2; Thu, 18 May 2023 23:12: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 4QMm2h2qKHz49G6; Thu, 18 May 2023 23:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vkk4Ml/9sXcjPJV3BqkdoMLh2FsCrY44H+zNJRs39rI=; b=ml/tL/XnR4iB3696ebaMzRwNyexPUFplg3V7oHvADHv4EnN4Z4+OkktUlApDGn5zlKiELU GiY48o6U68ug8mwcxs4e5U2TlM9446Fs7aXVJYt2sN6IJI51/ORTbx1fV/HmuUquY45878 ZQuKWBe6tc054n9mq3m7ZFNYfBmTiFG/BpIuBjZcXdUCOKkl0+rI54pqpd85kOR8zDrsLl ldFEsfhRS+WvvxusILnuSYBlykwTux6u4cW5+T9wrdVj4dE/obl6b9ksJLlSr1W3tnrVs/ t8NT6NTS0jxY2pKltq1YbpYgC3XEqQAo+NnjzA18PuRHYYWFodU/l5lZFj1qWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vkk4Ml/9sXcjPJV3BqkdoMLh2FsCrY44H+zNJRs39rI=; b=moRGu1khz1Da4ILF6KoHfsUKUp/0xCr9Bq9NIrn2UQpEb6aoCFi+JydXdqEJTffgvdP/U+ GQHR5/3x7SQXRA3sdRJhglbB1AvPPmsks9yOk+LpxoGFFQhgkS/X8D+116z4FR2ilT9b/g wiC0srBn71O12ltr9cWkj1rr093bm553/Uhd9+sxWzxDGBLxbBmIgyjSVYMWhn/fzdWNwY ntMVWBXcYLCZpkWlEwFWvuYyzip6F954fBOwBhb2tNsVx1nfXKyk7jhUGPIOxIr83D2d9z u9aDZONSHVhch8TyODJpgxi/1qaB423Hs5uMDVVHhEI+xIsSJ5ovSEdMbkmCPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684451532; a=rsa-sha256; cv=none; b=qE2NBs4qR9lECUWCU5T71Z9Sjmk83u1+1SQ8BwS/X14EpMQwnn4PBikANOQH5ybzVaakqJ Z9zPYRtTA+rAJu/mtFw90CE1wO1c91TMvxN7IpStcaKtzOXsMJj2jpL2w8qsgTXJ2HKcyw I4Xo0FCy1qBtJoRbSCdYDy8Zi2+5ob/HY+2BL0R0ERuCbr3xl0BkSwNy7XVo8nKkH0lxFj 4rtYEtcSLpj5xlEP7vOxQ+7qw7hKllmoNjpi8/7efJmwDENsYCET5efi2YuqBbsC75VFPz fKax1/JSCarga60OkZFkswCsX9gdT32EpTus3plRjuWLrXdBjEPSvvu6eBNz5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMm2h1vKFz14l7; Thu, 18 May 2023 23:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34INCCNj028440; Thu, 18 May 2023 23:12:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34INCCOe028439; Thu, 18 May 2023 23:12:12 GMT (envelope-from git) Date: Thu, 18 May 2023 23:12:12 GMT Message-Id: <202305182312.34INCCOe028439@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: c71535c29df0 - stable/13 - nfsd: Fix a use after free when vnet prisons are deleted List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c71535c29df0ed25b879b42b0ffe2fd5386fa94e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=c71535c29df0ed25b879b42b0ffe2fd5386fa94e commit c71535c29df0ed25b879b42b0ffe2fd5386fa94e Author: Rick Macklem AuthorDate: 2023-02-24 15:36:28 +0000 Commit: Rick Macklem CommitDate: 2023-05-18 23:10:58 +0000 nfsd: Fix a use after free when vnet prisons are deleted The Kasan tests show the nfsrvd_cleancache() results in a modify after free. I think this occurs because the nfsrv_cleanup() function gets executed after nfs_cleanup() which free's the nfsstatsv1_p. This patch makes them use the same subsystem and sets SI_ORDER_FIRST for nfs_cleanup(), so that it will be called after nfsrv_cleanup() via VNET_SYSUNINIT(). The patch also sets nfsstatsv1_p NULL after free'ng it, so that a crash will result if it is used after free'ng. (cherry picked from commit 4036fcb8053adf3ac54c8428eef0dd076dfc1718) --- sys/fs/nfs/nfs_commonport.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c index e78edff964f9..7f64b3e978a3 100644 --- a/sys/fs/nfs/nfs_commonport.c +++ b/sys/fs/nfs/nfs_commonport.c @@ -886,7 +886,7 @@ nfs_vnetinit(const void *unused __unused) mtx_init(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx, "nfsuserd", NULL, MTX_DEF); } -VNET_SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, +VNET_SYSINIT(nfs_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_FIRST, nfs_vnetinit, NULL); static void @@ -894,12 +894,14 @@ nfs_cleanup(void *unused __unused) { mtx_destroy(&NFSD_VNET(nfsrv_nfsuserdsock).nr_mtx); - if (!IS_DEFAULT_VNET(curvnet)) + if (!IS_DEFAULT_VNET(curvnet)) { free(NFSD_VNET(nfsstatsv1_p), M_TEMP); + NFSD_VNET(nfsstatsv1_p) = NULL; + } /* Clean out the name<-->id cache. */ nfsrv_cleanusergroup(); } -VNET_SYSUNINIT(nfs_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, +VNET_SYSUNINIT(nfs_cleanup, SI_SUB_VNET_DONE, SI_ORDER_FIRST, nfs_cleanup, NULL); extern int (*nfsd_call_nfscommon)(struct thread *, struct nfssvc_args *); From nobody Thu May 18 23:15:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMm694jf3z4C83p; Thu, 18 May 2023 23:15: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 4QMm6943jsz49ds; Thu, 18 May 2023 23:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tr3wb24u19Wyhom8klKeyeRmq4o3XfzPiex68KH6+BY=; b=LrI0Rbk/tZ+jXQ4aNpx0otfC1hck8MjjjkDoNfJ9qGsDwtJrpd8U8Chlh5nO+olXIa2fy5 4j8VzfTSan8/9OcdIIVpT+tlVaYdZhsnfDKOxkHk7m9NHDVZwHl1AIB4uCp3Aox9kD4FNM m8Gx1kz+7scNme2s80osbF/tHfcixoLtM1qiZ7Zpthj6wRNRv6yRKGiRBNssMaJMMNpCkA 1h0qdrI+TPVMoTy5wVpHPiDWgQ3VKKAsxkGFlknLNkcXDC2zjhyUBSNX4/abNBrhCrOxsh psGv837cAIDijfMF/wlxA+DQnELqPyfVzvVohTuJDw2K0XykCZPzfMQqcqYZCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684451713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Tr3wb24u19Wyhom8klKeyeRmq4o3XfzPiex68KH6+BY=; b=SKIUYryhYIHmgzJ5hzX/IKlHeBIL5zn1uoqHf0g5yU8UEw2XjI2y7DSK3ay6FcbjtEy0y1 uRvdfTyWpF2UFTqZrqWm9X7B/NcHNve6t0la7Pyy8ein9dL0Df/3euZNwyXJiAJlxm8ETL s2t2PZ2za1uMGLTJ+i/SjfdqKHYicZ/XUzW+KTWCGpqPjvWNi2rB87oJcYwSjmafJeXMc0 w6YoOIBjN5eMQE0RzauP+vviH3YrlbsuBCaBcL1qMX8ILVRkMZ6Ji8rv8RIz12hilClj0S sJcHRVptAsKJyRzCFZadWTEN+5xlxrOcnc68MK9B8H3FJp6pd6BmCwjgyGMKGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684451713; a=rsa-sha256; cv=none; b=J18RczZHIqwN0iDlDVAx6zOtesJeRV4DlcuwnZWpTlos2uXibrvBYInYX9RQUpFMWZog+r k/TeN9tr5HdfXEhjA6Mpu8JzpzBgFdfJpvpmajrWp5s+dgKqps2Fe/J7j0ZAbCo0vIYJbE tTTIvvuEIjtkWlUtu6nWk/ERB2m91jlBAPDuAfAa4crHbQyd+AdUr96gpBc52+/nPKEp+F +0UTTI4NU9r7zphuMcXb2zJW3YI9l2arG6roLuu+2/DjDDfr0B/nTJcC3r7c0vWKVZd5VS jP3KOT2xhQVVesS1YEkuPnfGxGxh2n/o96MvXUViK4d6eb2PRZPra0E16IHg+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMm692s4cz14gj; Thu, 18 May 2023 23:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34INFDsY029011; Thu, 18 May 2023 23:15:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34INFD0M029010; Thu, 18 May 2023 23:15:13 GMT (envelope-from git) Date: Thu, 18 May 2023 23:15:13 GMT Message-Id: <202305182315.34INFD0M029010@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 34a0d4cbae16 - stable/13 - svc_rpcsec_gss.c: Separate out the non-vnet initialization List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 34a0d4cbae1689a5f362a2d8cf32f23335fa0359 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=34a0d4cbae1689a5f362a2d8cf32f23335fa0359 commit 34a0d4cbae1689a5f362a2d8cf32f23335fa0359 Author: Rick Macklem AuthorDate: 2023-03-01 23:29:25 +0000 Commit: Rick Macklem CommitDate: 2023-05-18 23:12:47 +0000 svc_rpcsec_gss.c: Separate out the non-vnet initialization Without this patch, a single initialization function was used to initialize both the vnet'd and non-vnet'd data. This patch separates out the non-vnet'd initializations into a separate function invoked by SYSINIT(). This avoids use of IS_DEFAULT_VNET() in the initialization functions and also configures the non-vnet'd initialization function to be called first, although ordering is not currently needed. (cherry picked from commit 57ff348804f98d956f2e203b665de5a8989dbf8c) --- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index 05be03bb74ea..872468aa7b18 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -207,6 +207,25 @@ KGSS_VNET_DEFINE_STATIC(uint32_t, svc_rpc_gss_next_clientid) = 1; static void svc_rpc_gss_init(void *unused __unused) +{ + + svc_auth_reg(RPCSEC_GSS, svc_rpc_gss, rpc_gss_svc_getcred); + sx_init(&svc_rpc_gss_lock, "gsslock"); +} +SYSINIT(svc_rpc_gss_init, SI_SUB_VFS, SI_ORDER_ANY, + svc_rpc_gss_init, NULL); + +static void +svc_rpc_gss_cleanup(void *unused __unused) +{ + + sx_destroy(&svc_rpc_gss_lock); +} +SYSUNINIT(svc_rpc_gss_cleanup, SI_SUB_VFS, SI_ORDER_ANY, + svc_rpc_gss_cleanup, NULL); + +static void +svc_rpc_gss_vnetinit(void *unused __unused) { int i; @@ -216,26 +235,20 @@ svc_rpc_gss_init(void *unused __unused) for (i = 0; i < svc_rpc_gss_client_hash_size; i++) TAILQ_INIT(&KGSS_VNET(svc_rpc_gss_client_hash)[i]); TAILQ_INIT(&KGSS_VNET(svc_rpc_gss_clients)); - if (IS_DEFAULT_VNET(curvnet)) { - svc_auth_reg(RPCSEC_GSS, svc_rpc_gss, rpc_gss_svc_getcred); - sx_init(&svc_rpc_gss_lock, "gsslock"); - } } -VNET_SYSINIT(svc_rpc_gss_init, SI_SUB_VNET_DONE, SI_ORDER_ANY, - svc_rpc_gss_init, NULL); +VNET_SYSINIT(svc_rpc_gss_vnetinit, SI_SUB_VNET_DONE, SI_ORDER_ANY, + svc_rpc_gss_vnetinit, NULL); static void -svc_rpc_gss_cleanup(void *unused __unused) +svc_rpc_gss_vnet_cleanup(void *unused __unused) { mem_free(KGSS_VNET(svc_rpc_gss_client_hash), sizeof(struct svc_rpc_gss_client_list) * svc_rpc_gss_client_hash_size); - if (IS_DEFAULT_VNET(curvnet)) - sx_destroy(&svc_rpc_gss_lock); } -VNET_SYSUNINIT(svc_rpc_gss_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, - svc_rpc_gss_cleanup, NULL); +VNET_SYSUNINIT(svc_rpc_gss_vnet_cleanup, SI_SUB_VNET_DONE, SI_ORDER_ANY, + svc_rpc_gss_vnet_cleanup, NULL); bool_t rpc_gss_set_callback(rpc_gss_callback_t *cb) From nobody Fri May 19 08:10:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMzzn4x4Zz4BdfX; Fri, 19 May 2023 08:10: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 4QMzzn4Lsrz4CM3; Fri, 19 May 2023 08:10:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=waGlwCeJ1IVYQZBNfznQvbgX95V1/Uz5m3sQr9FgWVc=; b=KKWkwQusd2Y09GFJYfXO/Ba3/ylr/0k9MFsT43znlwtCGDuQ0vO0m1bkenDpb7LIDl6cpN vshGlWKvhAZYoaHPDisAlDt2jhEouDHLlu0pPKTQThzKRYS47MVxEPtDrtfTEpIV2P80qA aRt5ZKrNf5RXQFB4zgZfD2+AxYumhLE/0hKMon6bwjefNdQbkJjZssAZkv0IJpD8uFomlY BrMCYz40xpxZscf/M019at8pNaN5TUzQ/ByTxW7rDpgmcy9sskfuoONuZt4DTE62a1z0db A8FnipHMbbSmgBGSawLJumsWO+drtcF7wZrH4c4s27ek6vXrllpyRHsp52OX+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=waGlwCeJ1IVYQZBNfznQvbgX95V1/Uz5m3sQr9FgWVc=; b=GUIP83lXYsZR05GzRDYGbeScFHOZ5zx4oi8LwleelLmmQ9krybS4aVJ4iiJpD48JNPEcTm MRyf64NbQ/UIPVfJ9jYgAJ3BMQ7/0nMO5qODwNHiD+ABUcIpWtdn4v9pAhGQIr9acLJqvV 2hUkjuXf/lVA1EynFtVPNx27eOEdYyNByAlZTcvYBKk5URhbB7yfQ4JBBU3yFPQB3KBlk3 IZ7anSzVJysG12ikeANzdOUgfBF7OHaKD6ftN4AaYz1ioJcO3Iu4f8o71iZ/Mlr4iAVgPK uoo855/SfoUv71yFzsa9gD2RiBnE4czfSHWtuwavog1piMJzQysAAaXGY6Jv3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684483829; a=rsa-sha256; cv=none; b=EBvxZirDJKq3GvAjDEu7nfC/eRf4JMubnfagfn1xH7cWGDvibhjjaDoE4grMWI/aXczo9k I65yKNDGxjnbyJkiRk3V4zlTEOvdBDtSWUuGUFkQUKuanVqIt96MZJfLzUE37HR7hJIt1L qpDW73uLb+rEqr0geMlgadKTShvft94h8RQ3RjkWIAt5S95c7lawlVtLvEimfJxsqgTl2p 6f4OCLh79l7DX3LerZKVpnmgsQmLYd4EXj3VeTVRY21B7a6R304wsLaehunOXRE9CDLghP YLMjBzbdry/FZ+fcKbeNRzzQpUkVNKt1a4r8Y+LKXCz+eqyvjYkDJYgBzNRLTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMzzn3Ml9zL4q; Fri, 19 May 2023 08:10:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8ATQZ009853; Fri, 19 May 2023 08:10:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8ATtX009852; Fri, 19 May 2023 08:10:29 GMT (envelope-from git) Date: Fri, 19 May 2023 08:10:29 GMT Message-Id: <202305190810.34J8ATtX009852@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 0edfc2a92c80 - stable/13 - sh(1): fix history file write checking List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 0edfc2a92c80650c2b9ea8d8572752d0a1e6e8eb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=0edfc2a92c80650c2b9ea8d8572752d0a1e6e8eb commit 0edfc2a92c80650c2b9ea8d8572752d0a1e6e8eb Author: Daniel Kolesa AuthorDate: 2023-03-20 16:42:59 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:07:37 +0000 sh(1): fix history file write checking We cannot just compare histsizeval() against 0, since that returns a string pointer, which is always non-zero (non-null). The logic in sethistsize() initializes the history size to 100 with values that are non-number, and an empty string counts as that. Therefore, the only time we want to not write into history with HISTSIZE val set is when it's explicitly 0. MFC after: 2 weeks (cherry picked from commit 3ce64010f8ce3accc64eff312f31dc0d3c0fc9d1) --- bin/sh/histedit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/histedit.c b/bin/sh/histedit.c index b9af20e6e9ab..dc4bff469d3f 100644 --- a/bin/sh/histedit.c +++ b/bin/sh/histedit.c @@ -90,7 +90,7 @@ get_histfile(void) const char *histfile; /* don't try to save if the history size is 0 */ - if (hist == NULL || histsizeval() == 0) + if (hist == NULL || !strcmp(histsizeval(), "0")) return (NULL); histfile = expandstr("${HISTFILE-${HOME-}/.sh_history}"); From nobody Fri May 19 08:10:30 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMzzp5pPxz4BdRG; Fri, 19 May 2023 08:10: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 4QMzzp5B8Nz4CMP; Fri, 19 May 2023 08:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7yKMNhAZcJDLeZ+mRnHd1x9riOi7a93kcBKy0BkBFc=; b=WVC2Ltar0Knw9TP51JgfhQ++NSyRCgVusfgUDdDwrmm6Wjx4yhwfVkg9Eu6CdOpJj9dVZN wP+7f+hwqyHCuNzsUPkc97sA3jiRVD0Z8t3sP9pYFwYash3ZF9ke77TBxzwBcoVMulFhGo mZ4LwsTBt4DPkecIH6KCcXyMtI/4azcGaK95358i2NJjNHOgPs6nkj796CIsh71iwUR8yh JEXSGUFIhrORKwELndr95AtAeh1CjICVuly07yIXFkdJXMeu9B2vIBa8X4oNrjaXw7U2SL yRBPRwuedotAR4mlscZZbHuHNuohkfu+S6Q5VuAPjxmLb3F5YtcDLJS1Rw8XEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n7yKMNhAZcJDLeZ+mRnHd1x9riOi7a93kcBKy0BkBFc=; b=mWYShBbPCIlOuPQapka/qyZotqgpnFit+lxDUN3JbqtwTbDX2K/or+DIqqA3vwj/IwVJ8w OjfIXPSFCLnthKWbyHNLSWc9bVnPsAD8WsGToGcMMyj1LZut8uGKdgbIXqZ92mcbdeve9M eoyROg/YNJ/V9gfZypiV/CTQhCTEKHL/my92o6dIGYjTCfAYloPf7FAjEk6gXQurPq1dji T+fSIv0yO8r/F1Bugo16Hj+7cL5oGuRiLjXcH5+/e6VWqDllUNZ/6y1yKCZCDE1t89UokT hrZjkkfjbA2pSKzMVlxQB74rMulhR6+9B0vzuw1Llh8GEcooMS2QtdwXNcvs6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684483830; a=rsa-sha256; cv=none; b=a1DXF6nausN741Ly4B3SRQJkzpy2fW0pH0EIMwfe+qUpLB1DJmG1TxJhDxoDYnRJOjaM8d Qk0Tj5uXrgmRCQ0r2VBz7cDqxnDimPECCKF5ex3U+oaB4bMJUuRUGtNgsVqQiG/0+PtbkS VBoclrbgP8kuTMKPOPQVuXlKv8MhfRn5W79Z9MI12NKjRPZFFaQN4zeAvIrd8Xm5vmVt8A U4s+9FmX7Ddx1xnCBbzbkndCXT5rD7U5B6I1mPArQHlRwRjYRxJWA6wujhLGNuo3A3vsX5 2biDYJn1UpJIyl72Jo78JwZWLirOkL2nzezagSStBwCCsdurVUlj+Bav3Vku9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMzzp4HgbzKhL; Fri, 19 May 2023 08:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8AUM0009873; Fri, 19 May 2023 08:10:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8AUeF009872; Fri, 19 May 2023 08:10:30 GMT (envelope-from git) Date: Fri, 19 May 2023 08:10:30 GMT Message-Id: <202305190810.34J8AUeF009872@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: c1150a63791d - stable/13 - pw: do not call system() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c1150a63791d98598395dfaf8cd880cd3173194b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c1150a63791d98598395dfaf8cd880cd3173194b commit c1150a63791d98598395dfaf8cd880cd3173194b Author: Baptiste Daroussin AuthorDate: 2023-05-15 06:55:08 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:08:15 +0000 pw: do not call system() Calling system makes pw(8) spawn a shell, which can then be abused. MFC After: 3 days (cherry picked from commit ef7d0eb9489f39169a1ae83c576fe74e40d126ad) --- usr.sbin/pw/pw_user.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index b16faaf52bdb..f0f87b923c0d 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -50,6 +50,7 @@ static const char rcsid[] = #include #include #include +#include #include "pw.h" #include "bitmap.h" @@ -57,6 +58,7 @@ static const char rcsid[] = #define LOGNAMESIZE (MAXLOGNAME-1) +extern char **environ; static char locked_str[] = "*LOCKED*"; static struct passwd fakeuser = { @@ -695,11 +697,16 @@ rmat(uid_t uid) stat(e->d_name, &st) == 0 && !S_ISDIR(st.st_mode) && st.st_uid == uid) { - char tmp[MAXPATHLEN]; - - snprintf(tmp, sizeof(tmp), "/usr/bin/atrm %s", - e->d_name); - system(tmp); + const char *argv[] = { + "/usr/sbin/atrm", + e->d_name, + NULL + }; + if (posix_spawn(NULL, argv[0], NULL, NULL, + (char *const *) argv, environ)) { + warn("Failed to execute '%s %s'", + argv[0], argv[1]); + } } } closedir(d); @@ -950,9 +957,18 @@ pw_user_del(int argc, char **argv, char *arg1) /* Remove crontabs */ snprintf(file, sizeof(file), "/var/cron/tabs/%s", pwd->pw_name); if (access(file, F_OK) == 0) { - snprintf(file, sizeof(file), "crontab -u %s -r", - pwd->pw_name); - system(file); + const char *argv[] = { + "crontab", + "-u", + pwd->pw_name, + "-r", + NULL + }; + if (posix_spawnp(NULL, argv[0], NULL, NULL, + (char *const *) argv, environ)) { + warn("Failed to execute '%s %s'", + argv[0], argv[1]); + } } } From nobody Fri May 19 08:10:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMzzq6gT4z4Bdfc; Fri, 19 May 2023 08:10: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 4QMzzq6BZ8z4CXG; Fri, 19 May 2023 08:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nVT+JWicSS4L0ENSsX00qDXAuLI7vRZX6QR8QcQkUpE=; b=lGBPzg2mu26+Gfvne8irdBTy20r1YxSj6mwMp4DKTZb2BquN9VZd1yrSAOA1OjSXKsCQYm vTi0M5zV8+Li+xHTnzU7obPrsmkvEiIPMD1lTOXUyLE9UWbfVVKW3rTdEalX6wQzTTSjpt bWNQxkmDM5elMr1JEEVfbMtX9DZGmzcG26NY4oea+6BewZUbMxMMj+JSV18iSO2yjzsmoh gHUnq/K2w5XTBv/PU+SEoLcAAJ9B40uZ0HBcVxZzGnqMGT+24yI0u6uBQJvo65Zm22JBMW MEks8ptcVHoANQSJg0LLGLLvcq9B8HalzF2C2iQRew27VaEHgPlF0MBhycWmwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nVT+JWicSS4L0ENSsX00qDXAuLI7vRZX6QR8QcQkUpE=; b=mS9hTqPwnvtp0JDyeeV9N4hlkCDTXbL4Ya7h77vmOLVjBwzqPnocKwH2xoQkvI54r6SSG8 rH+KhvEfjKVx/yf9dowCiVxe9ICq1/xSeNH2MN1io2qAdRYy/ggJ9I91IYOu/yY4xJy7zg i/Ga6knWHoG6/UUS5gWmp+UuKVJmGbLBL2wCf71BesqAM4AJ1g1PT5bn4FjeUT0l0j9Bnd E/6rroPvzFDxOxyu99XihL+wiaMr5CialpNOlIhTIUjEAqoVtAqwBsafJCpb0zN8Yne7Er 1om81TeVS+My6s7XND1EopO+S8YJz7DQjpGVPjOlQy89DzSU4chd0KKoPvKIIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684483831; a=rsa-sha256; cv=none; b=he//eijK4oEwN0Lf1v94RtJnfvJh8LWWP/I0H3mxyRtn3S7GSct1AIabV/+EgPQ/D5vnXm PCD8yQSDQEftbKG4O59/EVFMctGO0tK7WZLHabroUHc7JRMQh8ADLd01SdmutWU8uHWtYX IobNbYYQ2abnKU5Co5vsemMNrWA0hGu5TGuGS3hT4+HKf0yNJHWE40IT0Lp0mjqWuI8MMe lOykfFQUIywAuG670p1dppb2qkDYGpHN5xRPw/VdGA1kJzN9OzSxR1xlDD89gx4I5BzmLd vygEYUGd5QsbvSc3Op0M2LD+TQqYTPHbDiTlgmeuzsdPDIClfJPdPUtqvaMALg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMzzq5G7VzKv5; Fri, 19 May 2023 08:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8AVet009893; Fri, 19 May 2023 08:10:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8AVxJ009892; Fri, 19 May 2023 08:10:31 GMT (envelope-from git) Date: Fri, 19 May 2023 08:10:31 GMT Message-Id: <202305190810.34J8AVxJ009892@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 610641ec5f6e - stable/13 - dma: install a simple example for the auth.conf file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 610641ec5f6e7f736301a3bb9e17bb551dab8752 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=610641ec5f6e7f736301a3bb9e17bb551dab8752 commit 610641ec5f6e7f736301a3bb9e17bb551dab8752 Author: Peter Wright AuthorDate: 2023-05-15 07:18:40 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:10:08 +0000 dma: install a simple example for the auth.conf file PR: 270088 MFC After: 3 days (cherry picked from commit d904b43ba3ffe2201f2c5aabcdc1af7709601d9a) --- libexec/dma/dmagent/Makefile | 2 +- libexec/dma/dmagent/auth.conf | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libexec/dma/dmagent/Makefile b/libexec/dma/dmagent/Makefile index f56b16a0b6f0..530e7979598b 100644 --- a/libexec/dma/dmagent/Makefile +++ b/libexec/dma/dmagent/Makefile @@ -23,7 +23,7 @@ CONFS= dma.conf CONFSDIR= ${CONFDIR}/dma YFLAGS+= -i CLEANFILES= aliases_parse.i -FILES= mailer.conf +FILES= auth.conf mailer.conf FILESDIR= ${SHAREDIR}/examples/dma .if ${MK_SENDMAIL} == no CONFGROUPS= CONFS MAILER diff --git a/libexec/dma/dmagent/auth.conf b/libexec/dma/dmagent/auth.conf new file mode 100644 index 000000000000..393a80a8ab5f --- /dev/null +++ b/libexec/dma/dmagent/auth.conf @@ -0,0 +1,4 @@ +# $DragonFly: src/etc/dma/auth.conf,v 1.1 2008/02/02 18:24:00 matthias Exp $ +# +# SMTP authentication entries (currently AUTH LOGIN only) +# Format: user|my.smarthost.example.com:password From nobody Fri May 19 08:10:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMzzs1jV4z4BdRL; Fri, 19 May 2023 08:10: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 4QMzzs00VDz4CnW; Fri, 19 May 2023 08:10:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wchd9K14fTwfGc3xdOVKUd2XLODF78VHc4h0rcWtNK4=; b=nmj8dnXFBX5SkwwVtgPz8n78EyMabU4Tpx9hmFeO5qaq7tNlZ6Y+Ltbgd/QoAgtz0GpZjR W1DQWnufntF6I7VgcbTSdVkuBXEv/VJd3jiXoO1/THgb1bMpja2wyLDdlbszb7/rLdjWB1 CAWP1gfNXjKDYhKDbMQNj/NCraLqL8rXkiteH3QuTUvZfsWTe+OshByMKPmjor2evnDbK/ Tb5e8GkXjIr12AVjJMFwLv7+KnASn0zyhf9ukbJNbATJwmM4fXTxxwxXpLSalB8fkeyiZU i7GRwhwjFxlpukgArjAFKnQPGYYccA2Eq2uQu+/1dl/sKYfGd1Ep9pk++T2Y7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wchd9K14fTwfGc3xdOVKUd2XLODF78VHc4h0rcWtNK4=; b=WjjWiw4+52RL9zL/BGoDQz7eOxtSO3jaIYMeIK0ImQjCgqJmO2nDMm2tYLk9QA1lCxB39k Tcxa1w+xnGwOCGv9BU7GFQyAGL0UtmmHgvo6vfQMCiIYCg+4PwvOuQXZKNzq7nc0Is+csi 1fcdy46ARlFKpExamHOpSsbIxuiasXilTx3YCYv+FcQ6HTxagUaaQYxDvHeRqx1DORdxbG XL0ZTXq9iYGWhl8AzRNZ9p9oeazzmnPgX80eRvs6Xzj4MRc776XXxn13jAqDHNqtb15Zm+ EP7wFXgYgf7SrU8zHZComlz/7fDH8RY5m5PIAncw2lhqOzQ1NUI7pCRiFTO8QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684483833; a=rsa-sha256; cv=none; b=C3gIWlyV+0IAgU7/DyQszFcchBOMpvw87uVCWtRbXU5phE6EcYPWgWOXN+mqOM8OPVMYAx p1PA7kfn+s63jd4qJK4jOqAXOn3V3C5MwjWOa9syAnig9C15Ho2yUUDPtmYDcbk0BFUVGX PqJJpGcf3++efkSMK9fxbbf+TeRcE9u57yIf+wX/oZPzodYLF0+InTSewGUBVoGFRe0tYw wpRTTsunaq/k5vWeBxJ6PmdKwipNrTOB9YBV2DCOOFHyKdIn8rFo/fLVynSIq/ktFu1f3j cZuOHHhZbduod6aoCPTDxL6Ws4+N0ff4zohaCw6lON3B+pM1Ji3DhzbGxgnvNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMzzr6DJVzL4s; Fri, 19 May 2023 08:10:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8AWkZ009913; Fri, 19 May 2023 08:10:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8AWc7009912; Fri, 19 May 2023 08:10:32 GMT (envelope-from git) Date: Fri, 19 May 2023 08:10:32 GMT Message-Id: <202305190810.34J8AWc7009912@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: e31fbe0dff0c - stable/13 - periodic: Use locale-agnostic (ISO 8601) timestamp format List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: e31fbe0dff0ca49670fc97eb931f8864f86d2def Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e31fbe0dff0ca49670fc97eb931f8864f86d2def commit e31fbe0dff0ca49670fc97eb931f8864f86d2def Author: Michael Osipov AuthorDate: 2023-05-04 12:35:59 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:10:08 +0000 periodic: Use locale-agnostic (ISO 8601) timestamp format Instead of reyling on locale-sensitive output which can be mangled when e-mailed use consistently ISO 8601 format which contains the same information as '-T'. PR: 271240 MFC After: 3 days (cherry picked from commit d2b4753f06dcabc090080b8c8c91bda00fc8dac3) --- usr.sbin/periodic/etc/security/100.chksetuid | 2 +- usr.sbin/periodic/etc/security/110.neggrpperm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/periodic/etc/security/100.chksetuid b/usr.sbin/periodic/etc/security/100.chksetuid index 670ae9792021..c850f401d178 100755 --- a/usr.sbin/periodic/etc/security/100.chksetuid +++ b/usr.sbin/periodic/etc/security/100.chksetuid @@ -54,7 +54,7 @@ then }'` find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \ \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ - \( -perm -u+s -or -perm -g+s \) -exec ls -liTd \{\} \+ | + \( -perm -u+s -or -perm -g+s \) -exec ls -lid -D "%FT%T" \{\} \+ | check_diff setuid - "${host} setuid diffs:" rc=$? fi diff --git a/usr.sbin/periodic/etc/security/110.neggrpperm b/usr.sbin/periodic/etc/security/110.neggrpperm index 55974eae6345..393c83d061c6 100755 --- a/usr.sbin/periodic/etc/security/110.neggrpperm +++ b/usr.sbin/periodic/etc/security/110.neggrpperm @@ -54,7 +54,7 @@ then \( \( ! -perm +010 -and -perm +001 \) -or \ \( ! -perm +020 -and -perm +002 \) -or \ \( ! -perm +040 -and -perm +004 \) \) \ - -exec ls -liTd \{\} \+ | tee /dev/stderr | wc -l) + -exec ls -lid -D "%FT%T" \{\} \+ | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0 fi From nobody Fri May 19 08:10:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMzzt1M7sz4BcrV; Fri, 19 May 2023 08:10: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 4QMzzt0vxQz4CbS; Fri, 19 May 2023 08:10:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nOPsWeGYpFYP1rSb8g/cXP4ebuMZUMXOhKHe+tSvFxA=; b=yJf4IihEZfFH17/JhnEouI/DU+HZ2SIYfZoeQmuShCzoBVis9l/wfwGQzSJ8HBsoQMXvPM HgA9oTyHf4oWatMWyUyBGx0kl83XdMb3NJjvoi/7kZwcu4i2YRj1IM+pTnbr3nh3IsdZA4 2qg1M72IeY0bNEnYj0Y9uzoqObwKqUqnZEscAQ32SWtsVMKkVNn+ICnQAkw2aqtvGkWd59 cAQjBLbJK49cUO2JDRuc6+WJHe/r7VN09P5IzQ6b7FU47d0/a0ADylsjdwm7mwB0SgCm4f pQ+sLXC4sGNVLx21Dj2PY0B5gEWYzGsHB85MQd1KruRBmX9zb9Ti0iC72s6SGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nOPsWeGYpFYP1rSb8g/cXP4ebuMZUMXOhKHe+tSvFxA=; b=dJ/xlkeonrPwcYZ8lFR9qCFAMbgk/3bzjqiLpv84uilyn5Irpgf6ZWJkoKIesRXkDppE1/ 8nANzrZAdJezpspeXLuXfBakcm6N/gmvhdS8u+D7I7e8yUPZmR92Lqc6LHrRtbYmiPPvyR dTJwvGgtUn4lhAWlUzwxutTDdcyyi01kuKPEnhiPJlaXf1JRKpenk46RGQS2R+sAYvr5Pm E21SjmslkoKMMQzufqcvGFzReI3kbTUTXKmmoEpkhY4YKsGcASRAUq+je8T/TyOSP882xj 48fgXqZhedLkhu0+q0QtFWLS76dTKbN62sI/Uka3wJX4Ccyvij0pQIfLAgYoTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684483834; a=rsa-sha256; cv=none; b=AaFMJW8vklP2ZO/s15VCmokMS4ocpcaFo+TLE44x+o841SCP5+b4+2pmke75na6B/VkXZE miRNBK3WKGv2aHpAem8fWxI6D0tx+dDWoZ+da45C1lgJl1NkM7krKuplEXq6geU7etgqeq WahN9rZzVbe213V53naHOBYyhlfRGDWhBp9Prd/1GBz58CwAofgLUWQKxi5Ev/y6c5/sPr pyNL6jZv3ZuN6XgMsdwKdWI3cU/FHKNz7I6H4gI0v9lAslKGDbFUZ7WPpzMGB//o+2nHAm MuWvKCzI9GFY/wG3bggCzhTxrZHX8G+fc/E779VWJB5bwEjMpNPtFzuaavR06A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMzzt021XzL4t; Fri, 19 May 2023 08:10:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8AX82009932; Fri, 19 May 2023 08:10:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8AXd9009931; Fri, 19 May 2023 08:10:33 GMT (envelope-from git) Date: Fri, 19 May 2023 08:10:33 GMT Message-Id: <202305190810.34J8AXd9009931@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 732f13ad32dc - stable/13 - pw: The pw_checkname function has added ';' checking. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 732f13ad32dc7ddc951f9dcdb969b933bcacf631 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=732f13ad32dc7ddc951f9dcdb969b933bcacf631 commit 732f13ad32dc7ddc951f9dcdb969b933bcacf631 Author: pbuff AuthorDate: 2023-05-16 03:05:30 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:10:09 +0000 pw: The pw_checkname function has added ';' checking. The pw_checkname function forgot to include a ';' when checking usernames, causing shell commands to be executed when a username with a ';' is deleted. PR: 271427 MFC After: 3 days (cherry picked from commit e0155c6989049da43c5499f7129002aa17d1ca79) --- usr.sbin/pw/pw_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index f0f87b923c0d..1b986e7c6985 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -637,7 +637,7 @@ pw_checkname(char *name, int gecos) showtype = "gecos field"; } else { /* See if the name is valid as a userid or group. */ - badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\""; + badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\";"; showtype = "userid/group name"; /* Userids and groups can not have a leading '-'. */ if (*ch == '-') From nobody Fri May 19 08:10:35 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMzzv2zCpz4Bdfn; Fri, 19 May 2023 08:10:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QMzzv21zkz4Clf; Fri, 19 May 2023 08:10:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pgAIjgPfdkZ7/ZcCw4Lonnb5pCaICdYc7Dmyg4zkK1M=; b=gtjI0klv7/6d0YMqbQhTA8OUDTYevrvFIGNKgFUvEAEA6a20eCOmj44fiqLwdgQZGluuSW aksaTq7S0C59m6KuQlJ2PThZPUhv91WU7qonDCnI5P9K0DAu6FcKBEl7q0Xgb2Xzuku1ug baWaB3ICus21zUiX0kpm7WZAB1QiqFB0pC6f6lVzxmL0VHIUBbjM14m6bM87S3ytrFl7HV GQxmcio2+CaK97wfAIpcwJuvvreqgt2k48Yqit8wjSHp1UOlyGY3ng1P2ABncnDFGgYQyM ggktdCntc7bGGK49NDl5TuB427qn7A5Q94CSPqyr2FsaQa4qJl7rujAe3cs7fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pgAIjgPfdkZ7/ZcCw4Lonnb5pCaICdYc7Dmyg4zkK1M=; b=J9gaPKBcHWTDNTZj7XMvGUhjhGzCob6laYAdSt/bjIxn+gMBtSOvgfNvezwMTOyhT85bHQ Lua4TplybFrNllW7Du5DhOdZ1tcoWuWZDbVWqAQ8moPgQYpsLvlOkOpo1hcMkBE5z8v5bz ctsZ04wOeqgAQJAEtFPNRuWEPw7448VGHAZmMYD0L8ado82FR6ENUk4dpmddBF3+QKH8bi utfsgjDDEDzPq565bXzd24yN5MLUsKS11Vuja/+tkq9VfP2Vk/Wuqg7UEufDx4AikXg0we MTN1g7RKVgLxPcYUAFvyZMDoEKt/Nhbb8Xg+9apwC5ViRsIxiqsduSpsTChw4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684483835; a=rsa-sha256; cv=none; b=dMlv6PrDXwABVapscKIEz1KB8MZvoGC94v+bSawnSSS/bJmDlSJOxqfv9XU5XGIZAf2ITa XFMMIKMMiRy6qFPiIjk9p0TZYq/tpY8tLQkogpxNDv7Pn+Vzblf7PNxc69lHxBR3cfXa+b 7ztHOwNruvfWatX4iKxxvqOYM6GdMMdyhoF7+qnxCwaD1+G4/a0pS6KSz1fFyYCpR6fdmB 3NysbQ23X8aJfQeSxPxcoUXBFw3sFORF75WVvEQVADhK0tqQaCoaambKmrvrECfLIptdlY kXoATLw31mWGu/NYhEbh86+BHCyf72u9IV8P3sIQeGVsJipLW/SaRJxm4msmJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMzzv0xjjzL4x; Fri, 19 May 2023 08:10:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8AZER009964; Fri, 19 May 2023 08:10:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8AZcX009963; Fri, 19 May 2023 08:10:35 GMT (envelope-from git) Date: Fri, 19 May 2023 08:10:35 GMT Message-Id: <202305190810.34J8AZcX009963@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: cd520142e3db - stable/13 - passwd.5: Remove .Tn (Trade Name) macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: cd520142e3db9d256688a7ea286e2e0eeb8e35b7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=cd520142e3db9d256688a7ea286e2e0eeb8e35b7 commit cd520142e3db9d256688a7ea286e2e0eeb8e35b7 Author: Jose Luis Duran AuthorDate: 2023-05-16 11:18:53 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:10:09 +0000 passwd.5: Remove .Tn (Trade Name) macros To appease mandoc -T lint, remove .Tn macros. MFC After: 3 days (cherry picked from commit d047a4e486a44ca5ada29bf3461903867424c414) --- share/man/man5/passwd.5 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index 2b79680a20eb..bd2d012ac57f 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -49,7 +49,7 @@ They can be used in conjunction with the Hesiod domains and .Sq Li uid , and the -.Tn NIS +NIS maps .Sq Li passwd.byname , .Sq Li passwd.byuid , @@ -310,7 +310,7 @@ lookups occur from the .Sq Li master.passwd.byname , and .Sq Li master.passwd.byuid -.Tn NIS +NIS maps. .Sh COMPAT SUPPORT If @@ -361,7 +361,7 @@ or .Sq Li passwd.byname and .Sq Li passwd.byuid -.Tn NIS +NIS maps (with .Sq Li passwd_compat: nis ) to be included. @@ -372,7 +372,7 @@ or .Ar gid fields, the specified numbers will override the information retrieved from the Hesiod domain or the -.Tn NIS +NIS maps. Likewise, if the .Ar gecos , @@ -381,20 +381,20 @@ or .Ar shell entries contain text, it will override the information included via Hesiod or -.Tn NIS . +NIS . On some systems, the .Ar passwd field may also be overridden. .Sh FILES .Bl -tag -width ".Pa /etc/master.passwd" -compact .It Pa /etc/passwd -.Tn ASCII +ASCII password file, with passwords removed .It Pa /etc/pwd.db .Xr db 3 Ns -format password database, with passwords removed .It Pa /etc/master.passwd -.Tn ASCII +ASCII password file, with passwords intact .It Pa /etc/spwd.db .Xr db 3 Ns -format @@ -444,7 +444,7 @@ file format first appeared in .At v1 . .Pp The -.Tn NIS +NIS .Nm file format first appeared in SunOS. .Pp From nobody Fri May 19 08:10:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QMzzw3Xy7z4BdQG; Fri, 19 May 2023 08:10:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QMzzw2rnNz4Cg7; Fri, 19 May 2023 08:10:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5J0vI2H0dHB29i3n0q8zE/T6atRpJSAeOLj88a+CicY=; b=bRzL9ahP626fZLbl4oUefhONyifameaD+JbIo/6oMClkuaekf6Y07vcoNvjsw4KN184a/H C7Tome5ARoZ3t1gLbx0zjIf6Ya4CmqOpyc7KcA7zrAn9m05DRuhuO+BBG011KlqfQtKi8j jzEy1f1HUbVMzShvBmiFsFe4xVpuY+/BBSadiNH0dIKyK7UgFLc1a0YUiE6s3r/Rztf0AS 1WMgquU7sZeEmn2n9aFm+9bIGcykymIUVJIWEUIY+/uelyFHSoNhUuPDLovEqf3n44VLSI bNwx0YqBx6LdikjR+FV6g4VQ1Svf0QdpdIvs9xoxsbhlXVIO7ScWR0ASuK3ncg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684483836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5J0vI2H0dHB29i3n0q8zE/T6atRpJSAeOLj88a+CicY=; b=rHJfu0ct5XhqFopAJFNo3Fjre5zwVpA7DcZbENk3kv1o6Et4/ZNxsramDNPLC+tlvrq/O0 /ThWG/o68Dgc5LukTh/9wcGi2tsm9HDBtRjWcBjL6J77ZVemTx8zstmoErmyJhD2NdpB3R rooTHxI9o6vOwoBkSZyfatNi2GY0IpjHd5F2oq0ZD4DYCOV4vYGyK/pHAbz0vmkDd2Yy2N wSv+5eHc+jyiLVepRkmVPkB1VqZXRDInNOzQme0mr6FuqwmfdC+nuHgUGtYKZmfGZBJBOn /V2p1/qo4gwv4gE63K+D4CUhzbo2Ln3hfVGKgjUTMYgNbllyZFhWRFixOUy4Ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684483836; a=rsa-sha256; cv=none; b=dSi4FPshO8fcNOgoP21rE0CO/3Fw9XpKcE179XgIJCTwt7Gaoqk6PxAmkDobto3qvHhhTS burRZmYxiIV3E8Z9haE4h9JIgxJy4GsLYlrRrWPA0wOrdcxRgEEl/cgrz5d3yImvTpC7pW Z5190HvNjht32m8asREw4pb0OOTARoiMSLAGdubjLhL9dPi7+pF6PVqn4N5m7iM2xmzudR gsVMIFeGPfhHgRipVfGwAX/EIGTzvO53Ejl7snWRmR/5QKz8gA5Il9DSmVZYDirdqiRCcY lJQrcfhTlyc9orsK1/T7wU9w/T8Uyk9dQzIr89xx7jTSLW18ulBhzcpjSTaa1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QMzzw1rxrzLBg; Fri, 19 May 2023 08:10:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8AanP009986; Fri, 19 May 2023 08:10:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8AaP3009985; Fri, 19 May 2023 08:10:36 GMT (envelope-from git) Date: Fri, 19 May 2023 08:10:36 GMT Message-Id: <202305190810.34J8AaP3009985@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 74ce0c29e7bb - stable/13 - passwd.5: Update man page after e0155c6989049da43c5499f7129002aa17d1ca79 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 74ce0c29e7bb6ec0bab489f773faaa355d5c5181 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=74ce0c29e7bb6ec0bab489f773faaa355d5c5181 commit 74ce0c29e7bb6ec0bab489f773faaa355d5c5181 Author: Jose Luis Duran AuthorDate: 2023-05-16 11:17:16 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:10:09 +0000 passwd.5: Update man page after e0155c6989049da43c5499f7129002aa17d1ca79 MFC After: 3 days (cherry picked from commit 6e068d6bea4d8282704b4e157da3da584dc67a2d) --- share/man/man5/passwd.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index bd2d012ac57f..f2e307686b64 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -31,7 +31,7 @@ .\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd June 30, 2022 +.Dd May 16, 2023 .Dt PASSWD 5 .Os .Sh NAME @@ -131,7 +131,7 @@ The login name must not begin with a hyphen .Pq Ql \&- , and cannot contain 8-bit characters, tabs or spaces, or any of these symbols: -.Ql \&,:+&#%^\&(\&)!@~*?<>=|\e\\&/" . +.Ql \&,:+&#%^\&(\&)!@~*?<>=|\e\\&/"\&; . The dollar symbol .Pq Ql \&$ is allowed only as the last character for use with Samba. From nobody Fri May 19 08:15:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN05771K7z4BdRN; Fri, 19 May 2023 08:15: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 4QN0576Z3Bz4FGw; Fri, 19 May 2023 08:15:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cPvgzZcya9JPFrl1YhiJHA7p3hXF+grrCaWosu9u/mw=; b=GCZYMsADFxbYu/Ihc9IQH86OETh31UFE99A0IxSnVnwKLtjlMEgFa4vGkdvRrWTfAWYneO 5qVhwzZMEgMq2zav26S9l1ho8zw+m78XSuHBakudnza8AkxHk6Yw9wWeL5A8xCCjpv+Sjx VNl8CKDC72lx2UZBZ2Alv5A4EgOhbqaTQaSxReryRBLYfS4bQVc1FXHaNgZePP6BJMXNdu JihwUzYMj1bx5bs+3/G+cFL45h0wW2Dls9mAJgN5zRKU2/zK/p+uokgCwwfIu8NUbx1mtI XHBZlszBU4jzjKCwiStqMObyX3xWoX3ratC3rEk/qzid0Y42l6bDz44l9u+Llg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cPvgzZcya9JPFrl1YhiJHA7p3hXF+grrCaWosu9u/mw=; b=hBSG8gXhZFSUBmBtZD4uPazZkNIfYUPTJ4KEg0wqPkYtnbCf/sHaTA7WPV/mk5+XSHV0ls /AeZvQsLDp1JGrNSbzzCm7KO/LFDzelmmekqZyvJrJea93DtHuWQm36zXJHDq7GCNU/+LG X++6KtTpdVUD98QuJVRWDTghdV2GCl8BIlYkkWTsHkGOkReIh92nUu3vGUjhQf68gcYgzy 5qzfwedjzA0qeLRmO/fts3noq82sYxuNjROs70XfS541gbm5VxPwdVjmFJp9YDoqRBzvYN 7MMg7JRivWkkgbeay4eK0y0tHObGzESa5vMN+dY6weXibnU00ChMxsyZDaaJtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484107; a=rsa-sha256; cv=none; b=F4/jjeNsXWq13WnJH11hjYP7C2GslueUxCIDxfzYC7a43Oq0OrHC7Qkozre+Fn51N9VIOW 6MbwUi0nbmtiNUzBeN1NEJ44IZwb15YkkypxTwmR0BmschGVez/+AdJ0P32VTe2WPIBDmN aNcHcSc+42oMC2hCXhws/So0XyXeC2uQEQukMjJZpgUYwsWxXDZ00IjGaCFmUUyZG1D+ya sjHponT7Q3pE1RRmaZCsRwoGojElE5kdmV72yuXRpdpwzzbJVdO57UBpd6FQGX86TcB0RI tOcO87PEvlAb08lqiyM6MNlJZLsf1v9n+qdAeMTfT2fg2iOO1yhcFi12e2+sYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN0575dB8zL8t; Fri, 19 May 2023 08:15:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8F7bD017771; Fri, 19 May 2023 08:15:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8F7fT017770; Fri, 19 May 2023 08:15:07 GMT (envelope-from git) Date: Fri, 19 May 2023 08:15:07 GMT Message-Id: <202305190815.34J8F7fT017770@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 49c6050210a7 - stable/13 - pci_vendors: update to 2023-05-15 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 49c6050210a79254d96f7ce761db40ab7e4d05a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=49c6050210a79254d96f7ce761db40ab7e4d05a0 commit 49c6050210a79254d96f7ce761db40ab7e4d05a0 Author: Baptiste Daroussin AuthorDate: 2023-01-25 08:58:39 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:14:04 +0000 pci_vendors: update to 2023-05-15 (cherry picked from commit bc4346e0aead0b934773aac5e9a81def46f266ad) (cherry picked from commit f02879f199253125adfa9de6c651bbe30c04bfa5) (cherry picked from commit c7fdf87b0985de602827cfb2a8ccb3aebaf42318) --- share/misc/pci_vendors | 1379 +++++++++++++++++++++++++++++++----------------- 1 file changed, 908 insertions(+), 471 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 97220fd5ca8f..fb0a22837428 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2022.12.04 -# Date: 2022-12-04 03:15:02 +# Version: 2023.05.15 +# Date: 2023-05-15 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -49,6 +49,8 @@ 7a19 PCI-to-PCI Bridge 7a24 OHCI USB Controller 7a29 PCI-to-PCI Bridge +0018 Fn-Link Technology Limited + 6252 6252CPUB 802.11ax PCIe Wireless Network Adapter 001c PEAK-System Technik GmbH 0001 PCAN-PCI CAN-Bus controller 001c 0004 2 Channel CAN Bus SJC1000 @@ -79,6 +81,15 @@ 021b Compaq Computer Corporation 8139 HNE-300 (RealTek RTL8139c) [iPaq Networking] 025e Solidigm + 0b60 NVMe DC SSD [Sentinel Rock Plus controller] + 025e 8208 NVMe DC SSD U.2 15mm [D7-P5810] + 025e d408 NVMe DC SSD U.2 15mm [D5-P5430] + 025e d40c NVMe DC SSD E1.S 9.5mm [D5-P5430] + 025e d419 NVMe DC SSD E3.S 7.5mm [D5-P5430] + 025e d808 NVMe DC SSD U.2 15mm [D5-P5336] + 025e d819 NVMe DC SSD E3.S 7.5mm [D5-P5336] + 025e d81d NVMe DC SSD E1.L 9.5mm [D5-P5336] + 0b70 NVMe DC SSD [Yorktown controller] 0270 Hauppauge computer works Inc. (Wrong ID) 0291 Davicom Semiconductor, Inc. (Wrong ID) # SpeedStream is Efficient Networks, Inc, a Siemens Company @@ -93,6 +104,8 @@ 0432 SCM Microsystems, Inc. 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] 0497 Dell Inc. (wrong ID) +060e Lightelligence + 0001 Hummingbird ES 0675 Dynalink 1700 IS64PH ISDN Adapter 1702 IS64PH ISDN Adapter @@ -395,8 +408,7 @@ 103c 3108 Single Channel Ultra320 SCSI HBA G2 103c 322a SC11Xe Ultra320 Single Channel PCIe x4 SCSI Host Bus Adapter (412911-B21) 124b 1170 PMC-USCSI320 -# VMware's emulation of this device. Was missing from the list. - 15ad 1976 LSI Logic Parallel SCSI Controller + 15ad 1976 LSI Logic Parallel SCSI Controller (emulated) 1734 1052 PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) 0031 53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI 0032 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI @@ -760,6 +772,10 @@ 1028 2142 HBA465e Adapter 1028 2209 HBA465i Adapter 1028 220a HBA465i Front + 1028 228a HBA465e-s Adapter + 15d9 1d03 AOC-S4116L-H16IR (16DD/96DD) RAID Adapter + 15d9 1d07 AOC-S4016L-L16IT Storage Adapter + 15d9 1d08 AOC-S4016L-L16IR Storage Adapter 1d49 020a ThinkSystem 450W-16e SAS/SATA PCIe Gen4 24Gb HBA 00ab SAS3516 Fusion-MPT Tri-Mode RAID On Chip (ROC) # 8 Internal and 8 External port channel 9400 HBA @@ -859,6 +875,9 @@ 1028 2175 HBA350i Adapter 1028 2197 HBA350i MM LP 1028 2212 HBA355e-s Adapter + 15d9 1b64 SCC-B8SB80-B1 (NI22) Storage Controller Card + 15d9 1b65 AOC-S3816L-L16iT (NI22) Storage Adapter + 15d9 1b99 AOC-S3808L-L8iT Storage Adapter 1d49 0205 ThinkSystem 440-16i SAS/SATA PCIe Gen4 12Gb Internal HBA 1d49 0206 ThinkSystem 440-16e SAS/SATA PCIe Gen4 12Gb HBA 1d49 0207 ThinkSystem 440-8i SAS/SATA PCIe Gen4 12Gb HBA @@ -975,6 +994,8 @@ 1000 4002 MegaRAID 9561-16i # 9560 8 internal port RAID controller 1000 4010 MegaRAID 9560-8i +# 9550 8 internal port RAID controller + 1000 4015 MegaRAID 9550-8i # 9580 8 internal & 8 external port RAID controller 1000 4020 MegaRAID 9580-8i8e # MegaRAID 9562-16i 9562 16 internal port RAID controller @@ -985,6 +1006,9 @@ 1028 1ae3 PERC H755 MX 1028 2171 PERC H750 Mini 1028 2176 PERC H750 Adapter + 15d9 1b66 AOC-S3908L-H8iR RAID Adapter + 15d9 1b67 AOC-S3916L-H16iR RAID Adapter + 15d9 1c06 AOC-S3916L-H16iR-32DD+ RAID Adapter 1d49 060a ThinkSystem RAID 940-8i 4GB Flash PCIe Gen4 12Gb Adapter 1d49 060b ThinkSystem RAID 940-8i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060c ThinkSystem RAID 940-16i 8GB Flash PCIe Gen4 12Gb Adapter @@ -1008,8 +1032,14 @@ 1028 2174 PERC H350 Mini 1028 2177 PERC H350 Adapter 1028 2199 PERC H350 Mini LP + 15d9 1b9d AOC-S3816L-L16IR Storage Adapter + 15d9 1b9f AOC-S3816L-L8IR Storage Adapter + 15d9 1c6d AOC-S3808L-L8IR Storage Adapter + 15d9 1c6e AOC-SLG4-2H8M2 Storage Adapter 1d49 0505 ThinkSystem RAID 540-8i PCIe Gen4 12Gb Adapter 1d49 0506 ThinkSystem RAID 540-16i PCIe Gen4 12Gb Adapter + 1d49 0700 ThinkSystem M.2 SATA/NVMe 2-Bay RAID Enablement Kit + 1d49 0701 ThinkSystem 7mm SATA/NVMe 2-Bay RAID Enablement Kit 10e7 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 1960 MegaRAID 1000 0518 MegaRAID 518 SCSI 320-2 Controller @@ -1037,6 +1067,23 @@ 1000 a080 PEX88080 80 lane/port PCIe Gen 4 Switch 1000 a096 PEX88096 98 lane/port PCIe Gen 4.0 Switch c012 PEX880xx PCIe Gen 4 Switch +# Virtual endpoint used in Broadcom synthetic PCIe switches for resource reservation + 1000 100b PEX88000 PCIe Gen 4 Virtual Upstream/Downstream Port +# For secure part version of this chip + 1000 2004 PEX88000 Virtual PCIe TWC/NT2 Endpoint +# For secure part version of this chip + 1000 2005 PEX88000 Virtual PCIe gDMA Endpoint +# For secure part version of this chip + 1000 a024 PEX88024 24 lane/port PCIe Gen 4.0 Switch +# For secure part version of this chip + 1000 a032 PEX88032 32 lane/port PCIe Gen 4.0 Switch +# For secure part version of this chip + 1000 a048 PEX88048 48 lane/port PCIe Gen 4.0 Switch + 1000 a064 PEX88064 64 lane/port PCIe Gen 4.0 Switch +# For secure part version of this chip + 1000 a080 PEX88080 80 lane/port PCIe Gen 4.0 Switch +# For secure part version of this chip + 1000 a096 PEX88096 96 lane/port PCIe Gen 4.0 Switch 1d49 0003 ThinkSystem 1611-8P PCIe Gen4 NVMe Switch Adapter c030 PEX890xx PCIe Gen 5 Switch 1000 0024 PEX89024 PCIe Gen 5 24 port/lane Switch Upstream/Downstream Port @@ -1049,6 +1096,19 @@ 1000 100b PEX89000 PCIe Gen 5 Virtual Upstream/Downstream Port 1000 2004 PEX89000 Virtual PCIe TWC/NT 2.0 Endpoint 1000 2005 PEX89000 Virtual PCIe gDMA Endpoint +# Lower lane count PEX89000 switch + c034 PEX890xx PCIe Gen 5 Switch +# Lower lane count PEX89000 switch + 1000 0024 PEX89024 PCIe Gen 5 24 port/lane Switch Upstream/Downstream Port + 1000 0032 PEX89032 PCIe Gen 5 32 port/lane Switch Upstream/Downstream Port +# Lower lane count PEX89000 switch + 1000 0048 PEX89048 PCIe Gen 5 48 port/lane Switch Upstream/Downstream Port +# Lower lane count PEX89000 switch + 1000 100b PEX89000 PCIe Gen 5 Virtual Upstream/Downstream Port +# Lower lane count PEX89000 switch + 1000 2004 PEX89000 Virtual PCIe TWC/NT 2.0 Endpoint +# Lower lane count PEX89000 switch + 1000 2005 PEX89000 Virtual PCIe gDMA Endpoint 1001 Kolter Electronic 0010 PCI 1616 Measurement card with 32 digital I/O lines 0011 OPTO-PCI Opto-Isolated digital I/O board @@ -1100,11 +1160,13 @@ 1551 Arlene 1552 Pooky 1561 Anubis - 15bf Phoenix + 15bf Phoenix1 + 15c8 Phoenix2 15d8 Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 3181 ThinkCentre M75n IoT 17aa 5124 ThinkPad E595 + 1dc2 2209 Avita Pura 14 Notebook ea50 cc10 RXi2-BP 15dd Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] 103c 83c6 Radeon Vega 8 Mobile @@ -1120,6 +1182,7 @@ 103c 8615 Pavilion Laptop 15-cw1xxx ea50 ce19 mCOM10-L1900 15e7 Barcelo + 103c 8b17 ProBook 445 G9/455 G9 [Ryzen 7 Integrated Radeon GPU] 15ff Fenghuang [Zhongshan Subor Z+] 1607 Arden 1636 Renoir @@ -1314,7 +1377,7 @@ 1043 8445 M5A78L LE 105b 0e13 N15235/A74MX mainboard / AMD SB700 1179 ff50 Satellite P305D-S8995E - 1458 a022 GA-MA770-DS3rev2.0 Motherboard + 1458 a022 GA-770/78-series motherboard 1458 a102 GA-880GMA-USB3 1462 7596 760GM-E51(MS-7596) Motherboard 17f2 5000 KI690-AM2 Motherboard @@ -1327,7 +1390,7 @@ 1043 8389 M4A785TD Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 1179 ff50 Satellite P305D-S8995E - 1458 4385 GA-MA770-DS3rev2.0 Motherboard + 1458 4385 GA-770/78-series motherboard 1462 7368 K9AG Neo2 1462 7596 760GM-E51(MS-7596) Motherboard 15d9 a811 H8DGU @@ -1389,7 +1452,7 @@ 1043 8443 M5A88-V EVO 1043 84dd M5A99X EVO (R1.0) SB950 105b 0e13 N15235/A74MX mainboard / AMD SB700 - 1458 b002 GA-880GMA-USB3 + 1458 b002 GA-78/880-series motherboard 174b 1001 PURE Fusion Mini 4392 SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode] 105b 0e13 N15235/A74MX mainboard / AMD SB700 @@ -1403,7 +1466,7 @@ 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 105b 0e13 N15235/A74MX mainboard / AMD SB700 - 1458 5004 GA-880GMA-USB3 + 1458 5004 GA-78/880-series motherboard 1462 7596 760GM-E51(MS-7596) Motherboard 15d9 a811 H8DGU 174b 1001 PURE Fusion Mini @@ -1414,7 +1477,7 @@ 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 105b 0e13 N15235/A74MX mainboard / AMD SB700 - 1458 5004 GA-880GMA-USB3 + 1458 5004 GA-78/880-series motherboard 1462 7596 760GM-E51(MS-7596) Motherboard 15d9 a811 H8DGU 174b 1001 PURE Fusion Mini @@ -1422,6 +1485,7 @@ 1019 2120 A785GM-M 1043 82ef M3A78-EH Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 + 1458 5004 GA-MA78GM-S2H motherboard 1462 7596 760GM-E51(MS-7596) Motherboard 15d9 a811 H8DGU 4399 SB7x0/SB8x0/SB9x0 USB OHCI2 Controller @@ -1429,7 +1493,7 @@ 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 105b 0e13 N15235/A74MX mainboard / AMD SB700 - 1458 5004 GA-880GMA-USB3 + 1458 5004 GA-78/880-series motherboard 1462 7596 760GM-E51(MS-7596) Motherboard 174b 1001 PURE Fusion Mini 439c SB7x0/SB8x0/SB9x0 IDE Controller @@ -1438,6 +1502,7 @@ 103c 1609 ProLiant MicroServer N36L 1043 82ef M3A78-EH Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 + 1458 5002 GA-MA78GM-S2H motherboard 1462 7596 760GM-E51(MS-7596) Motherboard 439d SB7x0/SB8x0/SB9x0 LPC host controller 1019 2120 A785GM-M @@ -2171,7 +2236,7 @@ 1025 0846 Radeon HD 8570A 17aa 3805 Radeon HD 8570M 6664 Jet XT [Radeon R5 M240] - 6665 Jet PRO [Radeon R5 M230 / R7 M260DX / Radeon 520 Mobile] + 6665 Jet PRO [Radeon R5 M230 / R7 M260DX / Radeon 520/610 Mobile] 17aa 1309 Z50-75 Radeon R7 M260DX 17aa 368f Radeon R5 A230 6667 Jet ULT [Radeon R5 M230] @@ -2459,8 +2524,8 @@ 1028 0506 Radeon HD 6470M 1028 0507 Radeon HD 6470M 1028 0514 Radeon HD 6470M - 1028 051c Radeon HD 6450M - 1028 051d Radeon HD 6450M + 1028 051c Radeon HD 6450M / 7430M + 1028 051d Radeon HD 6450M / 7430M 103c 161a Radeon HD 6470M 103c 161b Radeon HD 6470M 103c 161e Radeon HD 6470M @@ -2709,7 +2774,7 @@ # FX-797A-TNBC 1682 3213 HD 7970 Black Edition 1682 3214 Double D HD 7970 - 1787 201c HD 7970 IceQ X² + 1787 201c HD 7970 IceQ X² # Radeon HD 7970 X2 1787 2317 Radeon HD 7990 1787 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] @@ -2772,7 +2837,7 @@ 174b e282 Vapor-X R9 290X Tri-X OC 174b e285 R9 290X Tri-X OC 174b e324 Grenada XT2 [Radeon R9 390X] - 1787 2020 R9 290X IceQ X² Turbo + 1787 2020 R9 290X IceQ X² Turbo 1787 2357 Grenada XT [Radeon R9 390X] 67b1 Hawaii PRO [Radeon R9 290/390] 1043 04dd STRIX R9 390 @@ -2797,7 +2862,6 @@ 1002 0b37 Radeon RX 480 1028 1722 Radeon RX 570X 1028 1723 Radeon RX 580X -# OEM card found in desktops sold by HP. 103c 840e Radeon RX 580 4GB 1043 04a8 Radeon RX 480 1043 04b0 Radeon RX 470 @@ -2820,7 +2884,6 @@ 148c 2372 Radeon RX 480 [Red Dragon] 148c 2373 Radeon RX 470 148c 2377 Red Devil RX 580 8G Golden -# https://www.techpowerup.com/vgabios/?manufacturer=Powercolor&model=RX+580 148c 2378 Radeon RX 580 148c 2379 Radeon RX 570 4G [Red Dragon] 148c 2391 Radeon RX 590 [Red Devil] @@ -3616,6 +3679,7 @@ 692b Tonga PRO GL [FirePro W7100] 13cc 3d2b MXRT-7600 692f Tonga XTV GL [FirePro S7150V] + 6930 Tonga PRO [Radeon R9 380 4GB] 6938 Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X] 1043 04f5 Radeon R9 380X 1043 04f7 Radeon R9 380X @@ -3628,7 +3692,6 @@ 6939 Tonga PRO [Radeon R9 285/380] 1462 2015 Radeon R9 380 Gaming 4G 148c 9380 Radeon R9 380 -# Make naming scheme consistent 174b e308 Radeon R9 380 Nitro 4G D5 174b e315 Radeon R9 285 693b Tonga PRO GL [FirePro W7100 / Barco MXRT-7600] @@ -3663,7 +3726,7 @@ 1002 0322 All-in-Wonder X1800XL 1002 0d02 Radeon X1800 CrossFire Edition 710a R520 [Radeon X1800 GTO] - 1002 0b12 Radeon X1800 GTO² + 1002 0b12 Radeon X1800 GTO² 710b R520 [Radeon X1800 GTO] 710e R520 GL [FireGL V7300] 13cc 3d0c MXRT-5150 @@ -3790,6 +3853,7 @@ 72b1 RV560 [Radeon X1650 XT] (Secondary) 72b3 RV560 [Radeon X1650 GT] (Secondary) 7300 Fiji [Radeon R9 FURY / NANO Series] + 1002 0b35 FirePro S9300 X2 1002 0b36 Radeon R9 FURY X / NANO 1002 1b36 Radeon Pro Duo 1043 049e Radeon R9 FURY @@ -3798,10 +3862,13 @@ 7310 Navi 10 [Radeon Pro W5700X] 7312 Navi 10 [Radeon Pro W5700] 7314 Navi 10 USB + 7319 Navi 10 [Radeon Pro 5700 XT] + 731b Navi 10 [Radeon Pro 5700] 731e TDC-150 731f Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] 1002 0b36 Reference RX 5700 XT 1458 2313 Radeon RX 5700 XT Gaming OC + 1458 231d Radeon RX 5600 XT/REV 2.0 [Windforce 6GB OC] 148c 2398 AXRX 5700 XT 8GBD6-3DHE/OC [PowerColor Red Devil Radeon RX 5700 XT] 1682 5701 RX 5700 XT RAW II 1849 5120 Radeon RX 5600 XT @@ -3822,6 +3889,7 @@ 73a3 Navi 21 GL-XL [Radeon PRO W6800] 73a4 Navi 21 USB 73a5 Navi 21 [Radeon RX 6950 XT] + 1849 5230 Navi 21 [ASRock OC Forumla Radeon RX 6950XT] 1da2 441d Navi 21 [Sapphire Nitro+ Radeon RX 6950 XT] 73ab Navi 21 Pro-XLA [Radeon Pro W6800X/Radeon Pro W6800X Duo] 73ae Navi 21 [Radeon Pro V620 MxGPU] @@ -3830,13 +3898,15 @@ 73bf Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] 1002 0e3a Radeon RX 6900 XT 148c 2408 Red Devil AMD Radeon RX 6900 XT + 1da2 438e NITRO+ Radeon RX 6800 XT 1da2 440f TOXIC RX 6900 XT + 1da2 e437 Pulse Radeon RX 6800 1eae 6701 Speedster MERC 319 AMD Radeon RX 6800 XT Black 1eae 6901 Speedster MERC 319 AMD Radeon RX 6900 XT Black 73c3 Navi 22 73c4 Navi 22 USB 73ce Navi22-XL SRIOV MxGPU - 73df Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] + 73df Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] 1043 16c2 Radeon RX 6800M 1458 2408 Radeon RX 6750 XT GAMING OC 12G 1849 5219 Radeon RX 6700 XT Challenger D @@ -3846,13 +3916,13 @@ 73e1 Navi 23 WKS-XM [Radeon PRO W6600M] 73e3 Navi 23 WKS-XL [Radeon PRO W6600] 73e4 Navi 23 USB - 73ef Navi 23 [Radeon RX 6650 XT] - 1002 73ef Navi 23 [Radeon RX 6700S / 6800S / 6650 XT] + 73ef Navi 23 [Radeon RX 6650 XT / 6700S / 6800S] 1458 2405 Navi 23 [Radeon RX 6650 XT] + 1849 5236 RX 6650 XT Challenger D OC + 73f0 Navi 33 [Radeon RX 7600M XT] 73ff Navi 23 [Radeon RX 6600/6600 XT/6600M] 1462 5022 RX 6600 MECH 2X 148c 2412 PowerColor Red Devil RX 6600 XT -# This is the non-XT version 1849 5218 Radeon RX 6600 Challenger ITX 8GB 7408 Aldebaran/MI200 [Instinct MI250X] 740c Aldebaran/MI200 [Instinct MI250X/MI250] @@ -3863,7 +3933,14 @@ 7424 Navi 24 [Radeon RX 6300] 743f Navi 24 [Radeon RX 6400/6500 XT/6500M] 1da2 e457 PULSE AMD Radeon RX 6500 XT + 7448 Navi31 [Radeon Pro W7900] 744c Navi 31 [Radeon RX 7900 XT/7900 XTX] + 1da2 e471 NITRO+ RX 7900 XTX Vapor-X + 1eae 7901 RX-79XMERCB9 [SPEEDSTER MERC 310 RX 7900 XTX] + 745e Navi 31 + 7480 Navi 33 [Radeon RX 7700S/7600S/7600M XT] + 7483 Navi 33 [Radeon RX 7600M/7600M XT] + 7489 Navi 33 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -3998,7 +4075,7 @@ 148c 3000 Radeon HD 4350 Go! Green 512MB GDDR3 # 113-2E172001-003 174b 3000 Radeon HD 4350/4550 HyperMemory DDR2 - 9553 RV710/M92 [Mobility Radeon HD 4530/4570/545v] + 9553 RV710/M92 [Mobility Radeon HD 4530/4570/5145/530v/540v/545v] 1025 015e Mobility Radeon HD 4570 1025 017d Mobility Radeon HD 4570 1025 0205 Mobility Radeon HD 4570 / 545v @@ -4021,7 +4098,7 @@ 17aa 2129 Mobility Radeon HD 545v 17aa 215b Mobility Radeon HD 545v 17aa 21bb Mobility Radeon HD 545v - 9555 RV710/M92 [Mobility Radeon HD 4350/4550] + 9555 RV711/M93 [Mobility Radeon HD 4350/4550/530v/540v/545v / FirePro RG220] 103c 1411 ProBook 4720s GPU (Mobility Radeon HD 4350) 9557 RV711/M93 GL [FirePro RG220] 955f RV710/M92 [Mobility Radeon HD 4330] @@ -4035,7 +4112,6 @@ 9588 RV630 XT [Radeon HD 2600 XT] 1458 216c Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) 9589 RV630 PRO [Radeon HD 2600 PRO] -# Rebranded HD 2600 PRO 1787 3000 Radeon HD 3610 958a RV630 [Radeon HD 2600 X2] 958b RV630/M76 [Mobility Radeon HD 2600 XT] @@ -4064,7 +4140,7 @@ 95c4 RV620/M82 [Mobility Radeon HD 3450/3470] 1002 95c4 Mobility Radeon HD 3400 95c5 RV620 LE [Radeon HD 3450] - 1028 0342 OptiPlex 980 + 1028 0342 Radeon HD 3450 DMS-59 95c6 RV620 LE [Radeon HD 3450 AGP] 95c9 RV620 LE [Radeon HD 3450 PCI] 95cc RV620 GL [FirePro V3700] @@ -4891,14 +4967,14 @@ 1453 Family 17h (Models 00h-0fh) PCIe GPP Bridge 1454 Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B 1455 Zeppelin/Renoir PCIe Dummy Function - 1456 Family 17h (Models 00h-0fh) Platform Security Processor + 1456 Family 17h (Models 00h-0fh) Platform Security Processor (PSP) 3.0 Device 1457 Family 17h (Models 00h-0fh) HD Audio Controller 145a Zeppelin/Raven/Raven2 PCIe Dummy Function 145b Zeppelin Non-Transparent Bridge 145c Family 17h (Models 00h-0fh) USB 3.0 Host Controller 145d Zeppelin Switch Upstream (PCIE SW.US) 145e Zeppelin Switch Downstream (PCIE SW.DS) - 145f Zeppelin USB 3.0 Host controller + 145f Zeppelin USB 3.0 xHCI Compliant Host Controller 1460 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0 1461 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1 1462 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2 @@ -5075,6 +5151,7 @@ ea50 ce19 mCOM10-L1900 15e3 Family 17h/19h HD Audio Controller 103c 8615 Pavilion Laptop 15-cw1xxx + 103c 8b17 ProBook 445 G9/455 G9 1043 86c7 PRIME B450M-A Motherboard 17aa 5124 ThinkPad E595 15e4 Sensor Fusion Hub @@ -5280,7 +5357,7 @@ 43c6 400 Series Chipset PCIe Bridge 43c7 400 Series Chipset PCIe Port 43c8 400 Series Chipset SATA Controller - 43d5 400 Series Chipset USB 3.1 XHCI Controller + 43d5 400 Series Chipset USB 3.1 xHCI Compliant Host Controller 43e9 500 Series Chipset Switch Upstream Port 43eb 500 Series Chipset SATA Controller # or ASM106X Serial ATA Controller @@ -5417,6 +5494,7 @@ 7908 FCH USB EHCI Controller 790b FCH SMBus Controller 103c 8615 Pavilion Laptop 15-cw1xxx + 103c 8b17 ProBook 445 G9/455 G9 1043 876b PRIME Motherboard 1462 7c37 X570-A PRO motherboard 15d9 790b H12SSL-i @@ -5436,18 +5514,22 @@ 1043 82f1 M3A78-EH Motherboard 9601 RS880 Host Bridge 1019 2120 A785GM-M + 1028 0433 Optiplex 580 103c 1609 ProLiant MicroServer N36L 1043 83a2 M4A785-M Mainboard 1043 843e M5A88-V EVO 9602 RS780/RS880 PCI to PCI bridge (int gfx) 9603 RS780 PCI to PCI bridge (ext gfx port 0) + 1028 0433 Optiplex 580 103c 1609 ProLiant MicroServer N36L 9604 RS780/RS880 PCI to PCI bridge (PCIE port 0) + 1028 0433 OptiPlex 580 9605 RS780/RS880 PCI to PCI bridge (PCIE port 1) 9606 RS780 PCI to PCI bridge (PCIE port 2) 103c 1609 ProLiant MicroServer N36L 9607 RS780/RS880 PCI to PCI bridge (PCIE port 3) 9608 RS780/RS880 PCI to PCI bridge (PCIE port 4) + 1028 0433 OptiPlex 580 9609 RS780/RS880 PCI to PCI bridge (PCIE port 5) 960a RS780 PCI to PCI bridge (NB-SB link) 960b RS780 PCI to PCI bridge (ext gfx port 1) @@ -5508,6 +5590,9 @@ 9930 CyberBlade/XPm 9960 CyberBlade XP2 1024 Beijing Dajia Internet Information Technology Co. + 0101 StreamLake 200 AI-VPU + 1024 0201 SL200-NP + 1024 0301 SL200-P 1025 Acer Incorporated [ALI] 1435 M1435 1445 M1445 @@ -5834,7 +5919,6 @@ 110a 001e MGA-G100 AGP 2007 MGA Mistral 2527 Millennium G550 -# PCI\VEN_102B&DEV_2527&SUBSYS_0F42102B&REV_01 102b 0f42 Matrox G550 Low Profile PCI 102b 0f83 Millennium G550 102b 0f84 Millennium G550 Dual Head DDR 32Mb @@ -6516,7 +6600,6 @@ 0009 STG 1764X 0010 STG4000 [3D Prophet Kyro Series] 104a 4018 ST PowerVR Kyro (64MB AGP TVO) -# 64MB AGP 1681 0010 PowerVR Kyro II [3D Prophet 4500] 1681 0028 3D Prophet 4000XT 1681 c010 3D Prophet 4500 TV-Out @@ -7029,6 +7112,8 @@ 6405 MPC184 Security Processor (S1 family) 1058 Electronics & Telecommunications RSH 1059 Kontron + 0004 FPGA M.2 (K20058) + 1059 0000 FPGA M.2 (K20058) 105a Promise Technology, Inc. 0d30 PDC20265 (FastTrak100 Lite/Ultra100) 1043 8042 AV7266-E South Bridge Promise RAID @@ -7292,6 +7377,8 @@ 006a Intrepid2 Firewire 006b Intrepid2 GMAC (Sun GEM) 0074 U4 HT Bridge + 100c Apple Silicon PCI Express Root Port + 1010 Apple Silicon USB4/Thunderbolt PCI Express Root Port # should be 14e4:1645 1645 Broadcom NetXtreme BCM5701 Gigabit Ethernet 1801 T2 Bridge Controller @@ -7440,7 +7527,7 @@ 1077 02f2 QLogic 1x32Gb QLE2770 FC HBA 1077 02f3 QLogic 2x32Gb QLE2772 FC HBA 1590 02d3 SN1610Q - 1P Enhanced 32GFC Single Port Fibre Channel Host Bus Adapter - 1590 02d4 SN1610Q – 2P Enhanced 32GFC Dual Port Fibre Channel Host Bus Adapter + 1590 02d4 SN1610Q - 2P Enhanced 32GFC Dual Port Fibre Channel Host Bus Adapter 2289 ISP2852-based 64/32G Fibre Channel to PCIe Controller with StorCryption 1077 02e9 QLE2882 Dual Port 64GFC PCIe Gen4 x8 Adapter with StorCryption 1077 02eb QLE2782 Dual Port 32GFC PCIe Gen4 x8 Adapter with StorCryption @@ -8560,6 +8647,7 @@ # nee CMD Technology Inc 1095 Silicon Image, Inc. 0240 Adaptec AAR-1210SA SATA HostRAID Controller + 0242 AAR-1220SA SATA RAID Controller 0640 PCI0640 0643 PCI0643 0646 PCI0646 @@ -9349,10 +9437,8 @@ 103c 0024 Pavilion ze4400 builtin USB 103c 0025 XE4500 Notebook 104d 810f VAIO PCG-U1 USB/OHCI Revision 1.0 - 10b9 5237 ASRock 939Dual-SATA2 Motherboard 1849 5237 ASRock 939Dual-SATA2 Motherboard 5239 USB 2.0 Controller - 10b9 5239 ASRock 939Dual-SATA2 Motherboard 1849 5239 ASRock 939Dual-SATA2 Motherboard 5243 M1541 PCI to AGP Controller 5246 AGP8X Controller @@ -9794,6 +9880,7 @@ 0091 G70 [GeForce 7800 GTX] 0092 G70 [GeForce 7800 GT] 0093 G70 [GeForce 7800 GS] + 0094 High Definition Audio 0095 G70 [GeForce 7800 SLI] 0097 G70 [GeForce GTS 250] 0098 G70M [GeForce Go 7800] @@ -11127,6 +11214,7 @@ 086d C79 [GeForce 9200] 086e C79 [GeForce 9100M G] 086f MCP79 [GeForce 8200M G] + 1043 16b2 F5GL Notebook 0870 C79 [GeForce 9400M] 0871 C79 [GeForce 9200] 0872 C79 [GeForce G102M] @@ -11253,21 +11341,28 @@ 0a88 MCP79 Memory Controller 0a89 MCP79 Memory Controller 0a98 MCP79 Memory Controller + 1043 1a87 F5GL Notebook 10de cb79 iMac 9,1 0aa0 MCP79 PCI Express Bridge + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 0aa2 MCP79 SMBus + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa3 MCP79 Co-processor + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa4 MCP79 Memory Controller + 1043 1a87 F5GL Notebook 19da a123 IONITX-F-E 0aa5 MCP79 OHCI USB 1.1 Controller + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa6 MCP79 EHCI USB 2.0 Controller + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa7 MCP79 OHCI USB 1.1 Controller @@ -11279,14 +11374,17 @@ 19da a123 IONITX-F-E 0aaa MCP79 EHCI USB 2.0 Controller 0aab MCP79 PCI Bridge + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 0aac MCP79 LPC Bridge 0aad MCP79 LPC Bridge 19da a123 IONITX-F-E 0aae MCP79 LPC Bridge + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 0aaf MCP79 LPC Bridge 0ab0 MCP79 Ethernet + 1043 1215 F5GL Notebook 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0ab1 MCP79 Ethernet @@ -11298,6 +11396,7 @@ 0ab6 MCP79 SATA Controller 0ab7 MCP79 SATA Controller 0ab8 MCP79 AHCI Controller + 1043 1a87 F5GL Notebook 0ab9 MCP79 AHCI Controller 10de cb79 Apple iMac 9,1 0aba MCP79 AHCI Controller @@ -11307,6 +11406,7 @@ 0abe MCP79 RAID Controller 0abf MCP79 RAID Controller 0ac0 MCP79 High Definition Audio + 1043 1903 F5GL Notebook 10de cb79 Apple iMac 9,1 0ac1 MCP79 High Definition Audio 0ac2 MCP79 High Definition Audio @@ -11315,8 +11415,10 @@ 10de cb79 Apple iMac 9,1 0ac5 MCP79 PCI Express Bridge 0ac6 MCP79 PCI Express Bridge + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 0ac7 MCP79 PCI Express Bridge + 1043 1a87 F5GL Notebook 10de cb79 Apple iMac 9,1 0ac8 MCP79 PCI Express Bridge 0ad0 MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) @@ -12231,7 +12333,7 @@ 13c2 GM204 [GeForce GTX 970] 13c3 GM204 13d7 GM204M [GeForce GTX 980M] - 13d8 GM204M [GeForce GTX 970M] + 13d8 GM204M [GeForce GTX 960 OEM / 970M] 13d9 GM204M [GeForce GTX 965M] 13da GM204M [GeForce GTX 980 Mobile] 13e7 GM204GL [GeForce GTX 980 Engineering Sample] @@ -12448,11 +12550,14 @@ 10de 129e Quadro RTX 8000 10de 12ba Quadro RTX 6000 1e36 TU102GL [Quadro RTX 6000] - 1e37 TU102GL [GRID RTX T10-4/T10-8/T10-16] + 1e37 TU102GL [Tesla T10 16GB / GRID RTX T10-2/T10-4/T10-8] + 10de 1304 Tesla T10 16GB 10de 1347 GRID RTX T10-8 10de 1348 GRID RTX T10-4 - 10de 1370 GRID RTX T10-16 - 1e38 TU102GL + 10de 1349 GRID RTX T10-2 + 10de 1370 Tesla T10 16GB + 10de 13a5 GRID RTX T10-8 + 1e38 TU102GL [Tesla T40 24GB] 1e3c TU102GL 1e3d TU102GL 1e3e TU102GL @@ -12476,6 +12581,7 @@ 1eb6 TU104GLM [Quadro RTX 4000 Mobile / Max-Q] 1eb8 TU104GL [Tesla T4] 1eb9 TU104GL + 1eba TU104GL [PG189 SKU600] 1ebe TU104GL 1ec2 TU104 [GeForce RTX 2070 SUPER] 1ec7 TU104 [GeForce RTX 2070 SUPER] @@ -12542,12 +12648,14 @@ 1ff0 TU117GL [T1000 8GB] 1ff2 TU117GL [T400 4GB] 1ff9 TU117GLM [Quadro T1000 Mobile] + 2080 GA100 + 2081 GA100 2082 GA100 [CMP 170HX] 20b0 GA100 [A100 SXM4 40GB] 20b1 GA100 [A100 PCIe 40GB] 20b2 GA100 [A100 SXM4 80GB] -# 20B3 14A7 10DE PG506-242 / 20B3 14A8 10DE PG506-243 - 20b3 GA100 [PG506-242/243] + 20b3 GA100 [A100-SXM-64GB] + 20b4 GA100 20b5 GA100 [A100 PCIe 80GB] 20b6 GA100GL [PG506-232] 20b7 GA100GL [A30 PCIe] @@ -12556,6 +12664,7 @@ 20bb GA100 [DRIVE A100 PROD] 20be GA100 [GRID A100A] 20bf GA100 [GRID A100B] + 20c0 GA100 20c2 GA100 [CMP 170HX] 20f0 GA100 [A100-PG506-207] 20f1 GA100 [A100 PCIe 40GB] @@ -12563,6 +12672,9 @@ 20f3 GA100 [A800-SXM4-80GB] 20f5 GA100 [A800 80GB PCIe] 20f6 GA100 [A800 40GB PCIe] + 20fd GA100 [A100T] + 20fe GA100 + 20ff GA100 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] @@ -12604,12 +12716,16 @@ 228b GA104 High Definition Audio Controller 228e GA106 High Definition Audio Controller 2296 Tegra PCIe Endpoint Virtual Network + 22ba AD102 High Definition Audio Controller 2302 GH100 + 2313 GH100 [H100 CNX] 2321 GH100 - 2322 GH100 [H800] + 2322 GH100 [H800 PCIe] + 2324 GH100 [H800] 2330 GH100[H100 SXM5 80GB] 2331 GH100 [H100 PCIe] - 2336 GH100 [H100 96GB] + 2336 GH100 [H100] + 2339 GH100 [H100] 2414 GA103 [GeForce RTX 3060 Ti] 2420 GA103M [GeForce RTX 3080 Ti Mobile] 2438 GA103GLM [RTX A5500 Laptop GPU] @@ -12642,7 +12758,9 @@ 24ba GA104GLM [RTX A4500 Laptop GPU] 24bb GA104GLM [RTX A3000 Laptop GPU] 24bf GA104 [GeForce RTX 3070 Engineering Sample] - 24c9 GA104 [GeForce RTX 3060 Ti] + 24c7 GA104 [GeForce RTX 3060 8GB] + 24c8 GA104 [GeForce RTX 3070 GDDR6X] + 24c9 GA104 [GeForce RTX 3060 Ti GDDR6X] 24dc GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] 24dd GA104M [GeForce RTX 3070 Mobile / Max-Q] 24df GA104M @@ -12665,8 +12783,8 @@ 2561 GA106M [GeForce RTX 3060 Laptop GPU] 2563 GA106M [GeForce RTX 3050 Ti Mobile / Max-Q] 2571 GA106 [RTX A2000 12GB] - 2582 GA107 [GeForce RTX 3050] - 2583 GA107 [GeForce RTX 3050] + 2582 GA107 [GeForce RTX 3050 8GB] + 2583 GA107 [GeForce RTX 3050 4GB] 25a0 GA107M [GeForce RTX 3050 Ti Mobile] 25a2 GA107M [GeForce RTX 3050 Mobile] 25a3 GA107 @@ -12676,8 +12794,9 @@ 25a7 GA107M [GeForce MX570] 25a9 GA107M [GeForce RTX 2050] 25aa GA107M [GeForce MX570 A] -# GN20-P0 Refresh - 25ac GN20-P0-R-K2 + 25ab GA107M [GeForce RTX 3050 4GB Laptop GPU] + 25ac GN20-P0-R-K2 [GeForce RTX 3050 6GB Laptop GPU] + 25ad GA107 [GeForce RTX 2050] 25af GA107 [GeForce RTX 3050 Engineering Sample] 25b5 GA107GLM [RTX A4 Mobile] # A16 - 25B6 10DE 14A9 / A2 - 25B6 10DE 157E @@ -12686,32 +12805,46 @@ 25b9 GA107GLM [RTX A1000 Laptop GPU] 25ba GA107GLM [RTX A2000 8GB Laptop GPU] 25bb GA107GLM [RTX A500 Laptop GPU] + 25bc GA107GLM [RTX A1000 6GB Laptop GPU] + 25bd GA107GLM [RTX A500 Laptop GPU] 25e0 GA107BM [GeForce RTX 3050 Ti Mobile] 25e2 GA107BM [GeForce RTX 3050 Mobile] 25e5 GA107BM [GeForce RTX 3050 Mobile] -# GN20-P0 Refresh - 25ec GN20-P0-R-K2 + 25ec GN20-P0-R-K2 [GeForce RTX 3050 6GB Laptop GPU] + 25ed GA107 [GeForce RTX 2050] 25f9 GA107 [RTX A1000 Embedded GPU ] 25fa GA107 [RTX A2000 Embedded GPU] 25fb GA107 [RTX A500 Embedded GPU] + 2681 AD102 [RTX TITAN Ada] 2684 AD102 [GeForce RTX 4090] - 26b1 AD102GL [L6000 / RTX 6000 Ada Generation] + 26b1 AD102GL [RTX 6000 Ada Generation] + 26b2 AD102GL [RTX 5000 Ada Generation] 26b5 AD102GL [L40] 26b8 AD102GL [L40G] 26f5 AD102GL [L40 CNX] 2704 AD103 [GeForce RTX 4080] - 2717 GN21-X11 + 2717 GN21-X11 [GeForce RTX 4090 Laptop GPU] + 2730 AD103GLM [RTX 5000 Ada Generation Laptop GPU] 2757 GN21-X11 + 2782 AD104 [GeForce RTX 4070 Ti] 2785 AD104 - 27a0 GN21-X9 + 2786 AD104 [GeForce RTX 4070] + 27a0 AD104M [GeForce RTX 4080 Max-Q / Mobile] + 27b0 AD104GL [RTX 4000 SFF Ada Generation] + 27b7 AD104GL [L16] 27b8 AD104GL [L4] - 27e0 GN21-X9 - 2820 GN21-X6 - 2860 GN21-X6 - 28a0 GN21-X4 - 28a1 GN21-X2 - 28e0 GN21-X4 - 28e1 GN21-X2 + 27ba AD104GLM [RTX 4000 Ada Generation Laptop GPU] + 27bb AD104GLM [RTX 3500 Ada Generation Laptop GPU] + 27e0 AD104M [GeForce RTX 4080 Max-Q / Mobile] + 2803 AD106 [GeForce RTX 4060 Ti] + 2820 AD106M [GeForce RTX 4070 Max-Q / Mobile] + 2838 AD106GLM [RTX 3000 Ada Generation Laptop GPU] + 2860 AD106M [GeForce RTX 4070 Max-Q / Mobile] + 28a0 AD107M [GeForce RTX 4060 Max-Q / Mobile] + 28a1 AD107M [GeForce RTX 4050 Max-Q / Mobile] + 28b8 AD107GLM [RTX 2000 Ada Generation Laptop GPU] + 28e0 AD107M [GeForce RTX 4060 Max-Q / Mobile] + 28e1 AD107M [GeForce RTX 4050 Max-Q / Mobile] 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) 103c 1934 FlexFabric 20Gb 2-port 650M Adapter @@ -12921,6 +13054,7 @@ 10ec Realtek Semiconductor Co., Ltd. 0139 RTL-8139/8139C/8139C+ Ethernet Controller 3000 Killer E3000 2.5GbE Controller + 4321 RTL8852BE 802.11ax PCIe Wireless Network Adapter 5208 RTS5208 PCI Express Card Reader 5209 RTS5209 PCI Express Card Reader 5227 RTS5227 PCI Express Card Reader @@ -13053,6 +13187,7 @@ 103c 86d4 Pavilion Laptop 15-ec0xxx # Rev 29, uses r8169 Driver on Linux 103c 8882 HP ProDesk 405 G8 Desktop Mini PC + 103c 8b17 ProBook 445 G9/455 G9 [RTL8111HSH-CG GbE Controller] 1043 11f5 Notebook motherboard (one of many models) 1043 16d5 U6V/U31J laptop 1043 81aa P5B @@ -13141,7 +13276,7 @@ 10ec 8739 Dell Wireless 1801 17aa b736 Z50-75 b822 RTL8822BE 802.11a/b/g/n/ac WiFi adapter - 103c 831b Realtek RTL8822BE 802.11ac 2 × 2 Wi-Fi + Bluetooth 4.2 Combo Adapter (MU-MIMO supported) + 103c 831b Realtek RTL8822BE 802.11ac 2x2 Wi-Fi + Bluetooth 4.2 Combo Adapter (MU-MIMO supported) 17aa 5124 ThinkPad E595 17aa b023 ThinkPad E595 c821 RTL8821CE 802.11ac PCIe Wireless Network Adapter @@ -13168,16 +13303,11 @@ 3fc4 RME Digi9652 (Hammerfall) 3fc5 RME Hammerfall DSP 3fc6 RME Hammerfall DSP MADI -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 5000 Alveo U200 XDMA Platform -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 5004 Alveo U250 XDMA Platform 5005 Alveo U250 -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 500c Alveo U280 XDMA Platform -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 5020 Alveo U50 XMDA Platform -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html 505c Alveo U55C 6987 SmartSSD 6988 SmartSSD @@ -13191,13 +13321,9 @@ 9134 SmartSSD 9234 SmartSSD 9434 SmartSSD -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d000 Alveo U200 Golden Image -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d004 Alveo U250 Golden Image -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d00c Alveo U280 Golden Image -# Reference: https://xilinx.github.io/Alveo-Cards/master/management-specification/appendix_a.html d020 Alveo U50 Golden Image d154 Copley Controls CAN card (PCI-CAN-02) # SED is assigned Xilinx PCI device IDs ebf0 through ebff @@ -13706,6 +13832,8 @@ 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 1695 300c Realtek ALC655 audio on EP-8KRA series mainboard + 16f3 4170 J7F2 motherboard + 1734 1078 Amilo L7300T notebook 1849 0850 ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) 1849 9739 P4VT8 Mainboard (C-Media CMI9739A codec) # probably all K7VT2/4*/6 @@ -13834,9 +13962,9 @@ 3208 PT890 Host Bridge 3213 VPX/VPX2 PCI to PCI Bridge Controller 3218 K8T800M Host Bridge - 3227 VT8237 ISA bridge [KT600/K8T800/K8T890 South] + 3227 VT8237 ISA bridge [KT600/K8T800/K8T890/CN700 South] 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard - 1106 3227 DFI KT600-AL / Soltek SL-B9D-FGR Motherboard + 1106 3227 VT8237 ISA bridge 1458 5001 GA-7VT600 Motherboard 147b 1407 KV8-MAX3 motherboard 1849 3227 K7VT4 motherboard @@ -13988,8 +14116,7 @@ 9082 Standard AHCI 1.0 SATA Controller 9140 HDMI Audio Device 9201 USB3.0 Controller -# Centaur CNS Coprocessor - 9380 Ncore Coprocessor + 9380 Ncore Coprocessor for Centaur CNS 9530 VX800/820/900 Series Secure Digital Memory Card Controller 95d0 VX800/820/900 Series SDIO Host Controller a208 PT890 PCI to PCI Bridge Controller @@ -14324,6 +14451,7 @@ 112a Hermes Electronics Company, Ltd. # nee Linotype - Hell AG 112b Heidelberger Druckmaschinen AG + 0001 SCU5 112c Zenith Data Systems 112d Ravicad 112e Infomedia Microelectronics Inc. @@ -14534,8 +14662,7 @@ 153b 1157 Cinergy 1200 DVB-T 153b 1176 Cinergy 1200 DVB-C (MK3) 1894 0020 KNC One DVB-C V1.0 - 1894 0023 TVStation DVB-C plus -# http://www.knc1.com/gb.htm + 1894 0023 TV-Station DVB-C plus 1894 0054 TV-Station DVB-S 7160 SAA7160 1458 9009 E8000 DVB-T/Analog TV/FM tuner @@ -15240,6 +15367,8 @@ 117c 00bc Celerity FC-321P 117c 00bd Celerity FC-322P 117c 00be Celerity FC-324P + 117c 00c9 Celerity FC-641E + 117c 00ca Celerity FC-642E 00c5 ExpressNVM PCIe Gen4 Switch 117c 00c6 ExpressNVM S48F PCIe Gen4 117c 00c7 ExpressNVM S468 PCIe Gen4 @@ -16394,6 +16523,13 @@ *** 2035 LINES SKIPPED *** From nobody Fri May 19 08:17:27 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN07q4vdzz4BfCQ; Fri, 19 May 2023 08:17: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 4QN07q4Rlsz4FqX; Fri, 19 May 2023 08:17:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfnOjyjK7WfdZiB6cre+AZ5Z+vBD/aS55uSE2H8teeo=; b=ttdAEjmcJtkT1DgytiRmfk/M1JBzylSnlyl4YJsNbI+d8hJ4o7UOwLK4qdbAxQOhla8H2a QlBZGCJuxOiSFbLwVipoj+2Tjohvhm9rjv81Ufg79K/yqXmiAT7tIDdItPTZSFPzfTF8Ll M2TNko5S4SaX95oBSVeF9Gn7O4x+Np31ncPHWFL+qbEsPiM9iejbrBWGzjlGihasqoDZ/F odjCXJHOmrSi3yjc44OxOYjrbaAK+J651CWnd/8yFzTqO+dqZIoa07y6DpNaD4zrRhCWOa Wbkc3L7RSS+zj6DneU8wOJKPzSOBfXYakaglBF6BR7GFFtRDM/HtEE95scx35A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfnOjyjK7WfdZiB6cre+AZ5Z+vBD/aS55uSE2H8teeo=; b=LdpUx67x/LBo0t5SI3nr1xXAH944cV2Q4A3p+oYBYxN6u3jYzIBaHyjS8+XoAySKXJiRV7 27clbmABN+qGGrQFJSZ+0Q0Dtc/Nq6QCQNhHVTTHNIOON4RIY3lcf9s8KBf/ER/f8b3Rru WvL3RjD7FNuO3eqU/g7hVs44ZCsUGWvDoERivvNre7NuqYfP2Eqo3mNWzWTyEW8tzX8N9w Lr7NlPGnCJs1W9n+5wYbT7faVoH0pUE1uPPAXL0Lb3AzEiqo9RDwtJ4ZSl76+Ie0fq/Tfo LCAXmtPeg++W3QIgI7eP21ZPHT31wHzKriGeDVjSfCrGPy18YtC8uerN5jX2XQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484247; a=rsa-sha256; cv=none; b=N4jeXDbLBvM6MGyHokZCSnJLEaG4hs1rjp7JsnIqe7M3pPlNKZPfip92S9zJbrJCFE8Wny pC4YKcFmvcq/hd9f8qOdooYa0BzFSl79ELITv45PvYuwFCUvrckyPDs+ojQ3aZr9xG57Rm oZ0knxnwxLU+gVmwTeR5j9x44a+o9d1d1c/0cdZkS40ohFCzvSvNm7GEi9u/7aiA0p8RE6 lvhBBN//aBfRgarrcB//BJEjcaYCT0zyhw4/uXeMCw7cC/iE6VTSJRxsdaipR+xwYolqiH TdFvIsvdsjidzD1J026di72O0jynGfUZ0+d5wxTk/aD14n72W3Z7JaO2Spus9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN07q3Vq7zKvm; Fri, 19 May 2023 08:17:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8HRdQ018179; Fri, 19 May 2023 08:17:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8HRpr018178; Fri, 19 May 2023 08:17:27 GMT (envelope-from git) Date: Fri, 19 May 2023 08:17:27 GMT Message-Id: <202305190817.34J8HRpr018178@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 7bc2192380e1 - stable/13 - pkg(7): use libmd for sha256 instead of openssl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 7bc2192380e10f3469ab4eda69ade324aae976cd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=7bc2192380e10f3469ab4eda69ade324aae976cd commit 7bc2192380e10f3469ab4eda69ade324aae976cd Author: Baptiste Daroussin AuthorDate: 2023-03-09 16:38:30 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:16:51 +0000 pkg(7): use libmd for sha256 instead of openssl OpenSSL 3.0 has deprecated the sha256 api, let's use libmd which has the same API instead. In order to avoid the collision in definitions (sha256.h cannot be included in the same file as a file where openssl headers has been included) let's move the sha256 related code in its own file PR: 270023 Reported by: ngie (cherry picked from commit b2654064c2d11a1ee36667b3ff8b0f4d2536af74) --- usr.sbin/pkg/Makefile | 4 +- usr.sbin/pkg/hash.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ usr.sbin/pkg/hash.h | 32 +++++++++++++++ usr.sbin/pkg/pkg.c | 78 +---------------------------------- 4 files changed, 147 insertions(+), 79 deletions(-) diff --git a/usr.sbin/pkg/Makefile b/usr.sbin/pkg/Makefile index e40265146657..895438982309 100644 --- a/usr.sbin/pkg/Makefile +++ b/usr.sbin/pkg/Makefile @@ -23,11 +23,11 @@ CONFSNAME_${PKGCONF}= ${PKGCONF:C/\.conf.+$/.conf/} CONFSDIR= /etc/pkg CONFSMODE= 644 PROG= pkg -SRCS= pkg.c dns_utils.c config.c +SRCS= pkg.c dns_utils.c config.c hash.c MAN= pkg.7 CFLAGS+=-I${SRCTOP}/contrib/libucl/include .PATH: ${SRCTOP}/contrib/libucl/include -LIBADD= archive fetch ucl crypto ssl util +LIBADD= archive fetch ucl crypto ssl util md .include diff --git a/usr.sbin/pkg/hash.c b/usr.sbin/pkg/hash.c new file mode 100644 index 000000000000..47bcae6c5b6a --- /dev/null +++ b/usr.sbin/pkg/hash.c @@ -0,0 +1,112 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2012-2014 Baptiste Daroussin + * Copyright (c) 2013 Bryan Drewery + * 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 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 "hash.h" + +static void +sha256_hash(unsigned char hash[SHA256_DIGEST_LENGTH], + char out[SHA256_DIGEST_LENGTH * 2 + 1]) +{ + int i; + + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) + sprintf(out + (i * 2), "%02x", hash[i]); + + out[SHA256_DIGEST_LENGTH * 2] = '\0'; +} + +void +sha256_buf(char *buf, size_t len, char out[SHA256_DIGEST_LENGTH * 2 + 1]) +{ + unsigned char hash[SHA256_DIGEST_LENGTH]; + SHA256_CTX sha256; + + out[0] = '\0'; + + SHA256_Init(&sha256); + SHA256_Update(&sha256, buf, len); + SHA256_Final(hash, &sha256); + sha256_hash(hash, out); +} + +int +sha256_fd(int fd, char out[SHA256_DIGEST_LENGTH * 2 + 1]) +{ + int my_fd; + FILE *fp; + char buffer[BUFSIZ]; + unsigned char hash[SHA256_DIGEST_LENGTH]; + size_t r; + int ret; + SHA256_CTX sha256; + + fp = NULL; + ret = 1; + + out[0] = '\0'; + + /* Duplicate the fd so that fclose(3) does not close it. */ + if ((my_fd = dup(fd)) == -1) { + warnx("dup"); + goto cleanup; + } + + if ((fp = fdopen(my_fd, "rb")) == NULL) { + warnx("fdopen"); + goto cleanup; + } + + SHA256_Init(&sha256); + + while ((r = fread(buffer, 1, BUFSIZ, fp)) > 0) + SHA256_Update(&sha256, buffer, r); + + if (ferror(fp) != 0) { + warnx("fread"); + goto cleanup; + } + + SHA256_Final(hash, &sha256); + sha256_hash(hash, out); + ret = 0; + +cleanup: + if (fp != NULL) + fclose(fp); + else if (my_fd != -1) + close(my_fd); + (void)lseek(fd, 0, SEEK_SET); + + return (ret); +} diff --git a/usr.sbin/pkg/hash.h b/usr.sbin/pkg/hash.h new file mode 100644 index 000000000000..dcdc458b5e61 --- /dev/null +++ b/usr.sbin/pkg/hash.h @@ -0,0 +1,32 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2023 Baptiste Daroussin + * + * 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. + * + */ + +#pragma once + +void sha256_buf(char *buf, size_t len, char out[]); +int sha256_fd(int fd, char out[]); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index f3c338c6961e..7c4749f8089e 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include "dns_utils.h" #include "config.h" +#include "hash.h" struct sig_cert { char *name; @@ -400,83 +401,6 @@ load_fingerprints(const char *path, int *count) return (fingerprints); } -static void -sha256_hash(unsigned char hash[SHA256_DIGEST_LENGTH], - char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - int i; - - for (i = 0; i < SHA256_DIGEST_LENGTH; i++) - sprintf(out + (i * 2), "%02x", hash[i]); - - out[SHA256_DIGEST_LENGTH * 2] = '\0'; -} - -static void -sha256_buf(char *buf, size_t len, char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - - out[0] = '\0'; - - SHA256_Init(&sha256); - SHA256_Update(&sha256, buf, len); - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); -} - -static int -sha256_fd(int fd, char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - int my_fd; - FILE *fp; - char buffer[BUFSIZ]; - unsigned char hash[SHA256_DIGEST_LENGTH]; - size_t r; - int ret; - SHA256_CTX sha256; - - fp = NULL; - ret = 1; - - out[0] = '\0'; - - /* Duplicate the fd so that fclose(3) does not close it. */ - if ((my_fd = dup(fd)) == -1) { - warnx("dup"); - goto cleanup; - } - - if ((fp = fdopen(my_fd, "rb")) == NULL) { - warnx("fdopen"); - goto cleanup; - } - - SHA256_Init(&sha256); - - while ((r = fread(buffer, 1, BUFSIZ, fp)) > 0) - SHA256_Update(&sha256, buffer, r); - - if (ferror(fp) != 0) { - warnx("fread"); - goto cleanup; - } - - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); - ret = 0; - -cleanup: - if (fp != NULL) - fclose(fp); - else if (my_fd != -1) - close(my_fd); - (void)lseek(fd, 0, SEEK_SET); - - return (ret); -} - static EVP_PKEY * load_public_key_file(const char *file) { From nobody Fri May 19 08:17:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN07s0wYFz4BfFv; Fri, 19 May 2023 08:17: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 4QN07r5JyVz4G40; Fri, 19 May 2023 08:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cSZUSHp/9Rv7oHIAaEXm03yoQpuHr/XpBj6DPRMpghM=; b=q043Yuzt4lix8EAbBUAU15iLCmIbx7o7tV3uOMlOcSuXkt6aoi/sWqlRSIQCMzVbH8km9e Cd4g49wy3CGWk3hxid6pIqfqBrXHw8Ewu9G0FOym/Cej1vyxZ3xoOTn38cUz3s/gIKSSFE vBMk/BZ1Z+2+Zc4M2n5wjrVBNTgD4tV5WUrBom7mBHoRR2dbuNJC8d4DNZqMtv5YPEOIzp ZMhLSj0LlH/ylrru8hVUEAioeC6F1FaaVWhgcPT3CTY3qsR1dY1MffVr1+wsHQ4RxqkFTO rsoTwNl1Ub0Mp6yX4dK0cr9gpC4MBW2CutC4wgXsSq7IDNasfm0XXVdOzYTwrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cSZUSHp/9Rv7oHIAaEXm03yoQpuHr/XpBj6DPRMpghM=; b=mqhJ8fLvm5mVO+og4CPE6adWFTLqSURT6Fm/QL48HY+Ddezp2jpOGciM1e4M73Tme222Te K1ZZGfd+vtXdc7N/YDDMCSFJ2XI67ra4mVTeCJm9YUCJaFFyQBC2fgXXKEg+kuNb4m5Z6W lNrLo6w08hQnVqwvEs9u9R06GCNrtHzRdPRY8CD+sNZ+KWwYRMy0ePbeW0BNbrCJyd3A66 qfNLANvljTfkCGrZcfrMm4i4XMUFkKH6jillD3cWb5xrmPzrNgknZ8sZyvcEQo+tOX1xPm fPmoZtSBAAcl22+VDjSYV+ahcnxGk7ExtMqWq3EA0Jh+/7bsKv47gg33E6R7BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484248; a=rsa-sha256; cv=none; b=Sq0T60yIJHFvGybx/unawq/rhXz4Y5hJwwgcvekvUH+lW0V7mmTwz4EHmZF/R9pLBpWkTP IyH/EHeBEBOXATpd1prHt22YBboVMdukRPtcA3b6my6TFwdx6XjGvOZGDkjSYV5mK4ANdG oP0ItEkWTidmxjefJvS2/k0JvIRM76bxUjscKKOgPXFMklwpAoBSeoUEZpl+K6YhKWGbwh Hw4i6R4q6UPlPEh1BFfBaVHLZjj/a/m2Or4xvd0xZwtfC96hRu7yW8Vwm+a59lTGSVIaNg PYPK5DT76d+Iydsx/eaoU9JHMyQiRbwN5gljV5+rhD4HGL+XhKEpCyyyXDX4bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN07r4NR3zKV3; Fri, 19 May 2023 08:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8HSDa018201; Fri, 19 May 2023 08:17:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8HScd018200; Fri, 19 May 2023 08:17:28 GMT (envelope-from git) Date: Fri, 19 May 2023 08:17:28 GMT Message-Id: <202305190817.34J8HScd018200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 4399248d8776 - stable/13 - pkg(7): now that we do use libmd, use it completly List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 4399248d87766aec3dd15c466f6bdfd68f926192 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4399248d87766aec3dd15c466f6bdfd68f926192 commit 4399248d87766aec3dd15c466f6bdfd68f926192 Author: Baptiste Daroussin AuthorDate: 2023-03-09 20:29:15 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:16:51 +0000 pkg(7): now that we do use libmd, use it completly Use SHA256_Fd and SHA256_Data instead of home made equivalent. wrap those functions into hash.c to avoid header collition between openssl and libmd Suggested by: kevans (cherry picked from commit e5dd5bfa55dc82686870330f547932486ba48db2) --- usr.sbin/pkg/hash.c | 77 +++++------------------------------------------------ usr.sbin/pkg/hash.h | 4 +-- usr.sbin/pkg/pkg.c | 12 ++++++--- 3 files changed, 16 insertions(+), 77 deletions(-) diff --git a/usr.sbin/pkg/hash.c b/usr.sbin/pkg/hash.c index 47bcae6c5b6a..9696738fcafc 100644 --- a/usr.sbin/pkg/hash.c +++ b/usr.sbin/pkg/hash.c @@ -27,86 +27,21 @@ * SUCH DAMAGE. */ -#include #include -#include #include #include "hash.h" -static void -sha256_hash(unsigned char hash[SHA256_DIGEST_LENGTH], - char out[SHA256_DIGEST_LENGTH * 2 + 1]) +char * +sha256_buf(char *buf, size_t len) { - int i; - for (i = 0; i < SHA256_DIGEST_LENGTH; i++) - sprintf(out + (i * 2), "%02x", hash[i]); - - out[SHA256_DIGEST_LENGTH * 2] = '\0'; -} - -void -sha256_buf(char *buf, size_t len, char out[SHA256_DIGEST_LENGTH * 2 + 1]) -{ - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - - out[0] = '\0'; - - SHA256_Init(&sha256); - SHA256_Update(&sha256, buf, len); - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); + return (SHA256_Data(buf, len, NULL)); } -int -sha256_fd(int fd, char out[SHA256_DIGEST_LENGTH * 2 + 1]) +char * +sha256_fd(int fd) { - int my_fd; - FILE *fp; - char buffer[BUFSIZ]; - unsigned char hash[SHA256_DIGEST_LENGTH]; - size_t r; - int ret; - SHA256_CTX sha256; - - fp = NULL; - ret = 1; - - out[0] = '\0'; - - /* Duplicate the fd so that fclose(3) does not close it. */ - if ((my_fd = dup(fd)) == -1) { - warnx("dup"); - goto cleanup; - } - - if ((fp = fdopen(my_fd, "rb")) == NULL) { - warnx("fdopen"); - goto cleanup; - } - - SHA256_Init(&sha256); - - while ((r = fread(buffer, 1, BUFSIZ, fp)) > 0) - SHA256_Update(&sha256, buffer, r); - - if (ferror(fp) != 0) { - warnx("fread"); - goto cleanup; - } - - SHA256_Final(hash, &sha256); - sha256_hash(hash, out); - ret = 0; - -cleanup: - if (fp != NULL) - fclose(fp); - else if (my_fd != -1) - close(my_fd); - (void)lseek(fd, 0, SEEK_SET); - return (ret); + return (SHA256_Fd(fd, NULL)); } diff --git a/usr.sbin/pkg/hash.h b/usr.sbin/pkg/hash.h index dcdc458b5e61..786d4371ef32 100644 --- a/usr.sbin/pkg/hash.h +++ b/usr.sbin/pkg/hash.h @@ -28,5 +28,5 @@ #pragma once -void sha256_buf(char *buf, size_t len, char out[]); -int sha256_fd(int fd, char out[]); +char *sha256_buf(char *buf, size_t len); +char *sha256_fd(int fd); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index 7c4749f8089e..c5d97d46c2d6 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -443,10 +443,11 @@ rsa_verify_cert(int fd, const char *sigfile, const unsigned char *key, { EVP_MD_CTX *mdctx; EVP_PKEY *pkey; - char sha256[(SHA256_DIGEST_LENGTH * 2) + 2]; + char *sha256; char errbuf[1024]; bool ret; + sha256 = NULL; pkey = NULL; mdctx = NULL; ret = false; @@ -458,7 +459,7 @@ rsa_verify_cert(int fd, const char *sigfile, const unsigned char *key, warn("lseek"); goto cleanup; } - if ((sha256_fd(fd, sha256)) == -1) { + if ((sha256 = sha256_fd(fd)) == NULL) { warnx("Error creating SHA256 hash for package"); goto cleanup; } @@ -503,6 +504,7 @@ error: printf("failed\n"); cleanup: + free(sha256); if (pkey) EVP_PKEY_free(pkey); if (mdctx) @@ -665,8 +667,9 @@ verify_signature(int fd_pkg, int fd_sig) int trusted_count, revoked_count; const char *fingerprints; char path[MAXPATHLEN]; - char hash[SHA256_DIGEST_LENGTH * 2 + 1]; + char *hash; + hash = NULL; sc = NULL; trusted = revoked = NULL; ret = false; @@ -703,7 +706,7 @@ verify_signature(int fd_pkg, int fd_sig) sc->trusted = false; /* Parse signature and pubkey out of the certificate */ - sha256_buf(sc->cert, sc->certlen, hash); + hash = sha256_buf(sc->cert, sc->certlen); /* Check if this hash is revoked */ if (revoked != NULL) { @@ -742,6 +745,7 @@ verify_signature(int fd_pkg, int fd_sig) ret = true; cleanup: + free(hash); if (trusted) free_fingerprint_list(trusted); if (revoked) From nobody Fri May 19 08:20:06 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN0Bt4df0z4BfF1; Fri, 19 May 2023 08:20: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 4QN0Bt4BZkz4Gq9; Fri, 19 May 2023 08:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=48mgwFaER4RJf7PnXu2PylfrnuPeU4U4vvRZQ0VRhSY=; b=gXqj4tRbd21YBOE315QHl7Mzk/nTDgD0qqvbdvjes1xuC0kuVPjndIT9M9fSXWr1BQaraD IozKxHQMpPvP13m9LtFOqV/tvjLJuPwRiuE+ubqpfEQ52eE74nprPR2+YYkYhVQ9x+Mopd jKqSH8HJG+zmfctocZGxS+pJLEWqWum2fJrRuF77Q3h/U0VzM8HAaJt/gpDck47TEqWkBy afJ+Uru0VaXIWZK6VTZTyqqbP76xeOI7owb0YjBN8NMWgWsHJY9rbxUHGGfKS43WQGucSx 7cC43DVm+9qt7AkwClx4W04HemnuEBlvhNJIa2jLxGZyUa5svrBT094rfB1WJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=48mgwFaER4RJf7PnXu2PylfrnuPeU4U4vvRZQ0VRhSY=; b=mFeuBKOJAEC+3X0TKkdxiG1uGZej7gG82gTj6vsouTR++I5bYDoRush3C7IKwZt7OTkHDx QfTtT6Zy5c7tO96CK1oKKcfPdMLUwdvLTLV91uwvCgcYlJVNIXxX7EFuQrVdMpXDsrtsQY HjfCMffZmUicPavVYyDSF2+SFMK7p2ESAH8TNTl3bF9/J7u3MCrGpaPRaw67is1SgqWJ20 Pr4tOKJkJImwsVQVFNm6oeDkyCED9MyFPOu7B4CIQXnIuSguC3Jc8J6Nyufqs814QN4pqb KnL4uAZA2P++VFDvkrIQZUPLXgJQCOGM6PIPSx840SxvfedovuRmDHS1gPYSQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484406; a=rsa-sha256; cv=none; b=w91rSUeDb/CvXc8NBYhTDDYDTZqSe9p6gIjVZ4bEoyXerIFrePQCKMBFd7V9LhMRXbMy1I 8PiGH8dv3HjzgQhkQ2J9otBRljY7zgI6QKBDMlQ1VeN/pgn1mpU3xTsTLJkQyuzyiPurkM R9QjnTBEkRAkleBDEfBaDhBC1MuwgKRbpogecAWCEe6kBv9jw6XOvoDH+Q22u6rgXyBeLd O5dml2+MO5CXhFgCbgIkGRQYtYL2lus04tU45WRe7JUik1cyr83H3HKOfNb3m9IRb7osOM +BNq411/C5xjvj73DnKG9BhdnmTMoKv0yMHhFBJECPv3TA3NMg9Vjt5E/s2+Og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN0Bt2yMVzLJF; Fri, 19 May 2023 08:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8K6w8021526; Fri, 19 May 2023 08:20:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8K6AU021524; Fri, 19 May 2023 08:20:06 GMT (envelope-from git) Date: Fri, 19 May 2023 08:20:06 GMT Message-Id: <202305190820.34J8K6AU021524@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 2f251aa5ad7f - stable/12 - pw: do not call system() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/12 X-Git-Reftype: branch X-Git-Commit: 2f251aa5ad7fd53b42e594ff7d46eafd58acbb6e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=2f251aa5ad7fd53b42e594ff7d46eafd58acbb6e commit 2f251aa5ad7fd53b42e594ff7d46eafd58acbb6e Author: Baptiste Daroussin AuthorDate: 2023-05-15 06:55:08 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:19:55 +0000 pw: do not call system() Calling system makes pw(8) spawn a shell, which can then be abused. MFC After: 3 days (cherry picked from commit ef7d0eb9489f39169a1ae83c576fe74e40d126ad) --- usr.sbin/pw/pw_user.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index 21a4c5a0c26e..778855e3d1cd 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -50,6 +50,7 @@ static const char rcsid[] = #include #include #include +#include #include "pw.h" #include "bitmap.h" @@ -57,6 +58,7 @@ static const char rcsid[] = #define LOGNAMESIZE (MAXLOGNAME-1) +extern char **environ; static char locked_str[] = "*LOCKED*"; static struct passwd fakeuser = { @@ -695,11 +697,16 @@ rmat(uid_t uid) stat(e->d_name, &st) == 0 && !S_ISDIR(st.st_mode) && st.st_uid == uid) { - char tmp[MAXPATHLEN]; - - snprintf(tmp, sizeof(tmp), "/usr/bin/atrm %s", - e->d_name); - system(tmp); + const char *argv[] = { + "/usr/sbin/atrm", + e->d_name, + NULL + }; + if (posix_spawn(NULL, argv[0], NULL, NULL, + (char *const *) argv, environ)) { + warn("Failed to execute '%s %s'", + argv[0], argv[1]); + } } } closedir(d); @@ -944,9 +951,18 @@ pw_user_del(int argc, char **argv, char *arg1) /* Remove crontabs */ snprintf(file, sizeof(file), "/var/cron/tabs/%s", pwd->pw_name); if (access(file, F_OK) == 0) { - snprintf(file, sizeof(file), "crontab -u %s -r", - pwd->pw_name); - system(file); + const char *argv[] = { + "crontab", + "-u", + pwd->pw_name, + "-r", + NULL + }; + if (posix_spawnp(NULL, argv[0], NULL, NULL, + (char *const *) argv, environ)) { + warn("Failed to execute '%s %s'", + argv[0], argv[1]); + } } } From nobody Fri May 19 08:20:07 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN0Bv53RRz4BfS4; Fri, 19 May 2023 08:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QN0Bv4Hz2z4Gl4; Fri, 19 May 2023 08:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XCjo13fgZLd1enfWB+ESvsR429S1ql/Cm72QDP++Y3U=; b=X5+7IBXOZF29H15i6LpVFcR0j8yu12/C+NS1q1PeOs9mgKDkNF1hbvIXowJK1Hk2A0xZvY G0zd9/FDYp+OjoDJQdhe2LhuC1aQLAE0zs5eiDbZUXWMVal+OdHk+mvsQW1gu6PFCpfwzT FGO7QBwOhbheDfuzta0hKC9HaOlazucZlMRStEU80pl9NJ72c5lmaqZEmoeAf1iXirqj9V 4RGAtj3cbUZ3M/8NoX3bZszGV2w8HSNQ0eIGBFXZpvD0KcnRW04A6g9W1eLnz2AOxW+jvm FA1+rQQo1f0WBU6VXLmDFjAlpaR5Gtt5RtVqG+Zgx9lNJM1d0spwviQyyPlrEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XCjo13fgZLd1enfWB+ESvsR429S1ql/Cm72QDP++Y3U=; b=iTpuaE5zWE3k8PU1mfzfHgIlBScZaXSF+fLVf+aWpOqDvf3SI/DnOE7gDsxC3fQ3Uv3GJL gCgqfgCeC+oWMLNRcyevpVUDktaYCZC25eO+/hlR/mDcfjTLJt5ndXM3oxlpVETN9AxBlw Kxe11ErXwXpHEaAhFg6wNgH4j0ZjLAZXl/KGOJtmP6khH5zGlkqTy35fMQTt7pTKgKZJF+ ScL7ceJbT2I98LPB+gSYN5X4207WVPfocq5Lk+WO7xnqGanVDwdmsXqp3D2hQZBE6J3AYQ d25Uq0qKXD6GBzNXUC7pvusBTfsZdDcgdC8NqYoXVpxEQa78YQxVIhE1TG08lw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484407; a=rsa-sha256; cv=none; b=Q/eU3IVeW/GMi32kG1m8jLLGScHpGpKgldjKYp6xa6fa/SM3iqRCRCXJJwap+H0fSiNOLI GpMqStrEtbmby0N9Z8KoKQcYc83XtugNFnToWlPxJgZSvwoRFJnpUNvjgMoH38oXlyhvwG W6HSGQl3+xxnfHUS8UEFI+qraLgUecBck6sACkAO4BSEfVBNv+Z7q6xmhKGM+OqzePWrFO dHSt9ZtNF3/24spun3V4WU5LGgXlxD2qyPfUZz5lBVGqTtXZJw2LlMXGS+hx1sHJ7t+h5s Bf1EHbaoU4lQVZHCPlu6qBdbMuZ4XgfQfZqu6R80SWr3SDHNG+OrEJwMvZ2m+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN0Bv3C5MzLRJ; Fri, 19 May 2023 08:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8K7rF021779; Fri, 19 May 2023 08:20:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8K7Xm021777; Fri, 19 May 2023 08:20:07 GMT (envelope-from git) Date: Fri, 19 May 2023 08:20:07 GMT Message-Id: <202305190820.34J8K7Xm021777@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 0cf997acbf0c - stable/12 - periodic: Use locale-agnostic (ISO 8601) timestamp format List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/12 X-Git-Reftype: branch X-Git-Commit: 0cf997acbf0c68988470efcba691f87c38014872 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=0cf997acbf0c68988470efcba691f87c38014872 commit 0cf997acbf0c68988470efcba691f87c38014872 Author: Michael Osipov AuthorDate: 2023-05-04 12:35:59 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:19:55 +0000 periodic: Use locale-agnostic (ISO 8601) timestamp format Instead of reyling on locale-sensitive output which can be mangled when e-mailed use consistently ISO 8601 format which contains the same information as '-T'. PR: 271240 MFC After: 3 days (cherry picked from commit d2b4753f06dcabc090080b8c8c91bda00fc8dac3) --- usr.sbin/periodic/etc/security/100.chksetuid | 2 +- usr.sbin/periodic/etc/security/110.neggrpperm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/periodic/etc/security/100.chksetuid b/usr.sbin/periodic/etc/security/100.chksetuid index 670ae9792021..c850f401d178 100755 --- a/usr.sbin/periodic/etc/security/100.chksetuid +++ b/usr.sbin/periodic/etc/security/100.chksetuid @@ -54,7 +54,7 @@ then }'` find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \ \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ - \( -perm -u+s -or -perm -g+s \) -exec ls -liTd \{\} \+ | + \( -perm -u+s -or -perm -g+s \) -exec ls -lid -D "%FT%T" \{\} \+ | check_diff setuid - "${host} setuid diffs:" rc=$? fi diff --git a/usr.sbin/periodic/etc/security/110.neggrpperm b/usr.sbin/periodic/etc/security/110.neggrpperm index 55974eae6345..393c83d061c6 100755 --- a/usr.sbin/periodic/etc/security/110.neggrpperm +++ b/usr.sbin/periodic/etc/security/110.neggrpperm @@ -54,7 +54,7 @@ then \( \( ! -perm +010 -and -perm +001 \) -or \ \( ! -perm +020 -and -perm +002 \) -or \ \( ! -perm +040 -and -perm +004 \) \) \ - -exec ls -liTd \{\} \+ | tee /dev/stderr | wc -l) + -exec ls -lid -D "%FT%T" \{\} \+ | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0 fi From nobody Fri May 19 08:20:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN0Bw5RHdz4BfBx; Fri, 19 May 2023 08:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QN0Bw52JMz4Gp0; Fri, 19 May 2023 08:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUZjdabN/vSIgUWRFFJ3b9P8vbZBsZyzrzzq/oWcQfQ=; b=EUtcAXqY5h6isdeYVnSfoVhoatpHXuE1zpx7AtC/8z6kwTC1VbnuXKFAz+w/qYzRRqPf3N N85mve9rvAbaV4y8C1C1sgL1U5BsgqCRs9TE9bx+VBgCfm1m12hA3Mtx+Qj0iAhlaiIRiF 3rf4QjnKaID4yGQD0mR3QP/Noo/dvk5bja15TqTnCWRbOF9boFm/XFC+FV6UkEgBLNLK2j HN3oGmDhuqhRTkzh1SBQRaMUaTUx8OH/2q2euUVXtsnwIWwRVvjdMsyOcoEM7cGqPY9Gnm vfdXq1txc7LW9IkCE9Mh7S8QvHlCm5jaO07OIPGirq7oa76igBNnIONTa1LnRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUZjdabN/vSIgUWRFFJ3b9P8vbZBsZyzrzzq/oWcQfQ=; b=jdexAHvCnGCTkMmxRVoQKCEhe98+12SSuln+JZo0WojahQSg/BEIx1aJK29NTGgRoUbtvN vZ4LIZ8X68PJziCBrZoRscl10sskkXuYPQcAmk5psfG1E3bqe4B5T0tsYMhVFJY82lRNwk SFtWHsHv8yKGQI670iztSujkFZO0FTZvOp7bJzzFX44Y2h5Ey35u7yBpZaX0HQeM1JQ3qu 9pw/5u8yVVkAua+KPrDffG4YBIrYu6Pz2sm/oNyf/4JeaR+qXRoHoavz7mG+CJCkQwikLO jBiIggzS85ZBuHtsGj6xR9MG463qmLZbmbci0BP/NFctrniB3ZH3fw7lPGMonA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484408; a=rsa-sha256; cv=none; b=Fg12nY2lQNEy9KxXFL2I+jSux0SyL2JAifjVXHlQI+vUWyLsFpqG4/1pooazrBmHdtNf2w ghv7cblXGyte4zWSV4fByq8qDn8z7uumkTc8MJheJqLCjppDcyPY+hU6VQsDy6JJUcaLlY 9eMSJJJrhwSSb3YVQRGES9hMRIZnrGfwlm5zJ0kVR8ul230PXDE4vuMG9nvOJD1OOxUdmE lAEm2zO2Mm/2dmjrW4TkjD1yMWeaTVJ+HWZQH4F1gE/oJ9BBHhQcLNN1C8gUouOdOlwwWK kB6MsjMw6squxEdgWsThEBgo7rSlxjs4mwg9IhrYebrP4Kby+9ieYgLl9rr19Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN0Bw3xZZzLNb; Fri, 19 May 2023 08:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8K8I8022033; Fri, 19 May 2023 08:20:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8K8VY022030; Fri, 19 May 2023 08:20:08 GMT (envelope-from git) Date: Fri, 19 May 2023 08:20:08 GMT Message-Id: <202305190820.34J8K8VY022030@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 554f8644b038 - stable/12 - pw: The pw_checkname function has added ';' checking. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/12 X-Git-Reftype: branch X-Git-Commit: 554f8644b038bc430afaa9a941eb57edb1b4f226 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=554f8644b038bc430afaa9a941eb57edb1b4f226 commit 554f8644b038bc430afaa9a941eb57edb1b4f226 Author: pbuff AuthorDate: 2023-05-16 03:05:30 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:19:55 +0000 pw: The pw_checkname function has added ';' checking. The pw_checkname function forgot to include a ';' when checking usernames, causing shell commands to be executed when a username with a ';' is deleted. PR: 271427 MFC After: 3 days (cherry picked from commit e0155c6989049da43c5499f7129002aa17d1ca79) --- usr.sbin/pw/pw_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index 778855e3d1cd..db2b3e6f6d9b 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -637,7 +637,7 @@ pw_checkname(char *name, int gecos) showtype = "gecos field"; } else { /* See if the name is valid as a userid or group. */ - badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\""; + badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\";"; showtype = "userid/group name"; /* Userids and groups can not have a leading '-'. */ if (*ch == '-') From nobody Fri May 19 08:20:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN0By1FwLz4BfZj; Fri, 19 May 2023 08:20: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 4QN0Bx64l7z4GpK; Fri, 19 May 2023 08:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wwq9DIh4Q6cwLxDiQvyD0nItdcS3+nXRVy0yAyoKhtA=; b=j6V8ZGUfyD+ugyH/Q9HyAWSeEZwAHgU1TWovPTPZDYiiEl4UDs5wMczrVmrfjq8+WU6Nqz xvnVxd7Lfl/hWaJLgvO89XEFUHdi9LsO97/sEqQSlZLsBqWJhdKPdaG0Id67AyizJs1/+E 4GMjo8R9zhf8lFt/UtgLnaeD3GtCnEV10IiPWt0K2RHcGAojml0xIRJTWvRCvmDW/fXD+F CJQEtS7bn0GX6yVunFvOBZcP+X/GjE2JEFcZF29BCW5YX7rPSGRFbXiurjHvveRqNSapWN yf0CTYUNpMx4tF6El6hwryJWimuKszEv5AR0IJHGl27mpzJ7vMQZ/PhaTLlWFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wwq9DIh4Q6cwLxDiQvyD0nItdcS3+nXRVy0yAyoKhtA=; b=uLBLI1OmV9uUjW5daa6+UcsRBDYKuh7qvLpqGg85vqNWLoRgozzOrWlyqLVV9CUGpC/DHR g+T3otoS190J0r0zKFBJ7ZLf9oDUmnvc5LzzjMFhDq8q/6kJjLwDn03TqyjiFFrZPvgNB6 k0xtn06x0aQWFuxOrRYrqFwRDqLmh+huP/pl07ddj1Nu1+nJSuzyldNQNzlOLmjl/fxIIV T40LoYw2L/ChL0hBNkypK0ug6oZ9HOdSnLo3wnwXv0skdS0QdPuIod1HPvU+Et6s/5pAdT A4DDE6CRrDwIE1U//T6yxulvGkjz/KpIeAf1zpWx7fNkfENhRWgzEUc/ttXVKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484409; a=rsa-sha256; cv=none; b=jKcbM6IFA/SAWumQ/M4JS/AWkGJER6jPcFr7AQuqYvWyqOAC79FQfOdUKiaSO1cQrTbC3a 6S60dU3nw+N5+G4MH+CRtEs16XFhFcJQQe8eL8Au+lpk9c44GfXZjDnNXtnAoufUpk4/rC KcoLPn/oPcVG7blBEYizHlQ/gkWoNbksZU7t3OXvMLg61XItDzQ3BlSHwCP5j73+pznD75 /ZzXsXozAuasLrero344AwdjPvNk81Tn0vaIwZsoW1BF+yBQmR8DEmaxk14U2cP+lh3K+J gyjcJTub3aRabdeBk+jne+O5G95viIvTrNM0LAWujaNY88uVsgqpUZ9nNBqMtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN0Bx4kWwzLRK; Fri, 19 May 2023 08:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8K9qU022535; Fri, 19 May 2023 08:20:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8K9Ls022532; Fri, 19 May 2023 08:20:09 GMT (envelope-from git) Date: Fri, 19 May 2023 08:20:09 GMT Message-Id: <202305190820.34J8K9Ls022532@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 45f3aa3ddf99 - stable/12 - passwd.5: Remove .Tn (Trade Name) macros List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/12 X-Git-Reftype: branch X-Git-Commit: 45f3aa3ddf997a0d3654ec14b4d14f82c7aab172 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=45f3aa3ddf997a0d3654ec14b4d14f82c7aab172 commit 45f3aa3ddf997a0d3654ec14b4d14f82c7aab172 Author: Jose Luis Duran AuthorDate: 2023-05-16 11:18:53 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:19:56 +0000 passwd.5: Remove .Tn (Trade Name) macros To appease mandoc -T lint, remove .Tn macros. MFC After: 3 days (cherry picked from commit d047a4e486a44ca5ada29bf3461903867424c414) --- share/man/man5/passwd.5 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index 2b79680a20eb..bd2d012ac57f 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -49,7 +49,7 @@ They can be used in conjunction with the Hesiod domains and .Sq Li uid , and the -.Tn NIS +NIS maps .Sq Li passwd.byname , .Sq Li passwd.byuid , @@ -310,7 +310,7 @@ lookups occur from the .Sq Li master.passwd.byname , and .Sq Li master.passwd.byuid -.Tn NIS +NIS maps. .Sh COMPAT SUPPORT If @@ -361,7 +361,7 @@ or .Sq Li passwd.byname and .Sq Li passwd.byuid -.Tn NIS +NIS maps (with .Sq Li passwd_compat: nis ) to be included. @@ -372,7 +372,7 @@ or .Ar gid fields, the specified numbers will override the information retrieved from the Hesiod domain or the -.Tn NIS +NIS maps. Likewise, if the .Ar gecos , @@ -381,20 +381,20 @@ or .Ar shell entries contain text, it will override the information included via Hesiod or -.Tn NIS . +NIS . On some systems, the .Ar passwd field may also be overridden. .Sh FILES .Bl -tag -width ".Pa /etc/master.passwd" -compact .It Pa /etc/passwd -.Tn ASCII +ASCII password file, with passwords removed .It Pa /etc/pwd.db .Xr db 3 Ns -format password database, with passwords removed .It Pa /etc/master.passwd -.Tn ASCII +ASCII password file, with passwords intact .It Pa /etc/spwd.db .Xr db 3 Ns -format @@ -444,7 +444,7 @@ file format first appeared in .At v1 . .Pp The -.Tn NIS +NIS .Nm file format first appeared in SunOS. .Pp From nobody Fri May 19 08:20:10 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN0By6l3lz4BfKy; Fri, 19 May 2023 08:20: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 4QN0By68vQz4H7C; Fri, 19 May 2023 08:20:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UyOPdYCtXfq1hfgLmmrcu08348Qd9SFmiEhqeqTg8GY=; b=t7xWwtNqN5WtzkW7enn2kia2/4ftBZXQ9d+AToUz9T23GHBqxkWcNUFBZT7+tGveSjZdas pTcPuR8qA0M92d1kYMxQcpCLhEa7HTX3YfG5xvCczGOZ6+0J+93/N7mOL0Y1oOMCBvnn/3 a6LbcDdmkCGpBgCQNy6/epvHDMbV1a44ey1Av/18hT70X9UDYUOA49m0w2XNx8CRul/r8z RG1DN2W4aE8kJ36fImrvmRLA0fFXrtXpXErCoozXhLrLGdWCuL4whsTOz/JffucuFch4Jp eh4Ktwob4PSsT52O9oeiKOyMhkAX+LSei4YHMsn6sWaLHyrGCVsW1Y2SLjGcYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684484410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UyOPdYCtXfq1hfgLmmrcu08348Qd9SFmiEhqeqTg8GY=; b=qVgE9SS4Jy7ZS+5ymOn4xC3dZy1vSr0a1NTesmYRV/5E2zracmCgYrgone3FL/WDw1U66x ITJj/zBikHHAUCuYZhL/Je7toJVdISM3ORDU++0u45ppYG2CoO7kC4+egO/qG0ENX9lmvV k3rJKBpB2Vx8lGw5G3r+EIzDV5gVJsLCfUjZdsyOXGGfoB74jQ4QvuuDIVZ/ZGnTt9046h m7FZ5jQLZ01L0fGdfm9NQbI0wTaY7gnLO2ch+KN3SrDlCt3Gd3PY235PZy35LngEYl1KfT YOHvbLEBM6T4pRXljbSDs7UipBXOpMKRLsegRxh/0N7MY7JU//6x9v6sg3T4nQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684484410; a=rsa-sha256; cv=none; b=N6xPG83dbRhmuOokVVnuqsB/eEydIL5wzOxj9oHphl9jUnUWHp2y3ZIPeewMJglK3bU6/E eDnAtAoSi4IQvvIN5HBgDjbWTfoTOIxKLZSkmER9DzwPdd2Zcz4QBG0x3jdm9JiLdu+EYA yuOPtRsYpvdMRJNocIISLHTacBBhZAAWrVRItM03iAkASQ6LfzPPo5Vj8bWGE1sUNMmvyC GRY3OFotfzRar1IuSqRYwiI7qnyrAcSMvIe+DFqwribP73RoLuCWB2euy+EiA0Y9Cz3Th0 iDteas1c03EUDrYObeZS8aDS9YwvUkT5XamRmpdq5+BNjTXYyKqvnH1igbDpNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN0By5FPbzKyQ; Fri, 19 May 2023 08:20:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J8KA7n023162; Fri, 19 May 2023 08:20:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J8KAnm023156; Fri, 19 May 2023 08:20:10 GMT (envelope-from git) Date: Fri, 19 May 2023 08:20:10 GMT Message-Id: <202305190820.34J8KAnm023156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: e896ce8e3757 - stable/12 - passwd.5: Update man page after e0155c6989049da43c5499f7129002aa17d1ca79 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/12 X-Git-Reftype: branch X-Git-Commit: e896ce8e3757e0a14bd2e941c3a0a98d2914f72c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=e896ce8e3757e0a14bd2e941c3a0a98d2914f72c commit e896ce8e3757e0a14bd2e941c3a0a98d2914f72c Author: Jose Luis Duran AuthorDate: 2023-05-16 11:17:16 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 08:19:56 +0000 passwd.5: Update man page after e0155c6989049da43c5499f7129002aa17d1ca79 MFC After: 3 days (cherry picked from commit 6e068d6bea4d8282704b4e157da3da584dc67a2d) --- share/man/man5/passwd.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index bd2d012ac57f..f2e307686b64 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -31,7 +31,7 @@ .\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd June 30, 2022 +.Dd May 16, 2023 .Dt PASSWD 5 .Os .Sh NAME @@ -131,7 +131,7 @@ The login name must not begin with a hyphen .Pq Ql \&- , and cannot contain 8-bit characters, tabs or spaces, or any of these symbols: -.Ql \&,:+&#%^\&(\&)!@~*?<>=|\e\\&/" . +.Ql \&,:+&#%^\&(\&)!@~*?<>=|\e\\&/"\&; . The dollar symbol .Pq Ql \&$ is allowed only as the last character for use with Samba. From nobody Fri May 19 09:46:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN2645MfKz4BkTr; Fri, 19 May 2023 09:46: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 4QN2644pGLz4Mw4; Fri, 19 May 2023 09:46:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684489564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29bJsgFgY/1nN3Ib7clXx/P9wZ/hSJjT3utO7CNAcUg=; b=oXFAkVe07mBhSte2rMwveUlsGnqO2EylchZqvZ/sqMSm0kANhvQauP2liMdzRgRn6ZhkCX rnmjSEQHVxXeE3Xoekfz9uVCOTcr0jjn2NseQ+Ffhd/Q+USGn9tV4t5K0qFAzkOLqUK0WG WkI/xM4ZJnGNsUi7X3jhEpvrBbxW8bDsmX8V/EUTWEKrYnM8QGEoySU9WcJXqc3VzrPF35 yUtR+v4OjTy9jr1KqUmwmSqT1r3MJ7vcFk9hT3LQ18CHKbfYxSPW6QicRKigVqmEaXxfdm DCbakrNwQr8iELaN5PX792kLtm0AY53ikzw/TwCyYK2n8l+LmiyFdv4H4s7vBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684489564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29bJsgFgY/1nN3Ib7clXx/P9wZ/hSJjT3utO7CNAcUg=; b=eHNPSTSUWU0j1RJGpzs2Afqxs/1vSV9Nm+Lsg3N5QQEctWYt2hiejiKjo1e1p/EdXSuETw MnQjortRtYhKKc3g1SXigg1fTGEk/gOhtttJz9TZOvTjeRmpW/Y1vJO+u7apA/B5SSskfn IbTfoHyO7JLnrWlQ8qSqK/D9TIM45N4kOgnSl7R96/E1OgmKjbJDmoQVxNJ6XKKqS0HzrR 24EmoJj7Z6/4DWdkMXpHg8XN2EfEWcd2dDdFl6HxpOyvShXVi/obYlNImek2xL4kutjot/ tEdXJmNztN/JCHsi+qA/gmMceOsWiU1xxT50F5cyeZq3/buWlG86D5UwqRM1ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684489564; a=rsa-sha256; cv=none; b=woEigXy0wdfD1Sahjd2Kk1quu3MxlNqDYolG2i+603KK1t1Z8Suazb99MJGJcff3j4OyRA edvDSNKbp3cXvdlW7Yzd+VzNQsG5qXoylaWBOtqA2ucwWiCh+7M2kEgJjxmgy6O0J97URL ECoUQy8Kn++G/nWm/aNkmNUSe9de00HDgCZGbfkOnkoX4a/ICzeSYTv/Fxh5f5K576O9DT KdNLbR/R3zsRArQam1chzedZspiKv/STyjToQkArP/7KugZyUXc0jPNztQtzlxINhretW+ 25LAvK6zPgq2kxn+cyGKeCyvFWxuUj2EPPqsQ4tB82XK9o5xjpEfLNDJ1Ngcew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN2643s9PzNnj; Fri, 19 May 2023 09:46:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34J9k4VY065091; Fri, 19 May 2023 09:46:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34J9k4C6065090; Fri, 19 May 2023 09:46:04 GMT (envelope-from git) Date: Fri, 19 May 2023 09:46:04 GMT Message-Id: <202305190946.34J9k4C6065090@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 1377eb268a5a - main - netlink: add IPv4/IPv6 attribute writers using in[6]_addr instead of sockaddrs. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1377eb268a5a8a5573bda33a651963259c43c3ed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=1377eb268a5a8a5573bda33a651963259c43c3ed commit 1377eb268a5a8a5573bda33a651963259c43c3ed Author: Alexander V. Chernikov AuthorDate: 2023-05-19 09:44:21 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-19 09:45:49 +0000 netlink: add IPv4/IPv6 attribute writers using in[6]_addr instead of sockaddrs. MFC after: 2 weeks --- sys/netlink/netlink_snl_route.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/netlink/netlink_snl_route.h b/sys/netlink/netlink_snl_route.h index 95be0b588f69..619e769b1496 100644 --- a/sys/netlink/netlink_snl_route.h +++ b/sys/netlink/netlink_snl_route.h @@ -127,6 +127,18 @@ snl_attr_get_ipvia(struct snl_state *ss, struct nlattr *nla, return (false); } +static inline bool +snl_add_msg_attr_ip4(struct snl_writer *nw, int attrtype, const struct in_addr *addr) +{ + return (snl_add_msg_attr(nw, attrtype, 4, addr)); +} + +static inline bool +snl_add_msg_attr_ip6(struct snl_writer *nw, int attrtype, const struct in6_addr *addr) +{ + return (snl_add_msg_attr(nw, attrtype, 16, addr)); +} + static inline bool snl_add_msg_attr_ip(struct snl_writer *nw, int attrtype, const struct sockaddr *sa) { From nobody Fri May 19 12:26:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN5gj3xL7z4Btf7; Fri, 19 May 2023 12:26: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 4QN5gj3J1jz3CRf; Fri, 19 May 2023 12:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684499217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZPXWpqNlFBN1+xcLlayJyXZ2KSCcb5nwSBgmzwExNrw=; b=HojsDU0mMg1Flj6tFh9iS9cqE4I6k/f9v5pkYTDtSB/vY5i2ylaQZ4YHatooMyRQsespPb 6oVXteJkCPiXNGT3QH2kCEyCxxjldXtrVyWClR1ZKL1kXJ1/ZqUhDAhU9UNlGVUKN858gw tWIhZCHV2rCLkQiPgsACGbup7Ha21CZXSTu8Yfhtc2sCkWChkrThAwidCbZ9NaJxcPAiAa jEJU2pm0wHarD6DyLBsMO1WIGr2RnNVLAWy+cocViNurPx/q8Aj/Z/E7yCmEwi+3IaV6si b2aYBR7bNzQSK5RRasAB8eabxDBgshhXbVWaoMEnW8z9iWU1byOEeWA4lyUE/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684499217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZPXWpqNlFBN1+xcLlayJyXZ2KSCcb5nwSBgmzwExNrw=; b=IG6JSL34UA1YcWZKP23rqfxZOlb6wRg4r7Z+AgxYcwJoaEOEkKsCCEvFlRwsvbkVljI4F+ M7V4ubGmR9xHX8JukZQxOc7gvHoIK2kcFc6KNOGVueCn7zh8rtWh52dQkJQrHIccRHaW3k ObS1FeGRFU0v+kvJUvZAuFE/82RWYYITFGbWQxOiSY8LgtMgMo3kyGwyqUPPx1cV3YmLoP Scv3WuPObDpZu5cxfCyQG2EzYaHPCH0LZlkaoHCpg5htinn7MsVrLYt9/+pB/0kDi3c7ZN AnxZ30rMA2/LqtX4xeNUOfiioNgt9msxbu/rM1DDbl8946WMYeNMcJZkuZqdRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684499217; a=rsa-sha256; cv=none; b=Hyv0X6dcKaVVJJUrxToK6LrXhXKe4cWToTp9+6p1N0yQf11SUwhJnuyNk8jOZg6wbiWQ4Y vPA0IxC5TaP4S7LtO6XvfrMJd5iUeru/Kp5WQ8932MYt0ELCSOU7lbpr0wyX885kblwJUM DHDcXZavhZCkNJbmG+vbkbTS2REO1Jm/HCkKSJLVkd6mo8z83qPYoUDomAUpJAbis+yuiR Qy9S7bOaLRJFYQYj93AYFlbefwlTmVbKtp62C8xYD3Yed/PzhB6tH119+J5ye/jnzYzDtA sw7f3lyxWRd4O1mqfwRkF4V6G6fzFpQJp+dG2WGwZY1D4J1k+zddDevRmSbbYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN5gj2FYJzSdZ; Fri, 19 May 2023 12:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JCQvSb029065; Fri, 19 May 2023 12:26:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JCQv85029063; Fri, 19 May 2023 12:26:57 GMT (envelope-from git) Date: Fri, 19 May 2023 12:26:57 GMT Message-Id: <202305191226.34JCQv85029063@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Piotr Kubaj Subject: git: af8fd75b4593 - stable/13 - ix(4): correct max MTU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pkubaj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: af8fd75b45936fc7979fdce5a8ae763baaf14de3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by pkubaj: URL: https://cgit.FreeBSD.org/src/commit/?id=af8fd75b45936fc7979fdce5a8ae763baaf14de3 commit af8fd75b45936fc7979fdce5a8ae763baaf14de3 Author: Piotr Kubaj AuthorDate: 2023-05-17 10:16:22 +0000 Commit: Piotr Kubaj CommitDate: 2023-05-19 12:27:17 +0000 ix(4): correct max MTU The max MTU for the ix(4) is 9710. Differential revision: https://reviews.freebsd.org/D40003 Approved by: erj, bcr (cherry picked from commit 2e57f7bf209281e176f16ca3c5716807479873f8) --- share/man/man4/ixgbe.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ixgbe.4 index 54c9146d2630..e83011a18664 100644 --- a/share/man/man4/ixgbe.4 +++ b/share/man/man4/ixgbe.4 @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 17, 2019 +.Dd May 17, 2023 .Dt IXGBE 4 .Os .Sh NAME @@ -68,7 +68,7 @@ Support for Jumbo Frames is provided via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the .Xr ifconfig 8 utility configures the adapter to receive and transmit Jumbo Frames. -The maximum MTU size for Jumbo Frames is 16114. +The maximum MTU size for Jumbo Frames is 9710. .Pp This driver version supports VLANs. For information on enabling VLANs, see From nobody Fri May 19 12:34:08 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN5r03MPTz4BtNX; Fri, 19 May 2023 12:34:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QN5r02rxGz3FHR; Fri, 19 May 2023 12:34:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684499648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBoizY5jzZ9EED5fqFFso9+XjE8+1wl1pyHO77KhXbI=; b=BwoYUTyJ4lt1yVpIlcGnnuBIdoaerVT5f6iAPTgjW+7S//xW/s1/i1W+hza36Ub6t4lDNt qsAvI0k3tr/L2+NVhaHw6qgdYudX/mLmSsL+96S7ypmlzFsHbigrfFGq4JeOD2BcokrszT EvcK3NREt6b5/BEmTfELZaWd1VysLZoQLsO72wyEZqrvn2XesncImyEwDjJUYMstDQIC1O Vpz3Rpg4E3sBV+efJU006wEaf1bjuzSxTA+lOLt0onGSi5gIGhY5SMySZJuLiqizYet/mA YcWXkQelMNmz8hvtW+KVS8XX+jPrPL0LJfcAfGr9ca7l54obbrrdFBcUlPHCzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684499648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBoizY5jzZ9EED5fqFFso9+XjE8+1wl1pyHO77KhXbI=; b=psip9EmjNqG5rIxJxQmVAuug3s+nN5Lyu7sPPNfUCIBa0KFyA+uuUx+goL1/eERXJGAjLa grM/85ewyfi6tgWToQixct7IZKqoxB8x5GT8xcdvhQtwnhj2h9juXNmaOHlNcIvXTVMJdP tDpP7hO+cWUX8OSC2ukslGEL1ik4YKFhwCuP6pQ2VtkJ+YpY7viXz7fsDKZbvSsmw5SPQB rIcH1U7gdHDgXkxSQigc66Y64CheIjWSFSU+8BNQnnJIqzjRA50TzgmAaFZl7wnKoIeDht HlT+D+AWoGn6xxR6UAqPQ/KwYvQnsCt5kCA83NeGrG0fECsq2Ol6R/gociQksg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684499648; a=rsa-sha256; cv=none; b=fr75rhWGvVRDXB/DBAt+1KrywG5ToGPklnERG9/xg2J+sFDQgk2sDAZEudSwk5SiLsHcdG p0V9TNvmOFSVe2aR3/CGRhUK3yik5zo7BPcFsUAS8NLxFcitKXovgyn4YuhGHXKdolSsVw HtG4cts+fXmEjdYi01dParsdpsPEIx8X/MfdyrPqM6XwrQS1khEwykQvEW+VPQZQNq9rbN OmSEL6x0yJaT1viFwQwnysYGwujt8DEdydOJfGfyZkpIt9SPLMwNBSeioEbGuXDDuS29b8 BmXRmGG9WaHBjuW1yRn8LRK2btMQimIYodbiPADazI2/gtjNGVswGVAOZIzq9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN5r01w8fzSSv; Fri, 19 May 2023 12:34:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JCY8rD044676; Fri, 19 May 2023 12:34:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JCY8lc044675; Fri, 19 May 2023 12:34:08 GMT (envelope-from git) Date: Fri, 19 May 2023 12:34:08 GMT Message-Id: <202305191234.34JCY8lc044675@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Piotr Kubaj Subject: git: 737f887379b8 - stable/12 - ix(4): correct max MTU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pkubaj X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 737f887379b87295bfc377f513807af942b83591 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by pkubaj: URL: https://cgit.FreeBSD.org/src/commit/?id=737f887379b87295bfc377f513807af942b83591 commit 737f887379b87295bfc377f513807af942b83591 Author: Piotr Kubaj AuthorDate: 2023-05-17 10:16:22 +0000 Commit: Piotr Kubaj CommitDate: 2023-05-19 12:33:21 +0000 ix(4): correct max MTU The max MTU for the ix(4) is 9710. Differential revision: https://reviews.freebsd.org/D40003 Approved by: erj, bcr (cherry picked from commit 2e57f7bf209281e176f16ca3c5716807479873f8) (cherry picked from commit af8fd75b45936fc7979fdce5a8ae763baaf14de3) --- share/man/man4/ixgbe.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/ixgbe.4 b/share/man/man4/ixgbe.4 index f51ac8dbf262..199325211261 100644 --- a/share/man/man4/ixgbe.4 +++ b/share/man/man4/ixgbe.4 @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 30, 2019 +.Dd May 17, 2023 .Dt IXGBE 4 .Os .Sh NAME @@ -68,7 +68,7 @@ Support for Jumbo Frames is provided via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the .Xr ifconfig 8 utility configures the adapter to receive and transmit Jumbo Frames. -The maximum MTU size for Jumbo Frames is 16114. +The maximum MTU size for Jumbo Frames is 9710. .Pp This driver version supports VLANs. For information on enabling VLANs, see From nobody Fri May 19 13:42:45 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN7M94FFTz4By6D; Fri, 19 May 2023 13:42: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 4QN7M93j0xz3kcj; Fri, 19 May 2023 13:42:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684503765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LPwlxVY7Qyb5megpfPc71o9QsxP2Sm6zi5GD0MENxkA=; b=rgxtbD7HRW0w3fbwi4WQGa6hZ+8yKY7u9++EX4KtjkezIRC8/v3IOp0NuS8roUroW/LG+r pZAUwMxsmmiAbz1R34+1g8kOcaF4d1jgp2AXJbGgMX5rMR/GpjXm+ftSJOXIrkaGbze9yT p+VNFnN9P+h3JFUikFdGGlZAC1ngITHo8GXbfCYtDs1if4mfUTDDA/2IRryQX2HSLbL59q 5wv2VhWeruxGlbkZ/L4/9QjKox4xVZw8LhJhuPAJKNouBc4+W9EA6XDasenaqjl+NJQ1T0 yJFWxlMirJFXlDHFRcKK1MpSQkOvpls9OYrXa/5uZOMXRl+3ktMnWyvFqo6YNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684503765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LPwlxVY7Qyb5megpfPc71o9QsxP2Sm6zi5GD0MENxkA=; b=e21+jfpdopNgbCCW7vq5DV4vCXlZeYmIdNuMWuPKJjJcgCbXMcNls0lJAz0z9k2P8J+ouK 6VF4f8SOt1c0l9m/FzYRvYLojbH8x4y8YyiZbMRd/Hdh3u/DgzG6uDlvnc3fhMCn9raxLq Nmvbp10dVO4lOkzlqHKpS0QJA1IV600TehbrIBr+hicKfgIVTmOSM0h0RebNRg43BCbqWL KNYZrlRMn1zYcP61rOAGftLyqyMU0Hqzwvqk/LA3cF8Lf+ivsN6NEPCRJ+6vDWUCpIbtTN QO44Q4apqhyZZiwyGykJcwWPZbUYaVmoFVYTdpgZNtaKCsQhbOci3BzeHSIsuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684503765; a=rsa-sha256; cv=none; b=XpD/oOqq1g5zNkROyY/xzgQLVbXAsKEoT1N8RBrU662WZGfmiODJO59q6PC5ASKx3ZvR8U lK+8XQWJkHj7UMT4k8/uUfLn3MwARmTl3i6vL1Eo8r3Kc/gTnKAZmG7J/SO/89Ny82frms LS3Ud94MNAqexK5GVH0xBYfKO9dIPn4CVExbWNlONFw0Y07RmDyBE9r5fuuYHLnqosci02 j0ia6cRtL9OAX61kyT86VpqIhBMZfGEHtI4V1wtlXvsm1A/dHBeARcVFpuwMjJ9TZ5ECZc JvHXzFnBu+Zlem8S703squptVnAJfbcwb++RNEGDh8m57fJap52tavheb8Xg2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN7M92kr2zVhM; Fri, 19 May 2023 13:42:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JDgjgY059686; Fri, 19 May 2023 13:42:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JDgjBN059685; Fri, 19 May 2023 13:42:45 GMT (envelope-from git) Date: Fri, 19 May 2023 13:42:45 GMT Message-Id: <202305191342.34JDgjBN059685@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: f3546eacf0da - main - if_bridge: fix potential panic List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3546eacf0daac55fe08b6ad5849b0e440f75ffb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f3546eacf0daac55fe08b6ad5849b0e440f75ffb commit f3546eacf0daac55fe08b6ad5849b0e440f75ffb Author: Kristof Provost AuthorDate: 2023-05-18 18:04:45 +0000 Commit: Kristof Provost CommitDate: 2023-05-19 13:26:52 +0000 if_bridge: fix potential panic When a new bridge_rtnode is added it is added with a NULL brt_dst. The brt_dst is set after the entry is added. This means there's a small window where another core could also attempt to add this node, leading to the code attempting to log that the MAC addresses moved to a new interface. Aside from that being a spurious log entry it also panics, because obif is NULL (and we attempt to dereference it). Avoid this by settings brt_dst before we insert the bridge_rtnode. Assert that obif is non-NULL, as an extra precaution. Reported by: olivier@ Reviewed by: zlei@ Differential Revision: https://reviews.freebsd.org/D40147 --- sys/net/if_bridge.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index d78c647df0b4..9fe915d31283 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -2940,12 +2940,12 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, memcpy(brt->brt_addr, dst, ETHER_ADDR_LEN); brt->brt_vlan = vlan; + brt->brt_dst = bif; if ((error = bridge_rtnode_insert(sc, brt)) != 0) { uma_zfree(V_bridge_rtnode_zone, brt); BRIDGE_RT_UNLOCK(sc); return (error); } - brt->brt_dst = bif; bif->bif_addrcnt++; BRIDGE_RT_UNLOCK(sc); @@ -2953,6 +2953,8 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t *dst, uint16_t vlan, if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC && (obif = brt->brt_dst) != bif) { + MPASS(obif != NULL); + BRIDGE_RT_LOCK(sc); brt->brt_dst->bif_addrcnt--; brt->brt_dst = bif; From nobody Fri May 19 13:49:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN7WM2nx3z4ByKJ; Fri, 19 May 2023 13:49: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 4QN7WM21Fdz3kwZ; Fri, 19 May 2023 13:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684504191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dRW+Gv/tiu1ox3KoDYziJ5D/T9hFyUImqUTOeQOK1XI=; b=b6RzXs8WvN3AnS/wCG07Oqv73GTJmaUySjmvz+hLggRZ2TgI1t36tMT1xyqZvulQCkJmzG pfj5fsnir1c01xg768aUNj2kuEt7m0JQiHeJTVNHe4fJtXCdSCpPrSYRuDq0IGRCMHMXKI XoTr7GgSbAkJWf+mDedtH9suWLisGybRhvWdrZDRhKRR+/3uM3BKxmG0ou4lqohVV2/A2/ GKJBmCtEfBTfLU1CbcVpB2Ss0aoiRIMNjD/DZtWLZrVMo+0fBpYrB9wHa3usEQ2Dck5dYH DGfCXva4dxOkIg7nW5eYJ8lLvt1IZCPtRNYjflISBBdu2LkKIc+ops8OtD0CCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684504191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dRW+Gv/tiu1ox3KoDYziJ5D/T9hFyUImqUTOeQOK1XI=; b=V+BkdE0f5bKaD+JbrAC/TgkyffSo1JKFk2Ke/LIxzd5/xkwZCDcjedteI5ibw49GkzNJ0v nS8fMKkwaxAsb1A9iBdhLq/T/0X/Zh1wGgfbPRyHPKYh3aMMNG/Tb4VQZTVXApSomsJVwW u4I0Z6tuA6m+aC88jYedzmcPpTSPP3Bs9BI+qfdI6YJ4tMGZ6kEjrXt4PkEfZBa6w6CpQK kmLV0SklnnJ/IOiU98ZxqQS5DB31N6LZoWX2oTVPyv2CuUiZf6h0CpQNtk9EyhnCQgR1CH bMh/UxcyOLLc5S2Vj7S+kp7MQi+ys+eVJXCamudApHHwc7jR4fWnDQPNqZMImg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684504191; a=rsa-sha256; cv=none; b=l25PSBsr+Hl0FU2UfxndGG/SGeFdzsKbrvJ953q2G4SpT8bPk8+tSlPBYO3C+GWypGHneR P5+eV3qupb5+gFJ1oM3/ZX5txWVeFnn7pj5rbHWjB9dGj34u1saT6QITwKFTreCqqsh8WA d9Vnq8Pie+VWTpnXLUEdHEafdepeo9zu1xSJcf6OgK1dhzVf0sf9WC5vz4L9GhuOxIup9Z m+QSgJXuFkgcJ1ANiHLMVxw9HbtjFibHMHIZ9Oo0gnYMfAbeiFPMacZ7CtsXBBVqqTrpwx 8xqjYDnzEOo+UWfvP0/5KPI5Pyxxy4ObWceoyz8F1JWeuEPZlKSJRGB6nToaxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN7WM13PSzW11; Fri, 19 May 2023 13:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JDnpTv060771; Fri, 19 May 2023 13:49:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JDnp8J060770; Fri, 19 May 2023 13:49:51 GMT (envelope-from git) Date: Fri, 19 May 2023 13:49:51 GMT Message-Id: <202305191349.34JDnp8J060770@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 40b287054521 - main - mi_startup: Instrument the bubblesort with TSLOG List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 40b287054521f0a92e5ae9a26e6a87d17ee85eea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=40b287054521f0a92e5ae9a26e6a87d17ee85eea commit 40b287054521f0a92e5ae9a26e6a87d17ee85eea Author: Colin Percival AuthorDate: 2023-05-19 13:46:42 +0000 Commit: Colin Percival CommitDate: 2023-05-19 13:46:42 +0000 mi_startup: Instrument the bubblesort with TSLOG The bubblesort of SYSINITs is currently responsible for 7% of the kernel boot time when booting a 1 CPU / 128 MB VM under Firecracker. It needs to be replaced with a faster sort, but until that happens at least instrumenting it with TSLOG makes it show up in flamecharts. --- sys/kern/init_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 1974c4e68ce4..e4cb501bc57b 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -255,6 +255,7 @@ restart: * Perform a bubble sort of the system initialization objects by * their subsystem (primary key) and order (secondary key). */ + TSENTER2("bubblesort"); for (sipp = sysinit; sipp < sysinit_end; sipp++) { for (xipp = sipp + 1; xipp < sysinit_end; xipp++) { if ((*sipp)->subsystem < (*xipp)->subsystem || @@ -266,6 +267,7 @@ restart: *xipp = save; } } + TSEXIT2("bubblesort"); last = SI_SUB_COPYRIGHT; #if defined(VERBOSE_SYSINIT) From nobody Fri May 19 13:58:33 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN7jP5p9Bz4C025; Fri, 19 May 2023 13:58: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 4QN7jP54jrz3lTm; Fri, 19 May 2023 13:58:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684504713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B7ZMhljE9c1ZFXdaVaeJof2oH+VEtqAljzTyH3qv4PQ=; b=QjBVq8wjRFIe46YKKxadxupr3TuD50MSsA7LIUbB8xzp7LL+320HQR5hWpouvDwKsj7lu4 VOn+eWvkty6pl6gXgKjyXq0VDtb/b4RxjIKDI3NrdT5zLlHP25om4kHqk3unTCHIgxoOp6 ODQcRQK2shDTDz4yIhSjdrnRNOtw/e8dkYkUuPF8F0T1VFln8UDJtzGlby7RzsVFoYFM8m OYWzNetamh10WSTwfiOhuIgjq3mwdiaJE3arXpICdIUBhmBNq5subdNPfm0W3ig2aRnoCV 0EM8Z99CI+cq2GXMkN0w+qlp2E+HJqxFaSxr25DQVBSPoAstQJonJtWOsu0OHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684504713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B7ZMhljE9c1ZFXdaVaeJof2oH+VEtqAljzTyH3qv4PQ=; b=UVn991oewjL9TRqrK6XPJ9hLBGs2QWXzRUsbuvu/9YbysU2xN0scf2i6peqXYMv6U258yS IZGt3TTCZZNusUP525XkKPLCwEJwRvElMTZE5meOVWiC3ShUhUQzZLHBbtEV3SUYV7G+hV FH5UPrP5NjWjlY5IpS3PgbAlU9kbdzkO2qxImQWHjKZKZ8tJPj4akjcWfdhF2OxKqfyQ6i U36G1v/zZnMoV+p8rS4e8bFGnIoLgJtkLRMSQL8QcZMLRS2AZFA/6r4c9f0+Qkc1Z21LQd Okdkpt6bDhsc4E3OXAC4qytH38/n4NJ/i16mpMkgw9VarAiLUi62wq+zPH4X8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684504713; a=rsa-sha256; cv=none; b=Cimce/BjESHjJzRiSpSOsODqOv8e75pb6HIcm3OMEEWHVD/J/F/RFApxRKDSKw7g8Lh/ji 3a24RH1nIembzLPrpo0vKrV7R7ow2kRdyOh0Ok9CocHwfQsLjb9K4nrcE4Ywz0yEDg8OnT 7Hf038nBIjvs7RXWfFeii6zxqR9zPhSWeyOY3VipRHJpB84HrHpGgWriD6qSVdk9/ZdD1F dUI+48re1B9OaqkremcTguelXW9cah6rhWM1ooMPpjvL2dvi1f92pxUT28JzJuLrYq0po4 wvb6Tnqvo1vCZvfXwgMdjG+ctw74EBDIwPce4A4EMpdvon+MErmcqCZfB3WIew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN7jP413PzWJ6; Fri, 19 May 2023 13:58:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JDwXGj077329; Fri, 19 May 2023 13:58:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JDwXaj077328; Fri, 19 May 2023 13:58:33 GMT (envelope-from git) Date: Fri, 19 May 2023 13:58:33 GMT Message-Id: <202305191358.34JDwXaj077328@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: f326a83c8570 - main - Cirrus-CI: switch to -lite LLVM package for native run List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f326a83c857066754cbc92c59e1904a68af37deb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f326a83c857066754cbc92c59e1904a68af37deb commit f326a83c857066754cbc92c59e1904a68af37deb Author: Ed Maste AuthorDate: 2023-05-17 18:16:06 +0000 Commit: Ed Maste CommitDate: 2023-05-19 13:56:03 +0000 Cirrus-CI: switch to -lite LLVM package for native run This reduces CI cycle time (a small amount). Suggested by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40136 --- .cirrus.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index ea3683c1169d..9f4899577340 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -19,27 +19,31 @@ task: env: TARGET: amd64 TARGET_ARCH: amd64 - TOOLCHAIN_PKG: llvm15 + TOOLCHAIN: llvm15 + TOOLCHAIN_PKG: ${TOOLCHAIN}-lite - name: World and kernel arm64 build and boot smoke test only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' trigger_type: manual env: TARGET: arm64 TARGET_ARCH: aarch64 - TOOLCHAIN_PKG: llvm15 + TOOLCHAIN: llvm15 + TOOLCHAIN_PKG: ${TOOLCHAIN} - name: World and kernel gcc12 amd64 build and boot smoke test (manual) only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' trigger_type: manual env: TARGET: amd64 TARGET_ARCH: amd64 - TOOLCHAIN_PKG: amd64-gcc12 + TOOLCHAIN: amd64-gcc12 + TOOLCHAIN_PKG: ${TOOLCHAIN} - name: World and kernel gcc12 amd64 build and boot smoke test (FreeBSD repo) only_if: $CIRRUS_REPO_FULL_NAME == 'freebsd/freebsd-src' env: TARGET: amd64 TARGET_ARCH: amd64 - TOOLCHAIN_PKG: amd64-gcc12 + TOOLCHAIN: amd64-gcc12 + TOOLCHAIN_PKG: ${TOOLCHAIN} timeout_in: 120m install_script: - sh .cirrus-ci/pkg-install.sh ${TOOLCHAIN_PKG} git-lite @@ -54,10 +58,10 @@ task: - chown user:user /usr/obj/$(pwd -P) script: - - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN_PKG} WITHOUT_TOOLCHAIN=yes buildworld buildkernel" + - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld buildkernel" package_script: - - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN_PKG} WITHOUT_TOOLCHAIN=yes packages" + - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages" package_check_script: - su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG" From nobody Fri May 19 14:07:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN7vK2jJfz4C0Ss; Fri, 19 May 2023 14:07:09 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (using TLSv1.3 with cipher TLS_AES_256_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 4QN7vJ5fJ5z3mD2; Fri, 19 May 2023 14:07:08 +0000 (UTC) (envelope-from hps@selasky.org) Authentication-Results: mx1.freebsd.org; none Received: from [10.36.2.145] (unknown [46.212.121.255]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 6E12E2623F5; Fri, 19 May 2023 16:07:05 +0200 (CEST) Message-ID: Date: Fri, 19 May 2023 16:07:04 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: git: 40b287054521 - main - mi_startup: Instrument the bubblesort with TSLOG To: Colin Percival , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202305191349.34JDnp8J060770@gitrepo.freebsd.org> Content-Language: en-US From: Hans Petter Selasky In-Reply-To: <202305191349.34JDnp8J060770@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4QN7vJ5fJ5z3mD2 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/32, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 5/19/23 15:49, Colin Percival wrote: > The branch main has been updated by cperciva: > > URL: https://cgit.FreeBSD.org/src/commit/?id=40b287054521f0a92e5ae9a26e6a87d17ee85eea > > commit 40b287054521f0a92e5ae9a26e6a87d17ee85eea > Author: Colin Percival > AuthorDate: 2023-05-19 13:46:42 +0000 > Commit: Colin Percival > CommitDate: 2023-05-19 13:46:42 +0000 > > mi_startup: Instrument the bubblesort with TSLOG > > The bubblesort of SYSINITs is currently responsible for 7% of the > kernel boot time when booting a 1 CPU / 128 MB VM under Firecracker. > > It needs to be replaced with a faster sort, but until that happens > at least instrumenting it with TSLOG makes it show up in flamecharts. > --- > sys/kern/init_main.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c > index 1974c4e68ce4..e4cb501bc57b 100644 > --- a/sys/kern/init_main.c > +++ b/sys/kern/init_main.c > @@ -255,6 +255,7 @@ restart: > * Perform a bubble sort of the system initialization objects by > * their subsystem (primary key) and order (secondary key). > */ > + TSENTER2("bubblesort"); > for (sipp = sysinit; sipp < sysinit_end; sipp++) { > for (xipp = sipp + 1; xipp < sysinit_end; xipp++) { > if ((*sipp)->subsystem < (*xipp)->subsystem || > @@ -266,6 +267,7 @@ restart: > *xipp = save; > } > } > + TSEXIT2("bubblesort"); > > last = SI_SUB_COPYRIGHT; > #if defined(VERBOSE_SYSINIT) > Hi Colin, If all kernel modules and the kernel could sort their SYSINIT() and SYSUNINIT() data at compile time, then all you need to do, is to merge two sorted lists, when loading new modules. Maybe this even could be part of the compiler's existing __constructor attribute. In FreeBSD we have an example of build boot loader modules, and statically sorting all sysinit data at compile time. See the tool I made many years ago for this purpose: stand/usb/tools/sysinit.c What do you think? --HPS From nobody Fri May 19 14:48:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN8qX2PNDz4C2RH; Fri, 19 May 2023 14:48:56 +0000 (UTC) (envelope-from arichardson.kde@gmail.com) Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) (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 4QN8qX0hHbz3rZ5; Fri, 19 May 2023 14:48:56 +0000 (UTC) (envelope-from arichardson.kde@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-il1-f169.google.com with SMTP id e9e14a558f8ab-3318baede4cso8704325ab.1; Fri, 19 May 2023 07:48:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684507735; x=1687099735; h=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=ric9TSBeFlPFAk30qksqUjCJN8W+YTtXOKuuGaRPYyk=; b=XxTRb0mp5Bu85jcPRbOJm/Jgk+9jP/3Kp7aO42UWwY4vBhbQBYQROv8cDswabz12H/ XkuOnKcVz/1scAJuB7ABNaNmJNPeF6U1FqvXosBjZrFST+SaYXWzXiwPOoVNHTEyRZ5Y Ys8cPDVn+7u/fUEb3jy39soOP47uFdkPo/gk1LMIOdLwQ1DnUnnozTYs1ZWpYC9EDgja ozDscMQje27v+5DIiP5kwMrYaGVod8TW4pM10O4kXXLM2roHb77GTgXL0FYoIWAeC+8l hKO8KAqi8SxyOYPUDecyiZex7F6rz6iqrT0wYgiRHwOQ/njOjzEKyKb/8ufcPPp4Kpkl xeHw== X-Gm-Message-State: AC+VfDxTjYm2tLJ5QdjTCw08XLbTpDnEw0MkOCIU2HC6Bi2yBprVzY5n 5F2iX1Kgq4f0Mb8Nlh/+nw8iT2LAYnQ= X-Google-Smtp-Source: ACHHUZ4AMiHORfyri6KkPDeTFdHGRetwqiwxDg3ZhIw2lPGAycTXPALAzPMRv2gmmxeNMuv1CnJ7TA== X-Received: by 2002:a92:4a0a:0:b0:330:f026:4a8d with SMTP id m10-20020a924a0a000000b00330f0264a8dmr1324182ilf.22.1684507734820; Fri, 19 May 2023 07:48:54 -0700 (PDT) Received: from mail-io1-f44.google.com (mail-io1-f44.google.com. [209.85.166.44]) by smtp.gmail.com with ESMTPSA id q9-20020a0566380d0900b0040f8b6933f0sm1205566jaj.74.2023.05.19.07.48.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 May 2023 07:48:54 -0700 (PDT) Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-76f06c0f58cso88525639f.1; Fri, 19 May 2023 07:48:54 -0700 (PDT) X-Received: by 2002:a05:6602:29ad:b0:76c:67c3:6bb0 with SMTP id u13-20020a05660229ad00b0076c67c36bb0mr1326151ios.9.1684507734049; Fri, 19 May 2023 07:48:54 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202305191349.34JDnp8J060770@gitrepo.freebsd.org> In-Reply-To: From: Alexander Richardson Date: Fri, 19 May 2023 07:48:43 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 40b287054521 - main - mi_startup: Instrument the bubblesort with TSLOG To: Hans Petter Selasky Cc: Colin Percival , src-committers , "" , dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000001c0b8c05fc0d059d" X-Rspamd-Queue-Id: 4QN8qX0hHbz3rZ5 X-Spamd-Bar: ---- 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]; TAGGED_FROM(0.00)[] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --0000000000001c0b8c05fc0d059d Content-Type: text/plain; charset="UTF-8" On Fri, 19 May 2023, 07:07 Hans Petter Selasky, wrote: > On 5/19/23 15:49, Colin Percival wrote: > > The branch main has been updated by cperciva: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=40b287054521f0a92e5ae9a26e6a87d17ee85eea > > > > commit 40b287054521f0a92e5ae9a26e6a87d17ee85eea > > Author: Colin Percival > > AuthorDate: 2023-05-19 13:46:42 +0000 > > Commit: Colin Percival > > CommitDate: 2023-05-19 13:46:42 +0000 > > > > mi_startup: Instrument the bubblesort with TSLOG > > > > The bubblesort of SYSINITs is currently responsible for 7% of the > > kernel boot time when booting a 1 CPU / 128 MB VM under Firecracker. > > > > It needs to be replaced with a faster sort, but until that happens > > at least instrumenting it with TSLOG makes it show up in > flamecharts. > > --- > > sys/kern/init_main.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c > > index 1974c4e68ce4..e4cb501bc57b 100644 > > --- a/sys/kern/init_main.c > > +++ b/sys/kern/init_main.c > > @@ -255,6 +255,7 @@ restart: > > * Perform a bubble sort of the system initialization objects by > > * their subsystem (primary key) and order (secondary key). > > */ > > + TSENTER2("bubblesort"); > > for (sipp = sysinit; sipp < sysinit_end; sipp++) { > > for (xipp = sipp + 1; xipp < sysinit_end; xipp++) { > > if ((*sipp)->subsystem < (*xipp)->subsystem || > > @@ -266,6 +267,7 @@ restart: > > *xipp = save; > > } > > } > > + TSEXIT2("bubblesort"); > > > > last = SI_SUB_COPYRIGHT; > > #if defined(VERBOSE_SYSINIT) > > > > Hi Colin, > > If all kernel modules and the kernel could sort their SYSINIT() and > SYSUNINIT() data at compile time, then all you need to do, is to merge > two sorted lists, when loading new modules. > > Maybe this even could be part of the compiler's existing __constructor > attribute. In FreeBSD we have an example of build boot loader modules, > and statically sorting all sysinit data at compile time. See the tool I > made many years ago for this purpose: > > stand/usb/tools/sysinit.c > > What do you think? > > --HPS > A somewhat minimal improvement can be seen here: https://reviews.freebsd.org/D39916. I noticed the same slowness when booting on qemu with tracing enabled. Sorting at compile time would be ideal and in theory the priority argument in the constructor attribute should work. > --0000000000001c0b8c05fc0d059d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Fri, 19 May 2023, 07:07 Hans Petter Selasky, <hps@selasky.org> wrote:
On 5/19/23 15:49, Colin Percival wrote:
> The branch main has been updated by cperciva:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3D40b287054521f0a92e5ae9a26e6a87= d17ee85eea
>
> commit 40b287054521f0a92e5ae9a26e6a87d17ee85eea
> Author:=C2=A0 =C2=A0 =C2=A0Colin Percival <cperciva@FreeBSD.org>=
> AuthorDate: 2023-05-19 13:46:42 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Colin Percival <cperciva@FreeBSD.org>=
> CommitDate: 2023-05-19 13:46:42 +0000
>
>=C2=A0 =C2=A0 =C2=A0 mi_startup: Instrument the bubblesort with TSLOG >=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 The bubblesort of SYSINITs is currently responsibl= e for 7% of the
>=C2=A0 =C2=A0 =C2=A0 kernel boot time when booting a 1 CPU / 128 MB VM = under Firecracker.
>=C2=A0 =C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 It needs to be replaced with a faster sort, but un= til that happens
>=C2=A0 =C2=A0 =C2=A0 at least instrumenting it with TSLOG makes it show= up in flamecharts.
> ---
>=C2=A0 =C2=A0sys/kern/init_main.c | 2 ++
>=C2=A0 =C2=A01 file changed, 2 insertions(+)
>
> diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c
> index 1974c4e68ce4..e4cb501bc57b 100644
> --- a/sys/kern/init_main.c
> +++ b/sys/kern/init_main.c
> @@ -255,6 +255,7 @@ restart:
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 * Perform a bubble sort of the system initi= alization objects by
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 * their subsystem (primary key) and order (= secondary key).
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 */
> +=C2=A0 =C2=A0 =C2=A0TSENTER2("bubblesort");
>=C2=A0 =C2=A0 =C2=A0 =C2=A0for (sipp =3D sysinit; sipp < sysinit_end= ; sipp++) {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0for (xipp =3D si= pp + 1; xipp < sysinit_end; xipp++) {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0if ((*sipp)->subsystem < (*xipp)->subsystem ||
> @@ -266,6 +267,7 @@ restart:
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0*xipp =3D save;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
>=C2=A0 =C2=A0 =C2=A0 =C2=A0}
> +=C2=A0 =C2=A0 =C2=A0TSEXIT2("bubblesort");
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0 =C2=A0last =3D SI_SUB_COPYRIGHT;
>=C2=A0 =C2=A0#if defined(VERBOSE_SYSINIT)
>

Hi Colin,

If all kernel modules and the kernel could sort their SYSINIT() and
SYSUNINIT() data at compile time, then all you need to do, is to merge
two sorted lists, when loading new modules.

Maybe this even could be part of the compiler's existing __constructor =
attribute. In FreeBSD we have an example of build boot loader modules,
and statically sorting all sysinit data at compile time. See the tool I made many years ago for this purpose:

stand/usb/tools/sysinit.c

What do you think?

--HPS


A somewhat minimal improvement can be seen= here: https://reviews.freeb= sd.org/D39916. I noticed the same slowness when booting on qemu with tr= acing enabled.

Sorting a= t compile time would be ideal and in theory the priority argument in the co= nstructor attribute should work.
--0000000000001c0b8c05fc0d059d-- From nobody Fri May 19 15:17:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN9Sn4mjBz4C3qv; Fri, 19 May 2023 15:17: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 4QN9Sn1SCLz3xxc; Fri, 19 May 2023 15:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684509465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ttldxMgTzBhsG8MCGTvAW22bRIHiJubfMy18cGfl3xo=; b=EIECC0xKmjtiusfmr3M0Nmi11trca+wkthq0y+Hl9pB3hbtmc2XeVtsHRSKgWIPWiZ0pKT gyq900Z090u9CyPShk2JiW7PJjM+H8vbnTLS9iis6LNCUX5CQ8TA8By1L7DxU41n80cneF ft4iaZbGCkhiWygzLjAZb87//LXVBSzoSMle5LaL8AfVbSeR7fLnjyRr2M0iCmoQMZfi0j v+mpNMBTE7gHd0h0aqB49MWVPZM++ASSzh18Ujbeg01sBzxqhfuIdGrUDmEmtBxMryLYDw qyLVKD2AB5e2JlkWETNpVrSYmF47zGbg6/5lCTURZo8XNnX3QTAZj032jHbIYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684509465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ttldxMgTzBhsG8MCGTvAW22bRIHiJubfMy18cGfl3xo=; b=riFU9lKmzmj+Faht2BRcWL7jIWBqzvMuOpeP9vWtjG7U3HzR4VtZTmqzORVM9DUwTVpbo6 v7AcitasJVvMEy7GyY76JnjEf0sU3m1X9iqRphybmnNXoCtuIjZP0Hqqw1Rykpx4j5mCmS I1rrjw7b4Ua2bn2HYFvnlXo6e/Eea0CsSQ1eBM3emmq6QxTSN3yIqMPjIybbPvx8522C+M uOwakeEWy1B4A/yA+Eh3CApyUw8nOAW7x5HACNFg4yQHyespz9AIjHcPWK40Ieyey8oQd0 6+bYCkTouQ+1WES0xox7BwLPHGfYjZtqyZ8ot5AwG2VmggGYUIXK0JxpPFWuqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684509465; a=rsa-sha256; cv=none; b=YuAXlcrSH3i1CuC44oS/jEkYPlvbosgjIgdoXeg2RhJwMrWRpzKAc4bk1r6gj5zRsFibb7 FkmAW6bAHEYAQ8pBd0iRMthHJG3SVRQ48eiT9cyq02nt97r6X7bG7TZbVxkzj6MbVjWOzX /YM/RCbyUvnysLopLXshZzK9jRjD+MEs28mqIrBnT/hsuCh9WQpYYCCJfh3Pzl4dz6/KOF o3x919kVBvQFNH0MHzWGMuJtl8USYMKFpoTa5HJ48v/+CBWBL980oUg4fTgjRpehK4JuO9 UukBA7Gd4ndZBM3pFGO8xEIk6az54ARCJ5e0bR2ZRQd3JJi6bd/zK3TmJNqnnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QN9Sn0Y4HzY79; Fri, 19 May 2023 15:17:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JFHi6A009020; Fri, 19 May 2023 15:17:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JFHix2009019; Fri, 19 May 2023 15:17:44 GMT (envelope-from git) Date: Fri, 19 May 2023 15:17:44 GMT Message-Id: <202305191517.34JFHix2009019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Randall Stewart Subject: git: ec6d620b197e - main - There are congestion control algorithms will that pull in srtt, and this can cause issues with rack. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rrs X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ec6d620b197e0973102db134a59e34efcc4bbec8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rrs: URL: https://cgit.FreeBSD.org/src/commit/?id=ec6d620b197e0973102db134a59e34efcc4bbec8 commit ec6d620b197e0973102db134a59e34efcc4bbec8 Author: Randall Stewart AuthorDate: 2023-05-19 15:16:28 +0000 Commit: Randall Stewart CommitDate: 2023-05-19 15:16:28 +0000 There are congestion control algorithms will that pull in srtt, and this can cause issues with rack. When using rack, cubic and htcp will grab the srtt, but they think it is in ticks. For rack it is in micro-seconds (which we should probably move all stacks to actually). This causes issues so instead lets make a new interface so that any CC module can pull the srtt in whatever granularity they want. Reviewed by: tuexen Sponsored by: Netflix Inc Differential Revision:https://reviews.freebsd.org/D40146 --- sys/netinet/cc/cc_cubic.c | 4 ++-- sys/netinet/cc/cc_htcp.c | 10 +++++----- sys/netinet/tcp_subr.c | 30 +++++++++++++++++++++++++++++- sys/netinet/tcp_var.h | 1 + 4 files changed, 37 insertions(+), 8 deletions(-) diff --git a/sys/netinet/cc/cc_cubic.c b/sys/netinet/cc/cc_cubic.c index 71bd51da8d0c..8992b9beba13 100644 --- a/sys/netinet/cc/cc_cubic.c +++ b/sys/netinet/cc/cc_cubic.c @@ -570,8 +570,8 @@ cubic_record_rtt(struct cc_var *ccv) /* Ignore srtt until a min number of samples have been taken. */ if (CCV(ccv, t_rttupdated) >= CUBIC_MIN_RTT_SAMPLES) { cubic_data = ccv->cc_data; - t_srtt_ticks = CCV(ccv, t_srtt) / TCP_RTT_SCALE; - + t_srtt_ticks = tcp_get_srtt(ccv->ccvc.tcp, + TCP_TMR_GRANULARITY_TICKS); /* * Record the current SRTT as our minrtt if it's the smallest * we've seen or minrtt is currently equal to its initialised diff --git a/sys/netinet/cc/cc_htcp.c b/sys/netinet/cc/cc_htcp.c index 4dd612e2cd7d..ea0f14ed12a8 100644 --- a/sys/netinet/cc/cc_htcp.c +++ b/sys/netinet/cc/cc_htcp.c @@ -444,7 +444,7 @@ htcp_recalc_alpha(struct cc_var *ccv) */ if (V_htcp_rtt_scaling) alpha = max(1, (min(max(HTCP_MINROWE, - (CCV(ccv, t_srtt) << HTCP_SHIFT) / + (tcp_get_srtt(ccv->ccvc.tcp, TCP_TMR_GRANULARITY_TICKS) << HTCP_SHIFT) / htcp_rtt_ref), HTCP_MAXROWE) * alpha) >> HTCP_SHIFT); @@ -495,18 +495,18 @@ htcp_record_rtt(struct cc_var *ccv) * or minrtt is currently equal to its initialised value. Ignore SRTT * until a min number of samples have been taken. */ - if ((CCV(ccv, t_srtt) < htcp_data->minrtt || + if ((tcp_get_srtt(ccv->ccvc.tcp, TCP_TMR_GRANULARITY_TICKS) < htcp_data->minrtt || htcp_data->minrtt == TCPTV_SRTTBASE) && (CCV(ccv, t_rttupdated) >= HTCP_MIN_RTT_SAMPLES)) - htcp_data->minrtt = CCV(ccv, t_srtt); + htcp_data->minrtt = tcp_get_srtt(ccv->ccvc.tcp, TCP_TMR_GRANULARITY_TICKS); /* * Record the current SRTT as our maxrtt if it's the largest we've * seen. Ignore SRTT until a min number of samples have been taken. */ - if (CCV(ccv, t_srtt) > htcp_data->maxrtt + if (tcp_get_srtt(ccv->ccvc.tcp, TCP_TMR_GRANULARITY_TICKS) > htcp_data->maxrtt && CCV(ccv, t_rttupdated) >= HTCP_MIN_RTT_SAMPLES) - htcp_data->maxrtt = CCV(ccv, t_srtt); + htcp_data->maxrtt = tcp_get_srtt(ccv->ccvc.tcp, TCP_TMR_GRANULARITY_TICKS); } /* diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index a8a896b7ebe6..db0b3b76088e 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -4316,7 +4316,7 @@ tcp_http_log_req_info(struct tcpcb *tp, struct http_sendfile_track *http, memset(&log.u_bbr, 0, sizeof(log.u_bbr)); #ifdef TCPHPTS - log.u_bbr.inhpts = tcp_in_hpts(tptoinpcb(tp)); + log.u_bbr.inhpts = tcp_in_hpts(tp); #endif log.u_bbr.flex8 = val; log.u_bbr.rttProp = http->timestamp; @@ -4641,3 +4641,31 @@ tcp_log_socket_option(struct tcpcb *tp, uint32_t option_num, uint32_t option_val } } } + +uint32_t +tcp_get_srtt(struct tcpcb *tp, int granularity) +{ + uint32_t srtt; + + if (tp->t_tmr_granularity == TCP_TMR_GRANULARITY_USEC) + srtt = tp->t_srtt; + else if (tp->t_tmr_granularity == TCP_TMR_GRANULARITY_TICKS) + srtt = tp->t_srtt >> TCP_RTT_SHIFT; + if (tp->t_tmr_granularity == granularity) + return (srtt); + /* If we reach here they are oppsite what the caller wants */ + if (granularity == TCP_TMR_GRANULARITY_USEC) { + /* + * The user wants useconds and internally + * its kept in ticks, convert to useconds. + */ + srtt = TICKS_2_USEC(srtt); + } else if (granularity == TCP_TMR_GRANULARITY_TICKS) { + /* + * The user wants ticks and internally its + * kept in useconds, convert to ticks. + */ + srtt = USEC_2_TICKS(srtt); + } + return (srtt); +} diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index a8bd6f8732cc..680797e508a2 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -1400,6 +1400,7 @@ int deregister_tcp_functions(struct tcp_function_block *blk, bool quiesce, bool force); struct tcp_function_block *find_and_ref_tcp_functions(struct tcp_function_set *fs); int find_tcp_function_alias(struct tcp_function_block *blk, struct tcp_function_set *fs); +uint32_t tcp_get_srtt(struct tcpcb *tp, int granularity); void tcp_switch_back_to_default(struct tcpcb *tp); struct tcp_function_block * find_and_ref_tcp_fb(struct tcp_function_block *fs); From nobody Fri May 19 15:37:14 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QN9vK3vm3z4C4xm; Fri, 19 May 2023 15:37:17 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (using TLSv1.3 with cipher TLS_AES_256_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 4QN9vK3BGsz44nm; Fri, 19 May 2023 15:37:17 +0000 (UTC) (envelope-from hps@selasky.org) Authentication-Results: mx1.freebsd.org; none Received: from [10.36.2.145] (unknown [46.212.121.255]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 5A12D260203; Fri, 19 May 2023 17:37:15 +0200 (CEST) Message-ID: <04d7c000-d26d-e918-ce48-3381ebfa5c8b@selasky.org> Date: Fri, 19 May 2023 17:37:14 +0200 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: git: 40b287054521 - main - mi_startup: Instrument the bubblesort with TSLOG Content-Language: en-US To: Alexander Richardson Cc: Colin Percival , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202305191349.34JDnp8J060770@gitrepo.freebsd.org> From: Hans Petter Selasky In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4QN9vK3BGsz44nm X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/32, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 5/19/23 16:48, Alexander Richardson wrote: > Sorting at compile time would be ideal and in theory the priority argument > in the constructor attribute should work. Hi, SYSINIT's in FreeBSD need 64-bits of priority and I'm not sure if clang supports that. Could probably do something there though. Having all the SYSINIT's printed at compile time, maybe containing some additional debug output in a single C-file, is not only educational, but also nice to have when debugging startup issues. This is something I developed many many years ago for an embedded project, mimicing the FreeBSD kernel. --HPS From nobody Fri May 19 19:09:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNGcf5cYnz4CGWZ; Fri, 19 May 2023 19:09: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 4QNGcf371yz3FHf; Fri, 19 May 2023 19:09:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684523394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EKVOdpNS7e7yICi4Im9jkmMpdQT/+aNo3BTHPe/ZW0k=; b=XX1LWWj1BbCmzzM7VSxf0bhjrbhQcl0K7vLS0pnpTa+4POMNBTrc8evZgyHTWt6FelHpLf Fz6f4EI5fMOw3OBtzbqxWMyQZQ+HPM3s+gHS/uhwm5IDADzINipboZZcc0mrytc6J4UiPE EiXXGEtN5mTJDFh5WPnNIXi79cFYeLSqvCYs46xNw61b30/KlWVHWrQC9T+aL5LhCMCB/E LkAVOUD7UfbZJ/pzY+2uFUbDRPNDzf+ndvR3prqWg5VQGAqRL01dYpsSQ33+vFE1RsbR4V NZct3lYfqIZr75aiTDrRkQ7+RdHtzlJeJyQKp3sszAdOa3Ur7N+HeoKOjXwiNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684523394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EKVOdpNS7e7yICi4Im9jkmMpdQT/+aNo3BTHPe/ZW0k=; b=ELS31CS5TagjqtIRGUrTRFh7ew/5ZyB0HDoMVRd74bBtYfFlswDH3rxkcvfCfZmUlNlB5r 94I/1VaEZM+b0qAbAaM87AHhkQfMsYH1YnpB5e0nRs7uDbj5PT43YhsVX4WJ6F/2AXffW+ U79ComBkj+WputVlDn+7yadj+X5IBGOMIF1g93OY+qmNkFggdCRd1IJM05mjl0+rEoJ6Bi xMuNGS+wmr9apnJSJd1M6nCt/hWUbK6s3LtgiVPlrtBIkItg/nQYQfHImEJHJnnffBR8c7 5A+102vXaNrO/X3K+QDY4iBqkh0Kh0GC8vVN5zG6hxG5U/J3JXOIsz+grbh15g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684523394; a=rsa-sha256; cv=none; b=CfSBbx1GbQZ24Xg6ofeW+urJHTbcyfYyN8XqBkgRCDG6WpBEzVWTlBZ9367h/CO/vonSt5 exJ13GcF/kFlS53eqM4oO8BrOeApVdzsMvKFSDPJz0HRAPARuBW5fbZISuThQvOKnEPuRl fGiphKafLT2ux2TQdbPxA7mSpnjHPT+BgWwG1j5JNyAWwOABApxZtsgtnbDaGvON+aEQhH 8CZuN3cYoCfN4ffQBNcVGQVI3lWIASbtPcogoCV+CucPe0/39iG3fGgtqftn8KOc5vTk2i dvNZrrYz70Ud5Utrfv5sckavmRI0KQLxpn7BpNhPk8rPCQ/XYH753HgTOsg2Cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNGcf2ChHzfQp; Fri, 19 May 2023 19:09:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JJ9sW9086754; Fri, 19 May 2023 19:09:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JJ9sVd086753; Fri, 19 May 2023 19:09:54 GMT (envelope-from git) Date: Fri, 19 May 2023 19:09:54 GMT Message-Id: <202305191909.34JJ9sVd086753@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: 31edf56b1571 - main - date: add -z output_zone option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: 31edf56b157169b2f83d288ebfae7d4b15ce6dde Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=31edf56b157169b2f83d288ebfae7d4b15ce6dde commit 31edf56b157169b2f83d288ebfae7d4b15ce6dde Author: Baptiste Daroussin AuthorDate: 2023-05-19 09:08:11 +0000 Commit: Baptiste Daroussin CommitDate: 2023-05-19 19:09:40 +0000 date: add -z output_zone option Inpired by OpenBSD date(1), this option allows to do timezone conversion via the date(1) command. For example, to determine when the BSDCan livestream begins for me: $ env -i TZ=EST5EDT date -z Europe/Paris -j 0900 MFC After: 1 week Reviewed by: kib, bcr (manpage) Differential Revision: https://reviews.freebsd.org/D40159 --- bin/date/date.1 | 22 ++++++++++++++++++++-- bin/date/date.c | 12 +++++++++--- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/bin/date/date.1 b/bin/date/date.1 index 0c92a8c71f90..b8a1ae9718c1 100644 --- a/bin/date/date.1 +++ b/bin/date/date.1 @@ -32,7 +32,7 @@ .\" @(#)date.1 8.3 (Berkeley) 4/28/95 .\" $FreeBSD$ .\" -.Dd April 13, 2023 +.Dd May 19, 2023 .Dt DATE 1 .Os .Sh NAME @@ -42,6 +42,7 @@ .\" Display time. .Nm .Op Fl nRu +.Op Fl z Ar output_zone .Op Fl I Ns Op Ar FMT .Op Fl r Ar filename .Op Fl r Ar seconds @@ -56,6 +57,7 @@ .\" Set time with the default input format. .Nm .Op Fl jnRu +.Op Fl z Ar output_zone .Op Fl I Ns Op Ar FMT .Oo .Sm off @@ -77,6 +79,7 @@ .\" Set time with the user-provided input format. .Nm .Op Fl jnRu +.Op Fl z Ar output_zone .Op Fl I Ns Op Ar FMT .Oo .Sm off @@ -202,6 +205,14 @@ displays the time in the time zone described by or the .Ev TZ environment variable. +.It Fl z Ar output_zone +Just before printing the time, change to the specified timezone; +see the description of +.Ev TZ +below. +This can be used with +.Fl j +to easily convert time specifications from one zone to another. .It Xo .Fl v .Sm off @@ -514,13 +525,20 @@ will display .Pp .Dl "2018-08-04T13:42:19-07:00" .Pp -Finally the command: +The command: .Pp .Dl "env LC_ALL=C date -j -f ""%a %b %d %T %Z %Y"" ""`env LC_ALL=C date`"" ""+%s""" .Pp can be used to parse the output from .Nm and express it in Epoch time. +.Pp +Finally the command +.Pp +.Dl "TZ=America/Los_Angeles date -z Europe/Paris -j 0900" +.Pp +will print the time in the "Europe/Paris" timezone when it is 9:00 in The +America/Los_Angeles timezone. .Sh DIAGNOSTICS It is invalid to combine the .Fl I diff --git a/bin/date/date.c b/bin/date/date.c index 4dc5df0dccfc..c1fb496ce7ee 100644 --- a/bin/date/date.c +++ b/bin/date/date.c @@ -95,7 +95,7 @@ main(int argc, char *argv[]) bool Iflag, jflag, Rflag; const char *format; char buf[1024]; - char *fmt; + char *fmt, *outzone = NULL; char *tmp; struct vary *v; const struct vary *badv; @@ -108,7 +108,7 @@ main(int argc, char *argv[]) (void) setlocale(LC_TIME, ""); rflag = 0; Iflag = jflag = Rflag = 0; - while ((ch = getopt(argc, argv, "f:I::jnRr:uv:")) != -1) + while ((ch = getopt(argc, argv, "f:I::jnRr:uv:z:")) != -1) switch((char)ch) { case 'f': fmt = optarg; @@ -152,6 +152,9 @@ main(int argc, char *argv[]) case 'u': /* do everything in UTC */ (void)setenv("TZ", "UTC0", 1); break; + case 'z': + outzone = optarg; + break; case 'v': v = vary_append(v, optarg); break; @@ -189,6 +192,8 @@ main(int argc, char *argv[]) format = *argv + 1; } + if (outzone != NULL && setenv("TZ", outzone, 1) != 0) + err(1, "setenv(TZ)"); lt = localtime(&tval); if (lt == NULL) errx(1, "invalid time"); @@ -211,6 +216,7 @@ main(int argc, char *argv[]) */ setlocale(LC_TIME, "C"); + (void)strftime(buf, sizeof(buf), format, lt); printdate(buf); } @@ -385,7 +391,7 @@ usage(void) (void)fprintf(stderr, "%s\n%s\n%s\n", "usage: date [-jnRu] [-I[date|hours|minutes|seconds]] [-f input_fmt]", " " - "[-r filename|seconds] [-v[+|-]val[y|m|w|d|H|M|S]]", + "[ -z output_zone ] [-r filename|seconds] [-v[+|-]val[y|m|w|d|H|M|S]]", " " "[[[[[[cc]yy]mm]dd]HH]MM[.SS] | new_date] [+output_fmt]" ); From nobody Fri May 19 19:54:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNHcM5cd6z4CKLS; Fri, 19 May 2023 19:54:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QNHcM57LXz3MKd; Fri, 19 May 2023 19:54:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684526083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADkhAsuhYMHQkunojhBiDquRCVs8l8rtbNIulaWPnNU=; b=ahRZhN30Wj6RAcsCussMmXKankcEPzXlL77uC71Yzop4sjGbcNnmf+FvlrSNHUO9lAMLi7 I6OEwBb7qXYhp1O1ca0Xzq9jjyUDodpKB05eSX4F0lN+TiVKcivJ9ZfRNxkLmMYaemaN6Q Hst4xjX0Vdzx7dBxmIYy+O9yQl4EMpxbd4n1Ywsj0XCVgYUF4Z+8iDoq/sthsUXXth7p+2 zHlylAlnkulrFCCCx3CxBcvSVa6tPQY2RYlw3b0hk3oleGcRmTtOhCbme8xyNeqZ4p1cpi MSxXOitGUMbG3eM9TeECPNB9XqkSEcCuAsJiVp0xKxhyzAOp43LLNxuvxATLpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684526083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADkhAsuhYMHQkunojhBiDquRCVs8l8rtbNIulaWPnNU=; b=qZJO5ILIHH+CFdyKVfKQHXb45zLd8wXim2zAjFRxD2MlE36H0KuAyrIM64LN3K7L0k5bfK 9oBBzl4EEl+FtjO50EQh2fXamw1JSBuAPHX91/R51gH5q4+5NhipF2BGT7l2fKfWkrl9he +37g4TP0ydeoCYbBywAACxorSQ48SUtnT+ASZrB77ULrqvfWbNzRM6fGkvDAuvDjdxuya7 hqlCpb9Ov86sx1CNsTYpKEtHaihBC5N6rsLlscAjVI/3Q71P77YI53GH7A9N9R4mdSuC8u GL3/qw8EaSVJJv3yH7bVXMUndpdlqNGbuLs+3CjYJYQt4/8HLf3eZWuMWoBaBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684526083; a=rsa-sha256; cv=none; b=PbclYf/xMD0Y+m5DcUAagx6IVrC7QcdGnO52OAjb8aR6hw1xVGvfnq7cQW+yj2sh9XWZkY ZAfY46EZAW2DHEKC1Mog7bO9rA/JOeRY6A4IXQkyxSC6OVIh9Cz6YrFiHBwFR35ADID+wO 98Ikxo4RVSQA+TqyVJ7NEFoFiNJVxV6ntt8ayO2sLmCrt/RyG4fJgSTGjSlVqvDWo2Nuf1 HY2QlbffymUIF3aTMH9Id+kz8GFTey+t73F7PU4bczRU+zGoT40lTr8/FlBzCBCT7m4qCI Z1eCEKDGKCnE1eWgpKEeg4OGgfKihhQLnGou+I71K04OcD8X4XCqvtnGQzLGvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNHcM4444zhBp; Fri, 19 May 2023 19:54:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JJsh7N067969; Fri, 19 May 2023 19:54:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JJshTN067968; Fri, 19 May 2023 19:54:43 GMT (envelope-from git) Date: Fri, 19 May 2023 19:54:43 GMT Message-Id: <202305191954.34JJshTN067968@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Randall Stewart Subject: git: 72ae93825244 - main - Add a comment to the new tcp_get_srtt method to clarify that ticks are kept in a shifted form and need to be un-shifted before use. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rrs X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 72ae938252446ce6c716cb51e3f27737b137900e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rrs: URL: https://cgit.FreeBSD.org/src/commit/?id=72ae938252446ce6c716cb51e3f27737b137900e commit 72ae938252446ce6c716cb51e3f27737b137900e Author: Randall Stewart AuthorDate: 2023-05-19 19:53:26 +0000 Commit: Randall Stewart CommitDate: 2023-05-19 19:53:26 +0000 Add a comment to the new tcp_get_srtt method to clarify that ticks are kept in a shifted form and need to be un-shifted before use. Suggested by: rpokala@ --- sys/netinet/tcp_subr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index db0b3b76088e..7e156bcd5355 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -4649,8 +4649,10 @@ tcp_get_srtt(struct tcpcb *tp, int granularity) if (tp->t_tmr_granularity == TCP_TMR_GRANULARITY_USEC) srtt = tp->t_srtt; - else if (tp->t_tmr_granularity == TCP_TMR_GRANULARITY_TICKS) + else if (tp->t_tmr_granularity == TCP_TMR_GRANULARITY_TICKS) { + /* TICKS are stored shifted; unshift for the real TICKS */ srtt = tp->t_srtt >> TCP_RTT_SHIFT; + } if (tp->t_tmr_granularity == granularity) return (srtt); /* If we reach here they are oppsite what the caller wants */ From nobody Fri May 19 20:22:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNJDR3VjQz4CLDF; Fri, 19 May 2023 20:22: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 4QNJDR2tRwz3Ny2; Fri, 19 May 2023 20:22:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684527751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xjhBaPLT/46Fklg+549r1MlryeAS+dpLFMo5QSYcPFI=; b=kFUTqcXPPEMSjkUPBIhSpIiwMc7/7v9n8UEFcaYC1SAl4FyNEYsy02iH8WeWx9sVyx6oON re8ThxVEOvWs6enBKyFIrrwzBbjCj1DK2C44pRhEvSrZ1Z6g2fwk4hhHikb5lMyktL9SKO hOPqauujimRMss7+WD/i3+mX4p9yi+oixRYNN1wE3SJr3rEF5XaKBpq0mFlBfBqEyi9pFQ V8J56EI6gL5BdQv3jPLtJLJSpBCjVbwW/3AN0Rx3Zi5zcxIPf8HMGrksPH5bkOeugYUkcq 0mikoUH9UCe263pcndDDCQszNH3PkLWg4RCrVl7qzJdLqdVavJGpg9dh0MAREw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684527751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xjhBaPLT/46Fklg+549r1MlryeAS+dpLFMo5QSYcPFI=; b=d5QSpcHKCQXElCaQgI7Md34zsSNbygm6oUWgd8GsZUZ2+LWdBAUFN2CJLmAHKGNfgxlzmf 8klOaI3c0P4BY2iR0cGWIzPCKX6y2QoAR/BaXGIeEEfL7TdNDchUQ4jyMWO7RhBXaf7txd Xdo+jyHzVAwNNjb3MpZcHYTFRgGMR+kINnP79AkIOFqOgtD1lQ1VcJ7i25PlJ9LyscL+Av 1C0o6iIPUILb0ityOW66OajbvEK7Ub4gnln2MpFKBXqbC/Eu33dRlgRKn569i7ucdStZv+ kbQ6+k8JavEMP74Lcu168zYV6nTROW15mJqGhDucE9JHlYUPSVbPVj/HUM8yRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684527751; a=rsa-sha256; cv=none; b=OLpV9YgjUlA6CgaO1ujLh/lUCh96jjK5IO0Qi0em3AN5GI+jl858f9bXFmnBm6OFO9ENst 5zmh1lCkNKw0pA5MHqieAj6pafO9XBQb2wgw+KVV2sS4GsbRY2S7l2/YIcNAOCu1oLjOAx 3Sg9P0kfs91nOsJvXW9vJOjMwyBEi2T3iDKLvbvNW2H1lfLpvLAL2tndwuFqm+0KTO2FNq OsdWDzoiRcpQNFjfX+KOPk3jSOoXxAt0XdxnJ2HzO4wALneIHMwp0cCOVJFgiRbDDekhaD UNcbFzURD1dZt8DRYDRmYljj7S/vgmaj0iQgcvn0gy4IzvEE/armg1/epXrAVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNJDR1wm9zhR0; Fri, 19 May 2023 20:22:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JKMVbm018086; Fri, 19 May 2023 20:22:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JKMVow018085; Fri, 19 May 2023 20:22:31 GMT (envelope-from git) Date: Fri, 19 May 2023 20:22:31 GMT Message-Id: <202305192022.34JKMVow018085@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 202d52261b92 - stable/13 - vfs_export: Add mnt_exjail to control exports done in prisons List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 202d52261b92abdfb1ec39564ee1be3812bcdf92 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=202d52261b92abdfb1ec39564ee1be3812bcdf92 commit 202d52261b92abdfb1ec39564ee1be3812bcdf92 Author: Rick Macklem AuthorDate: 2023-02-21 21:00:42 +0000 Commit: Rick Macklem CommitDate: 2023-05-19 20:17:17 +0000 vfs_export: Add mnt_exjail to control exports done in prisons If there are multiple instances of mountd(8) (in different prisons), there will be confusion if they manipulate the exports of the same file system. This patch adds mnt_exjail to "struct mount" so that the credentials (and, therefore, the prison) that did the exports for that file system can be recorded. If another prison has already exported the file system, vfs_export() will fail with an error. If mnt_exjail == NULL, the file system has not been exported. mnt_exjail is checked by the NFS server, so that exports done from within a different prison will not be used. The patch also implements vfs_exjail_destroy(), which is called from prison_cleanup() to release all the mnt_exjail credential references, so that the prison can be removed. Mainly to avoid doing a scan of the mountlist for the case where there were no exports done from within the prison, a count of how many file systems have been exported from within the prison is kept in pr_exportcnt. mnt_exjail replaces mnt_pad0 and should not change the size of "struct mount" nor change the offsets of the other fields in "struct mount". As such, it should be safe to MFC. (cherry picked from commit 88175af8b75ea8850757cc9dca68b6d336b82675) --- sys/fs/nfsserver/nfs_nfsdport.c | 24 ++++-- sys/kern/kern_jail.c | 1 + sys/kern/vfs_export.c | 164 +++++++++++++++++++++++++++++++++++++++- sys/kern/vfs_mount.c | 9 ++- sys/sys/jail.h | 3 +- sys/sys/mount.h | 5 +- 6 files changed, 192 insertions(+), 14 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 4247177a3fc0..50d3aa57c4aa 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3270,8 +3270,16 @@ nfsvno_checkexp(struct mount *mp, struct sockaddr *nam, struct nfsexstuff *exp, { int error; - error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, - &exp->nes_numsecflavor, exp->nes_secflavors); + error = 0; + *credp = NULL; + MNT_ILOCK(mp); + if (mp->mnt_exjail == NULL || + mp->mnt_exjail->cr_prison != curthread->td_ucred->cr_prison) + error = EACCES; + MNT_IUNLOCK(mp); + if (error == 0) + error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, + &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; @@ -3305,8 +3313,14 @@ nfsvno_fhtovp(struct mount *mp, fhandle_t *fhp, struct sockaddr *nam, /* Make sure the server replies ESTALE to the client. */ error = ESTALE; if (nam && !error) { - error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, - &exp->nes_numsecflavor, exp->nes_secflavors); + MNT_ILOCK(mp); + if (mp->mnt_exjail == NULL || + mp->mnt_exjail->cr_prison != curthread->td_ucred->cr_prison) + error = EACCES; + MNT_IUNLOCK(mp); + if (error == 0) + error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, + &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; @@ -3476,7 +3490,7 @@ nfsrv_v4rootexport(void *argp, struct ucred *cred, struct thread *p) struct nameidata nd; fhandle_t fh; - error = vfs_export(NFSD_VNET(nfsv4root_mnt), &nfsexargp->export); + error = vfs_export(NFSD_VNET(nfsv4root_mnt), &nfsexargp->export, false); if ((nfsexargp->export.ex_flags & MNT_DELEXPORT) != 0) NFSD_VNET(nfs_rootfhset) = 0; else if (error == 0) { diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 622b9f6c7cb9..0203dcd0faf1 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -3035,6 +3035,7 @@ prison_cleanup(struct prison *pr) { sx_assert(&allprison_lock, SA_XLOCKED); mtx_assert(&pr->pr_mtx, MA_NOTOWNED); + vfs_exjail_delete(pr); shm_remove_prison(pr); (void)osd_jail_call(pr, PR_METHOD_REMOVE, NULL); } diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index cab37ce205ad..16d2e88bdc41 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -296,12 +297,18 @@ vfs_free_addrlist(struct netexport *nep) * and the passed in netexport. * Struct export_args *argp is the variable used to twiddle options, * the structure is described in sys/mount.h + * The do_exjail argument should be true if *mp is in the mountlist + * and false if not. It is not in the mountlist for the NFSv4 rootfs + * fake mount point just used for exports. */ int -vfs_export(struct mount *mp, struct export_args *argp) +vfs_export(struct mount *mp, struct export_args *argp, bool do_exjail) { struct netexport *nep; + struct ucred *cr; + struct prison *pr; int error; + bool new_nep; if ((argp->ex_flags & (MNT_DELEXPORT | MNT_EXPORTED)) == 0) return (EINVAL); @@ -312,6 +319,7 @@ vfs_export(struct mount *mp, struct export_args *argp) return (EINVAL); error = 0; + pr = curthread->td_ucred->cr_prison; lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); nep = mp->mnt_export; if (argp->ex_flags & MNT_DELEXPORT) { @@ -319,6 +327,21 @@ vfs_export(struct mount *mp, struct export_args *argp) error = ENOENT; goto out; } + MNT_ILOCK(mp); + if (mp->mnt_exjail != NULL && mp->mnt_exjail->cr_prison != pr && + pr == &prison0) { + MNT_IUNLOCK(mp); + /* EXDEV will not get logged by mountd(8). */ + error = EXDEV; + goto out; + } else if (mp->mnt_exjail != NULL && + mp->mnt_exjail->cr_prison != pr) { + MNT_IUNLOCK(mp); + /* EPERM will get logged by mountd(8). */ + error = EPERM; + goto out; + } + MNT_IUNLOCK(mp); if (mp->mnt_flag & MNT_EXPUBLIC) { vfs_setpublicfs(NULL, NULL, NULL); MNT_ILOCK(mp); @@ -330,18 +353,51 @@ vfs_export(struct mount *mp, struct export_args *argp) free(nep, M_MOUNT); nep = NULL; MNT_ILOCK(mp); + cr = mp->mnt_exjail; + mp->mnt_exjail = NULL; mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); MNT_IUNLOCK(mp); + if (cr != NULL) { + atomic_subtract_int(&pr->pr_exportcnt, 1); + crfree(cr); + } } if (argp->ex_flags & MNT_EXPORTED) { + new_nep = false; + MNT_ILOCK(mp); + if (mp->mnt_exjail == NULL) { + MNT_IUNLOCK(mp); + if (do_exjail && nep != NULL) { + vfs_free_addrlist(nep); + memset(nep, 0, sizeof(*nep)); + new_nep = true; + } + } else if (mp->mnt_exjail->cr_prison != pr) { + MNT_IUNLOCK(mp); + error = EPERM; + goto out; + } else + MNT_IUNLOCK(mp); if (nep == NULL) { - nep = malloc(sizeof(struct netexport), M_MOUNT, M_WAITOK | M_ZERO); + nep = malloc(sizeof(struct netexport), M_MOUNT, + M_WAITOK | M_ZERO); mp->mnt_export = nep; + new_nep = true; } if (argp->ex_flags & MNT_EXPUBLIC) { - if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) + if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) { + if (new_nep) { + mp->mnt_export = NULL; + free(nep, M_MOUNT); + } goto out; + } + new_nep = false; MNT_ILOCK(mp); + if (do_exjail && mp->mnt_exjail == NULL) { + mp->mnt_exjail = crhold(curthread->td_ucred); + atomic_add_int(&pr->pr_exportcnt, 1); + } mp->mnt_flag |= MNT_EXPUBLIC; MNT_IUNLOCK(mp); } @@ -349,9 +405,18 @@ vfs_export(struct mount *mp, struct export_args *argp) argp->ex_numsecflavors = 1; argp->ex_secflavors[0] = AUTH_SYS; } - if ((error = vfs_hang_addrlist(mp, nep, argp))) + if ((error = vfs_hang_addrlist(mp, nep, argp))) { + if (new_nep) { + mp->mnt_export = NULL; + free(nep, M_MOUNT); + } goto out; + } MNT_ILOCK(mp); + if (do_exjail && mp->mnt_exjail == NULL) { + mp->mnt_exjail = crhold(curthread->td_ucred); + atomic_add_int(&pr->pr_exportcnt, 1); + } mp->mnt_flag |= MNT_EXPORTED; MNT_IUNLOCK(mp); } @@ -371,6 +436,97 @@ out: return (error); } +/* + * Get rid of credential references for this prison. + */ +void +vfs_exjail_delete(struct prison *pr) +{ + struct mount *mp; + struct ucred *cr; + int error, i; + + /* + * Since this function is called from prison_cleanup() after + * all processes in the prison have exited, the value of + * pr_exportcnt can no longer increase. It is possible for + * a dismount of a file system exported within this prison + * to be in progress. In this case, the file system is no + * longer in the mountlist and the mnt_exjail will be free'd + * by vfs_mount_destroy() at some time. As such, pr_exportcnt + * and, therefore "i", is the upper bound on the number of + * mnt_exjail entries to be found by this function. + */ + i = atomic_load_int(&pr->pr_exportcnt); + KASSERT(i >= 0, ("vfs_exjail_delete: pr_exportcnt negative")); + if (i == 0) + return; + mtx_lock(&mountlist_mtx); +tryagain: + TAILQ_FOREACH(mp, &mountlist, mnt_list) { + MNT_ILOCK(mp); + if (mp->mnt_exjail != NULL && + mp->mnt_exjail->cr_prison == pr) { + MNT_IUNLOCK(mp); + error = vfs_busy(mp, MBF_MNTLSTLOCK | MBF_NOWAIT); + if (error != 0) { + /* + * If the vfs_busy() fails, we still want to + * get rid of mnt_exjail for two reasons: + * - a credential reference will result in + * a prison not being removed + * - setting mnt_exjail NULL indicates that + * the exports are no longer valid + * The now invalid exports will be deleted + * when the file system is dismounted or + * the file system is re-exported by mountd. + */ + cr = NULL; + MNT_ILOCK(mp); + if (mp->mnt_exjail != NULL && + mp->mnt_exjail->cr_prison == pr) { + cr = mp->mnt_exjail; + mp->mnt_exjail = NULL; + } + MNT_IUNLOCK(mp); + if (cr != NULL) { + crfree(cr); + i--; + } + if (i == 0) + break; + continue; + } + cr = NULL; + lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); + MNT_ILOCK(mp); + if (mp->mnt_exjail != NULL && + mp->mnt_exjail->cr_prison == pr) { + cr = mp->mnt_exjail; + mp->mnt_exjail = NULL; + mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); + MNT_IUNLOCK(mp); + vfs_free_addrlist(mp->mnt_export); + free(mp->mnt_export, M_MOUNT); + mp->mnt_export = NULL; + } else + MNT_IUNLOCK(mp); + lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); + if (cr != NULL) { + crfree(cr); + i--; + } + mtx_lock(&mountlist_mtx); + vfs_unbusy(mp); + if (i == 0) + break; + goto tryagain; + } + MNT_IUNLOCK(mp); + } + mtx_unlock(&mountlist_mtx); +} + /* * Set the publicly exported filesystem (WebNFS). Currently, only * one public filesystem is possible in the spec (RFC 2054 and 2055) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index d5b137e7ffab..4c941c2616ff 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -618,6 +618,11 @@ vfs_mount_destroy(struct mount *mp) #endif if (mp->mnt_opt != NULL) vfs_freeopts(mp->mnt_opt); + if (mp->mnt_exjail != NULL) { + atomic_subtract_int(&mp->mnt_exjail->cr_prison->pr_exportcnt, + 1); + crfree(mp->mnt_exjail); + } if (mp->mnt_export != NULL) { vfs_free_addrlist(mp->mnt_export); free(mp->mnt_export, M_MOUNT); @@ -1236,7 +1241,7 @@ vfs_domount_update( } else export_error = EINVAL; if (export_error == 0) - export_error = vfs_export(mp, &export); + export_error = vfs_export(mp, &export, true); free(export.ex_groups, M_TEMP); break; case (sizeof(export)): @@ -1258,7 +1263,7 @@ vfs_domount_update( else export_error = EINVAL; if (export_error == 0) - export_error = vfs_export(mp, &export); + export_error = vfs_export(mp, &export, true); free(grps, M_TEMP); break; default: diff --git a/sys/sys/jail.h b/sys/sys/jail.h index f4d4e521d7de..e81b272677bb 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -190,7 +190,8 @@ struct prison { int pr_enforce_statfs; /* (p) statfs permission */ int pr_devfs_rsnum; /* (p) devfs ruleset */ enum prison_state pr_state; /* (q) state in life cycle */ - int pr_spare[2]; + volatile int pr_exportcnt; /* (r) count of mount exports */ + int pr_spare; int pr_osreldate; /* (c) kern.osreldate value */ unsigned long pr_hostid; /* (p) jail hostid */ char pr_name[MAXHOSTNAMELEN]; /* (p) admin jail name */ diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 9a69240ddba5..382be23e37e5 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -222,7 +222,7 @@ struct mount { int mnt_writeopcount; /* (i) write syscalls pending */ struct vfsoptlist *mnt_opt; /* current mount options */ struct vfsoptlist *mnt_optnew; /* new options passed to fs */ - u_int mnt_pad0; /* was mnt_maxsymlinklen */ + struct ucred *mnt_exjail; /* (i) jail which did exports */ struct statfs mnt_stat; /* cache of filesystem stats */ struct ucred *mnt_cred; /* credentials of mounter */ void * mnt_data; /* private data */ @@ -985,8 +985,9 @@ int vfs_setpublicfs /* set publicly exported fs */ (struct mount *, struct netexport *, struct export_args *); void vfs_periodic(struct mount *, int); int vfs_busy(struct mount *, int); +void vfs_exjail_delete(struct prison *); int vfs_export /* process mount export info */ - (struct mount *, struct export_args *); + (struct mount *, struct export_args *, bool); void vfs_free_addrlist(struct netexport *); void vfs_allocate_syncvnode(struct mount *); void vfs_deallocate_syncvnode(struct mount *); From nobody Fri May 19 20:26:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNJJg3yFyz4CKyb; Fri, 19 May 2023 20:26: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 4QNJJg3QWvz3P0J; Fri, 19 May 2023 20:26:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684527971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcTqzwzELtK/2RgcwvftUEdgftRBZP6NEmLgDkVi6Gk=; b=tbyV5amru7Xfaq4DqLWFvZ70IRP67f8CX5dJ9eVfbIPhXCvLiMNTKX9gRuuo7+kF5y9RAx ThS2prleYZE28wL/VdMrPg1Y88zvmhMn9FzSmiUnNltDyDsWhG3HDpgNwlkCLPm94P+PmX KrFGxfS8LIehseQgrdYBGw3e+S5Vti749U3+XJB1NG4pOoNX99u077xCh5mU9D96hDty7Q EQGY4KYDJrjWin/BL4SzQDMbeym4ldK+1kxIuxNCWPWdYwuo9PnDaE3DvKTM1dmmPkdTYY NukE7aGuLyfBePffHM2YsKYvqu5ivtDR+sh5uQbUohg7sxfjXBoRvnKcHhpqJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684527971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcTqzwzELtK/2RgcwvftUEdgftRBZP6NEmLgDkVi6Gk=; b=yOjBrr+yhOooRGGOzSRUWFmhAx+UPom5d5VkPNWWOjc+1+fzkubYFFbG4eR46RP4xAbq+e vE7gJUXKmS/cM4url4zxA5zAOKol79w0v97QgY4rSC8/S7yN5cIcFaCVh2j4puxKDQHa7j rysdmDuZZFKoqB7qxU6fATwww73rIzRSxa/IZ3XFbhtTIpuYWRnzfxg8ZtYE7FaA7eaJ3J Sb61O1Otx83N1NCy9BLlZBYFg8Sgpd8IEelrsXb7uQjLzy2MuXqT80BkCWt9FzDasqT/BA CXqkgdYC++MZnZnOUbEKNqLFLSmi4ck3bZteu9cl8yfJgSY8F/6HGu27SISMog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684527971; a=rsa-sha256; cv=none; b=XWg1/I/Ry6WBPaG+PYjc60NYa72POr5R0qx5fdLDt55wX/WH8IIWiN+H2zog86yQ6EGLPt TmKyDKquk+/sJsx/1QpZuX1rlNfE3yZqX8q3cDiinOTIUUrtK0KdA1/OLqAQGp47dPy3WR /eNv3sz9E2nTD2ghd72ZPZFqI7N0h+sal/6jxp+z9pRaHQJhTCkvY86G29zOXErjrb5Isi nuLm5jj3mJy7Mr1SPQNtTcdbXSGTK+OVUhyyB0IKk8kmoJ26333sRzt3um2p/xuEkfoadh dZiQS96DoqBuOfH3Apo9BaDxcr1EeYgknLz1bvbZW88WLK1Gm4sxmyPGSj71wQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNJJg2LhVzhtZ; Fri, 19 May 2023 20:26:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JKQB2B018655; Fri, 19 May 2023 20:26:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JKQBCH018654; Fri, 19 May 2023 20:26:11 GMT (envelope-from git) Date: Fri, 19 May 2023 20:26:11 GMT Message-Id: <202305192026.34JKQBCH018654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 527e6b02d65d - stable/13 - vfs_mount.c: Allow mountd(8) to do exports in a vnet prison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 527e6b02d65db8d6294b1e66f7bd063899a4de02 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=527e6b02d65db8d6294b1e66f7bd063899a4de02 commit 527e6b02d65db8d6294b1e66f7bd063899a4de02 Author: Rick Macklem AuthorDate: 2023-03-02 21:09:01 +0000 Commit: Rick Macklem CommitDate: 2023-05-19 20:23:27 +0000 vfs_mount.c: Allow mountd(8) to do exports in a vnet prison To run mountd in a vnet prison, three checks in vfs_domount() and vfs_domount_update() related to doing exports needed to be changed, so that a file system visible within the prison but mounted outside the prison can be exported. I did all three in a minimal way, only changing the checks for the specific case of a process (typically mountd) doing exports within a vnet prison and not updating the mount point in other ways. The changes are: - Ignore the error return from vfs_suser(), since the file system being mounted outside the prison will cause it to fail. - Use the priv_check(PRIV_NFS_DAEMON) for this specific case within a prison. - Skip the call to VFS_MOUNT(), since it will return an error, due to the "from" argument not being set correctly. VFS_MOUNT() does not appear to do anything for the case of doing exports only. (cherry picked from commit 4bbbd5875d32f3cbe76235d90243f713eff9b9d0) --- sys/kern/vfs_mount.c | 107 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 93 insertions(+), 14 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 4c941c2616ff..e3a7ca50e792 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -76,7 +76,8 @@ __FBSDID("$FreeBSD$"); #define VFS_MOUNTARG_SIZE_MAX (1024 * 64) static int vfs_domount(struct thread *td, const char *fstype, char *fspath, - uint64_t fsflags, struct vfsoptlist **optlist); + uint64_t fsflags, bool jail_export, + struct vfsoptlist **optlist); static void free_mntarg(struct mntarg *ma); static int usermount = 0; @@ -663,7 +664,7 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) struct vfsopt *opt, *tmp_opt; char *fstype, *fspath, *errmsg; int error, fstypelen, fspathlen, errmsg_len, errmsg_pos; - bool autoro; + bool autoro, has_nonexport, jail_export; errmsg = fspath = NULL; errmsg_len = fspathlen = 0; @@ -699,15 +700,37 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) goto bail; } + /* + * Check to see that "export" is only used with the "update", "fstype", + * "fspath", "from" and "errmsg" options when in a vnet jail. + * These are the ones used to set/update exports by mountd(8). + * If only the above options are set in a jail that can run mountd(8), + * then the jail_export argument of vfs_domount() will be true. + * When jail_export is true, the vfs_suser() check does not cause + * failure, but limits the update to exports only. + * This allows mountd(8) running within the vnet jail + * to export file systems visible within the jail, but + * mounted outside of the jail. + */ /* * We need to see if we have the "update" option * before we call vfs_domount(), since vfs_domount() has special * logic based on MNT_UPDATE. This is very important * when we want to update the root filesystem. */ + has_nonexport = false; + jail_export = false; TAILQ_FOREACH_SAFE(opt, optlist, link, tmp_opt) { int do_freeopt = 0; + if (jailed(td->td_ucred) && + strcmp(opt->name, "export") != 0 && + strcmp(opt->name, "update") != 0 && + strcmp(opt->name, "fstype") != 0 && + strcmp(opt->name, "fspath") != 0 && + strcmp(opt->name, "from") != 0 && + strcmp(opt->name, "errmsg") != 0) + has_nonexport = true; if (strcmp(opt->name, "update") == 0) { fsflags |= MNT_UPDATE; do_freeopt = 1; @@ -790,9 +813,10 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) fsflags |= MNT_SYNCHRONOUS; else if (strcmp(opt->name, "union") == 0) fsflags |= MNT_UNION; - else if (strcmp(opt->name, "export") == 0) + else if (strcmp(opt->name, "export") == 0) { fsflags |= MNT_EXPORTED; - else if (strcmp(opt->name, "automounted") == 0) { + jail_export = true; + } else if (strcmp(opt->name, "automounted") == 0) { fsflags |= MNT_AUTOMOUNTED; do_freeopt = 1; } else if (strcmp(opt->name, "nocover") == 0) { @@ -822,7 +846,15 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) goto bail; } - error = vfs_domount(td, fstype, fspath, fsflags, &optlist); + /* + * If has_nonexport is true or the caller is not running within a + * vnet prison that can run mountd(8), set jail_export false. + */ + if (has_nonexport || !jailed(td->td_ucred) || + !prison_check_nfsd(td->td_ucred)) + jail_export = false; + + error = vfs_domount(td, fstype, fspath, fsflags, jail_export, &optlist); if (error == ENOENT) { error = EINVAL; if (errmsg != NULL) @@ -840,7 +872,8 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) printf("%s: R/W mount failed, possibly R/O media," " trying R/O mount\n", __func__); fsflags |= MNT_RDONLY; - error = vfs_domount(td, fstype, fspath, fsflags, &optlist); + error = vfs_domount(td, fstype, fspath, fsflags, jail_export, + &optlist); } bail: /* copyout the errmsg */ @@ -1114,6 +1147,7 @@ vfs_domount_update( struct thread *td, /* Calling thread. */ struct vnode *vp, /* Mount point vnode. */ uint64_t fsflags, /* Flags common to all filesystems. */ + bool jail_export, /* Got export option in vnet prison. */ struct vfsoptlist **optlist /* Options local to the filesystem. */ ) { @@ -1125,6 +1159,7 @@ vfs_domount_update( int error, export_error, i, len; uint64_t flag; gid_t *grps; + bool vfs_suser_failed; ASSERT_VOP_ELOCKED(vp, __func__); KASSERT((fsflags & MNT_UPDATE) != 0, ("MNT_UPDATE should be here")); @@ -1153,7 +1188,20 @@ vfs_domount_update( * Only privileged root, or (if MNT_USER is set) the user that * did the original mount is permitted to update it. */ + /* + * For the case of mountd(8) doing exports in a jail, the vfs_suser() + * call does not cause failure. vfs_domount() has already checked + * that "root" is doing this and vfs_suser() will fail when + * the file system has been mounted outside the jail. + * jail_export set true indicates that "export" is not mixed + * with other options that change mount behaviour. + */ + vfs_suser_failed = false; error = vfs_suser(mp, td); + if (jail_export && error != 0) { + error = 0; + vfs_suser_failed = true; + } if (error != 0) { vput(vp); return (error); @@ -1183,11 +1231,26 @@ vfs_domount_update( error = EBUSY; goto end; } - mp->mnt_flag &= ~MNT_UPDATEMASK; - mp->mnt_flag |= fsflags & (MNT_RELOAD | MNT_FORCE | MNT_UPDATE | - MNT_SNAPSHOT | MNT_ROOTFS | MNT_UPDATEMASK | MNT_RDONLY); - if ((mp->mnt_flag & MNT_ASYNC) == 0) - mp->mnt_kern_flag &= ~MNTK_ASYNC; + if (vfs_suser_failed) { + KASSERT((fsflags & (MNT_EXPORTED | MNT_UPDATE)) == + (MNT_EXPORTED | MNT_UPDATE), + ("%s: jailed export did not set expected fsflags", + __func__)); + /* + * For this case, only MNT_UPDATE and + * MNT_EXPORTED have been set in fsflags + * by the options. Only set MNT_UPDATE, + * since that is the one that would be set + * when set in fsflags, below. + */ + mp->mnt_flag |= MNT_UPDATE; + } else { + mp->mnt_flag &= ~MNT_UPDATEMASK; + mp->mnt_flag |= fsflags & (MNT_RELOAD | MNT_FORCE | MNT_UPDATE | + MNT_SNAPSHOT | MNT_ROOTFS | MNT_UPDATEMASK | MNT_RDONLY); + if ((mp->mnt_flag & MNT_ASYNC) == 0) + mp->mnt_kern_flag &= ~MNTK_ASYNC; + } rootvp = vfs_cache_root_clear(mp); MNT_IUNLOCK(mp); mp->mnt_optnew = *optlist; @@ -1198,7 +1261,17 @@ vfs_domount_update( * XXX The final recipients of VFS_MOUNT just overwrite the ndp they * get. No freeing of cn_pnbuf. */ - error = VFS_MOUNT(mp); + /* + * For the case of mountd(8) doing exports from within a vnet jail, + * "from" is typically not set correctly such that VFS_MOUNT() will + * return ENOENT. It is not obvious that VFS_MOUNT() ever needs to be + * called when mountd is doing exports, but this check only applies to + * the specific case where it is running inside a vnet jail, to + * avoid any POLA violation. + */ + error = 0; + if (!jail_export) + error = VFS_MOUNT(mp); export_error = 0; /* Process the export option. */ @@ -1336,6 +1409,7 @@ vfs_domount( const char *fstype, /* Filesystem type. */ char *fspath, /* Mount path. */ uint64_t fsflags, /* Flags common to all filesystems. */ + bool jail_export, /* Got export option in vnet prison. */ struct vfsoptlist **optlist /* Options local to the filesystem. */ ) { @@ -1353,7 +1427,11 @@ vfs_domount( if (strlen(fstype) >= MFSNAMELEN || strlen(fspath) >= MNAMELEN) return (ENAMETOOLONG); - if (jailed(td->td_ucred) || usermount == 0) { + if (jail_export) { + error = priv_check(td, PRIV_NFS_DAEMON); + if (error) + return (error); + } else if (jailed(td->td_ucred) || usermount == 0) { if ((error = priv_check(td, PRIV_VFS_MOUNT)) != 0) return (error); } @@ -1434,7 +1512,8 @@ vfs_domount( } free(pathbuf, M_TEMP); } else - error = vfs_domount_update(td, vp, fsflags, optlist); + error = vfs_domount_update(td, vp, fsflags, jail_export, + optlist); out: NDFREE(&nd, NDF_ONLY_PNBUF); From nobody Fri May 19 20:27:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNJLY4LV7z4CLYd; Fri, 19 May 2023 20:27: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 4QNJLY3hhPz3PfJ; Fri, 19 May 2023 20:27:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684528069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jU8jx+67ntGJcUlDY1L+AntLykE1UQ0FZ//EMOQi90I=; b=tliHjzFJ6in19OhgCn3PXjok06Cdnd+KuEs+hwy/gQItl7E6hLYxDzG1R2753BDaCoubHS MBiA/+DYmbpYIZEky/ul3jisFxuUNgmFhNV40REyA7AZliwc7KwgL20wgXZ8BQOi16L9zE IGilanOZ1po/WUaL+iEpF4M63DM/P8SVKtFz591/co8IRaPGwqQf1WEudRbN4NScpTjUUn CFPUNzw4XQoZEu3V9AVI+48FsxbPUFlRKu6KJJSFp90ZPAjPCic9vtjZd0JaZVh5tTL/5P Y7V8n4TOkzTzW+iPNDSgCNdkbdQz6vFrt785l5Oy9AQXWVp3E3INhYmmqec+Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684528069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jU8jx+67ntGJcUlDY1L+AntLykE1UQ0FZ//EMOQi90I=; b=VTpaviQMD0aUNUjJQRDLrTJHIN0Qch+/v6VD3bALHrQxXQEJuYKvMLZKu4ZKwsGwK4k3ky qRlgB3Gux/mRSzLSpGY2J2B+yZ0jBBzu1MRADaFF3m/P/NA7OegPqROacoB5McvOIcxW72 ED2mb7NyGYr+HT4Vu0+rUCIR64mdXbJNGiTYkbxTycomjCSrFp3rps/rK15g1tgvTpF4Ps h5CDjE6r0wzg+cXrYc5WJJYhlixO0O1iJoLezAzFt4ebvrrtQ2F1Z0KuQB8rd3A3gc2dK6 mqwcsMvUUPCPj3AMIPPj0cJQ5ys8DmuKkZaPHZ2WaLKt/yJ2LPAlFs9ep9fC4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684528069; a=rsa-sha256; cv=none; b=y3d05Lx0vxXFEE+lidOxbZPm3enKunWafRadZlcej+87e7DYeLXD/oYokAcJdJIqBjdQ+b zZjyC/XsOurYm2SYXm1EASUeYQvF9lvwY/O6ePqwfKzMGagryhtnJ56/xsM+1lrVq1ae/8 2eNt/gYKjtFaNClAVLiuQYLKd7u5srbQAxVoRgaxxFsqVYvX5C3JD1jFBgpVFcvdCOwY/B XGofxr29pMGQTUG+d84+UeOXOIuzibxlG66ul/eNZ+0hypcompT6VfgI48rRpFFika+WD2 oTxWjI9zUB+zOK4pCt0+KpXygkr2ozo1OWzocFALoKDJvtn4OS3ix1TmUU8K3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNJLY2lzSzhx0; Fri, 19 May 2023 20:27:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JKRnZg018937; Fri, 19 May 2023 20:27:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JKRn3d018936; Fri, 19 May 2023 20:27:49 GMT (envelope-from git) Date: Fri, 19 May 2023 20:27:49 GMT Message-Id: <202305192027.34JKRn3d018936@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: eb6588af1585 - stable/13 - kern_jail.c: Remove #ifdefs for VNET_NFSD List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eb6588af1585f4c2d7a1a4df6bae164bd6a063a6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=eb6588af1585f4c2d7a1a4df6bae164bd6a063a6 commit eb6588af1585f4c2d7a1a4df6bae164bd6a063a6 Author: Rick Macklem AuthorDate: 2023-03-02 21:13:24 +0000 Commit: Rick Macklem CommitDate: 2023-05-19 20:26:53 +0000 kern_jail.c: Remove #ifdefs for VNET_NFSD The consensus was that VNET_NFSD was not needed. This patch removes it from kern_jail.c. With this patch, support for the "allow.nfsd" jail parameter is enabled in the kernel for kernels built with "options VIMAGE". (cherry picked from commit cbbb22031f9b957967c03dc8e685392f7d7e7fb8) --- sys/kern/kern_jail.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 0203dcd0faf1..d43d2326cfec 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -216,7 +216,7 @@ static struct bool_flags pr_flag_allow[NBBY * NBPW] = { {"allow.unprivileged_proc_debug", "allow.nounprivileged_proc_debug", PR_ALLOW_UNPRIV_DEBUG}, {"allow.suser", "allow.nosuser", PR_ALLOW_SUSER}, -#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD) +#ifdef VIMAGE {"allow.nfsd", "allow.nonfsd", PR_ALLOW_NFSD}, #endif }; @@ -1888,12 +1888,10 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) } #endif -#ifdef VNET_NFSD if (born && pr != &prison0 && (pr->pr_allow & PR_ALLOW_NFSD) != 0 && (pr->pr_root->v_vflag & VV_ROOT) == 0) printf("Warning jail jid=%d: mountd/nfsd requires a separate" " file system\n", pr->pr_id); -#endif drflags &= ~PD_KILL; td->td_retval[0] = pr->pr_id; @@ -3473,12 +3471,7 @@ prison_priv_check(struct ucred *cred, int priv) case PRIV_NFS_DAEMON: case PRIV_VFS_GETFH: case PRIV_VFS_MOUNT_EXPORTED: -#ifdef VNET_NFSD if (!prison_check_nfsd(cred)) -#else - printf("running nfsd in a prison requires a kernel " - "built with ''options VNET_NFSD''\n"); -#endif return (EPERM); #ifdef notyet case PRIV_NFS_LOCKD: @@ -4230,7 +4223,7 @@ SYSCTL_JAIL_PARAM(_allow, unprivileged_proc_debug, CTLTYPE_INT | CTLFLAG_RW, "B", "Unprivileged processes may use process debugging facilities"); SYSCTL_JAIL_PARAM(_allow, suser, CTLTYPE_INT | CTLFLAG_RW, "B", "Processes in jail with uid 0 have privilege"); -#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD) +#ifdef VIMAGE SYSCTL_JAIL_PARAM(_allow, nfsd, CTLTYPE_INT | CTLFLAG_RW, "B", "Mountd/nfsd may run in the jail"); #endif From nobody Fri May 19 21:36:13 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNKsT59MNz4CPwL; Fri, 19 May 2023 21:36: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 4QNKsT4LbQz3jjK; Fri, 19 May 2023 21:36:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684532173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jRxGbkYbo3dhOMCj3iwHpCHxLq9p//miscQN0wCosCc=; b=fFdL04iTSHd8dflTe6gsX9muYWiqMc11d2ElmG+zkNIuseCkTBVbTb0kDl/Iudt/Nnqx1f LSLnaM4V2WCunSt4mkwZUWyE0SWvmCTjuTREwcbZWFhMGzqZl+ajtKoWpdBYznDI90848g 6cID/RuUHz3b6wLNkMcil1dbOofchH+NPd7Z9bxB90v+2b/PD+1aveH0qm0QEp4UZmnNDB wQVTFPUU4M+OgCP88rJXMUX+hNE2zyo5tFIobkXhW3HwvWH+JZeb98Xq8MiDp0HGO/KDP6 JxXfMV1qdQhTye9srNt72pUYAIK2zXikLaAGh83W7PWjFwmGOn1fBw7wdpabLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684532173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jRxGbkYbo3dhOMCj3iwHpCHxLq9p//miscQN0wCosCc=; b=Qc902dAcyxfkX32Uzr2dPBl2+rjheo2AwjpvXBscsyeXnHf7cX2gjHov5yy/L0BEmPHvNY RZOLaOV/bbn3PwDog9wkVmwmJXKfE+QXatkXd3zW+2JgBkfJiPxAnCJ/CB8pqxbVOtAZFw g1o8g4mjb27Oglg8UDklnGRa4M6M2kVJb9pkHCzn0/bdcYrgHHhqdcQWyzJMqy9POVBoIe ZWsOaLjDjjAxYq9SunvQahBAS3GSF5owooieebAq76Dty9MYu4ipP/Z4Emp3ZBX20KgdLY IKylxooZybY2QjP+qrWIx40k+bwK4KaVID5kBcBt2N4BavJJ4Us1bAWyk97YpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684532173; a=rsa-sha256; cv=none; b=QbAJg/ihG8H5BxKX28IFhd6uYM3EawAvGl9bZ2u+r5IVc+dlesUVAkQayEkBTKQ0vt75wU 6Y2nCCS8NFtoe7CLUOSXPGbWQWFL/x6yjuBFb1Mp6BAkHlec0lqMGhZdBnAFHnnt5h8J3X iwGp9BANjZTeOzK4Xis5hN3ei+/mB1F2oJJjN3e/Mu1UCLNMwMk/xGRaA00NcHUKR56rKF uyRva1CsPY0rgnflhCmcyYGwaE6Ba1bCHuZy2T0gjQtLFm99IuQh4bEqKUxcr8PS74wIq7 qb7aVkDLkDF8r/9a9o1070G4H31WbDHsnQF5lW9G8CqRbEH403s0V3JRjw8zCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNKsT3N4FzkT5; Fri, 19 May 2023 21:36:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JLaDcs033895; Fri, 19 May 2023 21:36:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JLaDNm033894; Fri, 19 May 2023 21:36:13 GMT (envelope-from git) Date: Fri, 19 May 2023 21:36:13 GMT Message-Id: <202305192136.34JLaDNm033894@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 544ebd2a9806 - stable/13 - Revert "kern_jail.c: Remove #ifdefs for VNET_NFSD" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 544ebd2a9806f55aff9b33f8c17d3237c81b41d3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=544ebd2a9806f55aff9b33f8c17d3237c81b41d3 commit 544ebd2a9806f55aff9b33f8c17d3237c81b41d3 Author: Rick Macklem AuthorDate: 2023-05-19 21:34:58 +0000 Commit: Rick Macklem CommitDate: 2023-05-19 21:34:58 +0000 Revert "kern_jail.c: Remove #ifdefs for VNET_NFSD" Revert this commit until I can figure out build issue. This reverts commit eb6588af1585f4c2d7a1a4df6bae164bd6a063a6. --- sys/kern/kern_jail.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index d43d2326cfec..0203dcd0faf1 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -216,7 +216,7 @@ static struct bool_flags pr_flag_allow[NBBY * NBPW] = { {"allow.unprivileged_proc_debug", "allow.nounprivileged_proc_debug", PR_ALLOW_UNPRIV_DEBUG}, {"allow.suser", "allow.nosuser", PR_ALLOW_SUSER}, -#ifdef VIMAGE +#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD) {"allow.nfsd", "allow.nonfsd", PR_ALLOW_NFSD}, #endif }; @@ -1888,10 +1888,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) } #endif +#ifdef VNET_NFSD if (born && pr != &prison0 && (pr->pr_allow & PR_ALLOW_NFSD) != 0 && (pr->pr_root->v_vflag & VV_ROOT) == 0) printf("Warning jail jid=%d: mountd/nfsd requires a separate" " file system\n", pr->pr_id); +#endif drflags &= ~PD_KILL; td->td_retval[0] = pr->pr_id; @@ -3471,7 +3473,12 @@ prison_priv_check(struct ucred *cred, int priv) case PRIV_NFS_DAEMON: case PRIV_VFS_GETFH: case PRIV_VFS_MOUNT_EXPORTED: +#ifdef VNET_NFSD if (!prison_check_nfsd(cred)) +#else + printf("running nfsd in a prison requires a kernel " + "built with ''options VNET_NFSD''\n"); +#endif return (EPERM); #ifdef notyet case PRIV_NFS_LOCKD: @@ -4223,7 +4230,7 @@ SYSCTL_JAIL_PARAM(_allow, unprivileged_proc_debug, CTLTYPE_INT | CTLFLAG_RW, "B", "Unprivileged processes may use process debugging facilities"); SYSCTL_JAIL_PARAM(_allow, suser, CTLTYPE_INT | CTLFLAG_RW, "B", "Processes in jail with uid 0 have privilege"); -#ifdef VIMAGE +#if defined(VNET_NFSD) && defined(VIMAGE) && defined(NFSD) SYSCTL_JAIL_PARAM(_allow, nfsd, CTLTYPE_INT | CTLFLAG_RW, "B", "Mountd/nfsd may run in the jail"); #endif From nobody Fri May 19 21:37:42 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNKvB68Fhz4CPlw; Fri, 19 May 2023 21:37: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 4QNKvB5g2pz3kC6; Fri, 19 May 2023 21:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684532262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBsX3La9VvTm7KT4fBEQJLoM1IX+Nj51ERvJEpnFTLE=; b=fgWTAMwx2Nem7yvCypfsWOHVobI1QnnITs001F26lSueY7rNc/wno/rAx+c5HEKZLYqZAv DGb+JQgYjXIWwaEyvpNHRCcSIaBw8rQX/aoLDNV5aHKWVO8J9moDGaUA/zYoxbU2En5eXx e+F7K0iK1cbdzFDtCzPzmqqEAe8QjTcMqiFWzmRspV/kfzOuAuSi2EsvH+o0VXyA+ruwpR mNcbB/0bMUGMq6eCu9j8ra8r/8vdYXyWS8fQyc4gd6oR/aAtLoAZEPzeKQB/Xshu4v46Yt KFmCyTbDtnH+u91XYeGyfXFStfJozrcxZPUXCcoT6y/pcVUsbTsG3R4hcuYHew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684532262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBsX3La9VvTm7KT4fBEQJLoM1IX+Nj51ERvJEpnFTLE=; b=ouvNSxF/z797ZtOKSIOe2ecJofTlQYgixQHwEtlqFtOIGs4pNNt3Z3PfocD+0FiNeewoF4 msC69/i3B39BJ3RrVNIDFjozvlHlGaFGxRfpXiyqs/2Tt21OyoffITzPbKW6iZ6mWr8Af4 FFZzqKha1m5ZGiasF26UDDPsKPu3Hp7QJXdqDOHc4dz8mSUPpEbdNcjMQ/S+lLFuSLz1eA n8twffa2PcnldBq4upyNkDFugb+FIrjqRGSK3nL8+mva1AWnz8mGRve3g3djN71MgEkbWj Eanm2xnVE4uDbi5R6bEkW1bFmVa/OABuX8d/8SiTfXHCb2THEbDSNoOlpQe1FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684532262; a=rsa-sha256; cv=none; b=wWU3Pbhms1LYDCmgLUBr+MA0uKPRp4nqJ36QgVtyb5MqeMhuPcEkCnzHfo23gqpPZZ3DZg xuWt41eLOX/KPZqugsBCr+R3kh219llQEPTYp6cFlP/jUETwrCM/z9gjEmF9vvcMiyfRMY B1AijUBJr3SiAjtVrHRXHaM/6iruAS1T1PrIyJu+lKT7qEtPbLztFMIVF/TnSsWFTgBzTJ QMBOqEmeNKj/lY1fCfO2SQMXmcePcDmofU78w66PMEIxiwvo/evo38vbDI93r8NN6270NF w59mfeNWkDFj7ZUK4izvCOeXYK/H5zyeGGI2GJ52YTFLfE8WH8UyXzS/T51Fbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNKvB4hjczkNb; Fri, 19 May 2023 21:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JLbggi034163; Fri, 19 May 2023 21:37:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JLbgr9034162; Fri, 19 May 2023 21:37:42 GMT (envelope-from git) Date: Fri, 19 May 2023 21:37:42 GMT Message-Id: <202305192137.34JLbgr9034162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 3866502e1817 - stable/13 - Revert "vfs_mount.c: Allow mountd(8) to do exports in a vnet prison" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3866502e1817aa28446d5e103277583bde65670d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=3866502e1817aa28446d5e103277583bde65670d commit 3866502e1817aa28446d5e103277583bde65670d Author: Rick Macklem AuthorDate: 2023-05-19 21:36:52 +0000 Commit: Rick Macklem CommitDate: 2023-05-19 21:36:52 +0000 Revert "vfs_mount.c: Allow mountd(8) to do exports in a vnet prison" Revert this commit until I can figure out build issue. This reverts commit 527e6b02d65db8d6294b1e66f7bd063899a4de02. --- sys/kern/vfs_mount.c | 107 +++++++-------------------------------------------- 1 file changed, 14 insertions(+), 93 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index e3a7ca50e792..4c941c2616ff 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -76,8 +76,7 @@ __FBSDID("$FreeBSD$"); #define VFS_MOUNTARG_SIZE_MAX (1024 * 64) static int vfs_domount(struct thread *td, const char *fstype, char *fspath, - uint64_t fsflags, bool jail_export, - struct vfsoptlist **optlist); + uint64_t fsflags, struct vfsoptlist **optlist); static void free_mntarg(struct mntarg *ma); static int usermount = 0; @@ -664,7 +663,7 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) struct vfsopt *opt, *tmp_opt; char *fstype, *fspath, *errmsg; int error, fstypelen, fspathlen, errmsg_len, errmsg_pos; - bool autoro, has_nonexport, jail_export; + bool autoro; errmsg = fspath = NULL; errmsg_len = fspathlen = 0; @@ -700,37 +699,15 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) goto bail; } - /* - * Check to see that "export" is only used with the "update", "fstype", - * "fspath", "from" and "errmsg" options when in a vnet jail. - * These are the ones used to set/update exports by mountd(8). - * If only the above options are set in a jail that can run mountd(8), - * then the jail_export argument of vfs_domount() will be true. - * When jail_export is true, the vfs_suser() check does not cause - * failure, but limits the update to exports only. - * This allows mountd(8) running within the vnet jail - * to export file systems visible within the jail, but - * mounted outside of the jail. - */ /* * We need to see if we have the "update" option * before we call vfs_domount(), since vfs_domount() has special * logic based on MNT_UPDATE. This is very important * when we want to update the root filesystem. */ - has_nonexport = false; - jail_export = false; TAILQ_FOREACH_SAFE(opt, optlist, link, tmp_opt) { int do_freeopt = 0; - if (jailed(td->td_ucred) && - strcmp(opt->name, "export") != 0 && - strcmp(opt->name, "update") != 0 && - strcmp(opt->name, "fstype") != 0 && - strcmp(opt->name, "fspath") != 0 && - strcmp(opt->name, "from") != 0 && - strcmp(opt->name, "errmsg") != 0) - has_nonexport = true; if (strcmp(opt->name, "update") == 0) { fsflags |= MNT_UPDATE; do_freeopt = 1; @@ -813,10 +790,9 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) fsflags |= MNT_SYNCHRONOUS; else if (strcmp(opt->name, "union") == 0) fsflags |= MNT_UNION; - else if (strcmp(opt->name, "export") == 0) { + else if (strcmp(opt->name, "export") == 0) fsflags |= MNT_EXPORTED; - jail_export = true; - } else if (strcmp(opt->name, "automounted") == 0) { + else if (strcmp(opt->name, "automounted") == 0) { fsflags |= MNT_AUTOMOUNTED; do_freeopt = 1; } else if (strcmp(opt->name, "nocover") == 0) { @@ -846,15 +822,7 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) goto bail; } - /* - * If has_nonexport is true or the caller is not running within a - * vnet prison that can run mountd(8), set jail_export false. - */ - if (has_nonexport || !jailed(td->td_ucred) || - !prison_check_nfsd(td->td_ucred)) - jail_export = false; - - error = vfs_domount(td, fstype, fspath, fsflags, jail_export, &optlist); + error = vfs_domount(td, fstype, fspath, fsflags, &optlist); if (error == ENOENT) { error = EINVAL; if (errmsg != NULL) @@ -872,8 +840,7 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions) printf("%s: R/W mount failed, possibly R/O media," " trying R/O mount\n", __func__); fsflags |= MNT_RDONLY; - error = vfs_domount(td, fstype, fspath, fsflags, jail_export, - &optlist); + error = vfs_domount(td, fstype, fspath, fsflags, &optlist); } bail: /* copyout the errmsg */ @@ -1147,7 +1114,6 @@ vfs_domount_update( struct thread *td, /* Calling thread. */ struct vnode *vp, /* Mount point vnode. */ uint64_t fsflags, /* Flags common to all filesystems. */ - bool jail_export, /* Got export option in vnet prison. */ struct vfsoptlist **optlist /* Options local to the filesystem. */ ) { @@ -1159,7 +1125,6 @@ vfs_domount_update( int error, export_error, i, len; uint64_t flag; gid_t *grps; - bool vfs_suser_failed; ASSERT_VOP_ELOCKED(vp, __func__); KASSERT((fsflags & MNT_UPDATE) != 0, ("MNT_UPDATE should be here")); @@ -1188,20 +1153,7 @@ vfs_domount_update( * Only privileged root, or (if MNT_USER is set) the user that * did the original mount is permitted to update it. */ - /* - * For the case of mountd(8) doing exports in a jail, the vfs_suser() - * call does not cause failure. vfs_domount() has already checked - * that "root" is doing this and vfs_suser() will fail when - * the file system has been mounted outside the jail. - * jail_export set true indicates that "export" is not mixed - * with other options that change mount behaviour. - */ - vfs_suser_failed = false; error = vfs_suser(mp, td); - if (jail_export && error != 0) { - error = 0; - vfs_suser_failed = true; - } if (error != 0) { vput(vp); return (error); @@ -1231,26 +1183,11 @@ vfs_domount_update( error = EBUSY; goto end; } - if (vfs_suser_failed) { - KASSERT((fsflags & (MNT_EXPORTED | MNT_UPDATE)) == - (MNT_EXPORTED | MNT_UPDATE), - ("%s: jailed export did not set expected fsflags", - __func__)); - /* - * For this case, only MNT_UPDATE and - * MNT_EXPORTED have been set in fsflags - * by the options. Only set MNT_UPDATE, - * since that is the one that would be set - * when set in fsflags, below. - */ - mp->mnt_flag |= MNT_UPDATE; - } else { - mp->mnt_flag &= ~MNT_UPDATEMASK; - mp->mnt_flag |= fsflags & (MNT_RELOAD | MNT_FORCE | MNT_UPDATE | - MNT_SNAPSHOT | MNT_ROOTFS | MNT_UPDATEMASK | MNT_RDONLY); - if ((mp->mnt_flag & MNT_ASYNC) == 0) - mp->mnt_kern_flag &= ~MNTK_ASYNC; - } + mp->mnt_flag &= ~MNT_UPDATEMASK; + mp->mnt_flag |= fsflags & (MNT_RELOAD | MNT_FORCE | MNT_UPDATE | + MNT_SNAPSHOT | MNT_ROOTFS | MNT_UPDATEMASK | MNT_RDONLY); + if ((mp->mnt_flag & MNT_ASYNC) == 0) + mp->mnt_kern_flag &= ~MNTK_ASYNC; rootvp = vfs_cache_root_clear(mp); MNT_IUNLOCK(mp); mp->mnt_optnew = *optlist; @@ -1261,17 +1198,7 @@ vfs_domount_update( * XXX The final recipients of VFS_MOUNT just overwrite the ndp they * get. No freeing of cn_pnbuf. */ - /* - * For the case of mountd(8) doing exports from within a vnet jail, - * "from" is typically not set correctly such that VFS_MOUNT() will - * return ENOENT. It is not obvious that VFS_MOUNT() ever needs to be - * called when mountd is doing exports, but this check only applies to - * the specific case where it is running inside a vnet jail, to - * avoid any POLA violation. - */ - error = 0; - if (!jail_export) - error = VFS_MOUNT(mp); + error = VFS_MOUNT(mp); export_error = 0; /* Process the export option. */ @@ -1409,7 +1336,6 @@ vfs_domount( const char *fstype, /* Filesystem type. */ char *fspath, /* Mount path. */ uint64_t fsflags, /* Flags common to all filesystems. */ - bool jail_export, /* Got export option in vnet prison. */ struct vfsoptlist **optlist /* Options local to the filesystem. */ ) { @@ -1427,11 +1353,7 @@ vfs_domount( if (strlen(fstype) >= MFSNAMELEN || strlen(fspath) >= MNAMELEN) return (ENAMETOOLONG); - if (jail_export) { - error = priv_check(td, PRIV_NFS_DAEMON); - if (error) - return (error); - } else if (jailed(td->td_ucred) || usermount == 0) { + if (jailed(td->td_ucred) || usermount == 0) { if ((error = priv_check(td, PRIV_VFS_MOUNT)) != 0) return (error); } @@ -1512,8 +1434,7 @@ vfs_domount( } free(pathbuf, M_TEMP); } else - error = vfs_domount_update(td, vp, fsflags, jail_export, - optlist); + error = vfs_domount_update(td, vp, fsflags, optlist); out: NDFREE(&nd, NDF_ONLY_PNBUF); From nobody Fri May 19 21:39:43 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNKxW5RLwz4CPfS; Fri, 19 May 2023 21:39:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QNKxW4tRvz3kgL; Fri, 19 May 2023 21:39:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684532383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Htbp7J09Xb81z/F91/wimTtlu4obLBb8bYiUKhJc2KU=; b=YhsGwZKPCwM4T0QRlqndUUJIMU5S2X6bWKG9x2EVa82xkXdAmXcmplgkO9f4szibF42Yln LXkFqVBtZ+0c9a0LPmo0LRrbTGhSw2Uw2TeHO26qtILOMiSkfcr+qnRtguOH/szUOGaIHE mWXwDOM3R0xzw10o6SNOsOCZKa/H0eO91m8PxBZmc9NIK1TwYVpIc9fc7SdzOqew5FSviD rFQy+aag2PSpSUim2vCa3+cI9hfeRfWpAhGRnpTZd1zFz2n47wMXMPxyQG10T4FCbekJAy eoLDkbaSqdHMjzfUgUa6ScpQ6GKh0hgVT27pjWdLLIu0pkAOc8FyW1GnOugZpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684532383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Htbp7J09Xb81z/F91/wimTtlu4obLBb8bYiUKhJc2KU=; b=e6ph5H2guJKXtF74IciKarHm9XqEKirAIBjIUL2p4WKOQoYHfvdqb+MxxnU0ujg0PxMCyb LmgTw2E09W7WOUSoP1bC8l8J+7XuxT2mwqzISDUbymdp/RrWv9w8F6fToNB9czKI6sbksk WgyxJypYOp4uacs3JSIcU+RBD0nGT6t2PGri4PGBKEsWFV5nacK2Ij5+JmSowCjyrL1mk5 lOEF50zNG5yqTkg3AIxOnyIOXnCIVOHsW6zqvlkG4YWj8AkLgBOcFiCe8SJyIEZeHHmfys +XAeY/kG5cUUv6EvO+GgKwFPArZRx988JJmmv0Z9i1LLpmHG5RZYeacCjCmyiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684532383; a=rsa-sha256; cv=none; b=S5zd12u40CBS3AL/0ZuDXdJz/UMb3GGFhZOUrYwj6bqESK3yAhXMHeEnvIGx41GjX49qZp 6Fn+1fOrzCgZrTysGgGbRt+c1u+6fAf5jPJisk70INciavdhbXknqi7SM8fB0cDSqDR3Tm E+5CDh2C3rc8G8BNzMq8j9ZIyhApEjQU1Y22vk7PuEmt1dpaYx0mPlymE22IVB3PKVk/Kv NmbH4xAc+fP1hxC/dy17o6DaIvqmSmF+a6Ql0uVJvQ8Gc0KRlHSsNybuPbli0zH3bkeTZ0 cM4MVdG1i0m+ZzuR7SLj1kAT5W5EQRHLqyRYc8xeYxzZNwY9TUcyHoCQ36OC2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNKxW3tvfzkTB; Fri, 19 May 2023 21:39:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JLdhwP034496; Fri, 19 May 2023 21:39:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JLdhTq034495; Fri, 19 May 2023 21:39:43 GMT (envelope-from git) Date: Fri, 19 May 2023 21:39:43 GMT Message-Id: <202305192139.34JLdhTq034495@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 3bd0519d7485 - stable/13 - Revert "vfs_export: Add mnt_exjail to control exports done in prisons" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3bd0519d7485bb1ed4575887e13dbcd5db8f0592 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=3bd0519d7485bb1ed4575887e13dbcd5db8f0592 commit 3bd0519d7485bb1ed4575887e13dbcd5db8f0592 Author: Rick Macklem AuthorDate: 2023-05-19 21:38:20 +0000 Commit: Rick Macklem CommitDate: 2023-05-19 21:38:20 +0000 Revert "vfs_export: Add mnt_exjail to control exports done in prisons" Revert this commit until I can figure out build issue. This reverts commit 202d52261b92abdfb1ec39564ee1be3812bcdf92. --- sys/fs/nfsserver/nfs_nfsdport.c | 24 ++---- sys/kern/kern_jail.c | 1 - sys/kern/vfs_export.c | 164 +--------------------------------------- sys/kern/vfs_mount.c | 9 +-- sys/sys/jail.h | 3 +- sys/sys/mount.h | 5 +- 6 files changed, 14 insertions(+), 192 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 50d3aa57c4aa..4247177a3fc0 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -3270,16 +3270,8 @@ nfsvno_checkexp(struct mount *mp, struct sockaddr *nam, struct nfsexstuff *exp, { int error; - error = 0; - *credp = NULL; - MNT_ILOCK(mp); - if (mp->mnt_exjail == NULL || - mp->mnt_exjail->cr_prison != curthread->td_ucred->cr_prison) - error = EACCES; - MNT_IUNLOCK(mp); - if (error == 0) - error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, - &exp->nes_numsecflavor, exp->nes_secflavors); + error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, + &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; @@ -3313,14 +3305,8 @@ nfsvno_fhtovp(struct mount *mp, fhandle_t *fhp, struct sockaddr *nam, /* Make sure the server replies ESTALE to the client. */ error = ESTALE; if (nam && !error) { - MNT_ILOCK(mp); - if (mp->mnt_exjail == NULL || - mp->mnt_exjail->cr_prison != curthread->td_ucred->cr_prison) - error = EACCES; - MNT_IUNLOCK(mp); - if (error == 0) - error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, - &exp->nes_numsecflavor, exp->nes_secflavors); + error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, + &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; @@ -3490,7 +3476,7 @@ nfsrv_v4rootexport(void *argp, struct ucred *cred, struct thread *p) struct nameidata nd; fhandle_t fh; - error = vfs_export(NFSD_VNET(nfsv4root_mnt), &nfsexargp->export, false); + error = vfs_export(NFSD_VNET(nfsv4root_mnt), &nfsexargp->export); if ((nfsexargp->export.ex_flags & MNT_DELEXPORT) != 0) NFSD_VNET(nfs_rootfhset) = 0; else if (error == 0) { diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 0203dcd0faf1..622b9f6c7cb9 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -3035,7 +3035,6 @@ prison_cleanup(struct prison *pr) { sx_assert(&allprison_lock, SA_XLOCKED); mtx_assert(&pr->pr_mtx, MA_NOTOWNED); - vfs_exjail_delete(pr); shm_remove_prison(pr); (void)osd_jail_call(pr, PR_METHOD_REMOVE, NULL); } diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 16d2e88bdc41..cab37ce205ad 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -297,18 +296,12 @@ vfs_free_addrlist(struct netexport *nep) * and the passed in netexport. * Struct export_args *argp is the variable used to twiddle options, * the structure is described in sys/mount.h - * The do_exjail argument should be true if *mp is in the mountlist - * and false if not. It is not in the mountlist for the NFSv4 rootfs - * fake mount point just used for exports. */ int -vfs_export(struct mount *mp, struct export_args *argp, bool do_exjail) +vfs_export(struct mount *mp, struct export_args *argp) { struct netexport *nep; - struct ucred *cr; - struct prison *pr; int error; - bool new_nep; if ((argp->ex_flags & (MNT_DELEXPORT | MNT_EXPORTED)) == 0) return (EINVAL); @@ -319,7 +312,6 @@ vfs_export(struct mount *mp, struct export_args *argp, bool do_exjail) return (EINVAL); error = 0; - pr = curthread->td_ucred->cr_prison; lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); nep = mp->mnt_export; if (argp->ex_flags & MNT_DELEXPORT) { @@ -327,21 +319,6 @@ vfs_export(struct mount *mp, struct export_args *argp, bool do_exjail) error = ENOENT; goto out; } - MNT_ILOCK(mp); - if (mp->mnt_exjail != NULL && mp->mnt_exjail->cr_prison != pr && - pr == &prison0) { - MNT_IUNLOCK(mp); - /* EXDEV will not get logged by mountd(8). */ - error = EXDEV; - goto out; - } else if (mp->mnt_exjail != NULL && - mp->mnt_exjail->cr_prison != pr) { - MNT_IUNLOCK(mp); - /* EPERM will get logged by mountd(8). */ - error = EPERM; - goto out; - } - MNT_IUNLOCK(mp); if (mp->mnt_flag & MNT_EXPUBLIC) { vfs_setpublicfs(NULL, NULL, NULL); MNT_ILOCK(mp); @@ -353,51 +330,18 @@ vfs_export(struct mount *mp, struct export_args *argp, bool do_exjail) free(nep, M_MOUNT); nep = NULL; MNT_ILOCK(mp); - cr = mp->mnt_exjail; - mp->mnt_exjail = NULL; mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); MNT_IUNLOCK(mp); - if (cr != NULL) { - atomic_subtract_int(&pr->pr_exportcnt, 1); - crfree(cr); - } } if (argp->ex_flags & MNT_EXPORTED) { - new_nep = false; - MNT_ILOCK(mp); - if (mp->mnt_exjail == NULL) { - MNT_IUNLOCK(mp); - if (do_exjail && nep != NULL) { - vfs_free_addrlist(nep); - memset(nep, 0, sizeof(*nep)); - new_nep = true; - } - } else if (mp->mnt_exjail->cr_prison != pr) { - MNT_IUNLOCK(mp); - error = EPERM; - goto out; - } else - MNT_IUNLOCK(mp); if (nep == NULL) { - nep = malloc(sizeof(struct netexport), M_MOUNT, - M_WAITOK | M_ZERO); + nep = malloc(sizeof(struct netexport), M_MOUNT, M_WAITOK | M_ZERO); mp->mnt_export = nep; - new_nep = true; } if (argp->ex_flags & MNT_EXPUBLIC) { - if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) { - if (new_nep) { - mp->mnt_export = NULL; - free(nep, M_MOUNT); - } + if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) goto out; - } - new_nep = false; MNT_ILOCK(mp); - if (do_exjail && mp->mnt_exjail == NULL) { - mp->mnt_exjail = crhold(curthread->td_ucred); - atomic_add_int(&pr->pr_exportcnt, 1); - } mp->mnt_flag |= MNT_EXPUBLIC; MNT_IUNLOCK(mp); } @@ -405,18 +349,9 @@ vfs_export(struct mount *mp, struct export_args *argp, bool do_exjail) argp->ex_numsecflavors = 1; argp->ex_secflavors[0] = AUTH_SYS; } - if ((error = vfs_hang_addrlist(mp, nep, argp))) { - if (new_nep) { - mp->mnt_export = NULL; - free(nep, M_MOUNT); - } + if ((error = vfs_hang_addrlist(mp, nep, argp))) goto out; - } MNT_ILOCK(mp); - if (do_exjail && mp->mnt_exjail == NULL) { - mp->mnt_exjail = crhold(curthread->td_ucred); - atomic_add_int(&pr->pr_exportcnt, 1); - } mp->mnt_flag |= MNT_EXPORTED; MNT_IUNLOCK(mp); } @@ -436,97 +371,6 @@ out: return (error); } -/* - * Get rid of credential references for this prison. - */ -void -vfs_exjail_delete(struct prison *pr) -{ - struct mount *mp; - struct ucred *cr; - int error, i; - - /* - * Since this function is called from prison_cleanup() after - * all processes in the prison have exited, the value of - * pr_exportcnt can no longer increase. It is possible for - * a dismount of a file system exported within this prison - * to be in progress. In this case, the file system is no - * longer in the mountlist and the mnt_exjail will be free'd - * by vfs_mount_destroy() at some time. As such, pr_exportcnt - * and, therefore "i", is the upper bound on the number of - * mnt_exjail entries to be found by this function. - */ - i = atomic_load_int(&pr->pr_exportcnt); - KASSERT(i >= 0, ("vfs_exjail_delete: pr_exportcnt negative")); - if (i == 0) - return; - mtx_lock(&mountlist_mtx); -tryagain: - TAILQ_FOREACH(mp, &mountlist, mnt_list) { - MNT_ILOCK(mp); - if (mp->mnt_exjail != NULL && - mp->mnt_exjail->cr_prison == pr) { - MNT_IUNLOCK(mp); - error = vfs_busy(mp, MBF_MNTLSTLOCK | MBF_NOWAIT); - if (error != 0) { - /* - * If the vfs_busy() fails, we still want to - * get rid of mnt_exjail for two reasons: - * - a credential reference will result in - * a prison not being removed - * - setting mnt_exjail NULL indicates that - * the exports are no longer valid - * The now invalid exports will be deleted - * when the file system is dismounted or - * the file system is re-exported by mountd. - */ - cr = NULL; - MNT_ILOCK(mp); - if (mp->mnt_exjail != NULL && - mp->mnt_exjail->cr_prison == pr) { - cr = mp->mnt_exjail; - mp->mnt_exjail = NULL; - } - MNT_IUNLOCK(mp); - if (cr != NULL) { - crfree(cr); - i--; - } - if (i == 0) - break; - continue; - } - cr = NULL; - lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); - MNT_ILOCK(mp); - if (mp->mnt_exjail != NULL && - mp->mnt_exjail->cr_prison == pr) { - cr = mp->mnt_exjail; - mp->mnt_exjail = NULL; - mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); - MNT_IUNLOCK(mp); - vfs_free_addrlist(mp->mnt_export); - free(mp->mnt_export, M_MOUNT); - mp->mnt_export = NULL; - } else - MNT_IUNLOCK(mp); - lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); - if (cr != NULL) { - crfree(cr); - i--; - } - mtx_lock(&mountlist_mtx); - vfs_unbusy(mp); - if (i == 0) - break; - goto tryagain; - } - MNT_IUNLOCK(mp); - } - mtx_unlock(&mountlist_mtx); -} - /* * Set the publicly exported filesystem (WebNFS). Currently, only * one public filesystem is possible in the spec (RFC 2054 and 2055) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 4c941c2616ff..d5b137e7ffab 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -618,11 +618,6 @@ vfs_mount_destroy(struct mount *mp) #endif if (mp->mnt_opt != NULL) vfs_freeopts(mp->mnt_opt); - if (mp->mnt_exjail != NULL) { - atomic_subtract_int(&mp->mnt_exjail->cr_prison->pr_exportcnt, - 1); - crfree(mp->mnt_exjail); - } if (mp->mnt_export != NULL) { vfs_free_addrlist(mp->mnt_export); free(mp->mnt_export, M_MOUNT); @@ -1241,7 +1236,7 @@ vfs_domount_update( } else export_error = EINVAL; if (export_error == 0) - export_error = vfs_export(mp, &export, true); + export_error = vfs_export(mp, &export); free(export.ex_groups, M_TEMP); break; case (sizeof(export)): @@ -1263,7 +1258,7 @@ vfs_domount_update( else export_error = EINVAL; if (export_error == 0) - export_error = vfs_export(mp, &export, true); + export_error = vfs_export(mp, &export); free(grps, M_TEMP); break; default: diff --git a/sys/sys/jail.h b/sys/sys/jail.h index e81b272677bb..f4d4e521d7de 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -190,8 +190,7 @@ struct prison { int pr_enforce_statfs; /* (p) statfs permission */ int pr_devfs_rsnum; /* (p) devfs ruleset */ enum prison_state pr_state; /* (q) state in life cycle */ - volatile int pr_exportcnt; /* (r) count of mount exports */ - int pr_spare; + int pr_spare[2]; int pr_osreldate; /* (c) kern.osreldate value */ unsigned long pr_hostid; /* (p) jail hostid */ char pr_name[MAXHOSTNAMELEN]; /* (p) admin jail name */ diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 382be23e37e5..9a69240ddba5 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -222,7 +222,7 @@ struct mount { int mnt_writeopcount; /* (i) write syscalls pending */ struct vfsoptlist *mnt_opt; /* current mount options */ struct vfsoptlist *mnt_optnew; /* new options passed to fs */ - struct ucred *mnt_exjail; /* (i) jail which did exports */ + u_int mnt_pad0; /* was mnt_maxsymlinklen */ struct statfs mnt_stat; /* cache of filesystem stats */ struct ucred *mnt_cred; /* credentials of mounter */ void * mnt_data; /* private data */ @@ -985,9 +985,8 @@ int vfs_setpublicfs /* set publicly exported fs */ (struct mount *, struct netexport *, struct export_args *); void vfs_periodic(struct mount *, int); int vfs_busy(struct mount *, int); -void vfs_exjail_delete(struct prison *); int vfs_export /* process mount export info */ - (struct mount *, struct export_args *, bool); + (struct mount *, struct export_args *); void vfs_free_addrlist(struct netexport *); void vfs_allocate_syncvnode(struct mount *); void vfs_deallocate_syncvnode(struct mount *); From nobody Fri May 19 23:54:20 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNNwr339Cz4CX2N; Fri, 19 May 2023 23:54: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 4QNNwr2N5Gz3vHs; Fri, 19 May 2023 23:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWFHMnQV975+PIloy9xNNoF8FTr8z13GHoKjVs80jj0=; b=T/9VBORvU2QmJ3r/c8lXhY9NcGiDgLeFTTQll3c8c5P6LHzo01eP5XdH5GXsoTHGveEay/ VBKz5fMifGEFebStthnd1Q9um1sVCrRl/h5XOXsxEuFUXiiTUbTD1fPlRBxXUA2tWu5PoI G5TGVbvWRiGPYuuX8r21yI0Y9yNMIpoeDK0GGjtAt9IggEZu53GaImUFZH38r/Plv1e0iy Ge+OLtD61/fl2Ckk8eV74L8f+PzI9oVepFErrAG2LEZg0uYhbedqnbKRix6bZTJdd+dGMY DCmTVdGjfXSptw2Lru0FoqFKhqbpwcfkymbYo/+YjKfDmtIKwH2TsPznUqmzNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWFHMnQV975+PIloy9xNNoF8FTr8z13GHoKjVs80jj0=; b=qpiP+nyrgJzJQ+OGiT8+D1K6NFR/FDkdNFORgQrC25mnxuEb0fzfXSBfpyFpD8ErC1jBN6 m5B8ePExRgrxaMooD4/Iz6nQiFJVTs7YUHZA9lcZVssfAgZfNj1z2z2lw8cvS7DzQU3a2A eUxsicu/yaVsTyiQjFQxiWm9UAkBOCKOVnDl0FIWDNrs3L4n+l4ATP/acplfTFpmaDdMfM D05p+/uPhp1I4UC9bzp5BePY/I1r+GyTO3on34PnmRCiuyKWRohzIPwy4xeqDQ2BnNQjKe F8+xFPpB9b8HSHnyUqTajCAak6MCpOWMubaneX2g3gS2hU7ZiwuMyK6K3pFKTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684540460; a=rsa-sha256; cv=none; b=dtS5zaydfh/ltEHgyCkfZySNZLAxOXZGmjsUtJZvDi1cYPbbryTv4LKScOoYSSzopyNlHB rwSQDElRpV/NbHi13my/WTkyuUnwgO3OZ6PYAHpkXFibQHBGIq8SWbPF8DjaTtlOLa9yFQ ZfzBJz3MaItJpYdCrYLFF65O89fB/7aQA0/abGEQmwS706xqMDKxHSbcggO/U/fPUaj9Mm TidrdDIejd0ROANp1jcg1NhIOhQz04w69V522H9v1ex9cDwREJ/51faeZ5UCZ9RYhqEz+u Nx9wicXhK8PMUEqnvBi5c5EEs7dZdAD+pR7LPFOOqz1v+Q8S2v9tYsi3aqZ7ZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNNwr1LlxznfH; Fri, 19 May 2023 23:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JNsKOT064702; Fri, 19 May 2023 23:54:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JNsKM9064701; Fri, 19 May 2023 23:54:20 GMT (envelope-from git) Date: Fri, 19 May 2023 23:54:20 GMT Message-Id: <202305192354.34JNsKM9064701@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 7ad0e9f1e696 - stable/13 - Additional output from dumpfs(8). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7ad0e9f1e6963e043aad0613255e9e53f84c5c5e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=7ad0e9f1e6963e043aad0613255e9e53f84c5c5e commit 7ad0e9f1e6963e043aad0613255e9e53f84c5c5e Author: Kirk McKusick AuthorDate: 2023-04-29 18:41:23 +0000 Commit: Kirk McKusick CommitDate: 2023-05-19 22:36:31 +0000 Additional output from dumpfs(8). (cherry picked from commit 04997e19e27b240f9fd253f3eb1053708ca99c51) --- sbin/dumpfs/dumpfs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c index 7c43cf4489a8..034dcb5ddf99 100644 --- a/sbin/dumpfs/dumpfs.c +++ b/sbin/dumpfs/dumpfs.c @@ -244,6 +244,8 @@ dumpfs(const char *name, int dosb) default: goto err; } + printf("old_cpg\t%d\tsize_cg\t%jd\tCGSIZE\t%jd\n", + afs.fs_old_cpg, sizeof(struct cg), CGSIZE(&afs)); printf("sblkno\t%d\tcblkno\t%d\tiblkno\t%d\tdblkno\t%d\n", afs.fs_sblkno, afs.fs_cblkno, afs.fs_iblkno, afs.fs_dblkno); printf("cgrotor\t%d\tfmod\t%d\tronly\t%d\tclean\t%d\n", From nobody Fri May 19 23:54:21 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNNws5sFJz4CX2P; Fri, 19 May 2023 23:54: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 4QNNws3JNJz3txh; Fri, 19 May 2023 23:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=30mlZpAqRF1/asZxqsIU4N9zxXmCmip2fZveIEhFnLg=; b=FosEyg4e40OWBiVa2c1q/yKrFg1so3SYtgKle5VaHtedjFaFDY2vRzQdSuOZvBONLrT32G JSkRxa1zGETnaDqgt5odqQiWfQsevsQPosxeZG8MJhqmn3UGbJFeCgrSR/t3WKfUvjw8+o OiskWPraN0dveS3B8nJyyTEu6+8TemggIZ+9UYvvJpTxyToPkurN2yDd9QKM6/x4PQt2oN VZO5IRKOnrgHFcOxtF9KKm2xlSWxwakVf+bfpsRzJZEv+n2fdwvZivtELnhUAng5DfItkH IcN3ZfQcQfIkjlaVPE3duy6HAeFil9qD3+fJRjb2WoA7dRwv6/j9OVyxaaL+qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=30mlZpAqRF1/asZxqsIU4N9zxXmCmip2fZveIEhFnLg=; b=ptidIJNhpBGITmYCqqK6+d4YA5yohK3t/ZsCA4sIUEin4V/3pWjJ2YMMcZuC0LsAx0x8au 8FghB6trV+su7/cEqHSvhbVOn1MtBwdgGIwBkw8x4NEdEzW+oKXB8RtlKluATF6eQbSnK0 HL3ajP5BkyaYRY5VMyB6ItDmk69VuGnVVngOL6UojH50CMEkx9oJ6lAaDTqDbmCk0ZJOX9 hDWSIeMKhQV7MAMlMFCfCwWwMjgTx3tpGUEEHtoKabqTgZOgtcjOkWUyOOJVzTamdVJglk hjPbsC+w8f0C2LgOdWFoy1t/shIG75NOKT8Wceyr0U4j1q3JoSz+qLLpTpsdfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684540461; a=rsa-sha256; cv=none; b=j2+sUifFIJqslZ0inpmV5JD18nnhGTC31SNtJiSFRbfHu+Gs2cxfcpm7POwqunUrjQb7uf dNM+oPi8L79Mh6624aVdmzKayJhPq/S9wKTZrMDNVbs6DuarhHY4e1ptTgv/xDqxRZAexJ fIROzV0/32uin+QRUeCa9GdddOb71xwqpHfVyFPconk9aI24z/V7kM/4pI6nPYl7BkpR95 mRpNtWaidTeizfnz5V2f7BocbJp6yD8N+U2TdcY9adwQnZN67myYUywClge5MbBcDm2Tuj E25NVVEIz255klnKktah6Chf35wbnS6jMuGd/D8yu/ghsCSiCLxZCta+MQTDHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNNws29KcznqP; Fri, 19 May 2023 23:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JNsLlx064723; Fri, 19 May 2023 23:54:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JNsLlh064722; Fri, 19 May 2023 23:54:21 GMT (envelope-from git) Date: Fri, 19 May 2023 23:54:21 GMT Message-Id: <202305192354.34JNsLlh064722@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 4921003d448e - stable/13 - Fix printf format conflict List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4921003d448edfec819def5022026367dfe1564c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=4921003d448edfec819def5022026367dfe1564c commit 4921003d448edfec819def5022026367dfe1564c Author: Kirk McKusick AuthorDate: 2023-04-30 00:55:15 +0000 Commit: Kirk McKusick CommitDate: 2023-05-19 22:37:40 +0000 Fix printf format conflict (cherry picked from commit 6995e6b3237e9be9ae6f68af13edd3db4b668ab8) --- sbin/dumpfs/dumpfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c index 034dcb5ddf99..d521b806af40 100644 --- a/sbin/dumpfs/dumpfs.c +++ b/sbin/dumpfs/dumpfs.c @@ -244,7 +244,7 @@ dumpfs(const char *name, int dosb) default: goto err; } - printf("old_cpg\t%d\tsize_cg\t%jd\tCGSIZE\t%jd\n", + printf("old_cpg\t%d\tsize_cg\t%d\tCGSIZE\t%d\n", afs.fs_old_cpg, sizeof(struct cg), CGSIZE(&afs)); printf("sblkno\t%d\tcblkno\t%d\tiblkno\t%d\tdblkno\t%d\n", afs.fs_sblkno, afs.fs_cblkno, afs.fs_iblkno, afs.fs_dblkno); From nobody Fri May 19 23:54:22 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNNwt4TY0z4CWtQ; Fri, 19 May 2023 23:54: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 4QNNwt4078z3vJN; Fri, 19 May 2023 23:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hd5EE60iMhgCJpztTHWYPhvoCYbolN2LQl2itjvT8/0=; b=GoFcP3jgYCvygZwkD+2n2FbtP8UUWHbIzdhp2sHKCsVBx9C4nuA8mdwVwtfYkNTV+MGwPi X2MoEa148ujRhkCIO/4gyMT2BqoFMx1hlb+SkWDyrC+Xikiyvdqy2I+CPkD8n1RTzbXWj1 ojWIkAutVyG42W7Mp3KEInOwhuSPIi3gtlTNFeHXfheQpLjmlxA1DTrSSTnv9uDGd76MGS Oftjoc7eHQ/uWyKuxjHV3xIU3wppWKlK716YE0+k1QcvODna/WNMTih+LQOX738MOlQsmX i3nZbV84M2pACMwZNFLyLIxd5kW8NXQD3dncGdi7+goFfSZmhPQ5j0S7Z1ys3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hd5EE60iMhgCJpztTHWYPhvoCYbolN2LQl2itjvT8/0=; b=RiMqzmx2D1BdX92/Jo54bIqpYGMcO3BuThDTtfPF4KesMT7gUO93QlOg74hU3CurWgjZNt 7Fw5zyyg+kx64ikLKeN0Z6rMOzdNScXN5rBHqF91vgDDmr1zsgAt+v3V0gVmiqEpCXOLud AAKXRuJ063O0a0RcFiLBb12xnBGnslCgqwO12fCku0gTYasXbBgnxQRAudkkl25HsQ36ej i5+55qDrAbqlCdn+N7ag0HraO0RqqsdM0vbA5/g143K2I12YsFM7n1of6tkWKKBEUsPJR6 ggAy+3DYYdmTNDTKaZ6dMk6Y3UsICfR26PVLoBuGvzBSNpiVO95FqS9hqzagOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684540462; a=rsa-sha256; cv=none; b=fqs08kX645Am7hmxU5UvQfVENErO1url5roSIsunSALffRRyFo3U2Pv0ODH6QOoDA/5hky XYbJGninaWi67/V/Hwm84r4KkffQFuvj5+v2jOFTJZNZ55rvSBNhLxpVawbNPNeLqC+5IY djkeAkznA/l1UepzJbwcNDNOENWycJkOB9MkBr2j/CgteR4r2j1gU2siRVdpnAmhRo3rEf NLr3TW+6B7QBQYgFYdvdIzp8hIKxbO6wmCHRKJe/s6QXvCsiynSEJ4Tvzpz14K04MUpFN9 O8EdyIHAhkuXNGQZ01I4DrOtIkFIz6hQkuK48VaSWBfwPpTpz+M9yS092LOWbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNNwt3524znPl; Fri, 19 May 2023 23:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JNsMBO064743; Fri, 19 May 2023 23:54:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JNsMpr064742; Fri, 19 May 2023 23:54:22 GMT (envelope-from git) Date: Fri, 19 May 2023 23:54:22 GMT Message-Id: <202305192354.34JNsMpr064742@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: a6916c2bd084 - stable/13 - Yet another try to fix printf format conflict. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a6916c2bd084ebfd13f41eadd7946ab34549f1c0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=a6916c2bd084ebfd13f41eadd7946ab34549f1c0 commit a6916c2bd084ebfd13f41eadd7946ab34549f1c0 Author: Kirk McKusick AuthorDate: 2023-04-30 06:59:45 +0000 Commit: Kirk McKusick CommitDate: 2023-05-19 22:42:12 +0000 Yet another try to fix printf format conflict. (cherry picked from commit 2e7797cd9bba4fa82391b53a7dd7aac074baf716) --- sbin/dumpfs/dumpfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c index d521b806af40..f93047b8803f 100644 --- a/sbin/dumpfs/dumpfs.c +++ b/sbin/dumpfs/dumpfs.c @@ -244,7 +244,7 @@ dumpfs(const char *name, int dosb) default: goto err; } - printf("old_cpg\t%d\tsize_cg\t%d\tCGSIZE\t%d\n", + printf("old_cpg\t%d\tsize_cg\t%zu\tCGSIZE\t%zu\n", afs.fs_old_cpg, sizeof(struct cg), CGSIZE(&afs)); printf("sblkno\t%d\tcblkno\t%d\tiblkno\t%d\tdblkno\t%d\n", afs.fs_sblkno, afs.fs_cblkno, afs.fs_iblkno, afs.fs_dblkno); From nobody Fri May 19 23:54:23 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNNwv5VPjz4CWtR; Fri, 19 May 2023 23:54: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 4QNNwv4w5mz3v25; Fri, 19 May 2023 23:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tiTSLKIZLo8IWoOiHodQq7RyO6ByM8+GbngFfQlaEFw=; b=Mdr8LHLKFXQQKwskEtN+Szaq6aJJ/c49OVrMiXY4tGtsfiZ8iaZXDA7XGLTqMaer6iJ0QZ +c0VumooIwEFH4j3RSecD9SB3Bac2D9ZeuiL/fkoSpA7c+aB1auv8ozQcggdPK+8VTVGJ9 /oIeiR766b4plTq15uSTSUYI22zBa3cBsH3A3v7pG3wC8MwLGKso8DghO2ro0y2Hkib1iG xwkIrClog65xjVaUFVhj1e5oV+cx+Le5+rm6RafEJ3/ToypfBTCoa07cz3kVJI5nwfjTLk TXopiq4edUArdi7ekM1mErHgm2KF4Fl9E+uU+VLmGJ/8ejtNxMnmOgw4kcoQww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tiTSLKIZLo8IWoOiHodQq7RyO6ByM8+GbngFfQlaEFw=; b=j5RHsLfkl2/2RGn0dWFjVC46fuRqa1J1Mfng+UqjdgFXHV/XGjfg9bLx8gJWzIJeVwl97S k27i8vj0MDnkMMaKF6+hDaheDz/G51u04AiXdLFKBFeklu/YqZ0Y6UWjWBj94veWJ2ChCS l9Xvxd7++dO5T5DRQLSVZ1bXkhIq5jpcFoZOL6aRq+DkWODWW+c4ySAVOOLjXvtWHACj2F dqbrndZZjedOQxbKCLiAdXAIBLf7xvA3aZemBJxHRnN4PgNS+9MOzfLTx9T8a/naOUQfsc 05IwQ1SPs9nZRY6xba7BsbZX7e+OTVUhPIi6EH8OxWY5dBQ77ppMqvIDlxM3ZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684540463; a=rsa-sha256; cv=none; b=f3UtgQ+8ApDl80GOWQ3KBtMAlYdkoIPdfcQ1/gKVjNTf1lxLHFgqg4ISMtDbcV+atKq76A biPr8YFV9qPCg2e8LC9rSakjZqWe71fwRmEMACG6ywqKZHFIIyFQS80bNvr7Cg6gqxANIw nZ/WZ42z158D9xriKIn6sFVhjbLo8Wkr0YUxXIUAvgdxq3aoBtcXnRrG0mjSbVXYrn2Tja PlmyG/9O7l73b+6PO2QzUzDQbY7uNUdLqbzHQPJK/6lAZ77aZvaBJ3pp5u0oZhJzhbQ7n4 DXDNFEiKKVnvRPsAb4fgIIXWo7t8PhGh15I2udKg/72I5iDePpYtHB93/ZDuMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNNwv40P5znTj; Fri, 19 May 2023 23:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JNsNMs064770; Fri, 19 May 2023 23:54:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JNsNlP064769; Fri, 19 May 2023 23:54:23 GMT (envelope-from git) Date: Fri, 19 May 2023 23:54:23 GMT Message-Id: <202305192354.34JNsNlP064769@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 0fc13be84735 - stable/13 - Additional validity checking in newfs(8). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0fc13be8473505e98e9103467fe363db627051e1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=0fc13be8473505e98e9103467fe363db627051e1 commit 0fc13be8473505e98e9103467fe363db627051e1 Author: Kirk McKusick AuthorDate: 2023-04-29 19:49:50 +0000 Commit: Kirk McKusick CommitDate: 2023-05-19 22:43:37 +0000 Additional validity checking in newfs(8). (cherry picked from commit 62dc21b10731bdba26dafeb51640c2048a3344a0) --- sbin/newfs/mkfs.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sbin/newfs/mkfs.c b/sbin/newfs/mkfs.c index 3d19fc88fd79..fa00445baea8 100644 --- a/sbin/newfs/mkfs.c +++ b/sbin/newfs/mkfs.c @@ -332,6 +332,7 @@ restart: * can put into each cylinder group. If this is too big, we reduce * the density until it fits. */ +retry: maxinum = (((int64_t)(1)) << 32) - INOPB(&sblock); minfragsperinode = 1 + fssize / maxinum; if (density == 0) { @@ -663,6 +664,21 @@ restart: pp->p_frag = sblock.fs_frag; pp->p_cpg = sblock.fs_fpg; } + /* + * This should NOT happen. If it does complain loudly and + * take evasive action. + */ + if ((int32_t)CGSIZE(&sblock) > sblock.fs_bsize) { + printf("INTERNAL ERROR: ipg %d, fpg %d, contigsumsize %d, ", + sblock.fs_ipg, sblock.fs_fpg, sblock.fs_contigsumsize); + printf("old_cpg %d, size_cg %jd, CGSIZE %jd\n", + sblock.fs_old_cpg, sizeof(struct cg), CGSIZE(&sblock)); + printf("Please file a FreeBSD bug report and include this " + "output\n"); + maxblkspercg = fragstoblks(&sblock, sblock.fs_fpg) - 1; + density = 0; + goto retry; + } } /* From nobody Fri May 19 23:54:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNNww6BHQz4CX8p; Fri, 19 May 2023 23:54: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 4QNNww5YRpz3vg0; Fri, 19 May 2023 23:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IiKDEkSV26Dnc7Fg4xPeYqOgW4EjAb2lsUDFOcT6CKk=; b=xJ3U/I3Q7RhtriTyfRZI1sbdf37EdjKbPLquHQcwM0kFhIKR0k3XzCpwiHszYdHqelaT4w 7dn4uEYs3CoMeBzLBvQ9mzMBLUaazRLk2oW9IeUINRfnp7366bglsDjtLIzrgNpo4Uhnw+ CDuvZat19dY0OOdO22oSdFu1fhVqmE3z8D3d3JRi8rrqpM9OBC5yTuBU/EUftHP2fw0jz7 OtCJeyIBd8o10Spnrg+4iZsR2D1rBAfZjBK/o72mD148MLfx5wQmX8YUrCUvkfpYEa0R3a vLc9BEASR6n1vF2PJYTEk/gcGGl/YKF+7xuNS1wP23pLtdradMEfwghA4IsDuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IiKDEkSV26Dnc7Fg4xPeYqOgW4EjAb2lsUDFOcT6CKk=; b=S7c8uFpBTC3sC9IQZJcPEGHl2BAz2yoqEGIls0Cp8ZCj+X2sW3Qiwt2ZkaJ9PCevGvQyFE 7vKrfOYUNi9rPZjJttePbbF5E1NvSuensDNwML+4KqF4HXR/OGsAAlnoojpa8OwV8M8DNs z31K4E7LpQ71l9hiiCAFeCkmbbnVPuKdIQ75CR1G9ovm5o9SeRGLM8cdpbIim8wFFGxMCX 8VZTUGq/rQ0avhCnpMiSuYMVeFHWxo7Ek61+pKVOMx/HVDlG1QhJcRMYLe7CRj/4hTMhLi 2x8qJiAtlYIovguP7YJrkOhA2D3AKLRXYPvz9qPaH7kh6RL26PNXhOkNr0pSmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684540464; a=rsa-sha256; cv=none; b=bkuCgnznduqvUKAbfUF6JjXcB7v0Pr0JB50uZJZybN6ineZwVtpBUjPbfrmwKgb+/VUSPx OfcA8kyN3zFtToKy/CM/TUoJZtfAtC72mruqsnmX8O9n/g3f8/VKwZL0QmKlwcHFQ9T9fo 3PmTr/G5acpD9RKI1Th9fX88ESWTZOFB+4GlD3Z8leHqLm2ginYeMWSgjmXlU1Lxf2Ml7H 4T1XVqXt87bGeqU6ePdnmxv9S+EnyjsLoNk784dH1ajKXe5mTxDuvKskpWTrGVEqru/SCY 9cPuliQikIJy4UNNmeW9XtLhIar+aWB+epOSX3ZgETHvL14G0VsjafqFdThhGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNNww4cs0znqQ; Fri, 19 May 2023 23:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JNsOsC064789; Fri, 19 May 2023 23:54:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JNsOH6064788; Fri, 19 May 2023 23:54:24 GMT (envelope-from git) Date: Fri, 19 May 2023 23:54:24 GMT Message-Id: <202305192354.34JNsOH6064788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 5188186cd4dd - stable/13 - newfs: fix up 32-bit compile List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5188186cd4ddcdb1c15da31b12c6b26eeb683c1d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=5188186cd4ddcdb1c15da31b12c6b26eeb683c1d commit 5188186cd4ddcdb1c15da31b12c6b26eeb683c1d Author: Mateusz Guzik AuthorDate: 2023-04-30 18:00:20 +0000 Commit: Kirk McKusick CommitDate: 2023-05-19 22:44:49 +0000 newfs: fix up 32-bit compile (cherry picked from commit a50ef47c0a22ca87cdbe669acbcbf999c72b8439) --- sbin/newfs/mkfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/newfs/mkfs.c b/sbin/newfs/mkfs.c index fa00445baea8..1efada0dad17 100644 --- a/sbin/newfs/mkfs.c +++ b/sbin/newfs/mkfs.c @@ -671,7 +671,7 @@ retry: if ((int32_t)CGSIZE(&sblock) > sblock.fs_bsize) { printf("INTERNAL ERROR: ipg %d, fpg %d, contigsumsize %d, ", sblock.fs_ipg, sblock.fs_fpg, sblock.fs_contigsumsize); - printf("old_cpg %d, size_cg %jd, CGSIZE %jd\n", + printf("old_cpg %d, size_cg %zu, CGSIZE %zu\n", sblock.fs_old_cpg, sizeof(struct cg), CGSIZE(&sblock)); printf("Please file a FreeBSD bug report and include this " "output\n"); From nobody Fri May 19 23:54:25 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNNwy2sVYz4CX8v; Fri, 19 May 2023 23:54: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 4QNNwx6S6Wz3vm2; Fri, 19 May 2023 23:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9WLbC/RNSSZPfHqx2Wg1jHd2Ui8h5PeGpc2g68UCO3o=; b=DjoAy54CmcYNPmrWWtIhMwsq/HtLxyQZ9U+oIpPK6ERD9NMfGalR3XRbFKFSpSHQrbDRWz EAGq934gqiW1UMrXFeAe0wZIejn79k9pgBRBmE6yGBiS88Hem4LfrPiiYpKfiA0e9oYME7 ETO+2DfRt7mW9yk1y/QjY4H2Z892PyIa9yobN/tVfylXWoDmOfaEAoXyq44WSRg4I3VyG8 aBiY3lEuExD6l1ICdHDFsZQ9jeds8DOUeakyk8B1X41GxPQqaOH7s2qdHgJmeOdNHjdarr t2D4DKC9H+cWTug3RREOEx3fMV/nt62V4JSazWJU79SEeb1AwoWZzlKky+Oe7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9WLbC/RNSSZPfHqx2Wg1jHd2Ui8h5PeGpc2g68UCO3o=; b=Iiomk+U0StM8TV32+iJOcGXq+OFNIQUcN/+NNem2XqFRo0Td/YoSu8CxoRqqvUPOSfZYNl adh9Lc3Pqzx7fA/aNthzFUikYnmdocCMU3rj57X2k0IAjUeV1GkpXnPGsN1ccTXLcOe8pD Ddojlsd2lBgiFWkChz+JBkpw+wG5PF0SzUUvv5klYmd0AZFsTFsM/l3vjtBgLbCw96uOyD cU6XrWtQfAIJJOvqQ2nU671xeKWdOAACFdnQoknAVhK+aLeng513uKPMGmVxyLhMFIKIzk fJW7t6ycqJYF2/LnFXhWvxIpsG0LPfMzgCo3Ay6jrQS5U0IQhfxf5CtovXlE0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684540465; a=rsa-sha256; cv=none; b=joS5MyUSBvQ7wgmNhFjZFIBAU8YF3hJUKMGBxWCQIyXnm//B4C2cUUnjgPI/4IcZxLIfWU KXaJgXnD7fZJOgj2DrbDiRDEg+Z+wFHydvRDfYhlcUnJmUhLTuWe7K2lyZjgPBzf3F0/ah FDGH7z0aP/UXE2zA88+xXByQ16DydGiwkXuV6sOqb8jMj+YG+i6R6DH0FkU4hT8yd5gg3P 9PaylBgSzODGp0YwboLKCZ16LEt6Iw+F5vtOy70ecr8/qVjglNrmYPciIkWneVPp+uhxRx ApjDObzBVZ3iqeR+C2m9E9neBHGBlGdjMwM5xFG8rIxW5qCJJ2EtD6WTcr7SQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNNwx5Z9JznCh; Fri, 19 May 2023 23:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JNsPhi064808; Fri, 19 May 2023 23:54:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JNsPHd064807; Fri, 19 May 2023 23:54:25 GMT (envelope-from git) Date: Fri, 19 May 2023 23:54:25 GMT Message-Id: <202305192354.34JNsPHd064807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: eefbecaab1b1 - stable/13 - Updates to UFS/FFS superblock integrity checks when reading a superblock. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eefbecaab1b10c5a587bf1292e585ef480f81d71 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=eefbecaab1b10c5a587bf1292e585ef480f81d71 commit eefbecaab1b10c5a587bf1292e585ef480f81d71 Author: Kirk McKusick AuthorDate: 2023-04-29 18:52:27 +0000 Commit: Kirk McKusick CommitDate: 2023-05-19 22:51:27 +0000 Updates to UFS/FFS superblock integrity checks when reading a superblock. (cherry picked from commit a2d1957bbcc87b499526df8d99ec7e1ddd2193c0) --- sys/ufs/ffs/ffs_subr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index d847373a8cde..1bd298315dd9 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -432,6 +432,9 @@ validate_sblock(struct fs *fs, int isaltsblk) %jd); CHK(fs->fs_sbsize, >, SBLOCKSIZE, %jd); CHK(fs->fs_sbsize, <, (unsigned)sizeof(struct fs), %jd); + /* fix for misconfigured filesystems */ + if (fs->fs_maxbsize == 0) + fs->fs_maxbsize = fs->fs_bsize; CHK(fs->fs_maxbsize, <, fs->fs_bsize, %jd); CHK(powerof2(fs->fs_maxbsize), ==, 0, %jd); CHK(fs->fs_maxbsize, >, FS_MAXCONTIG * fs->fs_bsize, %jd); From nobody Fri May 19 23:54:26 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNNwz20hmz4CX0C; Fri, 19 May 2023 23:54: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 4QNNwz0Gcwz3vSZ; Fri, 19 May 2023 23:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ecJa1nLrlDj3iC9/aIDXaBVvs06LehMgQXBLme2MGt4=; b=Osbd6Eh8eJ4h7sAfCI1DRc7BSV6QTgRIgsL9NppsXaKqkVl1QgGs0YIS7QlrAEH4X3k552 rNgOh5qrS1n1NZ6ftWYUx65KkcTNGoi1UMPvQGNK++3XrZbxpw9T8jf1TdbmC3duoyQnvw aUgXSJjPW1F1jfznt6LzoJsC7VnLG7sx0aPDYfXxrXAK9Qbz2beWjcnSM+oEgqvbOT3MCX Imd/6DwYDOYhQ1WVf9cjL2Tcp9hnS7r93yoL2MC2gKMBMEWq5QvJtJBuq0rnrUdoMYth/p wzVpewUuR2/UtoSZMxpdK7LVSBAoa6Ywfuj29EJjBjCBpF2rK3YwJG7+ATdEzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684540467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ecJa1nLrlDj3iC9/aIDXaBVvs06LehMgQXBLme2MGt4=; b=PiU2veapcN3nO3ZfPYkgJCA9dePMfRAZKjoIQ2o+5Dq7Vh2L4YY914uVAg26gBK4/aWCdE EbJVyL0rM2xKu6FDopEG5Cal8NGSddAsWM7Lzzwr3Py6uCCH0lkD4Nsnb0MZ8RsgGR8u4f G6AuFuMUdTSxok4GkyV8J2F3QlSdNTNH2hQ3q2CIw/OerbSEiJZNLrpjuUfC05sNE15lfW ywDoyyU/1yo+8Aa88LuV9ksuFz8+GHpekAXPWjEdyL+0IjM5eDDojUbZE6azJ/h31yZo0q kMCiTNEsZTlV5c4pm79GBmFS2pya66ZV6OMX0gM5Fp6cFi9QTJuxv7f9NYgD0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684540467; a=rsa-sha256; cv=none; b=EjBpyuhvTHzVhQsjUUrhT/bcSsLFvk4NUNXWbPurDtlwbGfiynYWCMKF3iEba7qhooQrVj uGB0vM3Of0BDiiBxTQIMpaeO7pLJyNpjyIfHyFDqgn22Lda85rCdWUQo9/kDfi2WtowHKG SDe5XPiN8IPiFcnEVFVQA5qPYq9AE1fwACASR8PWlxO9Lw5yPgOOClHSMgvc3L1vLqwUlB +3EYZyE2ipWNyiBk5+ueCZAxQlGhqmdMu1LIIZ1KuWeFb/RcttVpMczN3FQFGzA2xnYSDm +ds7UQ4TGPiQrepQye2iDCBu+LYzCwsH38374TOC4oz0OgKX8NCmZOR7IHe1Ag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNNwy6V9CznPm; Fri, 19 May 2023 23:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34JNsQ01064830; Fri, 19 May 2023 23:54:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34JNsQb3064829; Fri, 19 May 2023 23:54:26 GMT (envelope-from git) Date: Fri, 19 May 2023 23:54:26 GMT Message-Id: <202305192354.34JNsQb3064829@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: 8e0b31c791cf - stable/13 - Fix off-by-one error in fsck_ffs(8) chkrange() block-number check. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8e0b31c791cf1da6d9fda3da9999e66a5e162230 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=8e0b31c791cf1da6d9fda3da9999e66a5e162230 commit 8e0b31c791cf1da6d9fda3da9999e66a5e162230 Author: Kirk McKusick AuthorDate: 2023-05-09 20:08:10 +0000 Commit: Kirk McKusick CommitDate: 2023-05-19 23:02:21 +0000 Fix off-by-one error in fsck_ffs(8) chkrange() block-number check. PR: 271289 (cherry picked from commit b3fe5d932264445cbf9a1c4eab01afb6179b499b) --- sbin/fsck_ffs/inode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index 04891447254e..00a60157138c 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -381,8 +381,8 @@ chkrange(ufs2_daddr_t blk, int cnt) { int c; - if (cnt <= 0 || blk <= 0 || blk > maxfsblock || - cnt - 1 > maxfsblock - blk) { + if (cnt <= 0 || blk <= 0 || blk >= maxfsblock || + cnt > maxfsblock - blk) { if (debug) printf("out of range: blk %ld, offset %i, size %d\n", (long)blk, (int)fragnum(&sblock, blk), cnt); From nobody Sat May 20 01:01:01 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNQPn3nbYz4CZxS; Sat, 20 May 2023 01:01: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 4QNQPn3Ld8z43mf; Sat, 20 May 2023 01:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=20RDR9nMk0rIlaoKLhahgdwPBd/4YYZKAiirWVDW9vY=; b=GqM8LxBWy0i/mnaWCi4MdGovPxKUpzuMi8uVmptshDgKNa9N0EhDXW/RERCu5UgKGMXy8m sCdgTeGkKfDU6wOjoXY0WN9c1jeuJh5manGgqx5UEDL1285QiklRc6fHFl3pv38M9dbjBa NCVQwioIiH7aVyJmoFe64pWMGTAde8kwWck1a8FsUziUq9vgqmbJaspGIn4yLEkNXeNxuh +fbfGovnW+nN+t4cyAAG4Ix/PItbod5wUGhSZJ7vCLjaMXk1W3ft4ZNAwfkproKkCPUA9l BFXY3w8aQcLxa7zcxss/0bXyySHG6jnwmyM5i4QF92E+ilLIAwEHK98w0AL+GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=20RDR9nMk0rIlaoKLhahgdwPBd/4YYZKAiirWVDW9vY=; b=eRmATPX5PGMdicX4EiZognCbFcAYY6u9hdf22GUM1g8Fox+Nr1gmrc/UOFkOCVf9nNuaPv +a3eipqg1HO3LNlUqDq8haIe90NCaXhqxBxSI/uUDgFGGaKB2/m0Lmx9SaKQIyreJK7Pw9 dGVcYWEm7MtTjWimvquPVktw6MXS5RsilyhgZDnHZxUxF4ODDgo2SX0fpeTCP2S41YmbYv 0MP9hBTYlCu68IyW0uuibgJCCdSgqyIgLlicCLxdh/BeYS2BsNm/GoNp05G61LyFWFgFlq TOfHzDV8oos5ChvigkxVoh5oqmH97fooDZtoiCuRv4P7hF06Mag+3v5BRaOtxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684544461; a=rsa-sha256; cv=none; b=aGhA/M77ZU4O6ei1N2PurXNmlkGn9PftQYsse5oxSxpxHB35FXaBp9DwfEHUr+QKmEDwdD IAL8/Bzu+CGPCR2G3qgeKa5zk9Wtv0fRILUDiMqFEmnZUzQXtTHEQJnyl2jOet98NbZgFS Zd5LuXkzsBc5UBZZgysZJd1rhKUPXTW5/dJCeCLwc6H/hQKXAIUQaf1FmrXmRX294WRSAe pGUAm2tp1FdMRLRzGmIpMUi/7vB0dTFbOlZLwX2gKtjXRaPYaSxM1LSRfqmzNE2HVY9MtV g2l+FRHmQcDsoBPj826cu3nlP051e0amkfrPnOoaeA/NHQN1i+rZWNG6PpYUSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNQPn2QjkzqJ8; Sat, 20 May 2023 01:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34K111tJ077073; Sat, 20 May 2023 01:01:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34K111tl077067; Sat, 20 May 2023 01:01:01 GMT (envelope-from git) Date: Sat, 20 May 2023 01:01:01 GMT Message-Id: <202305200101.34K111tl077067@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 63231f4d5bae - main - net80211: Radiotap: update for defines List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 63231f4d5bae5fbdb2ebbca4860416557c397059 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=63231f4d5bae5fbdb2ebbca4860416557c397059 commit 63231f4d5bae5fbdb2ebbca4860416557c397059 Author: Bjoern A. Zeeb AuthorDate: 2023-05-20 00:39:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 00:56:21 +0000 net80211: Radiotap: update for defines ath1xk drivers require further HE defines. Some of those we had already predicted as comments in the past. Sponsored by: The FreeBSD Foundation MFC after: 10 days --- sys/net80211/ieee80211_radiotap.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/net80211/ieee80211_radiotap.h b/sys/net80211/ieee80211_radiotap.h index bd54690ee2ec..1515ce7afd34 100644 --- a/sys/net80211/ieee80211_radiotap.h +++ b/sys/net80211/ieee80211_radiotap.h @@ -431,7 +431,7 @@ struct ieee80211_radiotap_he { #define IEEE80211_RADIOTAP_HE_DATA2_TXBF_KNOWN 0x0010 #define IEEE80211_RADIOTAP_HE_DATA2_PE_DISAMBIG_KNOWN 0x0020 #define IEEE80211_RADIOTAP_HE_DATA2_TXOP_KNOWN 0x0040 -/* #define IEEE80211_RADIOTAP_HE_DATA2_ midamble periodicity _KNOWN 0x0080 */ +#define IEEE80211_RADIOTAP_HE_DATA2_MIDAMBLE_KNOWN 0x0080 #define IEEE80211_RADIOTAP_HE_DATA2_RU_OFFSET 0x3F00 #define IEEE80211_RADIOTAP_HE_DATA2_RU_OFFSET_KNOWN 0x4000 #define IEEE80211_RADIOTAP_HE_DATA2_PRISEC_80_SEC 0x8000 @@ -439,11 +439,11 @@ struct ieee80211_radiotap_he { #define IEEE80211_RADIOTAP_HE_DATA3_BSS_COLOR 0x003F #define IEEE80211_RADIOTAP_HE_DATA3_BEAM_CHANGE 0x0040 #define IEEE80211_RADIOTAP_HE_DATA3_UL_DL 0x0080 -/* #deifne IEEE80211_RADIOTAP_HE_DATA3_data_MCS 0x0F00 */ -/* #define IEEE80211_RADIOTAP_HE_DATA3_data_DCM 0x1000 */ -/* #define IEEE80211_RADIOTAP_HE_DATA3_Coding 0x2000 */ +#define IEEE80211_RADIOTAP_HE_DATA3_DATA_MCS 0x0F00 +#define IEEE80211_RADIOTAP_HE_DATA3_DATA_DCM 0x1000 +#define IEEE80211_RADIOTAP_HE_DATA3_CODING 0x2000 #define IEEE80211_RADIOTAP_HE_DATA3_LDPC_XSYMSEG 0x4000 -/* #define IEEE80211_RADIOTAP_HE_DATA3_STBC 0x8000 */ +#define IEEE80211_RADIOTAP_HE_DATA3_STBC 0x8000 #define IEEE80211_RADIOTAP_HE_DATA4_SU_MU_SPTL_REUSE 0x000F #define IEEE80211_RADIOTAP_HE_DATA4_MU_STA_ID 0x7FF0 @@ -452,6 +452,8 @@ struct ieee80211_radiotap_he { #define IEEE80211_RADIOTAP_HE_DATA4_TB_SPTL_REUSE3 0x0F00 #define IEEE80211_RADIOTAP_HE_DATA4_TB_SPTL_REUSE4 0xF000 +#define IEEE80211_RADIOTAP_HE_DATA5_DATA_BW_RU_ALLOC 0x000F +#define IEEE80211_RADIOTAP_HE_DATA5_GI 0x0030 #define IEEE80211_RADIOTAP_HE_DATA5_LTF_SIZE 0x00C0 #define IEEE80211_RADIOTAP_HE_DATA5_LTF_SIZE_UNKNOWN 0x0 #define IEEE80211_RADIOTAP_HE_DATA5_LTF_SIZE_1X 0x1 @@ -462,6 +464,7 @@ struct ieee80211_radiotap_he { #define IEEE80211_RADIOTAP_HE_DATA5_TXBF 0x4000 #define IEEE80211_RADIOTAP_HE_DATA5_PE_DISAMBIG 0x8000 +#define IEEE80211_RADIOTAP_HE_DATA6_NSTS 0x000F #define IEEE80211_RADIOTAP_HE_DATA6_DOPPLER 0x0010 /* 0x00e0 (reserved) ; use these for the following undocumented. */ #define IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_KNOWN 0x0020 From nobody Sat May 20 01:01:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNQPp5PRbz4CZw2; Sat, 20 May 2023 01:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QNQPp4kSwz43vL; Sat, 20 May 2023 01:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6lH7+da0r0sD6rTEL/4OJFYxWMhW1fic7TQ9U5SGIYc=; b=nAHGU1vkSiN8sEgjf0RE9iN8SeK4VBUr29Cay8n2EpXlyDlvXi0hRyrFsyi+jttPapt/pC 0h4DJ57xfk6Yk57aPYYNH9bPMCkHWrC+EspWDNHqjE+cyZpetfAmoAuZdZZzyKgveDGtNc VEQNR6+ekmYPvdE/TLDUsF3DXxvrZZxajM/jdQF2FuMJ5WWwyx24lKObSMqv3vIwlCyADF dZfVKlENF1jEDru7roTIhzm6s4Bqw5+lK0fpo66JX2KVk1HnqbeOY75wdmujOuGX17H/oA gRt6/QuTorOjQqux3B/GgQnyLz5k7H2eZ0nLuwQb1WjSZBymbyJONRHl/0q19g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6lH7+da0r0sD6rTEL/4OJFYxWMhW1fic7TQ9U5SGIYc=; b=cUIOyWBR1zf/T76EXH/fPu2ILp4PoUmgJ8TPUhJM/TSta7v1zuq79oUMp7QWLQuz1s60TF 0h8tg4DeYZnqKw3phYdaBbVVOWNG6hs0gdCrIJz/li4H1aVwRerVpH+z8PvlUti/1NP5Yg 5808KqKb/ysmODZkMYbVPc2eOBFdDDO8PYN2V+jmacEjLTuU6AKC76w9eVsA9n4K3jOJQW a40WdF7Lt7yyJijbRyj0EtibH3pKG943tdzDaKMHSOX4zxrCm2cVgC8pb0RYCT5/+KeyZa 9DCeZeGbjjWilt+jnYNUwLT1+nWto1RGcJhp15ZhQFzT7XrtznqodOY7G3gZUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684544462; a=rsa-sha256; cv=none; b=mpZMEU9VPDbPbQBsWeepC+PREmxLwaptE2quMaeefDIq7KORic6oeJYf7aMkSiDryPap96 tSLoWuBgZwvo/KETyj4Yhyi8j3MGaKH6CTJ+FBEFHWPyDXCInb5rDHFBhyfwk2Uc8VgKEJ YEOD+UtEIknBDSFtZqg9cHlKv+4hfiAg1KtMb2kAyt/HjVQd4uF5djsQvmA/wxkBT6fFoC OcRELNhHkimyT+0hk+1YYT8c41Ud6V/eJzgf+ZIThJ4T5LGVd1j0yl4cYVikJ1otA1/eUl Yi26vvXxXlrySbp4gHTFh1OAFaDB8oJMncpOgMCtKfy65ah7Ooa3ZJxPbRwxDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNQPp3WDZzq6l; Sat, 20 May 2023 01:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34K112Ql077327; Sat, 20 May 2023 01:01:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34K1126Y077326; Sat, 20 May 2023 01:01:02 GMT (envelope-from git) Date: Sat, 20 May 2023 01:01:02 GMT Message-Id: <202305200101.34K1126Y077326@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 6153bef9ec96 - main - LinuxKPI: netdevice: add dev_set_threaded() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6153bef9ec961786d79c52e51c6908324661e26e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6153bef9ec961786d79c52e51c6908324661e26e commit 6153bef9ec961786d79c52e51c6908324661e26e Author: Bjoern A. Zeeb AuthorDate: 2023-05-20 00:51:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 00:56:41 +0000 LinuxKPI: netdevice: add dev_set_threaded() Add dev_set_threaded() to the dummy functions of netdevice.h in order to keep an upcoming wireless driver compiling. While here also update the name of a function argument for consistency. MFC after: 10 days --- sys/compat/linuxkpi/common/include/linux/netdevice.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/netdevice.h b/sys/compat/linuxkpi/common/include/linux/netdevice.h index 1093f3cff080..f4575db9b83f 100644 --- a/sys/compat/linuxkpi/common/include/linux/netdevice.h +++ b/sys/compat/linuxkpi/common/include/linux/netdevice.h @@ -339,12 +339,20 @@ ether_setup(struct net_device *ndev) } static __inline void -dev_net_set(struct net_device *dev, void *p) +dev_net_set(struct net_device *ndev, void *p) { pr_debug("%s: TODO\n", __func__); } +static __inline int +dev_set_threaded(struct net_device *ndev, bool threaded) +{ + + pr_debug("%s: TODO\n", __func__); + return (-ENODEV); +} + /* -------------------------------------------------------------------------- */ static __inline bool From nobody Sat May 20 01:01:03 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNQPq63kQz4CZk1; Sat, 20 May 2023 01:01: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 4QNQPq5XKJz43sk; Sat, 20 May 2023 01:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=laA6n9cc/Q/MwmrggcTzXLe0HcthTi7t5XLUsvWsGVo=; b=yDoTHQmYGJCNtQsoCNoim+cw3cUSoPaMJgQC32iZkIAJuXnY0xC/hmBFLOWks40VAa3Jcx vOD8xpMG1xUSxGLxFMHbMSbE/KFicL83eNXyF07t1lxb6zd/fKJZr4IU14dXqSucTKFFMp 7bPFvtFLfIIRcIbSBDYvAE1+uhAVNnZw9xIPNWTrLyIz1bcAjq5MRuKzy0Khp6u3FPvPQ5 +pci/i2pCJXP5ar4N66hgGushqgIK2/kwkutT2jNbqxxv+diOowbc6Cdr7V7X+s3bwmBo5 iSKvxer4Nig7mls0ncESUl1AJJJgF8fz279ShQMLG8wyG3fO87x97JpNYuZenQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=laA6n9cc/Q/MwmrggcTzXLe0HcthTi7t5XLUsvWsGVo=; b=V+l+87jzn3MJD6YrYdtN6mt+w8pR5NI6U5oD2q0whE6Kvya1fInfeu5BHFD9sk3l++JX26 YrccmLY+WaJHaUvAznELLK2ptsOFeZdxKLjiLt7KkQxqmrgcR04X2CWbzekPa0ANRxzg8f n3gQpDogBbi+kY8abxwv97F+fCItcKZv2PGxfb15AdTKkU7AzCmky0qPTBgz6viXPVStBl fo2bGLnKeGL/S2Wf9fSh3LYUAs/3/0spGq7Tf7tpsE2s7yz7IFjFObvIn1wOMjIM9jGp4H WCvP7ApKIYcdJC+wkF/sM7DDJGey55KNsZiCKCUfq1Ru487QYi6auFXf81g/cQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684544463; a=rsa-sha256; cv=none; b=oxgORNjsPtoxV2Up/RhVqfZ2xTbOO4gEWTOOOdlcLXtQkQORlYEtCSOoEkujTUrrnOaQBL aEICQGub+HjS57wFEaBw2QEZA0NcN5YXhvEzwxBcUU2vZ1iCiTB8DCp+q6NrzWt0C16sME dROXRPKBJ6q8+pqLPprPQVl+SoRcPRCIQSoKmgN7pCC/Go9VTNkFnJZUy/FWJdVphRWJRf /zPOGkMMZhyf3hexPMXgOt2/1nrTSQWrgZKROrOAz7o81lEkPiZ6v8uZRwG3LvTnrIHtmy 7LQf17Ps5O5im+0cTeHByJC+9iZZRaezxy+u/PN9sXeP1l5gmsG7shOqkle1Og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNQPq4Rm9zq8V; Sat, 20 May 2023 01:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34K113Z2077348; Sat, 20 May 2023 01:01:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34K1136b077347; Sat, 20 May 2023 01:01:03 GMT (envelope-from git) Date: Sat, 20 May 2023 01:01:03 GMT Message-Id: <202305200101.34K1136b077347@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 047298203fc3 - main - LinuxKPI: qcom: update qmi and mhi List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 047298203fc3bc2b290f44b9531a7b7d553fe9b7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=047298203fc3bc2b290f44b9531a7b7d553fe9b7 commit 047298203fc3bc2b290f44b9531a7b7d553fe9b7 Author: Bjoern A. Zeeb AuthorDate: 2023-05-20 00:50:10 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 00:57:10 +0000 LinuxKPI: qcom: update qmi and mhi Update qcom QMI and MHI bits in order to keep an upcoming driver compiling. MFC after: 10 days --- sys/compat/linuxkpi/common/include/linux/mhi.h | 21 +++++++++++++++++++-- .../linuxkpi/common/include/linux/soc/qcom/qmi.h | 16 ++++++++-------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/mhi.h b/sys/compat/linuxkpi/common/include/linux/mhi.h index 3d3965d3f42a..427ac626f494 100644 --- a/sys/compat/linuxkpi/common/include/linux/mhi.h +++ b/sys/compat/linuxkpi/common/include/linux/mhi.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2022 Bjoern A. Zeeb + * Copyright (c) 2022-2023 Bjoern A. Zeeb * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -40,6 +40,14 @@ enum mhi_callback { MHI_CB_SYS_ERROR, + MHI_CB_BW_REQ, + MHI_CB_EE_MISSION_MODE, + MHI_CB_EE_RDDM, + MHI_CB_FATAL_ERROR, + MHI_CB_IDLE, + MHI_CB_LPM_ENTER, + MHI_CB_LPM_EXIT, + MHI_CB_PENDING_DATA, }; struct mhi_channel_config { @@ -71,6 +79,7 @@ struct mhi_controller { const char *fw_image; bool fbc_download; + size_t rddm_size; size_t sbl_size; size_t seg_len; size_t reg_len; @@ -130,10 +139,11 @@ mhi_unregister_controller(struct mhi_controller *mhi_ctrl) /* -------------------------------------------------------------------------- */ -static __inline void +static __inline int mhi_device_get_sync(struct mhi_device *mhi_dev) { /* XXX TODO */ + return (-1); } static __inline void @@ -151,6 +161,13 @@ mhi_prepare_for_power_up(struct mhi_controller *mhi_ctrl) return (0); } +static __inline int +mhi_sync_power_up(struct mhi_controller *mhi_ctrl) +{ + /* XXX TODO */ + return (0); +} + static __inline int mhi_async_power_up(struct mhi_controller *mhi_ctrl) { diff --git a/sys/compat/linuxkpi/common/include/linux/soc/qcom/qmi.h b/sys/compat/linuxkpi/common/include/linux/soc/qcom/qmi.h index fc7cfc0480a9..765398557ed5 100644 --- a/sys/compat/linuxkpi/common/include/linux/soc/qcom/qmi.h +++ b/sys/compat/linuxkpi/common/include/linux/soc/qcom/qmi.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2022 Bjoern A. Zeeb + * Copyright (c) 2022-2023 Bjoern A. Zeeb * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -67,7 +67,7 @@ struct qmi_elem_info { enum soc_qcom_qmi_array_type array_type; uint8_t tlv_type; uint32_t offset; - struct qmi_elem_info *ei_array; + const struct qmi_elem_info *ei_array; }; struct qmi_response_type_v01 { @@ -84,10 +84,10 @@ struct qmi_service { }; struct qmi_msg_handler { - uint32_t type; - uint32_t msg_id; - struct qmi_elem_info *ei; - size_t decoded_size; + uint32_t type; + uint32_t msg_id; + const struct qmi_elem_info *ei; + size_t decoded_size; void (*fn)(struct qmi_handle *, struct sockaddr_qrtr *, struct qmi_txn *, const void *); }; @@ -140,7 +140,7 @@ qmi_handle_release(struct qmi_handle *handle) static __inline int qmi_send_request(struct qmi_handle *handle, void *x, struct qmi_txn *txn, - uint32_t msd_id, size_t len, struct qmi_elem_info *ei, void *req) + uint32_t msd_id, size_t len, const struct qmi_elem_info *ei, void *req) { /* XXX TODO */ @@ -156,7 +156,7 @@ qmi_txn_cancel(struct qmi_txn *txn) static __inline int qmi_txn_init(struct qmi_handle *handle, struct qmi_txn *txn, - struct qmi_elem_info *ei, void *resp) + const struct qmi_elem_info *ei, void *resp) { /* XXX TODO */ From nobody Sat May 20 01:01:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNQPs5Klgz4Cb8C; Sat, 20 May 2023 01:01: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 4QNQPr6SFdz444K; Sat, 20 May 2023 01:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QHcYQMJddCjjchEksIAHPryHcjQmU5I9jDHv0ZPnRF8=; b=Zdj9ZrQGv0ru/fAEWTlrg7oFCrAiWlPh0bmqR7jhUj0A04pgIkD0FBD70VO/qCz65/W4Zw otXapLfCmOP/ygVZqlW7mEFbogg2vqxNUFnM7iFgHONHDaDmr3d6aoiBHt1Nju7P/E3lMB Px8OzScPunRL2Qf3nhmONTDsqFQ8Q0qxE0SIvYnwxffowIgv1lCcRTgmnm+/A4NqqlCXTO gvVXnOcPtpLDsMfSDxl7fMmhiZTtyLmpuAwxnzUZ3wae0EGoK8ShDWFgCYmpm4oTEv4XCt N8rAe7wNbRYhpBtP+g6bqmyB5dAhYsOZdU+GYzR13X+rNzLjJiwgQY4c8KFyGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QHcYQMJddCjjchEksIAHPryHcjQmU5I9jDHv0ZPnRF8=; b=FvV/ZFQXXoQU/FDdtR3vCgRZJQqslnH8wS5ri58/8qgUQRN7mgggY3Os+BWRpyDIKVfIzY aTvTmHwNifpQLHNQRiOWwwoySulAkB9BhiR0XN8ISeFliZ2B9PBidQ6k2X6DH+4+IWsBz2 HLdgXEEPJA5Bv2sSIYDvtL8bzqMROQFtqeJEULuu6heuDsqDG2UvJeI9ntvLErlR1jlz6x hDv+1NBTJMcF5NX9BTbKwKNTVGDF631i/qtpTdLSKvI7jXleph3tzmHpTiZ/A5lUf5hAA6 HRBVyOiAYwHbRhl3JEKphpA4RCB6RMgX74TVhEI/2Z3bQZQqdC1bsM9gM6Mngw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684544464; a=rsa-sha256; cv=none; b=KEB8SQ1C8RR+I509i2SwTyLJq818Kwu9/A6kLe1k683P4lBPBs9mpgog8FkWkwJwyY946n dHJcl7my+Fk78G/ndcb9amquQScb/ZorkdsUrqiqbu1yw6hXTIX57KLVhPkkNY5zQ+4//M e59wlpYNS0vUxohQq5MEvz2oZUPVWmix7hSLLrB6HuTQ2vWO9ahVkpXCThA27E3rjjUWZr rRzdmHLa5InhBDzlOFyheKgWhAkvvSikG7/buhFA5CbSj3pT3AjO7FRVXjvEWYSlWz+0Br 3TKBD4Bgr4IiNlOSfkgTUoaDyGGPxUoeGO/yhtNtvtLgdjVeomifazB71TBt2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNQPr5N2QzpdP; Sat, 20 May 2023 01:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34K114Zm077372; Sat, 20 May 2023 01:01:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34K114oe077371; Sat, 20 May 2023 01:01:04 GMT (envelope-from git) Date: Sat, 20 May 2023 01:01:04 GMT Message-Id: <202305200101.34K114oe077371@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 369264acf7d2 - main - LinuxKPI: skbuff: add skb_get_hash() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 369264acf7d2a317383599141ab2f36ee3d2130c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=369264acf7d2a317383599141ab2f36ee3d2130c commit 369264acf7d2a317383599141ab2f36ee3d2130c Author: Bjoern A. Zeeb AuthorDate: 2023-05-20 00:47:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 00:57:24 +0000 LinuxKPI: skbuff: add skb_get_hash() Add a dummy implementation of skb_get_hash() until we'll hit and implement it. It'll help to keep an upcoming wireless driver to compile. MFC after: 10 days --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index cb1e7cef98e0..81b594895dbf 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -1046,6 +1046,14 @@ napi_consume_skb(struct sk_buff *skb, int budget) SKB_TODO(); } +static inline uint32_t +skb_get_hash(struct sk_buff *skb) +{ + SKB_TRACE(skb); + SKB_TODO(); + return (0); +} + #define SKB_WITH_OVERHEAD(_s) \ (_s) - ALIGN(sizeof(struct skb_shared_info), CACHE_LINE_SIZE) From nobody Sat May 20 01:01:05 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNQPt2GqFz4CbJy; Sat, 20 May 2023 01:01: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 4QNQPt06K3z43qQ; Sat, 20 May 2023 01:01:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yfxm4tp+NjLV+mH1vtY8CBvG/0uQuih1Ejn6T/2rfBc=; b=PXHisIwAKBu8zqheHUrEyNX0JrIYGtcVJ0VtBCXK6wF4w2Er/hvkoQeJ6g55OflB2pYaWW cyEaBlsxDnyQm05JRdp9CrCAIvSgwYAutbLt+XSGkCaC1U2bvJtpFOrxfevIIRQM8H7Auu +sTUHdPDjj59FK9AQpSifiTrc645Eexia1iUoOd4tYuDBS5RpF5mOSqHYO/BfZ/sp/NN7d fcSPcRp2KNs21DvMBSXIpbb3hs+GVDOv0HaSwpR03CxwjxNgPe+MOBcwTe40LQKhGi5xso JH/qi9xob88uzQesPCE0ZLjUBklV0XpTGkqKUaTNY1W4yaCS+2aeM6jxC9oo8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684544466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yfxm4tp+NjLV+mH1vtY8CBvG/0uQuih1Ejn6T/2rfBc=; b=iknfM90omQMmO7JBeAeAxdA4eHaCz49xBkBmZ5evyVUFutqaEThxwvni9rPYKbIFxwobos Ngh+qJXLHfViI5ii+V2yXFUoD1aaE20fAMfT3ZKw3sttTH4MiPQhSpRz8JRNYzraZPu/D5 Q04lqwwmM9/fJA7CqVqWhZwTw56rVSx1o3Pvf+gIwFW8RK/s4yxpSxYL4R2AHfy3oYxzx+ 9kxa2XfZ58cVhrJtMJBxhM5x1paUkJrx7rxdmlOyOyCC5VSayhd+1G+JK/Biue+M3kra/0 crtb1oDnPUMEvF3IY/RFHbG6T+x42QEdT8Pb7oVdVVJRvw+YmelQv7oLIMjyiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684544466; a=rsa-sha256; cv=none; b=q3RcHQLV9TjtBiDTiLcnNr2IUdKkeSsB0VrsRahIw5Y/kBA9M7jzAGuB56dAxFmRvd4qBP MRKwE9dcKWHEayY0NKMrFktp61qOJmH5RsxKetq81V8RN5GjmWCZDhwCTkIZHNBGKPaMpK bwAVsj28kycdwceiFlNXUWz6SPLMPEyVWm100C33FiRmMBe1WQjwDslN0VmBa0Tbz1Z4P+ gFXt5kddDBr7Br3Vj10B+89bQmlMOQ1LuxDqfjxLt58pbDG15QcAyNYzG0WA6R3XztwC0X 2ztUFiwGfU9XjgaIvPZdbbjTYdt3KqWgTv+KpxLKdbLl90mnHOe/MHAmxrPenA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNQPs6Jk7zqLC; Sat, 20 May 2023 01:01:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34K11501077393; Sat, 20 May 2023 01:01:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34K115DZ077392; Sat, 20 May 2023 01:01:05 GMT (envelope-from git) Date: Sat, 20 May 2023 01:01:05 GMT Message-Id: <202305200101.34K115DZ077392@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b7afaf8a411a - main - LinuxKPI: add further dummy header files List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7afaf8a411a0536691feabb024ffd5afb579eb5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b7afaf8a411a0536691feabb024ffd5afb579eb5 commit b7afaf8a411a0536691feabb024ffd5afb579eb5 Author: Bjoern A. Zeeb AuthorDate: 2023-05-20 00:41:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 00:57:38 +0000 LinuxKPI: add further dummy header files Wireless drivers try to include these files. Add them empty for no better reason yet. Sponsored by: The FreeBSD Foundation MFC after: 10 days --- sys/compat/linuxkpi/dummy/include/linux/kstrtox.h | 0 sys/compat/linuxkpi/dummy/include/linux/of_irq.h | 0 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sys/compat/linuxkpi/dummy/include/linux/kstrtox.h b/sys/compat/linuxkpi/dummy/include/linux/kstrtox.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/of_irq.h b/sys/compat/linuxkpi/dummy/include/linux/of_irq.h new file mode 100644 index 000000000000..e69de29bb2d1 From nobody Sat May 20 09:49:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNf7n0QVLz4Bs2H; Sat, 20 May 2023 09:49:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QNf7m5b2nz3rm6; Sat, 20 May 2023 09:49:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684576180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENNXphpGIHd+axb8wKaFyDfowUSuMVO1PUbGZIcHOQ0=; b=nZuPFh/X39Gmjwu3RlTFc4mxOH0TxRPe/yOAwLrNWXyI/Plm+UuBUqRl8ND9rflqkEcfTY jH2r/pKWs0tvC2Z1LePM37kmtB7iY+bWg74VS4ING3vrfSPQXrk2PLFxLWTQtSMBOQr044 kh2Nc79b8GsrYd2rinuN2GfmJkIdpLVuJW9Fwx+dGpmJOlfK4++CePUQ2SS3Bw6vboMEeF qEjMH6sNp5ywMlpqqTDOuJWrsE/LxbNv1GclA+TZO09WZtAZfTKYGVZteVL5caLRVPw6jC 5ERJCqLqwndnfDsvI064lEKPWIYqXIgvBSqPx7TiIjAtlHmClXMVM+G5GL1hAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684576180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENNXphpGIHd+axb8wKaFyDfowUSuMVO1PUbGZIcHOQ0=; b=Dhkw5s6/riycOX9kqX/Q067ftVMRMNy9G55K7O2M6dHtLZVsFnbCyr1teD96o4wXfnBaTq W1IQHuyf1n1qkvXdRlh7M1fOQl9izxgdH4jq9QCe780lVvzr0dy6EHww0+0y1ECPpSq0zw Cs3TfRdlDcV4l3jUFZlApzIOyeFqdh5gyilKYft+Qqvo32Cjk3+IzGi0O3QXSiao9nRBWJ YR1oqR/nKKbnBN8gDSoBrlAdTvMIiblQZm5q0E+ka8lmD4wTUvBvd+wFRqyOntYsNDgZZW +IAPqdXZmq7NRnIAqByQmcFdC124A/535RDQyqLPGZVKFJGAUcaAEHXMcIYBgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684576180; a=rsa-sha256; cv=none; b=Eip3fEnEIZs8F/FjZ2pvQfIi1Hdnhscn46OZ8sYVzM7KcbLXSvF2ZVQHbowP+RyJxfZpup A/5FYJPrEHfSdVSqxzPwgW7qs/1wbiA+7cI1X+bTCyj5Sx5Fh/sWWPiiJwYEbKrOPVkZWN occQZmpm99ueBOG1Kwhi9Y8FWBkHifJ+0Bxd2xVDFpj/HaadkR6njang38scV7AhApPxJb ygetPqbaAHONSupwWAq+tXZ2v2A0tk2xRE/5VoknmVPjC2CKq6AIAcS+29N9gjmrEIy4B7 NXeziiMhSfYt43FwTEHITWb9NoZ4PK+C3X5zNL0eJlwaX0zttpaLUFUlgzl2qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNf7m4f7Fz14SX; Sat, 20 May 2023 09:49:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34K9neS2035668; Sat, 20 May 2023 09:49:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34K9necm035667; Sat, 20 May 2023 09:49:40 GMT (envelope-from git) Date: Sat, 20 May 2023 09:49:40 GMT Message-Id: <202305200949.34K9necm035667@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: a72b78905a3d - main - ifconfig: simplify carp vhid setup. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a72b78905a3df924875a2b18e4199f64f1ab432f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=a72b78905a3df924875a2b18e4199f64f1ab432f commit a72b78905a3df924875a2b18e4199f64f1ab432f Author: Alexander V. Chernikov AuthorDate: 2023-05-19 10:18:43 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-20 09:49:15 +0000 ifconfig: simplify carp vhid setup. Currently carp implementation peeks into the opaque 'afp->af_addreq' buffer, assumes it knows the af-specific layout and assigns vhid directly. Simplify the code and remove abstraction leak by introducing per-afp callback for setting vhid. This change is a pre-requisite to set addresses via Netlink, as Netlink implementiation uses different structure layout. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D40160 MFC after: 2 weeks --- sbin/ifconfig/af_inet.c | 8 ++++++++ sbin/ifconfig/af_inet6.c | 7 +++++++ sbin/ifconfig/carp.c | 26 ++------------------------ sbin/ifconfig/ifconfig.h | 2 ++ 4 files changed, 19 insertions(+), 24 deletions(-) diff --git a/sbin/ifconfig/af_inet.c b/sbin/ifconfig/af_inet.c index 4569c9c362e9..cb030dbc711b 100644 --- a/sbin/ifconfig/af_inet.c +++ b/sbin/ifconfig/af_inet.c @@ -285,6 +285,13 @@ in_set_tunnel(int s, struct addrinfo *srcres, struct addrinfo *dstres) warn("SIOCSIFPHYADDR"); } +static void +in_set_vhid(int vhid) +{ + in_addreq.ifra_vhid = vhid; +} + + static struct afswtch af_inet = { .af_name = "inet", .af_af = AF_INET, @@ -297,6 +304,7 @@ static struct afswtch af_inet = { .af_postproc = in_postproc, .af_status_tunnel = in_status_tunnel, .af_settunnel = in_set_tunnel, + .af_setvhid = in_set_vhid, .af_difaddr = SIOCDIFADDR, .af_aifaddr = SIOCAIFADDR, .af_ridreq = &in_ridreq, diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index 0f4e0e75e44a..1bb08c8a6a5a 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -555,6 +555,12 @@ in6_set_tunnel(int s, struct addrinfo *srcres, struct addrinfo *dstres) warn("SIOCSIFPHYADDR_IN6"); } +static void +in6_set_vhid(int vhid) +{ + in6_addreq.ifra_vhid = vhid; +} + static struct cmd inet6_cmds[] = { DEF_CMD_ARG("prefixlen", setifprefixlen), DEF_CMD("anycast", IN6_IFF_ANYCAST, setip6flags), @@ -605,6 +611,7 @@ static struct afswtch af_inet6 = { .af_postproc = in6_postproc, .af_status_tunnel = in6_status_tunnel, .af_settunnel = in6_set_tunnel, + .af_setvhid = in6_set_vhid, .af_difaddr = SIOCDIFADDR_IN6, .af_aifaddr = SIOCAIFADDR_IN6, .af_ridreq = &in6_addreq, diff --git a/sbin/ifconfig/carp.c b/sbin/ifconfig/carp.c index 2a2d8ce407ab..cc38eed4cb4b 100644 --- a/sbin/ifconfig/carp.c +++ b/sbin/ifconfig/carp.c @@ -111,31 +111,9 @@ setcarp_vhid(const char *val, int d, int s, const struct afswtch *afp) errx(1, "vhid must be greater than 0 and less than %u", CARP_MAXVHID); - switch (afp->af_af) { -#ifdef INET - case AF_INET: - { - struct in_aliasreq *ifra; - - ifra = (struct in_aliasreq *)afp->af_addreq; - ifra->ifra_vhid = carpr_vhid; - break; - } -#endif -#ifdef INET6 - case AF_INET6: - { - struct in6_aliasreq *ifra; - - ifra = (struct in6_aliasreq *)afp->af_addreq; - ifra->ifra_vhid = carpr_vhid; - break; - } -#endif - default: + if (afp->af_setvhid == NULL) errx(1, "%s doesn't support carp(4)", afp->af_name); - } - + afp->af_setvhid(carpr_vhid); callback_register(setcarp_callback, NULL); } diff --git a/sbin/ifconfig/ifconfig.h b/sbin/ifconfig/ifconfig.h index 70a2c92199b6..7b2b88a4dfac 100644 --- a/sbin/ifconfig/ifconfig.h +++ b/sbin/ifconfig/ifconfig.h @@ -161,6 +161,7 @@ struct io_handler { struct snl_state *ss; /* NETLINK_ROUTE snl(3) socket */ }; +typedef void af_setvhid_f(int vhid); typedef void af_status_nl_f(struct ifconfig_args *args, struct io_handler *h, if_link_t *link, if_addr_t *ifa); @@ -188,6 +189,7 @@ struct afswtch { void (*af_getprefix)(const char *, int); void (*af_postproc)(int s, const struct afswtch *, int newaddr, int ifflags); + af_setvhid_f *af_setvhid; /* Set CARP vhid for an address */ u_long af_difaddr; /* set dst if address ioctl */ u_long af_aifaddr; /* set if address ioctl */ void *af_ridreq; /* */ From nobody Sat May 20 10:43:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNgKN3D84z4BvfK; Sat, 20 May 2023 10:43: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 4QNgKN2TBvz3x46; Sat, 20 May 2023 10:43:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684579384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KFgOb4R2jo81xhlSbn2c9ArhltB2EzvTFoEdioeexS0=; b=AMOLwKxUlxBpZoru0YdGM/ItIjZ4EhEG58ymCvwoTqotlxhKtZIt8EclUe09Swe14HFCir bdRW4ezDjSWwUTCkGCkFE2Ae6OpM8mciTp09YUQmohFgTjHxCalblvTSTPX/Oj6Oq2rgD+ SpreVI14OJu8fCJAUi6pe17KAhfSJgyhYejhKMPhfkviiW0vbpUgIkioqBAHfuWYuKWkMq Fn6dfrYkUeJcy4PBhfe8oZ3RQtAMi9IIagJD5NiCkj1ks+HRPrd0niM6kogcQsr3bWl8FD X32GIQ0pO79ReVbOCr+sZNAPHhBP7IRfxznJwsJom+oz57O1uH6ssRXGet90zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684579384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KFgOb4R2jo81xhlSbn2c9ArhltB2EzvTFoEdioeexS0=; b=TDjisykE/oja9N2EUaWKt9KivvyCaQpbruMmiCImOwO8za4wPp4fLTyemAjE2dwafmPbED UNWB8h/5fKOHQupB3Z1xI74jFMb10TFW5L1QJrO8MZDhy50jzgIBdPTf9of1/tppc9JO6g /yioXWxx7eIm8BPoqDd9pTntL1b3xmxemmeZvLjZQW8nkM7OXUDWCqiFX8GHbirv1VGZ8g bVwTRP4djuexQCbvwmsamUEwyQB5OxRHtFYrdt3yZpsFfx7EPsE4/jVk9rQNSkwW1B7Zd2 ARerKVyjFr4LlxMuHpo6SjjR0lf1BGMYLECxiXJTpIJXw3nOUaae0Wya4QsMeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684579384; a=rsa-sha256; cv=none; b=IW+m4qRxvI5SU/8oD2M0BLWgL5hidtC04UdGSVYO0JBSThGgy2YZ5BZwpgVskm3vWwhuX4 uj61zo4nUa7sNADHsIKC3+EyJsSOtflHVnA6MzikT8mBmOyMlGXgEFDSi9XJ9n866E4RN8 3E5UfBt299nu/YBZyfXhDrjFwG3uCx/TMj156U5vE2UkrNYwa9GMzhJNpwystfKwWPsyYb oicK/pVnZNVo5nHmSIv/JsVmj1BRLiso86wC2Cnjk+Q9d9N5Ik8A5xNcHz98RnMMp67fh6 T2L9kSEA0I37RRv2dIoPDqNIZ4Oir+JD2rX/OGY+Y6GtDOHMRLM7OCjBjZFfDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNgKN1XPFz16MY; Sat, 20 May 2023 10:43:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KAh4gm034855; Sat, 20 May 2023 10:43:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KAh4RW034854; Sat, 20 May 2023 10:43:04 GMT (envelope-from git) Date: Sat, 20 May 2023 10:43:04 GMT Message-Id: <202305201043.34KAh4RW034854@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 7eee0eaf1602 - main - netlink: automatically generate broadcast for IPv4 ifa if not set. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7eee0eaf1602765bdf20c8e56884069085812c27 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=7eee0eaf1602765bdf20c8e56884069085812c27 commit 7eee0eaf1602765bdf20c8e56884069085812c27 Author: Alexander V. Chernikov AuthorDate: 2023-05-20 10:42:08 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-05-20 10:42:08 +0000 netlink: automatically generate broadcast for IPv4 ifa if not set. MFC after: 2 weeks --- sys/netlink/route/iface.c | 34 +++++++++++++++++++++++++++------- tests/sys/netlink/test_rtnl_ifaddr.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 976b485b3f56..33a5dbfec3a3 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -1096,13 +1096,14 @@ static int handle_newaddr_inet(struct nlmsghdr *hdr, struct nl_parsed_ifa *attrs, struct ifnet *ifp, struct nlpcb *nlp, struct nl_pstate *npt) { - if (attrs->ifa_prefixlen > 32) { + int plen = attrs->ifa_prefixlen; + int if_flags = if_getflags(ifp); + + if (plen > 32) { nlmsg_report_err_msg(npt, "invalid ifa_prefixlen"); return (EINVAL); }; - int if_flags = if_getflags(ifp); - if (if_flags & IFF_POINTOPOINT) { if (attrs->ifa_addr == NULL || attrs->ifa_dst == NULL) { nlmsg_report_err_msg(npt, "Empty IFA_LOCAL/IFA_ADDRESS"); @@ -1115,13 +1116,32 @@ handle_newaddr_inet(struct nlmsghdr *hdr, struct nl_parsed_ifa *attrs, } attrs->ifa_dst = attrs->ifa_broadcast; - if (attrs->ifa_dst == NULL && !(if_flags & IFF_LOOPBACK)) { - nlmsg_report_err_msg(npt, "empty IFA_BROADCAST for BRD interface"); - return (EINVAL); + /* Generate broadcast address if not set */ + if ((if_flags & IFF_BROADCAST) && attrs->ifa_dst == NULL) { + uint32_t s_baddr; + struct sockaddr_in *sin_brd; + + if (plen == 31) + s_baddr = INADDR_BROADCAST; /* RFC 3021 */ + else { + struct sockaddr_in *addr; + uint32_t s_mask; + + addr = (struct sockaddr_in *)attrs->ifa_addr; + s_mask = htonl(plen ? ~((1 << (32 - plen)) - 1) : 0); + s_baddr = addr->sin_addr.s_addr | ~s_mask; + } + + sin_brd = (struct sockaddr_in *)npt_alloc(npt, sizeof(*sin_brd)); + if (sin_brd == NULL) + return (ENOMEM); + sin_brd->sin_family = AF_INET; + sin_brd->sin_len = sizeof(*sin_brd); + sin_brd->sin_addr.s_addr = s_baddr; + attrs->ifa_dst = (struct sockaddr *)sin_brd; } } - int plen = attrs->ifa_prefixlen; struct sockaddr_in mask = { .sin_len = sizeof(struct sockaddr_in), .sin_family = AF_INET, diff --git a/tests/sys/netlink/test_rtnl_ifaddr.py b/tests/sys/netlink/test_rtnl_ifaddr.py index 11c08b32674a..c7d6d86e781b 100644 --- a/tests/sys/netlink/test_rtnl_ifaddr.py +++ b/tests/sys/netlink/test_rtnl_ifaddr.py @@ -254,6 +254,41 @@ class TestRtNlIfaddrOpsBroadcast(RtnlIfaOps): assert rx_msg.get_nla(IfaAttrType.IFA_LOCAL).addr == str(ifa.ip) assert rx_msg.get_nla(IfaAttrType.IFA_BROADCAST).addr == str(ifa_brd) + @pytest.mark.parametrize( + "brd", + [ + pytest.param((32, True, "192.0.2.1"), id="auto_32"), + pytest.param((31, True, "255.255.255.255"), id="auto_31"), + pytest.param((30, True, "192.0.2.3"), id="auto_30"), + pytest.param((30, False, "192.0.2.2"), id="custom_30"), + pytest.param((24, False, "192.0.2.7"), id="custom_24"), + ], + ) + def test_add_4_brd(self, brd): + """Tests proper broadcast setup when adding IPv4 ifa""" + plen, auto_brd, ifa_brd_str = brd + ifa = ipaddress.ip_interface("192.0.2.1/{}".format(plen)) + iface = self.vnet.iface_alias_map["if1"] + ifa_brd = ipaddress.ip_address(ifa_brd_str) + + msg = self.create_msg(ifa) + msg.add_nla(NlAttrIp(IfaAttrType.IFA_LOCAL, str(ifa.ip))) + if not auto_brd: + msg.add_nla(NlAttrIp(IfaAttrType.IFA_BROADCAST, str(ifa_brd))) + + self.send_check_success(msg) + + lst = self.get_ifa_list(iface.ifindex, self.get_family_from_ip(ifa.ip)) + assert len(lst) == 1 + rx_msg = lst[0] + + assert rx_msg.base_hdr.ifa_prefixlen == ifa.network.prefixlen + assert rx_msg.base_hdr.ifa_scope == RtScope.RT_SCOPE_UNIVERSE.value + + assert rx_msg.get_nla(IfaAttrType.IFA_ADDRESS).addr == str(ifa.ip) + assert rx_msg.get_nla(IfaAttrType.IFA_LOCAL).addr == str(ifa.ip) + assert rx_msg.get_nla(IfaAttrType.IFA_BROADCAST).addr == str(ifa_brd) + def test_add_6(self): ifa = ipaddress.ip_interface("2001:db8::1/64") iface = self.vnet.iface_alias_map["if1"] From nobody Sat May 20 11:11:09 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNgxp1dFkz4BxJK; Sat, 20 May 2023 11:11: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 4QNgxp195Xz40CS; Sat, 20 May 2023 11:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5iC0hu0GN0DZV4q6vOQKjrFw4PtPCBfT7I3/9TFvaOU=; b=SOUjOupO36pUYrB5Rwp/BJhQHQu3fUlk39R4mZAT+XVc/7PAvnyV/4toHCmBvsSjb93qUD KnQhJhQUVHZz9Ff8PwFcovOKWnM4wKQq1JMQoW5y0CAwBxzg6MX7qHnaCPJfmQm5M45DBy MZ8jWhHgRxyIm/aomlcGgEoLIsK/HMlwcCcSxQAO/Drt0qopYoOBvjTBAokBUhjrl+NxHM Xy7+kOBRMPLuv/E6i5DxrL9toQfjPlKdughNp0/WhbihYqAyZD0t0taQjwDqDwSUpypgCz +s16TVbVGfMHTksu0pBndqNwY+3TGLzZznmbxM7put0zK55+uKdb15C8WOq0kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5iC0hu0GN0DZV4q6vOQKjrFw4PtPCBfT7I3/9TFvaOU=; b=YlUOlrApM5N7lbIIW2WM+DBmq+qboiznd9OCHo7MC10AibqIqJlDK163OW9udN0wyQvhaj OIE07Aa7xgHj+YcBdCToHvPhSHwNHG+hGYzPxIGe1eRCrotM/V46hXrytVvjxBQxQkx5Ky exdHXEbEIFOcy2PL/qUTKmEuAoWcHqXsYThJVOdEQSMDwkdDzKoMxu5VtIfUK/+K8PUmOl n5XfNn5DzZwGOlGzHJJ/S7Q9oQomMXH5QbZ7cyMD1BCsNtX4YHU3o6OSo2lQU6UCgQhbzK qUeu1odZ10f8Eh7z579HdP+rF1uj0Nlvnp2e0/pCXDHB9bWerfIw2zho3zZbvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684581070; a=rsa-sha256; cv=none; b=Vi1WeJUgqGljIzHF85xhqNipJuSOHRY+P7saqu3bH/L1oxKjgB7U3a3AIoKg5h+ouVRYO6 MgyRBIXA7CKOLJQ3pElWrEstswgJwugrjVnL9YClFA/mWJN9VSzUhrhLmN9ZKDF7baVklx OEQ/Sn3cEseJO+ss2CPvmoDrgOTzQhBzNNPP1ZSdOyO0EWzYL5/gMGet3TCyCj+9uf1XpR D6Lxysb4f1vwXcIS2tH3DCYWKbYc4K71kXeNoQ/HR4PvJIv0R/722RE+Ee3kMYJ1cRlZtn Cg5wj+UKYfOsyOL26N8OKcRsPpXbAlbeysKq7CYYfS+0gIrMwIMSaRp9M0riRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNgxp0DlWz16mk; Sat, 20 May 2023 11:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KBB9mT079680; Sat, 20 May 2023 11:11:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KBB9co079679; Sat, 20 May 2023 11:11:09 GMT (envelope-from git) Date: Sat, 20 May 2023 11:11:09 GMT Message-Id: <202305201111.34KBB9co079679@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ae1e336e0517 - main - LinuxKPI: add put_unaligned_le16() and get_unaligned_be64() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae1e336e05171b80123bf6db7457f19c174accc4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ae1e336e05171b80123bf6db7457f19c174accc4 commit ae1e336e05171b80123bf6db7457f19c174accc4 Author: Bjoern A. Zeeb AuthorDate: 2023-05-20 00:52:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 11:10:31 +0000 LinuxKPI: add put_unaligned_le16() and get_unaligned_be64() Add the two new functions needed by wireless drivers by the same implementation pattern we did for different sizes. Sponsored by: The FreeBSD Foundation MFC after: 10 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D40174 --- sys/compat/linuxkpi/common/include/asm/unaligned.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/asm/unaligned.h b/sys/compat/linuxkpi/common/include/asm/unaligned.h index 8a001ec38c3d..c13089b2c5f4 100644 --- a/sys/compat/linuxkpi/common/include/asm/unaligned.h +++ b/sys/compat/linuxkpi/common/include/asm/unaligned.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2020 The FreeBSD Foundation + * Copyright (c) 2020,2023 The FreeBSD Foundation * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -50,6 +50,15 @@ get_unaligned_le32(const void *p) return (le32_to_cpup((const __le32 *)p)); } +static __inline void +put_unaligned_le16(__le16 v, void *p) +{ + __le16 x; + + x = cpu_to_le16(v); + memcpy(p, &x, sizeof(x)); +} + static __inline void put_unaligned_le32(__le32 v, void *p) { @@ -82,4 +91,11 @@ get_unaligned_be32(const void *p) return (be32_to_cpup((const __be32 *)p)); } +static __inline uint64_t +get_unaligned_be64(const void *p) +{ + + return (be64_to_cpup((const __be64 *)p)); +} + #endif /* _LINUXKPI_ASM_UNALIGNED_H */ From nobody Sat May 20 11:14:58 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNh2B31zJz4Bxdf; Sat, 20 May 2023 11:14: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 4QNh2B1xm1z40g3; Sat, 20 May 2023 11:14:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tTAf+sTiRxw1/q9s0j5luQDh2GAFWB9A8Q1QYVj4vQM=; b=YQs5Zdan2ySlHFYexsgxDMGYaadxyRAdiZtAhWf8km2R0WZLoTp5XsJEilG1QolwYckdjX TfGyMc4/sm9g/fO75r4wqysSo3ErR+0c0iswD1xK7Fr3xg1Ld5W/ysOR+T230C7D3bpqr/ +Tm2lVIeJL+8uBfraJHjdMX0wXTyuI2hFDO/E0Kl16PCmab/v+/45Im/XmXRnnFrirCQmj dDX0/EEz4tVm5XUK2t65AwR52EoO2hpry3In/Sj3ODglm/EweZGXrsnx2K+9oeD1d3l7Vk juw3JxsSUA5w6iAMfekzc5weN5yaMEgZVlFaGILEUklemJLZDzQhNbVI6dfkrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tTAf+sTiRxw1/q9s0j5luQDh2GAFWB9A8Q1QYVj4vQM=; b=HrdqPPtBI/28QZJcaVKeJHsXj4cl8xBsehvqftb6OeEJlboB57eY+NoxhITVkbuv5CaF7H FjnvDyZh8Ex8JYbhp13VoIuMxnxJfRPwfRMK0ysrlfeJspZcdEvaPTs3ReltSjOfCBBEeu JR17nsG1OJdPDvPF5spqKzB+2/XBmtDopvQlbxWZyjDRNClcYgkcyUMoCELwe4zCXjCuBd Ye1ZGiDAT6KDx5goeTExZNkJIsQt3gTw9jOXMBfyjh+qNaZc5mbtV6EJ7K+w4uJSQAM9eH BTJL4gPwNYG8+u7R6hrYJCZjDjvp02be+UCFYh7UIKv//fzbjS9WYe5JIWJuAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684581298; a=rsa-sha256; cv=none; b=qQ3XsY0bAKp4C31+MFgsDmdbs0/+q9cYj09BfTENVloRnYLNCfJYXiGkZjqYJJLt9/kiLh n6EjEmNqv5iLh5XTwhXFKPmHC0guaDMlD2fPhIhyjlJ7jimXlE8ZyCCnbg8tl6MeYkoTRD LwcWUY0q8kpG4kCgTETPUNLwtnP7V0WUjrQW4cXAjLPsojP9g3CMu1ABXtIhWBF2fFHi+r L9l0evVZ+DUSW0pTXomwdW5L58z2v3qX4XxVrs4TaXjEbSLGsHD5vfOHBkmSk1BZeb8i6K p4blmwE7omtFx599f0PDbDZfh2Zhi00KFQGyDC3y3IlbeN8/L/EkA1fI0GO+gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNh2B10gzz16nH; Sat, 20 May 2023 11:14:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KBEwQT085539; Sat, 20 May 2023 11:14:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KBEwcL085538; Sat, 20 May 2023 11:14:58 GMT (envelope-from git) Date: Sat, 20 May 2023 11:14:58 GMT Message-Id: <202305201114.34KBEwcL085538@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 10aa369afd99 - main - fwget: simplify adding firmware images to pkg to install List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 10aa369afd9946da18ae51b07aeadc3314fba56d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=10aa369afd9946da18ae51b07aeadc3314fba56d commit 10aa369afd9946da18ae51b07aeadc3314fba56d Author: Bjoern A. Zeeb AuthorDate: 2023-05-11 20:30:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 11:13:12 +0000 fwget: simplify adding firmware images to pkg to install Rather than using echo to return the firmware package name, call a new function (addpkg) which will also deal with (i) no leading space and (ii) remove duplicates (as some devices have dual-wifi-cards). In addition we won't have a line break when having multiple packages. While here also do not call pkg(8) anymore if there is no package to install and use the correct variable to install all and not just the last found package. Reviewed by: manu, bapt Differential Revision: https://reviews.freebsd.org/D40071 --- usr.sbin/fwget/fwget.sh | 32 ++++++++++++++--- usr.sbin/fwget/pci/pci_video_amd | 72 +++++++++++++++++++------------------- usr.sbin/fwget/pci/pci_video_intel | 22 ++++++------ 3 files changed, 74 insertions(+), 52 deletions(-) diff --git a/usr.sbin/fwget/fwget.sh b/usr.sbin/fwget/fwget.sh index 63ed020a437c..5e50569c3991 100644 --- a/usr.sbin/fwget/fwget.sh +++ b/usr.sbin/fwget/fwget.sh @@ -4,6 +4,7 @@ # SPDX-License-Identifier: BSD-2-Clause # # Copyright 2023 Beckhoff Automation GmbH & Co. KG +# Copyright 2023 Bjoern A. Zeeb # # Redistribution and use in source and binary forms, with or without # modification, are permitted providing that the following conditions @@ -62,6 +63,22 @@ log_verbose() echo $@ 1>&3 } +addpkg() +{ + local _p + + _p=$1 + + case "${packages}" in + "") packages="${_p}" ;; + *) # Avoid duplicates. + case " ${packages} " in + *\ ${_p}\ *) ;; # duplicate + *) packages="${packages} ${_p}" ;; + esac + esac +} + DRY_RUN=n VERBOSE=n @@ -97,14 +114,19 @@ done packages="" for subsystem in ${subsystems}; do - package=$(${subsystem}_search_packages) - - packages="${packages} ${package}" + ${subsystem}_search_packages done -echo "Needed packages: ${packages}" +case "${packages}" in +""|^[[:space:]]*$) + echo "No firmware packages to install." + exit 0 + ;; +esac + +echo "Needed firmware packages: '${packages}'" if [ "${DRY_RUN}" = "y" ]; then exit 0 fi -pkg install -q ${package} +pkg install -q ${packages} diff --git a/usr.sbin/fwget/pci/pci_video_amd b/usr.sbin/fwget/pci/pci_video_amd index 4afb44ed787e..b44eac1adf7b 100644 --- a/usr.sbin/fwget/pci/pci_video_amd +++ b/usr.sbin/fwget/pci/pci_video_amd @@ -28,112 +28,112 @@ pci_video_amd() { case "$1" in 0x678*|0x679*) - echo "gpu-firmware-amd-kmod-tahiti" + addpkg "gpu-firmware-amd-kmod-tahiti" ;; 0x680*|0x681*) - echo "gpu-firmware-amd-kmod-pitcairn" + addpkg "gpu-firmware-amd-kmod-pitcairn" ;; 0x660*|0x661*|0x662*|0x663*) - echo "gpu-firmware-amd-kmod-oland" + addpkg "gpu-firmware-amd-kmod-oland" ;; 0x682*|0x683*) - echo "gpu-firmware-amd-kmod-verde gpu-firmware-amd-kmod-si58" + addpkg "gpu-firmware-amd-kmod-verde gpu-firmware-amd-kmod-si58" ;; 0x666*) - echo "gpu-firmware-amd-kmod-hainan" + addpkg "gpu-firmware-amd-kmod-hainan" ;; 0x13*) - echo "gpu-firmware-amd-kmod-kaveri" + addpkg "gpu-firmware-amd-kmod-kaveri" ;; 0x664*|0x664*) - echo "gpu-firmware-amd-kmod-bonaire" + addpkg "gpu-firmware-amd-kmod-bonaire" ;; 0x67a*|0x67b*) - echo "gpu-firmware-amd-kmod-hawaii" + addpkg "gpu-firmware-amd-kmod-hawaii" ;; 0x983*) - echo "gpu-firmware-amd-kmod-kabini" + addpkg "gpu-firmware-amd-kmod-kabini" ;; 0x985*) - echo "gpu-firmware-amd-kmod-mullins" + addpkg "gpu-firmware-amd-kmod-mullins" ;; 0x690*) - echo "gpu-firmware-amd-kmod-topaz" + addpkg "gpu-firmware-amd-kmod-topaz" ;; 0x692*|0x693*) - echo "gpu-firmware-amd-kmod-tonga" + addpkg "gpu-firmware-amd-kmod-tonga" ;; 0x730*) - echo "gpu-firmware-amd-kmod-fiji" + addpkg "gpu-firmware-amd-kmod-fiji" ;; 0x987*) - echo "gpu-firmware-amd-kmod-carrizo" + addpkg "gpu-firmware-amd-kmod-carrizo" ;; 0x98e4*) - echo "gpu-firmware-amd-kmod-stoney" + addpkg "gpu-firmware-amd-kmod-stoney" ;; 0x67e*|0x67ff) - echo "gpu-firmware-amd-kmod-polaris11" + addpkg "gpu-firmware-amd-kmod-polaris11" ;; 0x67c*|0x67d*|0x6fdf) - echo "gpu-firmware-amd-kmod-polaris10" + addpkg "gpu-firmware-amd-kmod-polaris10" ;; 0x698*|0x699*) - echo "gpu-firmware-amd-kmod-polaris12" + addpkg "gpu-firmware-amd-kmod-polaris12" ;; 0x694*) - echo "gpu-firmware-amd-kmod-vegam" + addpkg "gpu-firmware-amd-kmod-vegam" ;; 0x686*|0x687*) - echo "gpu-firmware-amd-kmod-vega10" + addpkg "gpu-firmware-amd-kmod-vega10" ;; 0x69a*) - echo "gpu-firmware-amd-kmod-vega12" + addpkg "gpu-firmware-amd-kmod-vega12" ;; 0x66a*) - echo "gpu-firmware-amd-kmod-vega20" + addpkg "gpu-firmware-amd-kmod-vega20" ;; 0x15d*) - echo "gpu-firmware-amd-kmod-raven" + addpkg "gpu-firmware-amd-kmod-raven" ;; 0x738*|0x739*) - echo "gpu-firmware-amd-kmod-arcturus" + addpkg "gpu-firmware-amd-kmod-arcturus" ;; 0x731*) - echo "gpu-firmware-amd-kmod-navi10" + addpkg "gpu-firmware-amd-kmod-navi10" ;; 0x734*) - echo "gpu-firmware-amd-kmod-navi14" + addpkg "gpu-firmware-amd-kmod-navi14" ;; 0x15e7|0x1636|0x1638|0x164c) - echo "gpu-firmware-amd-kmod-renoir" + addpkg "gpu-firmware-amd-kmod-renoir" ;; 0x736*) - echo "gpu-firmware-amd-kmod-navi12" + addpkg "gpu-firmware-amd-kmod-navi12" ;; 0x73a*|0x73b*) - echo "gpu-firmware-amd-kmod-sienna-cichlid" + addpkg "gpu-firmware-amd-kmod-sienna-cichlid" ;; 0x163f) - echo "gpu-firmware-amd-kmod-vangogh" + addpkg "gpu-firmware-amd-kmod-vangogh" ;; 0x164d|0x1681) - echo "gpu-firmware-amd-kmod-yellow-carp" + addpkg "gpu-firmware-amd-kmod-yellow-carp" ;; 0x73c*|0x73d*) - echo "gpu-firmware-amd-kmod-navy-flounder" + addpkg "gpu-firmware-amd-kmod-navy-flounder" ;; 0x73e*|0x73f*) - echo "gpu-firmware-amd-kmod-dimgrey-cavefish" + addpkg "gpu-firmware-amd-kmod-dimgrey-cavefish" ;; 0x740*|0x741*) - echo "gpu-firmware-amd-kmod-aldebaran" + addpkg "gpu-firmware-amd-kmod-aldebaran" ;; 0x13fe) - echo "gpu-firmware-amd-kmod-cyan-skillfish2" + addpkg "gpu-firmware-amd-kmod-cyan-skillfish2" ;; 0x742*|0x743*) - echo "gpu-firmware-amd-kmod-beige-goby" + addpkg "gpu-firmware-amd-kmod-beige-goby" ;; esac } diff --git a/usr.sbin/fwget/pci/pci_video_intel b/usr.sbin/fwget/pci/pci_video_intel index 8dc8b9aee2bd..3824c4a49ffb 100644 --- a/usr.sbin/fwget/pci/pci_video_intel +++ b/usr.sbin/fwget/pci/pci_video_intel @@ -29,47 +29,47 @@ pci_video_intel() case "$1" in # Skylake 0x19*) - echo "gpu-firmware-intel-kmod-skylake" + addpkg "gpu-firmware-intel-kmod-skylake" ;; # Broxton 0x0a*|0x1a*|0x5a84|0x5a85) - echo "gpu-firmware-intel-kmod-broxton" + addpkg "gpu-firmware-intel-kmod-broxton" ;; # Geminilake 0x318*) - echo "gpu-firmware-intel-kmod-geminilake" + addpkg "gpu-firmware-intel-kmod-geminilake" ;; # Kabylake, Coffeelake and Cometlake 0x59*|0x87*|0x9b*|0x3e*) - echo "gpu-firmware-intel-kmod-kabylake" + addpkg "gpu-firmware-intel-kmod-kabylake" ;; # Cannonlake 0x5a*) - echo "gpu-firmware-intel-kmod-cannonlake" + addpkg "gpu-firmware-intel-kmod-cannonlake" ;; # Icelake 0x8a*) - echo "gpu-firmware-intel-kmod-icelake" + addpkg "gpu-firmware-intel-kmod-icelake" ;; # Elkhartlake/Jasperlake 0x45*|0x4e*) - echo "gpu-firmware-intel-kmod-elkhartlake" + addpkg "gpu-firmware-intel-kmod-elkhartlake" ;; # Tigerlake 0x9a*) - echo "gpu-firmware-intel-kmod-tigerlake" + addpkg "gpu-firmware-intel-kmod-tigerlake" ;; # Rocketlake (Uses tigerlake GuC/HuC firmware) 0x4c*) - echo "gpu-firmware-intel-kmod-rocketlake gpu-firmware-intel-kmod-tigerlake" + addpkg "gpu-firmware-intel-kmod-rocketlake gpu-firmware-intel-kmod-tigerlake" ;; # DG1 0x49*) - echo "gpu-firmware-intel-kmod-dg1" + addpkg "gpu-firmware-intel-kmod-dg1" ;; # Alderlake (Uses tigerlake GuC/HuC firmware) 0x46*) - echo "gpu-firmware-intel-kmod-alderlake gpu-firmware-intel-kmod-tigerlake" + addpkg "gpu-firmware-intel-kmod-alderlake gpu-firmware-intel-kmod-tigerlake" ;; *) log "No package found for device $1" From nobody Sat May 20 11:17:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNh5K26Spz4BxhX; Sat, 20 May 2023 11:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QNh5K1BZCz414y; Sat, 20 May 2023 11:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0YRnYr3uwR10iwkQQDsAvvtHlJr55UlRdhFp6IMfjKo=; b=BB99c7ReNNXIPWlEUgXB68u8jQ6kyFT+t20C4xjB1MlsSnxbMnmpOjQi4aQPDGyCUBzxj4 RMxyrXF9+BRsiZBlBTPq0tGd9v2SNeK/S5wSr9cguYDg9hLIw+u0Xtof4E+GxQcNv8bQQl IAjqKr9l/cjgNR4IUnRfRvzQKQnuba59oAKgnEAryXUpwkRRaC/+UUPsNEYSwxiAPhdP1t YkGf2YuWNcyG7Hto30NlbH0nzBtXXmApD2/QKymrkGV/1VMeB3rwsDmX/FO2y+JtbZ+W5X NOZpzzTQZ367/A4eij2930t3ltDuJqzJDPSeOcg0UTp3ed2l29tOBc9H2DNMlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0YRnYr3uwR10iwkQQDsAvvtHlJr55UlRdhFp6IMfjKo=; b=S9RRFLBM5r31ocx4BGj4TqVonQ6qIfdXPD56MHEM3la5fU5BUmX3Hi3KAyfHdJzp0+jg95 vfj6BOQq1Pp4nVeRsbUjB9dggUxcXqwTp5enXOZ9QmORrptyav87ewW+4/N4Js9GCIoSq2 OXDJKGQRqaHIXhjZbB7k6KQ2zySRuQEmeeQr8QyV9uTSHVOVR6h86bfgrmd8t2TpXtAQlO UTagefcdi1vrxmevCoqlxIgxe4MG3FM9tsNkoQDPVhJ74wWMhpoB35p8Po884p9q3fxoK8 xaU8ekFAh+VhXLhPC1MTq3mjB4A6SlYPRhMzTCrVa7lpbuhvgdNlCP6kY68inA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684581461; a=rsa-sha256; cv=none; b=DvMCgM4YcAEu8Sd15pv0NHXWptNH8+k7cgGqpgyg5AteEZw/m7yhoshjl0eLr/fvyM3Kfl NtFLE53a7Tbqn9mnPol9CxKeNPW0+sUd0OJ97Z9kjeU9A7sE1GZ7yPal7Lw2IUwPkz2lxM G6uQLJMnSnGiAncnmFXFcY3vSgYyZy5tDvd82fbkqAAHh4D+FAF2DT7yXtIxCmRGXsSXKJ K4TrkoxoTA2YM6wSvripo8mAjeWsns5tpsKbA28yKPAjYqZxdHVe1YW+MZUnGnXHiblccN n0IITeZJBBOh89o9vqcHnXGCvx49gd0eB3dO7b+QL89Pfo9TmDMaIaop1hJz9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNh5K0HCnz171W; Sat, 20 May 2023 11:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KBHePx086025; Sat, 20 May 2023 11:17:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KBHe9s086024; Sat, 20 May 2023 11:17:40 GMT (envelope-from git) Date: Sat, 20 May 2023 11:17:40 GMT Message-Id: <202305201117.34KBHe9s086024@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 17cec33e750f - main - fwget: improve the pci base script List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17cec33e750fe2543ab898ba88e19b8e57ef895d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=17cec33e750fe2543ab898ba88e19b8e57ef895d commit 17cec33e750fe2543ab898ba88e19b8e57ef895d Author: Bjoern A. Zeeb AuthorDate: 2023-05-11 20:36:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 11:16:42 +0000 fwget: improve the pci base script When matching "class" only match the class byte and not subclass and programming interface. Extend the list of supported classes by network, old, and misc (for no better names on the latter two). Extend the list of known vendors for various WiFi NICs. Add a "pci_fixup_class" as some wireless cards have unexpected PCI classes set. In case we cannot find a matching file for the original try to see if a "fixed up" version exists. This allows us to avoid duplicate matching files for the same vendor/driver but different chipsets. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D40072 --- usr.sbin/fwget/pci/pci | 51 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/usr.sbin/fwget/pci/pci b/usr.sbin/fwget/pci/pci index b30aae4fadb8..b3514c3ab43d 100644 --- a/usr.sbin/fwget/pci/pci +++ b/usr.sbin/fwget/pci/pci @@ -2,6 +2,7 @@ # SPDX-License-Identifier: BSD-2-Clause # # Copyright 2023 Beckhoff Automation GmbH & Co. KG +# Copyright 2023 Bjoern A. Zeeb # # Redistribution and use in source and binary forms, with or without # modification, are permitted providing that the following conditions @@ -26,11 +27,12 @@ pci_get_class() { - local hexclass=$(echo $1 | sed 's/.*class=\(0x[0-9a-z]*\).*/\1/') + local hexclass=$(echo $1 | sed 's/.*class=\(0x[0-9a-z]\{2\}\).*/\1/') case "${hexclass}" in - 0x030000) - echo "video" - ;; + 0x00) echo "old" ;; # built before class codes were finalized + 0x02) echo "network" ;; + 0x03) echo "video" ;; + 0xff) echo "misc" ;; # does not fit in other defined classes esac } @@ -39,12 +41,12 @@ pci_get_vendor() local hexvendor=$(echo $1 | sed 's/.*\ vendor=\(0x[0-9a-z]*\).*/\1/') case "${hexvendor}" in - 0x8086) - echo "intel" - ;; - 0x1002) - echo "amd" - ;; + 0x1002) echo "amd" ;; + 0x10ec) echo "realtek" ;; + 0x14c3) echo "mediatek" ;; + 0x168c) echo "qca" ;; # Qualcomm Atheros + 0x17cb) echo "qca" ;; # Qualcomm Technologies + 0x8086) echo "intel" ;; esac } @@ -55,6 +57,26 @@ pci_get_device() echo ${hexdevice} } +pci_fixup_class() +{ + local _c _v + _c=$1 + _v=$2 + + case ${_c} in + "old") + case ${_v} in + "mediatek") echo "network" ;; + esac + ;; + "misc") + case ${_v} in + "qca") echo "network" ;; + esac + ;; + esac +} + pci_search_packages() { local IFS @@ -74,7 +96,14 @@ pci_search_packages() log_verbose "Trying to match device ${device} in class ${class} and vendor ${vendor} with pci_${class}_${vendor}" 1>&3 if [ ! -f ${LIBEXEC_PATH}/pci_${class}_${vendor} ]; then - continue + class=$(pci_fixup_class ${class} ${vendor}) + if [ -z "${class}" ]; then + continue + fi + log_verbose "Trying to match device ${device} in fixed up class ${class} and vendor ${vendor} with pci_${class}_${vendor}" 1>&3 + if [ ! -f ${LIBEXEC_PATH}/pci_${class}_${vendor} ]; then + continue + fi fi . ${LIBEXEC_PATH}/pci_${class}_${vendor} From nobody Sat May 20 11:19:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNh7V6rvQz4Bxj6; Sat, 20 May 2023 11:19: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 4QNh7V6P7Rz41dS; Sat, 20 May 2023 11:19:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=clVTHDmauO+EA+qxcBrqQDC8rFks0ilmK4m6Qcq7tUk=; b=AvxjLl6Xp265P3gV+a1MyDws8Vb9BBScnYAjpPVr7N+2BARcF5RQpJx6gfyRBKo4d6IRh9 1dHAet45pGYrF8+kHj9cxpmHRAQ4lD4ieeIYSyCLI3xEbDdBZTXGf4LARG+8+CLKscCPJU PzmTyBtqjcF3Y/AaKqNUtvp49uEfx+JBwDiBVyjpIamMqQWAGTgL5O8V33UlA9IqH+Eitu CGgEcbCUne2RmkQhFVp6ayo0A8qx6XH6/8L6cUhfJ2vCs/C5cv+Y3s6tMvuHMobNVZMtDe si5JgABhXSD6FSSnWKPTuujEmbweGzmJ6FQSgwko0MMbdlneMqH0vSwfPJAmWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=clVTHDmauO+EA+qxcBrqQDC8rFks0ilmK4m6Qcq7tUk=; b=NLmJNBTPNLO/o7wxbYSZAm2uD5fW82tPVVWEDYDNiksrwUFdoPphiv2PypC+g0vjFFUvVL sMdgKtgQcGdUxENcCa4i8XRS2KKA7BmXhKyU/yG6R5TyrZuOymU66WOOVIcvzq5cmUIRpO lj7shmyqCFd5ESwgNSZgcxsI81C6pK9xr9T8NVy7DGfH49xlv5ZCJrJfc4QiaEoQvXnzOz QdmQC4xrG7xtEBWZXVZptnIzplx/QGb8F5nSi8mFHi1986/h4uxtgdGCGjoW3YWZ73EasC 01tX7H6T7oTsbUlOIETE4zXhlehMzHH/xGG7UjP/fiEKOXbk7Rjt9ntMXhiygw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684581574; a=rsa-sha256; cv=none; b=yaz9IFIi31ZWWYpTAtGGmbwHwe0Cu53eDl7BKxZmc/Z6/N/TxRU1RX6qs4v6FSQ+KJc0xK XXA3E3XRN6YixT3IKrx8fCDqikqrs1kpVlyPwFDI2O+KdztU435TB3Rb63GXCsrodAFYR0 i9tyWgJdUi/fccafYjScIfzjw0eJS092Ipw/1VMEnnkpEyjzoWSAJMITjKxGgjQmCfj5Bm Y7PfRz5oXPPWghhIuluIL3vGdtUEuDbPHuxuH5SqnGVTiEJBVaw8WKA/ct2JbTePapGKcC h34ecFouEbNRSLe7ZEPvht1IvGgI75mPF5Dhukd0X4TTW4oO/jtT/QHi4Eefsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNh7V5SVbz16vr; Sat, 20 May 2023 11:19:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KBJYlo086334; Sat, 20 May 2023 11:19:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KBJYiA086333; Sat, 20 May 2023 11:19:34 GMT (envelope-from git) Date: Sat, 20 May 2023 11:19:34 GMT Message-Id: <202305201119.34KBJYiA086333@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: dd8a74e74d99 - main - fwget: add support for various WiFi NICs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dd8a74e74d9961d3aa4b7078368a5de84e3a1083 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=dd8a74e74d9961d3aa4b7078368a5de84e3a1083 commit dd8a74e74d9961d3aa4b7078368a5de84e3a1083 Author: Bjoern A. Zeeb AuthorDate: 2023-05-11 20:41:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 11:18:51 +0000 fwget: add support for various WiFi NICs Add support for Realtek, QCA, and Mediatek WiFi NIC cards. We group the matching entries by driver in sub-functions in order to semi-automatically create the lists for now. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D40073 --- usr.sbin/fwget/pci/Makefile | 3 ++ usr.sbin/fwget/pci/pci_network_mediatek | 65 ++++++++++++++++++++++++++ usr.sbin/fwget/pci/pci_network_qca | 81 +++++++++++++++++++++++++++++++++ usr.sbin/fwget/pci/pci_network_realtek | 65 ++++++++++++++++++++++++++ 4 files changed, 214 insertions(+) diff --git a/usr.sbin/fwget/pci/Makefile b/usr.sbin/fwget/pci/Makefile index 5cf3b0cd2ed9..66b3901e4a91 100644 --- a/usr.sbin/fwget/pci/Makefile +++ b/usr.sbin/fwget/pci/Makefile @@ -1,6 +1,9 @@ PACKAGE= fwget SCRIPTS=pci \ + pci_network_mediatek \ + pci_network_qca \ + pci_network_realtek \ pci_video_amd \ pci_video_intel diff --git a/usr.sbin/fwget/pci/pci_network_mediatek b/usr.sbin/fwget/pci/pci_network_mediatek new file mode 100644 index 000000000000..5de31e6661eb --- /dev/null +++ b/usr.sbin/fwget/pci/pci_network_mediatek @@ -0,0 +1,65 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright 2023 Bjoern A. Zeeb +# +# 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. +# + +# mt7915 +pci_network_mediatek_mt7915() +{ + + # awk '/PCI_DEVICE\(PCI_VENDOR_ID_MEDIATEK,/ { gsub(").*", "", $3); printf "%s)\taddpkg \"wifi-firmware-mt76-kmod\"; return 1 ;;\n", tolower($3) }' *.c + + case "$1" in + 0x7915) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + 0x7906) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + 0x7916) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + 0x790a) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + esac +} + +# mt7921 +pci_network_mediatek_mt7921() +{ + + # awk '/PCI_DEVICE\(PCI_VENDOR_ID_MEDIATEK,/ { gsub(").*", "", $3); printf "%s)\taddpkg \"wifi-firmware-mt76-kmod\"; return 1 ;;\n", tolower($3) }' *.c + case "$1" in + 0x7961) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + 0x7922) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + 0x0608) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + 0x0616) addpkg "wifi-firmware-mt76-kmod"; return 1 ;; + esac +} + + +pci_network_mediatek() +{ + + for _drv in mt7915 mt7921; do + pci_network_mediatek_${_drv} "$1" + case $? in + 1) break ;; + esac + done +} diff --git a/usr.sbin/fwget/pci/pci_network_qca b/usr.sbin/fwget/pci/pci_network_qca new file mode 100644 index 000000000000..cf33e0d87239 --- /dev/null +++ b/usr.sbin/fwget/pci/pci_network_qca @@ -0,0 +1,81 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright 2023 Bjoern A. Zeeb +# +# 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. +# + +# ath10k +pci_network_qca_ath10k() +{ + + # awk '/DEVICE_ID[[:space:]]/ { gsub("[()]", "", $3); printf "%s)\taddpkg \"wifi-firmware-ath10k-kmod\"; return 1 ;;\n", tolower($3) }' hw.h + # We ignore the ubiquity entry for now. + case "$1" in + 0x003c) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x0041) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x003e) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x0042) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x0040) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x0056) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x0046) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x0042) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + 0x0050) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;; + esac +} + +# ath11k +pci_network_qca_ath11k() +{ + + # awk '/DEVICE_ID[[:space:]]/ { gsub("[()]", "", $3); printf "%s)\taddpkg \"wifi-firmware-ath11k-kmod\"; return 1 ;;\n", tolower($3) }' pci.c + case "$1" in + 0x1101) addpkg "wifi-firmware-ath11k-kmod"; return 1 ;; + 0x1104) addpkg "wifi-firmware-ath11k-kmod"; return 1 ;; + 0x1103) addpkg "wifi-firmware-ath11k-kmod"; return 1 ;; + esac +} + +# ath12k +pci_network_qca_ath12k() +{ + # No ath12k firmware package yet + return 0 + + # awk '/DEVICE_ID[[:space:]]/ { gsub("[()]", "", $3); printf "%s)\taddpkg \"wifi-firmware-ath12k-kmod\"; return 1 ;;\n", tolower($3) }' pci.c + case "$1" in + 0x1109) addpkg "wifi-firmware-ath12k-kmod"; return 1 ;; + 0x1107) addpkg "wifi-firmware-ath12k-kmod"; return 1 ;; + esac +} + +pci_network_qca() +{ + + for _drv in ath10k ath11k; do + pci_network_qca_${_drv} "$1" + case $? in + 1) break ;; + esac + done +} diff --git a/usr.sbin/fwget/pci/pci_network_realtek b/usr.sbin/fwget/pci/pci_network_realtek new file mode 100644 index 000000000000..795d9d4a6e0a --- /dev/null +++ b/usr.sbin/fwget/pci/pci_network_realtek @@ -0,0 +1,65 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright 2023 Bjoern A. Zeeb +# +# 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. +# + +# rtw88 +pci_network_realtek_rtw88() +{ + + # awk '/PCI_DEVICE\(PCI_VENDOR_ID_REALTEK,/ { gsub(").*", "", $2); printf "%s)\taddpkg \"wifi-firmware-rtw88-kmod\"; return 1 ;;\n", tolower($2) }' *.c + case "$1" in + 0xd723) addpkg "wifi-firmware-rtw88-kmod"; return 1 ;; + 0xb821) addpkg "wifi-firmware-rtw88-kmod"; return 1 ;; + 0xc821) addpkg "wifi-firmware-rtw88-kmod"; return 1 ;; + 0xb822) addpkg "wifi-firmware-rtw88-kmod"; return 1 ;; + 0xc822) addpkg "wifi-firmware-rtw88-kmod"; return 1 ;; + 0xc82f) addpkg "wifi-firmware-rtw88-kmod"; return 1 ;; + esac +} + +# rtw89 +pci_network_realtek_rtw89() +{ + + # awk '/PCI_DEVICE\(PCI_VENDOR_ID_REALTEK,/ { gsub(").*", "", $2); printf "%s)\taddpkg \"wifi-firmware-rtw89-kmod\"; return 1 ;;\n", tolower($2) }' *.c + case "$1" in + 0x8852) addpkg "wifi-firmware-rtw89-kmod"; return 1 ;; + 0xa85a) addpkg "wifi-firmware-rtw89-kmod"; return 1 ;; + 0xc852) addpkg "wifi-firmware-rtw89-kmod"; return 1 ;; + esac +} + + +pci_network_realtek() +{ + + for _drv in rtw88 rtw89; do + pci_network_realtek_${_drv} "$1" + case $? in + 1) break ;; + esac + done +} From nobody Sat May 20 11:21:36 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNh9s1w8fz4Bxbc; Sat, 20 May 2023 11:21: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 4QNh9r6Kwxz41vV; Sat, 20 May 2023 11:21:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xmh8YBpTP+3Q53HdFyWRNNQcofYEYu0NVkHgh5P5WZg=; b=x0pcFyvgRH6yZizAfngS/8TCtjfCJbCGYh5lcwFPqHyyHv8EvmBfo1XaXBZYr3qrPmqZql 5KuKrHs77VN4HO7cmjWKPcdctNUS2MIHE5bvhWIImj+0cwaedUW81DmUcs2sh6TLqVrDeU tdNczhyTKjzSOIn4mLrivkk17Ar4wvDog/PFr8se4mm7LGFMAR1PRQWzkfxu4ZXCmZZw6a RmQvbP+wSme+6ZnaGjaIV9XydRxcn/tTjZbXrRUtM/rOsWrvLg23ulBsfx8gfKGbM3Wu99 q+10P9b365pgNNANJSSvDmkESRx53uGy2cUd9GPigfT90TI84cxMqeUsMHhFbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684581696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xmh8YBpTP+3Q53HdFyWRNNQcofYEYu0NVkHgh5P5WZg=; b=TulzxQVgvCFtblgC+jlXiwclSg3m5jjnSdND1Thtte63oMzqdDzJXYPzmLhZhxX5FR5cWB rFPM07kA+WD8uhjPu/LJ4wUHwJdSu+awgLyhu1XN4BXCrsWAOxRCoy1TyZkU0L5SULGdcq 05e4YccbzMExHhgD98g4dneI/xKUMQr6ojBWPbwZVImXF6Mr8T0Kvj0T7Sm8EufpwaBBvl u5IYZSb2WMm4MXea1oZTYar7y1nkU0Bbg+4w8Gd1J6Mj+pIS7ca25CRr7xMUbpNm8FLwB8 V733LX6dS1TLYr+iSUV7/8bwAgFlBMiBlSXNMo41eWDi4PTO8XzQgrVN4yQd1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684581696; a=rsa-sha256; cv=none; b=JMskafbZi6Zd4IVubKrbLOTv6aLl12Ppz5PlyrCQS1AOdJITcEIqo2TBrTAOw8MhcF6Eml 52YwPpciaGyeE+8pWg/n9izq+d+3k/mMbXo/USi/MXz3ATikfi4FPtMsZOPZ2HEw/rg45H nYFNwD8PJ53QPmrsCiWNFVupd7DqkalYsV/lnZSqOokSLWFVG6oZ2OnFhBugBkB+UiUaX/ omgy9DTFEI/R5nW0Z0SmP6j1rRNY9LJDUnjT4qqqQpycy5dD28xdU2z7D6t4BWRdAXenAb H+diXhw00OWNrDL1K77smSF3vxMRWucTBks2mVGfhRon3Kr8wSy+evORWr/EkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNh9r2lxwz16VD; Sat, 20 May 2023 11:21:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KBLanO096850; Sat, 20 May 2023 11:21:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KBLaGL096849; Sat, 20 May 2023 11:21:36 GMT (envelope-from git) Date: Sat, 20 May 2023 11:21:36 GMT Message-Id: <202305201121.34KBLaGL096849@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5138ffa87716 - main - fwget: remove logging redirects List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5138ffa877161ddfe3a690a45cf716e09c5e865a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5138ffa877161ddfe3a690a45cf716e09c5e865a commit 5138ffa877161ddfe3a690a45cf716e09c5e865a Author: Bjoern A. Zeeb AuthorDate: 2023-05-12 11:47:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-05-20 11:20:41 +0000 fwget: remove logging redirects After adding addpkg() in 10aa369afd9946da18ae51b07aeadc3314fba56d the redirects are no longer needed. We can now log directly so simplify the code. Reported by: manu Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D40077 --- usr.sbin/fwget/fwget.sh | 11 ++--------- usr.sbin/fwget/pci/pci | 4 ++-- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/usr.sbin/fwget/fwget.sh b/usr.sbin/fwget/fwget.sh index 5e50569c3991..89177d936107 100644 --- a/usr.sbin/fwget/fwget.sh +++ b/usr.sbin/fwget/fwget.sh @@ -44,14 +44,9 @@ EOF exit 1 } -log_start() -{ - exec 3>&1 4>&2 -} - log() { - echo $@ 1>&3 + echo $@ } log_verbose() @@ -60,7 +55,7 @@ log_verbose() return fi - echo $@ 1>&3 + echo $@ } addpkg() @@ -82,8 +77,6 @@ addpkg() DRY_RUN=n VERBOSE=n -log_start - while [ $# -gt 0 ]; do case $1 in -n) diff --git a/usr.sbin/fwget/pci/pci b/usr.sbin/fwget/pci/pci index b3514c3ab43d..6a66049842e2 100644 --- a/usr.sbin/fwget/pci/pci +++ b/usr.sbin/fwget/pci/pci @@ -94,13 +94,13 @@ pci_search_packages() fi device=$(pci_get_device "${fulldevice}") - log_verbose "Trying to match device ${device} in class ${class} and vendor ${vendor} with pci_${class}_${vendor}" 1>&3 + log_verbose "Trying to match device ${device} in class ${class} and vendor ${vendor} with pci_${class}_${vendor}" if [ ! -f ${LIBEXEC_PATH}/pci_${class}_${vendor} ]; then class=$(pci_fixup_class ${class} ${vendor}) if [ -z "${class}" ]; then continue fi - log_verbose "Trying to match device ${device} in fixed up class ${class} and vendor ${vendor} with pci_${class}_${vendor}" 1>&3 + log_verbose "Trying to match device ${device} in fixed up class ${class} and vendor ${vendor} with pci_${class}_${vendor}" if [ ! -f ${LIBEXEC_PATH}/pci_${class}_${vendor} ]; then continue fi From nobody Sat May 20 12:48:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNk65059cz4C2Yb; Sat, 20 May 2023 12:48: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 4QNk646dpfz49sr; Sat, 20 May 2023 12:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684586908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+pa1yPvWUDtefP6qZaq9wHg6ZsmVYjsNllQDzXaDV8w=; b=M1e1nVSMOheNf44iafs4ueMujuNWbuIZumAYhBe6A3kJdG8D/oOQS7fwKcXqoMEeJ2ilR3 +x9zUMabvH7YTi6B3ZwwQ5XVRr1p1a7SGgmKPl4PA/1TPg6PO+babOqToKGhIqgHzumfh7 94FOJQqVEVYhg9DwvR+ZW5hbEM3fXJ/8BUqZMCxZ4tybILSl7YUC3VOG1+gDtb11XiUhlu HHYD1Uqca+UfEYBmOjcrgV54uSBzjGe9LSvNe8/3MuFnyQzf1LYrEogbFNNVPmQqIvQvFo XECtJMcq9uX2fs0UchJS2Mzge5mnhTY66apfWpweRpf+L3fo39P2hoKfWzBX7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684586908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+pa1yPvWUDtefP6qZaq9wHg6ZsmVYjsNllQDzXaDV8w=; b=xGUEjOZxAF/z/HFPd/CTTxfPEMMuOTqS64eowjEJyv8Xg5QDGmMFDG+LLqo1fvd9PBOvjf C2shMCOwoP2FJiCpToRqoTY9yR53m/RXEI2HgffsJQ/2EY/U2uSWEnpZHK03BYho4LGL6z FfMpiSrvby/oHwqy+P2RaHktlXH7rh2t4Yb8pWxhM3kOWYMFHhyAi6VpG5JOBRcORJ1KAo jxugkcHqFDfk+PKBLIjey8lYgzHs/pSdy827z1VTM0b6CecWy8VbLPnl/sdxDqN7p39Ch6 VOC6SZaA6IK2RhApm7IJHYQ0qO2m1RFFaGB8SVPEmydhhjRDeUPTM17DQ2fAdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684586908; a=rsa-sha256; cv=none; b=OtyaYl/vWc/DgUOadfVsT1I619Doz9ksm+d31Wvnlxx1PP+CBOepUA6oaQMdfdIq7gCSYh YHuPyxSze9lhe0G1DO9vYTfBe8zl29qEFA/288fk5cdfG6ohdqLdMTMmxt8ZePnhlI2Aa3 MM1rGQU4CqzzsGtoVgfer0zOnZiGSV1qiFB7Wbz8w605VOEA3/7oUCRZUbcEYiSESNS+Zx MGge5AfNB2Cq8Ync/npGVHD5MyeMeoMovVbMWtZaIJl1z6ILc9vEiDnBT80WuP9c8p50d7 c6WTduh77jjyADRH/eup+M8Gq7o3j7j3q6z+2rngK4ianX3KtxGQiEWbE2vQyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNk645kDzz18r8; Sat, 20 May 2023 12:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KCmSHh034024; Sat, 20 May 2023 12:48:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KCmSgW034023; Sat, 20 May 2023 12:48:28 GMT (envelope-from git) Date: Sat, 20 May 2023 12:48:28 GMT Message-Id: <202305201248.34KCmSgW034023@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: bbe62559c78f - main - rlimit: line up with other clean up in thread_reap_domain List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbe62559c78f22e2774e12a058981ee8e46afbee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=bbe62559c78f22e2774e12a058981ee8e46afbee commit bbe62559c78f22e2774e12a058981ee8e46afbee Author: Mateusz Guzik AuthorDate: 2022-08-19 19:37:33 +0000 Commit: Mateusz Guzik CommitDate: 2023-05-20 12:46:46 +0000 rlimit: line up with other clean up in thread_reap_domain NFC --- sys/kern/kern_resource.c | 27 +++++++++++++++++++++++++++ sys/kern/kern_thread.c | 24 +++++++++--------------- sys/sys/resourcevar.h | 22 ++++++++++++++++++++++ 3 files changed, 58 insertions(+), 15 deletions(-) diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c index be81f97847de..b1ce9526d4cc 100644 --- a/sys/kern/kern_resource.c +++ b/sys/kern/kern_resource.c @@ -1276,6 +1276,33 @@ lim_freen(struct plimit *limp, int n) free((void *)limp, M_PLIMIT); } +void +limbatch_add(struct limbatch *lb, struct thread *td) +{ + struct plimit *limp; + + MPASS(td->td_limit != NULL); + limp = td->td_limit; + + if (lb->limp != limp) { + if (lb->count != 0) { + lim_freen(lb->limp, lb->count); + lb->count = 0; + } + lb->limp = limp; + } + + lb->count++; +} + +void +limbatch_final(struct limbatch *lb) +{ + + MPASS(lb->count != 0); + lim_freen(lb->limp, lb->count); +} + /* * Make a copy of the plimit structure. * We share these structures copy-on-write after fork. diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index b62bfafa58be..585531d3ab3a 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -588,9 +588,8 @@ thread_reap_domain(struct thread_domain_data *tdd) struct thread *itd, *ntd; struct tidbatch tidbatch; struct credbatch credbatch; + struct limbatch limbatch; int tdcount; - struct plimit *lim; - int limcount; /* * Reading upfront is pessimal if followed by concurrent atomic_swap, @@ -612,42 +611,37 @@ thread_reap_domain(struct thread_domain_data *tdd) tidbatch_prep(&tidbatch); credbatch_prep(&credbatch); + limbatch_prep(&limbatch); tdcount = 0; - lim = NULL; - limcount = 0; while (itd != NULL) { ntd = itd->td_zombie; EVENTHANDLER_DIRECT_INVOKE(thread_dtor, itd); + tidbatch_add(&tidbatch, itd); credbatch_add(&credbatch, itd); - MPASS(itd->td_limit != NULL); - if (lim != itd->td_limit) { - if (limcount != 0) { - lim_freen(lim, limcount); - limcount = 0; - } - } - lim = itd->td_limit; - limcount++; + limbatch_add(&limbatch, itd); + thread_free_batched(itd); + tidbatch_process(&tidbatch); credbatch_process(&credbatch); + limbatch_process(&limbatch); tdcount++; if (tdcount == 32) { thread_count_sub(tdcount); tdcount = 0; } + itd = ntd; } tidbatch_final(&tidbatch); credbatch_final(&credbatch); + limbatch_final(&limbatch); if (tdcount != 0) { thread_count_sub(tdcount); } - MPASS(limcount != 0); - lim_freen(lim, limcount); } /* diff --git a/sys/sys/resourcevar.h b/sys/sys/resourcevar.h index bd57211c75f0..8b88c9321e70 100644 --- a/sys/sys/resourcevar.h +++ b/sys/sys/resourcevar.h @@ -82,6 +82,28 @@ struct plimit { int pl_refcnt; /* number of references */ }; +struct limbatch { + struct plimit *limp; + int count; +}; + +static inline void +limbatch_prep(struct limbatch *lb) +{ + lb->limp = NULL; + lb->count = 0; +} + +void limbatch_add(struct limbatch *lb, struct thread *td); + +static inline void +limbatch_process(struct limbatch *lb __unused) +{ + +} + +void limbatch_final(struct limbatch *lb); + struct racct; /*- From nobody Sat May 20 12:48:29 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNk661ZSNz4C2ys; Sat, 20 May 2023 12:48: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 4QNk660sWDz4BCC; Sat, 20 May 2023 12:48:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684586910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H+BZWKZS67JJZ97WlqWmv1NdeftVnO4ujSeAVzDLnbY=; b=CiEJpYqEaE32DDTLw5SZVW5D0xzhVD4OLgqwRbTtQsV8Rh2ic/vd3U2KZUFovEM9T7IoRM VTgBF8zxG8/4XPVEAVIM9SyLYcy7atQQCiT5jtgHq2UvLxIh8Lvbh9l4lQMKPUqGjHn/7U bXlMXVA5awZr8MpWIsrP3d6anq2ZXbw4reL3eLF5MT3dVuckMToFLcunUTjZhlmA4u8KaW pMWzq30zL28yP5FVuN15lqY82N8oWK2vATq0w+FlYNgCk7RZr1aHdmhP3hobKtxgns4OXj 55dqv1FbPyucaCCZmxGxP/sRX5Y1dcJSnC5/oeG68jVVpP9dtH0V99ldapzthQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684586910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H+BZWKZS67JJZ97WlqWmv1NdeftVnO4ujSeAVzDLnbY=; b=JfUUZBoDTXeVvvA5uw7p8ODimiTi5S9GPy2SxbvKN9ORQA/kcxZCKiD6sRHYqlxgggvHK1 mNZAt3z0psBLb1dyL/dACmN5AAOsT9rQu7LkHKAjgZ6YeaILomFDQ1a+tuyO24JsYxQ8ab e4kTUZVfPjrIsDq69Hfg7VLR74JthA1D8ZX8bga9FEC7M5KzW5MjKGCB7VOUjMWnQ+JLlB azmvwgoNO1aWBcHqIeiVKUSAPX/mEZIQKVfAooZHah5EyOxVO70Bly4Y9YMnywzLx/upMA g7HLNd+O48GPVoIDGqp4xghLESWzLXA3LQqkMthrND/iP2MGTo5r5mO+RXqAZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684586910; a=rsa-sha256; cv=none; b=yXexB1ivsVtCGRWD5O59XbQCyamGj2F37n4dAPpnfCcGVyhrEGj0l4NCDWOtKU/ZKwR+ej Lxx2IKn3AhfZQpyUMf21XjWnwAy/GNPhxnQmkpzG3SkUlyRQIxf2jiLRDKT6G2GKtjLF8L S9LQqu7YNThKzpcEIOvKews38E6PPPo9AwlN9ST8FWTRMoridcpLhLqj80lBfv5BxY22z9 2WU6h7fxdYIyjH1XOB3yNvm68QxhdaO2/tlvYJh5iAge7RC1uQZnywHhSlGMhhq04hs92M AA9gD3KFOMjYw2XRZM7Ju+6/Ji7E2RTHxbFlJEA/Jhix0PvYDXL0dWt+VCDJ4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNk656Zwhz192x; Sat, 20 May 2023 12:48:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KCmTTP034043; Sat, 20 May 2023 12:48:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KCmTGC034042; Sat, 20 May 2023 12:48:29 GMT (envelope-from git) Date: Sat, 20 May 2023 12:48:29 GMT Message-Id: <202305201248.34KCmTGC034042@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: e0c86f5c2feb - main - td: line up with other clean up in thread_reap_domain List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0c86f5c2feb95d687eeedb0eafe14c3f76bff41 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e0c86f5c2feb95d687eeedb0eafe14c3f76bff41 commit e0c86f5c2feb95d687eeedb0eafe14c3f76bff41 Author: Mateusz Guzik AuthorDate: 2022-08-19 19:51:53 +0000 Commit: Mateusz Guzik CommitDate: 2023-05-20 12:48:15 +0000 td: line up with other clean up in thread_reap_domain NFC --- sys/kern/kern_thread.c | 55 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 585531d3ab3a..67712450c128 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -338,6 +338,46 @@ tidbatch_final(struct tidbatch *tb) } } +/* + * Batching thread count free, for consistency + */ +struct tdcountbatch { + int n; +}; + +static void +tdcountbatch_prep(struct tdcountbatch *tb) +{ + + tb->n = 0; +} + +static void +tdcountbatch_add(struct tdcountbatch *tb, struct thread *td __unused) +{ + + tb->n++; +} + +static void +tdcountbatch_process(struct tdcountbatch *tb) +{ + + if (tb->n == 32) { + thread_count_sub(tb->n); + tb->n = 0; + } +} + +static void +tdcountbatch_final(struct tdcountbatch *tb) +{ + + if (tb->n != 0) { + thread_count_sub(tb->n); + } +} + /* * Prepare a thread for use. */ @@ -589,7 +629,7 @@ thread_reap_domain(struct thread_domain_data *tdd) struct tidbatch tidbatch; struct credbatch credbatch; struct limbatch limbatch; - int tdcount; + struct tdcountbatch tdcountbatch; /* * Reading upfront is pessimal if followed by concurrent atomic_swap, @@ -612,7 +652,7 @@ thread_reap_domain(struct thread_domain_data *tdd) tidbatch_prep(&tidbatch); credbatch_prep(&credbatch); limbatch_prep(&limbatch); - tdcount = 0; + tdcountbatch_prep(&tdcountbatch); while (itd != NULL) { ntd = itd->td_zombie; @@ -621,17 +661,14 @@ thread_reap_domain(struct thread_domain_data *tdd) tidbatch_add(&tidbatch, itd); credbatch_add(&credbatch, itd); limbatch_add(&limbatch, itd); + tdcountbatch_add(&tdcountbatch, itd); thread_free_batched(itd); tidbatch_process(&tidbatch); credbatch_process(&credbatch); limbatch_process(&limbatch); - tdcount++; - if (tdcount == 32) { - thread_count_sub(tdcount); - tdcount = 0; - } + tdcountbatch_process(&tdcountbatch); itd = ntd; } @@ -639,9 +676,7 @@ thread_reap_domain(struct thread_domain_data *tdd) tidbatch_final(&tidbatch); credbatch_final(&credbatch); limbatch_final(&limbatch); - if (tdcount != 0) { - thread_count_sub(tdcount); - } + tdcountbatch_final(&tdcountbatch); } /* From nobody Sat May 20 16:28:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNq011Jhxz4CFjn; Sat, 20 May 2023 16:28: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 4QNq010ndwz3Dlw; Sat, 20 May 2023 16:28:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684600113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6avASgE97BppA8kkDnmjH87Bfa4monbqKwUHR7Hlww=; b=Nzjn5R5lhUXLJEiFhZp1FYqd/LUHykSvmXCgy1AUBaV40Z9oIALO0yt4MfP8s3J5uvgEJz rCKFIuaOYQKG+oOPbFPiJ04tb+cdH+dfCJVDCqoRhPVLX8LC+r/jCIO9Npi71TJhtnh3pQ zOhKbKj13dRNYegOVOa75LJ6oT4EGUexOR+dVRXnLnyOOtRoKaJjmb+c+qSf0tKaft6Yws 1xgfj9vRq7osj4+cvkL/OXBafrNK0/5VM5boaSCuhRPMbYedz2ZiXU8PAuspyhDfRA+6id +WbPoVj3rKjBAWfRZwYfx7QF3i8uJKkFr6XjicyGV09JvTbixVAvxYQNF0X8hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684600113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6avASgE97BppA8kkDnmjH87Bfa4monbqKwUHR7Hlww=; b=GoT+6P/xTfCL/yiGnRm66Ath06QojMe+aOl0Y16CMQXwxdwCZsurrEw6u31I+XU8Ec8b8F hzszfI1dMYTvWbx956pKWQJ6fFVITlgD4+AbsUtAVaOc3oZyJU4MXwt6gGPt0C/Pp6Rf/o ldAksY3SEeCU0idcAwBqT8E+wB3fIYuE/cj/ErCKlL9fwRdoTBPAsw7lWp1411cYLnfkNc cdguaO7wtTXmKIu1575/m/iuRXWGmADGgQVEyNCD/t/DUbQHfWtfH/EwA5983Hwfc1cKqw 8JV1QonwkvJMu6I988nnOR0E/BJ9hpwGA9bNe3v+BvdfshTLXMerol/6zytPIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684600113; a=rsa-sha256; cv=none; b=toqZn6uND8meRIiX7mHQY+MPkc9lP6u1KTiPFUosUGVwzCY1lO7thCqpsOkaRNKZsMFUrz fehlJD2G47JsEpTpDiu9JME4jCz+0Ztlv8f5gg/atUwhfZngZtIj+Hecx+rpjX2luWZboi fX3ib0DD1dJ4b8FOl/dI1SUSBMLxynWdQDlfhcoDKmhK5hnxRpTRRFQzUrZQc/dAqhA6B6 mnY+tsT8kOzH3NRwUUjkyOUAqq1+Ni1Tda/QD7QW4EMk1EklEdMcy31K97UZHDDVqHhjxu bnHuJKKnCW8+KGbWpsWj0JlvsZUM/E+2yBH4uk12GqtHw2m3+89qrZTWEZ0wKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNq006z1RzH4C; Sat, 20 May 2023 16:28:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KGSWEv095600; Sat, 20 May 2023 16:28:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KGSWF2095599; Sat, 20 May 2023 16:28:32 GMT (envelope-from git) Date: Sat, 20 May 2023 16:28:32 GMT Message-Id: <202305201628.34KGSWF2095599@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: ac6dd012590e - main - netlink: Move an INET-only variable under #if. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac6dd012590e01f6a5fef490d52ffb4a6ca97798 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ac6dd012590e01f6a5fef490d52ffb4a6ca97798 commit ac6dd012590e01f6a5fef490d52ffb4a6ca97798 Author: John Baldwin AuthorDate: 2023-05-20 16:26:46 +0000 Commit: John Baldwin CommitDate: 2023-05-20 16:26:46 +0000 netlink: Move an INET-only variable under #if. This fixes the LINT-NOIP build. --- sys/netlink/route/iface.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index 33a5dbfec3a3..84392aa5d7f7 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -1258,7 +1258,9 @@ rtnl_handle_addr(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) return (ENOENT); } +#if defined(INET) || defined(INET6) bool new = hdr->nlmsg_type == NL_RTM_NEWADDR; +#endif /* * TODO: Properly handle NLM_F_CREATE / NLM_F_EXCL. From nobody Sat May 20 16:28:34 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNq022ZVPz4CG3W; Sat, 20 May 2023 16:28: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 4QNq021mLrz3Dk0; Sat, 20 May 2023 16:28:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684600114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0XbvvOoWolnqEkebwXMauc/tPCQaY24lQT3PKa45QdI=; b=pvzut8V/2Bur7UTaA+e0j8mppbgvMSfC/lbcJ5PvrOK9z0uzE4kOypqToI8YQKT8F2Jh4z zWdIRavZzZffJuNRx5rZNBgMh/BftwAyDFfVOyTY7L5uhkSQe8ZdIEZwVZ7pksUwBQ9y68 FyVLG7VkfNi6Sle3h7Mnu0k949yJvppBOK7SJvE07RD2zod07O2AsXIjWPOmHvybVvA86p 6oA2UldiJFv0aCMxZlC3w1KdC73wajDHJUEYAzrNhT0WQRK+RIgo8t+6n+FMARs9X60Zdp MljVqmkEOBixqDARBNjgAu1u6HkiuD9iueT92YUvxShsttflo1w2YHeIu10zwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684600114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0XbvvOoWolnqEkebwXMauc/tPCQaY24lQT3PKa45QdI=; b=wptrzT0EHK/j6BfzNbr8Z8VzSTJm/fq8v0SQcduk5PbPHgG9vdzUjBdtNhs7MfUVYbAhny L8n/Yar/Qu8eUyCxIP2o4g/SMqWsVW36LhnLYGf2cRFOrfkSlCCkKFx43cuZ8uj+V16Wmy 0s6ULCRVC9kVwTjyujEDQtVjK/knKsTGB1LTZJQaG2LTBj5tBhfAalFtKQFEIUjS2u6vrO QY9ig8rpenDIvATa6Us+hG5WS93IfIr6D1tyRJyWBUbbPYtLRPm/hPhaRCWrguJOnl6vi8 nNgnzDy8vHtcwrIHkKvmnWR1oAfjxd9v88mCrTId4q3Tn9nStImRwGBD1dpwVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684600114; a=rsa-sha256; cv=none; b=osbRLQ15nWhG9jhQ/bJVUh++tcgIJJPLLxDyXWGu5nJudvE+vJ5LtcERY6oI48/VqtPy23 PjZVoJxu9G12eM58NqWw9GagJYqcba3t2l7wILSmfgv9VMxLc1Yol9oZtsDVh/wiEQUl6r vNJ9cvNBD6xOA87HzzZBoDddlYcOGxKhAmYjWvrSDiNRzfpxtArtsQXQI4mQjGNPaGKcDo xR1EA5LQtyhFFKSA9h7PkiW9BcyKLrFC8VFmQoicmR+hHSEs/2JGFL0PrvhhVH7B51Yqwg JWvAMO9PoEfo2atPK4jEfPrjRPfd1qOMYGfXL6ppOO5aQQWJkjEcS46XhpxMtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNq020mKbzH4D; Sat, 20 May 2023 16:28:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KGSYOi095619; Sat, 20 May 2023 16:28:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KGSYUs095618; Sat, 20 May 2023 16:28:34 GMT (envelope-from git) Date: Sat, 20 May 2023 16:28:34 GMT Message-Id: <202305201628.34KGSYUs095618@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: c98146ae229c - main - cxgbe: Move ethofld_transmit under #ifdef INET || INET. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c98146ae229cc60834bfbecc229f2f7725e458d0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c98146ae229cc60834bfbecc229f2f7725e458d0 commit c98146ae229cc60834bfbecc229f2f7725e458d0 Author: John Baldwin AuthorDate: 2023-05-20 16:27:40 +0000 Commit: John Baldwin CommitDate: 2023-05-20 16:27:40 +0000 cxgbe: Move ethofld_transmit under #ifdef INET || INET. This fixes a -Wunused-function warning when building LINT-NOIP. Reported by: rpokala --- sys/dev/cxgbe/t4_sge.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index 2c7d7d4d031a..053cf724a9ba 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -331,13 +331,13 @@ static void drain_wrq_wr_list(struct adapter *, struct sge_wrq *); static int sysctl_bufsizes(SYSCTL_HANDLER_ARGS); #ifdef RATELIMIT -#if defined(INET) || defined(INET6) -static inline u_int txpkt_eo_len16(u_int, u_int, u_int); -#endif static int ethofld_fw4_ack(struct sge_iq *, const struct rss_header *, struct mbuf *); +#if defined(INET) || defined(INET6) +static inline u_int txpkt_eo_len16(u_int, u_int, u_int); static int ethofld_transmit(if_t, struct mbuf *); #endif +#endif static counter_u64_t extfree_refs; static counter_u64_t extfree_rels; @@ -6497,6 +6497,7 @@ done: ETID_FLOWC_NPARAMS * sizeof(struct fw_flowc_mnemval)), 16)) #define ETID_FLOWC_LEN16 (howmany(ETID_FLOWC_LEN, 16)) +#if defined(INET) || defined(INET6) static int send_etid_flowc_wr(struct cxgbe_rate_tag *cst, struct port_info *pi, struct vi_info *vi) @@ -6540,6 +6541,7 @@ send_etid_flowc_wr(struct cxgbe_rate_tag *cst, struct port_info *pi, return (0); } +#endif #define ETID_FLUSH_LEN16 (howmany(sizeof (struct fw_flowc_wr), 16)) @@ -6780,6 +6782,7 @@ ethofld_tx(struct cxgbe_rate_tag *cst) } } +#if defined(INET) || defined(INET6) static int ethofld_transmit(if_t ifp, struct mbuf *m0) { @@ -6838,6 +6841,7 @@ done: mtx_unlock(&cst->lock); return (rc); } +#endif static int ethofld_fw4_ack(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m0) From nobody Sat May 20 18:41:51 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNsxr0Grcz4CN7p; Sat, 20 May 2023 18: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 4QNsxq6rlBz3rWt; Sat, 20 May 2023 18:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684608112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gcGJPSbOWcSVRb9I/2CA11Kcg5cvOsERUpmaMhc+WD8=; b=bo+0+4Gz5lcUlcRBTG2fsTnO3R/nVnO0d4imA/qJoMWUOcBqK3Qp2yB466PC/bWkdbyMME tBRp4fEJSw9wMt4sX9+iK74RLvNMCOOVZDGkmsSRu7FuTAV8qtktMfgD44hibjRpZpm7NG D3oe4iyjRlmLdBzKWQ5cDBrsrxqsKSURFCfm99ez9bJDhwRf8FJ17b/Cj94ne/m0EqqvTr +seY/+0uR3IdZ+khb8pslmUO91VBULpu7+Yc6oGee7ZZQkXRBr9664xb67Q5hJ4lL+uRto aV7cFTMh5cmd1mg068TEyrvytvotpgjTgl7O6yjLLSVDY0JMuizk33w0nRwfGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684608112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gcGJPSbOWcSVRb9I/2CA11Kcg5cvOsERUpmaMhc+WD8=; b=UpfkNDy1Ho4pdAxk+RKwv5nhSkJlhMf6Pk2Vbb3ds4psxEEupS+lam13LtnRZUW8rUswvF OsG3KpC4GcSuR+MNlpOOLF6epZCUK87HV2peF4IEbrRvWV9KWa2Yb46CqTTB4cuV/kDQP8 1tjUw2PDrsxA/YZeQIccG73wP+MosjpHSYzWzAP5LYJf6nBq5pbmfr7kE6gpgZC+PKgquE oPGhJsOXbHlLEnULcvhg2oCNicWN39WQ1AnwLCbAZjq38iY1+FQP0k5/NIqSO7mXZEGC5H dKnVe0Qz/63/pXSh3HgVq1Lut/T2HMxKOhidZi0a6SJDJflUNvMnzkmKhPNf5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684608112; a=rsa-sha256; cv=none; b=uaOlMBM7ggwxavaUPvWxmWewPAhBAoyzSkEpxSRAVxFvCKt194hYUMH32ceuDkPFh18fyM g6Haxu0sTssyyj7+TD6z5BNrn5RXGnLFyff0IZdT0EbPLAUH9xrRbeDJlQ5ALkwPbgdr5S b8ZovGxc6sqOdhI8WTBUInX/y83ozFcQoThxXKqOO/hWUh6g/d7FNrVUj5zAirP52wnmtQ 8z2i42GbtVzi4PWimkxLPtTLYARBNl+ERJn1jV4hVcTqQHhL6vA7lyi/b2KAFHOIftOSYi Xxr/0IZQ9lX3mPGCICRIrHStT+CebWpovA/X3I8jwjQr+mK0LgqM5AKzs5UDPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNsxq5x15zLPD; Sat, 20 May 2023 18:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KIfpEX025527; Sat, 20 May 2023 18:41:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KIfpN7025526; Sat, 20 May 2023 18:41:51 GMT (envelope-from git) Date: Sat, 20 May 2023 18:41:51 GMT Message-Id: <202305201841.34KIfpN7025526@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: c6750ddec917 - main - Require the OpenSSL 1.1 APIs when compiling ldns List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c6750ddec9177b67bb4883717933e87ac24a3a44 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=c6750ddec9177b67bb4883717933e87ac24a3a44 commit c6750ddec9177b67bb4883717933e87ac24a3a44 Author: Enji Cooper AuthorDate: 2023-05-13 02:38:18 +0000 Commit: Enji Cooper CommitDate: 2023-05-20 18:41:24 +0000 Require the OpenSSL 1.1 APIs when compiling ldns Moving the APIs from OpenSSL 1.1 supporting APIs to 3.x supporting APIs is a non-trivial effort. Require 1.1 API compatibility to unblock updating OpenSSL in base to 3.x. This mirrors what upstream has done in their configure.ac file. Submitted by: Pierre Pronchery Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40082 --- lib/libldns/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libldns/Makefile b/lib/libldns/Makefile index 40efe0ff0fda..df75e403e7d5 100644 --- a/lib/libldns/Makefile +++ b/lib/libldns/Makefile @@ -10,6 +10,7 @@ LIB= ldns PRIVATELIB= true CFLAGS+= -I${LDNSDIR} +CFLAGS+= -DOPENSSL_API_COMPAT=0x10100000L SRCS= buffer.c dane.c dname.c dnssec.c dnssec_sign.c dnssec_verify.c \ dnssec_zone.c duration.c error.c higher.c host2str.c host2wire.c \ From nobody Sat May 20 19:01:32 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNtNX286tz4BPyt; Sat, 20 May 2023 19:01: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 4QNtNX1hLLz3scr; Sat, 20 May 2023 19:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684609292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nc2rOg5k9BuQRKLLYv60JGBa+g3718F87rjFe7Fnz14=; b=JG5bkF5HSwtjcOcFN0Zcx6eiWQ8zruv1L3A4KXwjEQ1odBOIN00m3M4dz11/Vi4zQUXCUQ JU0c0gt/3bOqOG22QOD5VvWOy6IG3XdNIcACqy3S+vqJiS73zSt4toCOZf68dkOyj+ELRS rFyBu+vQirxjqrfRJ6tXvJC/FTzRksSCpnyoOWoE+QfRH8zwNcMJs2Eq078V0wb9m7PysT Pe0bV9jwJvcmUFTqsfYoWvtICVcHrcPz5XuHIA6GsXau+NOqlfkk4/RVG/BC0pxOMZoXMC cSDSuUKNq5gV9l36twPCcXBZmF3QU3a8iTAr/pEijctoOUy3PKbfj0QVC/Ev2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1684609292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nc2rOg5k9BuQRKLLYv60JGBa+g3718F87rjFe7Fnz14=; b=GRV6+v2uCfwYSeH20aOwbWu+H75qtn9GFxaIbaMZ8fMw3MSZqFZQpOwOSEBPjBi+/IB4fk ZFS41+ozjdBiALp8cjJiH9lbM52045dyZhLhjWzvd3Dkr9pEHsMhkNZYZNPq7qzMgPPAG0 fh1F8IWWyOh7cMebKyj6x+8rQGNYRW3xmpDUax3Ps+Pxp30erqMzR0Owbl0ZJntnz6ImxC VvVcZG47TSe5atIOZAc0gyjrXhiq+kGuZuDX288/AEoyACeL8x8IaFZ6COY/seNQgCzKpa /Ykb+tUpNwc5qsVYtCdrs11M6dIGDLdOk8xNlCCdWw9FiePPBu9I1IQqsN5YKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1684609292; a=rsa-sha256; cv=none; b=N5ZybnadsuNQr3B6n7jJocnLrw+UaznJVAqOwtqcN+B0t8ht3ff/p9vT+OO4E1IOkab1h9 p6kkJp+emUuSNnz9JApkS6T/GLTSPJ7iCs+klkpBbvMUJPgDqcNvBcHFAXgfz04h9MqEUp hLm1/9dpQpiZ4SaKgzw36h/ByFv21gP5zt87/1pN62xqB/k0u/LuS03NFN2nHKn0rYLkfM P7WGjXTpp9z64FU+p5Yc9rBwpSicTzaZtzNLlc48a2FAK7KyHXW11Pt//tnI7mXx06rjHN lLBxxM2NypL6Uh/fVJIsE26YDPjl/9K1iEGRCi1PG2Z2F5d2Gw9Zr7Z8VLQy9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QNtNX0mBdzM8g; Sat, 20 May 2023 19:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 34KJ1WqI056781; Sat, 20 May 2023 19:01:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 34KJ1WDI056780; Sat, 20 May 2023 19:01:32 GMT (envelope-from git) Date: Sat, 20 May 2023 19:01:32 GMT Message-Id: <202305201901.34KJ1WDI056780@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 902dc544cc58 - main - Revert "Require the OpenSSL 1.1 APIs when compiling ldns" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 902dc544cc5859e24c727126e45416133c1c6d46 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=902dc544cc5859e24c727126e45416133c1c6d46 commit 902dc544cc5859e24c727126e45416133c1c6d46 Author: Enji Cooper AuthorDate: 2023-05-20 19:00:34 +0000 Commit: Enji Cooper CommitDate: 2023-05-20 19:00:34 +0000 Revert "Require the OpenSSL 1.1 APIs when compiling ldns" This particular change appears to have broken the build; the change needs some massaging to work with OpenSSL 1.1. This reverts commit c6750ddec9177b67bb4883717933e87ac24a3a44. --- lib/libldns/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/libldns/Makefile b/lib/libldns/Makefile index df75e403e7d5..40efe0ff0fda 100644 --- a/lib/libldns/Makefile +++ b/lib/libldns/Makefile @@ -10,7 +10,6 @@ LIB= ldns PRIVATELIB= true CFLAGS+= -I${LDNSDIR} -CFLAGS+= -DOPENSSL_API_COMPAT=0x10100000L SRCS= buffer.c dane.c dname.c dnssec.c dnssec_sign.c dnssec_verify.c \ dnssec_zone.c duration.c error.c higher.c host2str.c host2wire.c \ From nobody Sat May 20 19:09:24 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNtYt2Flkz4BQDZ; Sat, 20 May 2023 19:09:38 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QNtYs5gLzz3tHc; Sat, 20 May 2023 19:09:37 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-4f122ff663eso4873353e87.2; Sat, 20 May 2023 12:09:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684609776; x=1687201776; h=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=8+AY0wpcc2ltqxfasLD8phppUYBC7aNaUY634RQ2nHg=; b=PP/Sfmf82oTroIe9LTQmI0dITSByhkDlfJwt3yG1s4QKgkLDozWRmRWbgR0+VWQyUz ccTmlYNbuufvijrL8Ki7yjBwh5Lb/2FT6Hz8mFywUtXVoZPxFyEdNGfIhCzQRY/raCUx yE5Xqx5TbNaCEArGiINRkD3Iwf7wK7N0PvAkYEcOMqEBPl5S1Nu7biL0VozkQl4irOrU hLtuqPKdseTk0Q0iWfpzTwzMwj7bkJtHuRs7IaOCyAurLK3pt3/MuNZg62Kn4A5Q4PBf Q3I3L/WpaaUZQHd+/RGI/F/ArgM2GU4NA3zDZylQ9J67uwXSRIYaPHmz26hXCdjo268f hR4w== X-Gm-Message-State: AC+VfDwcZDev3R92/m5H6hmQX7CFF6+9JRH2qaWegGOlpR/EOLDaRzFn ulHlxpygmju0EaR9WvaFGMwjXORgeeF/ErKCbCdlaBXS X-Google-Smtp-Source: ACHHUZ6ErLmq890sxOgPthm1cbiP8O0+qY1pogpe+0wt8DIBYyGKgZHalBYILAOYRK01upMWha0VI+mwVyCeGfnpHOk= X-Received: by 2002:ac2:46d0:0:b0:4d8:5238:ae97 with SMTP id p16-20020ac246d0000000b004d85238ae97mr1893168lfo.36.1684609775628; Sat, 20 May 2023 12:09:35 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202305201841.34KIfpN7025526@gitrepo.freebsd.org> In-Reply-To: <202305201841.34KIfpN7025526@gitrepo.freebsd.org> From: Ed Maste Date: Sat, 20 May 2023 15:09:24 -0400 Message-ID: Subject: Re: git: c6750ddec917 - main - Require the OpenSSL 1.1 APIs when compiling ldns To: Enji Cooper Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4QNtYs5gLzz3tHc X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Sat, 20 May 2023 at 14:41, Enji Cooper wrote: > > The branch main has been updated by ngie: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c6750ddec9177b67bb4883717933e87ac24a3a44 > > commit c6750ddec9177b67bb4883717933e87ac24a3a44 > Author: Enji Cooper > AuthorDate: 2023-05-13 02:38:18 +0000 > Commit: Enji Cooper > CommitDate: 2023-05-20 18:41:24 +0000 > ... > Submitted by: Pierre Pronchery With the transition to Git the `Submitted by:` header is deprecated -- the original Author metadata should be retained. (There may be occasional exceptions for old patches prepared before the Git transition, or where a change was submitted by some form other than a patch.) From nobody Sat May 20 19:20:31 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNtpj34CWz4BR2Y; Sat, 20 May 2023 19:20:45 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) (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 4QNtph6XlNz3vTj; Sat, 20 May 2023 19:20:44 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-25372604818so1766761a91.2; Sat, 20 May 2023 12:20:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684610442; x=1687202442; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5ZOluj+UmR7Sj+uwru/GUGNdw87mlr6Rv09zLUp+Sa8=; b=RRSfrm+nSnf40bf9NMRBVuUwuQlS/Zq91cKh1R29tznHwirRgvExhlC30M85Y3fz9P gDe9YB1CkJvkZSPCYPTWwSqlEPXozJYT6QDRY5n/iZ3Na/jOruxK8ddb6hJ1WSTy4+8H oOnIcg/MHq6nT1G89W1BqNchnWt+q47KB0JRCLDpzkmUbG8rM9NrS0bqyMSqI388IwBo EKCnxfXYLKnwBvvlWXm8CnXgLIZdmYZKH0H+52uPCEPjZEq1ez5M9IBMYLUeOu/BqUDB Lk+i/aBL9BOIzkMbnyHNCzgbgE5FIw94ytUj7t1Agh0tkBmMAACH96l9BPW30t+NEIzG 5PSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684610442; x=1687202442; 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=5ZOluj+UmR7Sj+uwru/GUGNdw87mlr6Rv09zLUp+Sa8=; b=OgldruqbmZPPeJwpjamztya93889x+H93er/lvxPTaa3UgSY5JCrS/zmcvcebPLRZj rXmSiU80+woP+MrfdaLij4X8fHNVUruPmuL7PJQeyxsFKnbYbyI8ZPuVub1tUwEouGM5 RYjZFx6/ZZJOYChLc/nqNdUDhJRaTn5q35UnQlE6ONH1JILDc3mAzc89vJIJZ6mzwFh7 enBpNerRTyng65EpC4tmwHLDzhoU4OyqUjYj2E2yiKSMDIeS8SMK4YpEjyrDH19IYS8s mFdHmmo8V5dSCA4r/IjyS0iP9lUF3ciSd53gmxLF1k7XrbYI495aTVmO4cjnWwJJSCHb GQEw== X-Gm-Message-State: AC+VfDy17IYeBaLcAu3fmHBvapFC4rVqk2JSQFNGXacgqTi73sJfskrH u0HZJp5QxUu3dYhybtH/iNnqRHvCy0Yjd2y31G00/gBTDw== X-Google-Smtp-Source: ACHHUZ7dKUIRJJGMrATxL/gYeUjG/A5TSzncSdLAL5D7O6Qq9AkoYZweDiJRh5ChaGwLan8oPhmHLbVXMd21sXHoDJg= X-Received: by 2002:a17:90a:af96:b0:253:5375:bf57 with SMTP id w22-20020a17090aaf9600b002535375bf57mr6008025pjq.26.1684610442507; Sat, 20 May 2023 12:20:42 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202305201841.34KIfpN7025526@gitrepo.freebsd.org> In-Reply-To: From: Rick Macklem Date: Sat, 20 May 2023 12:20:31 -0700 Message-ID: Subject: Re: git: c6750ddec917 - main - Require the OpenSSL 1.1 APIs when compiling ldns To: Ed Maste Cc: Enji Cooper , 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: 4QNtph6XlNz3vTj X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Sat, May 20, 2023 at 12:09=E2=80=AFPM Ed Maste wrot= e: > > CAUTION: This email originated from outside of the University of Guelph. = Do not click links or open attachments unless you recognize the sender and = know the content is safe. If in doubt, forward suspicious emails to IThelp@= uoguelph.ca. > > > On Sat, 20 May 2023 at 14:41, Enji Cooper wrote: > > > > The branch main has been updated by ngie: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc6750ddec9177b67bb488371= 7933e87ac24a3a44 > > > > commit c6750ddec9177b67bb4883717933e87ac24a3a44 > > Author: Enji Cooper > > AuthorDate: 2023-05-13 02:38:18 +0000 > > Commit: Enji Cooper > > CommitDate: 2023-05-20 18:41:24 +0000 > > ... > > Submitted by: Pierre Pronchery > > With the transition to Git the `Submitted by:` header is deprecated -- > the original Author metadata should be retained. (There may be > occasional exceptions for old patches prepared before the Git > transition, or where a change was submitted by some form other than a > patch.) Ok, this is news to me. What is the preferred alternative to "Submitted by:", assuming it does not already have git junk on the patch? rick From nobody Sat May 20 19:23:54 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNttc4c8hz4BRLv for ; Sat, 20 May 2023 19:24:08 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 4QNttb6Cmxz3wwJ for ; Sat, 20 May 2023 19:24:07 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com; dmarc=none Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f41d087a84so13673175e9.1 for ; Sat, 20 May 2023 12:24:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684610646; x=1687202646; 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=R15I1QUJX6VBnGg5avGMZtfzCEYanUk/M8t6qMmvrdI=; b=C3qpb4dlDlb7jkVrT6QN19R95kr0VC8AUn1asTetKq5eqx6ZgMDZHYmrWl0CS4QU+r eVwwGegEU30Vt2bn1RRhzLXCAMHHr3XCt2pGeW7wcsUK9rrDOYiJpmk04Huu4Iy6tKV1 lnhrkeLQljWw06rsRVKQTxSfbJPqJoJunUM2b1aBK60M7Kxahk8fikiqPCu3Xdmv6cb6 xtNdCHUdjG8xTksTnGh/rPwyjHg4WCBfF7BO+xEV2g2Mpo00QBxMK7ykTntJAPg70Cad Z1SBc5U4oTcKvaNJIRhji9pkLB+2hbRCJ9g8KwXgLBjXPXwYmSc4a2ipoV9Kc6OGbdGu pmSg== X-Gm-Message-State: AC+VfDyBeJsT9jUjr5g/c8M6paz9RMSDQKZzo4sNVUmDVdkaBQzA4Ifj N7p08xGrbiavm8IWcUn9ggUrCw== X-Google-Smtp-Source: ACHHUZ4TXf5x1sQjYaZvLUPJ4lOiyIRE2NpLskbhXCrUuGCg99AUAIQV2QxwU87O3Y1fPBpiC27P/w== X-Received: by 2002:a7b:ca44:0:b0:3f4:e432:7589 with SMTP id m4-20020a7bca44000000b003f4e4327589mr4335907wml.10.1684610645853; Sat, 20 May 2023 12:24:05 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id z4-20020a056000110400b00307972e46fasm527604wrw.107.2023.05.20.12.24.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 20 May 2023 12:24:05 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: git: c6750ddec917 - main - Require the OpenSSL 1.1 APIs when compiling ldns From: Jessica Clarke In-Reply-To: Date: Sat, 20 May 2023 20:23:54 +0100 Cc: Ed Maste , Enji Cooper , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <202305201841.34KIfpN7025526@gitrepo.freebsd.org> To: Rick Macklem X-Mailer: Apple Mail (2.3731.500.231) X-Spamd-Result: default: False [-2.50 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; NEURAL_HAM_LONG(-1.00)[-0.999]; MV_CASE(0.50)[]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[text/plain]; FREEFALL_USER(0.00)[jrtc27]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TAGGED_RCPT(0.00)[]; DMARC_NA(0.00)[freebsd.org]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.51:from]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_FIVE(0.00)[6]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.51:from] X-Rspamd-Queue-Id: 4QNttb6Cmxz3wwJ X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N On 20 May 2023, at 20:20, Rick Macklem wrote: >=20 > On Sat, May 20, 2023 at 12:09=E2=80=AFPM Ed Maste = wrote: >>=20 >> CAUTION: This email originated from outside of the University of = Guelph. Do not click links or open attachments unless you recognize the = sender and know the content is safe. If in doubt, forward suspicious = emails to IThelp@uoguelph.ca. >>=20 >>=20 >> On Sat, 20 May 2023 at 14:41, Enji Cooper wrote: >>>=20 >>> The branch main has been updated by ngie: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dc6750ddec9177b67bb4883717933e87a= c24a3a44 >>>=20 >>> commit c6750ddec9177b67bb4883717933e87ac24a3a44 >>> Author: Enji Cooper >>> AuthorDate: 2023-05-13 02:38:18 +0000 >>> Commit: Enji Cooper >>> CommitDate: 2023-05-20 18:41:24 +0000 >>> ... >>> Submitted by: Pierre Pronchery >>=20 >> With the transition to Git the `Submitted by:` header is deprecated = -- >> the original Author metadata should be retained. (There may be >> occasional exceptions for old patches prepared before the Git >> transition, or where a change was submitted by some form other than a >> patch.) > Ok, this is news to me. >=20 > What is the preferred alternative to "Submitted by:", assuming it does > not already have git junk on the patch? Don't know what you mean by "does not already have git junk on the = patch", but git commit --author=3D"Charlie Root ". Jess From nobody Sat May 20 21:32:41 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNxl96BmCz4BYYW; Sat, 20 May 2023 21:32:53 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (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 4QNxl85rzHz4F6l; Sat, 20 May 2023 21:32:52 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=oE0A9PN1; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2607:f8b0:4864:20::102f as permitted sender) smtp.mailfrom=rick.macklem@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-253570deb8dso2680440a91.1; Sat, 20 May 2023 14:32:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684618371; x=1687210371; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=u/9zg8NAcg+e2dHjwCHJDiiCyR5swlAub7dpwNRmzgo=; b=oE0A9PN1AwnnBA9K0lOYl0hl0LzpEZgtEBoNFZZ3FqC8Wo2un6M3IGcBBso0BigjUy tnXJYgHhqXYYigSYAJ2b41tvSC28RjEGshluJBufl35pWOysEfleZB7AMUWxvupv2cxi JR0Zpjnszu6XzfMkFM0ACVKDJVxD6lcURDbdt8sXDYXmtQzH1X/x3Kvk3fVaVtSmId6y F/qn9+jcEY8GJxthdReIYzVH8VK5/C3xBybzIAir835PZ0h68o0GpGEW1SV5zLcnD0rP /KQObrA/YZ3lGtqvyd1WxHuO575IL5M6LDlfmXnb0gLqtouQQ1TBPQMvJzGP7tLab74m p1Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684618371; x=1687210371; 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=u/9zg8NAcg+e2dHjwCHJDiiCyR5swlAub7dpwNRmzgo=; b=hK0ZTqtPZVF0V6cClg+0NkXOPrBX8VMURdXxsEpNvdUFRSFeOFEoIpuvRDIIwarhOC qyraENNRnAA3vjU3v6sU6VVqFLyiFZuH/v1UtW/t4IQ0HCRIeXsjDFF59JH3sJ/o8IV+ 1WtYSpvTBuDkVVKmqW7ePvL9IavxKK8ZXq/v4Ed6ULJWzDZpqAxGNYVMpr7taFGnJGLW +YYYpMuVPgwA9S0P617acs2PdBYYhjdgkx8XxsGUyj7HH5hBcMeZrh7u3XryLmaegqkZ L9yasKzxOWVrW6lIdykTT8yi++pOrGUKXt5zgXybAHu7tVZfs4qeNg3KbXvSCdeVYuYv u8yw== X-Gm-Message-State: AC+VfDyseGkFMI+OQwGHqbT1DBfBy4WrHurosOceuC6vOq/rEMNdHcpK 8p42Dm5rHeUsO5LbeEueQ2KstC611tzNkWRuK9F7DF7lcQ== X-Google-Smtp-Source: ACHHUZ585X1F1WffsUpR6zQpUq9fD/MkP88NSpE1R4+tpXC/4R2D/g2+qURCSjDwqsf2bc0gqRY/bT4YyiZWDW0hB2Q= X-Received: by 2002:a17:90a:e557:b0:250:7347:39d9 with SMTP id ei23-20020a17090ae55700b00250734739d9mr5883858pjb.37.1684618371357; Sat, 20 May 2023 14:32:51 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202305201841.34KIfpN7025526@gitrepo.freebsd.org> In-Reply-To: From: Rick Macklem Date: Sat, 20 May 2023 14:32:41 -0700 Message-ID: Subject: Re: git: c6750ddec917 - main - Require the OpenSSL 1.1 APIs when compiling ldns To: Ed Maste Cc: Enji Cooper , 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 [-3.17 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; NEURAL_HAM_SHORT(-0.17)[-0.169]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::102f:from]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4QNxl85rzHz4F6l X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N On Sat, May 20, 2023 at 12:20=E2=80=AFPM Rick Macklem wrote: > > On Sat, May 20, 2023 at 12:09=E2=80=AFPM Ed Maste wr= ote: > > > > CAUTION: This email originated from outside of the University of Guelph= . Do not click links or open attachments unless you recognize the sender an= d know the content is safe. If in doubt, forward suspicious emails to IThel= p@uoguelph.ca. > > > > > > On Sat, 20 May 2023 at 14:41, Enji Cooper wrote: > > > > > > The branch main has been updated by ngie: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc6750ddec9177b67bb4883= 717933e87ac24a3a44 > > > > > > commit c6750ddec9177b67bb4883717933e87ac24a3a44 > > > Author: Enji Cooper > > > AuthorDate: 2023-05-13 02:38:18 +0000 > > > Commit: Enji Cooper > > > CommitDate: 2023-05-20 18:41:24 +0000 > > > ... > > > Submitted by: Pierre Pronchery > > > > With the transition to Git the `Submitted by:` header is deprecated -- > > the original Author metadata should be retained. (There may be > > occasional exceptions for old patches prepared before the Git > > transition, or where a change was submitted by some form other than a > > patch.) > Ok, this is news to me. > > What is the preferred alternative to "Submitted by:", assuming it does > not already have git junk on the patch? Ok, thanks to Jessica, I now see that the Committer's Guide has "Submitted by:" listed as deprecated. I was confused because it is listed in the left column and then you have to read the next column to see what you are supposed to do now. I'll learn to read someday, rick > > rick