From nobody Sat May 13 23:00:44 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKGb42h6pz49CTr for ; Sun, 14 May 2023 21:58:08 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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 4QKGb412NCz40kg 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-f46.google.com with SMTP id ffacd0b85a97d-3063208beedso11457135f8f.1 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=QfPzibDBdeIoRGqMcpquYSROTlTHbHZFeSsV2n8G/thjkt8JuFB+PcFNYGOz6NrpA+ 10R5WBjcieGj2BV8jMMxF+ifk/e6k1lpuLvjaF5St1HYmMeFCGAk9Jgcj273bxTenIFf j61wQK2breBH2byzFReB7UAgPFBEh1IUK3Fn6qrTcgr4EPQvhNgTMspZ9FM3UR1GoekH M1uFu//h0kyj3CklWIt2TJoF1mtEniVCNZP02e09y0A9MzHSCG37sZSzh0m+FrDR3Mbe G7O72dQ2716cRZtFCsubkriuGTMGztgO3NI2xdsC3Lx2jDc6mZ5ESvz6i+UDfqDMTwpk hQkA== X-Gm-Message-State: AC+VfDxra4NPmpRFmJ1QPVe2uCDZQEXhZYJbCorXBS4cJ5zWc0BAu/1v natv1BugMv/pCM0O9/RyXdeuGg== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(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: 4QKGb412NCz40kg 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 06:24:09 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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:49:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKkMp5cXBz4BlpW for ; Mon, 15 May 2023 15:49:58 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.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 4QKkMp2snNz3MBS 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-f45.google.com with SMTP id 5b1f17b1804b1-3f509ec3196so35935815e9.1 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=XGlXF30sHVuTZeMKWaAyI78oIH8rEGaAD/UXc5z37dmJXxoXFeLfvt0bmMy69HL2hK CHdCui7WunY9iF3Hq0HH+N+xzJN+7RpZJrqTngkfybJMVmmNEaFZDTy61kwUb+4fjmnt MrcenVNput2wEukmEnPtibuw57ag9ptSUPAI2jPrx1U6+6TPQQjOqfpSnKvTPmHJXaKp MHSxJzx585V9/nWgpMZkTeGk/ih/ePsZk+SwUnnth9CBBSD3aKf8V2F/hydf2e9EKh4g KuBCVGrbplIqbnd8hy2jzpBg8LpJBKXkDo12lxK5IUzJaRhI3+rQRFbL51wDVaz4Bh1e 094w== X-Gm-Message-State: AC+VfDxIbse5ICITYz84oxWnl7Oac2LSN7xjMYADTnOLygMpIY3qxr/D 3RZqd3OQxcc7IOBDCSH5Pb8Qj5ACQJNvW15WOF8CWw== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(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: 4QKkMp2snNz3MBS 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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:26:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKrWK3bg9z4B31j for ; Mon, 15 May 2023 20:26:53 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic313-20.consmr.mail.gq1.yahoo.com (sonic313-20.consmr.mail.gq1.yahoo.com [98.137.65.83]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4QKrWJ1JNtz4GqJ for ; Mon, 15 May 2023 20:26:52 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=J9nsFob1; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.83 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1684182410; bh=HI9iqIlOZapvWBRJ3X0+2h1dkydMZE+2RbHoxgvdk1Y=; h=From:Subject:Date:Cc:To:References:From:Subject:Reply-To; b=J9nsFob1j9WEiJpCJpvUiOZLHOsilhLPihlzwt0B6fTCsAm7J+nCcrix5tqp5K4Mjp0214Gb2+E62j1aMqnBeilv4LIm/PTsq8LhfCPfo8ZKxpYsECrU4fb7k3V/s1ZfvnTpmU+DQ1qhyKAcre0LSi48HPbHZkM1KG9TIgP/WCTxDdV4tW/9+ICaxk1vdLGC3N6rLv4dI0BMbkoaOnFvEFiz77BfuidN4prSbSYJmBZ/5SmNGs+z78xWLluI0HXTs9t2BK88j0FXdt0nYpZ6GErWb3VzrEE+6MjEBzK46TQdPTBNAfaUMReHcG+KmHDDyRgp4YkMsaNy88UVfqUyog== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1684182410; bh=nnN+YLtuqRUShIQrSN/COKT4XdnjO3m2BuUgNFiPjak=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=HJuhLiSHv58txFT+7HsEB8iM0GPHjqHQi3gJL8cUDQ6SBTZ+Rj1JOFr7lznmV8Cr2BxJJxp4aDWzhxMSi98lQbEfDzhAuzhzce9gLV11+vPHu3V3Q77gU8zGRk6LZy9UeicMO/NDNYp0wTJW8pG5nInMz7HSeHEyzDwCTAyxa4IfkDDh1gKyhrP91bEkYQjEyYvt0Obe0wHlCbxAECf2Ngqp9AkRP4IouEJnxV3qqfNpxWZ2guNQp5t7bZUfu0nP5TuuRAnbjd9joh0CCjGh0Q50FMAqWj9ZzgCUGL7tSX0KFGTU/v8G4459xncaIL+IER15k5klM2n21kFdvRueaQ== X-YMail-OSG: ewFLnjAVM1mBUyVZ6DoxG3TZZIjbZQIdriyG4MYZ3DVJboV4bBTfWVRDCilQ4mm X9YCBx5zfJz_BQLGuGb69.Vmi6uSwp6wC64Pu31VfoLlZ0wyXshJHyN4EgUynzPdlheRb2v5Tk.Z uU2bQBbTnqTcks6xnShr5yxaXax1T_9al3B58cfD6ER3etjXPqh7THlwV2ybPSuvkRZr9WeBVjxI .paayg3v5hJCfKLYGO52jQWEBxU4yMYnX2L2NEJo6BFuF2YU33QzTGbk6L8ezpo_G3pKckwmydG7 jwhbDaxv4XRjxnPJhYWHASU5_SIhdmHg6_btryNIBoZzwOs8SRofcY_vpVSuNnpHRLsvqUQ03rAZ c9p3l3biYb_OD9bVzq2dlokP6ZUPORyP4Fm8vuksYSZk_RfOjXS1Qnvvw.ncBDW3JFA_7t6JNueM 7me8hm4E8mW72UVbgpVZOrkbe5JrUbyPNm7QKcamrKoY7HWkFnGbEkZAU0Ng6X1w.9lBD9hRVbol WkPZXKO85L_7qd.UGRJKw8sxd1tUdmxQqqT4tE.LFL9NqsYzkMtgW2C0iU6z.LMvTFJv7Lvq1Zv6 Uqtz5u4b9ZNWyMcuHdmafEKVqpJqhaMYE2ICdUGvAxrY83xdhYUP1wP.BFDe.ZEEotvaOLxc2FhC P1fpQ09Kt3f5Yst8EuaJc3rLEfDBAvVJIvEyD8mSNvUQQIMVJsVXi.znUwSsmp6G8KZkp7dgRgHt QK3XS9oCLyCO37oJh81bOgm4EX1jpLq8dhWFoheMh6_JQiMwebs9v0_pg60Y_Y_xlCSwKVh47FSo oKidz8uc2PrgkhoE9VnwHAHuh4DJ4dzgpb14DgZ29LHH7Uvd_PZjyu4RnsEkgKsKMXM6VuBVvL81 wtzk0MOEUKQEiZAXGA2q9D9t7QyQkj9Lmas9Fqy6tZ0u1fYwoIYFCstvzfI8sR5GUOW6Bp7AQI09 gosnhsKROTdc5ODskc6tLQQONQO.t938PG9YhpnI0TUfWcYNRB_3LmqG7lo5YHTjaZKLl7rwEFEQ xcxbd01mixzmNX1Tq5oJFlCvEFuZB_0Se_wdP4N_ol9mYvnv38oVsNJPuhCT7EsgH1TZt9TN6CtQ g93Ze4q1pnYGYbNbt0XMtkHcsf1pXk8AOpluZqYpdSDhF0uTUpMcMkSji.MW.GcgnP5C83GVhChf ttT3cQOfZbpI9pzad4FvyYg14_6GoBdY2r5ZzAKaW8WQD0pZkeMZz2Cp4WVQhG_BaTh93cCTbnET GVN0sfk0kSHRcNwpSLYhd3ZB2JY0Mj._PFZwQINjscoX_zkPDpG9WER3vEs4pZuPILm6z5QRWlcW M4ah8bVFPyOO7N9FTEr0O1rZ2wdGNw_aDKe49e0iKXoh5cc9.A7.w532zm.KGxpnoFhpPP5YEo.m 8ZLsYtWt_9Q9lQpFTV83il.jR1AHuLLDdZYbwb9ki_ff.8.DclhOam86oESpoNdTCBqvmGXWVLJH sn_bXWJT6cMk8wC5SXdBp1DtzNehPDJp0hzeDh2OK53MSEHv9AfZNvtQETe1dWenSfMtIDGsgwjh 6pGqOA6Vo0XAmgMN6FUIsD8XSmcPudwffKuG1wUBZhngHhkwESv2Mv23sYvGpuDe8Y_uYErCSEJm RzFOO66k6fGrfAG1s7Y0jI_t3Z3WRTNXj8cNZfFEyElytpakXNjPOInVXG038RWTJA0LVLg28a_B mfSvTr_jCFtWxRwhKwlS2yLdxSZ.B5_9pCylZp5wVHU1we_zvNwjlygMZKsC.sSG2PrwKeK_hQGk RzrtwztR6bkjucxjEaTHrnWrB7TMopOQGY8xmkWtGSaSSlHE7h8BHY9wNBgZAdW6jBhPWbgSEdy4 fPALVXRIc31b71ODrfRTHXpWsGBl38focBmsLV5Dk3hrFAwgtiRocko_qyTnwxtOOKHMysIbagDM .a_9RGJ7rkkTD8yts_DQ5Tgar6sBrjolf3CqOxzf.huu1seC57NqsxRKj95Pi05IEzXdnpwes7iN XgS3Wpp8YzVEWbCTGRKMkh_EIeKg5Xb33lMxWl8ooRqGxRSNh.6UahOHxhBh8JAXEeiV11un2nZn j2IQ0gXkdzF52wCOzxR7JSV3ciw9ZcyM5jIHNJTvOKCmWiyRM7GkEq5Gn.93r8jRUH1.hxHrM1LA Hr6e45S0ZDQ_Xdfry.unRjDdtXOdP2NxwauAN3pFcKCgbBfvOvzjdt2eDGrlhkGgMtzTl0434dGW Tylw7Q5BNdQzDu4s3HriPbzha94Qo9TeMwMREbtOwWqXvC3foknfXRRuRkFCCbw29RaDF8AVzHE. 5MZJ73a8- X-Sonic-MF: X-Sonic-ID: 6aecb9c0-bb83-4e28-964a-dd057433d412 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Mon, 15 May 2023 20:26:50 +0000 Received: by hermes--production-gq1-6db989bfb-z7s2g (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 5e057833ae8cb0a922eb1cf352cbe8b5; Mon, 15 May 2023 20:26:46 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: git: 4b500174dd2d - main - arm64: emulate swp/swpb instructions Message-Id: Date: Mon, 15 May 2023 13:26:35 -0700 Cc: jrtc27@freebsd.org To: Kyle Evans , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3731.400.51.1.1) References: X-Spamd-Result: default: False [-2.95 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.95)[-0.954]; MV_CASE(0.50)[]; SUBJECT_ENDS_SPACES(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.83:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_THREE(0.00)[3]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.83:from] X-Rspamd-Queue-Id: 4QKrWJ1JNtz4GqJ X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N Kyle Evans write on Date: Mon, 15 May 2023 15:59:04 UTC : > On Mon, May 15, 2023 at 10:49=E2=80=AFAM Jessica Clarke = wrote: > > > > On 15 May 2023, at 16:42, Kyle Evans wrote: > . . . > > > + return (!match !=3D !invert); > > > > This is equivalent to match !=3D invert? > > >=20 > 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. Off topic but prompted by the "match !=3D invert" : A hardware engineer would call that !=3D for Boolean arguments by the name: "xor". That is not my favorite name for it. I prefer: "Boolean inequality" or the like. I've seen code in the past that expanded out the case analysis based on the tests for specific values. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Mon May 15 20:52:24 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QKtZx2Ql9z4B8S8 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 4QKtZw4v4Jz3D62 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-30786c87cdaso10504255f8f.2 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=iScUmSIgnymZeZi26qcm7J4MRouz7yLmnKJEUSHVQIBlmB8Jjn1wzYGZhQFLjSsh9g kn2SzZgXFJUDhqq9v5jZGiSwX8tLR4ELQJgzxQFJt63h34Yu9B3FwlWya1voLi7CkXkM h0Qjtf1SfWXQXlr4u7wGVXfA0YmqX1bd8rFx1mxARB8ZX0W8d4jw0G/Ysq/dxWph37Qw WS/Inmk/VOimNp5mQwMkliVySH8pKFSO+D5WnQe35g484avdCyPYCwbUVmtbHyqgjAav 1h290hfGM4fFG5kr5iUrNmgO/jFIPiH8Fhp5AJOIh26k00eSTYNt3njtemLrkdb3k9xZ otYw== X-Gm-Message-State: AC+VfDwyjXdrbo8eSBezUBO2PUuN4PnUqA6u9FllOohfo9blA9iOQoJX wSzX4E3+EDDuvvfo2IIsW4IbDw== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(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: 4QKtZw4v4Jz3D62 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 Tue May 16 00:39:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 06:48:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 15:04:13 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 Wed May 17 02:12:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QLcHw2tmZz4BkSC for ; Wed, 17 May 2023 02:19:40 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (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 4QLcHv3K7jz3F8q for ; Wed, 17 May 2023 02:19:39 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-9659443fb56so22953666b.2 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=XyzmlRaVsSF1NcL4xrfgLvADl4ODb4Bc3n3DRQAhsqr643CQ53fq2OpR17c7nRLd4K oImszkl/wWMMl6XGZVZ1PwO/cBYWfX0jutBPcgiYeVvGt6Dz8YlhPQbJSCLgntyuoU8K XGDIrvssccK+QO6rbOlCzvVC8rtZo0n9f03gDtIehaVxMf+xPYS6+z6TyXPsBxtvqo4w 5o1kHIbyCgL/yxU9AmGmbr9f602cpqBcG15JjSKCghurzTWpnF+GSbLji3pZcIzUNmLK Z+dptRZti+t+yDR20GIllpfqiBy6ppfzgSIsaDbT1f66jezs8fWuPd8qtn8snaqb5I2/ MXxw== X-Gm-Message-State: AC+VfDwb0n7FgfSsGVgEVRbXtQeZX0ZZEhKTE06OG2rzKhT1+dDFEso4 LVwCdi7EkhosxhigbYbNbD92i27obCxRqJMWdypRPw== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <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: 4QLcHv3K7jz3F8q 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 10:14:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 16:02:04 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QM2B83CZ4z4BSQd 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 4QM2B463Djz4FCC 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=fY+R7ssb; 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=wFe+XtkYdOtGLXc0wt2rFWXIDzqyA6wlu7odikO81Ac=; b=fY+R7ssbAim4ARA9QDRqFMvyot VaXni33g5ZCmWhb9/GGknMlqcK10ouav/5y+Vw2xZh/xiKKe6070U720uQUzkBHHU3XLTidiiHfuR HlqY8St2NVyipYgcUZCCS5Q/+UyM01F//iRV3tzA/RiUY3bFmzsXPpDS+wwm/WHR00dXr60QgG3R/ Ix4dfNtIBRha2kGts3Ry40ZkH5MzVub/YyRfOfOshfhsJr4vGMzzPfRJk/lWwB6Vvm1ULzvXbng5r NxTOg/cFjITWx7OCwdGJfhQX0MQ1E8ffMEGFXb/KcDfbKKVe35J+7sEmCUfLwqxOQVt73LKy0KUQ/ y7M7FYOw==; Received: from dan4media by host.aait-sa.com with local (Exim 4.96) (envelope-from ) id 1pzM9s-00En8U-06 for dev-commits-src-main@freebsd.org; Wed, 17 May 2023 21:45:56 +0300 To: dev-commits-src-main@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="1badd680836a0aa2dfdaa0f75a4f1f486" 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-main@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: 4QM2B463Djz4FCC X-Spamd-Bar: + X-ThisMailContainsUnwantedMimeParts: N List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org This is a multi-part message in MIME format. --1badd680836a0aa2dfdaa0f75a4f1f486 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     --1badd680836a0aa2dfdaa0f75a4f1f486 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
--1badd680836a0aa2dfdaa0f75a4f1f486-- From nobody Thu May 18 07:55:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 15:21:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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 Fri May 19 09:46:04 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 13:42:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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 Sat May 20 01:01:01 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <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-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QNttd3GSCz4BR5W for ; Sat, 20 May 2023 19:24:09 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 4QNttb56Ydz3wtB 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.46 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com; dmarc=none Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3f601c57d8dso192475e9.0 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=hsMBL45MCAGa4CV+TR//6eRESWOCXN874tZJONkf7DzZRm6ZPdTzmgPRiErMiwvqb1 d7WARz+2lRSPGVzhi97k7pSPkrAt6p2Y3oqkR3UWyD36qWl3sf0CtDnYOoVnTQKcMWB7 3Us/bCv8a4PaQfy9RloJmTBSzNuMneQhN4q2c6b3HOB3uyJ/inzRjGVg1rg8JJRLoODr XeXhFdJznsxX8KkP511Jk0uaNcpbgbBKBfe0afTIrZ1AuGKuRTcYZaKtjSylDGaukR5y UdB8+eBPzTO0Pr5uq50PxHte9TPO5ebOxmo9Gbm1P5gOIW6X+YpDSynj5NsVRJQkN2AJ CGhQ== X-Gm-Message-State: AC+VfDwLFcbO6T4djaiuzJt7AgtKrC1shlz7fJlu+h/qJK9U5TmF9pP4 gBbvY0BSAeAH7OuDWDIQG8soiA== 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(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-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.46: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-main@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.46:from] X-Rspamd-Queue-Id: 4QNttb56Ydz3wtB 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-main@mlmmj.nyi.freebsd.org 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <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