From owner-svn-src-head@freebsd.org Sun Apr 5 00:10:24 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7B9112A7255; Sun, 5 Apr 2020 00:10:24 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48vvFV71Vsz4DJh; Sun, 5 Apr 2020 00:10:22 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 0350ACeS080260; Sat, 4 Apr 2020 17:10:12 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 0350ACId080259; Sat, 4 Apr 2020 17:10:12 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004050010.0350ACId080259@gndrsh.dnsmgr.net> Subject: Re: svn commit: r359633 - head/share/man/man4 In-Reply-To: <202004042138.034Lc1J1085911@repo.freebsd.org> To: Christian Brueffer Date: Sat, 4 Apr 2020 17:10:12 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48vvFV71Vsz4DJh X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Apr 2020 00:10:24 -0000 > Author: brueffer > Date: Sat Apr 4 21:38:00 2020 > New Revision: 359633 > URL: https://svnweb.freebsd.org/changeset/base/359633 > > Log: > Add a manpage for smbios(4). > > Submitted by: Gordon Bergling There should be an AUTHORS section entry for him writting the man page. > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D23714 > > Added: > head/share/man/man4/smbios.4 (contents, props changed) > Modified: > head/share/man/man4/Makefile > > Modified: head/share/man/man4/Makefile > ============================================================================== > --- head/share/man/man4/Makefile Sat Apr 4 17:08:58 2020 (r359632) > +++ head/share/man/man4/Makefile Sat Apr 4 21:38:00 2020 (r359633) > @@ -471,6 +471,7 @@ MAN= aac.4 \ > sk.4 \ > ${_smartpqi.4} \ > smb.4 \ > + smbios.4 \ > smbus.4 \ > smp.4 \ > smsc.4 \ > > Added: head/share/man/man4/smbios.4 > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/share/man/man4/smbios.4 Sat Apr 4 21:38:00 2020 (r359633) > @@ -0,0 +1,63 @@ > +.\" Copyright (c) 2020 Gordon Bergling > +.\" > +.\" Redistribution and use in source and binary forms, with or without > +.\" modification, are permitted provided that the following conditions > +.\" are met: > +.\" 1. Redistributions of source code must retain the above copyright > +.\" notice, this list of conditions and the following disclaimer. > +.\" 2. Redistributions in binary form must reproduce the above copyright > +.\" notice, this list of conditions and the following disclaimer in the > +.\" documentation and/or other materials provided with the distribution. > +.\" > +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > +.\" SUCH DAMAGE. > +.\" > +.\" $FreeBSD$ > +.\" > +.Dd April 4, 2020 > +.Dt SMBIOS 4 > +.Os > +.Sh NAME > +.Nm smbios > +.Nd "System Management BIOS" > +.Sh SYNOPSIS > +To compile this driver into the kernel, > +place the following lines in your > +kernel configuration file: > +.Bd -ragged -offset indent > +.Cd "device smbios" > +.Ed > +.Pp > +Alternatively, to load the driver as a > +module at boot time, place the following line in > +.Xr loader.conf 5 : > +.Bd -literal -offset indent > +smbios_load="YES" > +.Ed > +.Sh DESCRIPTION > +The System Management BIOS (SMBIOS) describes hardware components. > +.Sh SEE ALSO > +.Xr efi 4 > +.Rs > +.%T System Management BIOS (SMBIOS) Reference Specification > +.%N DMTF DSP0134 > +.Re > +.Sh HISTORY > +The > +.Nm > +device driver first appeared in > +.Fx 4.8 . > +.Sh AUTHORS > +The > +.Nm > +device driver was written by > +.An Matthew N. Dodd Aq Mt winter@jurai.net . > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Sun Apr 5 00:23:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4EBE92A78DC for ; Sun, 5 Apr 2020 00:23:54 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48vvY50dQVz4Jc3 for ; Sun, 5 Apr 2020 00:23:52 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1586046221; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=tA1Rw468wuxkt6+0mk83masefq8mJSd4r+WOrqp5Xmn7p/18yOCyULuKAB0QmzvcrUsCFNJZ7zf0N 1OIK9HGak8ITNWO2x13IaH07LfyHggUAt7WbQmAWozPUSbRf3h9GncEr3n9lOPzAJP2L8fdqAcoTuh 9U8IvTXoYioQ+vy7FP2V2e5qI71q8Hv3RC8XVvIhfbXtOuU5cSMuQP/vmX8IFhL9n9r+LegmV+sr3m QqOeGD/I4CitAiazKrmMvMG98GplvZYzfVwqvXBcu9jNOmeqNTjyGcKybd6FWv02ZWgNSeKR25ZXT0 Gv1cfuvyevZCDKvMKANyT0154dAFd+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=XFweoiHwFTsYBtopl8M7urngVYHqBr6k8StyKdiopuk=; b=mUk4e2zi+UE2IoJJCXBi3Uwktsox7Zzbwe19N1AcI4D3FZlZDCLzX69jA+xmB6Fc+Xr05MMbblJ3O yJ+YAvg2ksVFe0XjohVaH2x4TMAcZlHCpeOko2Up/iNp1lCh9amskNIGxjQbsaj7rTfy/JPvGMkSi2 oQZmrEDABZMHQHPsd9LahutX3XoeQDGQdCMJOK7CUgohoKXH8fKZUQjt1RB/xr7rpo7KKxviMvuojR MdOjPhvQ4ylnOwUumWXcc12qYfbdfoGgNEGa5ja9GAEu4xpoUuTxx7CU25ENpe2+Wr73T+W1BhLFHk puy8bL0sa2SbMHTNMtj0Z0hB0m+FwZg== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=XFweoiHwFTsYBtopl8M7urngVYHqBr6k8StyKdiopuk=; b=vS8br3t9yDKtJwjhLa5zxBVmdA7AiDjvRCnQ3qYJUDCP0tA2SHznqwgKy39Z0P3ziCHcLGrWeWJtD DddbQn/5BrYZfb8ZzIWhO2P50D7nq2HmlxBZmuTC0ZYvGen7xKA/NEcpcR3A4hxGvL2AVCCac178tE xhS8vRMKmsmT+3n+1E2DfTo5IpY8CFt8SlY6rnVe/rBU4svswBcufy0L5k59DZQpLMzp71Q89MXQW9 nBw3LYFwMTsY5YgDnpDyKSug64fpf1zL6fg8lhxfIUATinuVs65LyZcGWpSP8uCJmG8E4c+kmSwQnv FWYygzu3Gjv9sQQjKrmu7evAnTz38nQ== X-MHO-RoutePath: aGlwcGll X-MHO-User: b248d908-76d3-11ea-984f-93ef91f222d3 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id b248d908-76d3-11ea-984f-93ef91f222d3; Sun, 05 Apr 2020 00:23:39 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 0350Ncr1028474; Sat, 4 Apr 2020 18:23:38 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <9284a50d8049ae588b11e4e18b997b4bad898738.camel@freebsd.org> Subject: Re: svn commit: r359633 - head/share/man/man4 From: Ian Lepore To: rgrimes@freebsd.org, Christian Brueffer Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Sat, 04 Apr 2020 18:23:38 -0600 In-Reply-To: <202004050010.0350ACId080259@gndrsh.dnsmgr.net> References: <202004050010.0350ACId080259@gndrsh.dnsmgr.net> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48vvY50dQVz4Jc3 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.93 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.98)[-0.978,0]; NEURAL_HAM_LONG(-0.95)[-0.949,0]; ASN(0.00)[asn:16509, ipnet:54.200.0.0/15, country:US] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Apr 2020 00:23:54 -0000 On Sat, 2020-04-04 at 17:10 -0700, Rodney W. Grimes wrote: > > Author: brueffer > > Date: Sat Apr 4 21:38:00 2020 > > New Revision: 359633 > > URL: https://svnweb.freebsd.org/changeset/base/359633 > > > > Log: > > Add a manpage for smbios(4). > > > > Submitted by: Gordon Bergling > > There should be an AUTHORS section entry for him writting the man > page. Is that not optional? I've never added one to any manpage I've ever written, and don't especially want it to be added. -- Ian From owner-svn-src-head@freebsd.org Sun Apr 5 00:48:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 692662A7FCB; Sun, 5 Apr 2020 00:48:59 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48vw622GTpz4S7d; Sun, 5 Apr 2020 00:48:58 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 0350mnbO080369; Sat, 4 Apr 2020 17:48:49 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 0350mnB1080368; Sat, 4 Apr 2020 17:48:49 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004050048.0350mnB1080368@gndrsh.dnsmgr.net> Subject: Re: svn commit: r359633 - head/share/man/man4 In-Reply-To: <9284a50d8049ae588b11e4e18b997b4bad898738.camel@freebsd.org> To: Ian Lepore Date: Sat, 4 Apr 2020 17:48:49 -0700 (PDT) CC: rgrimes@freebsd.org, Christian Brueffer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48vw622GTpz4S7d X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Apr 2020 00:49:00 -0000 > On Sat, 2020-04-04 at 17:10 -0700, Rodney W. Grimes wrote: > > > Author: brueffer > > > Date: Sat Apr 4 21:38:00 2020 > > > New Revision: 359633 > > > URL: https://svnweb.freebsd.org/changeset/base/359633 > > > > > > Log: > > > Add a manpage for smbios(4). > > > > > > Submitted by: Gordon Bergling > > > > There should be an AUTHORS section entry for him writting the man > > page. > > Is that not optional? I've never added one to any manpage I've ever > written, and don't especially want it to be added. Yes, of cource it is optional, but perhaps he was not aware that option even existed as he probably copied the man page from some other work which may of not had that attribution. > -- Ian -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Sun Apr 5 17:15:31 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 411162BCA53; Sun, 5 Apr 2020 17:15:31 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wL0M0xvfz4Rjw; Sun, 5 Apr 2020 17:15:31 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D3CEC18D8D; Sun, 5 Apr 2020 17:15:20 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 035HFKXP006135; Sun, 5 Apr 2020 17:15:20 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 035HFK6s006134; Sun, 5 Apr 2020 17:15:20 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202004051715.035HFK6s006134@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sun, 5 Apr 2020 17:15:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359641 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 359641 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Apr 2020 17:15:31 -0000 Author: kp Date: Sun Apr 5 17:15:20 2020 New Revision: 359641 URL: https://svnweb.freebsd.org/changeset/base/359641 Log: bridge: Change lists to CK_LIST as a peparation for epochification Prepare the ground for a rework of the bridge locking approach. We will use an epoch-based approach in the datapath and making it safe to iterate over the interface, span and rtnode lists without holding the BRIDGE_LOCK. Replace the relevant lists by their ConcurrencyKit equivalents. No functional change in this commit. Reviewed by: emaste, ae, philip (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24249 Modified: head/sys/net/if_bridge.c Modified: head/sys/net/if_bridge.c ============================================================================== --- head/sys/net/if_bridge.c Sun Apr 5 04:01:11 2020 (r359640) +++ head/sys/net/if_bridge.c Sun Apr 5 17:15:20 2020 (r359641) @@ -229,7 +229,7 @@ extern void nd6_setmtu(struct ifnet *); * Bridge interface list entry. */ struct bridge_iflist { - LIST_ENTRY(bridge_iflist) bif_next; + CK_LIST_ENTRY(bridge_iflist) bif_next; struct ifnet *bif_ifp; /* member if */ struct bstp_port bif_stp; /* STP state */ uint32_t bif_flags; /* member if flags */ @@ -243,8 +243,8 @@ struct bridge_iflist { * Bridge route node. */ struct bridge_rtnode { - LIST_ENTRY(bridge_rtnode) brt_hash; /* hash table linkage */ - LIST_ENTRY(bridge_rtnode) brt_list; /* list linkage */ + CK_LIST_ENTRY(bridge_rtnode) brt_hash; /* hash table linkage */ + CK_LIST_ENTRY(bridge_rtnode) brt_list; /* list linkage */ struct bridge_iflist *brt_dst; /* destination if */ unsigned long brt_expire; /* expiration time */ uint8_t brt_flags; /* address flags */ @@ -267,11 +267,11 @@ struct bridge_softc { struct callout sc_brcallout; /* bridge callout */ uint32_t sc_iflist_ref; /* refcount for sc_iflist */ uint32_t sc_iflist_xcnt; /* refcount for sc_iflist */ - LIST_HEAD(, bridge_iflist) sc_iflist; /* member interface list */ - LIST_HEAD(, bridge_rtnode) *sc_rthash; /* our forwarding table */ - LIST_HEAD(, bridge_rtnode) sc_rtlist; /* list version of above */ + CK_LIST_HEAD(, bridge_iflist) sc_iflist; /* member interface list */ + CK_LIST_HEAD(, bridge_rtnode) *sc_rthash; /* our forwarding table */ + CK_LIST_HEAD(, bridge_rtnode) sc_rtlist; /* list version of above */ uint32_t sc_rthash_key; /* key for hash */ - LIST_HEAD(, bridge_iflist) sc_spanlist; /* span ports list */ + CK_LIST_HEAD(, bridge_iflist) sc_spanlist; /* span ports list */ struct bstp_state sc_stp; /* STP state */ uint32_t sc_brtexceeded; /* # of cache drops */ struct ifnet *sc_ifaddr; /* member mac copied from */ @@ -697,8 +697,8 @@ bridge_clone_create(struct if_clone *ifc, int unit, ca callout_init_mtx(&sc->sc_brcallout, &sc->sc_mtx, 0); - LIST_INIT(&sc->sc_iflist); - LIST_INIT(&sc->sc_spanlist); + CK_LIST_INIT(&sc->sc_iflist); + CK_LIST_INIT(&sc->sc_spanlist); ifp->if_softc = sc; if_initname(ifp, bridge_name, unit); @@ -774,10 +774,10 @@ bridge_clone_destroy(struct ifnet *ifp) bridge_stop(ifp, 1); ifp->if_flags &= ~IFF_UP; - while ((bif = LIST_FIRST(&sc->sc_iflist)) != NULL) + while ((bif = CK_LIST_FIRST(&sc->sc_iflist)) != NULL) bridge_delete_member(sc, bif, 0); - while ((bif = LIST_FIRST(&sc->sc_spanlist)) != NULL) { + while ((bif = CK_LIST_FIRST(&sc->sc_spanlist)) != NULL) { bridge_delete_span(sc, bif); } @@ -916,12 +916,12 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t da error = EINVAL; break; } - if (LIST_EMPTY(&sc->sc_iflist)) { + if (CK_LIST_EMPTY(&sc->sc_iflist)) { sc->sc_ifp->if_mtu = ifr->ifr_mtu; break; } BRIDGE_LOCK(sc); - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (bif->bif_ifp->if_mtu != ifr->ifr_mtu) { log(LOG_NOTICE, "%s: invalid MTU: %u(%s)" " != %d\n", sc->sc_ifp->if_xname, @@ -961,13 +961,13 @@ bridge_mutecaps(struct bridge_softc *sc) /* Initial bitmask of capabilities to test */ mask = BRIDGE_IFCAPS_MASK; - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { /* Every member must support it or its disabled */ mask &= bif->bif_savedcaps; } BRIDGE_XLOCK(sc); - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { enabled = bif->bif_ifp->if_capenable; enabled &= ~BRIDGE_IFCAPS_STRIP; /* strip off mask bits and enable them again if allowed */ @@ -1021,7 +1021,7 @@ bridge_lookup_member(struct bridge_softc *sc, const ch BRIDGE_LOCK_ASSERT(sc); - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { ifp = bif->bif_ifp; if (strcmp(ifp->if_xname, name) == 0) return (bif); @@ -1042,7 +1042,7 @@ bridge_lookup_member_if(struct bridge_softc *sc, struc BRIDGE_LOCK_ASSERT(sc); - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (bif->bif_ifp == member_ifp) return (bif); } @@ -1061,6 +1061,7 @@ bridge_delete_member(struct bridge_softc *sc, struct b { struct ifnet *ifs = bif->bif_ifp; struct ifnet *fif = NULL; + struct bridge_iflist *bifl; BRIDGE_LOCK_ASSERT(sc); @@ -1069,7 +1070,7 @@ bridge_delete_member(struct bridge_softc *sc, struct b ifs->if_bridge = NULL; BRIDGE_XLOCK(sc); - LIST_REMOVE(bif, bif_next); + CK_LIST_REMOVE(bif, bif_next); BRIDGE_XDROP(sc); /* @@ -1078,12 +1079,13 @@ bridge_delete_member(struct bridge_softc *sc, struct b * to its default address if no members are left. */ if (V_bridge_inherit_mac && sc->sc_ifaddr == ifs) { - if (LIST_EMPTY(&sc->sc_iflist)) { + if (CK_LIST_EMPTY(&sc->sc_iflist)) { bcopy(&sc->sc_defaddr, IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); sc->sc_ifaddr = NULL; } else { - fif = LIST_FIRST(&sc->sc_iflist)->bif_ifp; + bifl = CK_LIST_FIRST(&sc->sc_iflist); + fif = bifl->bif_ifp; bcopy(IF_LLADDR(fif), IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); sc->sc_ifaddr = fif; @@ -1144,7 +1146,7 @@ bridge_delete_span(struct bridge_softc *sc, struct bri KASSERT(bif->bif_ifp->if_bridge == NULL, ("%s: not a span interface", __func__)); - LIST_REMOVE(bif, bif_next); + CK_LIST_REMOVE(bif, bif_next); free(bif, M_DEVBUF); } @@ -1163,7 +1165,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) return (EINVAL); /* If it's in the span list, it can't be a member. */ - LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) + CK_LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) if (ifs == bif->bif_ifp) return (EBUSY); @@ -1202,7 +1204,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) * interfaces. */ BRIDGE_XLOCK(sc); - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (in6ifa_llaonifp(bif->bif_ifp)) { BRIDGE_UNLOCK(sc); in6_ifdetach(bif->bif_ifp); @@ -1228,7 +1230,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) } #endif /* Allow the first Ethernet member to define the MTU */ - if (LIST_EMPTY(&sc->sc_iflist)) + if (CK_LIST_EMPTY(&sc->sc_iflist)) sc->sc_ifp->if_mtu = ifs->if_mtu; else if (sc->sc_ifp->if_mtu != ifs->if_mtu) { if_printf(sc->sc_ifp, "invalid MTU: %u(%s) != %u\n", @@ -1249,7 +1251,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) * member and the MAC address of the bridge has not been changed from * the default randomly generated one. */ - if (V_bridge_inherit_mac && LIST_EMPTY(&sc->sc_iflist) && + if (V_bridge_inherit_mac && CK_LIST_EMPTY(&sc->sc_iflist) && !memcmp(IF_LLADDR(sc->sc_ifp), sc->sc_defaddr.octet, ETHER_ADDR_LEN)) { bcopy(IF_LLADDR(ifs), IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); sc->sc_ifaddr = ifs; @@ -1266,7 +1268,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) * * NOTE: insert_***HEAD*** should be safe for the traversals. */ - LIST_INSERT_HEAD(&sc->sc_iflist, bif, bif_next); + CK_LIST_INSERT_HEAD(&sc->sc_iflist, bif, bif_next); /* Set interface capabilities to the intersection set of all members */ bridge_mutecaps(sc); @@ -1413,9 +1415,9 @@ bridge_ioctl_gifs(struct bridge_softc *sc, void *arg) int count, buflen, len, error = 0; count = 0; - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) count++; - LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) + CK_LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) count++; buflen = sizeof(breq) * count; @@ -1431,7 +1433,7 @@ bridge_ioctl_gifs(struct bridge_softc *sc, void *arg) buf = outbuf; len = min(bifc->ifbic_len, buflen); bzero(&breq, sizeof(breq)); - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (len < sizeof(breq)) break; @@ -1446,7 +1448,7 @@ bridge_ioctl_gifs(struct bridge_softc *sc, void *arg) buf += sizeof(breq); len -= sizeof(breq); } - LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) { if (len < sizeof(breq)) break; @@ -1481,7 +1483,7 @@ bridge_ioctl_rts(struct bridge_softc *sc, void *arg) return (0); count = 0; - LIST_FOREACH(brt, &sc->sc_rtlist, brt_list) + CK_LIST_FOREACH(brt, &sc->sc_rtlist, brt_list) count++; buflen = sizeof(bareq) * count; @@ -1493,7 +1495,7 @@ bridge_ioctl_rts(struct bridge_softc *sc, void *arg) buf = outbuf; len = min(bac->ifbac_len, buflen); bzero(&bareq, sizeof(bareq)); - LIST_FOREACH(brt, &sc->sc_rtlist, brt_list) { + CK_LIST_FOREACH(brt, &sc->sc_rtlist, brt_list) { if (len < sizeof(bareq)) goto out; strlcpy(bareq.ifba_ifsname, brt->brt_ifp->if_xname, @@ -1696,7 +1698,7 @@ bridge_ioctl_addspan(struct bridge_softc *sc, void *ar if (ifs == NULL) return (ENOENT); - LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) + CK_LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) if (ifs == bif->bif_ifp) return (EBUSY); @@ -1719,7 +1721,7 @@ bridge_ioctl_addspan(struct bridge_softc *sc, void *ar bif->bif_ifp = ifs; bif->bif_flags = IFBIF_SPAN; - LIST_INSERT_HEAD(&sc->sc_spanlist, bif, bif_next); + CK_LIST_INSERT_HEAD(&sc->sc_spanlist, bif, bif_next); return (0); } @@ -1735,7 +1737,7 @@ bridge_ioctl_delspan(struct bridge_softc *sc, void *ar if (ifs == NULL) return (ENOENT); - LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) + CK_LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) if (ifs == bif->bif_ifp) break; @@ -1797,7 +1799,7 @@ bridge_ioctl_gifsstp(struct bridge_softc *sc, void *ar int count, buflen, len, error = 0; count = 0; - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if ((bif->bif_flags & IFBIF_STP) != 0) count++; } @@ -1816,7 +1818,7 @@ bridge_ioctl_gifsstp(struct bridge_softc *sc, void *ar buf = outbuf; len = min(bifstp->ifbpstp_len, buflen); bzero(&bpreq, sizeof(bpreq)); - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (len < sizeof(bpreq)) break; @@ -1898,7 +1900,7 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) BRIDGE_LIST_LOCK(); LIST_FOREACH(sc, &V_bridge_list, sc_list) { BRIDGE_LOCK(sc); - LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) + CK_LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) if (ifp == bif->bif_ifp) { bridge_delete_span(sc, bif); break; @@ -2113,7 +2115,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struc return (0); } - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { dst_if = bif->bif_ifp; if (dst_if->if_type == IFT_GIF) @@ -2131,7 +2133,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struc bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) continue; - if (LIST_NEXT(bif, bif_next) == NULL) { + if (CK_LIST_NEXT(bif, bif_next) == NULL) { used = 1; mc = m; } else { @@ -2546,7 +2548,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) do { GRAB_OUR_PACKETS(ifp) } while (0); /* Now check the all bridge members. */ - LIST_FOREACH(bif2, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif2, &sc->sc_iflist, bif_next) { GRAB_OUR_PACKETS(bif2->bif_ifp) } @@ -2599,7 +2601,7 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet goto out; } - LIST_FOREACH(dbif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(dbif, &sc->sc_iflist, bif_next) { dst_if = dbif->bif_ifp; if (dst_if == src_if) continue; @@ -2619,7 +2621,7 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet if ((dst_if->if_drv_flags & IFF_DRV_RUNNING) == 0) continue; - if (LIST_NEXT(dbif, bif_next) == NULL) { + if (CK_LIST_NEXT(dbif, bif_next) == NULL) { mc = m; used = 1; } else { @@ -2677,10 +2679,10 @@ bridge_span(struct bridge_softc *sc, struct mbuf *m) struct ifnet *dst_if; struct mbuf *mc; - if (LIST_EMPTY(&sc->sc_spanlist)) + if (CK_LIST_EMPTY(&sc->sc_spanlist)) return; - LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) { dst_if = bif->bif_ifp; if ((dst_if->if_drv_flags & IFF_DRV_RUNNING) == 0) @@ -2816,7 +2818,7 @@ bridge_rttrim(struct bridge_softc *sc) if (sc->sc_brtcnt <= sc->sc_brtmax) return; - LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { + CK_LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC) { bridge_rtnode_destroy(sc, brt); if (sc->sc_brtcnt <= sc->sc_brtmax) @@ -2859,7 +2861,7 @@ bridge_rtage(struct bridge_softc *sc) BRIDGE_LOCK_ASSERT(sc); - LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { + CK_LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC) { if (time_uptime >= brt->brt_expire) bridge_rtnode_destroy(sc, brt); @@ -2879,7 +2881,7 @@ bridge_rtflush(struct bridge_softc *sc, int full) BRIDGE_LOCK_ASSERT(sc); - LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { + CK_LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { if (full || (brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC) bridge_rtnode_destroy(sc, brt); } @@ -2922,7 +2924,7 @@ bridge_rtdelete(struct bridge_softc *sc, struct ifnet BRIDGE_LOCK_ASSERT(sc); - LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { + CK_LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { if (brt->brt_ifp == ifp && (full || (brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC)) bridge_rtnode_destroy(sc, brt); @@ -2943,10 +2945,10 @@ bridge_rtable_init(struct bridge_softc *sc) M_DEVBUF, M_WAITOK); for (i = 0; i < BRIDGE_RTHASH_SIZE; i++) - LIST_INIT(&sc->sc_rthash[i]); + CK_LIST_INIT(&sc->sc_rthash[i]); sc->sc_rthash_key = arc4random(); - LIST_INIT(&sc->sc_rtlist); + CK_LIST_INIT(&sc->sc_rtlist); } /* @@ -3027,7 +3029,7 @@ bridge_rtnode_lookup(struct bridge_softc *sc, const ui BRIDGE_LOCK_ASSERT(sc); hash = bridge_rthash(sc, addr); - LIST_FOREACH(brt, &sc->sc_rthash[hash], brt_hash) { + CK_LIST_FOREACH(brt, &sc->sc_rthash[hash], brt_hash) { dir = bridge_rtnode_addr_cmp(addr, brt->brt_addr); if (dir == 0 && (brt->brt_vlan == vlan || vlan == 0)) return (brt); @@ -3055,9 +3057,9 @@ bridge_rtnode_insert(struct bridge_softc *sc, struct b hash = bridge_rthash(sc, brt->brt_addr); - lbrt = LIST_FIRST(&sc->sc_rthash[hash]); + lbrt = CK_LIST_FIRST(&sc->sc_rthash[hash]); if (lbrt == NULL) { - LIST_INSERT_HEAD(&sc->sc_rthash[hash], brt, brt_hash); + CK_LIST_INSERT_HEAD(&sc->sc_rthash[hash], brt, brt_hash); goto out; } @@ -3066,14 +3068,14 @@ bridge_rtnode_insert(struct bridge_softc *sc, struct b if (dir == 0 && brt->brt_vlan == lbrt->brt_vlan) return (EEXIST); if (dir > 0) { - LIST_INSERT_BEFORE(lbrt, brt, brt_hash); + CK_LIST_INSERT_BEFORE(lbrt, brt, brt_hash); goto out; } - if (LIST_NEXT(lbrt, brt_hash) == NULL) { - LIST_INSERT_AFTER(lbrt, brt, brt_hash); + if (CK_LIST_NEXT(lbrt, brt_hash) == NULL) { + CK_LIST_INSERT_AFTER(lbrt, brt, brt_hash); goto out; } - lbrt = LIST_NEXT(lbrt, brt_hash); + lbrt = CK_LIST_NEXT(lbrt, brt_hash); } while (lbrt != NULL); #ifdef DIAGNOSTIC @@ -3081,7 +3083,7 @@ bridge_rtnode_insert(struct bridge_softc *sc, struct b #endif out: - LIST_INSERT_HEAD(&sc->sc_rtlist, brt, brt_list); + CK_LIST_INSERT_HEAD(&sc->sc_rtlist, brt, brt_list); sc->sc_brtcnt++; return (0); @@ -3097,9 +3099,9 @@ bridge_rtnode_destroy(struct bridge_softc *sc, struct { BRIDGE_LOCK_ASSERT(sc); - LIST_REMOVE(brt, brt_hash); + CK_LIST_REMOVE(brt, brt_hash); - LIST_REMOVE(brt, brt_list); + CK_LIST_REMOVE(brt, brt_list); sc->sc_brtcnt--; brt->brt_dst->bif_addrcnt--; uma_zfree(V_bridge_rtnode_zone, brt); @@ -3126,7 +3128,7 @@ bridge_rtable_expire(struct ifnet *ifp, int age) if (age == 0) bridge_rtdelete(sc, ifp, IFBF_FLUSHDYN); else { - LIST_FOREACH(brt, &sc->sc_rtlist, brt_list) { + CK_LIST_FOREACH(brt, &sc->sc_rtlist, brt_list) { /* Cap the expiry time to 'age' */ if (brt->brt_ifp == ifp && brt->brt_expire > time_uptime + age && @@ -3664,7 +3666,7 @@ bridge_linkcheck(struct bridge_softc *sc) new_link = LINK_STATE_DOWN; hasls = 0; /* Our link is considered up if at least one of our ports is active */ - LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (bif->bif_ifp->if_capabilities & IFCAP_LINKSTATE) hasls++; if (bif->bif_ifp->if_link_state == LINK_STATE_UP) { @@ -3672,7 +3674,7 @@ bridge_linkcheck(struct bridge_softc *sc) break; } } - if (!LIST_EMPTY(&sc->sc_iflist) && !hasls) { + if (!CK_LIST_EMPTY(&sc->sc_iflist) && !hasls) { /* If no interfaces support link-state then we default to up */ new_link = LINK_STATE_UP; } From owner-svn-src-head@freebsd.org Sun Apr 5 19:35:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 92F112680AA; Sun, 5 Apr 2020 19:35:57 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wP6M1GHpz4M5m; Sun, 5 Apr 2020 19:35:55 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 792DB1AA5D; Sun, 5 Apr 2020 19:25:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 035JPkdo085668; Sun, 5 Apr 2020 19:25:46 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 035JPkE5085667; Sun, 5 Apr 2020 19:25:46 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004051925.035JPkE5085667@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Sun, 5 Apr 2020 19:25:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359642 - head/usr.sbin/adduser X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/usr.sbin/adduser X-SVN-Commit-Revision: 359642 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Apr 2020 19:35:57 -0000 Author: kevans Date: Sun Apr 5 19:25:46 2020 New Revision: 359642 URL: https://svnweb.freebsd.org/changeset/base/359642 Log: adduser: allow standard IFS characters in passwords Notably, the default IFS contains space/tab, thus any leading/trailing whitespace characters tend to be removed. Set IFS= for just the read lines to mitigate this, allowing the user to be less surprised when their leading/trailing spaces weren't actually captured in the password as they are with other means of setting a user's password. PR: 245342 Submitted by: dereks_lifeofadishwasher.com Reviewed by: jilles MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D24292 Modified: head/usr.sbin/adduser/adduser.sh Modified: head/usr.sbin/adduser/adduser.sh ============================================================================== --- head/usr.sbin/adduser/adduser.sh Sun Apr 5 17:15:20 2020 (r359641) +++ head/usr.sbin/adduser/adduser.sh Sun Apr 5 19:25:46 2020 (r359642) @@ -733,10 +733,10 @@ input_interactive() { trap 'stty echo; exit' 0 1 2 3 15 stty -echo echo -n "Enter password: " - read -r upass + IFS= read -r upass echo'' echo -n "Enter password again: " - read -r _passconfirm + IFS= read -r _passconfirm echo '' stty echo # if user entered a blank password From owner-svn-src-head@freebsd.org Sun Apr 5 21:26:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DDD9926D4C7; Sun, 5 Apr 2020 21:26:01 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wRYN4bcYz46Rx; Sun, 5 Apr 2020 21:26:00 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ABBDA1C27E; Sun, 5 Apr 2020 21:08:17 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 035L8HBi049864; Sun, 5 Apr 2020 21:08:17 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 035L8HDC049863; Sun, 5 Apr 2020 21:08:17 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004052108.035L8HDC049863@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sun, 5 Apr 2020 21:08:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359643 - head/sys/rpc X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/rpc X-SVN-Commit-Revision: 359643 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Apr 2020 21:26:02 -0000 Author: rmacklem Date: Sun Apr 5 21:08:17 2020 New Revision: 359643 URL: https://svnweb.freebsd.org/changeset/base/359643 Log: Change the xid for client side krpc over UDP to a global value. Without this patch, the xid used for the client side krpc requests over UDP was initialized for each "connection". A "connection" for UDP is rather sketchy and for the kernel NLM a new one is created every 2minutes. A problem with client side interoperability with a Netapp server for the NLM was reported and it is believed to be caused by reuse of the same xid. Although this was never completely diagnosed by the reporter, I could see how the same xid might get reused, since it is initialized to a value based on the TOD clock every two minutes. I suspect initializing the value for every "connection" was inherited from userland library code, where having a global xid was not practical. However, implementing a global "xid" for the kernel rpc is straightforward and will ensure that an xid value is not reused for a long time. This patch does that and is hoped it will fix the Netapp interoperability problem. PR: 245022 Reported by: danny@cs.huji.ac.il MFC after: 2 weeks Modified: head/sys/rpc/clnt_dg.c Modified: head/sys/rpc/clnt_dg.c ============================================================================== --- head/sys/rpc/clnt_dg.c Sun Apr 5 19:25:46 2020 (r359642) +++ head/sys/rpc/clnt_dg.c Sun Apr 5 21:08:17 2020 (r359643) @@ -94,6 +94,8 @@ static struct clnt_ops clnt_dg_ops = { .cl_control = clnt_dg_control }; +static volatile uint32_t rpc_xid = 0; + /* * A pending RPC request which awaits a reply. Requests which have * received their reply will have cr_xid set to zero and cr_mrep to @@ -193,6 +195,7 @@ clnt_dg_create( struct __rpc_sockinfo si; XDR xdrs; int error; + uint32_t newxid; if (svcaddr == NULL) { rpc_createerr.cf_stat = RPC_UNKNOWNADDR; @@ -245,8 +248,10 @@ clnt_dg_create( cu->cu_sent = 0; cu->cu_cwnd_wait = FALSE; (void) getmicrotime(&now); - cu->cu_xid = __RPC_GETXID(&now); - call_msg.rm_xid = cu->cu_xid; + /* Clip at 28bits so that it will not wrap around. */ + newxid = __RPC_GETXID(&now) & 0xfffffff; + atomic_cmpset_32(&rpc_xid, 0, newxid); + call_msg.rm_xid = atomic_fetchadd_32(&rpc_xid, 1); call_msg.rm_call.cb_prog = program; call_msg.rm_call.cb_vers = version; xdrmem_create(&xdrs, cu->cu_mcallc, MCALL_MSG_SIZE, XDR_ENCODE); @@ -418,8 +423,7 @@ clnt_dg_call( call_again: mtx_assert(&cs->cs_lock, MA_OWNED); - cu->cu_xid++; - xid = cu->cu_xid; + xid = atomic_fetchadd_32(&rpc_xid, 1); send_again: mtx_unlock(&cs->cs_lock); @@ -865,13 +869,13 @@ clnt_dg_control(CLIENT *cl, u_int request, void *info) (void) memcpy(&cu->cu_raddr, addr, addr->sa_len); break; case CLGET_XID: - *(uint32_t *)info = cu->cu_xid; + *(uint32_t *)info = atomic_load_32(&rpc_xid); break; case CLSET_XID: /* This will set the xid of the NEXT call */ /* decrement by 1 as clnt_dg_call() increments once */ - cu->cu_xid = *(uint32_t *)info - 1; + atomic_store_32(&rpc_xid, *(uint32_t *)info - 1); break; case CLGET_VERS: From owner-svn-src-head@freebsd.org Mon Apr 6 01:27:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8278527C36C; Mon, 6 Apr 2020 01:27:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wXvz1JJCz4cl5; Mon, 6 Apr 2020 01:27:27 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 302841FB6C; Mon, 6 Apr 2020 01:27:19 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0361RIWA007670; Mon, 6 Apr 2020 01:27:18 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0361RIeR007666; Mon, 6 Apr 2020 01:27:18 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004060127.0361RIeR007666@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 6 Apr 2020 01:27:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359644 - in head: lib/clang share/mk tools/build/options X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: lib/clang share/mk tools/build/options X-SVN-Commit-Revision: 359644 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 01:27:28 -0000 Author: kevans Date: Mon Apr 6 01:27:17 2020 New Revision: 359644 URL: https://svnweb.freebsd.org/changeset/base/359644 Log: llvm: add a build knob for enabling assertions For head/, this will remain eternally default-on to maintain the status quo. For stable/ branches, it should be flipped to default-off to maintain the status quo. There's value in being able to flip it one way or the other easily on head or stable branches, whether you want to gain some performance back on head/ (for machines there's little chance you'll actually hit an assertion) or potentially diagnose a problem with the version of llvm on an older branch. Currently, stable branches get the CFLAGS+= -ndebug line uncommented; going forward, they will instead have the default of LLVM_ASSERTIONS flipped. Reviewed by: dim, emaste, re (gjb) MFC after: 1 week MFC note: flip the default of LLVM_ASSERTIONS Differential Revision: https://reviews.freebsd.org/D24264 Added: head/tools/build/options/WITHOUT_LLVM_ASSERTIONS (contents, props changed) head/tools/build/options/WITH_LLVM_ASSERTIONS (contents, props changed) Modified: head/lib/clang/llvm.build.mk head/share/mk/src.opts.mk Modified: head/lib/clang/llvm.build.mk ============================================================================== --- head/lib/clang/llvm.build.mk Sun Apr 5 21:08:17 2020 (r359643) +++ head/lib/clang/llvm.build.mk Mon Apr 6 01:27:17 2020 (r359644) @@ -22,7 +22,9 @@ CFLAGS+= -D__STDC_CONSTANT_MACROS CFLAGS+= -D__STDC_FORMAT_MACROS CFLAGS+= -D__STDC_LIMIT_MACROS CFLAGS+= -DHAVE_VCS_VERSION_INC -#CFLAGS+= -DNDEBUG +.if ${MK_LLVM_ASSERTIONS} == "no" +CFLAGS+= -DNDEBUG +.endif TARGET_ARCH?= ${MACHINE_ARCH} BUILD_ARCH?= ${MACHINE_ARCH} Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Sun Apr 5 21:08:17 2020 (r359643) +++ head/share/mk/src.opts.mk Mon Apr 6 01:27:17 2020 (r359644) @@ -132,6 +132,7 @@ __DEFAULT_YES_OPTIONS = \ LLD \ LLD_BOOTSTRAP \ LLD_IS_LD \ + LLVM_ASSERTIONS \ LLVM_COV \ LLVM_TARGET_ALL \ LOADER_GELI \ Added: head/tools/build/options/WITHOUT_LLVM_ASSERTIONS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITHOUT_LLVM_ASSERTIONS Mon Apr 6 01:27:17 2020 (r359644) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set to disable debugging assertions in LLVM. Added: head/tools/build/options/WITH_LLVM_ASSERTIONS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_LLVM_ASSERTIONS Mon Apr 6 01:27:17 2020 (r359644) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set to enable debugging assertions in LLVM. From owner-svn-src-head@freebsd.org Mon Apr 6 01:45:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B00B927CB18; Mon, 6 Apr 2020 01:45:55 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wYKG0x8Lz3G1t; Mon, 6 Apr 2020 01:45:54 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BD0ED1FB83; Mon, 6 Apr 2020 01:28:03 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0361S31b007746; Mon, 6 Apr 2020 01:28:03 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0361S3p9007745; Mon, 6 Apr 2020 01:28:03 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004060128.0361S3p9007745@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 6 Apr 2020 01:28:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359645 - head/share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/share/man/man5 X-SVN-Commit-Revision: 359645 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 01:45:55 -0000 Author: kevans Date: Mon Apr 6 01:28:03 2020 New Revision: 359645 URL: https://svnweb.freebsd.org/changeset/base/359645 Log: src.conf(5): re-roll after r359644 (LLVM_ASSERTIONS) Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Mon Apr 6 01:27:17 2020 (r359644) +++ head/share/man/man5/src.conf.5 Mon Apr 6 01:28:03 2020 (r359645) @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd March 30, 2020 +.Dd April 5, 2020 .Dt SRC.CONF 5 .Os .Sh NAME @@ -918,6 +918,8 @@ To be able to build the system, either Binutils or LLD enabled unless an alternate linker is provided via XLD. .It Va WITHOUT_LLD_IS_LD Set to use GNU binutils ld as the system linker, instead of LLVM's LLD. +.It Va WITHOUT_LLVM_ASSERTIONS +Set to disable debugging assertions in LLVM. .It Va WITHOUT_LLVM_COV Set to not build the .Xr llvm-cov 1 From owner-svn-src-head@freebsd.org Mon Apr 6 05:48:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B5B742A2FC4; Mon, 6 Apr 2020 05:48:59 +0000 (UTC) (envelope-from wma@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wfjl4fC9z4X4J; Mon, 6 Apr 2020 05:48:59 +0000 (UTC) (envelope-from wma@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9A97123121; Mon, 6 Apr 2020 05:48:59 +0000 (UTC) (envelope-from wma@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0365mxRv065233; Mon, 6 Apr 2020 05:48:59 GMT (envelope-from wma@FreeBSD.org) Received: (from wma@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0365mwYZ065227; Mon, 6 Apr 2020 05:48:58 GMT (envelope-from wma@FreeBSD.org) Message-Id: <202004060548.0365mwYZ065227@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wma set sender to wma@FreeBSD.org using -f From: Wojciech Macek Date: Mon, 6 Apr 2020 05:48:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359647 - in head/sys: arm64/broadcom arm64/broadcom/brcmmdio conf dev/mdio X-SVN-Group: head X-SVN-Commit-Author: wma X-SVN-Commit-Paths: in head/sys: arm64/broadcom arm64/broadcom/brcmmdio conf dev/mdio X-SVN-Commit-Revision: 359647 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 05:48:59 -0000 Author: wma Date: Mon Apr 6 05:48:58 2020 New Revision: 359647 URL: https://svnweb.freebsd.org/changeset/base/359647 Log: Add MDIO PHY driver for NS2 ARM64 platform. Obtained from: Semihalf Authored by: Kornel Duleba Approved by: wma Differential Revision: https://reviews.freebsd.org/D21335 Added: head/sys/arm64/broadcom/ head/sys/arm64/broadcom/brcmmdio/ head/sys/arm64/broadcom/brcmmdio/mdio_mux_iproc.c (contents, props changed) head/sys/arm64/broadcom/brcmmdio/mdio_nexus_iproc.c (contents, props changed) head/sys/arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c (contents, props changed) Modified: head/sys/conf/files.arm64 head/sys/dev/mdio/mdio_if.m Added: head/sys/arm64/broadcom/brcmmdio/mdio_mux_iproc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm64/broadcom/brcmmdio/mdio_mux_iproc.c Mon Apr 6 05:48:58 2020 (r359647) @@ -0,0 +1,399 @@ +/*- + * Copyright (c) 2019 Juniper Networks, Inc. + * Copyright (c) 2019 Semihalf. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include "mdio_if.h" + +#define REG_BASE_RID 0 + +#define MDIO_RATE_ADJ_EXT_OFFSET 0x000 +#define MDIO_RATE_ADJ_INT_OFFSET 0x004 +#define MDIO_RATE_ADJ_DIVIDENT_SHIFT 16 + +#define MDIO_SCAN_CTRL_OFFSET 0x008 +#define MDIO_SCAN_CTRL_OVRIDE_EXT_MSTR 28 + +#define MDIO_PARAM_OFFSET 0x23c +#define MDIO_PARAM_MIIM_CYCLE 29 +#define MDIO_PARAM_INTERNAL_SEL 25 +#define MDIO_PARAM_BUS_ID 22 +#define MDIO_PARAM_C45_SEL 21 +#define MDIO_PARAM_PHY_ID 16 +#define MDIO_PARAM_PHY_DATA 0 + +#define MDIO_READ_OFFSET 0x240 +#define MDIO_READ_DATA_MASK 0xffff +#define MDIO_ADDR_OFFSET 0x244 + +#define MDIO_CTRL_OFFSET 0x248 +#define MDIO_CTRL_WRITE_OP 0x1 +#define MDIO_CTRL_READ_OP 0x2 + +#define MDIO_STAT_OFFSET 0x24c +#define MDIO_STAT_DONE 1 + +#define BUS_MAX_ADDR 32 +#define EXT_BUS_START_ADDR 16 + +#define MDIO_REG_ADDR_SPACE_SIZE 0x250 + +#define MDIO_OPERATING_FREQUENCY 11000000 +#define MDIO_RATE_ADJ_DIVIDENT 1 + +#define MII_ADDR_C45 (1<<30) + +static int brcm_iproc_mdio_probe(device_t); +static int brcm_iproc_mdio_attach(device_t); +static int brcm_iproc_mdio_detach(device_t); + +/* OFW bus interface */ +struct brcm_mdio_ofw_devinfo { + struct ofw_bus_devinfo di_dinfo; + struct resource_list di_rl; +}; + +struct brcm_iproc_mdio_softc { + struct simplebus_softc sbus; + device_t dev; + struct resource * reg_base; + uint32_t clock_rate; +}; + +MALLOC_DEFINE(M_BRCM_IPROC_MDIO, "Broadcom IPROC MDIO", + "Broadcom IPROC MDIO dynamic memory"); + +static int brcm_iproc_config(struct brcm_iproc_mdio_softc*); +static const struct ofw_bus_devinfo * +brcm_iproc_mdio_get_devinfo(device_t, device_t); +static int brcm_iproc_mdio_write_mux(device_t, int, int, int, int); +static int brcm_iproc_mdio_read_mux(device_t, int, int, int); + +static device_method_t brcm_iproc_mdio_fdt_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, brcm_iproc_mdio_probe), + DEVMETHOD(device_attach, brcm_iproc_mdio_attach), + DEVMETHOD(device_detach, brcm_iproc_mdio_detach), + + /* Bus interface */ + DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), + DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + + /* ofw_bus interface */ + DEVMETHOD(ofw_bus_get_devinfo, brcm_iproc_mdio_get_devinfo), + DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), + DEVMETHOD(ofw_bus_get_model, ofw_bus_gen_get_model), + DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), + DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), + DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), + + /* MDIO interface */ + DEVMETHOD(mdio_writereg_mux, brcm_iproc_mdio_write_mux), + DEVMETHOD(mdio_readreg_mux, brcm_iproc_mdio_read_mux), + + /* End */ + DEVMETHOD_END +}; + +DEFINE_CLASS_0(brcm_iproc_mdio, brcm_iproc_mdio_driver, + brcm_iproc_mdio_fdt_methods, sizeof(struct brcm_iproc_mdio_softc)); + +static devclass_t brcm_iproc_mdio_fdt_devclass; + +EARLY_DRIVER_MODULE(brcm_iproc_mdio, ofwbus, brcm_iproc_mdio_driver, + brcm_iproc_mdio_fdt_devclass, 0, 0, BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); +EARLY_DRIVER_MODULE(brcm_iproc_mdio, simplebus, brcm_iproc_mdio_driver, + brcm_iproc_mdio_fdt_devclass, 0, 0, BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); + +static struct ofw_compat_data mdio_compat_data[] = { + {"brcm,mdio-mux-iproc", true}, + {NULL, false} +}; + +static int +brcm_iproc_switch(struct brcm_iproc_mdio_softc *sc, int child) +{ + uint32_t param, bus_id; + uint32_t bus_dir; + + /* select bus and its properties */ + bus_dir = (child < EXT_BUS_START_ADDR); + bus_id = bus_dir ? child : (child - EXT_BUS_START_ADDR); + + param = (bus_dir ? 1 : 0) << MDIO_PARAM_INTERNAL_SEL; + param |= (bus_id << MDIO_PARAM_BUS_ID); + + bus_write_4(sc->reg_base, MDIO_PARAM_OFFSET, param); + + return (0); +} + +static int +iproc_mdio_wait_for_idle(struct brcm_iproc_mdio_softc *sc, uint32_t result) +{ + unsigned int timeout = 1000; /* loop for 1s */ + uint32_t val; + + do { + val = bus_read_4(sc->reg_base, MDIO_STAT_OFFSET); + if ((val & MDIO_STAT_DONE) == result) + return (0); + + pause("BRCM MDIO SLEEP", 1000 / hz); + } while (timeout--); + + return (ETIMEDOUT); +} + +/* start_miim_ops- Program and start MDIO transaction over mdio bus. + * @base: Base address + * @phyid: phyid of the selected bus. + * @reg: register offset to be read/written. + * @val :0 if read op else value to be written in @reg; + * @op: Operation that need to be carried out. + * MDIO_CTRL_READ_OP: Read transaction. + * MDIO_CTRL_WRITE_OP: Write transaction. + * + * Return value: Successful Read operation returns read reg values and write + * operation returns 0. Failure operation returns negative error code. + */ +static int +brcm_iproc_mdio_op(struct brcm_iproc_mdio_softc *sc, + uint16_t phyid, uint32_t reg, uint32_t val, uint32_t op) +{ + uint32_t param; + int ret; + + bus_write_4(sc->reg_base, MDIO_CTRL_OFFSET, 0); + bus_read_4(sc->reg_base, MDIO_STAT_OFFSET); + ret = iproc_mdio_wait_for_idle(sc, 0); + if (ret) + goto err; + + param = bus_read_4(sc->reg_base, MDIO_PARAM_OFFSET); + param |= phyid << MDIO_PARAM_PHY_ID; + param |= val << MDIO_PARAM_PHY_DATA; + if (reg & MII_ADDR_C45) + param |= (1 << MDIO_PARAM_C45_SEL); + + bus_write_4(sc->reg_base, MDIO_PARAM_OFFSET, param); + + bus_write_4(sc->reg_base, MDIO_ADDR_OFFSET, reg); + + bus_write_4(sc->reg_base, MDIO_CTRL_OFFSET, op); + + ret = iproc_mdio_wait_for_idle(sc, 1); + if (ret) + goto err; + + if (op == MDIO_CTRL_READ_OP) + ret = bus_read_4(sc->reg_base, MDIO_READ_OFFSET) & MDIO_READ_DATA_MASK; +err: + return ret; +} + +static int +brcm_iproc_config(struct brcm_iproc_mdio_softc *sc) +{ + uint32_t divisor; + uint32_t val; + + /* Disable external mdio master access */ + val = bus_read_4(sc->reg_base, MDIO_SCAN_CTRL_OFFSET); + val |= 1 << MDIO_SCAN_CTRL_OVRIDE_EXT_MSTR; + bus_write_4(sc->reg_base, MDIO_SCAN_CTRL_OFFSET, val); + + if (sc->clock_rate) { + /* use rate adjust regs to derrive the mdio's operating + * frequency from the specified core clock + */ + divisor = sc->clock_rate / MDIO_OPERATING_FREQUENCY; + divisor = divisor / (MDIO_RATE_ADJ_DIVIDENT + 1); + val = divisor; + val |= MDIO_RATE_ADJ_DIVIDENT << MDIO_RATE_ADJ_DIVIDENT_SHIFT; + bus_write_4(sc->reg_base, MDIO_RATE_ADJ_EXT_OFFSET, val); + bus_write_4(sc->reg_base, MDIO_RATE_ADJ_INT_OFFSET, val); + } + + return (0); +} + +static int +brcm_iproc_mdio_write_mux(device_t dev, int bus, int phy, int reg, int val) +{ + struct brcm_iproc_mdio_softc *sc; + + sc = device_get_softc(dev); + + if (brcm_iproc_switch(sc, bus) != 0) { + device_printf(dev, "Failed to set BUS MUX\n"); + return (EINVAL); + } + + return (brcm_iproc_mdio_op(sc, phy, reg, val, MDIO_CTRL_WRITE_OP)); +} + +static int +brcm_iproc_mdio_read_mux(device_t dev, int bus, int phy, int reg) +{ + struct brcm_iproc_mdio_softc *sc; + + sc = device_get_softc(dev); + + if (brcm_iproc_switch(sc, bus) != 0) { + device_printf(dev, "Failed to set BUS MUX\n"); + return (EINVAL); + } + + return (brcm_iproc_mdio_op(sc, phy, reg, 0, MDIO_CTRL_READ_OP)); +} + +static int +brcm_iproc_mdio_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_search_compatible(dev, mdio_compat_data)->ocd_data) + return (ENXIO); + + device_set_desc(dev, "Broadcom MDIO MUX driver"); + return (BUS_PROBE_DEFAULT); +} + +static int +brcm_iproc_mdio_attach(device_t dev) +{ + struct brcm_iproc_mdio_softc *sc; + phandle_t node, parent; + struct brcm_mdio_ofw_devinfo *di; + int rid; + device_t child; + + sc = device_get_softc(dev); + sc->dev = dev; + + /* Allocate memory resources */ + rid = REG_BASE_RID; + sc->reg_base = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, + RF_ACTIVE); + if (sc->reg_base == NULL) { + device_printf(dev, "Could not allocate memory\n"); + return (ENXIO); + } + + /* Configure MDIO controlled */ + if (brcm_iproc_config(sc) < 0) { + device_printf(dev, "Unable to initialize IPROC MDIO\n"); + goto error; + } + + parent = ofw_bus_get_node(dev); + simplebus_init(dev, parent); + + /* Iterate through all bus subordinates */ + for (node = OF_child(parent); node > 0; node = OF_peer(node)) { + /* Allocate and populate devinfo. */ + di = malloc(sizeof(*di), M_BRCM_IPROC_MDIO, M_WAITOK | M_ZERO); + if (ofw_bus_gen_setup_devinfo(&di->di_dinfo, node) != 0) { + free(di, M_BRCM_IPROC_MDIO); + continue; + } + + /* Initialize and populate resource list. */ + resource_list_init(&di->di_rl); + ofw_bus_reg_to_rl(dev, node, sc->sbus.acells, sc->sbus.scells, + &di->di_rl); + ofw_bus_intr_to_rl(dev, node, &di->di_rl, NULL); + + /* Add newbus device for this FDT node */ + child = device_add_child(dev, NULL, -1); + if (child == NULL) { + printf("Failed to add child\n"); + resource_list_free(&di->di_rl); + ofw_bus_gen_destroy_devinfo(&di->di_dinfo); + free(di, M_BRCM_IPROC_MDIO); + continue; + } + + device_set_ivars(child, di); + } + + /* + * Register device to this node/xref. + * Thanks to that we will be able to retrieve device_t structure + * while holding only node reference acquired from FDT. + */ + node = ofw_bus_get_node(dev); + OF_device_register_xref(OF_xref_from_node(node), dev); + + return (bus_generic_attach(dev)); + +error: + brcm_iproc_mdio_detach(dev); + return (ENXIO); +} + +static const struct ofw_bus_devinfo * +brcm_iproc_mdio_get_devinfo(device_t bus __unused, device_t child) +{ + struct brcm_mdio_ofw_devinfo *di; + + di = device_get_ivars(child); + return (&di->di_dinfo); +} + +static int +brcm_iproc_mdio_detach(device_t dev) +{ + struct brcm_iproc_mdio_softc *sc; + + sc = device_get_softc(dev); + + if (sc->reg_base != NULL) { + bus_release_resource(dev, SYS_RES_MEMORY, REG_BASE_RID, + sc->reg_base); + } + + return (0); +} Added: head/sys/arm64/broadcom/brcmmdio/mdio_nexus_iproc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm64/broadcom/brcmmdio/mdio_nexus_iproc.c Mon Apr 6 05:48:58 2020 (r359647) @@ -0,0 +1,234 @@ +/*- + * Copyright (c) 2019 Juniper Networks, Inc. + * Copyright (c) 2019 Semihalf. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include "mdio_if.h" + +MALLOC_DEFINE(M_BRCM_IPROC_NEXUS, "Broadcom IPROC MDIO NEXUS", + "Broadcom IPROC MDIO NEXUS dynamic memory"); + +struct brcm_mdionexus_softc { + struct simplebus_softc simplebus_sc; + uint32_t mux_id; +}; + +/* OFW bus interface */ +struct brcm_mdionexus_ofw_devinfo { + struct ofw_bus_devinfo di_dinfo; + struct resource_list di_rl; +}; + +static device_probe_t brcm_mdionexus_fdt_probe; +static device_attach_t brcm_mdionexus_fdt_attach; + +static const struct ofw_bus_devinfo * brcm_mdionexus_ofw_get_devinfo(device_t, + device_t); +static int brcm_mdionexus_mdio_readreg(device_t, int, int); +static int brcm_mdionexus_mdio_writereg(device_t, int, int, int); + +static device_method_t brcm_mdionexus_fdt_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, brcm_mdionexus_fdt_probe), + DEVMETHOD(device_attach, brcm_mdionexus_fdt_attach), + + /* Bus interface */ + DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), + DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + + /* ofw_bus interface */ + DEVMETHOD(ofw_bus_get_devinfo, brcm_mdionexus_ofw_get_devinfo), + DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), + DEVMETHOD(ofw_bus_get_model, ofw_bus_gen_get_model), + DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), + DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), + DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), + + /* MDIO interface */ + /* MDIO interface */ + DEVMETHOD(mdio_readreg, brcm_mdionexus_mdio_readreg), + DEVMETHOD(mdio_writereg, brcm_mdionexus_mdio_writereg), + + DEVMETHOD_END +}; + +DEFINE_CLASS_0(brcm_mdionexus, brcm_mdionexus_fdt_driver, brcm_mdionexus_fdt_methods, + sizeof(struct brcm_mdionexus_softc)); + +static devclass_t brcm_mdionexus_fdt_devclass; + +static driver_t brcm_mdionexus_driver = { + "brcm_mdionexus", + brcm_mdionexus_fdt_methods, + sizeof(struct brcm_mdionexus_softc) +}; +EARLY_DRIVER_MODULE(brcm_mdionexus, brcm_iproc_mdio, brcm_mdionexus_driver, + brcm_mdionexus_fdt_devclass, NULL, NULL, BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); + +static int brcm_mdionexus_ofw_bus_attach(device_t); + +static int +brcm_mdionexus_mdio_readreg(device_t dev, int phy, int reg) +{ + struct brcm_mdionexus_softc *sc; + + sc = device_get_softc(dev); + + return (MDIO_READREG_MUX(device_get_parent(dev), + sc->mux_id, phy, reg)); +} + +static int +brcm_mdionexus_mdio_writereg(device_t dev, int phy, int reg, int val) +{ + struct brcm_mdionexus_softc *sc; + + sc = device_get_softc(dev); + + return (MDIO_WRITEREG_MUX(device_get_parent(dev), + sc->mux_id, phy, reg, val)); +} + +static __inline void +get_addr_size_cells(phandle_t node, pcell_t *addr_cells, pcell_t *size_cells) +{ + + *addr_cells = 2; + /* Find address cells if present */ + OF_getencprop(node, "#address-cells", addr_cells, sizeof(*addr_cells)); + + *size_cells = 2; + /* Find size cells if present */ + OF_getencprop(node, "#size-cells", size_cells, sizeof(*size_cells)); +} + +static int +brcm_mdionexus_fdt_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + device_set_desc(dev, "Broadcom MDIO nexus"); + return (BUS_PROBE_SPECIFIC); +} + +static int +brcm_mdionexus_fdt_attach(device_t dev) +{ + struct brcm_mdionexus_softc *sc; + int err; + pcell_t addr_cells, size_cells, buf[2]; + phandle_t node; + + sc = device_get_softc(dev); + + node = ofw_bus_get_node(dev); + get_addr_size_cells(node, &addr_cells, &size_cells); + if ((addr_cells != 1) || (size_cells != 0)) { + device_printf(dev, "Only addr_cells=1 and size_cells=0 are supported\n"); + return (EINVAL); + } + + if (OF_getencprop(node, "reg", buf, sizeof(pcell_t)) < 0) + return (ENXIO); + + sc->mux_id = buf[0]; + + err = brcm_mdionexus_ofw_bus_attach(dev); + if (err != 0) + return (err); + + return (bus_generic_attach(dev)); +} + +static const struct ofw_bus_devinfo * +brcm_mdionexus_ofw_get_devinfo(device_t bus __unused, device_t child) +{ + struct brcm_mdionexus_ofw_devinfo *di; + + di = device_get_ivars(child); + return (&di->di_dinfo); +} + +static int +brcm_mdionexus_ofw_bus_attach(device_t dev) +{ + struct simplebus_softc *sc; + struct brcm_mdionexus_ofw_devinfo *di; + device_t child; + phandle_t parent, node; + + parent = ofw_bus_get_node(dev); + simplebus_init(dev, parent); + + sc = (struct simplebus_softc *)device_get_softc(dev); + + /* Iterate through all bus subordinates */ + for (node = OF_child(parent); node > 0; node = OF_peer(node)) { + /* Allocate and populate devinfo. */ + di = malloc(sizeof(*di), M_BRCM_IPROC_NEXUS, M_WAITOK | M_ZERO); + if (ofw_bus_gen_setup_devinfo(&di->di_dinfo, node) != 0) { + free(di, M_BRCM_IPROC_NEXUS); + continue; + } + + /* Initialize and populate resource list. */ + resource_list_init(&di->di_rl); + ofw_bus_reg_to_rl(dev, node, sc->acells, sc->scells, + &di->di_rl); + ofw_bus_intr_to_rl(dev, node, &di->di_rl, NULL); + + /* Add newbus device for this FDT node */ + child = device_add_child(dev, NULL, -1); + if (child == NULL) { + resource_list_free(&di->di_rl); + ofw_bus_gen_destroy_devinfo(&di->di_dinfo); + free(di, M_BRCM_IPROC_NEXUS); + continue; + } + + device_set_ivars(child, di); + } + + return (0); +} Added: head/sys/arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c Mon Apr 6 05:48:58 2020 (r359647) @@ -0,0 +1,162 @@ +/*- + * Copyright (c) 2019 Juniper Networks, Inc. + * Copyright (c) 2019 Semihalf. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include "mdio_if.h" + +#define BLK_ADDR_REG_OFFSET 0x1f +#define PLL_AFE1_100MHZ_BLK 0x2100 +#define PLL_CLK_AMP_OFFSET 0x03 +#define PLL_CLK_AMP_2P05V 0x2b18 + +struct ns2_pcie_phy_softc { + uint32_t phy_id; +}; + +static device_probe_t ns2_pcie_phy_fdt_probe; +static device_attach_t ns2_pcie_phy_fdt_attach; + +static int ns2_pci_phy_init(device_t dev); + +static device_method_t ns2_pcie_phy_fdt_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, ns2_pcie_phy_fdt_probe), + DEVMETHOD(device_attach, ns2_pcie_phy_fdt_attach), + + DEVMETHOD_END +}; + +DEFINE_CLASS_0(ns2_pcie_phy, ns2_pcie_phy_fdt_driver, ns2_pcie_phy_fdt_methods, + sizeof(struct ns2_pcie_phy_softc)); + +static devclass_t ns2_pcie_phy_fdt_devclass; + +static driver_t ns2_pcie_phy_driver = { + "ns2_pcie_phy", + ns2_pcie_phy_fdt_methods, + sizeof(struct ns2_pcie_phy_softc) +}; +EARLY_DRIVER_MODULE(ns2_pcie_phy, brcm_mdionexus, ns2_pcie_phy_driver, + ns2_pcie_phy_fdt_devclass, NULL, NULL, BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); + +static int +ns2_pci_phy_init(device_t dev) +{ + struct ns2_pcie_phy_softc *sc; + int err; + + sc = device_get_softc(dev); + + /* select the AFE 100MHz block page */ + err = MDIO_WRITEREG(device_get_parent(dev), sc->phy_id, + BLK_ADDR_REG_OFFSET, PLL_AFE1_100MHZ_BLK); + if (err) + goto err; + + /* set the 100 MHz reference clock amplitude to 2.05 v */ + err = MDIO_WRITEREG(device_get_parent(dev), sc->phy_id, + PLL_CLK_AMP_OFFSET, PLL_CLK_AMP_2P05V); + if (err) + goto err; + + return 0; + +err: + device_printf(dev, "Error %d writing to phy\n", err); + return (err); +} + +static __inline void +get_addr_size_cells(phandle_t node, pcell_t *addr_cells, pcell_t *size_cells) +{ + + *addr_cells = 2; + /* Find address cells if present */ + OF_getencprop(node, "#address-cells", addr_cells, sizeof(*addr_cells)); + + *size_cells = 2; + /* Find size cells if present */ + OF_getencprop(node, "#size-cells", size_cells, sizeof(*size_cells)); +} + +static int +ns2_pcie_phy_fdt_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + if (!ofw_bus_is_compatible(dev, "brcm,ns2-pcie-phy")) + return (ENXIO); + + device_set_desc(dev, "Broadcom NS2 PCIe PHY"); + return (BUS_PROBE_SPECIFIC); +} + +static int +ns2_pcie_phy_fdt_attach(device_t dev) +{ + struct ns2_pcie_phy_softc *sc; + pcell_t addr_cells, size_cells, buf[2]; + phandle_t node; + + sc = device_get_softc(dev); + + node = ofw_bus_get_node(dev); + get_addr_size_cells(OF_parent(node), &addr_cells, &size_cells); + if ((addr_cells != 1) || (size_cells != 0)) { + device_printf(dev, + "Only addr_cells=1 and size_cells=0 are supported\n"); + return (EINVAL); + } + + if (OF_getencprop(node, "reg", buf, sizeof(pcell_t)) < 0) + return (ENXIO); + + sc->phy_id = buf[0]; + + if (ns2_pci_phy_init(dev) < 0) + return (EINVAL); + + return (bus_generic_attach(dev)); +} Modified: head/sys/conf/files.arm64 ============================================================================== --- head/sys/conf/files.arm64 Mon Apr 6 04:06:15 2020 (r359646) +++ head/sys/conf/files.arm64 Mon Apr 6 05:48:58 2020 (r359647) @@ -176,6 +176,9 @@ arm64/arm64/undefined.c standard arm64/arm64/unwind.c optional ddb | kdtrace_hooks | stack arm64/arm64/vfp.c standard arm64/arm64/vm_machdep.c standard +arm64/broadcom/brcmmdio/mdio_mux_iproc.c optional fdt +arm64/broadcom/brcmmdio/mdio_nexus_iproc.c optional fdt +arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c optional fdt pci arm64/cavium/thunder_pcie_fdt.c optional soc_cavm_thunderx pci fdt arm64/cavium/thunder_pcie_pem.c optional soc_cavm_thunderx pci arm64/cavium/thunder_pcie_pem_fdt.c optional soc_cavm_thunderx pci fdt Modified: head/sys/dev/mdio/mdio_if.m ============================================================================== --- head/sys/dev/mdio/mdio_if.m Mon Apr 6 04:06:15 2020 (r359646) +++ head/sys/dev/mdio/mdio_if.m Mon Apr 6 05:48:58 2020 (r359647) @@ -40,6 +40,21 @@ METHOD int readreg { }; /** + * @brief Read register from device on MDIO muxed bus. + * + * @param dev MDIO bus device. + * @param bus MDIO bus mux position + * @param phy PHY address. + * @param reg The PHY register offset. + */ +METHOD int readreg_mux { + device_t dev; + int bus; + int phy; + int reg; +}; + +/** * @brief Write register to device on MDIO bus. * * @param dev MDIO bus device. @@ -49,6 +64,23 @@ METHOD int readreg { */ METHOD int writereg { device_t dev; + int phy; + int reg; + int val; +}; + +/** + * @brief Write register to device on MDIO muxed bus. + * + * @param dev MDIO bus device. + * @param bus MDIO bus mux position + * @param phy PHY address. + * @param reg The PHY register offset. + * @param val The value to write at offset @p reg. + */ +METHOD int writereg_mux { + device_t dev; + int bus; int phy; int reg; int val; From owner-svn-src-head@freebsd.org Mon Apr 6 09:23:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B034E2A99F3; Mon, 6 Apr 2020 09:23:29 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.kundenserver.de", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wlTF0vFxz3H0y; Mon, 6 Apr 2020 09:23:28 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from [192.168.1.99] ([84.68.89.100]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MYeAP-1jpn2b18Dr-00Vfvb; Mon, 06 Apr 2020 11:23:26 +0200 Subject: Re: svn commit: r359633 - head/share/man/man4 To: rgrimes@freebsd.org, Ian Lepore Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, gbergling@gmail.com References: <202004050048.0350mnB1080368@gndrsh.dnsmgr.net> From: Christian Brueffer Message-ID: Date: Mon, 6 Apr 2020 10:23:25 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <202004050048.0350mnB1080368@gndrsh.dnsmgr.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:4DcPp+TeXPgT4CdQU/4bHy1oTJE4YhrCd7aawhD+BT2j24byq19 kRxL1Z4JIt9OdhSk76YwQJDBJ/M87pMwbl9Mkwu4LSAp7/O9kW2LzA4v/FONOAi2eYLhDDD 6FYgG9aOev6XADcxybquZ1CfUgq+EgtAd4o1opl7neZJdR04EbipbAv4WDNCcbqdFSbLgAW xzg0VhzDyvAi7aB2Y/wCA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:vhlLZru+3Uo=:xQBMwaML2sS1lCErwmxQbY 7spLbSAHtXt1M/anfbAwvnDJUOZRYz9oh0JipCsj76oS1aBVeJMzu9xi3297edXHJN7Ve+sUh 9u+5eGKSauHpNXap3/7EszejIvUDdvr5CxCTDIJ0P1uuCMYZPihQXfnS4NR/uwcPY9yK28mux ZfxDNYwN2q+IHHvjPOtRkaJNiEEuUxq4aoai75CdWa7rAXb/mI1ykP57/oMxaALx1QmxyEH6o q7VuEUVQNMgC/ZFfjS7RBLdfSjFwq0rVZt0TuJU8jKghbdVcA3G+VhlWEtrO6kuIoKyE5DAHp hC5lHY79jlbpyZTtnrwzYSmznSYyp/r6Zp+34uJwstQjOEXtlwsXqJLD5J5nmdfsOdVepbtwI Azyw4CbsfitwVNJ8Rs0hwpewWZUAkap7OJErwnDGH0RTQTcL3tx0EqY49q8tCGFyvCYfkl6US jwjbGdQz5HLY2fvlk3snNun1o2EYILJ8LQZZh2xh/Jva5YjcQCBVpvm7FYZ07rOCc6Myb7dEH EXJSzc6esO7hMOz/h77+dBPj9P4erKNQOvrV6MNVQgRuin1Z9E0zOT3rkYwL7E3tCh8KNKJLD A+FdgIpNXVTR2j6pO/YyAUzhCHvZIIbNDhbJGtoD5CUEtzFELwOw6GDp4INrxw5rUtibUX8n8 nXyuzvAZeA4ONaJGS2FsmM4h+lu2ZFVpHW/QOCQrd47A+OUE5SVHqHBUZKNEbd1bvypDmWAqi rmhdVtiz/9nK+bYxVeT5Z3akydM07uMzpq4pNcXDaNTyHKiwLVMktDG+qq5s5o9+CbbfP9Atw qWGKe0xn5BI1s75mlAH25s4fmhzhJld6F+kcylz9USZ2sq+rULY3CECmDK4d6Bdx+X8smOq X-Rspamd-Queue-Id: 48wlTF0vFxz3H0y X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.84 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-0.91)[-0.913,0]; NEURAL_HAM_LONG(-0.93)[-0.928,0]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 09:23:29 -0000 On 2020-04-05 01:48, Rodney W. Grimes wrote: > >> On Sat, 2020-04-04 at 17:10 -0700, Rodney W. Grimes wrote: >>>> Author: brueffer >>>> Date: Sat Apr 4 21:38:00 2020 >>>> New Revision: 359633 >>>> URL: https://svnweb.freebsd.org/changeset/base/359633 >>>> >>>> Log: >>>> Add a manpage for smbios(4). >>>> >>>> Submitted by: Gordon Bergling >>> >>> There should be an AUTHORS section entry for him writting the man >>> page. >> >> Is that not optional? I've never added one to any manpage I've ever >> written, and don't especially want it to be added. > > Yes, of cource it is optional, but perhaps he was not aware that > option even existed as he probably copied the man page from some > other work which may of not had that attribution. > Gordon, please see above, would you like to be added to the AUTHORS section? Cheers, Chris From owner-svn-src-head@freebsd.org Mon Apr 6 09:41:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B49E12AA08A; Mon, 6 Apr 2020 09:41:11 +0000 (UTC) (envelope-from gbergling@gmail.com) Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wlsg3dTyz3J9N; Mon, 6 Apr 2020 09:41:11 +0000 (UTC) (envelope-from gbergling@gmail.com) Received: by mail-wm1-x333.google.com with SMTP id t203so5424266wmt.2; Mon, 06 Apr 2020 02:41:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=7nTjTnPveGhOmmkKtltn1L/xRjQJT93pkjE5XF5kezw=; b=gsHf43nzP745xzbAAlBp1HzZlWVFDnJWF04w05ZA8zNf7Kgb9gh8BLMQWDZ96ETNpP jwg4sRejRT5ZVXA7ZbEUw3m9vcBpoA10hWVufpsL7z3YMitiFWf/q4Oc802eELDLb4jZ r0AL3zrMHqDKaih2g21x/NhFbejlEmNvygRZoNjhhvyzXudogH742YZ90eWxBo6fTGgo BC5oXRptlMcas2e82VM7Ht+gji/AM4aESCDRmbBovohVtjZo1VDlI3Xa64lnmXJ61ZUP WAPqP1a1LxUhOF/SPTtVULRBGy3gBXNvbJ8LB6CsSJO21Fv7ZKXzEYWYSMzQ7N1fsGVo OuiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=7nTjTnPveGhOmmkKtltn1L/xRjQJT93pkjE5XF5kezw=; b=KvRgL2zMmUj0M9YIPfefDQ8vQYQa7nrV3fIdOWjdEd7EHovw+0BSM0yQYo1UKq03Vb PZwDmRzgmyn8nc3yvzMCGY+XQT3t/9lApGymRzB4RaHD+c67DSQIyPKgYyLQxBC5m7a3 MWEN02rkcgjYZhe2pfcwIPIcNADE2gtBHDznYZ7CbZkwHv8uT10ebkZYNpXYgjGptrWT HbZyPQUhIVwiKeE2Mf3reHbo52z2Pz67otIu2a2cbR7rBah5wC0M3TFQBzfW/wQ2XTeZ fO7k56x46jYWDY7zHGyZewWG/jTRQhIMyKlQjoccg/V474cVgmM+MaRQyJAHCDKSpaaf ogdA== X-Gm-Message-State: AGi0PuY3tz3OBMxhHDmhtBv2OBK5HFlxJwtc8cgVI0sZwiKSTPRc6OOQ 0XZafw2kalguCRbS++2D6LMg6krZcCI= X-Google-Smtp-Source: APiQypIhWF5ypIoviWoLdDCrkJV4cw2M7ukfajSTq6NbI7bAp3QIVHL3siWt2bLEH89TNQPrL+tJrg== X-Received: by 2002:a1c:382:: with SMTP id 124mr20602306wmd.151.1586166068151; Mon, 06 Apr 2020 02:41:08 -0700 (PDT) Received: from [10.0.1.111] (p4FD3AF72.dip0.t-ipconnect.de. [79.211.175.114]) by smtp.gmail.com with ESMTPSA id s9sm25382054wmc.2.2020.04.06.02.41.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Apr 2020 02:41:07 -0700 (PDT) From: Gordon Bergling Message-Id: Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: Re: svn commit: r359633 - head/share/man/man4 Date: Mon, 6 Apr 2020 11:41:06 +0200 In-Reply-To: Cc: "Rodney W. Grimes" , Ian Lepore , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org To: Christian Brueffer References: <202004050048.0350mnB1080368@gndrsh.dnsmgr.net> X-Mailer: Apple Mail (2.3608.60.0.2.5) X-Rspamd-Queue-Id: 48wlsg3dTyz3J9N X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 09:41:11 -0000 Hi Chris, yes, why not. :) Should I create a new differential for it, or could you do it on the fly? Best regards, Gordon > Am 06.04.2020 um 11:23 schrieb Christian Brueffer : > > On 2020-04-05 01:48, Rodney W. Grimes wrote: >> >>> On Sat, 2020-04-04 at 17:10 -0700, Rodney W. Grimes wrote: >>>>> Author: brueffer >>>>> Date: Sat Apr 4 21:38:00 2020 >>>>> New Revision: 359633 >>>>> URL: https://svnweb.freebsd.org/changeset/base/359633 >>>>> >>>>> Log: >>>>> Add a manpage for smbios(4). >>>>> >>>>> Submitted by: Gordon Bergling >>>> >>>> There should be an AUTHORS section entry for him writting the man >>>> page. >>> >>> Is that not optional? I've never added one to any manpage I've ever >>> written, and don't especially want it to be added. >> >> Yes, of cource it is optional, but perhaps he was not aware that >> option even existed as he probably copied the man page from some >> other work which may of not had that attribution. >> > > Gordon, > > please see above, would you like to be added to the AUTHORS section? > > Cheers, > > Chris From owner-svn-src-head@freebsd.org Mon Apr 6 09:41:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C73592AA114; Mon, 6 Apr 2020 09:41:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wlsv4vp3z3JGy; Mon, 6 Apr 2020 09:41:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E79A25D96; Mon, 6 Apr 2020 09:41:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0369fNEL010632; Mon, 6 Apr 2020 09:41:23 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0369fNle010630; Mon, 6 Apr 2020 09:41:23 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004060941.0369fNle010630@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 6 Apr 2020 09:41:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359653 - head/sys/dev/mlx5/mlx5_en X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 359653 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 09:41:23 -0000 Author: hselasky Date: Mon Apr 6 09:41:22 2020 New Revision: 359653 URL: https://svnweb.freebsd.org/changeset/base/359653 Log: Count number of times transmit ring is out of buffers in mlx5en(4). Differential Revision: https://reviews.freebsd.org/D24273 MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/mlx5/mlx5_en/en.h head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Modified: head/sys/dev/mlx5/mlx5_en/en.h ============================================================================== --- head/sys/dev/mlx5/mlx5_en/en.h Mon Apr 6 07:16:31 2020 (r359652) +++ head/sys/dev/mlx5/mlx5_en/en.h Mon Apr 6 09:41:22 2020 (r359653) @@ -627,6 +627,7 @@ struct mlx5e_rq_stats { m(+1, u64, csum_offload_none, "csum_offload_none", "Transmitted packets") \ m(+1, u64, defragged, "defragged", "Transmitted packets") \ m(+1, u64, dropped, "dropped", "Transmitted packets") \ + m(+1, u64, enobuf, "enobuf", "Transmitted packets") \ m(+1, u64, nop, "nop", "Transmitted packets") #define MLX5E_SQ_STATS_NUM (0 MLX5E_SQ_STATS(MLX5E_STATS_COUNT)) Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Mon Apr 6 07:16:31 2020 (r359652) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Mon Apr 6 09:41:22 2020 (r359653) @@ -401,6 +401,7 @@ mlx5e_sq_dump_xmit(struct mlx5e_sq *sq, struct mlx5e_x /* return ENOBUFS if the queue is full */ if (unlikely(!mlx5e_sq_has_room_for(sq, xsegs))) { + sq->stats.enobuf++; bus_dmamap_unload(sq->dma_tag, sq->mbuf[pi].dma_map); m_freem(mb); *mbp = NULL; /* safety clear */ @@ -493,8 +494,10 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struct mbuf **mbp) top: #endif /* Return ENOBUFS if the queue is full */ - if (unlikely(!mlx5e_sq_has_room_for(sq, 2 * MLX5_SEND_WQE_MAX_WQEBBS))) + if (unlikely(!mlx5e_sq_has_room_for(sq, 2 * MLX5_SEND_WQE_MAX_WQEBBS))) { + sq->stats.enobuf++; return (ENOBUFS); + } /* Align SQ edge with NOPs to avoid WQE wrap around */ pi = ((~sq->pc) & sq->wq.sz_m1); @@ -502,8 +505,10 @@ top: /* Send one multi NOP message instead of many */ mlx5e_send_nop(sq, (pi + 1) * MLX5_SEND_WQEBB_NUM_DS); pi = ((~sq->pc) & sq->wq.sz_m1); - if (pi < (MLX5_SEND_WQE_MAX_WQEBBS - 1)) + if (pi < (MLX5_SEND_WQE_MAX_WQEBBS - 1)) { + sq->stats.enobuf++; return (ENOMEM); + } } #ifdef KERN_TLS From owner-svn-src-head@freebsd.org Mon Apr 6 09:45:49 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A24512AAA1D; Mon, 6 Apr 2020 09:45:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wlz13rYxz3Jjb; Mon, 6 Apr 2020 09:45:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7F2CB25F56; Mon, 6 Apr 2020 09:45:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0369jn9b011930; Mon, 6 Apr 2020 09:45:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0369jnas011929; Mon, 6 Apr 2020 09:45:49 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004060945.0369jnas011929@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 6 Apr 2020 09:45:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359654 - head/sys/dev/mlx5/mlx5_en X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 359654 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 09:45:49 -0000 Author: hselasky Date: Mon Apr 6 09:45:49 2020 New Revision: 359654 URL: https://svnweb.freebsd.org/changeset/base/359654 Log: Ensure a minimum inline size of 16 bytes in mlx5en(4). This includes 14 bytes of ethernet header and 2 bytes of VLAN header. This allows for making assumptions about the inline size limit in the fast transmit path later on. Use a signed integer variable to catch underflow. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Mon Apr 6 09:41:22 2020 (r359653) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Mon Apr 6 09:45:49 2020 (r359654) @@ -3523,15 +3523,19 @@ mlx5e_check_required_hca_cap(struct mlx5_core_dev *mde static u16 mlx5e_get_max_inline_cap(struct mlx5_core_dev *mdev) { - uint32_t bf_buf_size = (1U << MLX5_CAP_GEN(mdev, log_bf_reg_size)) / 2U; + const int min_size = ETHER_VLAN_ENCAP_LEN + ETHER_HDR_LEN; + const int max_size = MLX5E_MAX_TX_INLINE; + const int bf_buf_size = + ((1U << MLX5_CAP_GEN(mdev, log_bf_reg_size)) / 2U) - + (sizeof(struct mlx5e_tx_wqe) - 2); - bf_buf_size -= sizeof(struct mlx5e_tx_wqe) - 2; - - /* verify against driver hardware limit */ - if (bf_buf_size > MLX5E_MAX_TX_INLINE) - bf_buf_size = MLX5E_MAX_TX_INLINE; - - return (bf_buf_size); + /* verify against driver limits */ + if (bf_buf_size > max_size) + return (max_size); + else if (bf_buf_size < min_size) + return (min_size); + else + return (bf_buf_size); } static int From owner-svn-src-head@freebsd.org Mon Apr 6 09:50:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8B0072AAB14; Mon, 6 Apr 2020 09:50:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wm4F2y7Yz3Jt6; Mon, 6 Apr 2020 09:50:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 608E225F5C; Mon, 6 Apr 2020 09:50:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0369oLDO012223; Mon, 6 Apr 2020 09:50:21 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0369oLnQ012222; Mon, 6 Apr 2020 09:50:21 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004060950.0369oLnQ012222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 6 Apr 2020 09:50:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359655 - head/sys/dev/mlx5/mlx5_en X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 359655 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 09:50:21 -0000 Author: hselasky Date: Mon Apr 6 09:50:20 2020 New Revision: 359655 URL: https://svnweb.freebsd.org/changeset/base/359655 Log: Don't drop packets having too many TCP option headers in mlx5en(4). When using SACK it can happen there are multiple option headers. Don't drop these packets, but instead limit the amount of inlining to the maximum supported. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Mon Apr 6 09:45:49 2020 (r359654) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Mon Apr 6 09:50:20 2020 (r359655) @@ -613,18 +613,18 @@ top: if (likely(args.ihs == 0)) { /* nothing to inline */ - } else if (unlikely(args.ihs > sq->max_inline)) { - /* inline header size is too big */ - err = EINVAL; - goto tx_drop; } else if ((mb->m_flags & M_VLANTAG) != 0) { struct ether_vlan_header *eh = (struct ether_vlan_header *) wqe->eth.inline_hdr_start; /* Range checks */ - if (unlikely(args.ihs > (MLX5E_MAX_TX_INLINE - ETHER_VLAN_ENCAP_LEN))) - args.ihs = (MLX5E_MAX_TX_INLINE - ETHER_VLAN_ENCAP_LEN); - else if (unlikely(args.ihs < ETHER_HDR_LEN)) { + if (unlikely(args.ihs > (sq->max_inline - ETHER_VLAN_ENCAP_LEN))) { + if (mb->m_pkthdr.csum_flags & CSUM_TSO) { + err = EINVAL; + goto tx_drop; + } + args.ihs = (sq->max_inline - ETHER_VLAN_ENCAP_LEN); + } else if (unlikely(args.ihs < ETHER_HDR_LEN)) { err = EINVAL; goto tx_drop; } @@ -641,6 +641,14 @@ top: args.ihs += ETHER_VLAN_ENCAP_LEN; wqe->eth.inline_hdr_sz = cpu_to_be16(args.ihs); } else { + /* check if inline header size is too big */ + if (unlikely(args.ihs > sq->max_inline)) { + if (unlikely(mb->m_pkthdr.csum_flags & CSUM_TSO)) { + err = EINVAL; + goto tx_drop; + } + args.ihs = sq->max_inline; + } m_copydata(mb, 0, args.ihs, wqe->eth.inline_hdr_start); m_adj(mb, args.ihs); wqe->eth.inline_hdr_sz = cpu_to_be16(args.ihs); From owner-svn-src-head@freebsd.org Mon Apr 6 09:59:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EDDD72AAEB6; Mon, 6 Apr 2020 09:59:21 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wmGd5qtbz3KWC; Mon, 6 Apr 2020 09:59:21 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C313426135; Mon, 6 Apr 2020 09:59:21 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0369xLYw018559; Mon, 6 Apr 2020 09:59:21 GMT (envelope-from brueffer@FreeBSD.org) Received: (from brueffer@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0369xL8p018558; Mon, 6 Apr 2020 09:59:21 GMT (envelope-from brueffer@FreeBSD.org) Message-Id: <202004060959.0369xL8p018558@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brueffer set sender to brueffer@FreeBSD.org using -f From: Christian Brueffer Date: Mon, 6 Apr 2020 09:59:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359656 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: brueffer X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 359656 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 09:59:22 -0000 Author: brueffer Date: Mon Apr 6 09:59:21 2020 New Revision: 359656 URL: https://svnweb.freebsd.org/changeset/base/359656 Log: Add Gordon Bergling to the authors section; remove trailing whitespace. Suggested by: rgrimes Approved by: Gordon Bergling X-MFC-with: r359633 Modified: head/share/man/man4/smbios.4 Modified: head/share/man/man4/smbios.4 ============================================================================== --- head/share/man/man4/smbios.4 Mon Apr 6 09:50:20 2020 (r359655) +++ head/share/man/man4/smbios.4 Mon Apr 6 09:59:21 2020 (r359656) @@ -1,4 +1,4 @@ -.\" Copyright (c) 2020 Gordon Bergling +.\" Copyright (c) 2020 Gordon Bergling .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -23,11 +23,11 @@ .\" .\" $FreeBSD$ .\" -.Dd April 4, 2020 +.Dd April 6, 2020 .Dt SMBIOS 4 .Os .Sh NAME -.Nm smbios +.Nm smbios .Nd "System Management BIOS" .Sh SYNOPSIS To compile this driver into the kernel, @@ -61,3 +61,5 @@ The .Nm device driver was written by .An Matthew N. Dodd Aq Mt winter@jurai.net . +This manual page was written by +.An Gordon Bergling Aq Mt gbergling@gmail.com . From owner-svn-src-head@freebsd.org Mon Apr 6 13:58:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 539BD2B0CED; Mon, 6 Apr 2020 13:58:14 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wsZG1KF0z45r3; Mon, 6 Apr 2020 13:58:14 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2860328FDF; Mon, 6 Apr 2020 13:58:14 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036DwE5R062985; Mon, 6 Apr 2020 13:58:14 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036DwEYg062984; Mon, 6 Apr 2020 13:58:14 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202004061358.036DwEYg062984@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Mon, 6 Apr 2020 13:58:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359657 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359657 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 13:58:14 -0000 Author: tuexen Date: Mon Apr 6 13:58:13 2020 New Revision: 359657 URL: https://svnweb.freebsd.org/changeset/base/359657 Log: Do more argument validation under INVARIANTS when starting/stopping an SCTP timer. MFC after: 1 week Modified: head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Mon Apr 6 09:59:21 2020 (r359656) +++ head/sys/netinet/sctputil.c Mon Apr 6 13:58:13 2020 (r359657) @@ -1730,9 +1730,14 @@ sctp_timeout_handler(void *t) #endif /* sanity checks... */ - KASSERT(tmr->self == tmr, ("tmr->self corrupted")); - KASSERT(SCTP_IS_TIMER_TYPE_VALID(tmr->type), ("Invalid timer type %d", tmr->type)); + KASSERT(tmr->self == tmr, + ("sctp_timeout_handler: tmr->self corrupted")); + KASSERT(SCTP_IS_TIMER_TYPE_VALID(tmr->type), + ("sctp_timeout_handler: invalid timer type %d", tmr->type)); type = tmr->type; + KASSERT(stcb == NULL || stcb->sctp_ep == inp, + ("sctp_timeout_handler of type %d: inp = %p, stcb->sctp_ep %p", + type, stcb, stcb->sctp_ep)); if (inp) { SCTP_INP_INCR_REF(inp); } @@ -2147,6 +2152,9 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s uint32_t to_ticks; uint32_t rndval, jitter; + KASSERT(stcb == NULL || stcb->sctp_ep == inp, + ("sctp_timer_start of type %d: inp = %p, stcb->sctp_ep %p", + t_type, stcb, stcb->sctp_ep)); tmr = NULL; to_ticks = 0; if (stcb != NULL) { @@ -2581,6 +2589,9 @@ sctp_timer_stop(int t_type, struct sctp_inpcb *inp, st { struct sctp_timer *tmr; + KASSERT(stcb == NULL || stcb->sctp_ep == inp, + ("sctp_timer_stop of type %d: inp = %p, stcb->sctp_ep %p", + t_type, stcb, stcb->sctp_ep)); if (stcb != NULL) { SCTP_TCB_LOCK_ASSERT(stcb); } else if (inp != NULL) { From owner-svn-src-head@freebsd.org Mon Apr 6 18:42:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AFF962B7C06; Mon, 6 Apr 2020 18:42:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48wzsj3yKxz4Rt1; Mon, 6 Apr 2020 18:42:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 831B92C8B9; Mon, 6 Apr 2020 18:42:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036Ig1Je039963; Mon, 6 Apr 2020 18:42:01 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036Ig1Ga039962; Mon, 6 Apr 2020 18:42:01 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202004061842.036Ig1Ga039962@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 6 Apr 2020 18:42:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359662 - head/sys/cam/scsi X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cam/scsi X-SVN-Commit-Revision: 359662 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 18:42:01 -0000 Author: mav Date: Mon Apr 6 18:42:01 2020 New Revision: 359662 URL: https://svnweb.freebsd.org/changeset/base/359662 Log: Relax too strict SES element descriptors check in r355430. SES specifications allows the string to be NULL-terminated, while previous code was considering it as invalid due to incorrectly ordered conditions. MFC after: 1 week Sponsored by: iXsystem, Inc. Modified: head/sys/cam/scsi/scsi_enc_ses.c Modified: head/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- head/sys/cam/scsi/scsi_enc_ses.c Mon Apr 6 17:28:17 2020 (r359661) +++ head/sys/cam/scsi/scsi_enc_ses.c Mon Apr 6 18:42:01 2020 (r359662) @@ -2004,11 +2004,11 @@ ses_sanitize_elm_desc(const char *desc, uint16_t *len) int i; for (i = 0; i < *len; i++) { - if (desc[i] < 0x20 || desc[i] > 0x7e) { + if (desc[i] == 0) { + break; + } else if (desc[i] < 0x20 || desc[i] > 0x7e) { *len = strlen(invalid); return (invalid); - } else if (desc[i] == 0) { - break; } } return (desc); From owner-svn-src-head@freebsd.org Mon Apr 6 19:45:27 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3069B2797F2; Mon, 6 Apr 2020 19:45:27 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x1Gv0H3Dz4WWq; Mon, 6 Apr 2020 19:45:27 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 04BB92D450; Mon, 6 Apr 2020 19:45:27 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036JjQxe081231; Mon, 6 Apr 2020 19:45:26 GMT (envelope-from mw@FreeBSD.org) Received: (from mw@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036JjQoY081229; Mon, 6 Apr 2020 19:45:26 GMT (envelope-from mw@FreeBSD.org) Message-Id: <202004061945.036JjQoY081229@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mw set sender to mw@FreeBSD.org using -f From: Marcin Wojtas Date: Mon, 6 Apr 2020 19:45:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359667 - in head/sys: dev/hwpmc sys X-SVN-Group: head X-SVN-Commit-Author: mw X-SVN-Commit-Paths: in head/sys: dev/hwpmc sys X-SVN-Commit-Revision: 359667 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 19:45:27 -0000 Author: mw Date: Mon Apr 6 19:45:26 2020 New Revision: 359667 URL: https://svnweb.freebsd.org/changeset/base/359667 Log: Add hwpmc support for Intel Atom Goldmont microarchitecture Recognize new micro-architecture in hwpmc_intel driver. Based on Intel document 325462-071US. Tested with tools/test/hwpmc/pmctest.py on Atom E3930 SoC. Submitted by: Dawid Gorecki Reviewed by: kib Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D24310 Modified: head/sys/dev/hwpmc/hwpmc_intel.c head/sys/sys/pmc.h Modified: head/sys/dev/hwpmc/hwpmc_intel.c ============================================================================== --- head/sys/dev/hwpmc/hwpmc_intel.c Mon Apr 6 18:52:40 2020 (r359666) +++ head/sys/dev/hwpmc/hwpmc_intel.c Mon Apr 6 19:45:26 2020 (r359667) @@ -203,6 +203,10 @@ pmc_intel_initialize(void) cputype = PMC_CPU_INTEL_ATOM_SILVERMONT; nclasses = 3; break; + case 0x5C: /* Per Intel document 325462-071US 10/2019. */ + cputype = PMC_CPU_INTEL_ATOM_GOLDMONT; + nclasses = 3; + break; } break; } @@ -230,6 +234,7 @@ pmc_intel_initialize(void) */ case PMC_CPU_INTEL_ATOM: case PMC_CPU_INTEL_ATOM_SILVERMONT: + case PMC_CPU_INTEL_ATOM_GOLDMONT: case PMC_CPU_INTEL_BROADWELL: case PMC_CPU_INTEL_BROADWELL_XEON: case PMC_CPU_INTEL_SKYLAKE_XEON: @@ -293,6 +298,7 @@ pmc_intel_finalize(struct pmc_mdep *md) switch (md->pmd_cputype) { case PMC_CPU_INTEL_ATOM: case PMC_CPU_INTEL_ATOM_SILVERMONT: + case PMC_CPU_INTEL_ATOM_GOLDMONT: case PMC_CPU_INTEL_BROADWELL: case PMC_CPU_INTEL_BROADWELL_XEON: case PMC_CPU_INTEL_SKYLAKE_XEON: Modified: head/sys/sys/pmc.h ============================================================================== --- head/sys/sys/pmc.h Mon Apr 6 18:52:40 2020 (r359666) +++ head/sys/sys/pmc.h Mon Apr 6 19:45:26 2020 (r359667) @@ -110,6 +110,7 @@ extern char pmc_cpuid[PMC_CPUID_LEN]; __PMC_CPU(INTEL_BROADWELL_XEON, 0x97, "Intel Broadwell Xeon") \ __PMC_CPU(INTEL_SKYLAKE, 0x98, "Intel Skylake") \ __PMC_CPU(INTEL_SKYLAKE_XEON, 0x99, "Intel Skylake Xeon") \ + __PMC_CPU(INTEL_ATOM_GOLDMONT, 0x9A, "Intel Atom Goldmont") \ __PMC_CPU(INTEL_XSCALE, 0x100, "Intel XScale") \ __PMC_CPU(MIPS_24K, 0x200, "MIPS 24K") \ __PMC_CPU(MIPS_OCTEON, 0x201, "Cavium Octeon") \ From owner-svn-src-head@freebsd.org Mon Apr 6 20:23:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 498E027ACAD; Mon, 6 Apr 2020 20:23:48 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x27818bpz4YLR; Mon, 6 Apr 2020 20:23:48 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 22EB42DBED; Mon, 6 Apr 2020 20:23:48 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036KNmNC005294; Mon, 6 Apr 2020 20:23:48 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036KNmqF005293; Mon, 6 Apr 2020 20:23:48 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <202004062023.036KNmqF005293@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Mon, 6 Apr 2020 20:23:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359668 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 359668 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 20:23:48 -0000 Author: mckusick Date: Mon Apr 6 20:23:47 2020 New Revision: 359668 URL: https://svnweb.freebsd.org/changeset/base/359668 Log: Revert -r359612 as it can cause other panics. An updated version will be made when the issue has been resolved. Reported by: Peter Holm Modified: head/sys/ufs/ffs/ffs_inode.c Modified: head/sys/ufs/ffs/ffs_inode.c ============================================================================== --- head/sys/ufs/ffs/ffs_inode.c Mon Apr 6 19:45:26 2020 (r359667) +++ head/sys/ufs/ffs/ffs_inode.c Mon Apr 6 20:23:47 2020 (r359668) @@ -426,6 +426,11 @@ ffs_truncate(vp, length, flags, cred) ip->i_size = length; DIP_SET(ip, i_size, length); } else { + lbn = lblkno(fs, length); + flags |= BA_CLRBUF; + error = UFS_BALLOC(vp, length - 1, 1, cred, flags, &bp); + if (error) + return (error); /* * When we are doing soft updates and the UFS_BALLOC * above fills in a direct block hole with a full sized @@ -434,14 +439,9 @@ ffs_truncate(vp, length, flags, cred) * so that we do not get a soft updates inconsistency * when we create the fragment below. */ - lbn = lblkno(fs, length); if (DOINGSOFTDEP(vp) && lbn < UFS_NDADDR && fragroundup(fs, blkoff(fs, length)) < fs->fs_bsize && (error = ffs_syncvnode(vp, MNT_WAIT, 0)) != 0) - return (error); - flags |= BA_CLRBUF; - error = UFS_BALLOC(vp, length - 1, 1, cred, flags, &bp); - if (error) return (error); ip->i_size = length; DIP_SET(ip, i_size, length); From owner-svn-src-head@freebsd.org Mon Apr 6 22:29:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9A57927E0FE; Mon, 6 Apr 2020 22:29:15 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x4vv3YYGz3CVZ; Mon, 6 Apr 2020 22:29:15 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 757C92F3F0; Mon, 6 Apr 2020 22:29:15 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036MTF2x078722; Mon, 6 Apr 2020 22:29:15 GMT (envelope-from jrtc27@FreeBSD.org) Received: (from jrtc27@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036MTF7M078721; Mon, 6 Apr 2020 22:29:15 GMT (envelope-from jrtc27@FreeBSD.org) Message-Id: <202004062229.036MTF7M078721@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jrtc27 set sender to jrtc27@FreeBSD.org using -f From: Jessica Clarke Date: Mon, 6 Apr 2020 22:29:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359671 - head/sys/riscv/riscv X-SVN-Group: head X-SVN-Commit-Author: jrtc27 X-SVN-Commit-Paths: head/sys/riscv/riscv X-SVN-Commit-Revision: 359671 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 22:29:15 -0000 Author: jrtc27 Date: Mon Apr 6 22:29:15 2020 New Revision: 359671 URL: https://svnweb.freebsd.org/changeset/base/359671 Log: riscv: Fix pmap_fault_fixup for L3 pages Summary: The parentheses being in the wrong place means that, for L3 pages, oldpte has all bits except PTE_V cleared, and so all the subsequent checks against oldpte will fail, causing us to bail out and not retry the faulting instruction after an SFENCE.VMA. This causes a WITNESS + INVARIANTS kernel to fault on the "Chisel P3" (BOOM-based) DARPA SSITH GFE SoC in pmap_init when writing to pv_table and, being a nofault entry, subsequently panic with: panic: vm_fault_lookup: fault on nofault entry, addr: 0xffffffc004e00000 Reviewed by: markj Approved by: markj Differential Revision: https://reviews.freebsd.org/D24315 Modified: head/sys/riscv/riscv/pmap.c Modified: head/sys/riscv/riscv/pmap.c ============================================================================== --- head/sys/riscv/riscv/pmap.c Mon Apr 6 22:14:50 2020 (r359670) +++ head/sys/riscv/riscv/pmap.c Mon Apr 6 22:29:15 2020 (r359671) @@ -2416,7 +2416,7 @@ pmap_fault_fixup(pmap_t pmap, vm_offset_t va, vm_prot_ goto done; if ((l2e & PTE_RWX) == 0) { pte = pmap_l2_to_l3(l2, va); - if (pte == NULL || ((oldpte = pmap_load(pte) & PTE_V)) == 0) + if (pte == NULL || ((oldpte = pmap_load(pte)) & PTE_V) == 0) goto done; } else { pte = l2; From owner-svn-src-head@freebsd.org Mon Apr 6 22:31:31 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7612627E53B; Mon, 6 Apr 2020 22:31:31 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x4yW2LDCz3Cr8; Mon, 6 Apr 2020 22:31:31 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4B94C2F457; Mon, 6 Apr 2020 22:31:31 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036MVVhX079572; Mon, 6 Apr 2020 22:31:31 GMT (envelope-from jrtc27@FreeBSD.org) Received: (from jrtc27@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036MVVvO079571; Mon, 6 Apr 2020 22:31:31 GMT (envelope-from jrtc27@FreeBSD.org) Message-Id: <202004062231.036MVVvO079571@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jrtc27 set sender to jrtc27@FreeBSD.org using -f From: Jessica Clarke Date: Mon, 6 Apr 2020 22:31:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359672 - head/sys/riscv/riscv X-SVN-Group: head X-SVN-Commit-Author: jrtc27 X-SVN-Commit-Paths: head/sys/riscv/riscv X-SVN-Commit-Revision: 359672 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 22:31:31 -0000 Author: jrtc27 Date: Mon Apr 6 22:31:30 2020 New Revision: 359672 URL: https://svnweb.freebsd.org/changeset/base/359672 Log: riscv: Make sure local hart's icache is synced in pmap_sync_icache The only way to flush the local hart's icache is with a FENCE.I (or an equivalent SBI call); a normal FENCE is insufficient and, for the single-hart case, unnecessary. Reviewed by: jhb (mentor), markj Approved by: jhb (mentor), markj Differential Revision: https://reviews.freebsd.org/D24317 Modified: head/sys/riscv/riscv/pmap.c Modified: head/sys/riscv/riscv/pmap.c ============================================================================== --- head/sys/riscv/riscv/pmap.c Mon Apr 6 22:29:15 2020 (r359671) +++ head/sys/riscv/riscv/pmap.c Mon Apr 6 22:31:30 2020 (r359672) @@ -4335,13 +4335,20 @@ pmap_sync_icache(pmap_t pmap, vm_offset_t va, vm_size_ * RISC-V harts, the writing hart has to execute a data FENCE * before requesting that all remote RISC-V harts execute a * FENCE.I." + * + * However, this is slightly misleading; we still need to + * perform a FENCE.I for the local hart, as FENCE does nothing + * for its icache. FENCE.I alone is also sufficient for the + * local hart. */ sched_pin(); mask = all_harts; CPU_CLR(PCPU_GET(hart), &mask); - fence(); - if (!CPU_EMPTY(&mask) && smp_started) + fence_i() + if (!CPU_EMPTY(&mask) && smp_started) { + fence(); sbi_remote_fence_i(mask.__bits); + } sched_unpin(); } From owner-svn-src-head@freebsd.org Mon Apr 6 22:48:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2DFE827EFC6; Mon, 6 Apr 2020 22:48:45 +0000 (UTC) (envelope-from mhorne@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x5LP0DzSz3Dg4; Mon, 6 Apr 2020 22:48:45 +0000 (UTC) (envelope-from mhorne@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F2CDA2F7C9; Mon, 6 Apr 2020 22:48:44 +0000 (UTC) (envelope-from mhorne@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036MmiJJ091122; Mon, 6 Apr 2020 22:48:44 GMT (envelope-from mhorne@FreeBSD.org) Received: (from mhorne@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036MmhwC091115; Mon, 6 Apr 2020 22:48:43 GMT (envelope-from mhorne@FreeBSD.org) Message-Id: <202004062248.036MmhwC091115@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mhorne set sender to mhorne@FreeBSD.org using -f From: Mitchell Horne Date: Mon, 6 Apr 2020 22:48:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359673 - in head/sys/riscv: include riscv X-SVN-Group: head X-SVN-Commit-Author: mhorne X-SVN-Commit-Paths: in head/sys/riscv: include riscv X-SVN-Commit-Revision: 359673 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 22:48:45 -0000 Author: mhorne Date: Mon Apr 6 22:48:43 2020 New Revision: 359673 URL: https://svnweb.freebsd.org/changeset/base/359673 Log: RISC-V: copy the DTB to early KVA The location of the device-tree blob is passed to the kernel by the previous booting stage (i.e. BBL or OpenSBI). Currently, we leave it untouched and mark the 1MB of memory holding it as unavailable. Instead, do what is done by other fake_preload_metadata() routines and copy to the DTB to KVA space. This is more in line with what loader(8) will provide us in the future, and it allows us to reclaim the hole in physical memory. Reviewed by: markj, kp (earlier version) Differential Revision: https://reviews.freebsd.org/D24152 Added: head/sys/riscv/include/metadata.h (contents, props changed) Modified: head/sys/riscv/include/machdep.h head/sys/riscv/include/vmparam.h head/sys/riscv/riscv/genassym.c head/sys/riscv/riscv/locore.S head/sys/riscv/riscv/machdep.c head/sys/riscv/riscv/pmap.c Modified: head/sys/riscv/include/machdep.h ============================================================================== --- head/sys/riscv/include/machdep.h Mon Apr 6 22:31:30 2020 (r359672) +++ head/sys/riscv/include/machdep.h Mon Apr 6 22:48:43 2020 (r359673) @@ -42,7 +42,6 @@ struct riscv_bootparams { vm_offset_t kern_phys; /* Kernel base (physical) addr */ vm_offset_t kern_stack; vm_offset_t dtbp_virt; /* Device tree blob virtual addr */ - vm_offset_t dtbp_phys; /* Device tree blob physical addr */ }; extern vm_paddr_t physmap[]; Added: head/sys/riscv/include/metadata.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/include/metadata.h Mon Apr 6 22:48:43 2020 (r359673) @@ -0,0 +1,35 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Mitchell Horne + * + * 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 _MACHINE_METADATA_H_ +#define _MACHINE_METADATA_H_ + +#define MODINFOMD_DTBP 0x1001 + +#endif /* !_MACHINE_METADATA_H_ */ Modified: head/sys/riscv/include/vmparam.h ============================================================================== --- head/sys/riscv/include/vmparam.h Mon Apr 6 22:31:30 2020 (r359672) +++ head/sys/riscv/include/vmparam.h Mon Apr 6 22:48:43 2020 (r359673) @@ -192,6 +192,8 @@ #define KERNENTRY (0) +#define VM_EARLY_DTB_ADDRESS (VM_MAX_KERNEL_ADDRESS - (2 * L2_SIZE)) + /* * How many physical pages per kmem arena virtual page. */ Modified: head/sys/riscv/riscv/genassym.c ============================================================================== --- head/sys/riscv/riscv/genassym.c Mon Apr 6 22:31:30 2020 (r359672) +++ head/sys/riscv/riscv/genassym.c Mon Apr 6 22:48:43 2020 (r359673) @@ -56,10 +56,12 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include ASSYM(KERNBASE, KERNBASE); ASSYM(VM_MAXUSER_ADDRESS, VM_MAXUSER_ADDRESS); ASSYM(VM_MAX_KERNEL_ADDRESS, VM_MAX_KERNEL_ADDRESS); +ASSYM(VM_EARLY_DTB_ADDRESS, VM_EARLY_DTB_ADDRESS); ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); @@ -104,4 +106,3 @@ ASSYM(RISCV_BOOTPARAMS_KERN_PHYS, offsetof(struct risc ASSYM(RISCV_BOOTPARAMS_KERN_STACK, offsetof(struct riscv_bootparams, kern_stack)); ASSYM(RISCV_BOOTPARAMS_DTBP_VIRT, offsetof(struct riscv_bootparams, dtbp_virt)); -ASSYM(RISCV_BOOTPARAMS_DTBP_PHYS, offsetof(struct riscv_bootparams, dtbp_phys)); Modified: head/sys/riscv/riscv/locore.S ============================================================================== --- head/sys/riscv/riscv/locore.S Mon Apr 6 22:31:30 2020 (r359672) +++ head/sys/riscv/riscv/locore.S Mon Apr 6 22:48:43 2020 (r359673) @@ -217,9 +217,8 @@ va: la t0, initstack sd t0, RISCV_BOOTPARAMS_KERN_STACK(sp) - li t0, (VM_MAX_KERNEL_ADDRESS - 2 * L2_SIZE) + li t0, (VM_EARLY_DTB_ADDRESS) sd t0, RISCV_BOOTPARAMS_DTBP_VIRT(sp) - sd a1, RISCV_BOOTPARAMS_DTBP_PHYS(sp) mv a0, sp call _C_LABEL(initriscv) /* Off we go */ Modified: head/sys/riscv/riscv/machdep.c ============================================================================== --- head/sys/riscv/riscv/machdep.c Mon Apr 6 22:31:30 2020 (r359672) +++ head/sys/riscv/riscv/machdep.c Mon Apr 6 22:48:43 2020 (r359673) @@ -81,6 +81,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -93,6 +94,7 @@ __FBSDID("$FreeBSD$"); #endif #ifdef FDT +#include #include #include #endif @@ -741,11 +743,19 @@ add_physmap_entry(uint64_t base, uint64_t length, vm_p #ifdef FDT static void -try_load_dtb(caddr_t kmdp, vm_offset_t dtbp) +try_load_dtb(caddr_t kmdp) { + vm_offset_t dtbp; + dtbp = MD_FETCH(kmdp, MODINFOMD_DTBP, vm_offset_t); + #if defined(FDT_DTB_STATIC) - dtbp = (vm_offset_t)&fdt_static_dtb; + /* + * In case the device tree blob was not retrieved (from metadata) try + * to use the statically embedded one. + */ + if (dtbp == (vm_offset_t)NULL) + dtbp = (vm_offset_t)&fdt_static_dtb; #endif if (dtbp == (vm_offset_t)NULL) { @@ -777,13 +787,14 @@ cache_setup(void) * RISCVTODO: This needs to be done via loader (when it's available). */ vm_offset_t -fake_preload_metadata(struct riscv_bootparams *rvbp __unused) +fake_preload_metadata(struct riscv_bootparams *rvbp) { static uint32_t fake_preload[35]; #ifdef DDB vm_offset_t zstart = 0, zend = 0; #endif vm_offset_t lastaddr; + size_t dtb_size; int i; i = 0; @@ -824,10 +835,23 @@ fake_preload_metadata(struct riscv_bootparams *rvbp __ #endif #endif lastaddr = (vm_offset_t)&end; + + /* Copy the DTB to KVA space. */ + lastaddr = roundup(lastaddr, sizeof(int)); + fake_preload[i++] = MODINFO_METADATA | MODINFOMD_DTBP; + fake_preload[i++] = sizeof(vm_offset_t); + *(vm_offset_t *)&fake_preload[i] = (vm_offset_t)lastaddr; + i += sizeof(vm_offset_t) / sizeof(uint32_t); + dtb_size = fdt_totalsize(rvbp->dtbp_virt); + memmove((void *)lastaddr, (const void *)rvbp->dtbp_virt, dtb_size); + lastaddr = roundup(lastaddr + dtb_size, sizeof(int)); + fake_preload[i++] = 0; fake_preload[i] = 0; preload_metadata = (void *)fake_preload; + KASSERT(i < nitems(fake_preload), ("Too many fake_preload items")); + return (lastaddr); } @@ -836,8 +860,6 @@ initriscv(struct riscv_bootparams *rvbp) { struct mem_region mem_regions[FDT_MEM_REGIONS]; struct pcpu *pcpup; - vm_offset_t rstart, rend; - vm_offset_t s, e; int mem_regions_sz; vm_offset_t lastaddr; vm_size_t kernlen; @@ -873,7 +895,7 @@ initriscv(struct riscv_bootparams *rvbp) kern_envp = NULL; #ifdef FDT - try_load_dtb(kmdp, rvbp->dtbp_virt); + try_load_dtb(kmdp); #endif /* Load the physical memory ranges */ @@ -884,21 +906,9 @@ initriscv(struct riscv_bootparams *rvbp) if (fdt_get_mem_regions(mem_regions, &mem_regions_sz, NULL) != 0) panic("Cannot get physical memory regions"); - s = rvbp->dtbp_phys; - e = s + DTB_SIZE_MAX; - for (i = 0; i < mem_regions_sz; i++) { - rstart = mem_regions[i].mr_start; - rend = (mem_regions[i].mr_start + mem_regions[i].mr_size); - - if ((rstart < s) && (rend > e)) { - /* Exclude DTB region. */ - add_physmap_entry(rstart, (s - rstart), physmap, &physmap_idx); - add_physmap_entry(e, (rend - e), physmap, &physmap_idx); - } else { - add_physmap_entry(mem_regions[i].mr_start, - mem_regions[i].mr_size, physmap, &physmap_idx); - } + add_physmap_entry(mem_regions[i].mr_start, + mem_regions[i].mr_size, physmap, &physmap_idx); } #endif Modified: head/sys/riscv/riscv/pmap.c ============================================================================== --- head/sys/riscv/riscv/pmap.c Mon Apr 6 22:31:30 2020 (r359672) +++ head/sys/riscv/riscv/pmap.c Mon Apr 6 22:48:43 2020 (r359673) @@ -558,6 +558,7 @@ pmap_bootstrap(vm_offset_t l1pt, vm_paddr_t kernstart, vm_offset_t freemempos; vm_offset_t dpcpu, msgbufpv; vm_paddr_t end, max_pa, min_pa, pa, start; + pt_entry_t *l2p; int i; printf("pmap_bootstrap %lx %lx %lx\n", l1pt, kernstart, kernlen); @@ -609,6 +610,15 @@ pmap_bootstrap(vm_offset_t l1pt, vm_paddr_t kernstart, /* Create the l3 tables for the early devmap */ freemempos = pmap_bootstrap_l3(l1pt, VM_MAX_KERNEL_ADDRESS - L2_SIZE, freemempos); + + /* + * Invalidate the mapping we created for the DTB. At this point a copy + * has been created, and we no longer need it. We want to avoid the + * possibility of an aliased mapping in the future. + */ + l2p = pmap_l2(kernel_pmap, VM_EARLY_DTB_ADDRESS); + KASSERT((pmap_load(l2p) & PTE_V) != 0, ("dtpb not mapped")); + pmap_clear(l2p); sfence_vma(); From owner-svn-src-head@freebsd.org Mon Apr 6 23:07:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6122F27F60D; Mon, 6 Apr 2020 23:07:57 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x5mY1tx6z3G1p; Mon, 6 Apr 2020 23:07:57 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3C3392FBA8; Mon, 6 Apr 2020 23:07:57 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036N7vxm003558; Mon, 6 Apr 2020 23:07:57 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036N7umn003555; Mon, 6 Apr 2020 23:07:56 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004062307.036N7umn003555@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Mon, 6 Apr 2020 23:07:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359674 - head/lib/libcasper/services/cap_sysctl X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/lib/libcasper/services/cap_sysctl X-SVN-Commit-Revision: 359674 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:07:57 -0000 Author: cem Date: Mon Apr 6 23:07:56 2020 New Revision: 359674 URL: https://svnweb.freebsd.org/changeset/base/359674 Log: libcasper: Constify cap_sysctl_limit_mib() mib parameter No functional change. Minor API change that is nicer for consumers. ABI is identical; the routine never needed to modify the pointed to value. Reviewed by: emaste, markj Differential Revision: https://reviews.freebsd.org/D24319 Modified: head/lib/libcasper/services/cap_sysctl/cap_sysctl.3 head/lib/libcasper/services/cap_sysctl/cap_sysctl.c head/lib/libcasper/services/cap_sysctl/cap_sysctl.h Modified: head/lib/libcasper/services/cap_sysctl/cap_sysctl.3 ============================================================================== --- head/lib/libcasper/services/cap_sysctl/cap_sysctl.3 Mon Apr 6 22:48:43 2020 (r359673) +++ head/lib/libcasper/services/cap_sysctl/cap_sysctl.3 Mon Apr 6 23:07:56 2020 (r359674) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 13, 2019 +.Dd April 6, 2020 .Dt CAP_SYSCTL 3 .Os .Sh NAME @@ -46,7 +46,7 @@ .Ft void * .Fn cap_sysctl_limit_name "void *limit" "const char *name" "int flags" .Ft void * -.Fn cap_sysctl_limit_mib "void *limit" "int *mibp" "u_int miblen" "int flags" +.Fn cap_sysctl_limit_mib "void *limit" "const int *mibp" "u_int miblen" "int flags" .Ft int .Fn cap_sysctl_limit "void *limit" .Sh DESCRIPTION Modified: head/lib/libcasper/services/cap_sysctl/cap_sysctl.c ============================================================================== --- head/lib/libcasper/services/cap_sysctl/cap_sysctl.c Mon Apr 6 22:48:43 2020 (r359673) +++ head/lib/libcasper/services/cap_sysctl/cap_sysctl.c Mon Apr 6 23:07:56 2020 (r359674) @@ -109,7 +109,7 @@ cap_sysctl_limit_name(cap_sysctl_limit_t *limit, const } cap_sysctl_limit_t * -cap_sysctl_limit_mib(cap_sysctl_limit_t *limit, int *mibp, u_int miblen, +cap_sysctl_limit_mib(cap_sysctl_limit_t *limit, const int *mibp, u_int miblen, int flags) { nvlist_t *lnv; Modified: head/lib/libcasper/services/cap_sysctl/cap_sysctl.h ============================================================================== --- head/lib/libcasper/services/cap_sysctl/cap_sysctl.h Mon Apr 6 22:48:43 2020 (r359673) +++ head/lib/libcasper/services/cap_sysctl/cap_sysctl.h Mon Apr 6 23:07:56 2020 (r359674) @@ -55,8 +55,8 @@ typedef struct cap_sysctl_limit cap_sysctl_limit_t; cap_sysctl_limit_t *cap_sysctl_limit_init(cap_channel_t *); cap_sysctl_limit_t *cap_sysctl_limit_name(cap_sysctl_limit_t *limit, const char *name, int flags); -cap_sysctl_limit_t *cap_sysctl_limit_mib(cap_sysctl_limit_t *limit, int *mibp, - u_int miblen, int flags); +cap_sysctl_limit_t *cap_sysctl_limit_mib(cap_sysctl_limit_t *limit, + const int *mibp, u_int miblen, int flags); int cap_sysctl_limit(cap_sysctl_limit_t *limit); #else /* !WITH_CASPER */ #define cap_sysctl(chan, name, namelen, oldp, oldlenp, newp, newlen) \ From owner-svn-src-head@freebsd.org Mon Apr 6 23:08:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F2C3B27F657; Mon, 6 Apr 2020 23:08:08 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x5mm6GLVz3G8c; Mon, 6 Apr 2020 23:08:08 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D24FA2FBA9; Mon, 6 Apr 2020 23:08:08 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036N88K1003621; Mon, 6 Apr 2020 23:08:08 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036N87Si003615; Mon, 6 Apr 2020 23:08:07 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004062308.036N87Si003615@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 6 Apr 2020 23:08:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359675 - head/tests/sys/kqueue/libkqueue X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/tests/sys/kqueue/libkqueue X-SVN-Commit-Revision: 359675 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:08:09 -0000 Author: kevans Date: Mon Apr 6 23:08:07 2020 New Revision: 359675 URL: https://svnweb.freebsd.org/changeset/base/359675 Log: kqueue tests: fix -fno-common build vnode_fd and kqfd are both shared among multiple CU; define them exactly once. In the case of vnode_fd, it was simply the declaration that needed correction. -fno-common will become the default in GCC10/LLVM11. MFC after: 3 days Modified: head/tests/sys/kqueue/libkqueue/common.h head/tests/sys/kqueue/libkqueue/proc.c head/tests/sys/kqueue/libkqueue/read.c head/tests/sys/kqueue/libkqueue/signal.c head/tests/sys/kqueue/libkqueue/timer.c head/tests/sys/kqueue/libkqueue/user.c head/tests/sys/kqueue/libkqueue/vnode.c Modified: head/tests/sys/kqueue/libkqueue/common.h ============================================================================== --- head/tests/sys/kqueue/libkqueue/common.h Mon Apr 6 23:07:56 2020 (r359674) +++ head/tests/sys/kqueue/libkqueue/common.h Mon Apr 6 23:08:07 2020 (r359675) @@ -41,7 +41,8 @@ #include extern char *cur_test_id; -int vnode_fd; +extern int vnode_fd; +extern int kqfd; extern char * kevent_to_str(struct kevent *); struct kevent * kevent_get(int); Modified: head/tests/sys/kqueue/libkqueue/proc.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/proc.c Mon Apr 6 23:07:56 2020 (r359674) +++ head/tests/sys/kqueue/libkqueue/proc.c Mon Apr 6 23:08:07 2020 (r359675) @@ -25,7 +25,6 @@ static int sigusr1_caught = 0; -int kqfd; static void sig_handler(int signum) Modified: head/tests/sys/kqueue/libkqueue/read.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/read.c Mon Apr 6 23:07:56 2020 (r359674) +++ head/tests/sys/kqueue/libkqueue/read.c Mon Apr 6 23:08:07 2020 (r359675) @@ -18,7 +18,6 @@ #include "common.h" -int kqfd; int sockfd[2]; static void Modified: head/tests/sys/kqueue/libkqueue/signal.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/signal.c Mon Apr 6 23:07:56 2020 (r359674) +++ head/tests/sys/kqueue/libkqueue/signal.c Mon Apr 6 23:08:07 2020 (r359675) @@ -18,7 +18,6 @@ #include "common.h" -int kqfd; void test_kevent_signal_add(void) Modified: head/tests/sys/kqueue/libkqueue/timer.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/timer.c Mon Apr 6 23:07:56 2020 (r359674) +++ head/tests/sys/kqueue/libkqueue/timer.c Mon Apr 6 23:08:07 2020 (r359675) @@ -26,7 +26,6 @@ #define MS_TO_US(t) ((t) * THOUSAND) /* Convert milliseconds to microseconds. */ #define US_TO_NS(t) ((t) * THOUSAND) /* Convert microseconds to nanoseconds. */ -int kqfd; /* Get the current time with microsecond precision. Used for * sub-second timing to make some timer tests run faster. Modified: head/tests/sys/kqueue/libkqueue/user.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/user.c Mon Apr 6 23:07:56 2020 (r359674) +++ head/tests/sys/kqueue/libkqueue/user.c Mon Apr 6 23:08:07 2020 (r359675) @@ -18,7 +18,6 @@ #include "common.h" -int kqfd; static void add_and_delete(void) Modified: head/tests/sys/kqueue/libkqueue/vnode.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/vnode.c Mon Apr 6 23:07:56 2020 (r359674) +++ head/tests/sys/kqueue/libkqueue/vnode.c Mon Apr 6 23:08:07 2020 (r359675) @@ -18,7 +18,6 @@ #include "common.h" -int kqfd; int vnode_fd; void From owner-svn-src-head@freebsd.org Mon Apr 6 23:11:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 599B327F88B; Mon, 6 Apr 2020 23:11:44 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x5rv6wmBz3GZs; Mon, 6 Apr 2020 23:11:43 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E90442FC2E; Mon, 6 Apr 2020 23:11:43 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036NBhq7007067; Mon, 6 Apr 2020 23:11:43 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036NBhiI007065; Mon, 6 Apr 2020 23:11:43 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004062311.036NBhiI007065@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 6 Apr 2020 23:11:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359676 - in head/contrib/ntp: include ntpd X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/contrib/ntp: include ntpd X-SVN-Commit-Revision: 359676 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:11:44 -0000 Author: kevans Date: Mon Apr 6 23:11:43 2020 New Revision: 359676 URL: https://svnweb.freebsd.org/changeset/base/359676 Log: ntpd: fix build with -fno-common Only a small nit here: psl should be declared extern and defined exactly once. -fno-common will become the default in GCC10/LLVM11. MFC after: 3 days Modified: head/contrib/ntp/include/ntp_config.h head/contrib/ntp/ntpd/ntp_config.c Modified: head/contrib/ntp/include/ntp_config.h ============================================================================== --- head/contrib/ntp/include/ntp_config.h Mon Apr 6 23:08:07 2020 (r359675) +++ head/contrib/ntp/include/ntp_config.h Mon Apr 6 23:11:43 2020 (r359676) @@ -280,7 +280,7 @@ typedef struct settrap_parms_tag { * Poll Skew List */ -psl_item psl[17-3+1]; /* values for polls 3-17 */ +extern psl_item psl[17-3+1]; /* values for polls 3-17 */ /* To simplify the runtime code we */ /* don't want to have to special-case */ /* dealing with a default */ Modified: head/contrib/ntp/ntpd/ntp_config.c ============================================================================== --- head/contrib/ntp/ntpd/ntp_config.c Mon Apr 6 23:08:07 2020 (r359675) +++ head/contrib/ntp/ntpd/ntp_config.c Mon Apr 6 23:11:43 2020 (r359676) @@ -202,6 +202,8 @@ int cryptosw; /* crypto command called */ extern char *stats_drift_file; /* name of the driftfile */ +psl_item psl[17-3+1]; + #ifdef BC_LIST_FRAMEWORK_NOT_YET_USED /* * backwards compatibility flags From owner-svn-src-head@freebsd.org Mon Apr 6 23:16:07 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 663EA27F98A; Mon, 6 Apr 2020 23:16:07 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x5xz27Zmz3Gnb; Mon, 6 Apr 2020 23:16:07 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 446E32FD99; Mon, 6 Apr 2020 23:16:07 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036NG72G009619; Mon, 6 Apr 2020 23:16:07 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036NG5I8009610; Mon, 6 Apr 2020 23:16:05 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004062316.036NG5I8009610@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 6 Apr 2020 23:16:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359677 - in head: libexec/ypxfr usr.sbin/rpc.yppasswdd usr.sbin/rpc.ypupdated usr.sbin/rpc.ypxfrd usr.sbin/ypldap usr.sbin/ypserv X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: libexec/ypxfr usr.sbin/rpc.yppasswdd usr.sbin/rpc.ypupdated usr.sbin/rpc.ypxfrd usr.sbin/ypldap usr.sbin/ypserv X-SVN-Commit-Revision: 359677 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:16:07 -0000 Author: kevans Date: Mon Apr 6 23:16:05 2020 New Revision: 359677 URL: https://svnweb.freebsd.org/changeset/base/359677 Log: yp*: fix -fno-common build This is mostly two problems spread out far and wide: - ypldap_process should be declared properly - debug is defined differently in many programs For the latter, just extern it and define it everywhere that actually needs it. This mostly works out nicely for ^/libexec/ypxfr, which can remove the assignment at the beginning of main in favor of defining it properly. -fno-common will become the default in GCC10/LLVM11. MFC after: 3 days Modified: head/libexec/ypxfr/ypxfr_main.c head/usr.sbin/rpc.yppasswdd/yppasswdd_main.c head/usr.sbin/rpc.ypupdated/ypupdated_main.c head/usr.sbin/rpc.ypxfrd/ypxfrd_main.c head/usr.sbin/ypldap/ypldap.c head/usr.sbin/ypldap/ypldap.h head/usr.sbin/ypserv/yp_access.c head/usr.sbin/ypserv/yp_error.c head/usr.sbin/ypserv/yp_main.c Modified: head/libexec/ypxfr/ypxfr_main.c ============================================================================== --- head/libexec/ypxfr/ypxfr_main.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/libexec/ypxfr/ypxfr_main.c Mon Apr 6 23:16:05 2020 (r359677) @@ -53,6 +53,8 @@ __FBSDID("$FreeBSD$"); #include #include "ypxfr_extern.h" +int debug = 1; + char *progname = "ypxfr"; char *yp_dir = _PATH_YP; int _rpcpmstart = 0; @@ -175,8 +177,6 @@ main(int argc, char *argv[]) int remoteport; int interdom = 0; int secure = 0; - - debug = 1; if (!isatty(fileno(stderr))) { openlog("ypxfr", LOG_PID, LOG_DAEMON); Modified: head/usr.sbin/rpc.yppasswdd/yppasswdd_main.c ============================================================================== --- head/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Mon Apr 6 23:16:05 2020 (r359677) @@ -83,6 +83,7 @@ static int _rpcfdtype; #define _IDLE 0 #define _SERVED 1 #define _SERVING 2 +int debug; static char _localhost[] = "localhost"; static char _passwd_byname[] = "passwd.byname"; @@ -172,8 +173,6 @@ main(int argc, char *argv[]) char *mastername; char myname[MAXHOSTNAMELEN + 2]; int maxrec = RPC_MAXDATASIZE; - - extern int debug; debug = 1; Modified: head/usr.sbin/rpc.ypupdated/ypupdated_main.c ============================================================================== --- head/usr.sbin/rpc.ypupdated/ypupdated_main.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/rpc.ypupdated/ypupdated_main.c Mon Apr 6 23:16:05 2020 (r359677) @@ -76,6 +76,8 @@ static int _rpcfdtype; extern int _rpcsvcstate; /* Set when a request is serviced */ +int debug; + char *progname = "rpc.ypupdated"; char *yp_dir = "/var/yp/"; Modified: head/usr.sbin/rpc.ypxfrd/ypxfrd_main.c ============================================================================== --- head/usr.sbin/rpc.ypxfrd/ypxfrd_main.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/rpc.ypxfrd/ypxfrd_main.c Mon Apr 6 23:16:05 2020 (r359677) @@ -78,6 +78,8 @@ static int _rpcfdtype; extern int _rpcsvcstate; /* Set when a request is serviced */ +int debug; + char *progname = "rpc.ypxfrd"; char *yp_dir = "/var/yp/"; Modified: head/usr.sbin/ypldap/ypldap.c ============================================================================== --- head/usr.sbin/ypldap/ypldap.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/ypldap/ypldap.c Mon Apr 6 23:16:05 2020 (r359677) @@ -40,6 +40,8 @@ #include "ypldap.h" +enum ypldap_process_type ypldap_process; + __dead2 void usage(void); int check_child(pid_t, const char *); void main_sig_handler(int, short, void *); Modified: head/usr.sbin/ypldap/ypldap.h ============================================================================== --- head/usr.sbin/ypldap/ypldap.h Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/ypldap/ypldap.h Mon Apr 6 23:16:05 2020 (r359677) @@ -47,10 +47,11 @@ struct ypldap_addr { }; TAILQ_HEAD(ypldap_addr_list, ypldap_addr); -enum { +enum ypldap_process_type { PROC_MAIN, PROC_CLIENT -} ypldap_process; +}; +extern enum ypldap_process_type ypldap_process; struct userent { RB_ENTRY(userent) ue_name_node; Modified: head/usr.sbin/ypserv/yp_access.c ============================================================================== --- head/usr.sbin/ypserv/yp_access.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/ypserv/yp_access.c Mon Apr 6 23:16:05 2020 (r359677) @@ -57,8 +57,6 @@ __FBSDID("$FreeBSD$"); #include "tcpd.h" #endif -extern int debug; - static const char *yp_procs[] = { /* NIS v1 */ "ypoldproc_null", Modified: head/usr.sbin/ypserv/yp_error.c ============================================================================== --- head/usr.sbin/ypserv/yp_error.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/ypserv/yp_error.c Mon Apr 6 23:16:05 2020 (r359677) @@ -47,8 +47,6 @@ __FBSDID("$FreeBSD$"); #include #include "yp_extern.h" -int debug; - extern int _rpcpmstart; extern char *progname; static void __verr(const char *fmt, va_list ap) __printflike(1, 0); Modified: head/usr.sbin/ypserv/yp_main.c ============================================================================== --- head/usr.sbin/ypserv/yp_main.c Mon Apr 6 23:11:43 2020 (r359676) +++ head/usr.sbin/ypserv/yp_main.c Mon Apr 6 23:16:05 2020 (r359677) @@ -89,7 +89,7 @@ extern int _rpc_dtablesize(void); extern int _rpcsvcstate; /* Set when a request is serviced */ char *progname = "ypserv"; char *yp_dir = _PATH_YP; -/*int debug = 0;*/ +int debug; int do_dns = 0; int resfd; From owner-svn-src-head@freebsd.org Mon Apr 6 23:20:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D2B9A27FA2F; Mon, 6 Apr 2020 23:20:21 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x62s4tvhz3Gy8; Mon, 6 Apr 2020 23:20:21 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9EB2B2FD9D; Mon, 6 Apr 2020 23:20:21 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036NKLdZ009888; Mon, 6 Apr 2020 23:20:21 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036NKKiZ009885; Mon, 6 Apr 2020 23:20:20 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004062320.036NKKiZ009885@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 6 Apr 2020 23:20:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359678 - head/usr.bin/indent X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/usr.bin/indent X-SVN-Commit-Revision: 359678 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:20:21 -0000 Author: kevans Date: Mon Apr 6 23:20:20 2020 New Revision: 359678 URL: https://svnweb.freebsd.org/changeset/base/359678 Log: indent: fix the -fno-common build Spread the globals far and wide, hopefully to the files that make the most sense. -fno-common will become the default in GCC10/LLVM11. MFC after: 3 days Modified: head/usr.bin/indent/indent.c head/usr.bin/indent/indent_globs.h head/usr.bin/indent/io.c head/usr.bin/indent/parse.c Modified: head/usr.bin/indent/indent.c ============================================================================== --- head/usr.bin/indent/indent.c Mon Apr 6 23:16:05 2020 (r359677) +++ head/usr.bin/indent/indent.c Mon Apr 6 23:20:20 2020 (r359678) @@ -59,6 +59,30 @@ __FBSDID("$FreeBSD$"); #include "indent_codes.h" #include "indent.h" +/* Globals */ +FILE *input, *output; +char *labbuf, *s_lab, *e_lab, *l_lab; +char *codebuf, *s_code, *e_code, *l_code; +char *combuf, *s_com, *e_com, *l_com; +char *tokenbuf, *s_token, *e_token, *l_token; +char *in_buffer, *in_buffer_limit; +char *buf_ptr, *buf_end; + +char sc_buf[sc_size]; + +char *save_com, *sc_end; +char *bp_save; +char *be_save; + +struct options opt; +int line_no; + +struct parser_state ps; +int ifdef_level; +struct parser_state state_stack[5]; +struct parser_state match_state[5]; + + static void bakcopy(void); static void indent_declaration(int, int); Modified: head/usr.bin/indent/indent_globs.h ============================================================================== --- head/usr.bin/indent/indent_globs.h Mon Apr 6 23:16:05 2020 (r359677) +++ head/usr.bin/indent/indent_globs.h Mon Apr 6 23:20:20 2020 (r359678) @@ -49,8 +49,8 @@ #define true 1 -FILE *input; /* the fid for the input file */ -FILE *output; /* the output file */ +extern FILE *input; /* the fid for the input file */ +extern FILE *output; /* the output file */ #define CHECK_SIZE_CODE(desired_size) \ if (e_code + (desired_size) >= l_code) { \ @@ -104,41 +104,43 @@ FILE *output; /* the output file */ s_token = tokenbuf + 1; \ } -char *labbuf; /* buffer for label */ -char *s_lab; /* start ... */ -char *e_lab; /* .. and end of stored label */ -char *l_lab; /* limit of label buffer */ +extern char *labbuf; /* buffer for label */ +extern char *s_lab; /* start ... */ +extern char *e_lab; /* .. and end of stored label */ +extern char *l_lab; /* limit of label buffer */ -char *codebuf; /* buffer for code section */ -char *s_code; /* start ... */ -char *e_code; /* .. and end of stored code */ -char *l_code; /* limit of code section */ +extern char *codebuf; /* buffer for code section */ +extern char *s_code; /* start ... */ +extern char *e_code; /* .. and end of stored code */ +extern char *l_code; /* limit of code section */ -char *combuf; /* buffer for comments */ -char *s_com; /* start ... */ -char *e_com; /* ... and end of stored comments */ -char *l_com; /* limit of comment buffer */ +extern char *combuf; /* buffer for comments */ +extern char *s_com; /* start ... */ +extern char *e_com; /* ... and end of stored comments */ +extern char *l_com; /* limit of comment buffer */ #define token s_token -char *tokenbuf; /* the last token scanned */ -char *s_token; -char *e_token; -char *l_token; +extern char *tokenbuf; /* the last token scanned */ +extern char *s_token; +extern char *e_token; +extern char *l_token; -char *in_buffer; /* input buffer */ -char *in_buffer_limit; /* the end of the input buffer */ -char *buf_ptr; /* ptr to next character to be taken from - * in_buffer */ -char *buf_end; /* ptr to first after last char in in_buffer */ +extern char *in_buffer; /* input buffer */ +extern char *in_buffer_limit; /* the end of the input buffer */ +extern char *buf_ptr; /* ptr to next character to be taken + * from in_buffer */ +extern char *buf_end; /* ptr to first after last char in + * in_buffer */ -char sc_buf[sc_size]; /* input text is saved here when looking for - * the brace after an if, while, etc */ -char *save_com; /* start of the comment stored in sc_buf */ -char *sc_end; /* pointer into save_com buffer */ +extern char sc_buf[sc_size]; /* input text is saved here when looking + * for the brace after an if, while, etc */ +extern char *save_com; /* start of the comment stored in + * sc_buf */ +extern char *sc_end; /* pointer into save_com buffer */ -char *bp_save; /* saved value of buf_ptr when taking input - * from save_com */ -char *be_save; /* similarly saved value of buf_end */ +extern char *bp_save; /* saved value of buf_ptr when taking + * input from save_com */ +extern char *be_save; /* similarly saved value of buf_end */ struct options { @@ -217,21 +219,22 @@ struct options { * uses all spaces */ int verbose; /* when true, non-essential error messages * are printed */ -} opt; +}; +extern struct options opt; -int found_err; -int n_real_blanklines; -int prefix_blankline_requested; -int postfix_blankline_requested; -int break_comma; /* when true and not in parens, break after a +extern int found_err; +extern int n_real_blanklines; +extern int prefix_blankline_requested; +extern int postfix_blankline_requested; +extern int break_comma; /* when true and not in parens, break after a * comma */ -float case_ind; /* indentation level to be used for a "case +extern float case_ind; /* indentation level to be used for a "case * n:" */ -int code_lines; /* count of lines with code */ -int had_eof; /* set to true when input is exhausted */ -int line_no; /* the current line number. */ -int inhibit_formatting; /* true if INDENT OFF is in effect */ -int suppress_blanklines;/* set iff following blanklines should be +extern int code_lines; /* count of lines with code */ +extern int had_eof; /* set to true when input is exhausted */ +extern int line_no; /* the current line number. */ +extern int inhibit_formatting; /* true if INDENT OFF is in effect */ +extern int suppress_blanklines;/* set iff following blanklines should be * suppressed */ #define STACKSIZE 256 @@ -312,8 +315,10 @@ struct parser_state { int tos; /* pointer to top of stack */ char procname[100]; /* The name of the current procedure */ int just_saw_decl; -} ps; +}; -int ifdef_level; -struct parser_state state_stack[5]; -struct parser_state match_state[5]; +extern struct parser_state ps; + +extern int ifdef_level; +extern struct parser_state state_stack[5]; +extern struct parser_state match_state[5]; Modified: head/usr.bin/indent/io.c ============================================================================== --- head/usr.bin/indent/io.c Mon Apr 6 23:16:05 2020 (r359677) +++ head/usr.bin/indent/io.c Mon Apr 6 23:20:20 2020 (r359678) @@ -52,6 +52,15 @@ __FBSDID("$FreeBSD$"); #include "indent_globs.h" #include "indent.h" +/* Globals */ +int found_err; +int n_real_blanklines; +int prefix_blankline_requested, postfix_blankline_requested; +int code_lines; +int had_eof; +int inhibit_formatting; +int suppress_blanklines; + int comment_open; static int paren_target; static int pad_output(int current, int target); Modified: head/usr.bin/indent/parse.c ============================================================================== --- head/usr.bin/indent/parse.c Mon Apr 6 23:16:05 2020 (r359677) +++ head/usr.bin/indent/parse.c Mon Apr 6 23:20:20 2020 (r359678) @@ -50,6 +50,10 @@ __FBSDID("$FreeBSD$"); #include "indent_codes.h" #include "indent.h" +/* Globals */ +int break_comma; +float case_ind; + static void reduce(void); void From owner-svn-src-head@freebsd.org Mon Apr 6 23:21:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8205127FC37; Mon, 6 Apr 2020 23:21:40 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x64N2wzxz3HHn; Mon, 6 Apr 2020 23:21:40 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5FBD22FE02; Mon, 6 Apr 2020 23:21:40 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036NLeJJ014153; Mon, 6 Apr 2020 23:21:40 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036NLd5o014150; Mon, 6 Apr 2020 23:21:39 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004062321.036NLd5o014150@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 6 Apr 2020 23:21:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359679 - in head/sys/fs: nfs nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 359679 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:21:40 -0000 Author: rmacklem Date: Mon Apr 6 23:21:39 2020 New Revision: 359679 URL: https://svnweb.freebsd.org/changeset/base/359679 Log: Fix noisy NFSv4 server printf. Peter reported that his dmesg was getting cluttered with nfsrv_cache_session: no session messages when he rebooted his NFS server and they did not seem useful. He was correct, in that these messages are "normal" and expected when NFSv4.1 or NFSv4.2 are mounted and the server is rebooted. This patch silences the printf() during the grace period after a reboot. It also adds the client IP address to the printf(), so that the message is more useful if/when it occurs. If this happens outside of the server's grace period, it does indicate something is not working correctly. Instead of adding yet another nd_XXX argument, the arguments for nfsrv_cache_session() were simplified to take a "struct nfsrv_descript *". Reported by: pen@lysator.liu.se MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_var.h head/sys/fs/nfsserver/nfs_nfsdkrpc.c head/sys/fs/nfsserver/nfs_nfsdstate.c Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Mon Apr 6 23:20:20 2020 (r359678) +++ head/sys/fs/nfs/nfs_var.h Mon Apr 6 23:21:39 2020 (r359679) @@ -143,7 +143,7 @@ void nfsrv_throwawayallstate(NFSPROC_T *); int nfsrv_checksequence(struct nfsrv_descript *, uint32_t, uint32_t *, uint32_t *, int, uint32_t *, NFSPROC_T *); int nfsrv_checkreclaimcomplete(struct nfsrv_descript *, int); -void nfsrv_cache_session(uint8_t *, uint32_t, int, struct mbuf **); +void nfsrv_cache_session(struct nfsrv_descript *, struct mbuf **); void nfsrv_freeallbackchannel_xprts(void); int nfsrv_layoutcommit(struct nfsrv_descript *, vnode_t, int, int, uint64_t, uint64_t, uint64_t, int, struct timespec *, int, nfsv4stateid_t *, Modified: head/sys/fs/nfsserver/nfs_nfsdkrpc.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdkrpc.c Mon Apr 6 23:20:20 2020 (r359678) +++ head/sys/fs/nfsserver/nfs_nfsdkrpc.c Mon Apr 6 23:21:39 2020 (r359679) @@ -393,8 +393,7 @@ nfs_proc(struct nfsrv_descript *nd, u_int32_t xid, SVC } else m = NULL; if ((nd->nd_flag & ND_HASSEQUENCE) != 0) - nfsrv_cache_session(nd->nd_sessionid, - nd->nd_slotid, nd->nd_repstat, &m); + nfsrv_cache_session(nd, &m); if (nd->nd_repstat == NFSERR_REPLYFROMCACHE) nd->nd_repstat = 0; cacherep = RC_REPLY; Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdstate.c Mon Apr 6 23:20:20 2020 (r359678) +++ head/sys/fs/nfsserver/nfs_nfsdstate.c Mon Apr 6 23:21:39 2020 (r359679) @@ -6294,22 +6294,56 @@ nfsrv_checkreclaimcomplete(struct nfsrv_descript *nd, * Cache the reply in a session slot. */ void -nfsrv_cache_session(uint8_t *sessionid, uint32_t slotid, int repstat, - struct mbuf **m) +nfsrv_cache_session(struct nfsrv_descript *nd, struct mbuf **m) { struct nfsdsession *sep; struct nfssessionhash *shp; + char *buf, *cp; +#ifdef INET + struct sockaddr_in *sin; +#endif +#ifdef INET6 + struct sockaddr_in6 *sin6; +#endif - shp = NFSSESSIONHASH(sessionid); + shp = NFSSESSIONHASH(nd->nd_sessionid); NFSLOCKSESSION(shp); - sep = nfsrv_findsession(sessionid); + sep = nfsrv_findsession(nd->nd_sessionid); if (sep == NULL) { NFSUNLOCKSESSION(shp); - printf("nfsrv_cache_session: no session\n"); + if ((nfsrv_stablefirst.nsf_flags & NFSNSF_GRACEOVER) != 0) { + buf = malloc(INET6_ADDRSTRLEN, M_TEMP, M_WAITOK); + switch (nd->nd_nam->sa_family) { +#ifdef INET + case AF_INET: + sin = (struct sockaddr_in *)nd->nd_nam; + cp = inet_ntop(sin->sin_family, + &sin->sin_addr.s_addr, buf, + INET6_ADDRSTRLEN); + break; +#endif +#ifdef INET6 + case AF_INET6: + sin6 = (struct sockaddr_in6 *)nd->nd_nam; + cp = inet_ntop(sin6->sin6_family, + &sin6->sin6_addr, buf, INET6_ADDRSTRLEN); + break; +#endif + default: + cp = NULL; + } + if (cp != NULL) + printf("nfsrv_cache_session: no session " + "IPaddr=%s\n", cp); + else + printf("nfsrv_cache_session: no session\n"); + free(buf, M_TEMP); + } m_freem(*m); return; } - nfsv4_seqsess_cacherep(slotid, sep->sess_slots, repstat, m); + nfsv4_seqsess_cacherep(nd->nd_slotid, sep->sess_slots, nd->nd_repstat, + m); NFSUNLOCKSESSION(shp); } From owner-svn-src-head@freebsd.org Mon Apr 6 23:28:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 84A2B27FD3D; Mon, 6 Apr 2020 23:28:26 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x6DB3J6jz3HXd; Mon, 6 Apr 2020 23:28:26 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 67C142FF89; Mon, 6 Apr 2020 23:28:26 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036NSQQd016159; Mon, 6 Apr 2020 23:28:26 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036NSPU9016153; Mon, 6 Apr 2020 23:28:25 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004062328.036NSPU9016153@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 6 Apr 2020 23:28:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359680 - in head/usr.bin: gprof mail tip/tip X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/usr.bin: gprof mail tip/tip X-SVN-Commit-Revision: 359680 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:28:26 -0000 Author: kevans Date: Mon Apr 6 23:28:24 2020 New Revision: 359680 URL: https://svnweb.freebsd.org/changeset/base/359680 Log: mail/gprof/tip: tap with the ugly stick The ugly stick here is this bit in the respective headers: #ifndef EXTERN #define EXTERN extern #endif with a follow-up #define EXTERN in a single .c file to push all of their definitions into one spot. A pass should be made over these three later to push these definitions into the correct files instead, but this will suffice for now and at a more leisurely pace. MFC after: 3 days Modified: head/usr.bin/gprof/gprof.c head/usr.bin/gprof/gprof.h head/usr.bin/mail/glob.h head/usr.bin/mail/main.c head/usr.bin/mail/strings.c head/usr.bin/tip/tip/tip.c head/usr.bin/tip/tip/tip.h Modified: head/usr.bin/gprof/gprof.c ============================================================================== --- head/usr.bin/gprof/gprof.c Mon Apr 6 23:21:39 2020 (r359679) +++ head/usr.bin/gprof/gprof.c Mon Apr 6 23:28:24 2020 (r359680) @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include +#define EXTERN #include "gprof.h" static int valcmp(const void *, const void *); Modified: head/usr.bin/gprof/gprof.h ============================================================================== --- head/usr.bin/gprof/gprof.h Mon Apr 6 23:21:39 2020 (r359679) +++ head/usr.bin/gprof/gprof.h Mon Apr 6 23:28:24 2020 (r359680) @@ -75,18 +75,22 @@ typedef int bool; */ #define HISTORICAL_SCALE_2 2 +#ifndef EXTERN +#define EXTERN extern +#endif + /* * ticks per second */ -long hz; +EXTERN long hz; -size_t histcounter_size; -int histcounter_type; +EXTERN size_t histcounter_size; +EXTERN int histcounter_type; -char *a_outname; +EXTERN char *a_outname; #define A_OUTNAME "a.out" -char *gmonname; +EXTERN char *gmonname; #define GMONSUM "gmon.sum" /* @@ -146,9 +150,9 @@ struct nl { }; typedef struct nl nltype; -nltype *nl; /* the whole namelist */ -nltype *npe; /* the virtual end of the namelist */ -int nname; /* the number of function names */ +EXTERN nltype *nl; /* the whole namelist */ +EXTERN nltype *npe; /* the virtual end of the namelist */ +EXTERN int nname; /* the number of function names */ #define HASCYCLEXIT 0x08 /* node has arc exiting from cycle */ #define CYCLEHEAD 0x10 /* node marked as head of a cycle */ @@ -167,9 +171,9 @@ struct cl { }; typedef struct cl cltype; -arctype *archead; /* the head of arcs in current cycle list */ -cltype *cyclehead; /* the head of the list */ -int cyclecnt; /* the number of cycles found */ +EXTERN arctype *archead; /* the head of arcs in current cycle list */ +EXTERN cltype *cyclehead; /* the head of the list */ +EXTERN int cyclecnt; /* the number of cycles found */ #define CYCLEMAX 100 /* maximum cycles before cutting one of them */ /* @@ -183,8 +187,8 @@ int cyclecnt; /* the number of cycles found */ * namelist entries for cycle headers. * the number of discovered cycles. */ -nltype *cyclenl; /* cycle header namelist */ -int ncycle; /* number of cycles discovered */ +EXTERN nltype *cyclenl; /* cycle header namelist */ +EXTERN int ncycle; /* number of cycles discovered */ /* * The header on the gmon.out file. @@ -200,43 +204,46 @@ struct ophdr { int ncnt; }; -int debug; +EXTERN int debug; /* * Each discretized pc sample has * a count of the number of samples in its range */ -double *samples; +EXTERN double *samples; -unsigned long s_lowpc; /* lowpc from the profile file */ -unsigned long s_highpc; /* highpc from the profile file */ -unsigned long lowpc, highpc; /* range profiled, in historical units */ -unsigned sampbytes; /* number of bytes of samples */ -int nsamples; /* number of samples */ -double actime; /* accumulated time thus far for putprofline */ -double totime; /* total time for all routines */ -double printtime; /* total of time being printed */ -double scale; /* scale factor converting samples to pc +EXTERN unsigned long s_lowpc; /* lowpc from the profile file */ +EXTERN unsigned long s_highpc; /* highpc from the profile file */ +/* range profiled, in historical units */ +EXTERN unsigned long lowpc, highpc; +EXTERN unsigned sampbytes; /* number of bytes of samples */ +EXTERN int nsamples; /* number of samples */ +/* accumulated time thus far for putprofline */ +EXTERN double actime; +EXTERN double totime; /* total time for all routines */ +EXTERN double printtime; /* total of time being printed */ +EXTERN double scale; /* scale factor converting samples to pc values: each sample covers scale bytes */ -unsigned char *textspace; /* text space of a.out in core */ -int cyclethreshold; /* with -C, minimum cycle size to ignore */ +EXTERN unsigned char *textspace; /* text space of a.out in core */ +/* with -C, minimum cycle size to ignore */ +EXTERN int cyclethreshold; /* * option flags, from a to z. */ -bool aflag; /* suppress static functions */ -bool bflag; /* blurbs, too */ -bool Cflag; /* find cut-set to eliminate cycles */ -bool dflag; /* debugging options */ -bool eflag; /* specific functions excluded */ -bool Eflag; /* functions excluded with time */ -bool fflag; /* specific functions requested */ -bool Fflag; /* functions requested with time */ -bool kflag; /* arcs to be deleted */ -bool Kflag; /* use the running kernel for symbols */ -bool sflag; /* sum multiple gmon.out files */ -bool uflag; /* suppress symbols hidden from C */ -bool zflag; /* zero time/called functions, too */ +EXTERN bool aflag; /* suppress static functions */ +EXTERN bool bflag; /* blurbs, too */ +EXTERN bool Cflag; /* find cut-set to eliminate cycles */ +EXTERN bool dflag; /* debugging options */ +EXTERN bool eflag; /* specific functions excluded */ +EXTERN bool Eflag; /* functions excluded with time */ +EXTERN bool fflag; /* specific functions requested */ +EXTERN bool Fflag; /* functions requested with time */ +EXTERN bool kflag; /* arcs to be deleted */ +EXTERN bool Kflag; /* use the running kernel for symbols */ +EXTERN bool sflag; /* sum multiple gmon.out files */ +EXTERN bool uflag; /* suppress symbols hidden from C */ +EXTERN bool zflag; /* zero time/called functions, too */ /* * structure for various string lists @@ -245,12 +252,12 @@ struct stringlist { struct stringlist *next; char *string; }; -struct stringlist *elist; -struct stringlist *Elist; -struct stringlist *flist; -struct stringlist *Flist; -struct stringlist *kfromlist; -struct stringlist *ktolist; +extern struct stringlist *elist; +extern struct stringlist *Elist; +extern struct stringlist *flist; +extern struct stringlist *Flist; +extern struct stringlist *kfromlist; +extern struct stringlist *ktolist; /* * function declarations Modified: head/usr.bin/mail/glob.h ============================================================================== --- head/usr.bin/mail/glob.h Mon Apr 6 23:21:39 2020 (r359679) +++ head/usr.bin/mail/glob.h Mon Apr 6 23:28:24 2020 (r359680) @@ -38,51 +38,51 @@ * def.h must be included first. */ -int msgCount; /* Count of messages read in */ -int rcvmode; /* True if receiving mail */ -int sawcom; /* Set after first command */ -char *Tflag; /* -T temp file for netnews */ -int senderr; /* An error while checking */ -int edit; /* Indicates editing a file */ -int readonly; /* Will be unable to rewrite file */ -int noreset; /* String resets suspended */ -int sourcing; /* Currently reading variant file */ -int loading; /* Loading user definitions */ -int cond; /* Current state of conditional exc. */ -FILE *itf; /* Input temp file buffer */ -FILE *otf; /* Output temp file buffer */ -int image; /* File descriptor for image of msg */ -FILE *input; /* Current command input file */ -char mailname[PATHSIZE]; /* Name of current file */ -char prevfile[PATHSIZE]; /* Name of previous file */ -char *homedir; /* Path name of home directory */ -char *myname; /* My login name */ -off_t mailsize; /* Size of system mailbox */ -int lexnumber; /* Number of TNUMBER from scan() */ -char lexstring[STRINGLEN]; /* String from TSTRING, scan() */ -int regretp; /* Pointer to TOS of regret tokens */ -int regretstack[REGDEP]; /* Stack of regretted tokens */ -char *string_stack[REGDEP]; /* Stack of regretted strings */ -int numberstack[REGDEP]; /* Stack of regretted numbers */ -struct message *dot; /* Pointer to current message */ -struct message *message; /* The actual message structure */ -struct var *variables[HSHSIZE]; /* Pointer to active var list */ -struct grouphead *groups[HSHSIZE];/* Pointer to active groups */ -struct ignoretab ignore[2]; /* ignored and retained fields +extern int msgCount; /* Count of messages read in */ +extern int rcvmode; /* True if receiving mail */ +extern int sawcom; /* Set after first command */ +extern char *Tflag; /* -T temp file for netnews */ +extern int senderr; /* An error while checking */ +extern int edit; /* Indicates editing a file */ +extern int readonly; /* Will be unable to rewrite file */ +extern int noreset; /* String resets suspended */ +extern int sourcing; /* Currently reading variant file */ +extern int loading; /* Loading user definitions */ +extern int cond; /* Current state of conditional exc. */ +extern FILE *itf; /* Input temp file buffer */ +extern FILE *otf; /* Output temp file buffer */ +extern int image; /* File descriptor for image of msg */ +extern FILE *input; /* Current command input file */ +extern char mailname[PATHSIZE]; /* Name of current file */ +extern char prevfile[PATHSIZE]; /* Name of previous file */ +extern char *homedir; /* Path name of home directory */ +extern char *myname; /* My login name */ +extern off_t mailsize; /* Size of system mailbox */ +extern int lexnumber; /* Number of TNUMBER from scan() */ +extern char lexstring[STRINGLEN]; /* String from TSTRING, scan() */ +extern int regretp; /* Pointer to TOS of regret tokens */ +extern int regretstack[REGDEP]; /* Stack of regretted tokens */ +extern char *string_stack[REGDEP]; /* Stack of regretted strings */ +extern int numberstack[REGDEP]; /* Stack of regretted numbers */ +extern struct message *dot; /* Pointer to current message */ +extern struct message *message; /* The actual message structure */ +extern struct var *variables[HSHSIZE]; /* Pointer to active var list */ +extern struct grouphead *groups[HSHSIZE];/* Pointer to active groups */ +extern struct ignoretab ignore[2]; /* ignored and retained fields 0 is ignore, 1 is retain */ -struct ignoretab saveignore[2]; /* ignored and retained fields +extern struct ignoretab saveignore[2]; /* ignored and retained fields on save to folder */ -struct ignoretab ignoreall[2]; /* special, ignore all headers */ -char **altnames; /* List of alternate names for user */ -int debug; /* Debug flag set */ -int screenwidth; /* Screen width, or best guess */ -int screenheight; /* Screen height, or best guess, +extern struct ignoretab ignoreall[2]; /* special, ignore all headers */ +extern char **altnames; /* List of alternate names for user */ +extern int debug; /* Debug flag set */ +extern int screenwidth; /* Screen width, or best guess */ +extern int screenheight; /* Screen height, or best guess, for "header" command */ -int realscreenheight; /* the real screen height */ +extern int realscreenheight; /* the real screen height */ #include -jmp_buf srbuf; +extern jmp_buf srbuf; /* @@ -93,7 +93,7 @@ jmp_buf srbuf; */ #define NSPACE 25 /* Total number of string spaces */ -struct strings { +extern struct strings { char *s_topFree; /* Beginning of this area */ char *s_nextFree; /* Next alloctable place here */ unsigned s_nleft; /* Number of bytes left here */ Modified: head/usr.bin/mail/main.c ============================================================================== --- head/usr.bin/mail/main.c Mon Apr 6 23:21:39 2020 (r359679) +++ head/usr.bin/mail/main.c Mon Apr 6 23:28:24 2020 (r359680) @@ -52,6 +52,49 @@ __FBSDID("$FreeBSD$"); * * Startup -- interface with user. */ +int msgCount; +int rcvmode; +int sawcom; +char *Tflag; +int senderr; +int edit; +int readonly; +int noreset; +int sourcing; +int loading; +int cond; +FILE *itf; +FILE *otf; +int image; +FILE *input; +char mailname[PATHSIZE]; +char prevfile[PATHSIZE]; +char *homedir; +char *myname; +off_t mailsize; +int lexnumber; +char lexstring[STRINGLEN]; +int regretp; +int regretstack[REGDEP]; +char *string_stack[REGDEP]; +int numberstack[REGDEP]; +struct message *dot; +struct message *message; +struct var *variables[HSHSIZE]; +struct grouphead *groups[HSHSIZE]; +struct ignoretab ignore[2]; + +struct ignoretab saveignore[2]; + +struct ignoretab ignoreall[2]; +char **altnames; +int debug; +int screenwidth; +int screenheight; + +int realscreenheight; + +jmp_buf srbuf; static jmp_buf hdrjmp; Modified: head/usr.bin/mail/strings.c ============================================================================== --- head/usr.bin/mail/strings.c Mon Apr 6 23:21:39 2020 (r359679) +++ head/usr.bin/mail/strings.c Mon Apr 6 23:28:24 2020 (r359680) @@ -48,6 +48,8 @@ __FBSDID("$FreeBSD$"); #include "rcv.h" #include "extern.h" +struct strings stringdope[NSPACE]; + /* * Allocate size more bytes of space and return the address of the * first byte to the caller. An even number of bytes are always Modified: head/usr.bin/tip/tip/tip.c ============================================================================== --- head/usr.bin/tip/tip/tip.c Mon Apr 6 23:21:39 2020 (r359679) +++ head/usr.bin/tip/tip/tip.c Mon Apr 6 23:28:24 2020 (r359680) @@ -54,6 +54,7 @@ static const char rcsid[] = "$OpenBSD: tip.c,v 1.30 20 * or * cu phone-number [-s speed] [-l line] [-a acu] */ +#define EXTERN #include "tip.h" #include "pathnames.h" Modified: head/usr.bin/tip/tip/tip.h ============================================================================== --- head/usr.bin/tip/tip/tip.h Mon Apr 6 23:21:39 2020 (r359679) +++ head/usr.bin/tip/tip/tip.h Mon Apr 6 23:28:24 2020 (r359680) @@ -58,40 +58,44 @@ #include #include +#ifndef EXTERN +#define EXTERN extern +#endif + /* * Remote host attributes */ -char *DV; /* UNIX device(s) to open */ -char *EL; /* chars marking an EOL */ -char *CM; /* initial connection message */ -char *IE; /* EOT to expect on input */ -char *OE; /* EOT to send to complete FT */ -char *CU; /* call unit if making a phone call */ -char *AT; /* acu type */ -char *PN; /* phone number(s) */ -char *DI; /* disconnect string */ -char *PA; /* parity to be generated */ +EXTERN char *DV; /* UNIX device(s) to open */ +EXTERN char *EL; /* chars marking an EOL */ +EXTERN char *CM; /* initial connection message */ +EXTERN char *IE; /* EOT to expect on input */ +EXTERN char *OE; /* EOT to send to complete FT */ +EXTERN char *CU; /* call unit if making a phone call */ +EXTERN char *AT; /* acu type */ +EXTERN char *PN; /* phone number(s) */ +EXTERN char *DI; /* disconnect string */ +EXTERN char *PA; /* parity to be generated */ -char *PH; /* phone number file */ -char *RM; /* remote file name */ -char *HO; /* host name */ +EXTERN char *PH; /* phone number file */ +EXTERN char *RM; /* remote file name */ +EXTERN char *HO; /* host name */ -long BR; /* line speed for conversation */ -long FS; /* frame size for transfers */ +EXTERN long BR; /* line speed for conversation */ +EXTERN long FS; /* frame size for transfers */ -short DU; /* this host is dialed up */ -short HW; /* this device is hardwired, see hunt.c */ -char *ES; /* escape character */ -char *EX; /* exceptions */ -char *FO; /* force (literal next) char*/ -char *RC; /* raise character */ -char *RE; /* script record file */ -char *PR; /* remote prompt */ -long DL; /* line delay for file transfers to remote */ -long CL; /* char delay for file transfers to remote */ -long ET; /* echocheck timeout */ -long LD; /* line disc */ -short HD; /* this host is half duplex - do local echo */ +EXTERN short DU; /* this host is dialed up */ +EXTERN short HW; /* this device is hardwired, see hunt.c */ +EXTERN char *ES; /* escape character */ +EXTERN char *EX; /* exceptions */ +EXTERN char *FO; /* force (literal next) char*/ +EXTERN char *RC; /* raise character */ +EXTERN char *RE; /* script record file */ +EXTERN char *PR; /* remote prompt */ +EXTERN long DL; /* line delay for file transfers to remote */ +EXTERN long CL; /* char delay for file transfers to remote */ +EXTERN long ET; /* echocheck timeout */ +EXTERN long LD; /* line disc */ +EXTERN short HD; /* this host is half duplex - do local echo */ /* * String value table @@ -237,39 +241,39 @@ extern value_t vtable[]; /* variable table */ #define NOFILE ((FILE *)NULL) #define NOPWD ((struct passwd *)0) -struct termios term; /* current mode of terminal */ -struct termios defterm; /* initial mode of terminal */ -struct termios defchars; /* current mode with initial chars */ -int gotdefterm; +EXTERN struct termios term; /* current mode of terminal */ +EXTERN struct termios defterm; /* initial mode of terminal */ +EXTERN struct termios defchars; /* current mode with initial chars */ +EXTERN int gotdefterm; -FILE *fscript; /* FILE for scripting */ +EXTERN FILE *fscript; /* FILE for scripting */ -int fildes[2]; /* file transfer synchronization channel */ -int repdes[2]; /* read process sychronization channel */ -int FD; /* open file descriptor to remote host */ -int AC; /* open file descriptor to dialer (v831 only) */ -int vflag; /* print .tiprc initialization sequence */ -int noesc; /* no `~' escape char */ -int sfd; /* for ~< operation */ -pid_t tipin_pid; /* pid of tipin */ -pid_t tipout_pid; /* pid of tipout */ -uid_t uid, euid; /* real and effective user id's */ -gid_t gid, egid; /* real and effective group id's */ -int stop; /* stop transfer session flag */ -int quit; /* same; but on other end */ -int intflag; /* recognized interrupt */ -int stoprompt; /* for interrupting a prompt session */ -int timedout; /* ~> transfer timedout */ -int cumode; /* simulating the "cu" program */ -int bits8; /* terminal is 8-bit mode */ +EXTERN int fildes[2]; /* file transfer synchronization channel */ +EXTERN int repdes[2]; /* read process sychronization channel */ +EXTERN int FD; /* open file descriptor to remote host */ +EXTERN int AC; /* open file descriptor to dialer (v831 only) */ +EXTERN int vflag; /* print .tiprc initialization sequence */ +EXTERN int noesc; /* no `~' escape char */ +EXTERN int sfd; /* for ~< operation */ +EXTERN pid_t tipin_pid; /* pid of tipin */ +EXTERN pid_t tipout_pid; /* pid of tipout */ +EXTERN uid_t uid, euid; /* real and effective user id's */ +EXTERN gid_t gid, egid; /* real and effective group id's */ +EXTERN int stop; /* stop transfer session flag */ +EXTERN int quit; /* same; but on other end */ +EXTERN int intflag; /* recognized interrupt */ +EXTERN int stoprompt; /* for interrupting a prompt session */ +EXTERN int timedout; /* ~> transfer timedout */ +EXTERN int cumode; /* simulating the "cu" program */ +EXTERN int bits8; /* terminal is 8-bit mode */ #define STRIP_PAR (bits8 ? 0377 : 0177) -char fname[PATH_MAX]; /* file name buffer for ~< */ -char copyname[PATH_MAX]; /* file name buffer for ~> */ -char ccc; /* synchronization character */ -char *uucplock; /* name of lock file for uucp's */ +EXTERN char fname[PATH_MAX]; /* file name buffer for ~< */ +EXTERN char copyname[PATH_MAX]; /* file name buffer for ~> */ +EXTERN char ccc; /* synchronization character */ +EXTERN char *uucplock; /* name of lock file for uucp's */ -int odisc; /* initial tty line discipline */ +EXTERN int odisc; /* initial tty line discipline */ extern int disc; /* current tty discpline */ extern char *__progname; /* program name */ From owner-svn-src-head@freebsd.org Mon Apr 6 23:38:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4A4222A1056; Mon, 6 Apr 2020 23:38:47 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x6S7191Zz3J3n; Mon, 6 Apr 2020 23:38:47 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 22EA21B5; Mon, 6 Apr 2020 23:38:47 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036Nck5S022133; Mon, 6 Apr 2020 23:38:46 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036Nckt3022130; Mon, 6 Apr 2020 23:38:46 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004062338.036Nckt3022130@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 6 Apr 2020 23:38:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359681 - in head: . share/mk X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head: . share/mk X-SVN-Commit-Revision: 359681 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:38:47 -0000 Author: brooks Date: Mon Apr 6 23:38:46 2020 New Revision: 359681 URL: https://svnweb.freebsd.org/changeset/base/359681 Log: Fix compilation with upstream clang builtin headers. By using -nobuiltininc and adding the clang builtin headers resource dir to the end of the compiler header search path, we can still find headers such as immintrin.h but find the FreeBSD version of stddef.h/stdarg.h/.. first. This is a workaround until we are able to settle on and complete a plan to harmonize guard macros with LLVM. We've mostly worked out this on FreeBSD systems by removing select headers from the installed set of devel/llvm*, but that isn't a good solution for cross build. Submitted by: arichardson Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17002 Modified: head/Makefile.inc1 head/share/mk/bsd.compiler.mk head/share/mk/bsd.sys.mk Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Apr 6 23:28:24 2020 (r359680) +++ head/Makefile.inc1 Mon Apr 6 23:38:46 2020 (r359681) @@ -337,6 +337,7 @@ _TOOLCHAIN_METADATA_VARS= COMPILER_VERSION \ COMPILER_TYPE \ COMPILER_FEATURES \ COMPILER_FREEBSD_VERSION \ + COMPILER_RESOURCE_DIR \ LINKER_VERSION \ LINKER_FEATURES \ LINKER_TYPE \ Modified: head/share/mk/bsd.compiler.mk ============================================================================== --- head/share/mk/bsd.compiler.mk Mon Apr 6 23:28:24 2020 (r359680) +++ head/share/mk/bsd.compiler.mk Mon Apr 6 23:38:46 2020 (r359681) @@ -143,7 +143,7 @@ _cc_vars+=XCC X_ # The value is only used/exported for the same environment that impacts # CC and COMPILER_* settings here. _exported_vars= ${X_}COMPILER_TYPE ${X_}COMPILER_VERSION \ - ${X_}COMPILER_FREEBSD_VERSION + ${X_}COMPILER_FREEBSD_VERSION ${X_}COMPILER_RESOURCE_DIR ${X_}_cc_hash= ${${cc}}${MACHINE}${PATH} ${X_}_cc_hash:= ${${X_}_cc_hash:hash} # Only import if none of the vars are set somehow else. @@ -201,6 +201,10 @@ ${X_}COMPILER_FREEBSD_VERSION= unknown .endif .endif +.if !defined(${X_}COMPILER_RESOURCE_DIR) +${X_}COMPILER_RESOURCE_DIR!= ${${cc}:N${CCACHE_BIN}} -print-resource-dir 2>/dev/null || echo unknown +.endif + ${X_}COMPILER_FEATURES= .if (${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 30300) || \ (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 40800) @@ -224,6 +228,7 @@ X_COMPILER_TYPE= ${COMPILER_TYPE} X_COMPILER_VERSION= ${COMPILER_VERSION} X_COMPILER_FREEBSD_VERSION= ${COMPILER_FREEBSD_VERSION} X_COMPILER_FEATURES= ${COMPILER_FEATURES} +X_COMPILER_RESOURCE_DIR= ${COMPILER_RESOURCE_DIR} .endif # ${cc} == "CC" || (${cc} == "XCC" && ${XCC} != ${CC}) # Export the values so sub-makes don't have to look them up again, using the Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Mon Apr 6 23:28:24 2020 (r359680) +++ head/share/mk/bsd.sys.mk Mon Apr 6 23:38:46 2020 (r359681) @@ -206,6 +206,21 @@ CWARNFLAGS+= -Wno-unknown-pragmas # This warning is utter nonsense CFLAGS+= -Wno-format-zero-length +.if ${COMPILER_TYPE} == "clang" +# The headers provided by clang are incompatible with the FreeBSD headers. +# If the version of clang is not one that has been patched to omit the +# incompatible headers, we need to compile with -nobuiltininc and add the +# resource dir to the end of the search paths. This ensures that headers such as +# immintrin.h are still found but stddef.h, etc. are picked up from FreeBSD. +# +# XXX: This is a hack to support complete external installs of clang while +# we work to synchronize our decleration guards with those in the clang tree. +.if ${MK_CLANG_BOOTSTRAP} == "no" && ${COMPILER_RESOURCE_DIR} != "unknown" && \ + !defined(BOOTSTRAPPING) +CFLAGS+=-nobuiltininc -idirafter ${COMPILER_RESOURCE_DIR}/include +.endif +.endif + CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ -mllvm -simplifycfg-dup-ret .if ${COMPILER_VERSION} >= 30500 && ${COMPILER_VERSION} < 30700 From owner-svn-src-head@freebsd.org Mon Apr 6 23:54:50 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ECD7F2A1C15; Mon, 6 Apr 2020 23:54:50 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x6pf5FF6z3K6S; Mon, 6 Apr 2020 23:54:50 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AF390597; Mon, 6 Apr 2020 23:54:50 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 036Nsohs034126; Mon, 6 Apr 2020 23:54:50 GMT (envelope-from jrtc27@FreeBSD.org) Received: (from jrtc27@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 036Nsoi8034125; Mon, 6 Apr 2020 23:54:50 GMT (envelope-from jrtc27@FreeBSD.org) Message-Id: <202004062354.036Nsoi8034125@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jrtc27 set sender to jrtc27@FreeBSD.org using -f From: Jessica Clarke Date: Mon, 6 Apr 2020 23:54:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359682 - head/sys/riscv/riscv X-SVN-Group: head X-SVN-Commit-Author: jrtc27 X-SVN-Commit-Paths: head/sys/riscv/riscv X-SVN-Commit-Revision: 359682 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 23:54:51 -0000 Author: jrtc27 Date: Mon Apr 6 23:54:50 2020 New Revision: 359682 URL: https://svnweb.freebsd.org/changeset/base/359682 Log: riscv: Add semicolon missing from r359672 Somehow this got lost between build-testing and submitting to Phabricator. Modified: head/sys/riscv/riscv/pmap.c Modified: head/sys/riscv/riscv/pmap.c ============================================================================== --- head/sys/riscv/riscv/pmap.c Mon Apr 6 23:38:46 2020 (r359681) +++ head/sys/riscv/riscv/pmap.c Mon Apr 6 23:54:50 2020 (r359682) @@ -4354,7 +4354,7 @@ pmap_sync_icache(pmap_t pmap, vm_offset_t va, vm_size_ sched_pin(); mask = all_harts; CPU_CLR(PCPU_GET(hart), &mask); - fence_i() + fence_i(); if (!CPU_EMPTY(&mask) && smp_started) { fence(); sbi_remote_fence_i(mask.__bits); From owner-svn-src-head@freebsd.org Tue Apr 7 01:49:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2F2032A4644; Tue, 7 Apr 2020 01:49:34 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48x9M20GtNz3QHC; Tue, 7 Apr 2020 01:49:34 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id B069B1956B; Tue, 7 Apr 2020 01:49:33 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id A418512B64; Tue, 7 Apr 2020 01:49:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id UEb_44IETf6b; Tue, 7 Apr 2020 01:49:28 +0000 (UTC) Subject: Re: svn commit: r359681 - in head: . share/mk DKIM-Filter: OpenDKIM Filter v2.10.3 mail.xzibition.com 93A3712AE4 To: Brooks Davis , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202004062338.036Nckt3022130@repo.freebsd.org> From: Bryan Drewery Autocrypt: addr=bdrewery@FreeBSD.org; prefer-encrypt=mutual; keydata= mQENBFJphmsBCADiFgmS4bIzwZijrS31SjEMzg+n5zNellgM+HkShwehpqCiyhXdWrvH6dTZ a6u50pbUIX7doTR7W7PQHCjCTqtpwvcj0eulZva+iHFp+XrbgSFHn+VVXgkYP2MFySyZRFab D2qqzJBEJofhpv4HvY6uQI5K99pMqKr1Z/lHqsijYYu4RH2OfwB5PinId7xeldzWEonVoCr+ rfxzO/UrgA6v/3layGZcKNHFjmc3NqoN1DXtdaEHqtjIozzbndVkH6lkFvIpIrI6i5ox8pwp VxsxLCr/4Musd5CWgHiet5kSw2SzNeA8FbxdLYCpXNVu+uBACEbCUP+CSNy3NVfEUxsBABEB AAG0JEJyeWFuIERyZXdlcnkgPGJkcmV3ZXJ5QEZyZWVCU0Qub3JnPokBVwQTAQoAQQIbAwUL CQgHAwUVCgkICwUWAwIBAAIeAQIXgAIZARYhBPkXPLLDqup6XIofCTXXcbtuRpfPBQJb5hLu BQkNPvODAAoJEDXXcbtuRpfP9rMH/3f7cfX5rzyEV5QNfV/wS4jFukLoPZ4+nCM/TKxH3pEX 2bLbeQbkk6La8cueQ5Lpoht5XFZ18Y5TbMittngltrlNzoDD0h9are24OkDFGim3afJU7tkj IGQa1if+re+vI5BhzYwRhj0oKXzBi39M5oePd3L1dXfx83rg2FPyZBdIejsz6fR74T3JVkbd 6k2l5/3Zk2uiNMy+eBfDRgYE1E6CP28kV0nCeGKZgSVso0kGUUHud7voKqGVpMvbd0mE4pp4 PE5YJaFPjrll9miaDAvdU8LGIq5n6+aXPLKoQ/QNl6mg6ifgI6FfKILOkTizLW8E5PBSNnCm NapQ55yjm125AQ0EUmmGawEIAKJUU9+Q19oW1RK5jTf3m56j+szIc8Y9DaLC8REUKl4UZJBK BqCl6c0cukVApOD92XoU6hJPm2rLEyp/IcYcPPNTnVu8D8h9oag2L8EiFN7+2hk0xG+lwjc8 uOIZycme7AIJsBU4AZ1v63lxm2k104hwpiatgbe71GIGl7p1MX6ousP/wGzXCOF25Dx9w02C eRe7zEMfhnFjSUhzdCC9han2+KaVB7qIqNR3b8NfbwRNlwPmHqlhXffUow9OsQjSnTK8WKNR lx7xzVccXIvWP2wECFrmqmzMmXpSrmIuiWEpFwZ9x2a0Pva8dCNRiCVTK51IlRXKjaAxiN1u IUrMm6UAEQEAAYkBPAQYAQoAJgIbDBYhBPkXPLLDqup6XIofCTXXcbtuRpfPBQJb5hL4BQkN PvONAAoJEDXXcbtuRpfPCjcH/ivBsOpdpebpgLizSNU5/X4yWN5Aixsc9VBnQhGKAKnMINJQ VMpA55sD2JSPwloXYM/B3qyPJRS/9cwIuX5LDNKKOZU3Qp+TzleynM15/xea14orWYRGRict YHBM3Cnqp7OD8K6Q1uhs0fTxyJP7PZ/G0+7Corlf1DlHhDt6C2HldRPFvAvAgl6sR9Wzgcb7 rzub2HVtbJgl6YHbgyAG7x9NpXFqzx1JLAMdpt2DIYwoi+oMdRQlBIwNuKjQjCGzuXHandd3 kGvBAsyJpQ+coEep9UzwANaV28cXrFr2R4FSOcR50rBA2Nh/vqUYfpsvBvJlwuKAoV1djVHa ihNeL5E= Organization: FreeBSD Message-ID: <9f2a2e90-0bb5-29b0-8b2b-c79caf6df903@FreeBSD.org> Date: Mon, 6 Apr 2020 18:14:00 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <202004062338.036Nckt3022130@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="QVVwWxdjjPGdAk0AOOIKjiFwdSmHC0h5H" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 01:49:34 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --QVVwWxdjjPGdAk0AOOIKjiFwdSmHC0h5H Content-Type: multipart/mixed; boundary="CVxL14w4N9c31uTFjTuURC86orHFPXaxq"; protected-headers="v1" From: Bryan Drewery To: Brooks Davis , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <9f2a2e90-0bb5-29b0-8b2b-c79caf6df903@FreeBSD.org> Subject: Re: svn commit: r359681 - in head: . share/mk References: <202004062338.036Nckt3022130@repo.freebsd.org> In-Reply-To: <202004062338.036Nckt3022130@repo.freebsd.org> --CVxL14w4N9c31uTFjTuURC86orHFPXaxq Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 4/6/2020 4:38 PM, Brooks Davis wrote: > Author: brooks > Date: Mon Apr 6 23:38:46 2020 > New Revision: 359681 > URL: https://svnweb.freebsd.org/changeset/base/359681 >=20 > Log: > Fix compilation with upstream clang builtin headers. > =20 > By using -nobuiltininc and adding the clang builtin headers resource = dir > to the end of the compiler header search path, we can still find head= ers > such as immintrin.h but find the FreeBSD version of stddef.h/stdarg.h= /.. > first. > =20 > This is a workaround until we are able to settle on and complete a pl= an > to harmonize guard macros with LLVM. We've mostly worked out this on= > FreeBSD systems by removing select headers from the installed set of > devel/llvm*, but that isn't a good solution for cross build. > =20 > Submitted by: arichardson > Obtained from: CheriBSD > Sponsored by: DARPA, AFRL > Differential Revision: https://reviews.freebsd.org/D17002 >=20 > Modified: > head/Makefile.inc1 > head/share/mk/bsd.compiler.mk > head/share/mk/bsd.sys.mk >=20 > Modified: head/Makefile.inc1 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/Makefile.inc1 Mon Apr 6 23:28:24 2020 (r359680) > +++ head/Makefile.inc1 Mon Apr 6 23:38:46 2020 (r359681) > @@ -337,6 +337,7 @@ _TOOLCHAIN_METADATA_VARS=3D COMPILER_VERSION \ > COMPILER_TYPE \ > COMPILER_FEATURES \ > COMPILER_FREEBSD_VERSION \ > + COMPILER_RESOURCE_DIR \ > LINKER_VERSION \ > LINKER_FEATURES \ > LINKER_TYPE \ >=20 > Modified: head/share/mk/bsd.compiler.mk > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/share/mk/bsd.compiler.mk Mon Apr 6 23:28:24 2020 (r359680) > +++ head/share/mk/bsd.compiler.mk Mon Apr 6 23:38:46 2020 (r359681) > @@ -143,7 +143,7 @@ _cc_vars+=3DXCC X_ > # The value is only used/exported for the same environment that impact= s > # CC and COMPILER_* settings here. > _exported_vars=3D ${X_}COMPILER_TYPE ${X_}COMPILER_VERSION \ > - ${X_}COMPILER_FREEBSD_VERSION > + ${X_}COMPILER_FREEBSD_VERSION ${X_}COMPILER_RESOURCE_DIR > ${X_}_cc_hash=3D ${${cc}}${MACHINE}${PATH} > ${X_}_cc_hash:=3D ${${X_}_cc_hash:hash} > # Only import if none of the vars are set somehow else. > @@ -201,6 +201,10 @@ ${X_}COMPILER_FREEBSD_VERSION=3D unknown > .endif > .endif > =20 > +.if !defined(${X_}COMPILER_RESOURCE_DIR) > +${X_}COMPILER_RESOURCE_DIR!=3D ${${cc}:N${CCACHE_BIN}} -print-resource= -dir 2>/dev/null || echo unknown > +.endif > + > ${X_}COMPILER_FEATURES=3D > .if (${${X_}COMPILER_TYPE} =3D=3D "clang" && ${${X_}COMPILER_VERSION} = >=3D 30300) || \ > (${${X_}COMPILER_TYPE} =3D=3D "gcc" && ${${X_}COMPILER_VERSION} >=3D = 40800) > @@ -224,6 +228,7 @@ X_COMPILER_TYPE=3D ${COMPILER_TYPE} > X_COMPILER_VERSION=3D ${COMPILER_VERSION} > X_COMPILER_FREEBSD_VERSION=3D ${COMPILER_FREEBSD_VERSION} > X_COMPILER_FEATURES=3D ${COMPILER_FEATURES} > +X_COMPILER_RESOURCE_DIR=3D ${COMPILER_RESOURCE_DIR} > .endif # ${cc} =3D=3D "CC" || (${cc} =3D=3D "XCC" && ${XCC} !=3D ${CC}= ) > =20 > # Export the values so sub-makes don't have to look them up again, usi= ng the >=20 > Modified: head/share/mk/bsd.sys.mk > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/share/mk/bsd.sys.mk Mon Apr 6 23:28:24 2020 (r359680) > +++ head/share/mk/bsd.sys.mk Mon Apr 6 23:38:46 2020 (r359681) > @@ -206,6 +206,21 @@ CWARNFLAGS+=3D -Wno-unknown-pragmas > # This warning is utter nonsense > CFLAGS+=3D -Wno-format-zero-length > =20 > +.if ${COMPILER_TYPE} =3D=3D "clang" > +# The headers provided by clang are incompatible with the FreeBSD head= ers. > +# If the version of clang is not one that has been patched to omit the= > +# incompatible headers, we need to compile with -nobuiltininc and add = the > +# resource dir to the end of the search paths. This ensures that heade= rs such as > +# immintrin.h are still found but stddef.h, etc. are picked up from Fr= eeBSD. > +# > +# XXX: This is a hack to support complete external installs of clang w= hile > +# we work to synchronize our decleration guards with those in the clan= g tree. > +.if ${MK_CLANG_BOOTSTRAP} =3D=3D "no" && ${COMPILER_RESOURCE_DIR} !=3D= "unknown" && \ > + !defined(BOOTSTRAPPING) I just realized MK_CLANG_BOOTSTRAP is not going to be defined here outside of the tree. Adding :Uno will fix it. Keep in mind this current change and the next will affect ports. It looks like by default clang will always get these flags added on. > +CFLAGS+=3D-nobuiltininc -idirafter ${COMPILER_RESOURCE_DIR}/include > +.endif > +.endif > + > CLANG_OPT_SMALL=3D -mstack-alignment=3D8 -mllvm -inline-threshold=3D3\= > -mllvm -simplifycfg-dup-ret > .if ${COMPILER_VERSION} >=3D 30500 && ${COMPILER_VERSION} < 30700 >=20 --=20 Regards, Bryan Drewery --CVxL14w4N9c31uTFjTuURC86orHFPXaxq-- --QVVwWxdjjPGdAk0AOOIKjiFwdSmHC0h5H Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE+Rc8ssOq6npcih8JNddxu25Gl88FAl6L09hfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEY5 MTczQ0IyQzNBQUVBN0E1QzhBMUYwOTM1RDc3MUJCNkU0Njk3Q0YACgkQNddxu25G l89KSQf+PCZPPRH7nlDHMpn+uG8Bq1GAtuj1ngWvRNS4/KSOs+Wz4wQGPKjDfihO oeHJ1mykOcRJr1u2Cmpd4NLqa3m4y+xA4mvexw1A2vsK6HkWQnCS6tb16Q0fwllE ajGVmyTDOWhai3Hzc2UOQzAByT0Ap2q9rBuTWuupnHVJCBDtlDQsffLD4gv0hkXL UFyUViKn3M4vb1b2pSegzZkVt/acHAGCgx1/Gp5qDZpgBMqEo1EaQzmVTrM7lTk7 KEHFY6hd7JNKaOjK0j2BM0Xu/ToSWFcQoCz/bZW3C/kO6Kv33ttwi4Gph+NnRUGS QeUa0vX17stImYyA+xs5B2v3DabUsg== =6LRB -----END PGP SIGNATURE----- --QVVwWxdjjPGdAk0AOOIKjiFwdSmHC0h5H-- From owner-svn-src-head@freebsd.org Tue Apr 7 02:46:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3FDA02A5B5E; Tue, 7 Apr 2020 02:46:25 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xBcd0z1Fz3xxR; Tue, 7 Apr 2020 02:46:25 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1C643265A; Tue, 7 Apr 2020 02:46:25 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0372kObk036224; Tue, 7 Apr 2020 02:46:24 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0372kNIx036216; Tue, 7 Apr 2020 02:46:23 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <202004070246.0372kNIx036216@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Tue, 7 Apr 2020 02:46:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb X-SVN-Group: head X-SVN-Commit-Author: sobomax X-SVN-Commit-Paths: in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb X-SVN-Commit-Revision: 359685 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 02:46:25 -0000 Author: sobomax Date: Tue Apr 7 02:46:22 2020 New Revision: 359685 URL: https://svnweb.freebsd.org/changeset/base/359685 Log: Normalize deployment tools usage and definitions by putting into one place instead of sprinkling them out over many disjoint files. This is a follow-up to achieve the same goal in an incomplete rev.348521. Approved by: imp MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D20520 Added: head/share/mk/src.tools.mk (contents, props changed) Modified: head/Makefile.inc1 head/etc/Makefile head/lib/libc/gen/Makefile.inc head/share/mk/sys.mk head/share/termcap/Makefile head/usr.bin/login/Makefile head/usr.bin/vgrind/Makefile head/usr.sbin/services_mkdb/Makefile Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Tue Apr 7 02:45:24 2020 (r359684) +++ head/Makefile.inc1 Tue Apr 7 02:46:22 2020 (r359685) @@ -57,6 +57,8 @@ _MKSHOWCONFIG= t SRCDIR?= ${.CURDIR} LOCALBASE?= /usr/local +.include "share/mk/src.tools.mk" + # Cross toolchain changes must be in effect before bsd.compiler.mk # so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes. .if defined(CROSS_TOOLCHAIN) @@ -874,8 +876,8 @@ MTREEFLAGS+= -W INSTALLFLAGS+= -h sha256 .endif .if defined(DB_FROM_SRC) || defined(NO_ROOT) -IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" -IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}" +IMAKE_INSTALL= INSTALL="${INSTALL_CMD} ${INSTALLFLAGS}" +IMAKE_MTREE= MTREE_CMD="${MTREE_CMD} ${MTREEFLAGS}" .endif DESTDIR_MTREEFLAGS= -deU @@ -887,12 +889,12 @@ WORLDTMP_MTREEFLAGS= -deUW # that are created by mtree to be owned by root/wheel. DESTDIR_MTREEFLAGS+= -W .endif -MTREE?= mtree +DISTR_MTREE= ${MTREE_CMD} .if ${BUILD_WITH_STRICT_TMPPATH} != 0 -MTREE= ${WORLDTMP}/legacy/usr/sbin/mtree +DISTR_MTREE= ${WORLDTMP}/legacy/usr/sbin/mtree .endif -WORLDTMP_MTREE= ${MTREE} ${WORLDTMP_MTREEFLAGS} -DESTDIR_MTREE= ${MTREE} ${DESTDIR_MTREEFLAGS} +WORLDTMP_MTREE= ${DISTR_MTREE} ${WORLDTMP_MTREEFLAGS} +DESTDIR_MTREE= ${DISTR_MTREE} ${DESTDIR_MTREEFLAGS} # kernel stage KMAKEENV= ${WMAKEENV:NSYSROOT=*} @@ -1363,14 +1365,14 @@ distributeworld installworld stageworld: _installcheck .endif .endif .if defined(NO_ROOT) - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ sed -e 's#^\./#./${dist}/#' >> ${METALOG} - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} .if defined(_LIBCOMPAT) - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} .endif .endif Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Tue Apr 7 02:45:24 2020 (r359684) +++ head/etc/Makefile Tue Apr 7 02:46:22 2020 (r359685) @@ -2,11 +2,11 @@ # $FreeBSD$ .include +.include FILESGROUPS= FILES NLS_ALIASES= POSIX C \ en_US.US_ASCII C -PWD_MKDB_CMD?= pwd_mkdb # No need as it is empty and just causes rebuilds since this file does so much. UPDATE_DEPENDFILE= no @@ -98,8 +98,6 @@ distribution: ${DESTDIR}/boot/device.hints .endif .endif - -MTREE_CMD?= mtree MTREES= mtree/BSD.root.dist / \ mtree/BSD.var.dist /var \ Modified: head/lib/libc/gen/Makefile.inc ============================================================================== --- head/lib/libc/gen/Makefile.inc Tue Apr 7 02:45:24 2020 (r359684) +++ head/lib/libc/gen/Makefile.inc Tue Apr 7 02:46:22 2020 (r359685) @@ -550,11 +550,13 @@ MLINKS+=vis.3 nvis.3 \ MLINKS+=wordexp.3 wordfree.3 +.include + afterinstallconfig: .if ${MK_TCSH} == "no" sed -i "" -e 's;/bin/csh;/bin/sh;' ${DESTDIR}/etc/master.passwd .endif - pwd_mkdb -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd + ${PWD_MKDB_CMD} -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd .if defined(NO_ROOT) && defined(METALOG) ( \ echo "./etc/pwd.db type=file mode=0644 uname=root gname=wheel"; \ Added: head/share/mk/src.tools.mk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/mk/src.tools.mk Tue Apr 7 02:46:22 2020 (r359685) @@ -0,0 +1,25 @@ +# Various tools used by the FreeBSD make installworld / distrib-dirs / +# distribution / installkernel targets. Also called "bootstrap tools" +# historically, however that name seemed to be ambiguous, as those tools +# merely help distributing the OS build artefacts into staging / production +# area. +# +# Very tiny subset of "itools", if you are old enough to know what it is. +# +# Please keep the list short, this file may and will be included from +# many places within the source tree. Rule of thumb: if the above mentioned +# targets survive with MYTOOL_CMD=false, then MYTOOL_CMD probably +# does not belong here. Stick it somewhere else, thank you very much! +# +# $FreeBSD$ + +.if !target(____) + +INSTALL_CMD?= install +MTREE_CMD?= mtree +PWD_MKDB_CMD?= pwd_mkdb +SERVICES_MKDB_CMD?= services_mkdb +CAP_MKDB_CMD?= cap_mkdb + +____: +.endif # !target(____) Modified: head/share/mk/sys.mk ============================================================================== --- head/share/mk/sys.mk Tue Apr 7 02:45:24 2020 (r359684) +++ head/share/mk/sys.mk Tue Apr 7 02:46:22 2020 (r359685) @@ -234,7 +234,7 @@ FFLAGS ?= -O .endif EFLAGS ?= -INSTALL ?= install +INSTALL ?= ${INSTALL_CMD:Uinstall} LEX ?= lex LFLAGS ?= Modified: head/share/termcap/Makefile ============================================================================== --- head/share/termcap/Makefile Tue Apr 7 02:45:24 2020 (r359684) +++ head/share/termcap/Makefile Tue Apr 7 02:46:22 2020 (r359685) @@ -14,9 +14,10 @@ CLEANFILES+= termcap.db CONFS= termcap.small .include +.include termcap.db: termcap - cap_mkdb ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC} + ${CAP_MKDB_CMD} ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC} etc-termcap: ${INSTALL_SYMLINK} -T "package=runtime" \ Modified: head/usr.bin/login/Makefile ============================================================================== --- head/usr.bin/login/Makefile Tue Apr 7 02:45:24 2020 (r359684) +++ head/usr.bin/login/Makefile Tue Apr 7 02:46:22 2020 (r359685) @@ -2,13 +2,13 @@ # $FreeBSD$ .include +.include CONFS= fbtab login.conf motd.template login.access PROG= login SRCS= login.c login_fbtab.c CFLAGS+=-DLOGALL LIBADD= util pam -CAP_MKDB_CMD?= cap_mkdb WARNS?= 5 Modified: head/usr.bin/vgrind/Makefile ============================================================================== --- head/usr.bin/vgrind/Makefile Tue Apr 7 02:45:24 2020 (r359684) +++ head/usr.bin/vgrind/Makefile Tue Apr 7 02:46:22 2020 (r359685) @@ -19,8 +19,9 @@ SCRIPTSDIR=/usr/bin CLEANFILES= vgrindefs.src.db .include +.include vgrindefs.src.db: vgrindefs.src - cap_mkdb ${CAP_MKDB_ENDIAN} -f vgrindefs.src ${.ALLSRC} + ${CAP_MKDB_CMD} ${CAP_MKDB_ENDIAN} -f vgrindefs.src ${.ALLSRC} .include Modified: head/usr.sbin/services_mkdb/Makefile ============================================================================== --- head/usr.sbin/services_mkdb/Makefile Tue Apr 7 02:45:24 2020 (r359684) +++ head/usr.sbin/services_mkdb/Makefile Tue Apr 7 02:46:22 2020 (r359685) @@ -6,11 +6,13 @@ CONFS= services PROG= services_mkdb MAN= services_mkdb.8 SRCS= services_mkdb.c uniq.c extern.h -SERVICES_MKDB_CMD?= ${PROG} .include .include .if ${MK_SERVICESDB} != "no" +# SERVICES_MKDB_CMD defined here +.include + afterinstallconfig: ${SERVICES_MKDB_CMD} ${CAP_MKDB_ENDIAN} -q -o ${DESTDIR}/var/db/services.db \ ${DESTDIR}/etc/services From owner-svn-src-head@freebsd.org Tue Apr 7 03:19:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 450842A6B79; Tue, 7 Apr 2020 03:19:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xCLF0vsyz40cc; Tue, 7 Apr 2020 03:19:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1A8732CAF; Tue, 7 Apr 2020 03:19:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0373J0MD056314; Tue, 7 Apr 2020 03:19:00 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0373J0b8056312; Tue, 7 Apr 2020 03:19:00 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202004070319.0373J0b8056312@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 7 Apr 2020 03:19:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359686 - head/sys/cam/ctl X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cam/ctl X-SVN-Commit-Revision: 359686 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 03:19:01 -0000 Author: mav Date: Tue Apr 7 03:19:00 2020 New Revision: 359686 URL: https://svnweb.freebsd.org/changeset/base/359686 Log: Fix panic on kern.cam.ctl.ha_role change after r333446. MFC after: 1 week Sponsored by: iXsystems, Inc. Modified: head/sys/cam/ctl/ctl_backend_block.c head/sys/cam/ctl/ctl_backend_ramdisk.c Modified: head/sys/cam/ctl/ctl_backend_block.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_block.c Tue Apr 7 02:46:22 2020 (r359685) +++ head/sys/cam/ctl/ctl_backend_block.c Tue Apr 7 03:19:00 2020 (r359686) @@ -2574,8 +2574,10 @@ ctl_be_block_modify(struct ctl_be_block_softc *softc, if (params->lun_size_bytes != 0) be_lun->params.lun_size_bytes = params->lun_size_bytes; - nvlist_destroy(cbe_lun->options); - cbe_lun->options = nvlist_clone(req->args_nvl); + if (req->args_nvl != NULL) { + nvlist_destroy(cbe_lun->options); + cbe_lun->options = nvlist_clone(req->args_nvl); + } wasprim = (cbe_lun->flags & CTL_LUN_FLAG_PRIMARY); value = dnvlist_get_string(cbe_lun->options, "ha_role", NULL); Modified: head/sys/cam/ctl/ctl_backend_ramdisk.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_ramdisk.c Tue Apr 7 02:46:22 2020 (r359685) +++ head/sys/cam/ctl/ctl_backend_ramdisk.c Tue Apr 7 03:19:00 2020 (r359686) @@ -1252,8 +1252,10 @@ ctl_backend_ramdisk_modify(struct ctl_be_ramdisk_softc if (params->lun_size_bytes != 0) be_lun->params.lun_size_bytes = params->lun_size_bytes; - nvlist_destroy(cbe_lun->options); - cbe_lun->options = nvlist_clone(req->args_nvl); + if (req->args_nvl != NULL) { + nvlist_destroy(cbe_lun->options); + cbe_lun->options = nvlist_clone(req->args_nvl); + } wasprim = (cbe_lun->flags & CTL_LUN_FLAG_PRIMARY); value = dnvlist_get_string(cbe_lun->options, "ha_role", NULL); From owner-svn-src-head@freebsd.org Tue Apr 7 04:45:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0A44C2A8B91 for ; Tue, 7 Apr 2020 04:45:22 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: from mail-vs1-f41.google.com (mail-vs1-f41.google.com [209.85.217.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xFFs1987z44gL for ; Tue, 7 Apr 2020 04:45:20 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: by mail-vs1-f41.google.com with SMTP id u11so1415048vsg.2 for ; Mon, 06 Apr 2020 21:45:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=7kGbUd1bcqTVwsiUpTwP0xRCThBi5Cinkr4Wsf/bdxI=; b=GSEpEa8AasPgBcI8CDidBwsFqbkeHhA2YapJxa16bBCWuRTeYga2cV2ou/Q3d972oh 3bQz0B/+dTaDD7R5d7DuRHwjaYHlGnjZpPTtKaeonJYYHh7QCnQXNHFkEEy5udJMv13x LtNBN1ZUZMyr1lQDv5SzTaQXs4p3kRKQTl7ah6SuLarLJ1h8/O+tm3CtMkRTpGjw6HKc keyNygDwEZUY0zNeJ0SAg1/L+t342b2EFR3UxQaVGcW4yqtaSg76yQ/DsoI1ZOsyFgT9 1P9BkJQskjnm13pExEePXl9l6EAqkrIJsDF1BIEcWTgPtIdYJfb4TmpRy6fDnhIDQhut v5PQ== X-Gm-Message-State: AGi0PuaXIgYZBo2N0/u+pKCmIly6QpZp5ApLl/XtaSasRa5uOmmG6m39 dCSIJaXekq0/GsvPL0SYay+UXDTwhlbYJZPthMJzUg== X-Google-Smtp-Source: APiQypKrss3yr+krGxLA+ROUaESfU+EPDITcUFqvZoKS39aiU5c7VTZxhTo8V0xW4hiXY7wgsJ+7BHwM2lTcUjgqoRM= X-Received: by 2002:a67:f8c4:: with SMTP id c4mr454118vsp.161.1586234719907; Mon, 06 Apr 2020 21:45:19 -0700 (PDT) MIME-Version: 1.0 References: <202004062338.036Nckt3022130@repo.freebsd.org> <9f2a2e90-0bb5-29b0-8b2b-c79caf6df903@FreeBSD.org> In-Reply-To: <9f2a2e90-0bb5-29b0-8b2b-c79caf6df903@FreeBSD.org> From: Maxim Sobolev Date: Mon, 6 Apr 2020 21:45:08 -0700 Message-ID: Subject: Re: svn commit: r359681 - in head: . share/mk To: Bryan Drewery Cc: Brooks Davis , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 48xFFs1987z44gL X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of sobomax@sippysoft.com designates 209.85.217.41 as permitted sender) smtp.mailfrom=sobomax@sippysoft.com X-Spamd-Result: default: False [-1.05 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.95)[-0.946,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-0.93)[-0.933,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; URI_COUNT_ODD(1.00)[19]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[41.217.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.17)[ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; FORGED_SENDER(0.30)[sobomax@freebsd.org,sobomax@sippysoft.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[41.217.85.209.rep.mailspike.net : 127.0.0.17]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[sobomax@freebsd.org,sobomax@sippysoft.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 04:45:22 -0000 This broke Jenkins builds. :( https://ci.freebsd.org/job/FreeBSD-head-armv7-build/8689/ -Max On Mon, Apr 6, 2020 at 6:49 PM Bryan Drewery wrote: > On 4/6/2020 4:38 PM, Brooks Davis wrote: > > Author: brooks > > Date: Mon Apr 6 23:38:46 2020 > > New Revision: 359681 > > URL: https://svnweb.freebsd.org/changeset/base/359681 > > > > Log: > > Fix compilation with upstream clang builtin headers. > > > > By using -nobuiltininc and adding the clang builtin headers resource > dir > > to the end of the compiler header search path, we can still find > headers > > such as immintrin.h but find the FreeBSD version of > stddef.h/stdarg.h/.. > > first. > > > > This is a workaround until we are able to settle on and complete a plan > > to harmonize guard macros with LLVM. We've mostly worked out this on > > FreeBSD systems by removing select headers from the installed set of > > devel/llvm*, but that isn't a good solution for cross build. > > > > Submitted by: arichardson > > Obtained from: CheriBSD > > Sponsored by: DARPA, AFRL > > Differential Revision: https://reviews.freebsd.org/D17002 > > > > Modified: > > head/Makefile.inc1 > > head/share/mk/bsd.compiler.mk > > head/share/mk/bsd.sys.mk > > > > Modified: head/Makefile.inc1 > > > ============================================================================== > > --- head/Makefile.inc1 Mon Apr 6 23:28:24 2020 (r359680) > > +++ head/Makefile.inc1 Mon Apr 6 23:38:46 2020 (r359681) > > @@ -337,6 +337,7 @@ _TOOLCHAIN_METADATA_VARS= COMPILER_VERSION \ > > COMPILER_TYPE \ > > COMPILER_FEATURES \ > > COMPILER_FREEBSD_VERSION \ > > + COMPILER_RESOURCE_DIR \ > > LINKER_VERSION \ > > LINKER_FEATURES \ > > LINKER_TYPE \ > > > > Modified: head/share/mk/bsd.compiler.mk > > > ============================================================================== > > --- head/share/mk/bsd.compiler.mk Mon Apr 6 23:28:24 2020 > (r359680) > > +++ head/share/mk/bsd.compiler.mk Mon Apr 6 23:38:46 2020 > (r359681) > > @@ -143,7 +143,7 @@ _cc_vars+=XCC X_ > > # The value is only used/exported for the same environment that impacts > > # CC and COMPILER_* settings here. > > _exported_vars= ${X_}COMPILER_TYPE ${X_}COMPILER_VERSION \ > > - ${X_}COMPILER_FREEBSD_VERSION > > + ${X_}COMPILER_FREEBSD_VERSION ${X_}COMPILER_RESOURCE_DIR > > ${X_}_cc_hash= ${${cc}}${MACHINE}${PATH} > > ${X_}_cc_hash:= ${${X_}_cc_hash:hash} > > # Only import if none of the vars are set somehow else. > > @@ -201,6 +201,10 @@ ${X_}COMPILER_FREEBSD_VERSION= unknown > > .endif > > .endif > > > > +.if !defined(${X_}COMPILER_RESOURCE_DIR) > > +${X_}COMPILER_RESOURCE_DIR!= ${${cc}:N${CCACHE_BIN}} > -print-resource-dir 2>/dev/null || echo unknown > > +.endif > > + > > ${X_}COMPILER_FEATURES= > > .if (${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= > 30300) || \ > > (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= > 40800) > > @@ -224,6 +228,7 @@ X_COMPILER_TYPE= ${COMPILER_TYPE} > > X_COMPILER_VERSION= ${COMPILER_VERSION} > > X_COMPILER_FREEBSD_VERSION= ${COMPILER_FREEBSD_VERSION} > > X_COMPILER_FEATURES= ${COMPILER_FEATURES} > > +X_COMPILER_RESOURCE_DIR= ${COMPILER_RESOURCE_DIR} > > .endif # ${cc} == "CC" || (${cc} == "XCC" && ${XCC} != ${CC}) > > > > # Export the values so sub-makes don't have to look them up again, > using the > > > > Modified: head/share/mk/bsd.sys.mk > > > ============================================================================== > > --- head/share/mk/bsd.sys.mk Mon Apr 6 23:28:24 2020 (r359680) > > +++ head/share/mk/bsd.sys.mk Mon Apr 6 23:38:46 2020 (r359681) > > @@ -206,6 +206,21 @@ CWARNFLAGS+= -Wno-unknown-pragmas > > # This warning is utter nonsense > > CFLAGS+= -Wno-format-zero-length > > > > +.if ${COMPILER_TYPE} == "clang" > > +# The headers provided by clang are incompatible with the FreeBSD > headers. > > +# If the version of clang is not one that has been patched to omit the > > +# incompatible headers, we need to compile with -nobuiltininc and add > the > > +# resource dir to the end of the search paths. This ensures that > headers such as > > +# immintrin.h are still found but stddef.h, etc. are picked up from > FreeBSD. > > +# > > +# XXX: This is a hack to support complete external installs of clang > while > > +# we work to synchronize our decleration guards with those in the clang > tree. > > +.if ${MK_CLANG_BOOTSTRAP} == "no" && ${COMPILER_RESOURCE_DIR} != > "unknown" && \ > > + !defined(BOOTSTRAPPING) > > I just realized MK_CLANG_BOOTSTRAP is not going to be defined here > outside of the tree. Adding :Uno will fix it. Keep in mind this current > change and the next will affect ports. It looks like by default clang > will always get these flags added on. > > > +CFLAGS+=-nobuiltininc -idirafter ${COMPILER_RESOURCE_DIR}/include > > +.endif > > +.endif > > + > > CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ > > -mllvm -simplifycfg-dup-ret > > .if ${COMPILER_VERSION} >= 30500 && ${COMPILER_VERSION} < 30700 > > > > > -- > Regards, > Bryan Drewery > > From owner-svn-src-head@freebsd.org Tue Apr 7 05:40:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 01D052AA01B; Tue, 7 Apr 2020 05:40:32 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com [209.85.160.195]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xGTW6Htfz477N; Tue, 7 Apr 2020 05:40:31 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: by mail-qt1-f195.google.com with SMTP id x16so1797127qts.11; Mon, 06 Apr 2020 22:40:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MvSuo/QfFwEwynaE95BHZDA9WCwfVpqXBcd1i9Makr0=; b=XOepkGXkUj4CFSbxyQyoOmnPzWnMF6il63zDtQkGyA341lK6CnRXp2q2AimGBCp1EE H4q/Hy4fByJj63loTaH6Ren+wOUJYigRRVc9P/4GQSDSGMgw4PIgVgeRzc7D07b4JlH9 VT6iOVChl54EqWqovaJjp+TNuqxk7dxARHEUSZ/EFpajffD4pYYOG47McDzT0fNP+Py8 6p1BPQT870jgKuDBzn0hKC35o1YcTJCpqidX55+/JJ22tUnyFPcHef08Ki+2Cu8ow6Qk 2U6/wDXOqLsUDqF8kpFyWoPayz+F86sgs9q31i2FuZCBVlgwNdt1QmzKzVetEMgqswGn JZtg== X-Gm-Message-State: AGi0Pub5mRd9nH36ou4j0TRhbKJpJToMqr9rBcq1Uk3yTk/DGfP55Ejg RQ1ASWbIT9DJQRJRgLt08rIVBsZAgIYQBJWzR9EaWy0Z X-Google-Smtp-Source: APiQypJED2QUiHjc17i43zyxxuTxsMsCNhhQ+GId87nv8ULlQKsCLT82qfVZsjNfHtEsIjbd1hkHeIixx0ww3OZ0E/E= X-Received: by 2002:ac8:24a7:: with SMTP id s36mr704755qts.357.1586238030567; Mon, 06 Apr 2020 22:40:30 -0700 (PDT) MIME-Version: 1.0 References: <202004062338.036Nckt3022130@repo.freebsd.org> In-Reply-To: <202004062338.036Nckt3022130@repo.freebsd.org> From: Antoine Brodin Date: Tue, 7 Apr 2020 07:40:19 +0200 Message-ID: Subject: Re: svn commit: r359681 - in head: . share/mk To: Brooks Davis Cc: src-committers , svn-src-all , svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48xGTW6Htfz477N X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.995,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 05:40:32 -0000 On Tue, Apr 7, 2020 at 1:38 AM Brooks Davis wrote: > > Author: brooks > Date: Mon Apr 6 23:38:46 2020 > New Revision: 359681 > URL: https://svnweb.freebsd.org/changeset/base/359681 > > Log: > Fix compilation with upstream clang builtin headers. > > By using -nobuiltininc and adding the clang builtin headers resource dir > to the end of the compiler header search path, we can still find headers > such as immintrin.h but find the FreeBSD version of stddef.h/stdarg.h/.. > first. > > This is a workaround until we are able to settle on and complete a plan > to harmonize guard macros with LLVM. We've mostly worked out this on > FreeBSD systems by removing select headers from the installed set of > devel/llvm*, but that isn't a good solution for cross build. > > Submitted by: arichardson > Obtained from: CheriBSD > Sponsored by: DARPA, AFRL > Differential Revision: https://reviews.freebsd.org/D17002 > > Modified: > head/Makefile.inc1 > head/share/mk/bsd.compiler.mk > head/share/mk/bsd.sys.mk > This breaks ports: make[1]: "/usr/share/mk/bsd.sys.mk" line 219: Malformed conditional (${MK_CLANG_BOOTSTRAP} == "no" && ${COMPILER_RESOURCE_DIR} != "unknown" && !defined(BOOTSTRAPPING)) Antoine From owner-svn-src-head@freebsd.org Tue Apr 7 09:22:49 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5F1E72B0262; Tue, 7 Apr 2020 09:22:49 +0000 (UTC) (envelope-from peter@rulingia.com) Received: from vtr.rulingia.com (vtr.rulingia.com [IPv6:2001:19f0:5801:ebe:5400:1ff:fe53:30fd]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vtr.rulingia.com", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xMPz47hKz4Lcm; Tue, 7 Apr 2020 09:22:47 +0000 (UTC) (envelope-from peter@rulingia.com) Received: from server.rulingia.com (ppp239-208.static.internode.on.net [59.167.239.208]) by vtr.rulingia.com (8.15.2/8.15.2) with ESMTPS id 0379MVP3028903 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 7 Apr 2020 19:22:37 +1000 (AEST) (envelope-from peter@rulingia.com) X-Bogosity: Ham, spamicity=0.000000 Received: from server.rulingia.com (localhost.rulingia.com [127.0.0.1]) by server.rulingia.com (8.15.2/8.15.2) with ESMTPS id 0379MQZ1090012 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 7 Apr 2020 19:22:26 +1000 (AEST) (envelope-from peter@server.rulingia.com) Received: (from peter@localhost) by server.rulingia.com (8.15.2/8.15.2/Submit) id 0379MQR2090011; Tue, 7 Apr 2020 19:22:26 +1000 (AEST) (envelope-from peter) Date: Tue, 7 Apr 2020 19:22:26 +1000 From: Peter Jeremy To: Wojciech Macek Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359647 - in head/sys: arm64/broadcom arm64/broadcom/brcmmdio conf dev/mdio Message-ID: <20200407092226.GA89740@server.rulingia.com> References: <202004060548.0365mwYZ065227@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="IJpNTDwzlM2Ie8A6" Content-Disposition: inline In-Reply-To: <202004060548.0365mwYZ065227@repo.freebsd.org> X-PGP-Key: http://www.rulingia.com/keys/peter.pgp User-Agent: Mutt/1.12.2 (2019-09-21) X-Rspamd-Queue-Id: 48xMPz47hKz4Lcm X-Spamd-Bar: ------- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of peter@rulingia.com designates 2001:19f0:5801:ebe:5400:1ff:fe53:30fd as permitted sender) smtp.mailfrom=peter@rulingia.com X-Spamd-Result: default: False [-7.49 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; DMARC_NA(0.00)[rulingia.com]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(-3.09)[ip: (-9.52), ipnet: 2001:19f0:5800::/38(-4.16), asn: 20473(-1.72), country: US(-0.05)]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:20473, ipnet:2001:19f0:5800::/38, country:US]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 09:22:49 -0000 --IJpNTDwzlM2Ie8A6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2020-Apr-06 05:48:58 +0000, Wojciech Macek wrote: >Log: > Add MDIO PHY driver for NS2 ARM64 platform. =2E.. >Modified: head/sys/conf/files.arm64 >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >--- head/sys/conf/files.arm64 Mon Apr 6 04:06:15 2020 (r359646) >+++ head/sys/conf/files.arm64 Mon Apr 6 05:48:58 2020 (r359647) >@@ -176,6 +176,9 @@ arm64/arm64/undefined.c standard > arm64/arm64/unwind.c optional ddb | kdtrace_hooks | stack > arm64/arm64/vfp.c standard > arm64/arm64/vm_machdep.c standard >+arm64/broadcom/brcmmdio/mdio_mux_iproc.c optional fdt >+arm64/broadcom/brcmmdio/mdio_nexus_iproc.c optional fdt >+arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c optional fdt pci I don't believe this is correct. These files are only relevant to a subset of Broadcom SoCs and (IMO) should not be included merely with "options FDT", rather they should be conditional on the relevant Broadcom SoCs. --=20 Peter Jeremy --IJpNTDwzlM2Ie8A6 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE2M6l8vfIeOACl4uUHZIUommfjLIFAl6MRkhfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQ4 Q0VBNUYyRjdDODc4RTAwMjk3OEI5NDFEOTIxNEEyNjk5RjhDQjIACgkQHZIUommf jLLyeg/+LSwJ+x2JUWhd1jE69GsnjKC2ZvzR794deEGgOBlOHHDM2LNrTnS3qTuq NP+sKQfJ5J36QrdmRY7oVLLvvJliBKOr6vYUvaEpV9HWxN/TuF1DwDgDD3NsacHh 9og/wZj3gU/k51AGhY3bPqiRw997vYkQlAp8VPxAk5VwkQhwbDVtwEqK8TqbEzt2 Kf4MTDmbzIhyPrUxnVsAPhGuEuISgSaHAeLfeFnN4NE6/BT6dXc80jI76f6mlvvO +HzqTJo/GEr+jciTJ+t5MiFKuVdkH+Cge1T2+r3K5K4/cTdSRYQ4RXNMEeSKnxAf FEDswInSh1XUjaUhrvzycMbs38RvDNipcmy2smQlmo495Zn3texea0Fnpb4dQemp QU3I9/Px5qdzvHuBrnwQLq+M0QW4ZnbSxZzwXE0S0DqDkCsW2kHnIf2hesKEwALS f7J/qLEJ8p7cSL5xzEFnrQfZYaPmoNz5xNzHmegTNP/4Jim6+f1mrb4rpXMIfJkw uTemKWgBuB7oxvcs5YGCXLJ1dtzpLd9oxvNeJT2Jyl4FyEpaYoaSqVuXHE3pQrJJ DuJZd2t0VI6gyUuba+kmGfMTp6KnOekVmrt8C5fc6F6K3fADbGez/yuhkXz2qkm4 77YMiPlhmYtdkg2CwWQu1hssR3AG0grrcuStgXVaK9ApsZKqNGw= =EJqe -----END PGP SIGNATURE----- --IJpNTDwzlM2Ie8A6-- From owner-svn-src-head@freebsd.org Tue Apr 7 10:37:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1981E2B26C6; Tue, 7 Apr 2020 10:37:43 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48xP4Q3q0cz4RTY; Tue, 7 Apr 2020 10:37:42 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 037AbdW6091938; Tue, 7 Apr 2020 03:37:39 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 037Abd5T091937; Tue, 7 Apr 2020 03:37:39 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004071037.037Abd5T091937@gndrsh.dnsmgr.net> Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb In-Reply-To: <202004070246.0372kNIx036216@repo.freebsd.org> To: Maxim Sobolev Date: Tue, 7 Apr 2020 03:37:39 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48xP4Q3q0cz4RTY X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.97 / 15.00]; NEURAL_HAM_MEDIUM(-0.98)[-0.975,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 10:37:43 -0000 > Author: sobomax > Date: Tue Apr 7 02:46:22 2020 > New Revision: 359685 > URL: https://svnweb.freebsd.org/changeset/base/359685 > > Log: > Normalize deployment tools usage and definitions by putting into one place > instead of sprinkling them out over many disjoint files. This is a follow-up > to achieve the same goal in an incomplete rev.348521. I have concerns that this factoring out of 5 values that have not changed in 25 years is a pessimization, it is one more file that make has to open on each invocation. > Approved by: imp > MFC after: 1 month > Differential Revision: https://reviews.freebsd.org/D20520 > > Added: > head/share/mk/src.tools.mk (contents, props changed) > Modified: > head/Makefile.inc1 > head/etc/Makefile > head/lib/libc/gen/Makefile.inc > head/share/mk/sys.mk > head/share/termcap/Makefile > head/usr.bin/login/Makefile > head/usr.bin/vgrind/Makefile > head/usr.sbin/services_mkdb/Makefile > > Modified: head/Makefile.inc1 > ============================================================================== > --- head/Makefile.inc1 Tue Apr 7 02:45:24 2020 (r359684) > +++ head/Makefile.inc1 Tue Apr 7 02:46:22 2020 (r359685) > @@ -57,6 +57,8 @@ _MKSHOWCONFIG= t > SRCDIR?= ${.CURDIR} > LOCALBASE?= /usr/local > > +.include "share/mk/src.tools.mk" > + > # Cross toolchain changes must be in effect before bsd.compiler.mk > # so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes. > .if defined(CROSS_TOOLCHAIN) > @@ -874,8 +876,8 @@ MTREEFLAGS+= -W > INSTALLFLAGS+= -h sha256 > .endif > .if defined(DB_FROM_SRC) || defined(NO_ROOT) > -IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" > -IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}" > +IMAKE_INSTALL= INSTALL="${INSTALL_CMD} ${INSTALLFLAGS}" > +IMAKE_MTREE= MTREE_CMD="${MTREE_CMD} ${MTREEFLAGS}" > .endif > > DESTDIR_MTREEFLAGS= -deU > @@ -887,12 +889,12 @@ WORLDTMP_MTREEFLAGS= -deUW > # that are created by mtree to be owned by root/wheel. > DESTDIR_MTREEFLAGS+= -W > .endif > -MTREE?= mtree > +DISTR_MTREE= ${MTREE_CMD} > .if ${BUILD_WITH_STRICT_TMPPATH} != 0 > -MTREE= ${WORLDTMP}/legacy/usr/sbin/mtree > +DISTR_MTREE= ${WORLDTMP}/legacy/usr/sbin/mtree > .endif > -WORLDTMP_MTREE= ${MTREE} ${WORLDTMP_MTREEFLAGS} > -DESTDIR_MTREE= ${MTREE} ${DESTDIR_MTREEFLAGS} > +WORLDTMP_MTREE= ${DISTR_MTREE} ${WORLDTMP_MTREEFLAGS} > +DESTDIR_MTREE= ${DISTR_MTREE} ${DESTDIR_MTREEFLAGS} > > # kernel stage > KMAKEENV= ${WMAKEENV:NSYSROOT=*} > @@ -1363,14 +1365,14 @@ distributeworld installworld stageworld: _installcheck > .endif > .endif > .if defined(NO_ROOT) > - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ > + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ > sed -e 's#^\./#./${dist}/#' >> ${METALOG} > - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ > + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ > sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} > - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ > + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ > sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} > .if defined(_LIBCOMPAT) > - ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ > + ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ > sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} > .endif > .endif > > Modified: head/etc/Makefile > ============================================================================== > --- head/etc/Makefile Tue Apr 7 02:45:24 2020 (r359684) > +++ head/etc/Makefile Tue Apr 7 02:46:22 2020 (r359685) > @@ -2,11 +2,11 @@ > # $FreeBSD$ > > .include > +.include > > FILESGROUPS= FILES > NLS_ALIASES= POSIX C \ > en_US.US_ASCII C > -PWD_MKDB_CMD?= pwd_mkdb > > # No need as it is empty and just causes rebuilds since this file does so much. > UPDATE_DEPENDFILE= no > @@ -98,8 +98,6 @@ distribution: > ${DESTDIR}/boot/device.hints > .endif > .endif > - > -MTREE_CMD?= mtree > > MTREES= mtree/BSD.root.dist / \ > mtree/BSD.var.dist /var \ > > Modified: head/lib/libc/gen/Makefile.inc > ============================================================================== > --- head/lib/libc/gen/Makefile.inc Tue Apr 7 02:45:24 2020 (r359684) > +++ head/lib/libc/gen/Makefile.inc Tue Apr 7 02:46:22 2020 (r359685) > @@ -550,11 +550,13 @@ MLINKS+=vis.3 nvis.3 \ > > MLINKS+=wordexp.3 wordfree.3 > > +.include > + > afterinstallconfig: > .if ${MK_TCSH} == "no" > sed -i "" -e 's;/bin/csh;/bin/sh;' ${DESTDIR}/etc/master.passwd > .endif > - pwd_mkdb -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd > + ${PWD_MKDB_CMD} -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd > .if defined(NO_ROOT) && defined(METALOG) > ( \ > echo "./etc/pwd.db type=file mode=0644 uname=root gname=wheel"; \ > > Added: head/share/mk/src.tools.mk > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/share/mk/src.tools.mk Tue Apr 7 02:46:22 2020 (r359685) > @@ -0,0 +1,25 @@ > +# Various tools used by the FreeBSD make installworld / distrib-dirs / > +# distribution / installkernel targets. Also called "bootstrap tools" > +# historically, however that name seemed to be ambiguous, as those tools > +# merely help distributing the OS build artefacts into staging / production > +# area. > +# > +# Very tiny subset of "itools", if you are old enough to know what it is. > +# > +# Please keep the list short, this file may and will be included from > +# many places within the source tree. Rule of thumb: if the above mentioned > +# targets survive with MYTOOL_CMD=false, then MYTOOL_CMD probably > +# does not belong here. Stick it somewhere else, thank you very much! > +# > +# $FreeBSD$ > + > +.if !target(____) > + > +INSTALL_CMD?= install > +MTREE_CMD?= mtree > +PWD_MKDB_CMD?= pwd_mkdb > +SERVICES_MKDB_CMD?= services_mkdb > +CAP_MKDB_CMD?= cap_mkdb > + > +____: > +.endif # !target(____) > > Modified: head/share/mk/sys.mk > ============================================================================== > --- head/share/mk/sys.mk Tue Apr 7 02:45:24 2020 (r359684) > +++ head/share/mk/sys.mk Tue Apr 7 02:46:22 2020 (r359685) > @@ -234,7 +234,7 @@ FFLAGS ?= -O > .endif > EFLAGS ?= > > -INSTALL ?= install > +INSTALL ?= ${INSTALL_CMD:Uinstall} > > LEX ?= lex > LFLAGS ?= > > Modified: head/share/termcap/Makefile > ============================================================================== > --- head/share/termcap/Makefile Tue Apr 7 02:45:24 2020 (r359684) > +++ head/share/termcap/Makefile Tue Apr 7 02:46:22 2020 (r359685) > @@ -14,9 +14,10 @@ CLEANFILES+= termcap.db > CONFS= termcap.small > > .include > +.include > > termcap.db: termcap > - cap_mkdb ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC} > + ${CAP_MKDB_CMD} ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC} > > etc-termcap: > ${INSTALL_SYMLINK} -T "package=runtime" \ > > Modified: head/usr.bin/login/Makefile > ============================================================================== > --- head/usr.bin/login/Makefile Tue Apr 7 02:45:24 2020 (r359684) > +++ head/usr.bin/login/Makefile Tue Apr 7 02:46:22 2020 (r359685) > @@ -2,13 +2,13 @@ > # $FreeBSD$ > > .include > +.include > > CONFS= fbtab login.conf motd.template login.access > PROG= login > SRCS= login.c login_fbtab.c > CFLAGS+=-DLOGALL > LIBADD= util pam > -CAP_MKDB_CMD?= cap_mkdb > > WARNS?= 5 > > > Modified: head/usr.bin/vgrind/Makefile > ============================================================================== > --- head/usr.bin/vgrind/Makefile Tue Apr 7 02:45:24 2020 (r359684) > +++ head/usr.bin/vgrind/Makefile Tue Apr 7 02:46:22 2020 (r359685) > @@ -19,8 +19,9 @@ SCRIPTSDIR=/usr/bin > CLEANFILES= vgrindefs.src.db > > .include > +.include > > vgrindefs.src.db: vgrindefs.src > - cap_mkdb ${CAP_MKDB_ENDIAN} -f vgrindefs.src ${.ALLSRC} > + ${CAP_MKDB_CMD} ${CAP_MKDB_ENDIAN} -f vgrindefs.src ${.ALLSRC} > > .include > > Modified: head/usr.sbin/services_mkdb/Makefile > ============================================================================== > --- head/usr.sbin/services_mkdb/Makefile Tue Apr 7 02:45:24 2020 (r359684) > +++ head/usr.sbin/services_mkdb/Makefile Tue Apr 7 02:46:22 2020 (r359685) > @@ -6,11 +6,13 @@ CONFS= services > PROG= services_mkdb > MAN= services_mkdb.8 > SRCS= services_mkdb.c uniq.c extern.h > -SERVICES_MKDB_CMD?= ${PROG} > > .include > .include > .if ${MK_SERVICESDB} != "no" > +# SERVICES_MKDB_CMD defined here > +.include > + > afterinstallconfig: > ${SERVICES_MKDB_CMD} ${CAP_MKDB_ENDIAN} -q -o ${DESTDIR}/var/db/services.db \ > ${DESTDIR}/etc/services > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Tue Apr 7 12:46:27 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 099DD2B5FAE; Tue, 7 Apr 2020 12:46:27 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xRwy6Sm4z4Zf8; Tue, 7 Apr 2020 12:46:26 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D42D59D8A; Tue, 7 Apr 2020 12:46:26 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037CkQD5003259; Tue, 7 Apr 2020 12:46:26 GMT (envelope-from luporl@FreeBSD.org) Received: (from luporl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037CkQwM003258; Tue, 7 Apr 2020 12:46:26 GMT (envelope-from luporl@FreeBSD.org) Message-Id: <202004071246.037CkQwM003258@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: luporl set sender to luporl@FreeBSD.org using -f From: Leandro Lupori Date: Tue, 7 Apr 2020 12:46:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359687 - head/stand/powerpc/ofw X-SVN-Group: head X-SVN-Commit-Author: luporl X-SVN-Commit-Paths: head/stand/powerpc/ofw X-SVN-Commit-Revision: 359687 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 12:46:27 -0000 Author: luporl Date: Tue Apr 7 12:46:26 2020 New Revision: 359687 URL: https://svnweb.freebsd.org/changeset/base/359687 Log: [PPC] Fix loader call to instantiate-rtas OpenFirmware (OF) method instantiate-rtas was being called with a wrong rtas-base-address argument. It must use the memory that is already being allocated to this end instead. This issue was causing QEMU netboot to hang when building the FDT from OF DT. Reviewed by: jhibbits Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D24313 Modified: head/stand/powerpc/ofw/ofwfdt.c Modified: head/stand/powerpc/ofw/ofwfdt.c ============================================================================== --- head/stand/powerpc/ofw/ofwfdt.c Tue Apr 7 03:19:00 2020 (r359686) +++ head/stand/powerpc/ofw/ofwfdt.c Tue Apr 7 12:46:26 2020 (r359687) @@ -120,7 +120,7 @@ ofwfdt_fixups(void *fdtp) /* Instantiate RTAS */ rtas = OF_open(path); base = 0; - OF_call_method("instantiate-rtas", rtas, 1, 1, (cell_t)rtas, + OF_call_method("instantiate-rtas", rtas, 1, 1, (cell_t)rtasmem, &base); /* Store info to FDT using Linux convention */ From owner-svn-src-head@freebsd.org Tue Apr 7 12:57:51 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B8FCB2B62E4; Tue, 7 Apr 2020 12:57:51 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xSB74VGPz4b7P; Tue, 7 Apr 2020 12:57:51 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 90FE99F8C; Tue, 7 Apr 2020 12:57:51 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037CvpAd009545; Tue, 7 Apr 2020 12:57:51 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037Cvp6a009543; Tue, 7 Apr 2020 12:57:51 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004071257.037Cvp6a009543@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 7 Apr 2020 12:57:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359688 - in head/stand: mips/beri/loader powerpc/ofw uboot/lib X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/stand: mips/beri/loader powerpc/ofw uboot/lib X-SVN-Commit-Revision: 359688 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 12:57:51 -0000 Author: kevans Date: Tue Apr 7 12:57:50 2020 New Revision: 359688 URL: https://svnweb.freebsd.org/changeset/base/359688 Log: stand: -fno-common fixes for !x86 loaders - beriloader: archsw is declared extern and defined elsewhere - ofwloader: ofw_elf{,64} are defined in elf_freebsd.c and ppc64_elf_freebsd.c respectively - ubldr: syscall_ptr is defined in start.S for whichever ubldr platform is building -fno-common will become the default in GCC10/LLVM11. MFC after: 3 days Modified: head/stand/mips/beri/loader/main.c head/stand/powerpc/ofw/conf.c head/stand/uboot/lib/glue.h Modified: head/stand/mips/beri/loader/main.c ============================================================================== --- head/stand/mips/beri/loader/main.c Tue Apr 7 12:46:26 2020 (r359687) +++ head/stand/mips/beri/loader/main.c Tue Apr 7 12:57:50 2020 (r359688) @@ -59,8 +59,6 @@ struct devsw *devsw[] = { NULL }; -struct arch_switch archsw; - struct file_format *file_formats[] = { &beri_elf, NULL Modified: head/stand/powerpc/ofw/conf.c ============================================================================== --- head/stand/powerpc/ofw/conf.c Tue Apr 7 12:46:26 2020 (r359687) +++ head/stand/powerpc/ofw/conf.c Tue Apr 7 12:57:50 2020 (r359688) @@ -97,8 +97,8 @@ struct netif_driver *netif_drivers[] = { * rather than reading the file go first. */ -struct file_format ofw_elf; -struct file_format ofw_elf64; +extern struct file_format ofw_elf; +extern struct file_format ofw_elf64; struct file_format *file_formats[] = { &ofw_elf, Modified: head/stand/uboot/lib/glue.h ============================================================================== --- head/stand/uboot/lib/glue.h Tue Apr 7 12:46:26 2020 (r359687) +++ head/stand/uboot/lib/glue.h Tue Apr 7 12:57:50 2020 (r359688) @@ -56,7 +56,7 @@ #endif int syscall(int, int *, ...); -void *syscall_ptr; +extern void *syscall_ptr; int api_parse_cmdline_sig(int argc, char **argv, struct api_signature **sig); int api_search_sig(struct api_signature **sig); From owner-svn-src-head@freebsd.org Tue Apr 7 14:14:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E37732B7C26; Tue, 7 Apr 2020 14:14:59 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xTv75pnZz4gDW; Tue, 7 Apr 2020 14:14:59 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C27E8AF1E; Tue, 7 Apr 2020 14:14:59 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037EExoR057794; Tue, 7 Apr 2020 14:14:59 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037EEx5Q057793; Tue, 7 Apr 2020 14:14:59 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004071414.037EEx5Q057793@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 7 Apr 2020 14:14:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359689 - head/usr.sbin/config X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/usr.sbin/config X-SVN-Commit-Revision: 359689 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 14:15:00 -0000 Author: kevans Date: Tue Apr 7 14:14:59 2020 New Revision: 359689 URL: https://svnweb.freebsd.org/changeset/base/359689 Log: config(8): "fix" a couple of buffer overflows Recently added/changed lines in various kernel configs have caused some buffer overflows that went undetected. These were detected with a config built using -fno-common as these line buffers smashed one of our arrays, then further triaged with ASAN. Double the sizes; this is really not a great fix, but addresses the immediate need until someone rewrites config. While here, add some bounds checking so that we don't need to detect this by random bus errors or other weird failures. MFC after: 3 days Modified: head/usr.sbin/config/main.c Modified: head/usr.sbin/config/main.c ============================================================================== --- head/usr.sbin/config/main.c Tue Apr 7 12:57:50 2020 (r359688) +++ head/usr.sbin/config/main.c Tue Apr 7 14:14:59 2020 (r359689) @@ -322,7 +322,7 @@ usage(void) char * get_word(FILE *fp) { - static char line[80]; + static char line[160]; int ch; char *cp; int escaped_nl = 0; @@ -352,11 +352,17 @@ begin: *cp = 0; return (line); } - while ((ch = getc(fp)) != EOF) { + while ((ch = getc(fp)) != EOF && cp < line + sizeof(line)) { if (isspace(ch)) break; *cp++ = ch; } + if (cp >= line + sizeof(line)) { + line[sizeof(line) - 1] = '\0'; + fprintf(stderr, "config: attempted overflow, partial line: `%s'", + line); + exit(2); + } *cp = 0; if (ch == EOF) return ((char *)EOF); @@ -372,7 +378,7 @@ begin: char * get_quoted_word(FILE *fp) { - static char line[256]; + static char line[512]; int ch; char *cp; int escaped_nl = 0; @@ -415,15 +421,29 @@ begin: } if (ch != quote && escaped_nl) *cp++ = '\\'; + if (cp >= line + sizeof(line)) { + line[sizeof(line) - 1] = '\0'; + printf( + "config: line buffer overflow reading partial line `%s'\n", + line); + exit(2); + } *cp++ = ch; escaped_nl = 0; } } else { *cp++ = ch; - while ((ch = getc(fp)) != EOF) { + while ((ch = getc(fp)) != EOF && cp < line + sizeof(line)) { if (isspace(ch)) break; *cp++ = ch; + } + if (cp >= line + sizeof(line)) { + line[sizeof(line) - 1] = '\0'; + printf( + "config: line buffer overflow reading partial line `%s'\n", + line); + exit(2); } if (ch != EOF) (void) ungetc(ch, fp); From owner-svn-src-head@freebsd.org Tue Apr 7 15:10:04 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E74F2271E94; Tue, 7 Apr 2020 15:10:04 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xW6h5glcz3JZv; Tue, 7 Apr 2020 15:10:04 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BDFD6B8E6; Tue, 7 Apr 2020 15:10:04 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037FA4v4092795; Tue, 7 Apr 2020 15:10:04 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037FA402092794; Tue, 7 Apr 2020 15:10:04 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004071510.037FA402092794@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 7 Apr 2020 15:10:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359690 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359690 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 15:10:05 -0000 Author: kevans Date: Tue Apr 7 15:10:04 2020 New Revision: 359690 URL: https://svnweb.freebsd.org/changeset/base/359690 Log: Fix port/kernel builds after r359681 Submitted by: bdrewery Reported by: bdrewery, sobomax, antoine Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Tue Apr 7 14:14:59 2020 (r359689) +++ head/share/mk/bsd.sys.mk Tue Apr 7 15:10:04 2020 (r359690) @@ -215,8 +215,8 @@ CFLAGS+= -Wno-format-zero-length # # XXX: This is a hack to support complete external installs of clang while # we work to synchronize our decleration guards with those in the clang tree. -.if ${MK_CLANG_BOOTSTRAP} == "no" && ${COMPILER_RESOURCE_DIR} != "unknown" && \ - !defined(BOOTSTRAPPING) +.if ${MK_CLANG_BOOTSTRAP:Uno} == "no" && \ + ${COMPILER_RESOURCE_DIR} != "unknown" && !defined(BOOTSTRAPPING) CFLAGS+=-nobuiltininc -idirafter ${COMPILER_RESOURCE_DIR}/include .endif .endif From owner-svn-src-head@freebsd.org Tue Apr 7 15:32:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E0F5F27272D; Tue, 7 Apr 2020 15:32:08 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xWc85jLlz3KjY; Tue, 7 Apr 2020 15:32:08 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BF4B9BEEE; Tue, 7 Apr 2020 15:32:08 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037FW8VH009205; Tue, 7 Apr 2020 15:32:08 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037FW8UD009204; Tue, 7 Apr 2020 15:32:08 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004071532.037FW8UD009204@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 7 Apr 2020 15:32:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359691 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 359691 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 15:32:08 -0000 Author: brooks Date: Tue Apr 7 15:32:08 2020 New Revision: 359691 URL: https://svnweb.freebsd.org/changeset/base/359691 Log: Allow the kernel to build with a compiler that sets -fno-common. The mechanism that generates assym.inc and offset.inc depends on the symbols in question being common. For now, simply force the object files to be created with -fcommon. -fno-common will be the default in GCC10/LLVM11. Submitted by: arichardson Reviewed by: kevans Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24322 Modified: head/sys/conf/kern.post.mk Modified: head/sys/conf/kern.post.mk ============================================================================== --- head/sys/conf/kern.post.mk Tue Apr 7 15:10:04 2020 (r359690) +++ head/sys/conf/kern.post.mk Tue Apr 7 15:32:08 2020 (r359691) @@ -235,20 +235,20 @@ offset.inc: $S/kern/genoffset.sh genoffset.o NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genoffset.sh genoffset.o > ${.TARGET} genoffset.o: $S/kern/genoffset.c - ${CC} -c ${CFLAGS:N-flto:N-fno-common} $S/kern/genoffset.c + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon $S/kern/genoffset.c # genoffset_test.o is not actually used for anything - the point of compiling it # is to exercise the CTASSERT that checks that the offsets in the offset.inc # _lite struct(s) match those in the original(s). genoffset_test.o: $S/kern/genoffset.c offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} -DOFFSET_TEST \ + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon -DOFFSET_TEST \ $S/kern/genoffset.c -o ${.TARGET} assym.inc: $S/kern/genassym.sh genassym.o genoffset_test.o NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET} genassym.o: $S/$M/$M/genassym.c offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} $S/$M/$M/genassym.c + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon $S/$M/$M/genassym.c OBJS_DEPEND_GUESS+= opt_global.h genoffset.o genassym.o vers.o: opt_global.h From owner-svn-src-head@freebsd.org Tue Apr 7 15:48:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD937272C18; Tue, 7 Apr 2020 15:48:22 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (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 48xWyt5Zb1z3LT5; Tue, 7 Apr 2020 15:48:22 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id E81823C0199; Tue, 7 Apr 2020 15:48:15 +0000 (UTC) Date: Tue, 7 Apr 2020 15:48:15 +0000 From: Brooks Davis To: Kyle Evans Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359690 - head/share/mk Message-ID: <20200407154815.GA72584@spindle.one-eyed-alien.net> References: <202004071510.037FA402092794@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="2oS5YaxWCcQjTEyO" Content-Disposition: inline In-Reply-To: <202004071510.037FA402092794@repo.freebsd.org> User-Agent: Mutt/1.9.4 (2018-02-28) X-Rspamd-Queue-Id: 48xWyt5Zb1z3LT5 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 15:48:22 -0000 --2oS5YaxWCcQjTEyO Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 07, 2020 at 03:10:04PM +0000, Kyle Evans wrote: > Author: kevans > Date: Tue Apr 7 15:10:04 2020 > New Revision: 359690 > URL: https://svnweb.freebsd.org/changeset/base/359690 >=20 > Log: > Fix port/kernel builds after r359681 > =20 > Submitted by: bdrewery > Reported by: bdrewery, sobomax, antoine >=20 > Modified: > head/share/mk/bsd.sys.mk Thanks! -- Brooks --2oS5YaxWCcQjTEyO Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJejKC/AAoJEKzQXbSebgfAUAEIAIpVEUBH8ABSfNyyXCld+KxM 7ITrmxqOyiXOe5OqZAEuwFk32Qha0DbSP6OejoI59tC2Z45DDT8nARtnTNDtWSNA 1rYbmPUitPflohuqc6JFKYHEZFi65Mw63uV7GvzqEJgmX0CVXEwA0ZEAkqIwdTQp ltdnXtH3ARn9r20EvVyn4AlF0tBZTp4Ph9XKxSEaRfyi8GbepKItQGuGsxU/wI9F 6uzSzVPxEBt7pn3Qittret0VcsSpDEYmZsj1HBZzcO2vxu48uRwimqwaXNjlhWRJ vYx1SgiBGK0dhjcvD3fZKYW2cFH5N8gBAZJ34bh5vnnQCd0wSpnaLLwpBiNaLrQ= =kDfH -----END PGP SIGNATURE----- --2oS5YaxWCcQjTEyO-- From owner-svn-src-head@freebsd.org Tue Apr 7 16:40:42 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D6ECF274A50; Tue, 7 Apr 2020 16:40:42 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xY7G5Nnqz3Px6; Tue, 7 Apr 2020 16:40:42 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B4327CBE0; Tue, 7 Apr 2020 16:40:42 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037Gegaq048349; Tue, 7 Apr 2020 16:40:42 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037GeftS048343; Tue, 7 Apr 2020 16:40:41 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004071640.037GeftS048343@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Tue, 7 Apr 2020 16:40:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359696 - in head/lib/libcasper/services: cap_dns cap_fileargs cap_grp cap_pwd cap_sysctl cap_syslog X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: in head/lib/libcasper/services: cap_dns cap_fileargs cap_grp cap_pwd cap_sysctl cap_syslog X-SVN-Commit-Revision: 359696 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 16:40:42 -0000 Author: cem Date: Tue Apr 7 16:40:41 2020 New Revision: 359696 URL: https://svnweb.freebsd.org/changeset/base/359696 Log: libcasper(3): Export functions to C++ We must wrap C declarations in __BEGIN / __END_DECLS to avoid C++ name-mangling of the declaration when including the C header; name-mangling causes the linker to attempt to locate the wrong (C++ ABI) symbol name. Reviewed by: markj, oshogbo (earlier version both) Differential Revision: https://reviews.freebsd.org/D24323 Modified: head/lib/libcasper/services/cap_dns/cap_dns.h head/lib/libcasper/services/cap_fileargs/cap_fileargs.h head/lib/libcasper/services/cap_grp/cap_grp.h head/lib/libcasper/services/cap_pwd/cap_pwd.h head/lib/libcasper/services/cap_sysctl/cap_sysctl.h head/lib/libcasper/services/cap_syslog/cap_syslog.h Modified: head/lib/libcasper/services/cap_dns/cap_dns.h ============================================================================== --- head/lib/libcasper/services/cap_dns/cap_dns.h Tue Apr 7 16:29:11 2020 (r359695) +++ head/lib/libcasper/services/cap_dns/cap_dns.h Tue Apr 7 16:40:41 2020 (r359696) @@ -36,12 +36,15 @@ #define WITH_CASPER #endif +#include #include /* socklen_t */ struct addrinfo; struct hostent; #ifdef WITH_CASPER +__BEGIN_DECLS + struct hostent *cap_gethostbyname(cap_channel_t *chan, const char *name); struct hostent *cap_gethostbyname2(cap_channel_t *chan, const char *name, int type); @@ -58,6 +61,8 @@ int cap_dns_type_limit(cap_channel_t *chan, const char size_t ntypes); int cap_dns_family_limit(cap_channel_t *chan, const int *families, size_t nfamilies); + +__END_DECLS #else #define cap_gethostbyname(chan, name) gethostbyname(name) #define cap_gethostbyname2(chan, name, type) gethostbyname2(name, type) Modified: head/lib/libcasper/services/cap_fileargs/cap_fileargs.h ============================================================================== --- head/lib/libcasper/services/cap_fileargs/cap_fileargs.h Tue Apr 7 16:29:11 2020 (r359695) +++ head/lib/libcasper/services/cap_fileargs/cap_fileargs.h Tue Apr 7 16:40:41 2020 (r359696) @@ -31,6 +31,7 @@ #ifndef _FILEARGS_H_ #define _FILEARGS_H_ +#include #include #include @@ -44,6 +45,8 @@ struct fileargs; typedef struct fileargs fileargs_t; struct stat; +__BEGIN_DECLS + fileargs_t *fileargs_init(int argc, char *argv[], int flags, mode_t mode, cap_rights_t *rightsp, int operations); fileargs_t *fileargs_cinit(cap_channel_t *cas, int argc, char *argv[], @@ -57,6 +60,9 @@ FILE *fileargs_fopen(fileargs_t *fa, const char *name, fileargs_t *fileargs_wrap(cap_channel_t *chan, int fdflags); cap_channel_t *fileargs_unwrap(fileargs_t *fa, int *fdflags); + +__END_DECLS + #else typedef struct fileargs { int fa_flags; Modified: head/lib/libcasper/services/cap_grp/cap_grp.h ============================================================================== --- head/lib/libcasper/services/cap_grp/cap_grp.h Tue Apr 7 16:29:11 2020 (r359695) +++ head/lib/libcasper/services/cap_grp/cap_grp.h Tue Apr 7 16:40:41 2020 (r359696) @@ -36,7 +36,11 @@ #define WITH_CASPER #endif +#include + #ifdef WITH_CASPER +__BEGIN_DECLS + struct group *cap_getgrent(cap_channel_t *chan); struct group *cap_getgrnam(cap_channel_t *chan, const char *name); struct group *cap_getgrgid(cap_channel_t *chan, gid_t gid); @@ -58,6 +62,9 @@ int cap_grp_limit_fields(cap_channel_t *chan, const ch size_t nfields); int cap_grp_limit_groups(cap_channel_t *chan, const char * const *names, size_t nnames, const gid_t *gids, size_t ngids); + +__END_DECLS + #else #define cap_getgrent(chan) getgrent() #define cap_getgrnam(chan, name) getgrnam(name) Modified: head/lib/libcasper/services/cap_pwd/cap_pwd.h ============================================================================== --- head/lib/libcasper/services/cap_pwd/cap_pwd.h Tue Apr 7 16:29:11 2020 (r359695) +++ head/lib/libcasper/services/cap_pwd/cap_pwd.h Tue Apr 7 16:40:41 2020 (r359696) @@ -36,7 +36,11 @@ #define WITH_CASPER #endif +#include + #ifdef WITH_CASPER +__BEGIN_DECLS + struct passwd *cap_getpwent(cap_channel_t *chan); struct passwd *cap_getpwnam(cap_channel_t *chan, const char *login); struct passwd *cap_getpwuid(cap_channel_t *chan, uid_t uid); @@ -58,6 +62,9 @@ int cap_pwd_limit_fields(cap_channel_t *chan, const ch size_t nfields); int cap_pwd_limit_users(cap_channel_t *chan, const char * const *names, size_t nnames, uid_t *uids, size_t nuids); + +__END_DECLS + #else #define cap_getpwent(chan) getpwent() #define cap_getpwnam(chan, login) getpwnam(login) Modified: head/lib/libcasper/services/cap_sysctl/cap_sysctl.h ============================================================================== --- head/lib/libcasper/services/cap_sysctl/cap_sysctl.h Tue Apr 7 16:29:11 2020 (r359695) +++ head/lib/libcasper/services/cap_sysctl/cap_sysctl.h Tue Apr 7 16:40:41 2020 (r359696) @@ -36,12 +36,16 @@ #define WITH_CASPER #endif +#include + #ifdef WITH_CASPER #define CAP_SYSCTL_READ 0x01 #define CAP_SYSCTL_WRITE 0x02 #define CAP_SYSCTL_RDWR (CAP_SYSCTL_READ | CAP_SYSCTL_WRITE) #define CAP_SYSCTL_RECURSIVE 0x04 +__BEGIN_DECLS + int cap_sysctl(cap_channel_t *chan, const int *name, u_int namelen, void *oldp, size_t *oldlenp, const void *newp, size_t newlen); int cap_sysctlbyname(cap_channel_t *chan, const char *name, void *oldp, @@ -58,6 +62,9 @@ cap_sysctl_limit_t *cap_sysctl_limit_name(cap_sysctl_l cap_sysctl_limit_t *cap_sysctl_limit_mib(cap_sysctl_limit_t *limit, const int *mibp, u_int miblen, int flags); int cap_sysctl_limit(cap_sysctl_limit_t *limit); + +__END_DECLS + #else /* !WITH_CASPER */ #define cap_sysctl(chan, name, namelen, oldp, oldlenp, newp, newlen) \ sysctl((name), (namelen), (oldp), (oldlenp), (newp), (newlen)) Modified: head/lib/libcasper/services/cap_syslog/cap_syslog.h ============================================================================== --- head/lib/libcasper/services/cap_syslog/cap_syslog.h Tue Apr 7 16:29:11 2020 (r359695) +++ head/lib/libcasper/services/cap_syslog/cap_syslog.h Tue Apr 7 16:40:41 2020 (r359696) @@ -29,7 +29,11 @@ #ifndef _CAP_SYSLOG_H_ #define _CAP_SYSLOG_H_ +#include + #ifdef WITH_CASPER +__BEGIN_DECLS + void cap_syslog(cap_channel_t *chan, int pri, const char *fmt, ...) __printflike(3, 4); void cap_vsyslog(cap_channel_t *chan, int priority, const char *fmt, @@ -40,6 +44,9 @@ void cap_openlog(cap_channel_t *chan, const char *iden void cap_closelog(cap_channel_t *chan); int cap_setlogmask(cap_channel_t *chan, int maskpri); + +__END_DECLS + #else #define cap_syslog(chan, pri, ...) syslog(pri, __VA_ARGS__) #define cap_vsyslog(chan, pri, fmt, ap) vsyslog(pri, fmt, ap) From owner-svn-src-head@freebsd.org Tue Apr 7 16:56:35 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4F4B927533D; Tue, 7 Apr 2020 16:56:35 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xYTb1QhKz3RDB; Tue, 7 Apr 2020 16:56:35 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 12462CFE0; Tue, 7 Apr 2020 16:56:35 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037GuY0i060066; Tue, 7 Apr 2020 16:56:34 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037GuYE7060063; Tue, 7 Apr 2020 16:56:34 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <202004071656.037GuYE7060063@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Tue, 7 Apr 2020 16:56:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359700 - in head: lib/libsecureboot stand/libsa X-SVN-Group: head X-SVN-Commit-Author: sjg X-SVN-Commit-Paths: in head: lib/libsecureboot stand/libsa X-SVN-Commit-Revision: 359700 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 16:56:35 -0000 Author: sjg Date: Tue Apr 7 16:56:34 2020 New Revision: 359700 URL: https://svnweb.freebsd.org/changeset/base/359700 Log: Improve interaction of vectx and tftp On slow platforms, it helps to spread the hashing load over time so that tftp does not timeout. Also, some .4th files are too big to fit in cache of pkgfs, so increase cache size and ensure fully populated. Reviewed by: stevek MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D24287 Modified: head/lib/libsecureboot/vectx.c head/stand/libsa/pkgfs.c head/stand/libsa/tftp.c Modified: head/lib/libsecureboot/vectx.c ============================================================================== --- head/lib/libsecureboot/vectx.c Tue Apr 7 16:52:45 2020 (r359699) +++ head/lib/libsecureboot/vectx.c Tue Apr 7 16:56:34 2020 (r359700) @@ -211,6 +211,7 @@ ssize_t vectx_read(struct vectx *ctx, void *buf, size_t nbytes) { unsigned char *bp = buf; + int d; int n; int delta; int x; @@ -221,23 +222,30 @@ vectx_read(struct vectx *ctx, void *buf, size_t nbytes off = 0; do { - n = read(ctx->vec_fd, &bp[off], nbytes - off); - if (n < 0) + /* + * Do this in reasonable chunks so + * we don't timeout if doing tftp + */ + x = nbytes - off; + x = MIN(PAGE_SIZE, x); + d = n = read(ctx->vec_fd, &bp[off], x); + if (n < 0) { return (n); - if (n > 0) { + } + if (d > 0) { /* we may have seeked backwards! */ delta = ctx->vec_hashed - ctx->vec_off; if (delta > 0) { - x = MIN(delta, n); + x = MIN(delta, d); off += x; - n -= x; + d -= x; ctx->vec_off += x; } - if (n > 0) { - ctx->vec_md->update(&ctx->vec_ctx.vtable, &bp[off], n); - off += n; - ctx->vec_off += n; - ctx->vec_hashed += n; + if (d > 0) { + ctx->vec_md->update(&ctx->vec_ctx.vtable, &bp[off], d); + off += d; + ctx->vec_off += d; + ctx->vec_hashed += d; } } } while (n > 0 && off < nbytes); Modified: head/stand/libsa/pkgfs.c ============================================================================== --- head/stand/libsa/pkgfs.c Tue Apr 7 16:52:45 2020 (r359699) +++ head/stand/libsa/pkgfs.c Tue Apr 7 16:56:34 2020 (r359700) @@ -60,7 +60,7 @@ struct fs_ops pkgfs_fsops = { }; #define PKG_BUFSIZE 512 -#define PKG_MAXCACHESZ 16384 +#define PKG_MAXCACHESZ (16384 * 3) #define PKG_FILEEXT ".tgz" @@ -132,6 +132,7 @@ struct package static struct package *package = NULL; static int new_package(int, struct package **); +static int cache_data(struct tarfile *tf, int); void pkgfs_cleanup(void) @@ -282,6 +283,9 @@ pkg_read(struct open_file *f, void *buf, size_t size, return (EBADF); } + if (tf->tf_cachesz == 0) + cache_data(tf, 1); + fp = tf->tf_fp; p = buf; sz = 0; @@ -311,16 +315,6 @@ pkg_read(struct open_file *f, void *buf, size_t size, fp += sz; p += sz; size -= sz; - - if (tf->tf_cachesz != 0) - continue; - - tf->tf_cachesz = (sz <= PKG_MAXCACHESZ) ? sz : PKG_MAXCACHESZ; - tf->tf_cache = malloc(tf->tf_cachesz); - if (tf->tf_cache != NULL) - memcpy(tf->tf_cache, buf, tf->tf_cachesz); - else - tf->tf_cachesz = 0; } tf->tf_fp = fp; @@ -484,8 +478,20 @@ get_zipped(struct package *pkg, void *buf, size_t bufs return (0); } +/** + * @brief + * cache data of a tarfile + * + * @param[in] tf + * tarfile pointer + * + * @param[in] force + * If file size > PKG_MAXCACHESZ, cache that much + * + * @return 0, -1 (errno set to error value) + */ static int -cache_data(struct tarfile *tf) +cache_data(struct tarfile *tf, int force) { struct package *pkg; size_t sz; @@ -503,21 +509,28 @@ cache_data(struct tarfile *tf) return (-1); } + if (tf->tf_cachesz > 0) { + DBG(("%s: data already cached\n", __func__)); + errno = EINVAL; + return (-1); + } + if (tf->tf_ofs != pkg->pkg_ofs) { - DBG(("%s: caching after partial read of file %s?\n", + DBG(("%s: caching after force read of file %s?\n", __func__, tf->tf_hdr.ut_name)); errno = EINVAL; return (-1); } /* We don't cache everything... */ - if (tf->tf_size > PKG_MAXCACHESZ) { - errno = ENOMEM; + if (tf->tf_size > PKG_MAXCACHESZ && !force) { + errno = ENOBUFS; return (-1); } + sz = tf->tf_size < PKG_MAXCACHESZ ? tf->tf_size : PKG_MAXCACHESZ; /* All files are padded to a multiple of 512 bytes. */ - sz = (tf->tf_size + 0x1ff) & ~0x1ff; + sz = (sz + 0x1ff) & ~0x1ff; tf->tf_cache = malloc(sz); if (tf->tf_cache == NULL) { @@ -741,7 +754,7 @@ scan_tarfile(struct package *pkg, struct tarfile *last if (ofs != pkg->pkg_ofs) { if (last != NULL && pkg->pkg_ofs == last->tf_ofs) { - if (cache_data(last) == -1) + if (cache_data(last, 0) == -1) return (NULL); } else { sz = ofs - pkg->pkg_ofs; Modified: head/stand/libsa/tftp.c ============================================================================== --- head/stand/libsa/tftp.c Tue Apr 7 16:52:45 2020 (r359699) +++ head/stand/libsa/tftp.c Tue Apr 7 16:56:34 2020 (r359700) @@ -100,11 +100,13 @@ static int is_open = 0; * Jumbo frames in the future. */ #define TFTP_MAX_BLKSIZE 9008 +#define TFTP_TRIES 2 struct tftp_handle { struct iodesc *iodesc; int currblock; /* contents of lastdata */ - int islastblock; /* flag */ + int islastblock:1; /* flag */ + int tries:4; /* number of read attempts */ int validsize; int off; char *path; /* saved for re-requests */ @@ -530,7 +532,12 @@ tftp_read(struct open_file *f, void *addr, size_t size #ifdef TFTP_DEBUG printf("tftp: read error\n"); #endif - return (rc); + if (tftpfile->tries > TFTP_TRIES) { + return (rc); + } else { + tftpfile->tries++; + tftp_makereq(tftpfile); + } } if (tftpfile->islastblock) break; From owner-svn-src-head@freebsd.org Tue Apr 7 17:04:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 92EAA275CEE; Tue, 7 Apr 2020 17:04:25 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xYfd3J61z3xJG; Tue, 7 Apr 2020 17:04:25 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C35BD1CB; Tue, 7 Apr 2020 17:04:25 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037H4PIs066174; Tue, 7 Apr 2020 17:04:25 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037H4Oko066171; Tue, 7 Apr 2020 17:04:24 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004071704.037H4Oko066171@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 7 Apr 2020 17:04:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359702 - in head: share/mk sys/conf X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: share/mk sys/conf X-SVN-Commit-Revision: 359702 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 17:04:25 -0000 Author: kevans Date: Tue Apr 7 17:04:24 2020 New Revision: 359702 URL: https://svnweb.freebsd.org/changeset/base/359702 Log: Add -fno-common to all userland/kernel src builds -fno-common will become the default in GCC10/LLVM11. Plenty of work has been put in to make sure our world builds are no -fno-common clean, so let's slap the build with this until it becomes the compiler default to ensure we don't regress. At this time, we will not be enforcing -fno-common on ports builds. I suspect most ports will be or quickly become -fno-common clean as they're naturally built against compilers that default to it, so this will hopefully become a non-issue in due time. The exception to this, which is actually the status quo, is that kmods built from ports will continue to build with -fno-common. As of the time of writing, I intend to also make stable/12 -fno-common clean. What's been done will be MFC'd to stable/11 if it's easily applicable and/or not much work to massage it into being functional, but I anticipate adding -fcommon to stable/11 builds to maintain its ability to be built with newer compilers for the rest of its lifetime instead of putting in a third branch's worth of effort. Modified: head/share/mk/src.sys.mk head/sys/conf/kern.pre.mk head/sys/conf/kmod.mk Modified: head/share/mk/src.sys.mk ============================================================================== --- head/share/mk/src.sys.mk Tue Apr 7 16:57:23 2020 (r359701) +++ head/share/mk/src.sys.mk Tue Apr 7 17:04:24 2020 (r359702) @@ -34,6 +34,11 @@ __postrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}: .endif # SRCCONF .endif +# The following should be removed no earlier than LLVM11 being imported into the +# tree, to ensure we don't regress the build. LLVM11 and GCC10 will switch the +# default over to -fno-common, making this redundant. +CFLAGS+= -fno-common + # tempting, but bsd.compiler.mk causes problems this early # probably need to remove dependence on bsd.own.mk #.include "src.opts.mk" Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Tue Apr 7 16:57:23 2020 (r359701) +++ head/sys/conf/kern.pre.mk Tue Apr 7 17:04:24 2020 (r359702) @@ -86,7 +86,7 @@ CFLAGS_PARAM_LARGE_FUNCTION_GROWTH?=1000 .if ${MACHINE_CPUARCH} == "mips" CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000 -DMACHINE_ARCH='"${MACHINE_ARCH}"' .endif -CFLAGS.gcc+= -fno-common -fms-extensions -finline-limit=${INLINE_LIMIT} +CFLAGS.gcc+= -fms-extensions -finline-limit=${INLINE_LIMIT} CFLAGS.gcc+= --param inline-unit-growth=${CFLAGS_PARAM_INLINE_UNIT_GROWTH} CFLAGS.gcc+= --param large-function-growth=${CFLAGS_PARAM_LARGE_FUNCTION_GROWTH} CFLAGS.gcc+= -fms-extensions @@ -98,6 +98,10 @@ WERROR?= -Wno-error .else WERROR?= -Werror .endif +# The following should be removed no earlier than LLVM11 being imported into the +# tree, to ensure we don't regress the build. LLVM11 and GCC10 will switch the +# default over to -fno-common, making this redundant. +CFLAGS+= -fno-common # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} ${ASM_CFLAGS.${.IMPSRC:T}} Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Tue Apr 7 16:57:23 2020 (r359701) +++ head/sys/conf/kmod.mk Tue Apr 7 17:04:24 2020 (r359702) @@ -133,6 +133,13 @@ CFLAGS.gcc+= --param large-function-growth=1000 # Disallow common variables, and if we end up with commons from # somewhere unexpected, allocate storage for them in the module itself. +# +# -fno-common is the default for src builds, but this should be left in place +# until at least we catch up to GCC10/LLVM11 or otherwise enable -fno-common +# in instead. For now, we will have duplicate -fno-common in +# CFLAGS for in-tree module builds as they will also pick it up from +# share/mk/src.sys.mk, but the following is important for out-of-tree modules +# (e.g. ports). CFLAGS+= -fno-common LDFLAGS+= -d -warn-common From owner-svn-src-head@freebsd.org Tue Apr 7 17:06:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D0053275E38; Tue, 7 Apr 2020 17:06:34 +0000 (UTC) (envelope-from afedorov@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xYj65BL8z3xY7; Tue, 7 Apr 2020 17:06:34 +0000 (UTC) (envelope-from afedorov@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AD4C4D1CD; Tue, 7 Apr 2020 17:06:34 +0000 (UTC) (envelope-from afedorov@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037H6YFa066371; Tue, 7 Apr 2020 17:06:34 GMT (envelope-from afedorov@FreeBSD.org) Received: (from afedorov@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037H6XRi066367; Tue, 7 Apr 2020 17:06:33 GMT (envelope-from afedorov@FreeBSD.org) Message-Id: <202004071706.037H6XRi066367@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: afedorov set sender to afedorov@FreeBSD.org using -f From: Aleksandr Fedorov Date: Tue, 7 Apr 2020 17:06:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359704 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: afedorov X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359704 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 17:06:34 -0000 Author: afedorov Date: Tue Apr 7 17:06:33 2020 New Revision: 359704 URL: https://svnweb.freebsd.org/changeset/base/359704 Log: Add VIRTIO_NET_F_MTU flag support for the bhyve virtio-net device. The flag can be enabled using the new 'mtu' option: bhyve -s X:Y:Z,virtio-net,[tapN|valeX:N],mtu=9000 Reported by: vmaffione, jhb Approved by: vmaffione (mentor) Differential Revision: https://reviews.freebsd.org/D23971 Modified: head/usr.sbin/bhyve/net_backends.h head/usr.sbin/bhyve/net_utils.c head/usr.sbin/bhyve/net_utils.h head/usr.sbin/bhyve/pci_virtio_net.c Modified: head/usr.sbin/bhyve/net_backends.h ============================================================================== --- head/usr.sbin/bhyve/net_backends.h Tue Apr 7 17:05:05 2020 (r359703) +++ head/usr.sbin/bhyve/net_backends.h Tue Apr 7 17:06:33 2020 (r359704) @@ -59,6 +59,7 @@ void netbe_rx_enable(net_backend_t *be); */ #define VIRTIO_NET_F_CSUM (1 << 0) /* host handles partial cksum */ #define VIRTIO_NET_F_GUEST_CSUM (1 << 1) /* guest handles partial cksum */ +#define VIRTIO_NET_F_MTU (1 << 3) /* initial MTU advice */ #define VIRTIO_NET_F_MAC (1 << 5) /* host supplies MAC */ #define VIRTIO_NET_F_GSO_DEPREC (1 << 6) /* deprecated: host handles GSO */ #define VIRTIO_NET_F_GUEST_TSO4 (1 << 7) /* guest can rcv TSOv4 */ @@ -76,6 +77,7 @@ void netbe_rx_enable(net_backend_t *be); #define VIRTIO_NET_F_CTRL_VLAN (1 << 19) /* control channel VLAN filtering */ #define VIRTIO_NET_F_GUEST_ANNOUNCE \ (1 << 21) /* guest can send gratuitous pkts */ +#define VIRTIO_NET_F_MQ (1 << 22) /* host supports multiple VQ pairs */ /* * Fixed network header size Modified: head/usr.sbin/bhyve/net_utils.c ============================================================================== --- head/usr.sbin/bhyve/net_utils.c Tue Apr 7 17:05:05 2020 (r359703) +++ head/usr.sbin/bhyve/net_utils.c Tue Apr 7 17:06:33 2020 (r359704) @@ -31,9 +31,12 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include +#include #include #include +#include #include #include "bhyverun.h" @@ -59,6 +62,37 @@ net_parsemac(char *mac_str, uint8_t *mac_addr) memcpy(mac_addr, ea->octet, ETHER_ADDR_LEN); return (0); +} + +int +net_parsemtu(const char *mtu_str, unsigned long *mtu) +{ + char *end; + unsigned long val; + + assert(mtu_str != NULL); + + if (*mtu_str == '-') + goto err; + + val = strtoul(mtu_str, &end, 0); + + if (*end != '\0') + goto err; + + if (val == ULONG_MAX) + return (ERANGE); + + if (val == 0 && errno == EINVAL) + return (EINVAL); + + *mtu = val; + + return (0); + +err: + errno = EINVAL; + return (EINVAL); } void Modified: head/usr.sbin/bhyve/net_utils.h ============================================================================== --- head/usr.sbin/bhyve/net_utils.h Tue Apr 7 17:05:05 2020 (r359703) +++ head/usr.sbin/bhyve/net_utils.h Tue Apr 7 17:06:33 2020 (r359704) @@ -35,5 +35,6 @@ void net_genmac(struct pci_devinst *pi, uint8_t *macaddr); int net_parsemac(char *mac_str, uint8_t *mac_addr); +int net_parsemtu(const char *mtu_str, unsigned long *mtu); #endif /* _NET_UTILS_H_ */ Modified: head/usr.sbin/bhyve/pci_virtio_net.c ============================================================================== --- head/usr.sbin/bhyve/pci_virtio_net.c Tue Apr 7 17:05:05 2020 (r359703) +++ head/usr.sbin/bhyve/pci_virtio_net.c Tue Apr 7 17:06:33 2020 (r359704) @@ -67,6 +67,9 @@ __FBSDID("$FreeBSD$"); #define VTNET_MAX_PKT_LEN (65536 + 64) +#define VTNET_MIN_MTU ETHERMIN +#define VTNET_MAX_MTU 65535 + #define VTNET_S_HOSTCAPS \ ( VIRTIO_NET_F_MAC | VIRTIO_NET_F_STATUS | \ VIRTIO_F_NOTIFY_ON_EMPTY | VIRTIO_RING_F_INDIRECT_DESC) @@ -77,6 +80,8 @@ __FBSDID("$FreeBSD$"); struct virtio_net_config { uint8_t mac[6]; uint16_t status; + uint16_t max_virtqueue_pairs; + uint16_t mtu; } __packed; /* @@ -532,6 +537,8 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst * struct pci_vtnet_softc *sc; char tname[MAXCOMLEN + 1]; int mac_provided; + int mtu_provided; + unsigned long mtu = ETHERMTU; /* * Allocate data structures for further virtio initializations. @@ -557,6 +564,7 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst * * if specified. */ mac_provided = 0; + mtu_provided = 0; if (opts != NULL) { char *devname; char *vtopts; @@ -585,6 +593,17 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst * if (err) break; mac_provided = 1; + } else if (strcmp(key, "mtu") == 0) { + err = net_parsemtu(value, &mtu); + if (err) + break; + + if (mtu < VTNET_MIN_MTU || mtu > VTNET_MAX_MTU) { + err = EINVAL; + errno = EINVAL; + break; + } + mtu_provided = 1; } } @@ -608,6 +627,17 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_devinst * if (!mac_provided) { net_genmac(pi, sc->vsc_config.mac); } + + sc->vsc_config.mtu = mtu; + if (mtu_provided) { + sc->vsc_consts.vc_hv_caps |= VIRTIO_NET_F_MTU; + } + + /* + * Since we do not actually support multiqueue, + * set the maximum virtqueue pairs to 1. + */ + sc->vsc_config.max_virtqueue_pairs = 1; /* initialize config space */ pci_set_cfgdata16(pi, PCIR_DEVICE, VIRTIO_DEV_NET); From owner-svn-src-head@freebsd.org Tue Apr 7 17:07:05 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 49171275F04; Tue, 7 Apr 2020 17:07:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xYjj1HC0z3xjj; Tue, 7 Apr 2020 17:07:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2732DD201; Tue, 7 Apr 2020 17:07:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037H75Jo066449; Tue, 7 Apr 2020 17:07:05 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037H74VX066447; Tue, 7 Apr 2020 17:07:04 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <202004071707.037H74VX066447@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 7 Apr 2020 17:07:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359705 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 359705 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 17:07:05 -0000 Author: bdrewery Date: Tue Apr 7 17:07:04 2020 New Revision: 359705 URL: https://svnweb.freebsd.org/changeset/base/359705 Log: NO_OBJ: Always fix .OBJDIR regardless of AUTO_OBJ. Sponsored by: Dell EMC MFC after: 2 weeks Modified: head/share/mk/bsd.init.mk head/share/mk/bsd.obj.mk Modified: head/share/mk/bsd.init.mk ============================================================================== --- head/share/mk/bsd.init.mk Tue Apr 7 17:06:33 2020 (r359704) +++ head/share/mk/bsd.init.mk Tue Apr 7 17:07:04 2020 (r359705) @@ -11,11 +11,9 @@ ____: .include .-include "local.init.mk" -.if ${MK_AUTO_OBJ} == "yes" # This is also done in bsd.obj.mk .if defined(NO_OBJ) && ${.OBJDIR} != ${.CURDIR} .OBJDIR: ${.CURDIR} -.endif .endif .if exists(${.CURDIR}/../Makefile.inc) Modified: head/share/mk/bsd.obj.mk ============================================================================== --- head/share/mk/bsd.obj.mk Tue Apr 7 17:06:33 2020 (r359704) +++ head/share/mk/bsd.obj.mk Tue Apr 7 17:07:04 2020 (r359705) @@ -42,16 +42,16 @@ ____: .include -.if ${MK_AUTO_OBJ} == "yes" -# it is done by now -objwarn: .PHONY -obj: .PHONY -CANONICALOBJDIR= ${.OBJDIR} # This is also done in bsd.init.mk .if defined(NO_OBJ) && ${.OBJDIR} != ${.CURDIR} # but this makefile does not want it! .OBJDIR: ${.CURDIR} .endif +.if ${MK_AUTO_OBJ} == "yes" +# it is done by now +objwarn: .PHONY +obj: .PHONY +CANONICALOBJDIR= ${.OBJDIR} # Handle special case where SRCS is full-pathed and requires # nested objdirs. This duplicates some auto.obj.mk logic. .if (!empty(SRCS:M*/*) || !empty(DPSRCS:M*/*)) && \ From owner-svn-src-head@freebsd.org Tue Apr 7 17:13:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 58125276322; Tue, 7 Apr 2020 17:13:21 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xYrx01bnz3yDj; Tue, 7 Apr 2020 17:13:20 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: by mail-qk1-f169.google.com with SMTP id m67so83597qke.12; Tue, 07 Apr 2020 10:13:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QbWLSPHOAbBk2142bAGTqpPYD/VyA/CRRj75wTNyQ9c=; b=lATVPnyZVOETV0W0iW2KtyhVqKHeIBO8GE2CzuMWQnYwBF9ZRJ7r4E7zb9yfW7DC8w AiPKZu582khQXE6cDNIusDdEs6K8yg+a7vJzzfSReA8neN+VKKU626H1eu20NvRnbTlo X+6PR/ANgkk590RXXlZxFM32M3BGK74bR3KXFWfIq9wEeVh/zCOMV8N6SuBvpOMkqUCl XiGX9b6I7n8X6KV2Dsq3h8vMPis/Lo8v0Dg4ympdycUIjk/35jMO2YWwy8h8RuGwX+sQ n5EPPTiDAtQ6tiiS5/QNkYUitRG6PuhXTonvvZxT31esdaI7y3disFPkXcXCaYCoK741 Qppg== X-Gm-Message-State: AGi0PuZGGccyyaGzFRpHzbSmVrwwnRWhjzJyOhHlMjFVlbZmxdL9TACJ eJgKktezifqz0ERNtCZDypqscF2v X-Google-Smtp-Source: APiQypIyrZVgsSgwEsY95lPViFW8IVZArwqK45I8byZ3SH2pWiGMT1iegIxVaFRz7/2o2TUjeCsAHw== X-Received: by 2002:a37:9c52:: with SMTP id f79mr2849903qke.186.1586279599844; Tue, 07 Apr 2020 10:13:19 -0700 (PDT) Received: from mail-qv1-f52.google.com (mail-qv1-f52.google.com. [209.85.219.52]) by smtp.gmail.com with ESMTPSA id d2sm16486307qkl.98.2020.04.07.10.13.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Apr 2020 10:13:19 -0700 (PDT) Received: by mail-qv1-f52.google.com with SMTP id bu9so2170202qvb.13; Tue, 07 Apr 2020 10:13:19 -0700 (PDT) X-Received: by 2002:a05:6214:12c1:: with SMTP id s1mr3228150qvv.150.1586279599324; Tue, 07 Apr 2020 10:13:19 -0700 (PDT) MIME-Version: 1.0 References: <202004071707.037H74VX066447@repo.freebsd.org> In-Reply-To: <202004071707.037H74VX066447@repo.freebsd.org> From: Kyle Evans Date: Tue, 7 Apr 2020 12:13:05 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359705 - head/share/mk To: Bryan Drewery Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48xYrx01bnz3yDj X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 17:13:21 -0000 On Tue, Apr 7, 2020 at 12:07 PM Bryan Drewery wrote: > > Author: bdrewery > Date: Tue Apr 7 17:07:04 2020 > New Revision: 359705 > URL: https://svnweb.freebsd.org/changeset/base/359705 > > Log: > NO_OBJ: Always fix .OBJDIR regardless of AUTO_OBJ. > > Sponsored by: Dell EMC > MFC after: 2 weeks > > Modified: > head/share/mk/bsd.init.mk > head/share/mk/bsd.obj.mk > Unrelated, but something else that's kinda funky: universe13a% make -C stand -V .OBJDIR /scratch/tmp/kevans/obj/home/kevans/head/amd64.amd64/stand But in a buildenv: universe13a% make TARGET_ARCH=armv7 buildenv Entering world for armv7:arm For ZSH you must run: export CPUTYPE= universe13a% make -C stand -V .OBJDIR [Creating objdir /scratch/tmp/kevans/obj/home/kevans/head/stand...] /scratch/tmp/kevans/obj/home/kevans/head/stand Using buildenv with BUILDENV_SHELL="make -C stand -V .OBDJIR" *doesn't* reproduce it (objdir has arm.armv7 in it again). I tried with both zsh (and export CPUTYPE=) and /bin/sh, but it seems to reproduce both ways. Thanks, Kyle Evans From owner-svn-src-head@freebsd.org Tue Apr 7 18:21:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1C0B32788C5; Tue, 7 Apr 2020 18:21:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xbN26tVhz43VS; Tue, 7 Apr 2020 18:21:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id A0A6C89C9; Tue, 7 Apr 2020 18:21:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 6F16B14124; Tue, 7 Apr 2020 18:21:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id c8Lc52zcT8uI; Tue, 7 Apr 2020 18:21:50 +0000 (UTC) Subject: Re: svn commit: r359705 - head/share/mk DKIM-Filter: OpenDKIM Filter v2.10.3 mail.xzibition.com 7F35A1411C Cc: Kyle Evans , src-committers , svn-src-all , svn-src-head References: <202004071707.037H74VX066447@repo.freebsd.org> From: Bryan Drewery Autocrypt: addr=bdrewery@FreeBSD.org; prefer-encrypt=mutual; keydata= mQENBFJphmsBCADiFgmS4bIzwZijrS31SjEMzg+n5zNellgM+HkShwehpqCiyhXdWrvH6dTZ a6u50pbUIX7doTR7W7PQHCjCTqtpwvcj0eulZva+iHFp+XrbgSFHn+VVXgkYP2MFySyZRFab D2qqzJBEJofhpv4HvY6uQI5K99pMqKr1Z/lHqsijYYu4RH2OfwB5PinId7xeldzWEonVoCr+ rfxzO/UrgA6v/3layGZcKNHFjmc3NqoN1DXtdaEHqtjIozzbndVkH6lkFvIpIrI6i5ox8pwp VxsxLCr/4Musd5CWgHiet5kSw2SzNeA8FbxdLYCpXNVu+uBACEbCUP+CSNy3NVfEUxsBABEB AAG0JEJyeWFuIERyZXdlcnkgPGJkcmV3ZXJ5QEZyZWVCU0Qub3JnPokBVwQTAQoAQQIbAwUL CQgHAwUVCgkICwUWAwIBAAIeAQIXgAIZARYhBPkXPLLDqup6XIofCTXXcbtuRpfPBQJb5hLu BQkNPvODAAoJEDXXcbtuRpfP9rMH/3f7cfX5rzyEV5QNfV/wS4jFukLoPZ4+nCM/TKxH3pEX 2bLbeQbkk6La8cueQ5Lpoht5XFZ18Y5TbMittngltrlNzoDD0h9are24OkDFGim3afJU7tkj IGQa1if+re+vI5BhzYwRhj0oKXzBi39M5oePd3L1dXfx83rg2FPyZBdIejsz6fR74T3JVkbd 6k2l5/3Zk2uiNMy+eBfDRgYE1E6CP28kV0nCeGKZgSVso0kGUUHud7voKqGVpMvbd0mE4pp4 PE5YJaFPjrll9miaDAvdU8LGIq5n6+aXPLKoQ/QNl6mg6ifgI6FfKILOkTizLW8E5PBSNnCm NapQ55yjm125AQ0EUmmGawEIAKJUU9+Q19oW1RK5jTf3m56j+szIc8Y9DaLC8REUKl4UZJBK BqCl6c0cukVApOD92XoU6hJPm2rLEyp/IcYcPPNTnVu8D8h9oag2L8EiFN7+2hk0xG+lwjc8 uOIZycme7AIJsBU4AZ1v63lxm2k104hwpiatgbe71GIGl7p1MX6ousP/wGzXCOF25Dx9w02C eRe7zEMfhnFjSUhzdCC9han2+KaVB7qIqNR3b8NfbwRNlwPmHqlhXffUow9OsQjSnTK8WKNR lx7xzVccXIvWP2wECFrmqmzMmXpSrmIuiWEpFwZ9x2a0Pva8dCNRiCVTK51IlRXKjaAxiN1u IUrMm6UAEQEAAYkBPAQYAQoAJgIbDBYhBPkXPLLDqup6XIofCTXXcbtuRpfPBQJb5hL4BQkN PvONAAoJEDXXcbtuRpfPCjcH/ivBsOpdpebpgLizSNU5/X4yWN5Aixsc9VBnQhGKAKnMINJQ VMpA55sD2JSPwloXYM/B3qyPJRS/9cwIuX5LDNKKOZU3Qp+TzleynM15/xea14orWYRGRict YHBM3Cnqp7OD8K6Q1uhs0fTxyJP7PZ/G0+7Corlf1DlHhDt6C2HldRPFvAvAgl6sR9Wzgcb7 rzub2HVtbJgl6YHbgyAG7x9NpXFqzx1JLAMdpt2DIYwoi+oMdRQlBIwNuKjQjCGzuXHandd3 kGvBAsyJpQ+coEep9UzwANaV28cXrFr2R4FSOcR50rBA2Nh/vqUYfpsvBvJlwuKAoV1djVHa ihNeL5E= Organization: FreeBSD Message-ID: <7f42eb02-3eeb-d56e-1d8a-f8c295e5d997@FreeBSD.org> Date: Tue, 7 Apr 2020 11:21:49 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="vmYQY36CM7eNvSFUehbCSaj1TUPBxTqUo" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 18:21:55 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --vmYQY36CM7eNvSFUehbCSaj1TUPBxTqUo Content-Type: multipart/mixed; boundary="9YrWAGDAeB2hvRlsxUd0c50ji9tcfdJ6W"; protected-headers="v1" From: Bryan Drewery Cc: Kyle Evans , src-committers , svn-src-all , svn-src-head Message-ID: <7f42eb02-3eeb-d56e-1d8a-f8c295e5d997@FreeBSD.org> Subject: Re: svn commit: r359705 - head/share/mk References: <202004071707.037H74VX066447@repo.freebsd.org> In-Reply-To: --9YrWAGDAeB2hvRlsxUd0c50ji9tcfdJ6W Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 4/7/2020 10:13 AM, Kyle Evans wrote: > On Tue, Apr 7, 2020 at 12:07 PM Bryan Drewery wr= ote: >> >> Author: bdrewery >> Date: Tue Apr 7 17:07:04 2020 >> New Revision: 359705 >> URL: https://svnweb.freebsd.org/changeset/base/359705 >> >> Log: >> NO_OBJ: Always fix .OBJDIR regardless of AUTO_OBJ. >> >> Sponsored by: Dell EMC >> MFC after: 2 weeks >> >> Modified: >> head/share/mk/bsd.init.mk >> head/share/mk/bsd.obj.mk >> >=20 > Unrelated, but something else that's kinda funky: >=20 > universe13a% make -C stand -V .OBJDIR > /scratch/tmp/kevans/obj/home/kevans/head/amd64.amd64/stand >=20 > But in a buildenv: > universe13a% make TARGET_ARCH=3Darmv7 buildenv > Entering world for armv7:arm > For ZSH you must run: export CPUTYPE=3D > universe13a% make -C stand -V .OBJDIR > [Creating objdir /scratch/tmp/kevans/obj/home/kevans/head/stand...] > /scratch/tmp/kevans/obj/home/kevans/head/stand >=20 > Using buildenv with BUILDENV_SHELL=3D"make -C stand -V .OBDJIR" > *doesn't* reproduce it (objdir has arm.armv7 in it again). >=20 > I tried with both zsh (and export CPUTYPE=3D) and /bin/sh, but it seems= > to reproduce both ways. >=20 > Thanks, >=20 > Kyle Evans >=20 Discussed with Kyle on IRC. Turned out to be an 'export MAKEOBJDIRPREFIX=3D/something' in ~/.profile. I suggest something like this in the profile: if [ -n "${BUILDENV}" ]; then PS1=3D"(buildenv) ${PS1}" unset CPUTYPE else export MAKEOBJDIRPREFIX=3D/whatever fi --=20 Regards, Bryan Drewery --9YrWAGDAeB2hvRlsxUd0c50ji9tcfdJ6W-- --vmYQY36CM7eNvSFUehbCSaj1TUPBxTqUo Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE+Rc8ssOq6npcih8JNddxu25Gl88FAl6MxL1fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEY5 MTczQ0IyQzNBQUVBN0E1QzhBMUYwOTM1RDc3MUJCNkU0Njk3Q0YACgkQNddxu25G l88Lzgf9HubcMZWkB0O+tYBwZ6BfMIP43QhYHoSE7W+eOc8+Bwdkk0nVpK2+AZgy 4HrZCy3Wbaysl6pHLjIqEYbec8eEvUCcdD4gYUX6gJPZrayw3kNWx0V/UxoZrscL CP6ZvpHhA6nUqXgXD5i2qwhP5VvRigdoWj47YpILp6V2t6nmE7AYrQvaG5xvgK+x uLhT9pvR/OaryeyhDU3z6XlWdb8KL3PjRIsD3Zbs6vKG4GPXn00xTnk4BfiFacm1 S4Uwbd7afZiFaaYYil7uvoX9yz3GYVswLm7ynz/QE05+k8Cg33K2n6vxeaOAHRSO Fs9laACH8xSCz2Bjo0ct6nzd3ZrC6Q== =gJJa -----END PGP SIGNATURE----- --vmYQY36CM7eNvSFUehbCSaj1TUPBxTqUo-- From owner-svn-src-head@freebsd.org Tue Apr 7 19:46:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2E1C527BA55; Tue, 7 Apr 2020 19:46:01 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xdF50PJCz48nN; Tue, 7 Apr 2020 19:46:01 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 08F19F11E; Tue, 7 Apr 2020 19:46:01 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037Jk0VG062810; Tue, 7 Apr 2020 19:46:00 GMT (envelope-from luporl@FreeBSD.org) Received: (from luporl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037Jk0BO062809; Tue, 7 Apr 2020 19:46:00 GMT (envelope-from luporl@FreeBSD.org) Message-Id: <202004071946.037Jk0BO062809@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: luporl set sender to luporl@FreeBSD.org using -f From: Leandro Lupori Date: Tue, 7 Apr 2020 19:46:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359716 - head/stand/powerpc/ofw X-SVN-Group: head X-SVN-Commit-Author: luporl X-SVN-Commit-Paths: head/stand/powerpc/ofw X-SVN-Commit-Revision: 359716 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 19:46:01 -0000 Author: luporl Date: Tue Apr 7 19:46:00 2020 New Revision: 359716 URL: https://svnweb.freebsd.org/changeset/base/359716 Log: Add support to MSDOS FS in PPC loader Although PPC OFW loader already had a LOADER_MSDOS_SUPPORT option, a few lines were missing in conf.c, in order to support FAT filesystems. This is useful when running FreeBSD under QEMU, to be able to easily change the kernel and modules when running on hosts without UFS read/write support. Reviewed by: jhibbits Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D24328 Modified: head/stand/powerpc/ofw/conf.c Modified: head/stand/powerpc/ofw/conf.c ============================================================================== --- head/stand/powerpc/ofw/conf.c Tue Apr 7 19:44:40 2020 (r359715) +++ head/stand/powerpc/ofw/conf.c Tue Apr 7 19:46:00 2020 (r359716) @@ -69,6 +69,9 @@ struct fs_ops *file_system[] = { #if defined(LOADER_EXT2FS_SUPPORT) &ext2fs_fsops, #endif +#if defined(LOADER_MSDOS_SUPPORT) + &dosfs_fsops, +#endif #if defined(LOADER_NFS_SUPPORT) &nfs_fsops, #endif From owner-svn-src-head@freebsd.org Tue Apr 7 20:26:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A0E9127CBC8; Tue, 7 Apr 2020 20:26:44 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xf84254Tz4By4; Tue, 7 Apr 2020 20:26:44 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 42D39F931; Tue, 7 Apr 2020 20:26:44 +0000 (UTC) (envelope-from dab@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037KQiXw087008; Tue, 7 Apr 2020 20:26:44 GMT (envelope-from dab@FreeBSD.org) Received: (from dab@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037KQhZF087003; Tue, 7 Apr 2020 20:26:43 GMT (envelope-from dab@FreeBSD.org) Message-Id: <202004072026.037KQhZF087003@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dab set sender to dab@FreeBSD.org using -f From: David Bright Date: Tue, 7 Apr 2020 20:26:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359717 - in head: etc/mtree sbin/nvmecontrol sbin/nvmecontrol/tests X-SVN-Group: head X-SVN-Commit-Author: dab X-SVN-Commit-Paths: in head: etc/mtree sbin/nvmecontrol sbin/nvmecontrol/tests X-SVN-Commit-Revision: 359717 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 20:26:44 -0000 Author: dab Date: Tue Apr 7 20:26:42 2020 New Revision: 359717 URL: https://svnweb.freebsd.org/changeset/base/359717 Log: Add a basic test for nvmecontrol I recently made some bug fixes in nvmecontrol. It occurred to me that since nvmecontrol lacks any kyua tests, I should convert the informal testing I did into a more formal automated test. The test in this change should be considered just a starting point; it is neither complete nor thorough. While converting the test to ATF/kyua, I discovered a small bug in nvmecontrol; the nvmecontrol devlist command would always exit with an unsuccessful status. So I included the fix for that, too, so that the test won't fail. Reviewed by: imp@ MFC after: 3 days Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24269 Added: head/sbin/nvmecontrol/tests/ head/sbin/nvmecontrol/tests/Makefile (contents, props changed) head/sbin/nvmecontrol/tests/basic.sh (contents, props changed) Modified: head/etc/mtree/BSD.tests.dist head/sbin/nvmecontrol/Makefile head/sbin/nvmecontrol/devlist.c Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Tue Apr 7 19:46:00 2020 (r359716) +++ head/etc/mtree/BSD.tests.dist Tue Apr 7 20:26:42 2020 (r359717) @@ -438,6 +438,8 @@ .. mdconfig .. + nvmecontrol + .. pfctl files .. Modified: head/sbin/nvmecontrol/Makefile ============================================================================== --- head/sbin/nvmecontrol/Makefile Tue Apr 7 19:46:00 2020 (r359716) +++ head/sbin/nvmecontrol/Makefile Tue Apr 7 20:26:42 2020 (r359717) @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + PACKAGE=runtime PROG= nvmecontrol SRCS= comnd.c nvmecontrol.c @@ -11,6 +13,8 @@ MAN= nvmecontrol.8 LDFLAGS+= -rdynamic LIBADD+= util SUBDIR= modules +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests .PATH: ${SRCTOP}/sys/dev/nvme Modified: head/sbin/nvmecontrol/devlist.c ============================================================================== --- head/sbin/nvmecontrol/devlist.c Tue Apr 7 19:46:00 2020 (r359716) +++ head/sbin/nvmecontrol/devlist.c Tue Apr 7 20:26:42 2020 (r359717) @@ -122,8 +122,10 @@ devlist(const struct cmd *f, int argc, char *argv[]) close(fd); } - if (found == 0) + if (found == 0) { printf("No NVMe controllers found.\n"); + exit(1); + } - exit(1); + exit(0); } Added: head/sbin/nvmecontrol/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sbin/nvmecontrol/tests/Makefile Tue Apr 7 20:26:42 2020 (r359717) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +PACKAGE= tests +ATF_TESTS_SH+= basic + +.include Added: head/sbin/nvmecontrol/tests/basic.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sbin/nvmecontrol/tests/basic.sh Tue Apr 7 20:26:42 2020 (r359717) @@ -0,0 +1,236 @@ +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright (c) 2020 David A. Bright +# +# 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$ + +# +# A basic test for nvmecontrol. This isn't a thorough or complete test +# of nvmecontrol functionality; it is more of a sanity check that +# nvmecontrol basically works. +# + +DANGEROUS=false # Set to true to run "dangerous" tests +# Select a nvme device to use for testing. If none exist, use nvme0. +TEST_DEV=$(cd /dev/;ls nvme[0-9]* | grep 'nvme[0-9][0-9]*$' | head -1) 2>/dev/null +TEST_DEV=${TEST_DEV:-nvme0} +TEST_DEV_PATH=/dev/${TEST_DEV} +INV_OPT="-z" +INV_OPT_MSG="invalid option -- z" + + +atf_test_case fake_lib cleanup +fake_lib_head() +{ + atf_set "descr" "check loading of a library from /lib" + atf_set "require.user" "root" +} +fake_lib_body() +{ + local libdir="/lib/nvmecontrol" + local fakelib="${libdir}/fake.so" + if [ -d ${libdir} ] ; then + touch ${fakelib} + atf_check -s not-exit:0 -o ignore -e match:"Can't load ${fakelib}" nvmecontrol + rm -f ${fakelib} + else + atf_skip "Skipping; directory ${libdir} does not exist" + fi +} +fake_lib_cleanup() +{ + rm -f /lib/nvmecontrol/fake.so +} + +atf_test_case fake_local_lib cleanup +fake_local_lib_head() +{ + atf_set "descr" "check loading of a library from /usr/local/lib" + atf_set "require.user" "root" +} +fake_local_lib_body() +{ + local libdir="/usr/local/lib/nvmecontrol" + local fakelib="${libdir}/fake.so" + if [ -d ${libdir} ] ; then + touch ${fakelib} + atf_check -s not-exit:0 -o ignore -e match:"Can't load ${fakelib}" nvmecontrol + rm -f ${fakelib} + else + atf_skip "Skipping; directory ${libdir} does not exist" + fi +} +fake_local_lib_cleanup() +{ + rm -f /usr/local/lib/nvmecontrol/fake.so +} + +atf_test_case admin_passthru +admin_passthru_head() +{ + atf_set "descr" "check the admin-passthru command" + atf_set "require.user" "root" +} +admin_passthru_body() +{ + if [ -c "${TEST_DEV_PATH}" ] ; then + atf_check -o not-empty -e empty nvmecontrol admin-passthru --opcode=06 --data-len=4096 --cdw10=1 -r 0 ${TEST_DEV} + else + atf_check -s not-exit:0 -o empty -e not-empty nvmecontrol admin-passthru --opcode=06 --data-len=4096 --cdw10=1 -r 0 ${TEST_DEV} + fi + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol admin-passthru ${INV_OPT} --opcode=06 --data-len=4096 --cdw10=1 -r 0 ${TEST_DEV} +} + +atf_test_case devlist +devlist_head() +{ + atf_set "descr" "check the devlist command" + atf_set "require.user" "root" +} +devlist_body() +{ + if [ -c "${TEST_DEV_PATH}" ] ; then + atf_check -o not-empty -e empty nvmecontrol devlist + else + atf_check -s not-exit:0 -o ignore -e ignore nvmecontrol devlist + fi + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol devlist ${INV_OPT} +} + +atf_test_case identify +identify_head() +{ + atf_set "descr" "check the identify command" + atf_set "require.user" "root" +} +identify_body() +{ + if [ -c "${TEST_DEV_PATH}" ] ; then + atf_check -o not-empty -e empty nvmecontrol identify ${TEST_DEV} + else + atf_check -s not-exit:0 -o empty -e not-empty nvmecontrol identify ${TEST_DEV} + fi + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol identify ${INV_OPT} ${TEST_DEV} +} + +atf_test_case io_passthru +io_passthru_head() +{ + atf_set "descr" "check the io-passthru command" + atf_set "require.user" "root" +} +io_passthru_body() +{ + if [ -c "${TEST_DEV_PATH}" ] ; then + atf_check -o not-empty -e empty nvmecontrol io-passthru --opcode=02 --data-len=4096 --cdw10=0 --cdw11=0 --cdw12=0x70000 -r 0 nvme0 ${TEST_DEV} + else + atf_check -s not-exit:0 -o empty -e not-empty nvmecontrol io-passthru --opcode=02 --data-len=4096 --cdw10=0 --cdw11=0 --cdw12=0x70000 -r 0 nvme0 ${TEST_DEV} + fi + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol io-passthru ${INV_OPT} --opcode=02 --data-len=4096 --cdw10=0 --cdw11=0 --cdw12=0x70000 -r 0 nvme0 ${TEST_DEV} +} + +atf_test_case logpage +logpage_head() +{ + atf_set "descr" "check the logpage command" + atf_set "require.user" "root" +} +logpage_body() +{ + if [ -c "${TEST_DEV_PATH}" ] ; then + atf_check -o not-empty -e empty nvmecontrol logpage -p 1 ${TEST_DEV} + else + atf_check -s not-exit:0 -o empty -e not-empty nvmecontrol logpage -p 1 ${TEST_DEV} + fi + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol logpage -p 1 ${INV_OPT} ${TEST_DEV} +} + +atf_test_case nsid +nsid_head() +{ + atf_set "descr" "check the nsid command" + atf_set "require.user" "root" +} +nsid_body() +{ + if [ -c "${TEST_DEV_PATH}" ] ; then + atf_check -o not-empty -e empty nvmecontrol nsid ${TEST_DEV} + else + atf_check -s not-exit:0 -o empty -e not-empty nvmecontrol nsid ${TEST_DEV} + fi + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol nsid ${INV_OPT} ${TEST_DEV} +} + +atf_test_case power +power_head() +{ + atf_set "descr" "check the power command" + atf_set "require.user" "root" +} +power_body() +{ + if [ -c "${TEST_DEV_PATH}" ] ; then + atf_check -o not-empty -e empty nvmecontrol power ${TEST_DEV} + else + atf_check -s not-exit:0 -o empty -e not-empty nvmecontrol power ${TEST_DEV} + fi + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol power ${INV_OPT} ${TEST_DEV} +} + +atf_test_case reset +reset_head() +{ + atf_set "descr" "check the reset command" + atf_set "require.user" "root" +} +reset_body() +{ + atf_check -s not-exit:0 -o ignore -e match:"${INV_OPT_MSG}" nvmecontrol reset ${INV_OPT} ${TEST_DEV} + if [ -c "${TEST_DEV_PATH}" ] ; then + # Reset of an active device seems a little dangerous, + # therefore, this is normally disabled. + if ${DANGEROUS} ; then + atf_check -o not-empty -e empty nvmecontrol reset ${TEST_DEV} + else + atf_skip "Skipping reset test" + fi + else + atf_check -s not-exit:0 -o empty -e not-empty nvmecontrol reset ${TEST_DEV} + fi +} + + +atf_init_test_cases() +{ + atf_add_test_case fake_lib + atf_add_test_case fake_local_lib + atf_add_test_case admin_passthru + atf_add_test_case devlist + atf_add_test_case identify + atf_add_test_case io_passthru + atf_add_test_case logpage + atf_add_test_case nsid + atf_add_test_case power + atf_add_test_case reset +} From owner-svn-src-head@freebsd.org Tue Apr 7 21:49:24 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 924B727F0FE; Tue, 7 Apr 2020 21:49:24 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xgzR4Qq8z4H0s; Tue, 7 Apr 2020 21:49:23 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from pps.filterd (m0108162.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 037LnE7E004886; Tue, 7 Apr 2020 14:49:22 -0700 Received: from nam04-sn1-obe.outbound.protection.outlook.com (mail-sn1nam04lp2056.outbound.protection.outlook.com [104.47.44.56]) by mx0b-00273201.pphosted.com with ESMTP id 3091s0800k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Apr 2020 14:49:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ms6ZzQkOOKxAgUWhQWGm2GS/jGcVfLmY7xWS/pt4ITugpQ7kf0oPOwSWV37cESR7opDWHAHXTDVJfZt/b5KMPCFfDyQKJN+L6kZgamaZg4xwZSJ+5YGGRkja2JEmug4RuqBUX2dOoeS63nUGF179jbwWMeoaBQqZnQSwZ6dNGe3JE0scvzM9L8MIXWQtKR+FJG7Xv3wdcIDcJyxF5AbhpPK2xOramFDMzE3JzZ9fam4pegZ9cZfUgaG+Ucmxb+lYZ3Gzql/TlwQPLnIT2pwL9JEj4XPu3a+wARQJzB9YEKX8XSkC6OMSKXxGJGJ3ZXlvJ9vZuwOOW+cehJti+YwH9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hN2ERiJ6whfjhoR8BgiOvNrtGZ+W/xHVI27AdyHqTI0=; b=gbB7/f9uZ5mwTnqPPOGvAfUCgLBt/8FJIyTVDUrSi+1/AbDyhFtvrEJnoSBtneaXlNXKO8zRlcMC1Ox7fqq9/EcT3AprPNRo3FmGXE3PQPvM7ohGvafYNFNtmg1bxPYIlrfe7449kqpwPnAmI90hMTFYOmBYOIwfRwGPRVR17QOtEaKkbrfNf4ccKuqqG3jHlfvk+cofq5pULn8c0FjS10NdLjzEHf4Dn/NDYUxV5OZ3za1xOTRe3H1a2hCx9MAH6gVnp2deKd1KecuuscjfRHtaoOrsbcqpoej/wSYl6IOx3kR/S9mS5kwwfKwg8R1m5TWC8+tGo7XWmw6wOEI7pg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.242.12) smtp.rcpttodomain=kyle-evans.net smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none Received: from DM6PR03CA0060.namprd03.prod.outlook.com (2603:10b6:5:100::37) by CY4PR05MB3477.namprd05.prod.outlook.com (2603:10b6:910:55::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.13; Tue, 7 Apr 2020 21:49:19 +0000 Received: from DM3NAM05FT025.eop-nam05.prod.protection.outlook.com (2603:10b6:5:100:cafe::57) by DM6PR03CA0060.outlook.office365.com (2603:10b6:5:100::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.17 via Frontend Transport; Tue, 7 Apr 2020 21:49:19 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.242.12 as permitted sender) Received: from P-EXFEND-EQX-01.jnpr.net (66.129.242.12) by DM3NAM05FT025.mail.protection.outlook.com (10.152.98.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2900.12 via Frontend Transport; Tue, 7 Apr 2020 21:49:19 +0000 Received: from P-EXBEND-EQX-01.jnpr.net (10.104.8.52) by P-EXFEND-EQX-01.jnpr.net (10.104.8.54) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 7 Apr 2020 14:49:02 -0700 Received: from P-EXBEND-EQX-01.jnpr.net (10.104.8.52) by P-EXBEND-EQX-01.jnpr.net (10.104.8.52) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 7 Apr 2020 14:49:02 -0700 Received: from p-mailhub01.juniper.net (10.104.20.6) by P-EXBEND-EQX-01.jnpr.net (10.104.8.52) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 7 Apr 2020 14:49:02 -0700 Received: from kaos.jnpr.net (kaos.jnpr.net [172.23.50.162]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 037Ln11J006473; Tue, 7 Apr 2020 14:49:01 -0700 (envelope-from sjg@juniper.net) Received: by kaos.jnpr.net (Postfix, from userid 1377) id 6280268E4B; Tue, 7 Apr 2020 14:49:01 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 60BB868E4A; Tue, 7 Apr 2020 14:49:01 -0700 (PDT) To: Kyle Evans CC: Bryan Drewery , src-committers , svn-src-all , svn-src-head , Subject: Re: svn commit: r359705 - head/share/mk In-Reply-To: References: <202004071707.037H74VX066447@repo.freebsd.org> Comments: In-reply-to: Kyle Evans message dated "Tue, 07 Apr 2020 12:13:05 -0500." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 26.3 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <51333.1586296141.1@kaos.jnpr.net> Date: Tue, 7 Apr 2020 14:49:01 -0700 Message-ID: <54551.1586296141@kaos.jnpr.net> X-EXCLAIMER-MD-CONFIG: e3cb0ff2-54e7-4646-8a04-0dae4ac7b136 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.129.242.12; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:P-EXFEND-EQX-01.jnpr.net; PTR:InfoDomainNonexistent; CAT:NONE; SFTY:; SFS:(10019020)(4636009)(136003)(39850400004)(376002)(396003)(346002)(46966005)(5660300002)(478600001)(107886003)(82740400003)(2906002)(86362001)(54906003)(8936002)(70586007)(9686003)(6916009)(7696005)(6266002)(186003)(356004)(47076004)(4326008)(8676002)(26005)(7126003)(316002)(26826003)(336012)(55016002)(70206006)(81156014)(4744005)(81166006); DIR:OUT; SFP:1102; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 47367fc3-4e60-481a-611d-08d7db3d86aa X-MS-TrafficTypeDiagnostic: CY4PR05MB3477: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3276; X-Forefront-PRVS: 036614DD9C X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7KoymVkwPtyg4oFEisOYotUPDJbvKeia76jK/aKKiT0WVPZ1Jlm98q3noxbQkCDL81eiaf8vJfpzlHK+qUQfdaQ1f0axnwYJ4sQVl40xUt/8BJ/rLn05TTwT7wlw6YK05OgE8w8APl3D5f6EmDvuPSfjOQVcM3FKLw4YvDU6PJdZM6bVVBBPTpkyls1zAI61PUZyrxRVL8ZWYUhrsZLxbBGYWqpWIiG6HQASnNccmnRlSUTPRP/Swz6O8E+QBRL4UNV5gYbbre/vLq6nd71H5jQs/cFIkomajBZvtUtFpMsjh/9sDoYyrDYGO1/DBnH+PL8zM5X+4e71wWmX9HE7pzWtnRAdZFpbQuWFikhCoDZ/l3Y+XNPlmUxHygENkEPle6I7y4NwJtrFKXgHh7fCZ3gn1bZKqjJbcLLldR72+n+DqX7gnBDkB1ssaaa+8YeSmzICCwrltJrdnYp64IlW0ujWwjH4V88qfk6fPWVhV4uwSTFTGC2CTTzY/zI5+0roWIlpcdM8RukDe0mRN3nZrg== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2020 21:49:19.3915 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 47367fc3-4e60-481a-611d-08d7db3d86aa X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.242.12]; Helo=[P-EXFEND-EQX-01.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR05MB3477 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-07_09:2020-04-07, 2020-04-07 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 suspectscore=0 adultscore=0 mlxscore=0 mlxlogscore=746 lowpriorityscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 priorityscore=1501 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004070171 X-Rspamd-Queue-Id: 48xgzR4Qq8z4H0s X-Spamd-Bar: ----- X-Spamd-Result: default: False [-5.84 / 15.00]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[juniper.net:s=PPS1017,juniper.net:s=selector1]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:67.231.152.164]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(-1.74)[ip: (-4.26), ipnet: 67.231.152.0/24(-1.94), asn: 22843(-2.45), country: US(-0.05)]; RCPT_COUNT_FIVE(0.00)[6]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[juniper.net:+]; DMARC_POLICY_ALLOW(-0.50)[juniper.net,reject]; RCVD_IN_DNSWL_LOW(-0.10)[164.152.231.67.list.dnswl.org : 127.0.3.1]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:22843, ipnet:67.231.152.0/24, country:US]; ARC_ALLOW(-1.00)[i=1]; RCVD_COUNT_SEVEN(0.00)[11] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 21:49:24 -0000 Kyle Evans wrote: > universe13a% make -C stand -V .OBJDIR > /scratch/tmp/kevans/obj/home/kevans/head/amd64.amd64/stand > > But in a buildenv: > universe13a% make TARGET_ARCH=armv7 buildenv > Entering world for armv7:arm > For ZSH you must run: export CPUTYPE= > universe13a% make -C stand -V .OBJDIR > [Creating objdir /scratch/tmp/kevans/obj/home/kevans/head/stand...] > /scratch/tmp/kevans/obj/home/kevans/head/stand What do you get for: env | grep MAKE > Using buildenv with BUILDENV_SHELL="make -C stand -V .OBDJIR" > *doesn't* reproduce it (objdir has arm.armv7 in it again). > > I tried with both zsh (and export CPUTYPE=) and /bin/sh, but it seems > to reproduce both ways. > > Thanks, > > Kyle Evans From owner-svn-src-head@freebsd.org Tue Apr 7 21:52:35 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 406A327F49B; Tue, 7 Apr 2020 21:52:35 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xh360JGxz4HfD; Tue, 7 Apr 2020 21:52:33 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: by mail-qk1-f170.google.com with SMTP id b62so1090287qkf.6; Tue, 07 Apr 2020 14:52:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5/xrWB8+fRitLLi/Phjs9mKt0bx4+N+lciOJh3ubxgs=; b=ruX17M3iZzKynqW1A3vmPn7rju10H/zgX91Mr5r+uHVt2Ib7FHoJWoiOn/+5f+fQs5 T8PPv8ZuPcB7iNUoOGgttAlMlFTLW2AlIskzOBVsy7u5JMkb9BiBTt3m1hbad3TScWTT roobe50Z0vqBeFfTYTaAkZBEqYa6liUSWvp3fhqYDdQIpfePj5BiYivFclQLrbNAuaur /tmU3wfmo6hPAKVTAc73y6j/LZhsqTd+fKmcM1NcM3jr1DcUx0OFNkMzDGViVwyOvX29 yrT5o5ToTZJyXz7S5IgPVsdD3kZIvOunS8ib5+nSlFpLNMDR8FT7I1CSi9q+/c0CoKJ5 vEYw== X-Gm-Message-State: AGi0PuZqOBTp6R1Kq2Js4ueFPaKIn0LEWqzFZG8yfGmGcRFQ64fSrmQw +nNRv5YI1iA62EElxciD1YT/IyqY X-Google-Smtp-Source: APiQypIOCDFwyFzlctS/MdUguyN+LW5afmGbntSprgoGA8v2y9Gd5HSH6cZyPh140MHn8I6Mq77mHQ== X-Received: by 2002:a37:ad08:: with SMTP id f8mr4613507qkm.258.1586296352605; Tue, 07 Apr 2020 14:52:32 -0700 (PDT) Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com. [209.85.222.172]) by smtp.gmail.com with ESMTPSA id w13sm16916626qtn.81.2020.04.07.14.52.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Apr 2020 14:52:32 -0700 (PDT) Received: by mail-qk1-f172.google.com with SMTP id b62so1090258qkf.6; Tue, 07 Apr 2020 14:52:32 -0700 (PDT) X-Received: by 2002:a37:6d8:: with SMTP id 207mr4703506qkg.103.1586296352246; Tue, 07 Apr 2020 14:52:32 -0700 (PDT) MIME-Version: 1.0 References: <202004071707.037H74VX066447@repo.freebsd.org> <54551.1586296141@kaos.jnpr.net> In-Reply-To: <54551.1586296141@kaos.jnpr.net> From: Kyle Evans Date: Tue, 7 Apr 2020 16:52:18 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359705 - head/share/mk To: "Simon J. Gerraty" Cc: Bryan Drewery , src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48xh360JGxz4HfD X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of byondlenox@gmail.com designates 209.85.222.170 as permitted sender) smtp.mailfrom=byondlenox@gmail.com X-Spamd-Result: default: False [-2.67 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_NEQ_ENVFROM(0.00)[self@kyle-evans.net,byondlenox@gmail.com]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; RCVD_TLS_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[kyle-evans.net]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[170.222.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; IP_SCORE(-0.67)[ip: (-2.49), ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; FORGED_SENDER(0.30)[self@kyle-evans.net,byondlenox@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[170.222.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 21:52:35 -0000 On Tue, Apr 7, 2020 at 4:49 PM Simon J. Gerraty wrote: > > Kyle Evans wrote: > > universe13a% make -C stand -V .OBJDIR > > /scratch/tmp/kevans/obj/home/kevans/head/amd64.amd64/stand > > > > But in a buildenv: > > universe13a% make TARGET_ARCH=armv7 buildenv > > Entering world for armv7:arm > > For ZSH you must run: export CPUTYPE= > > universe13a% make -C stand -V .OBJDIR > > [Creating objdir /scratch/tmp/kevans/obj/home/kevans/head/stand...] > > /scratch/tmp/kevans/obj/home/kevans/head/stand > > What do you get for: > > env | grep MAKE > It turned out I had export MAKEOBJDIRPREFIX=... in my ~/.zshrc on this particular machine that was polluting the buildenv- Bryan investigated a bit (via IRC) and we came to the conclusion that I should not do that, or at least not do that for BUILDENV. I'm happy with this solution, as it's only in there to allow me to be lazy on universe machines. =-) Thanks, Kyle Evans From owner-svn-src-head@freebsd.org Tue Apr 7 22:23:24 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 027DB27FEF4; Tue, 7 Apr 2020 22:23:24 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xhkg64ZGz4KWt; Tue, 7 Apr 2020 22:23:23 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CB96F19049; Tue, 7 Apr 2020 22:23:23 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037MNNDw059908; Tue, 7 Apr 2020 22:23:23 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037MNN7g059905; Tue, 7 Apr 2020 22:23:23 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004072223.037MNN7g059905@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 7 Apr 2020 22:23:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359718 - in head/sys: cam cam/ata cam/mmc geom X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head/sys: cam cam/ata cam/mmc geom X-SVN-Commit-Revision: 359718 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 22:23:24 -0000 Author: imp Date: Tue Apr 7 22:23:22 2020 New Revision: 359718 URL: https://svnweb.freebsd.org/changeset/base/359718 Log: Now that we don't have special-case geom hacking defined in md_var.h, stop including it. sparc64 was the last straggler here, but these weren't removed at the time. Modified: head/sys/cam/ata/ata_da.c head/sys/cam/cam_xpt.c head/sys/cam/mmc/mmc_da.c head/sys/geom/geom_disk.c Modified: head/sys/cam/ata/ata_da.c ============================================================================== --- head/sys/cam/ata/ata_da.c Tue Apr 7 20:26:42 2020 (r359717) +++ head/sys/cam/ata/ata_da.c Tue Apr 7 22:23:22 2020 (r359718) @@ -70,8 +70,6 @@ __FBSDID("$FreeBSD$"); #include -#include /* geometry translation */ - #ifdef _KERNEL #define ATA_MAX_28BIT_LBA 268435455UL Modified: head/sys/cam/cam_xpt.c ============================================================================== --- head/sys/cam/cam_xpt.c Tue Apr 7 20:26:42 2020 (r359717) +++ head/sys/cam/cam_xpt.c Tue Apr 7 22:23:22 2020 (r359718) @@ -71,7 +71,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include /* geometry translation */ #include /* for xpt_print below */ #include "opt_cam.h" Modified: head/sys/cam/mmc/mmc_da.c ============================================================================== --- head/sys/cam/mmc/mmc_da.c Tue Apr 7 20:26:42 2020 (r359717) +++ head/sys/cam/mmc/mmc_da.c Tue Apr 7 22:23:22 2020 (r359718) @@ -77,8 +77,6 @@ __FBSDID("$FreeBSD$"); #include -#include /* geometry translation */ - #ifdef _KERNEL typedef enum { Modified: head/sys/geom/geom_disk.c ============================================================================== --- head/sys/geom/geom_disk.c Tue Apr 7 20:26:42 2020 (r359717) +++ head/sys/geom/geom_disk.c Tue Apr 7 22:23:22 2020 (r359718) @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include From owner-svn-src-head@freebsd.org Tue Apr 7 23:17:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB6EA2A22E3; Tue, 7 Apr 2020 23:17:44 +0000 (UTC) (envelope-from rgrimes@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xjxN5Wfmz4NLD; Tue, 7 Apr 2020 23:17:44 +0000 (UTC) (envelope-from rgrimes@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B8C4B19A4D; Tue, 7 Apr 2020 23:17:44 +0000 (UTC) (envelope-from rgrimes@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 037NHief090772; Tue, 7 Apr 2020 23:17:44 GMT (envelope-from rgrimes@FreeBSD.org) Received: (from rgrimes@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 037NHi7x090771; Tue, 7 Apr 2020 23:17:44 GMT (envelope-from rgrimes@FreeBSD.org) Message-Id: <202004072317.037NHi7x090771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rgrimes set sender to rgrimes@FreeBSD.org using -f From: "Rodney W. Grimes" Date: Tue, 7 Apr 2020 23:17:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359719 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: rgrimes X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359719 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 23:17:44 -0000 Author: rgrimes Date: Tue Apr 7 23:17:44 2020 New Revision: 359719 URL: https://svnweb.freebsd.org/changeset/base/359719 Log: In the past changes have been made to smbios->minor without updating the smbios->bcdrev value. Correct that by calculating bcdrev from the major/minor values. Reported by: bcran Reviewed by: bcran, jhb Approved by: jhb (maintainer) Modified: head/usr.sbin/bhyve/smbiostbl.c Modified: head/usr.sbin/bhyve/smbiostbl.c ============================================================================== --- head/usr.sbin/bhyve/smbiostbl.c Tue Apr 7 22:23:22 2020 (r359718) +++ head/usr.sbin/bhyve/smbiostbl.c Tue Apr 7 23:17:44 2020 (r359719) @@ -774,7 +774,7 @@ smbios_ep_initializer(struct smbios_entry_point *smbio memcpy(smbios_ep->ianchor, SMBIOS_ENTRY_IANCHOR, SMBIOS_ENTRY_IANCHORLEN); smbios_ep->staddr = staddr; - smbios_ep->bcdrev = 0x24; + smbios_ep->bcdrev = (smbios_ep->major & 0xf) << 4 | (smbios_ep->minor & 0xf); } static void From owner-svn-src-head@freebsd.org Wed Apr 8 01:12:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D78EF2A5584; Wed, 8 Apr 2020 01:12:54 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xmVG5Nzzz4V6H; Wed, 8 Apr 2020 01:12:54 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B40A71B1D2; Wed, 8 Apr 2020 01:12:54 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0381CsZZ063661; Wed, 8 Apr 2020 01:12:54 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0381CsL5063660; Wed, 8 Apr 2020 01:12:54 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004080112.0381CsL5063660@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Wed, 8 Apr 2020 01:12:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359720 - head/sys/fs/nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsserver X-SVN-Commit-Revision: 359720 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 01:12:54 -0000 Author: rmacklem Date: Wed Apr 8 01:12:54 2020 New Revision: 359720 URL: https://svnweb.freebsd.org/changeset/base/359720 Log: Fix an interoperability issue w.r.t. the Linux client and the NFSv4 server. Luoqi Chen reported a problem on freebsd-fs@ where a Linux NFSv4 client was able to open and write to a file when the file's permissions were not set to allow the owner write access. Since NFS servers check file permissions on every write RPC, it is standard practice to allow the owner of the file to do writes, regardless of file permissions. This provides POSIX like behaviour, since POSIX only checks permissions upon open(2). The traditional way NFS clients handle this is to check access via the Access operation/RPC and use that to determine if an open(2) on the client is allowed. It appears that, for NFSv4, the Linux client expects the NFSv4 Open (not a POSIX open) operation to fail with NFSERR_ACCES if the file is not being created and file permissions do not allow owner access, unlike NFSv3. Since both the Linux and OpenSolaris NFSv4 servers seem to exhibit this behaviour, this patch changes the FreeBSD NFSv4 server to do the same. A sysctl called vfs.nfsd.v4openaccess can be set to 0 to return the NFSv4 server to its previous behaviour. Since both the Linux and FreeBSD NFSv4 clients seem to exhibit correct behaviour with the access check for file owner in Open enabled, it is enabled by default. Reported by: luoqi.chen@gmail.com MFC after: 2 weeks Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Tue Apr 7 23:17:44 2020 (r359719) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Wed Apr 8 01:12:54 2020 (r359720) @@ -81,6 +81,10 @@ static int nfsrv_linux42server = 1; SYSCTL_INT(_vfs_nfsd, OID_AUTO, linux42server, CTLFLAG_RW, &nfsrv_linux42server, 0, "Enable Linux style NFSv4.2 server (non-RFC compliant)"); +static bool nfsrv_openaccess = true; +SYSCTL_BOOL(_vfs_nfsd, OID_AUTO, v4openaccess, CTLFLAG_RW, + &nfsrv_openaccess, 0, + "Enable Linux style NFSv4 Open access check"); /* * This list defines the GSS mechanisms supported. @@ -2742,7 +2746,7 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int is u_int32_t *tl; int i, retext; struct nfsstate *stp = NULL; - int error = 0, create, claim, exclusive_flag = 0; + int error = 0, create, claim, exclusive_flag = 0, override; u_int32_t rflags = NFSV4OPEN_LOCKTYPEPOSIX, acemask; int how = NFSCREATE_UNCHECKED; int32_t cverf[2], tverf[2] = { 0, 0 }; @@ -3046,15 +3050,38 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int is */ nd->nd_repstat = (vp->v_type == VDIR) ? NFSERR_ISDIR : NFSERR_SYMLINK; } + + /* + * If the Open is being done for a file that already exists, apply + * normal permission checking including for the file owner, if + * vfs.nfsd.v4openaccess is set. + * Previously, the owner was always allowed to open the file to + * be consistent with the NFS tradition of always allowing the + * owner of the file to write to the file regardless of permissions. + * It now appears that the Linux client expects the owner + * permissions to be checked for opens that are not creating the + * file. I believe the correct approach is to use the Access + * operation's results to be consistent with NFSv3, but that is + * not what the current Linux client appears to be doing. + * Since both the Linux and OpenSolaris NFSv4 servers do this check, + * I have enabled it by default. + * If this semantic change causes a problem, it can be disabled by + * setting the sysctl vfs.nfsd.v4openaccess to 0 to re-enable the + * previous semantics. + */ + if (nfsrv_openaccess && create == NFSV4OPEN_NOCREATE) + override = NFSACCCHK_NOOVERRIDE; + else + override = NFSACCCHK_ALLOWOWNER; if (!nd->nd_repstat && (stp->ls_flags & NFSLCK_WRITEACCESS)) nd->nd_repstat = nfsvno_accchk(vp, VWRITE, nd->nd_cred, - exp, p, NFSACCCHK_ALLOWOWNER, NFSACCCHK_VPISLOCKED, NULL); + exp, p, override, NFSACCCHK_VPISLOCKED, NULL); if (!nd->nd_repstat && (stp->ls_flags & NFSLCK_READACCESS)) { nd->nd_repstat = nfsvno_accchk(vp, VREAD, nd->nd_cred, - exp, p, NFSACCCHK_ALLOWOWNER, NFSACCCHK_VPISLOCKED, NULL); + exp, p, override, NFSACCCHK_VPISLOCKED, NULL); if (nd->nd_repstat) nd->nd_repstat = nfsvno_accchk(vp, VEXEC, - nd->nd_cred, exp, p, NFSACCCHK_ALLOWOWNER, + nd->nd_cred, exp, p, override, NFSACCCHK_VPISLOCKED, NULL); } From owner-svn-src-head@freebsd.org Wed Apr 8 08:53:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 625DD2ADAD0; Wed, 8 Apr 2020 08:53:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xyjm1pNdz3wwX; Wed, 8 Apr 2020 08:53:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 392242099A; Wed, 8 Apr 2020 08:53:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0388rWOf047356; Wed, 8 Apr 2020 08:53:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0388rVt9047354; Wed, 8 Apr 2020 08:53:31 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004080853.0388rVt9047354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 8 Apr 2020 08:53:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359723 - head/sys/dev/mlx5/mlx5_en X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 359723 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 08:53:32 -0000 Author: hselasky Date: Wed Apr 8 08:53:31 2020 New Revision: 359723 URL: https://svnweb.freebsd.org/changeset/base/359723 Log: Remove obsolete bufring stats in mlx5en(4). Leftover from when DRBR was removed. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/mlx5/mlx5_en/en.h head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Modified: head/sys/dev/mlx5/mlx5_en/en.h ============================================================================== --- head/sys/dev/mlx5/mlx5_en/en.h Wed Apr 8 08:05:02 2020 (r359722) +++ head/sys/dev/mlx5/mlx5_en/en.h Wed Apr 8 08:53:31 2020 (r359723) @@ -827,7 +827,6 @@ struct mlx5e_sq { /* pointers to per packet info: write@xmit, read@completion */ struct mlx5e_sq_mbuf *mbuf; - struct buf_ring *br; /* read only */ struct mlx5_wq_cyc wq; Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Wed Apr 8 08:05:02 2020 (r359722) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Wed Apr 8 08:53:31 2020 (r359723) @@ -852,7 +852,6 @@ mlx5e_update_stats_locked(struct mlx5e_priv *priv) struct mlx5_core_dev *mdev = priv->mdev; struct mlx5e_vport_stats *s = &priv->stats.vport; struct mlx5e_sq_stats *sq_stats; - struct buf_ring *sq_br; #if (__FreeBSD_version < 1100000) struct ifnet *ifp = priv->ifp; #endif @@ -902,13 +901,10 @@ mlx5e_update_stats_locked(struct mlx5e_priv *priv) for (j = 0; j < priv->num_tc; j++) { sq_stats = &pch->sq[j].stats; - sq_br = pch->sq[j].br; tso_packets += sq_stats->tso_packets; tso_bytes += sq_stats->tso_bytes; tx_queue_dropped += sq_stats->dropped; - if (sq_br != NULL) - tx_queue_dropped += sq_br->br_drops; tx_defragged += sq_stats->defragged; tx_offload_none += sq_stats->csum_offload_none; } From owner-svn-src-head@freebsd.org Wed Apr 8 08:56:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7AE552ADC97; Wed, 8 Apr 2020 08:56:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48xyn81c12z3x8c; Wed, 8 Apr 2020 08:56:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3273B2099D; Wed, 8 Apr 2020 08:56:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0388uSv5047612; Wed, 8 Apr 2020 08:56:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0388uSfk047611; Wed, 8 Apr 2020 08:56:28 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004080856.0388uSfk047611@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 8 Apr 2020 08:56:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359724 - head/sys/dev/mlx5/mlx5_en X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 359724 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 08:56:28 -0000 Author: hselasky Date: Wed Apr 8 08:56:27 2020 New Revision: 359724 URL: https://svnweb.freebsd.org/changeset/base/359724 Log: Account out of buffer as dropped packets in mlx5en(4). MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Wed Apr 8 08:53:31 2020 (r359723) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Wed Apr 8 08:56:27 2020 (r359724) @@ -905,6 +905,7 @@ mlx5e_update_stats_locked(struct mlx5e_priv *priv) tso_packets += sq_stats->tso_packets; tso_bytes += sq_stats->tso_bytes; tx_queue_dropped += sq_stats->dropped; + tx_queue_dropped += sq_stats->enobuf; tx_defragged += sq_stats->defragged; tx_offload_none += sq_stats->csum_offload_none; } From owner-svn-src-head@freebsd.org Wed Apr 8 16:07:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E82BA2B5E1C; Wed, 8 Apr 2020 16:07:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48y8M15yJGz4LDd; Wed, 8 Apr 2020 16:07:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C792E25D31; Wed, 8 Apr 2020 16:07:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 038G7voV011988; Wed, 8 Apr 2020 16:07:57 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 038G7v6F011987; Wed, 8 Apr 2020 16:07:57 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004081607.038G7v6F011987@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 8 Apr 2020 16:07:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359726 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 359726 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 16:07:58 -0000 Author: hselasky Date: Wed Apr 8 16:07:57 2020 New Revision: 359726 URL: https://svnweb.freebsd.org/changeset/base/359726 Log: Some fixes for SRCU in the LinuxKPI. - Make sure to use READ_ONCE() when deferring variables. - Remove superfluous zero initializer. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/srcu.h Modified: head/sys/compat/linuxkpi/common/include/linux/srcu.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/srcu.h Wed Apr 8 14:11:54 2020 (r359725) +++ head/sys/compat/linuxkpi/common/include/linux/srcu.h Wed Apr 8 16:07:57 2020 (r359726) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015-2017 Mellanox Technologies, Ltd. + * Copyright (c) 2015-2020 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,13 +29,16 @@ #ifndef _LINUX_SRCU_H_ #define _LINUX_SRCU_H_ +#include + struct srcu_struct { }; -#define srcu_dereference(ptr,srcu) ((__typeof(*(ptr)) *)(ptr)) +#define srcu_dereference(p, srcu) \ + ((__typeof(*(p)) *)READ_ONCE(p)) #define DEFINE_STATIC_SRCU(name) \ - static struct srcu_struct name = {} + static struct srcu_struct name /* prototypes */ From owner-svn-src-head@freebsd.org Wed Apr 8 17:09:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E15C42B72A3; Wed, 8 Apr 2020 17:09:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48y9kL5cJ2z4Q2x; Wed, 8 Apr 2020 17:09:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B77ED2688A; Wed, 8 Apr 2020 17:09:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 038H9kk7050313; Wed, 8 Apr 2020 17:09:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 038H9kRp050310; Wed, 8 Apr 2020 17:09:46 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004081709.038H9kRp050310@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 8 Apr 2020 17:09:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359727 - in head/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src sys X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in head/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src sys X-SVN-Commit-Revision: 359727 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 17:09:46 -0000 Author: hselasky Date: Wed Apr 8 17:09:45 2020 New Revision: 359727 URL: https://svnweb.freebsd.org/changeset/base/359727 Log: Clone the RCU interface into a sleepable and a non-sleepable part in the LinuxKPI. This allows synchronize RCU to be used inside a SRCU read section. No functional change intended. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/rcupdate.h head/sys/compat/linuxkpi/common/src/linux_rcu.c head/sys/sys/param.h Modified: head/sys/compat/linuxkpi/common/include/linux/rcupdate.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/rcupdate.h Wed Apr 8 16:07:57 2020 (r359726) +++ head/sys/compat/linuxkpi/common/include/linux/rcupdate.h Wed Apr 8 17:09:45 2020 (r359727) @@ -35,6 +35,11 @@ #define LINUX_KFREE_RCU_OFFSET_MAX 4096 /* exclusive */ +/* BSD specific defines */ +#define RCU_TYPE_REGULAR 0 +#define RCU_TYPE_SLEEPABLE 1 +#define RCU_TYPE_MAX 2 + #define RCU_INITIALIZER(v) \ ((__typeof(*(v)) *)(v)) @@ -43,27 +48,27 @@ } while (0) #define call_rcu(ptr, func) do { \ - linux_call_rcu(ptr, func); \ + linux_call_rcu(RCU_TYPE_REGULAR, ptr, func); \ } while (0) #define rcu_barrier(void) do { \ - linux_rcu_barrier(); \ + linux_rcu_barrier(RCU_TYPE_REGULAR); \ } while (0) #define rcu_read_lock(void) do { \ - linux_rcu_read_lock(); \ + linux_rcu_read_lock(RCU_TYPE_REGULAR); \ } while (0) #define rcu_read_unlock(void) do { \ - linux_rcu_read_unlock(); \ + linux_rcu_read_unlock(RCU_TYPE_REGULAR);\ } while (0) #define synchronize_rcu(void) do { \ - linux_synchronize_rcu(); \ + linux_synchronize_rcu(RCU_TYPE_REGULAR); \ } while (0) #define synchronize_rcu_expedited(void) do { \ - linux_synchronize_rcu(); \ + linux_synchronize_rcu(RCU_TYPE_REGULAR); \ } while (0) #define kfree_rcu(ptr, rcu_head) do { \ @@ -94,11 +99,11 @@ /* prototypes */ -extern void linux_call_rcu(struct rcu_head *ptr, rcu_callback_t func); -extern void linux_rcu_barrier(void); -extern void linux_rcu_read_lock(void); -extern void linux_rcu_read_unlock(void); -extern void linux_synchronize_rcu(void); +extern void linux_call_rcu(unsigned type, struct rcu_head *ptr, rcu_callback_t func); +extern void linux_rcu_barrier(unsigned type); +extern void linux_rcu_read_lock(unsigned type); +extern void linux_rcu_read_unlock(unsigned type); +extern void linux_synchronize_rcu(unsigned type); /* Empty implementation for !DEBUG */ #define init_rcu_head(...) Modified: head/sys/compat/linuxkpi/common/src/linux_rcu.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_rcu.c Wed Apr 8 16:07:57 2020 (r359726) +++ head/sys/compat/linuxkpi/common/src/linux_rcu.c Wed Apr 8 17:09:45 2020 (r359727) @@ -1,6 +1,6 @@ /*- * Copyright (c) 2016 Matthew Macy (mmacy@mattmacy.io) - * Copyright (c) 2017 Hans Petter Selasky (hselasky@freebsd.org) + * Copyright (c) 2017-2020 Hans Petter Selasky (hselasky@freebsd.org) * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -90,9 +90,9 @@ CTASSERT(sizeof(struct rcu_head) == sizeof(struct call */ CTASSERT(offsetof(struct linux_epoch_record, epoch_record) == 0); -static ck_epoch_t linux_epoch; -static struct linux_epoch_head linux_epoch_head; -DPCPU_DEFINE_STATIC(struct linux_epoch_record, linux_epoch_record); +static ck_epoch_t linux_epoch[RCU_TYPE_MAX]; +static struct linux_epoch_head linux_epoch_head[RCU_TYPE_MAX]; +DPCPU_DEFINE_STATIC(struct linux_epoch_record, linux_epoch_record[RCU_TYPE_MAX]); static void linux_rcu_cleaner_func(void *, int); @@ -101,23 +101,27 @@ linux_rcu_runtime_init(void *arg __unused) { struct linux_epoch_head *head; int i; + int j; - ck_epoch_init(&linux_epoch); + for (j = 0; j != RCU_TYPE_MAX; j++) { + ck_epoch_init(&linux_epoch[j]); - head = &linux_epoch_head; + head = &linux_epoch_head[j]; - mtx_init(&head->lock, "LRCU-HEAD", NULL, MTX_DEF); - TASK_INIT(&head->task, 0, linux_rcu_cleaner_func, NULL); - STAILQ_INIT(&head->cb_head); + mtx_init(&head->lock, "LRCU-HEAD", NULL, MTX_DEF); + TASK_INIT(&head->task, 0, linux_rcu_cleaner_func, head); + STAILQ_INIT(&head->cb_head); - CPU_FOREACH(i) { - struct linux_epoch_record *record; + CPU_FOREACH(i) { + struct linux_epoch_record *record; - record = &DPCPU_ID_GET(i, linux_epoch_record); + record = &DPCPU_ID_GET(i, linux_epoch_record[j]); - record->cpuid = i; - ck_epoch_register(&linux_epoch, &record->epoch_record, NULL); - TAILQ_INIT(&record->ts_head); + record->cpuid = i; + ck_epoch_register(&linux_epoch[j], + &record->epoch_record, NULL); + TAILQ_INIT(&record->ts_head); + } } } SYSINIT(linux_rcu_runtime, SI_SUB_CPU, SI_ORDER_ANY, linux_rcu_runtime_init, NULL); @@ -126,24 +130,27 @@ static void linux_rcu_runtime_uninit(void *arg __unused) { struct linux_epoch_head *head; + int j; - head = &linux_epoch_head; + for (j = 0; j != RCU_TYPE_MAX; j++) { + head = &linux_epoch_head[j]; - /* destroy head lock */ - mtx_destroy(&head->lock); + mtx_destroy(&head->lock); + } } SYSUNINIT(linux_rcu_runtime, SI_SUB_LOCK, SI_ORDER_SECOND, linux_rcu_runtime_uninit, NULL); static void -linux_rcu_cleaner_func(void *context __unused, int pending __unused) +linux_rcu_cleaner_func(void *context, int pending __unused) { struct linux_epoch_head *head; struct callback_head *rcu; STAILQ_HEAD(, callback_head) tmp_head; + uintptr_t offset; linux_set_current(curthread); - head = &linux_epoch_head; + head = context; /* move current callbacks into own queue */ mtx_lock(&head->lock); @@ -152,11 +159,10 @@ linux_rcu_cleaner_func(void *context __unused, int pen mtx_unlock(&head->lock); /* synchronize */ - linux_synchronize_rcu(); + linux_synchronize_rcu(head - linux_epoch_head); /* dispatch all callbacks, if any */ while ((rcu = STAILQ_FIRST(&tmp_head)) != NULL) { - uintptr_t offset; STAILQ_REMOVE_HEAD(&tmp_head, entry); @@ -170,11 +176,13 @@ linux_rcu_cleaner_func(void *context __unused, int pen } void -linux_rcu_read_lock(void) +linux_rcu_read_lock(unsigned type) { struct linux_epoch_record *record; struct task_struct *ts; + MPASS(type < RCU_TYPE_MAX); + if (RCU_SKIP()) return; @@ -184,7 +192,7 @@ linux_rcu_read_lock(void) */ sched_pin(); - record = &DPCPU_GET(linux_epoch_record); + record = &DPCPU_GET(linux_epoch_record[type]); ts = current; /* @@ -200,15 +208,17 @@ linux_rcu_read_lock(void) } void -linux_rcu_read_unlock(void) +linux_rcu_read_unlock(unsigned type) { struct linux_epoch_record *record; struct task_struct *ts; + MPASS(type < RCU_TYPE_MAX); + if (RCU_SKIP()) return; - record = &DPCPU_GET(linux_epoch_record); + record = &DPCPU_GET(linux_epoch_record[type]); ts = current; /* @@ -283,7 +293,7 @@ linux_synchronize_rcu_cb(ck_epoch_t *epoch __unused, c } void -linux_synchronize_rcu(void) +linux_synchronize_rcu(unsigned type) { struct thread *td; int was_bound; @@ -291,6 +301,8 @@ linux_synchronize_rcu(void) int old_pinned; u_char old_prio; + MPASS(type < RCU_TYPE_MAX); + if (RCU_SKIP()) return; @@ -314,7 +326,7 @@ linux_synchronize_rcu(void) td->td_pinned = 0; sched_bind(td, old_cpu); - ck_epoch_synchronize_wait(&linux_epoch, + ck_epoch_synchronize_wait(&linux_epoch[type], &linux_synchronize_rcu_cb, NULL); /* restore CPU binding, if any */ @@ -337,24 +349,31 @@ linux_synchronize_rcu(void) } void -linux_rcu_barrier(void) +linux_rcu_barrier(unsigned type) { struct linux_epoch_head *head; - linux_synchronize_rcu(); + MPASS(type < RCU_TYPE_MAX); - head = &linux_epoch_head; + linux_synchronize_rcu(type); + head = &linux_epoch_head[type]; + /* wait for callbacks to complete */ taskqueue_drain(taskqueue_fast, &head->task); } void -linux_call_rcu(struct rcu_head *context, rcu_callback_t func) +linux_call_rcu(unsigned type, struct rcu_head *context, rcu_callback_t func) { - struct callback_head *rcu = (struct callback_head *)context; - struct linux_epoch_head *head = &linux_epoch_head; + struct callback_head *rcu; + struct linux_epoch_head *head; + MPASS(type < RCU_TYPE_MAX); + + rcu = (struct callback_head *)context; + head = &linux_epoch_head[type]; + mtx_lock(&head->lock); rcu->func = func; STAILQ_INSERT_TAIL(&head->cb_head, rcu, entry); @@ -376,24 +395,24 @@ cleanup_srcu_struct(struct srcu_struct *srcu) int srcu_read_lock(struct srcu_struct *srcu) { - linux_rcu_read_lock(); + linux_rcu_read_lock(RCU_TYPE_SLEEPABLE); return (0); } void srcu_read_unlock(struct srcu_struct *srcu, int key __unused) { - linux_rcu_read_unlock(); + linux_rcu_read_unlock(RCU_TYPE_SLEEPABLE); } void synchronize_srcu(struct srcu_struct *srcu) { - linux_synchronize_rcu(); + linux_synchronize_rcu(RCU_TYPE_SLEEPABLE); } void srcu_barrier(struct srcu_struct *srcu) { - linux_rcu_barrier(); + linux_rcu_barrier(RCU_TYPE_SLEEPABLE); } Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Wed Apr 8 16:07:57 2020 (r359726) +++ head/sys/sys/param.h Wed Apr 8 17:09:45 2020 (r359727) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300088 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300089 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Wed Apr 8 17:55:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6034C2B7B43; Wed, 8 Apr 2020 17:55:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yBlQ1hC6z4Rv4; Wed, 8 Apr 2020 17:55:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 30B002720F; Wed, 8 Apr 2020 17:55:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 038Htj65080419; Wed, 8 Apr 2020 17:55:45 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 038Htjlu080418; Wed, 8 Apr 2020 17:55:45 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004081755.038Htjlu080418@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Wed, 8 Apr 2020 17:55:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359729 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359729 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 17:55:46 -0000 Author: imp Date: Wed Apr 8 17:55:45 2020 New Revision: 359729 URL: https://svnweb.freebsd.org/changeset/base/359729 Log: Fix copyright year and eliminate the obsolete all rights reserved line. Reviewed by: rrs@ Modified: head/sys/netinet/tcp_ratelimit.c head/sys/netinet/tcp_ratelimit.h Modified: head/sys/netinet/tcp_ratelimit.c ============================================================================== --- head/sys/netinet/tcp_ratelimit.c Wed Apr 8 17:41:28 2020 (r359728) +++ head/sys/netinet/tcp_ratelimit.c Wed Apr 8 17:55:45 2020 (r359729) @@ -2,9 +2,8 @@ * * SPDX-License-Identifier: BSD-3-Clause * - * Copyright (c) 2018-2019 + * Copyright (c) 2018-2020 * Netflix Inc. - * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/sys/netinet/tcp_ratelimit.h ============================================================================== --- head/sys/netinet/tcp_ratelimit.h Wed Apr 8 17:41:28 2020 (r359728) +++ head/sys/netinet/tcp_ratelimit.h Wed Apr 8 17:55:45 2020 (r359729) @@ -2,9 +2,8 @@ * * SPDX-License-Identifier: BSD-3-Clause * - * Copyright (c) 2018-2019 + * Copyright (c) 2018-2020 * Netflix Inc. - * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From owner-svn-src-head@freebsd.org Wed Apr 8 18:28:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 676C9278BA5; Wed, 8 Apr 2020 18:28:32 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yCTC1DN1z4V3m; Wed, 8 Apr 2020 18:28:30 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pl1-x631.google.com with SMTP id t4so2801678plq.12; Wed, 08 Apr 2020 11:28:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=J4/tz0kv53J6oGl6EElT+9Y7hSUYXd79bMJW+6Wwtvg=; b=YkZ+hI7V8PVwLAdO9oKjitH0CnnRpqU7zP/RN4ZblWzzG6HrpQO2UW7isFKJQP/7Ni C+ZLNzu1vfq+7QOKYEx1wYw53690lhTSORiyQubOLUJvz+Igb18y6l5MKS4+/TQ5Kghs P7YWdxvF5WM5n4bELfRpBsmT1ba0r4qNIHxMNoelzLJ7xPN8xazstIdbpqK84Vej6iZE 7bX11FwZg2+/vWQiYwIWuuiRlzmrdnpKxlkJJzhP8JUydVPJoO8JRWCPif1z+VVvsb44 xoKqfZ9tEcaeWBPob634ciEGUQ4VikaKRSlvDVZWk65nkh1Xi0k2t8if3+CcP9qoTvhu 3kWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=J4/tz0kv53J6oGl6EElT+9Y7hSUYXd79bMJW+6Wwtvg=; b=sbk0jtbc8uGC1c7IC5JTXSnmTPQ+kr2PiKVNhCeQzRsLoipxXA4EU/fVAJIwG5X9Ec sLczRX+8a3V5/PP25AAhMzRJzX5eDkfwHjDP9I/u1KhXJeyBXSTeq6tPPCf6ep/M3kuk /M1sHAKYt5cvi53dbbqoQxj2kJed9dRFKcsYYMsdEP/LWHyZbRW0g7gr7UbUkTL1WCla tV/pMg0/qGGFsnKUX8xbjYzJbcnG+q9gMHah43Bk7IVAg4U9BdZ26hm4vcGsmU0mrM4v tvXEfuVSXWGLjPW18Eh2VWdCZ5/Xb9SAafrzQyeyKMr7eImjG4tZLySBCTtfVoFjGEgG vmwQ== X-Gm-Message-State: AGi0PuZY37NzmD/OR3eFIknYT8cYq4ZWb697TiRBaSJa/gN/Qg+fv/Yq mTdxy2dJC83/mgW11C/JP7nFTuRXF/0= X-Google-Smtp-Source: APiQypJi8VzlhqkOoCZvHqrA7M55AIMLUZHDkkKnVqKgW24zFtyJ+4bGP3QKuXHRuYAjv/3Ut8i2Zg== X-Received: by 2002:a17:902:8305:: with SMTP id bd5mr8024197plb.114.1586370509095; Wed, 08 Apr 2020 11:28:29 -0700 (PDT) Received: from [192.168.20.26] (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id a2sm192845pja.44.2020.04.08.11.28.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 08 Apr 2020 11:28:28 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r359689 - head/usr.sbin/config From: Enji Cooper In-Reply-To: <202004071414.037EEx5Q057793@repo.freebsd.org> Date: Wed, 8 Apr 2020 11:28:27 -0700 Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <8AAE567D-BEC5-4AF1-B290-D4EA833ED96A@gmail.com> References: <202004071414.037EEx5Q057793@repo.freebsd.org> To: Kyle Evans X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Rspamd-Queue-Id: 48yCTC1DN1z4V3m X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=YkZ+hI7V; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::631 as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com X-Spamd-Result: default: False [-2.50 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RECEIVED_SPAMHAUS_PBL(0.00)[228.52.19.73.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (-8.96), ipnet: 2607:f8b0::/32(-0.33), asn: 15169(-0.43), country: US(-0.05)]; IP_SCORE_FREEMAIL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[1.3.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 18:28:32 -0000 > On Apr 7, 2020, at 7:14 AM, Kyle Evans wrote: >=20 > Author: kevans > Date: Tue Apr 7 14:14:59 2020 > New Revision: 359689 > URL: https://svnweb.freebsd.org/changeset/base/359689 >=20 > Log: > config(8): "fix" a couple of buffer overflows >=20 > Recently added/changed lines in various kernel configs have caused = some > buffer overflows that went undetected. These were detected with a = config > built using -fno-common as these line buffers smashed one of our = arrays, > then further triaged with ASAN. >=20 > Double the sizes; this is really not a great fix, but addresses the > immediate need until someone rewrites config. While here, add some = bounds > checking so that we don't need to detect this by random bus errors or = other > weird failures. Good catch! This seems like it deserves a follow up PR in = Bugzilla. Cheers, -Enji= From owner-svn-src-head@freebsd.org Wed Apr 8 18:43:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7526027907A; Wed, 8 Apr 2020 18:43:01 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yCnx2LMYz4Vp2; Wed, 8 Apr 2020 18:43:01 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4B9A427BAF; Wed, 8 Apr 2020 18:43:01 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 038Ih1lI011318; Wed, 8 Apr 2020 18:43:01 GMT (envelope-from oshogbo@FreeBSD.org) Received: (from oshogbo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 038Ih1iF011317; Wed, 8 Apr 2020 18:43:01 GMT (envelope-from oshogbo@FreeBSD.org) Message-Id: <202004081843.038Ih1iF011317@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: oshogbo set sender to oshogbo@FreeBSD.org using -f From: Mariusz Zaborski Date: Wed, 8 Apr 2020 18:43:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359730 - head/usr.bin/logger X-SVN-Group: head X-SVN-Commit-Author: oshogbo X-SVN-Commit-Paths: head/usr.bin/logger X-SVN-Commit-Revision: 359730 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 18:43:01 -0000 Author: oshogbo Date: Wed Apr 8 18:43:00 2020 New Revision: 359730 URL: https://svnweb.freebsd.org/changeset/base/359730 Log: logger: temporarily disable Capsicum when a host is provided We don't have a way to send a UDP package. PR: 245314 Reported by: dch Discussed with: emaste Modified: head/usr.bin/logger/logger.c Modified: head/usr.bin/logger/logger.c ============================================================================== --- head/usr.bin/logger/logger.c Wed Apr 8 17:55:45 2020 (r359729) +++ head/usr.bin/logger/logger.c Wed Apr 8 18:43:00 2020 (r359730) @@ -181,8 +181,10 @@ main(int argc, char *argv[]) err(1, "Unable to contact Casper"); caph_cache_catpages(); caph_cache_tzdata(); - if (caph_enter() < 0) - err(1, "Unable to enter capability mode"); + if (nsock == 0) { + if (caph_enter() < 0) + err(1, "Unable to enter capability mode"); + } capsyslog = cap_service_open(capcas, "system.syslog"); if (capsyslog == NULL) err(1, "Unable to open system.syslog service"); From owner-svn-src-head@freebsd.org Wed Apr 8 20:00:31 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 89FCD27B214; Wed, 8 Apr 2020 20:00:31 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yFWM35pGz4Zt9; Wed, 8 Apr 2020 20:00:31 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6590A97C; Wed, 8 Apr 2020 20:00:31 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 038K0Vsw054891; Wed, 8 Apr 2020 20:00:31 GMT (envelope-from brueffer@FreeBSD.org) Received: (from brueffer@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 038K0VMq054889; Wed, 8 Apr 2020 20:00:31 GMT (envelope-from brueffer@FreeBSD.org) Message-Id: <202004082000.038K0VMq054889@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brueffer set sender to brueffer@FreeBSD.org using -f From: Christian Brueffer Date: Wed, 8 Apr 2020 20:00:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359731 - head/share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: brueffer X-SVN-Commit-Paths: head/share/man/man5 X-SVN-Commit-Revision: 359731 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 20:00:31 -0000 Author: brueffer Date: Wed Apr 8 20:00:30 2020 New Revision: 359731 URL: https://svnweb.freebsd.org/changeset/base/359731 Log: Add a basic manpage for smbfs(5). Submitted by: Gordon Bergling MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23905 Added: head/share/man/man5/smbfs.5 (contents, props changed) Modified: head/share/man/man5/Makefile Modified: head/share/man/man5/Makefile ============================================================================== --- head/share/man/man5/Makefile Wed Apr 8 18:43:00 2020 (r359730) +++ head/share/man/man5/Makefile Wed Apr 8 20:00:30 2020 (r359731) @@ -63,6 +63,7 @@ MAN= acct.5 \ resolver.5 \ services.5 \ shells.5 \ + smbfs.5 \ src.conf.5 \ stab.5 \ style.Makefile.5 \ Added: head/share/man/man5/smbfs.5 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man5/smbfs.5 Wed Apr 8 20:00:30 2020 (r359731) @@ -0,0 +1,79 @@ +.\" Copyright (c) 2020 Gordon Bergling +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd April 8, 2020 +.Dt SMBFS 5 +.Os +.Sh NAME +.Nm smbfs +.Nd "SMB FS" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "option NETSMB" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +smbfs_load="YES" +.Ed +.Sh DESCRIPTION +The SMB driver is an implementation of the CIFS (Common Internet Filesystem) +network protocol. +.Sh SEE ALSO +.Xr smbutil 1 , +.Xr mount_smbfs 8 +.Sh STANDARDS +.Rs +.%U https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-cifs/ +.%T Common Internet File System (CIFS) Protocol +.%R MS-CIFS +.%D December 2018 +.Re +.Pp +.Rs +.%U https://tools.ietf.org/html/draft-heizer-cifs-v1-spec-00 +.%T Common Internet File System Protocol (CIFS/1.0) +.%D June 13, 1996 +.%A I. Heizer +.%A P. Leach +.%A D. Perry +.Re +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 4.4 . +.Sh AUTHORS +The +.Nm +device driver was written by +.An Boris Popov Aq Mt bp@FreeBSD.org . +The manual page was contributed by +.An Gordon Bergling Aq Mt gbergling@gmail.com . From owner-svn-src-head@freebsd.org Wed Apr 8 23:01:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2796F27F539 for ; Wed, 8 Apr 2020 23:01:47 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: from mail-vk1-f196.google.com (mail-vk1-f196.google.com [209.85.221.196]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yKXT72v8z3H59 for ; Wed, 8 Apr 2020 23:01:45 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: by mail-vk1-f196.google.com with SMTP id n128so2295777vke.5 for ; Wed, 08 Apr 2020 16:01:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8nT6NfP0UC89ARQXjPWqYuZnpe3zfAjIyyiYgqwcvxQ=; b=tKvNowIGuCJ9kskS2CS+gaXa2KLIavBkGwp+sa1rwREQqRITVqyYeoGLGABmvpkdyn p3hR41Vkp2Wv94T3eb6RfyqHECWLVE2VNb5fkD98FvcHp4S2/0L0oT3KNKAnzlicEJP9 fDXjHLBI5mXZlhI59nyEuJ8FD5YmjceX1uQbcf9OyegsADMjY1aQsd+SYyLaSxovNOuW p6x/wS6Dl/+NJZXBc4XRaHRxwNlZuAIiLdeUJ5OvagdaF5UWn/sBN8UI+wDncH0KpQ1Y 3V5txV7bDSTkR2IohUgZY4NxkR3UkBPtH/zAo9md+jc5qJ1X6sxKouJIZXgQwKQHKpqF n4Ww== X-Gm-Message-State: AGi0PuYrydsSRZthMCFcjtLVs3kMKFcMzeqgU3KO21mUXpS8FsqpO8ny Dyp5Oj51Wlv8A89KhKGatN0scZP+6NmkAPo/6SQxDA== X-Google-Smtp-Source: APiQypJy/JQW32iF0dM1uKFrxRZsUTUwGM5kFNhC1cpAiJ8djJ7dcjqe9yxOb9wbdGFh3NMMZynwYWgyhRU1LQdokjQ= X-Received: by 2002:a1f:2706:: with SMTP id n6mr7741628vkn.88.1586386904460; Wed, 08 Apr 2020 16:01:44 -0700 (PDT) MIME-Version: 1.0 References: <202004070246.0372kNIx036216@repo.freebsd.org> <202004071037.037Abd5T091937@gndrsh.dnsmgr.net> In-Reply-To: <202004071037.037Abd5T091937@gndrsh.dnsmgr.net> From: Maxim Sobolev Date: Wed, 8 Apr 2020 16:01:33 -0700 Message-ID: Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb To: "Rodney W. Grimes" Cc: src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 48yKXT72v8z3H59 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of sobomax@sippysoft.com designates 209.85.221.196 as permitted sender) smtp.mailfrom=sobomax@sippysoft.com X-Spamd-Result: default: False [-2.20 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[196.221.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.21)[ip: (-0.16), ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; FORGED_SENDER(0.30)[sobomax@freebsd.org,sobomax@sippysoft.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[196.221.85.209.rep.mailspike.net : 127.0.0.17]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[sobomax@freebsd.org,sobomax@sippysoft.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 23:01:47 -0000 On Tue, Apr 7, 2020 at 3:37 AM Rodney W. Grimes wrote: > > Author: sobomax > > Date: Tue Apr 7 02:46:22 2020 > > New Revision: 359685 > > URL: https://svnweb.freebsd.org/changeset/base/359685 > > > > Log: > > Normalize deployment tools usage and definitions by putting into one > place > > instead of sprinkling them out over many disjoint files. This is a > follow-up > > to achieve the same goal in an incomplete rev.348521. > > I have concerns that this factoring out of 5 values that have not changed > in 25 years is a pessimization, it is one more file that make has to > open on each invocation. > Well, luckily enough the cost of opening a file has been exponentially declining over those 25 years, so we are probably many-orders of magnitude faster than we used to be back in 1995. Or so I've heard. :) Having those variables defined in a centralized manner allows us here for example to convert the result of what would be installworld/installkernel/distribution action into a self-extracting archive (optionally signed) with automatically generated script, which does the action in question. As such, we can now build in a completely sandboxed environment with 0 privileges (potentially even on something completely alien like GNU/Linux) and then deploy it to as many systems as we need or use to create VM images / Jails. https://github.com/sobomax/sysmaker/blob/master/makeargs/distribution.sub https://github.com/sobomax/sysmaker/blob/master/makeargs/installkernel.sub https://github.com/sobomax/sysmaker/blob/master/makeargs/installworld.sub I have very few reasons to believe that our needs to be unique in this, I am pretty sure others will find some interesting use for this as well (e.g. signing binaries being installed, etc). -Max From owner-svn-src-head@freebsd.org Thu Apr 9 00:12:33 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EE2B12A8A82; Thu, 9 Apr 2020 00:12:33 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48yM69486Hz3LNg; Thu, 9 Apr 2020 00:12:33 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 0390CVFn002904; Wed, 8 Apr 2020 17:12:31 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 0390CV5H002903; Wed, 8 Apr 2020 17:12:31 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004090012.0390CV5H002903@gndrsh.dnsmgr.net> Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb In-Reply-To: To: Maxim Sobolev Date: Wed, 8 Apr 2020 17:12:31 -0700 (PDT) CC: "Rodney W. Grimes" , src-committers , svn-src-all , svn-src-head Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48yM69486Hz3LNg X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 00:12:34 -0000 > On Tue, Apr 7, 2020 at 3:37 AM Rodney W. Grimes > wrote: > > > > Author: sobomax > > > Date: Tue Apr 7 02:46:22 2020 > > > New Revision: 359685 > > > URL: https://svnweb.freebsd.org/changeset/base/359685 > > > > > > Log: > > > Normalize deployment tools usage and definitions by putting into one > > place > > > instead of sprinkling them out over many disjoint files. This is a > > follow-up > > > to achieve the same goal in an incomplete rev.348521. > > > > I have concerns that this factoring out of 5 values that have not changed > > in 25 years is a pessimization, it is one more file that make has to > > open on each invocation. > > > > Well, luckily enough the cost of opening a file has been exponentially > declining over those 25 years, so we are probably many-orders of magnitude > faster than we used to be back in 1995. Or so I've heard. :) I believe we are pretty much just on par and no more than 1 order of magnitude on time completion of make world. > > Having those variables defined in a centralized manner allows us here for > example to convert the result of what would be > installworld/installkernel/distribution action into a self-extracting > archive (optionally signed) with automatically generated script, which does > the action in question. As such, we can now build in a completely sandboxed > environment with 0 privileges (potentially even on something completely > alien like GNU/Linux) and then deploy it to as many systems as we need or > use to create VM images / Jails. > > https://github.com/sobomax/sysmaker/blob/master/makeargs/distribution.sub > https://github.com/sobomax/sysmaker/blob/master/makeargs/installkernel.sub > https://github.com/sobomax/sysmaker/blob/master/makeargs/installworld.sub I do not see anything in that set of files that requires this change, am I missing something? All of the existing values should of been overridable from the make command line invocation, and it does not mater if they are in 1 file or 50 files. > I have very few reasons to believe that our needs to be unique in this, I > am pretty sure others will find some interesting use for this as well (e.g. > signing binaries being installed, etc). I do not see that your needs require this change. > > -Max -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Thu Apr 9 05:11:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2A23E2AE4FB; Thu, 9 Apr 2020 05:11:20 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yTkv6kS1z45h3; Thu, 9 Apr 2020 05:11:19 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E21AD7749; Thu, 9 Apr 2020 05:11:19 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0395BJWV093510; Thu, 9 Apr 2020 05:11:19 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0395BJTq093506; Thu, 9 Apr 2020 05:11:19 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202004090511.0395BJTq093506@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 9 Apr 2020 05:11:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359736 - in head: etc/mtree share/mk share/zoneinfo share/zoneinfo/tests X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: in head: etc/mtree share/mk share/zoneinfo share/zoneinfo/tests X-SVN-Commit-Revision: 359736 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 05:11:20 -0000 Author: delphij Date: Thu Apr 9 05:11:18 2020 New Revision: 359736 URL: https://svnweb.freebsd.org/changeset/base/359736 Log: Always install backward compatibility timezones, as they are installed on all major Linux distributions as well as NetBSD and OpenBSD. Remove the undocumented ZONEINFO_OLD_TIMEZONES_SUPPORT and the deprecated OLDTIMEZONES knobs as they are now the default. Reviewed by: ngie, rgrimes MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24306 Modified: head/etc/mtree/BSD.usr.dist head/share/mk/src.opts.mk head/share/zoneinfo/Makefile head/share/zoneinfo/tests/Makefile Modified: head/etc/mtree/BSD.usr.dist ============================================================================== --- head/etc/mtree/BSD.usr.dist Thu Apr 9 04:50:19 2020 (r359735) +++ head/etc/mtree/BSD.usr.dist Thu Apr 9 05:11:18 2020 (r359736) @@ -1253,15 +1253,25 @@ .. Australia .. + Brazil + .. + Canada + .. + Chile + .. Etc .. Europe .. Indian .. + Mexico + .. Pacific .. SystemV + .. + US .. .. .. Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Thu Apr 9 04:50:19 2020 (r359735) +++ head/share/mk/src.opts.mk Thu Apr 9 05:11:18 2020 (r359736) @@ -218,7 +218,6 @@ __DEFAULT_NO_OPTIONS = \ SORT_THREADS \ SVN \ ZONEINFO_LEAPSECONDS_SUPPORT \ - ZONEINFO_OLD_TIMEZONES_SUPPORT \ # LEFT/RIGHT. Left options which default to "yes" unless their corresponding # RIGHT option is disabled. @@ -466,7 +465,6 @@ MK_GOOGLETEST:= no .if ${MK_ZONEINFO} == "no" MK_ZONEINFO_LEAPSECONDS_SUPPORT:= no -MK_ZONEINFO_OLD_TIMEZONES_SUPPORT:= no .endif .if ${MK_CROSS_COMPILER} == "no" Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Thu Apr 9 04:50:19 2020 (r359735) +++ head/share/zoneinfo/Makefile Thu Apr 9 05:11:18 2020 (r359736) @@ -40,11 +40,6 @@ CONTRIBDIR= ${SRCTOP}/contrib/tzdata/ MK_ZONEINFO_LEAPSECONDS_SUPPORT= yes .endif -.if defined(OLDTIMEZONES) -.warning "Using backwards compatibility variable for OLDTIMEZONES; please use WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT instead" -MK_ZONEINFO_OLD_TIMEZONES_SUPPORT= yes -.endif - .if ${MK_ZONEINFO_LEAPSECONDS_SUPPORT} != "no" LEAPFILE= -L ${CONTRIBDIR}leapseconds .else @@ -53,12 +48,9 @@ LEAPFILE= TZFILES= africa antarctica asia australasia etcetera europe \ factory northamerica southamerica +TZFILES+= backward systemv POSIXRULES= America/New_York -.if ${MK_ZONEINFO_OLD_TIMEZONES_SUPPORT} != "no" -TZFILES+= backward systemv -.endif - TZFILES:= ${TZFILES:S/^/${CONTRIBDIR}/} TZBUILDDIR= ${.OBJDIR}/builddir @@ -78,10 +70,7 @@ TZBUILDSUBDIRS= \ Indian \ Pacific \ SystemV - -.if ${MK_ZONEINFO_OLD_TIMEZONES_SUPPORT} != "no" TZBUILDSUBDIRS+= US Mexico Chile Canada Brazil -.endif .if !defined(_SKIP_BUILD) all: zoneinfo Modified: head/share/zoneinfo/tests/Makefile ============================================================================== --- head/share/zoneinfo/tests/Makefile Thu Apr 9 04:50:19 2020 (r359735) +++ head/share/zoneinfo/tests/Makefile Thu Apr 9 05:11:18 2020 (r359736) @@ -8,10 +8,8 @@ PACKAGE= tests FILESGROUPS+= TESTFILES -.if ${MK_ZONEINFO_OLD_TIMEZONES_SUPPORT} != "no" ATF_TESTS_SH+= backward_test TESTFILES+= backward -.endif TESTFILES+= zoneinfo_common.sh TESTFILESPACKAGE= ${PACKAGE} From owner-svn-src-head@freebsd.org Thu Apr 9 14:21:17 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 440602BB5A0; Thu, 9 Apr 2020 14:21:17 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yjxT14qtz4dn2; Thu, 9 Apr 2020 14:21:17 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 144F6174FB; Thu, 9 Apr 2020 14:21:17 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f174.google.com with SMTP id z15so4044301qki.7; Thu, 09 Apr 2020 07:21:17 -0700 (PDT) X-Gm-Message-State: AGi0PuauUiC/Yz3pyZCWCneOhuJsXoTo6ELk8OCq7BwuEoUZEJHytAVe UT0LuUt3PPXR2OiMz6vCQ64r0PEm5cFIVttkoOc= X-Google-Smtp-Source: APiQypIgESXcUSWwla8mYvMEvSgRPLybeeU7j93sdwFVLlBhJHHggwEYuvkOpQE6tc3KJuMKbK5H8DcOTmNc3R3i8Pc= X-Received: by 2002:a37:6d8:: with SMTP id 207mr17562qkg.103.1586442076430; Thu, 09 Apr 2020 07:21:16 -0700 (PDT) MIME-Version: 1.0 References: <202004071414.037EEx5Q057793@repo.freebsd.org> <8AAE567D-BEC5-4AF1-B290-D4EA833ED96A@gmail.com> In-Reply-To: <8AAE567D-BEC5-4AF1-B290-D4EA833ED96A@gmail.com> From: Kyle Evans Date: Thu, 9 Apr 2020 09:21:03 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359689 - head/usr.sbin/config To: Enji Cooper Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 14:21:17 -0000 On Wed, Apr 8, 2020 at 1:28 PM Enji Cooper wrote: > > > > On Apr 7, 2020, at 7:14 AM, Kyle Evans wrote: > > > > Author: kevans > > Date: Tue Apr 7 14:14:59 2020 > > New Revision: 359689 > > URL: https://svnweb.freebsd.org/changeset/base/359689 > > > > Log: > > config(8): "fix" a couple of buffer overflows > > > > Recently added/changed lines in various kernel configs have caused some > > buffer overflows that went undetected. These were detected with a config > > built using -fno-common as these line buffers smashed one of our arrays, > > then further triaged with ASAN. > > > > Double the sizes; this is really not a great fix, but addresses the > > immediate need until someone rewrites config. While here, add some bounds > > checking so that we don't need to detect this by random bus errors or other > > weird failures. > > Good catch! This seems like it deserves a follow up PR in Bugzilla. I waffled a bit, then came to my senses and created one[0], as this really does need an actual fix or for someone to be motivated to rewrite config(8). [0] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245476 From owner-svn-src-head@freebsd.org Thu Apr 9 14:44:49 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4AE9B2BBF78; Thu, 9 Apr 2020 14:44:49 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ykSd1BGMz4gBH; Thu, 9 Apr 2020 14:44:49 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 23D91E687; Thu, 9 Apr 2020 14:44:49 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039EinJl049063; Thu, 9 Apr 2020 14:44:49 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039EikOO049053; Thu, 9 Apr 2020 14:44:46 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004091444.039EikOO049053@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 9 Apr 2020 14:44:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359745 - in head/sys: conf fs/nfs fs/nfsclient fs/nfsserver kern modules modules/nfslock nfs nlm sys X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys: conf fs/nfs fs/nfsclient fs/nfsserver kern modules modules/nfslock nfs nlm sys X-SVN-Commit-Revision: 359745 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 14:44:49 -0000 Author: rmacklem Date: Thu Apr 9 14:44:46 2020 New Revision: 359745 URL: https://svnweb.freebsd.org/changeset/base/359745 Log: Remove the old NFS lock device driver that uses Giant. This NFS lock device driver was replaced by the kernel NLM around FreeBSD7 and has not normally been used since then. To use it, the kernel had to be built without "options NFSLOCKD" and the nfslockd.ko had to be deleted as well. Since it uses Giant and is no longer used, this patch removes it. With this device driver removed, there is now a lot of unused code in the userland rpc.lockd. That will be removed on a future commit. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D22933 Deleted: head/sys/modules/nfslock/ head/sys/nfs/nfs_lock.c Modified: head/sys/conf/files head/sys/fs/nfs/nfs_commonport.c head/sys/fs/nfsclient/nfs_clport.c head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/kern/kern_exit.c head/sys/kern/kern_thread.c head/sys/modules/Makefile head/sys/nlm/nlm_prot_impl.c head/sys/sys/proc.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/conf/files Thu Apr 9 14:44:46 2020 (r359745) @@ -3489,10 +3489,10 @@ fs/msdosfs/msdosfs_iconv.c optional msdosfs_iconv fs/msdosfs/msdosfs_lookup.c optional msdosfs fs/msdosfs/msdosfs_vfsops.c optional msdosfs fs/msdosfs/msdosfs_vnops.c optional msdosfs -fs/nfs/nfs_commonkrpc.c optional nfscl | nfsd -fs/nfs/nfs_commonsubs.c optional nfscl | nfsd -fs/nfs/nfs_commonport.c optional nfscl | nfsd -fs/nfs/nfs_commonacl.c optional nfscl | nfsd +fs/nfs/nfs_commonkrpc.c optional nfscl | nfslockd | nfsd +fs/nfs/nfs_commonsubs.c optional nfscl | nfslockd | nfsd +fs/nfs/nfs_commonport.c optional nfscl | nfslockd | nfsd +fs/nfs/nfs_commonacl.c optional nfscl | nfslockd | nfsd fs/nfsclient/nfs_clcomsubs.c optional nfscl fs/nfsclient/nfs_clsubs.c optional nfscl fs/nfsclient/nfs_clstate.c optional nfscl @@ -4434,8 +4434,7 @@ nfs/bootp_subr.c optional bootp nfscl nfs/krpc_subr.c optional bootp nfscl nfs/nfs_diskless.c optional nfscl nfs_root nfs/nfs_fha.c optional nfsd -nfs/nfs_lock.c optional nfscl | nfslockd | nfsd -nfs/nfs_nfssvc.c optional nfscl | nfsd +nfs/nfs_nfssvc.c optional nfscl | nfslockd | nfsd nlm/nlm_advlock.c optional nfslockd | nfsd nlm/nlm_prot_clnt.c optional nfslockd | nfsd nlm/nlm_prot_impl.c optional nfslockd | nfsd Modified: head/sys/fs/nfs/nfs_commonport.c ============================================================================== --- head/sys/fs/nfs/nfs_commonport.c Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/fs/nfs/nfs_commonport.c Thu Apr 9 14:44:46 2020 (r359745) @@ -74,6 +74,8 @@ struct nfsdevicehead nfsrv_devidhead; volatile int nfsrv_devidcnt = 0; void (*nfsd_call_servertimer)(void) = NULL; void (*ncl_call_invalcaches)(struct vnode *) = NULL; +vop_advlock_t *nfs_advlock_p = NULL; +vop_reclaim_t *nfs_reclaim_p = NULL; int nfs_pnfsio(task_fn_t *, void *); Modified: head/sys/fs/nfsclient/nfs_clport.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clport.c Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/fs/nfsclient/nfs_clport.c Thu Apr 9 14:44:46 2020 (r359745) @@ -1412,5 +1412,4 @@ MODULE_VERSION(nfscl, 1); MODULE_DEPEND(nfscl, nfscommon, 1, 1, 1); MODULE_DEPEND(nfscl, krpc, 1, 1, 1); MODULE_DEPEND(nfscl, nfssvc, 1, 1, 1); -MODULE_DEPEND(nfscl, nfslock, 1, 1, 1); Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Thu Apr 9 14:44:46 2020 (r359745) @@ -152,7 +152,6 @@ MODULE_VERSION(nfs, 1); MODULE_DEPEND(nfs, nfscommon, 1, 1, 1); MODULE_DEPEND(nfs, krpc, 1, 1, 1); MODULE_DEPEND(nfs, nfssvc, 1, 1, 1); -MODULE_DEPEND(nfs, nfslock, 1, 1, 1); /* * This structure is now defined in sys/nfs/nfs_diskless.c so that it Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Thu Apr 9 14:44:46 2020 (r359745) @@ -6443,7 +6443,6 @@ DECLARE_MODULE(nfsd, nfsd_mod, SI_SUB_VFS, SI_ORDER_AN /* So that loader and kldload(2) can find us, wherever we are.. */ MODULE_VERSION(nfsd, 1); MODULE_DEPEND(nfsd, nfscommon, 1, 1, 1); -MODULE_DEPEND(nfsd, nfslock, 1, 1, 1); MODULE_DEPEND(nfsd, nfslockd, 1, 1, 1); MODULE_DEPEND(nfsd, krpc, 1, 1, 1); MODULE_DEPEND(nfsd, nfssvc, 1, 1, 1); Modified: head/sys/kern/kern_exit.c ============================================================================== --- head/sys/kern/kern_exit.c Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/kern/kern_exit.c Thu Apr 9 14:44:46 2020 (r359745) @@ -96,9 +96,6 @@ dtrace_execexit_func_t dtrace_fasttrap_exit; SDT_PROVIDER_DECLARE(proc); SDT_PROBE_DEFINE1(proc, , , exit, "int"); -/* Hook for NFS teardown procedure. */ -void (*nlminfo_release_p)(struct proc *p); - struct proc * proc_realparent(struct proc *child) { @@ -364,12 +361,6 @@ exit1(struct thread *td, int rval, int signo) * F_SETOWN with our pid. */ funsetownlst(&p->p_sigiolst); - - /* - * If this process has an nlminfo data area (for lockd), release it - */ - if (nlminfo_release_p != NULL && p->p_nlminfo != NULL) - (*nlminfo_release_p)(p); /* * Close open files and release open-file table. Modified: head/sys/kern/kern_thread.c ============================================================================== --- head/sys/kern/kern_thread.c Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/kern/kern_thread.c Thu Apr 9 14:44:46 2020 (r359745) @@ -90,11 +90,11 @@ _Static_assert(offsetof(struct proc, p_flag) == 0xb0, "struct proc KBI p_flag"); _Static_assert(offsetof(struct proc, p_pid) == 0xbc, "struct proc KBI p_pid"); -_Static_assert(offsetof(struct proc, p_filemon) == 0x3c0, +_Static_assert(offsetof(struct proc, p_filemon) == 0x3b8, "struct proc KBI p_filemon"); -_Static_assert(offsetof(struct proc, p_comm) == 0x3d8, +_Static_assert(offsetof(struct proc, p_comm) == 0x3d0, "struct proc KBI p_comm"); -_Static_assert(offsetof(struct proc, p_emuldata) == 0x4b8, +_Static_assert(offsetof(struct proc, p_emuldata) == 0x4b0, "struct proc KBI p_emuldata"); #endif #ifdef __i386__ @@ -110,11 +110,11 @@ _Static_assert(offsetof(struct proc, p_flag) == 0x68, "struct proc KBI p_flag"); _Static_assert(offsetof(struct proc, p_pid) == 0x74, "struct proc KBI p_pid"); -_Static_assert(offsetof(struct proc, p_filemon) == 0x26c, +_Static_assert(offsetof(struct proc, p_filemon) == 0x268, "struct proc KBI p_filemon"); -_Static_assert(offsetof(struct proc, p_comm) == 0x280, +_Static_assert(offsetof(struct proc, p_comm) == 0x27c, "struct proc KBI p_comm"); -_Static_assert(offsetof(struct proc, p_emuldata) == 0x30c, +_Static_assert(offsetof(struct proc, p_emuldata) == 0x308, "struct proc KBI p_emuldata"); #endif Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/modules/Makefile Thu Apr 9 14:44:46 2020 (r359745) @@ -259,7 +259,6 @@ SUBDIR= \ nfscl \ nfscommon \ nfsd \ - nfslock \ nfslockd \ nfssvc \ nge \ Modified: head/sys/nlm/nlm_prot_impl.c ============================================================================== --- head/sys/nlm/nlm_prot_impl.c Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/nlm/nlm_prot_impl.c Thu Apr 9 14:44:46 2020 (r359745) @@ -2411,5 +2411,5 @@ DECLARE_MODULE(nfslockd, nfslockd_mod, SI_SUB_VFS, SI_ /* So that loader and kldload(2) can find us, wherever we are.. */ MODULE_DEPEND(nfslockd, krpc, 1, 1, 1); -MODULE_DEPEND(nfslockd, nfslock, 1, 1, 1); +MODULE_DEPEND(nfslockd, nfscommon, 1, 1, 1); MODULE_VERSION(nfslockd, 1); Modified: head/sys/sys/proc.h ============================================================================== --- head/sys/sys/proc.h Thu Apr 9 08:34:27 2020 (r359744) +++ head/sys/sys/proc.h Thu Apr 9 14:44:46 2020 (r359745) @@ -182,7 +182,6 @@ struct kcov_info; struct kdtrace_proc; struct kdtrace_thread; struct mqueue_notifier; -struct nlminfo; struct p_sched; struct proc; struct procdesc; @@ -645,7 +644,6 @@ struct proc { int p_sigparent; /* (c) Signal to parent on exit. */ int p_sig; /* (n) For core dump/debugger XXX. */ u_int p_ptevents; /* (c + e) ptrace() event mask. */ - struct nlminfo *p_nlminfo; /* (?) Only used by/for lockd. */ struct kaioinfo *p_aioinfo; /* (y) ASYNC I/O info. */ struct thread *p_singlethread;/* (c + j) If single threading this is it */ int p_suspcount; /* (j) Num threads in suspended mode. */ From owner-svn-src-head@freebsd.org Thu Apr 9 15:33:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 107602BD644; Thu, 9 Apr 2020 15:33:14 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ylXT6jmKz3GBC; Thu, 9 Apr 2020 15:33:13 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E167FF0E9; Thu, 9 Apr 2020 15:33:13 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039FXD2J080248; Thu, 9 Apr 2020 15:33:13 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039FXDeA080247; Thu, 9 Apr 2020 15:33:13 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004091533.039FXDeA080247@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 9 Apr 2020 15:33:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359747 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 359747 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 15:33:14 -0000 Author: rmacklem Date: Thu Apr 9 15:33:13 2020 New Revision: 359747 URL: https://svnweb.freebsd.org/changeset/base/359747 Log: Bump version for r359745, since it removed a field from "struct proc" and that changed the offsets of fields within it. Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Thu Apr 9 15:30:21 2020 (r359746) +++ head/sys/sys/param.h Thu Apr 9 15:33:13 2020 (r359747) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300089 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300090 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Thu Apr 9 18:38:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 46D3C279F72; Thu, 9 Apr 2020 18:38:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yqdj11V8z40tF; Thu, 9 Apr 2020 18:38:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1E31E193AF; Thu, 9 Apr 2020 18:38:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039Ic09Y092586; Thu, 9 Apr 2020 18:38:00 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039Ic0IA092585; Thu, 9 Apr 2020 18:38:00 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004091838.039Ic0IA092585@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 9 Apr 2020 18:38:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359752 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359752 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 18:38:01 -0000 Author: kib Date: Thu Apr 9 18:38:00 2020 New Revision: 359752 URL: https://svnweb.freebsd.org/changeset/base/359752 Log: Remove extra call to vfs_op_exit() from vfs_write_suspend() when VFS_SYNC() fails. The vfs_write_resume() handler already does vfs_op_exit() for us. Reported by: pho Reviewed by: mckusick Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_vnops.c Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Thu Apr 9 18:17:07 2020 (r359751) +++ head/sys/kern/vfs_vnops.c Thu Apr 9 18:38:00 2020 (r359752) @@ -1902,7 +1902,7 @@ vfs_write_suspend(struct mount *mp, int flags) MNT_IUNLOCK(mp); if ((error = VFS_SYNC(mp, MNT_SUSPEND)) != 0) { vfs_write_resume(mp, 0); - vfs_op_exit(mp); + /* vfs_write_resume does vfs_op_exit() for us */ } return (error); } From owner-svn-src-head@freebsd.org Thu Apr 9 19:49:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9457027CBE9 for ; Thu, 9 Apr 2020 19:49:21 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: from mail-ua1-f67.google.com (mail-ua1-f67.google.com [209.85.222.67]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ysD04wZqz4B01 for ; Thu, 9 Apr 2020 19:49:20 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: by mail-ua1-f67.google.com with SMTP id c7so431483uap.12 for ; Thu, 09 Apr 2020 12:49:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RvHhWXt0Au+F45nw3ZJ4InZIi7WLas9JzOPiQR1mxyk=; b=WQtUJDI6qFFVR5+Qis8X0Gg3Rc4mzDukwlkXDXJNwonl8UFckikDdpWwW+K+mJ50Dh 0hORZG3nf8akmWdcjSH7QpPrGfTQwjbvdtALjjxv/GmjOVSFWuYe2YMZ2yVSnGqXuvhU WJOrOhC7ywDoa9t2HY3rBLOTFWgLI4CbqypetbQfcVlVR6uqagM9oXXEBhQSe1/Fn2Fp qBvIdIN2VICnnlAyeBnKIpShFifMJ7bj6A6rL97qvGy4L2ibA2NJ/07EThXpnQkB8egi 4cJ2dto6fz3W0/9MdPsG3wOM/p/ieIen3lfUZxkvUqyrZBhQ10VBzumxnyvfNH5K1hRt YtKA== X-Gm-Message-State: AGi0PuZNGrydupVYk1Ieqc0fGk8VZTvTfeJl8QLvMp7qYxja8MwIsldZ UUTABFEu7BdqgkzKLsdbodPh/dNWvkvocst5e0RBOaQw X-Google-Smtp-Source: APiQypLkGslyvQG/Tg/WYuifKWO1bhftOWNU4E/CO3OtRwDxq125bsz2WX7vxvhhVT4CnHLLB9SjyqZUyoc6EO3Eka8= X-Received: by 2002:ab0:7556:: with SMTP id k22mr705758uaq.104.1586461759582; Thu, 09 Apr 2020 12:49:19 -0700 (PDT) MIME-Version: 1.0 References: <202004090012.0390CV5H002903@gndrsh.dnsmgr.net> In-Reply-To: <202004090012.0390CV5H002903@gndrsh.dnsmgr.net> From: Maxim Sobolev Date: Thu, 9 Apr 2020 12:49:08 -0700 Message-ID: Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb To: "Rodney W. Grimes" Cc: src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 48ysD04wZqz4B01 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of sobomax@sippysoft.com designates 209.85.222.67 as permitted sender) smtp.mailfrom=sobomax@sippysoft.com X-Spamd-Result: default: False [-2.17 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[67.222.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.17)[ip: (-0.00), ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; FORGED_SENDER(0.30)[sobomax@freebsd.org,sobomax@sippysoft.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[67.222.85.209.rep.mailspike.net : 127.0.0.17]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[sobomax@freebsd.org,sobomax@sippysoft.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 19:49:21 -0000 Well, how many FreeBSD builds have you run in the last year, Rodney, personally to care about 0.1s slowdown that it might have caused? We've run at least a 1,000 here, probably 3x more. So yes, the cost is there, the cost is well understood and found negligible versus the benefit of having a slightly more extensible build system that is slightly easier to understand and integrate into bigger projects. -Max On Wed, Apr 8, 2020 at 5:12 PM Rodney W. Grimes wrote: > > On Tue, Apr 7, 2020 at 3:37 AM Rodney W. Grimes < > freebsd@gndrsh.dnsmgr.net> > > wrote: > > > > > > Author: sobomax > > > > Date: Tue Apr 7 02:46:22 2020 > > > > New Revision: 359685 > > > > URL: https://svnweb.freebsd.org/changeset/base/359685 > > > > > > > > Log: > > > > Normalize deployment tools usage and definitions by putting into > one > > > place > > > > instead of sprinkling them out over many disjoint files. This is a > > > follow-up > > > > to achieve the same goal in an incomplete rev.348521. > > > > > > I have concerns that this factoring out of 5 values that have not > changed > > > in 25 years is a pessimization, it is one more file that make has to > > > open on each invocation. > > > > > > > Well, luckily enough the cost of opening a file has been exponentially > > declining over those 25 years, so we are probably many-orders of > magnitude > > faster than we used to be back in 1995. Or so I've heard. :) > > I believe we are pretty much just on par and no more than 1 > order of magnitude on time completion of make world. > > > > > Having those variables defined in a centralized manner allows us here for > > example to convert the result of what would be > > installworld/installkernel/distribution action into a self-extracting > > archive (optionally signed) with automatically generated script, which > does > > the action in question. As such, we can now build in a completely > sandboxed > > environment with 0 privileges (potentially even on something completely > > alien like GNU/Linux) and then deploy it to as many systems as we need or > > use to create VM images / Jails. > > > > > https://github.com/sobomax/sysmaker/blob/master/makeargs/distribution.sub > > > https://github.com/sobomax/sysmaker/blob/master/makeargs/installkernel.sub > > > https://github.com/sobomax/sysmaker/blob/master/makeargs/installworld.sub > > I do not see anything in that set of files that requires this change, > am I missing something? > > All of the existing values should of been overridable from the make > command line invocation, and it does not mater if they are in 1 > file or 50 files. > > > I have very few reasons to believe that our needs to be unique in this, I > > am pretty sure others will find some interesting use for this as well > (e.g. > > signing binaries being installed, etc). > > I do not see that your needs require this change. > > > > > -Max > > -- > Rod Grimes > rgrimes@freebsd.org > > From owner-svn-src-head@freebsd.org Thu Apr 9 21:24:18 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 84B4627F98C; Thu, 9 Apr 2020 21:24:18 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yvKZ30G0z4JRY; Thu, 9 Apr 2020 21:24:18 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 61CCD1B4AC; Thu, 9 Apr 2020 21:24:18 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039LOIw5002539; Thu, 9 Apr 2020 21:24:18 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039LOHJE002537; Thu, 9 Apr 2020 21:24:17 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <202004092124.039LOHJE002537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Thu, 9 Apr 2020 21:24:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359756 - head/sys/dev/mii X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: head/sys/dev/mii X-SVN-Commit-Revision: 359756 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 21:24:18 -0000 Author: jhibbits Date: Thu Apr 9 21:24:17 2020 New Revision: 359756 URL: https://svnweb.freebsd.org/changeset/base/359756 Log: Add support for BCM54618SE PHY MFC after: 3 days Sponsored by: Juniper Networks, Inc Modified: head/sys/dev/mii/brgphy.c head/sys/dev/mii/miidevs Modified: head/sys/dev/mii/brgphy.c ============================================================================== --- head/sys/dev/mii/brgphy.c Thu Apr 9 20:49:01 2020 (r359755) +++ head/sys/dev/mii/brgphy.c Thu Apr 9 21:24:17 2020 (r359756) @@ -152,6 +152,7 @@ static const struct mii_phydesc brgphys[] = { #ifdef notyet /* better handled by ukphy(4) until WARs are implemented */ MII_PHY_DESC(BROADCOM2, BCM5785), #endif + MII_PHY_DESC(BROADCOM3, BCM54618SE), MII_PHY_DESC(BROADCOM3, BCM5717C), MII_PHY_DESC(BROADCOM3, BCM5719C), MII_PHY_DESC(BROADCOM3, BCM5720C), Modified: head/sys/dev/mii/miidevs ============================================================================== --- head/sys/dev/mii/miidevs Thu Apr 9 20:49:01 2020 (r359755) +++ head/sys/dev/mii/miidevs Thu Apr 9 21:24:17 2020 (r359756) @@ -190,6 +190,7 @@ model BROADCOM2 BCM5784 0x003a BCM5784 10/100/1000bas model BROADCOM2 BCM5709C 0x003c BCM5709 10/100/1000baseT PHY model BROADCOM2 BCM5761 0x003d BCM5761 10/100/1000baseT PHY model BROADCOM2 BCM5709S 0x003f BCM5709S/5720S 1000/2500baseSX PHY +model BROADCOM3 BCM54618SE 0x000d BCM54618SE 10/100/1000BASE-T PHY model BROADCOM3 BCM57780 0x0019 BCM57780 1000BASE-T media interface model BROADCOM3 BCM5717C 0x0020 BCM5717C 1000BASE-T media interface model BROADCOM3 BCM5719C 0x0022 BCM5719C 1000BASE-T media interface From owner-svn-src-head@freebsd.org Thu Apr 9 23:11:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 12E5B2AA310; Thu, 9 Apr 2020 23:11:20 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yxj36nrsz4Prg; Thu, 9 Apr 2020 23:11:19 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E44E01C95C; Thu, 9 Apr 2020 23:11:19 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039NBJwQ066528; Thu, 9 Apr 2020 23:11:19 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039NBJQp066527; Thu, 9 Apr 2020 23:11:19 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004092311.039NBJQp066527@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 9 Apr 2020 23:11:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359757 - head/sys/fs/nfs X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfs X-SVN-Commit-Revision: 359757 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 23:11:20 -0000 Author: rmacklem Date: Thu Apr 9 23:11:19 2020 New Revision: 359757 URL: https://svnweb.freebsd.org/changeset/base/359757 Log: Replace mbuf macros with the code they would generate in the NFS code. When the code was ported to Mac OS/X, mbuf handling functions were converted to using the Mac OS/X accessor functions. For FreeBSD, they are a simple set of macros in sys/fs/nfs/nfskpiport.h. Since porting to Mac OS/X is no longer a consideration, replacement of these macros with the code generated by them makes the code more readable. When support for external page mbufs is added as needed by the KERN_TLS, the patch becomes simpler if done without the macros. This patch should not result in any semantic change. This conversion will be committed one file at a time. Modified: head/sys/fs/nfs/nfs_commonsubs.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Thu Apr 9 21:24:17 2020 (r359756) +++ head/sys/fs/nfs/nfs_commonsubs.c Thu Apr 9 23:11:19 2020 (r359757) @@ -360,9 +360,9 @@ nfscl_reqstart(struct nfsrv_descript *nd, int procnum, NFSMCLGET(mb, M_WAITOK); else NFSMGET(mb); - mbuf_setlen(mb, 0); + mb->m_len = 0; nd->nd_mreq = nd->nd_mb = mb; - nd->nd_bpos = NFSMTOD(mb, caddr_t); + nd->nd_bpos = mtod(mb, caddr_t); /* * And fill the first file handle into the request. @@ -617,7 +617,7 @@ nfsm_mbufuio(struct nfsrv_descript *nd, struct uio *ui mp = nd->nd_md; mbufcp = nd->nd_dpos; - len = NFSMTOD(mp, caddr_t) + mbuf_len(mp) - mbufcp; + len = mtod(mp, caddr_t) + mp->m_len - mbufcp; rem = NFSM_RNDUP(siz) - siz; while (siz > 0) { if (uiop->uio_iovcnt <= 0 || uiop->uio_iov == NULL) { @@ -631,13 +631,13 @@ nfsm_mbufuio(struct nfsrv_descript *nd, struct uio *ui uiosiz = left; while (left > 0) { while (len == 0) { - mp = mbuf_next(mp); + mp = mp->m_next; if (mp == NULL) { error = EBADRPC; goto out; } - mbufcp = NFSMTOD(mp, caddr_t); - len = mbuf_len(mp); + mbufcp = mtod(mp, caddr_t); + len = mp->m_len; KASSERT(len >= 0, ("len %d, corrupted mbuf?", len)); } @@ -701,18 +701,18 @@ nfsm_dissct(struct nfsrv_descript *nd, int siz, int ho caddr_t retp; retp = NULL; - left = NFSMTOD(nd->nd_md, caddr_t) + mbuf_len(nd->nd_md) - nd->nd_dpos; + left = mtod(nd->nd_md, caddr_t) + nd->nd_md->m_len - nd->nd_dpos; while (left == 0) { - nd->nd_md = mbuf_next(nd->nd_md); + nd->nd_md = nd->nd_md->m_next; if (nd->nd_md == NULL) return (retp); - left = mbuf_len(nd->nd_md); - nd->nd_dpos = NFSMTOD(nd->nd_md, caddr_t); + left = nd->nd_md->m_len; + nd->nd_dpos = mtod(nd->nd_md, caddr_t); } if (left >= siz) { retp = nd->nd_dpos; nd->nd_dpos += siz; - } else if (mbuf_next(nd->nd_md) == NULL) { + } else if (nd->nd_md->m_next == NULL) { return (retp); } else if (siz > ncl_mbuf_mhlen) { panic("nfs S too big"); @@ -720,33 +720,33 @@ nfsm_dissct(struct nfsrv_descript *nd, int siz, int ho MGET(mp2, MT_DATA, how); if (mp2 == NULL) return (NULL); - mbuf_setnext(mp2, mbuf_next(nd->nd_md)); - mbuf_setnext(nd->nd_md, mp2); - mbuf_setlen(nd->nd_md, mbuf_len(nd->nd_md) - left); + mp2->m_next = nd->nd_md->m_next; + nd->nd_md->m_next = mp2; + nd->nd_md->m_len -= left; nd->nd_md = mp2; - retp = p = NFSMTOD(mp2, caddr_t); + retp = p = mtod(mp2, caddr_t); NFSBCOPY(nd->nd_dpos, p, left); /* Copy what was left */ siz2 = siz - left; p += left; - mp2 = mbuf_next(mp2); + mp2 = mp2->m_next; /* Loop around copying up the siz2 bytes */ while (siz2 > 0) { if (mp2 == NULL) return (NULL); - xfer = (siz2 > mbuf_len(mp2)) ? mbuf_len(mp2) : siz2; + xfer = (siz2 > mp2->m_len) ? mp2->m_len : siz2; if (xfer > 0) { - NFSBCOPY(NFSMTOD(mp2, caddr_t), p, xfer); - NFSM_DATAP(mp2, xfer); - mbuf_setlen(mp2, mbuf_len(mp2) - xfer); + NFSBCOPY(mtod(mp2, caddr_t), p, xfer); + mp2->m_data += xfer; + mp2->m_len -= xfer; p += xfer; siz2 -= xfer; } if (siz2 > 0) - mp2 = mbuf_next(mp2); + mp2 = mp2->m_next; } - mbuf_setlen(nd->nd_md, siz); + nd->nd_md->m_len = siz; nd->nd_md = mp2; - nd->nd_dpos = NFSMTOD(mp2, caddr_t); + nd->nd_dpos = mtod(mp2, caddr_t); } return (retp); } @@ -778,7 +778,7 @@ nfsm_advance(struct nfsrv_descript *nd, int offs, int * If left == -1, calculate it here. */ if (left == -1) - left = NFSMTOD(nd->nd_md, caddr_t) + mbuf_len(nd->nd_md) - + left = mtod(nd->nd_md, caddr_t) + nd->nd_md->m_len - nd->nd_dpos; /* @@ -786,13 +786,13 @@ nfsm_advance(struct nfsrv_descript *nd, int offs, int */ while (offs > left) { offs -= left; - nd->nd_md = mbuf_next(nd->nd_md); + nd->nd_md = nd->nd_md->m_next; if (nd->nd_md == NULL) { error = EBADRPC; goto out; } - left = mbuf_len(nd->nd_md); - nd->nd_dpos = NFSMTOD(nd->nd_md, caddr_t); + left = nd->nd_md->m_len; + nd->nd_dpos = mtod(nd->nd_md, caddr_t); } nd->nd_dpos += offs; @@ -832,10 +832,10 @@ nfsm_strtom(struct nfsrv_descript *nd, const char *cp, NFSMCLGET(m1, M_WAITOK); else NFSMGET(m1); - mbuf_setlen(m1, 0); - mbuf_setnext(m2, m1); + m1->m_len = 0; + m2->m_next = m1; m2 = m1; - cp2 = NFSMTOD(m2, caddr_t); + cp2 = mtod(m2, caddr_t); left = M_TRAILINGSPACE(m2); } if (left >= siz) @@ -844,18 +844,18 @@ nfsm_strtom(struct nfsrv_descript *nd, const char *cp, xfer = left; NFSBCOPY(cp, cp2, xfer); cp += xfer; - mbuf_setlen(m2, mbuf_len(m2) + xfer); + m2->m_len += xfer; siz -= xfer; left -= xfer; if (siz == 0 && rem) { if (left < rem) panic("nfsm_strtom"); NFSBZERO(cp2 + xfer, rem); - mbuf_setlen(m2, mbuf_len(m2) + rem); + m2->m_len += rem; } } nd->nd_mb = m2; - nd->nd_bpos = NFSMTOD(m2, caddr_t) + mbuf_len(m2); + nd->nd_bpos = mtod(m2, caddr_t) + m2->m_len; return (bytesize); } @@ -1022,35 +1022,35 @@ newnfs_trimleading(nd) */ if (nd->nd_mrep != nd->nd_md) { m = nd->nd_mrep; - while (mbuf_next(m) != nd->nd_md) { - if (mbuf_next(m) == NULL) + while (m->m_next != nd->nd_md) { + if (m->m_next == NULL) panic("nfsm trim leading"); - m = mbuf_next(m); + m = m->m_next; } - mbuf_setnext(m, NULL); - mbuf_freem(nd->nd_mrep); + m->m_next = NULL; + m_freem(nd->nd_mrep); } m = nd->nd_md; /* * Now, adjust this mbuf, based on nd_dpos. */ - offs = nd->nd_dpos - NFSMTOD(m, caddr_t); - if (offs == mbuf_len(m)) { + offs = nd->nd_dpos - mtod(m, caddr_t); + if (offs == m->m_len) { n = m; - m = mbuf_next(m); + m = m->m_next; if (m == NULL) panic("nfsm trim leading2"); - mbuf_setnext(n, NULL); - mbuf_freem(n); + n->m_next = NULL; + m_freem(n); } else if (offs > 0) { - mbuf_setlen(m, mbuf_len(m) - offs); - NFSM_DATAP(m, offs); + m->m_len -= offs; + m->m_data += offs; } else if (offs < 0) panic("nfsm trimleading offs"); nd->nd_mrep = m; nd->nd_md = m; - nd->nd_dpos = NFSMTOD(m, caddr_t); + nd->nd_dpos = mtod(m, caddr_t); } /* @@ -1063,11 +1063,11 @@ newnfs_trimtrailing(nd, mb, bpos) caddr_t bpos; { - if (mbuf_next(mb)) { - mbuf_freem(mbuf_next(mb)); - mbuf_setnext(mb, NULL); + if (mb->m_next) { + m_freem(mb->m_next); + mb->m_next = NULL; } - mbuf_setlen(mb, bpos - NFSMTOD(mb, caddr_t)); + mb->m_len = bpos - mtod(mb, caddr_t); nd->nd_mb = mb; nd->nd_bpos = bpos; } @@ -2428,7 +2428,7 @@ nfsrv_mtostr(struct nfsrv_descript *nd, char *str, int mp = nd->nd_md; cp = nd->nd_dpos; - len = NFSMTOD(mp, caddr_t) + mbuf_len(mp) - cp; + len = mtod(mp, caddr_t) + mp->m_len - cp; rem = NFSM_RNDUP(siz) - siz; while (siz > 0) { if (len > siz) @@ -2439,13 +2439,13 @@ nfsrv_mtostr(struct nfsrv_descript *nd, char *str, int str += xfer; siz -= xfer; if (siz > 0) { - mp = mbuf_next(mp); + mp = mp->m_next; if (mp == NULL) { error = EBADRPC; goto out; } - cp = NFSMTOD(mp, caddr_t); - len = mbuf_len(mp); + cp = mtod(mp, caddr_t); + len = mp->m_len; } else { cp += xfer; len -= xfer; @@ -3728,7 +3728,7 @@ nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char NFSUNLOCKNAMEID(); NFSFREECRED(cred); if (!error) { - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); error = nd->nd_repstat; } out: @@ -4452,8 +4452,8 @@ nfsrvd_rephead(struct nfsrv_descript *nd) nd->nd_mreq = mreq; nd->nd_mb = mreq; } - nd->nd_bpos = NFSMTOD(mreq, caddr_t); - mbuf_setlen(mreq, 0); + nd->nd_bpos = mtod(mreq, caddr_t); + mreq->m_len = 0; if ((nd->nd_flag & ND_GSSINITREPLY) == 0) NFSM_BUILD(nd->nd_errp, int *, NFSX_UNSIGNED); From owner-svn-src-head@freebsd.org Thu Apr 9 23:16:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8047C2AA567; Thu, 9 Apr 2020 23:16:32 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48yxq36FqSz4QBg; Thu, 9 Apr 2020 23:16:31 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 039NGTMZ010457; Thu, 9 Apr 2020 16:16:29 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 039NGTti010456; Thu, 9 Apr 2020 16:16:29 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004092316.039NGTti010456@gndrsh.dnsmgr.net> Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb In-Reply-To: To: Maxim Sobolev Date: Thu, 9 Apr 2020 16:16:29 -0700 (PDT) CC: "Rodney W. Grimes" , src-committers , svn-src-all , svn-src-head Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48yxq36FqSz4QBg X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 23:16:32 -0000 > Well, how many FreeBSD builds have you run in the last year, Rodney, > personally to care about 0.1s slowdown that it might have caused? We've run > at least a 1,000 here, probably 3x more. That is a non technical personal attack. > So yes, the cost is there, the > cost is well understood and found negligible versus the benefit of having a > slightly more extensible build system that is slightly easier to understand > and integrate into bigger projects. I do not see how moving 5 values adds any extensibility or any ease of use, or intergratability. It added an ease of editing the values to one file, values that *should not be edited inplace*. If these values need overridden it should always be done on the make command line, especially by projects external to FreeBSD. Your "extensible build system" is reaching into internal project build infustructure in a non-supportable way if it requires this types of change. > > -Max > > On Wed, Apr 8, 2020 at 5:12 PM Rodney W. Grimes > wrote: > > > > On Tue, Apr 7, 2020 at 3:37 AM Rodney W. Grimes < > > freebsd@gndrsh.dnsmgr.net> > > > wrote: > > > > > > > > Author: sobomax > > > > > Date: Tue Apr 7 02:46:22 2020 > > > > > New Revision: 359685 > > > > > URL: https://svnweb.freebsd.org/changeset/base/359685 > > > > > > > > > > Log: > > > > > Normalize deployment tools usage and definitions by putting into > > one > > > > place > > > > > instead of sprinkling them out over many disjoint files. This is a > > > > follow-up > > > > > to achieve the same goal in an incomplete rev.348521. > > > > > > > > I have concerns that this factoring out of 5 values that have not > > changed > > > > in 25 years is a pessimization, it is one more file that make has to > > > > open on each invocation. > > > > > > > > > > Well, luckily enough the cost of opening a file has been exponentially > > > declining over those 25 years, so we are probably many-orders of > > magnitude > > > faster than we used to be back in 1995. Or so I've heard. :) > > > > I believe we are pretty much just on par and no more than 1 > > order of magnitude on time completion of make world. > > > > > > > > Having those variables defined in a centralized manner allows us here for > > > example to convert the result of what would be > > > installworld/installkernel/distribution action into a self-extracting > > > archive (optionally signed) with automatically generated script, which > > does > > > the action in question. As such, we can now build in a completely > > sandboxed > > > environment with 0 privileges (potentially even on something completely > > > alien like GNU/Linux) and then deploy it to as many systems as we need or > > > use to create VM images / Jails. > > > > > > > > https://github.com/sobomax/sysmaker/blob/master/makeargs/distribution.sub > > > > > https://github.com/sobomax/sysmaker/blob/master/makeargs/installkernel.sub > > > > > https://github.com/sobomax/sysmaker/blob/master/makeargs/installworld.sub > > > > I do not see anything in that set of files that requires this change, > > am I missing something? > > > > All of the existing values should of been overridable from the make > > command line invocation, and it does not mater if they are in 1 > > file or 50 files. > > > > > I have very few reasons to believe that our needs to be unique in this, I > > > am pretty sure others will find some interesting use for this as well > > (e.g. > > > signing binaries being installed, etc). > > > > I do not see that your needs require this change. > > > > > > > > -Max > > > > -- > > Rod Grimes > > rgrimes@freebsd.org > > > > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Thu Apr 9 23:22:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1C4842AA77E; Thu, 9 Apr 2020 23:22:36 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yxy373yyz4QkV; Thu, 9 Apr 2020 23:22:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EDE6C1CBBB; Thu, 9 Apr 2020 23:22:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039NMZXB075799; Thu, 9 Apr 2020 23:22:35 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039NMZ4Q075798; Thu, 9 Apr 2020 23:22:35 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004092322.039NMZ4Q075798@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 9 Apr 2020 23:22:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359758 - head/lib/libc/sys X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/lib/libc/sys X-SVN-Commit-Revision: 359758 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 23:22:36 -0000 Author: kib Date: Thu Apr 9 23:22:35 2020 New Revision: 359758 URL: https://svnweb.freebsd.org/changeset/base/359758 Log: libc: Fix possible overflow in binuptime(). This is an application of the kernel overflow fix from r357948 to userspace, based on the algorithm developed by Bruce Evans. To keep the ABI of the vds_timekeep stable, instead of adding the large_delta member, MSB of both multipliers are added to quickly estimate the overflow. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/lib/libc/sys/__vdso_gettimeofday.c Modified: head/lib/libc/sys/__vdso_gettimeofday.c ============================================================================== --- head/lib/libc/sys/__vdso_gettimeofday.c Thu Apr 9 23:11:19 2020 (r359757) +++ head/lib/libc/sys/__vdso_gettimeofday.c Thu Apr 9 23:22:35 2020 (r359758) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include "libc_private.h" @@ -62,7 +63,8 @@ binuptime(struct bintime *bt, struct vdso_timekeep *tk { struct vdso_timehands *th; uint32_t curr, gen; - u_int delta; + uint64_t scale, x; + u_int delta, scale_bits; int error; do { @@ -78,7 +80,19 @@ binuptime(struct bintime *bt, struct vdso_timekeep *tk continue; if (error != 0) return (error); - bintime_addx(bt, th->th_scale * delta); + scale = th->th_scale; +#ifdef _LP64 + scale_bits = ffsl(scale); +#else + scale_bits = ffsll(scale); +#endif + if (__predict_false(scale_bits + fls(delta) > 63)) { + x = (scale >> 32) * delta; + scale &= 0xffffffff; + bt->sec += x >> 32; + bintime_addx(bt, x << 32); + } + bintime_addx(bt, scale * delta); if (abs) bintime_add(bt, &th->th_boottime); From owner-svn-src-head@freebsd.org Thu Apr 9 23:42:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D000D2AABCD for ; Thu, 9 Apr 2020 23:42:11 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound2m.ore.mailhop.org (outbound2m.ore.mailhop.org [54.149.155.156]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48yyNg2kYBz4RKg for ; Thu, 9 Apr 2020 23:42:11 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1586475729; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=jNgifBC3+3/nvGiEwQ0eYbHy1uiArhxh+XNVql8aevmsWoNacghiFIIyMBZMLC/SqpehQxktC4KuO jqAyuaQ+JiZmA6dmx7B9gdLCIGqk5ee9l2VkiB7o1E4x9WHarYKGUjcArMdJBIB8sgF7sYXEDsGigO eaGx5jSG8TFphqkIwfESMDYjc3Igpa+Axal46QTcgqC2reO43lSpelOTPlsYs9I1sHC+/Mcft0kYLB 5L8Xqrie8Au2wgi0fMrihBb+CFOyZ/cqrI/UTuCK+gaJRaNjCz97xZ0dhCBAa6IU3FHuGxKDOLmyf1 ujMWzAVmiVlv/ZqAUqFGU4SdHtO3P1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=X5ZQIbjd9VJTayqY1aSlDPS0b08971ktiC0E3clcIHs=; b=PsRLdWa8+ycpMrsbzcD70OG4LpO5Nhlm3GjcWzYsWfnF0577U8NuwtViPDPwMxzCw0Zq2SsHrJtDR 66cHioW4YOYJXgt7y6VF3yHmA6tIUaPfl3zxnFMSd3gSTK0zTTq70YLJseE/xEmC2M+aunRdQ0qMm8 zdD5hPUQ9na1Hz5bhKHfbRwMb4TSPI4GDkbsz2XAuj8sB12wWPqmT0VPEeYwxB/oJptwjRed9QxfrM 5H4wJttzmVXte2o+V9m6yqw2GKPS+D2GAFMng3wNa3zL8pUvlX2kEricQ2O2xPw93yPj7lUee6WiRi 1ICI+52eA/m9RTRbOmqwAS4IZ2HLkNQ== ARC-Authentication-Results: i=1; outbound4.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=X5ZQIbjd9VJTayqY1aSlDPS0b08971ktiC0E3clcIHs=; b=iVaSN/VWM/tzZLMs04ST2tSEzoYGcmz/jbAJTUasWnOw4Nald5AylIPy9U2TkQOhrOOo1VJP6DRAB 018S0hGn9hFQUSmrUdkh0K3VMzc+JXzL3Goxx9JJYTpy8cAsAOg+RsB3EpeJ1xIwUc8cDDh25GLnwU mRBg/rOgRTpkTZ/gZ9rSC8Zh8zxFTcfs+PuNTvV6ytWucRudMaEtQKQ0g3OOUCr2i9+Mu9AQWXbPz+ WO+XN7oqjmllejJlpF4easC2/ndHrM2l12clGKECj9uepeYElnYOwWZrLcGqdv+ZRyMublTaX+6e1u xO3/UzlSWjiv9EvKRd8hcqM/EhGQfGA== X-MHO-RoutePath: aGlwcGll X-MHO-User: b93682ac-7abb-11ea-a065-6d02e42e573a X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound4.ore.mailhop.org (Halon) with ESMTPSA id b93682ac-7abb-11ea-a065-6d02e42e573a; Thu, 09 Apr 2020 23:42:08 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 039Ng70X048348; Thu, 9 Apr 2020 17:42:07 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb From: Ian Lepore To: rgrimes@freebsd.org, Maxim Sobolev Cc: src-committers , svn-src-all , svn-src-head Date: Thu, 09 Apr 2020 17:42:07 -0600 In-Reply-To: <202004092316.039NGTti010456@gndrsh.dnsmgr.net> References: <202004092316.039NGTti010456@gndrsh.dnsmgr.net> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48yyNg2kYBz4RKg X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.95 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.98)[-0.983,0]; ASN(0.00)[asn:16509, ipnet:54.148.0.0/15, country:US]; NEURAL_HAM_LONG(-0.97)[-0.970,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 23:42:11 -0000 On Thu, 2020-04-09 at 16:16 -0700, Rodney W. Grimes wrote: > > Well, how many FreeBSD builds have you run in the last year, Rodney, > > personally to care about 0.1s slowdown that it might have caused? We've run > > at least a 1,000 here, probably 3x more. > > That is a non technical personal attack. > > > So yes, the cost is there, the > > cost is well understood and found negligible versus the benefit of having a > > slightly more extensible build system that is slightly easier to understand > > and integrate into bigger projects. > > I do not see how moving 5 values adds any extensibility or any ease of use, > or intergratability. It added an ease of editing the values to one file, > values that *should not be edited inplace*. > > If these values need overridden it should always be done on the make command > line, especially by projects external to FreeBSD. Your "extensible build system" > is reaching into internal project build infustructure in a non-supportable way > if it requires this types of change. > You did not look at the changes carefully enough. This doesn't just gather some values into one place, it replaces instances of hard-coded tool names with variables. To do so, those variables need to be defined somewhere. A new src.tools.mk is a good sensible place for that. Now that you have them all in once place, it doesn't make sense to still have duplicate definitions in other places, everything should refer to the one new source. You have focused in on that last sentence and started complaining about it as if it were the entire change. It's just a minor cleanup which is the natural thing to do given the rest of the change. And the rest of the change is useful in exactly the ways Maxim is saying (I say that as someone who also maintains a large proprietary source base that uses the freebsd build infrastructure). -- Ian From owner-svn-src-head@freebsd.org Thu Apr 9 23:42:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 92A162AABD2; Thu, 9 Apr 2020 23:42:14 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yyNk313Kz4RKy; Thu, 9 Apr 2020 23:42:14 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 62ADE1CF51; Thu, 9 Apr 2020 23:42:14 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039NgER9086854; Thu, 9 Apr 2020 23:42:14 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039NgE26086853; Thu, 9 Apr 2020 23:42:14 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <202004092342.039NgE26086853@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Thu, 9 Apr 2020 23:42:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359759 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359759 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 23:42:14 -0000 Author: mckusick Date: Thu Apr 9 23:42:13 2020 New Revision: 359759 URL: https://svnweb.freebsd.org/changeset/base/359759 Log: When running with a kernel compiled with DEBUG_LOCKS, before panic'ing for recusing on a non-recursive lock, print out the kernel stack where the lock was originally acquired. Modified: head/sys/kern/kern_lock.c Modified: head/sys/kern/kern_lock.c ============================================================================== --- head/sys/kern/kern_lock.c Thu Apr 9 23:22:35 2020 (r359758) +++ head/sys/kern/kern_lock.c Thu Apr 9 23:42:13 2020 (r359759) @@ -732,6 +732,7 @@ lockmgr_xlock_hard(struct lock *lk, u_int flags, struc class = LOCK_CLASS(ilk); class->lc_unlock(ilk); } + STACK_PRINT(lk); panic("%s: recursing on non recursive lockmgr %p " "@ %s:%d\n", __func__, lk, file, line); } From owner-svn-src-head@freebsd.org Thu Apr 9 23:51:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7583A2AAE65; Thu, 9 Apr 2020 23:51:19 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yybC2c6Lz4Ryg; Thu, 9 Apr 2020 23:51:19 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 534721D0E4; Thu, 9 Apr 2020 23:51:19 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 039NpJwi091305; Thu, 9 Apr 2020 23:51:19 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 039NpJfZ091304; Thu, 9 Apr 2020 23:51:19 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <202004092351.039NpJfZ091304@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Thu, 9 Apr 2020 23:51:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359760 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 359760 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2020 23:51:19 -0000 Author: mckusick Date: Thu Apr 9 23:51:18 2020 New Revision: 359760 URL: https://svnweb.freebsd.org/changeset/base/359760 Log: Fixing the soft update macros in -r359612 triggered a previously hidden bug in the file truncation code. Until that bug is tracked down and fixed, revert to the old behavior. Reported by: Peter Holm Reviewed by: kib, Chuck Silvers Modified: head/sys/ufs/ffs/ffs_inode.c Modified: head/sys/ufs/ffs/ffs_inode.c ============================================================================== --- head/sys/ufs/ffs/ffs_inode.c Thu Apr 9 23:42:13 2020 (r359759) +++ head/sys/ufs/ffs/ffs_inode.c Thu Apr 9 23:51:18 2020 (r359760) @@ -244,6 +244,7 @@ ffs_truncate(vp, length, flags, cred) needextclean = 0; softdeptrunc = 0; journaltrunc = DOINGSUJ(vp); + journaltrunc = 0; /* XXX temp patch until bug found */ if (journaltrunc == 0 && DOINGSOFTDEP(vp) && length == 0) softdeptrunc = !softdep_slowdown(vp); extblocks = 0; From owner-svn-src-head@freebsd.org Fri Apr 10 00:31:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A1DF12ABDAE; Fri, 10 Apr 2020 00:31:53 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48yzV13pXDz4Vtk; Fri, 10 Apr 2020 00:31:53 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7DC5F1D8CC; Fri, 10 Apr 2020 00:31:53 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03A0Vr6J017901; Fri, 10 Apr 2020 00:31:53 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03A0Vra0017900; Fri, 10 Apr 2020 00:31:53 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202004100031.03A0Vra0017900@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Fri, 10 Apr 2020 00:31:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359764 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: rscheff X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 359764 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 00:31:53 -0000 Author: rscheff Date: Fri Apr 10 00:31:52 2020 New Revision: 359764 URL: https://svnweb.freebsd.org/changeset/base/359764 Log: add myself (rscheff) as a src committer. Reviewed by: rgrimes (mentor), tuexen (mentor) Approved by: rgrimes (mentor), tuexen (mentor) MFC after: 3 days Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D24318 Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Fri Apr 10 00:27:19 2020 (r359763) +++ head/share/misc/committers-src.dot Fri Apr 10 00:31:52 2020 (r359764) @@ -312,6 +312,7 @@ royger [label="Roger Pau Monne\nroyger@FreeBSD.org\n20 rpaulo [label="Rui Paulo\nrpaulo@FreeBSD.org\n2007/09/25"] rpokala [label="Ravi Pokala\nrpokala@FreeBSD.org\n2015/11/19"] rrs [label="Randall R Stewart\nrrs@FreeBSD.org\n2007/02/08"] +rscheff [label="Richard Scheffenegger\nrscheff@FreeBSD.org\n2020/04/06"] rse [label="Ralf S. Engelschall\nrse@FreeBSD.org\n1997/07/31"] rstone [label="Ryan Stone\nrstone@FreeBSD.org\n2010/04/19"] ru [label="Ruslan Ermilov\nru@FreeBSD.org\n1999/05/27"] @@ -792,6 +793,7 @@ pjd -> smh pjd -> trociny rgrimes -> markm +rgrimes -> rscheff rmacklem -> jwd @@ -882,6 +884,8 @@ thompsa -> eri trasz -> jh trasz -> mjg + +tuexen -> rscheff ume -> jinmei ume -> suz From owner-svn-src-head@freebsd.org Fri Apr 10 01:24:17 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3A5632AD129; Fri, 10 Apr 2020 01:24:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48z0fT0nk6z4Yvq; Fri, 10 Apr 2020 01:24:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 165471E272; Fri, 10 Apr 2020 01:24:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03A1OGZY049788; Fri, 10 Apr 2020 01:24:16 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03A1OG1T049787; Fri, 10 Apr 2020 01:24:16 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004100124.03A1OG1T049787@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 10 Apr 2020 01:24:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359766 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 359766 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 01:24:17 -0000 Author: kib Date: Fri Apr 10 01:24:16 2020 New Revision: 359766 URL: https://svnweb.freebsd.org/changeset/base/359766 Log: ufs: apply suspension for non-forced rw unmounts. Forced rw unmounts and remounts from rw to ro already suspend filesystem, which closes races with writers instantiating new vnodes while unmount flushes the queue. Original intent of not including non-forced unmounts into this regime was to allow such unmounts to fail if writer was active, but this did not worked well. Similar change, but causing all unmount, even involving only ro filesystem, were proposed in D24088, but I believe that suspending ro is undesirable, and definitely spends CPU time. Reported by: markj Discussed with: chs, mckusick Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/ufs/ffs/ffs_vfsops.c Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Fri Apr 10 01:23:06 2020 (r359765) +++ head/sys/ufs/ffs/ffs_vfsops.c Fri Apr 10 01:24:16 2020 (r359766) @@ -1247,11 +1247,9 @@ ffs_unmount(mp, mntflags) flags = 0; td = curthread; fs = ump->um_fs; - susp = 0; - if (mntflags & MNT_FORCE) { + if (mntflags & MNT_FORCE) flags |= FORCECLOSE; - susp = fs->fs_ronly == 0; - } + susp = fs->fs_ronly == 0; #ifdef UFS_EXTATTR if ((error = ufs_extattr_stop(mp, td))) { if (error != EOPNOTSUPP) From owner-svn-src-head@freebsd.org Fri Apr 10 01:28:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C52A52AD255; Fri, 10 Apr 2020 01:28:47 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48z0lg4Whhz4Z6W; Fri, 10 Apr 2020 01:28:47 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 968391E27E; Fri, 10 Apr 2020 01:28:47 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03A1Slor050093; Fri, 10 Apr 2020 01:28:47 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03A1SlVB050092; Fri, 10 Apr 2020 01:28:47 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004100128.03A1SlVB050092@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 10 Apr 2020 01:28:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359767 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359767 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 01:28:47 -0000 Author: kib Date: Fri Apr 10 01:28:47 2020 New Revision: 359767 URL: https://svnweb.freebsd.org/changeset/base/359767 Log: Do not pass bogus page to mbufs. This is a bug in r359473. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/kern_sendfile.c Modified: head/sys/kern/kern_sendfile.c ============================================================================== --- head/sys/kern/kern_sendfile.c Fri Apr 10 01:24:16 2020 (r359766) +++ head/sys/kern/kern_sendfile.c Fri Apr 10 01:28:47 2020 (r359767) @@ -649,6 +649,7 @@ vn_sendfile(struct file *fp, int sockfd, struct uio *h struct file *sock_fp; struct vnode *vp; struct vm_object *obj; + vm_page_t pga; struct socket *so; #ifdef KERN_TLS struct ktls_session *tls; @@ -948,6 +949,9 @@ retry_space: softerr = EBUSY; break; } + pga = pa[i]; + if (pga == bogus_page) + pga = vm_page_relookup(obj, sfio->pindex0 + i); if (use_ext_pgs) { off_t xfs; @@ -997,7 +1001,7 @@ retry_space: ext_pgs->nrdy++; } - ext_pgs->pa[ext_pgs_idx] = VM_PAGE_TO_PHYS(pa[i]); + ext_pgs->pa[ext_pgs_idx] = VM_PAGE_TO_PHYS(pga); ext_pgs->npgs++; xfs = xfsize(i, npages, off, space); ext_pgs->last_pg_len = xfs; @@ -1016,7 +1020,7 @@ retry_space: * threads might exhaust the buffers and then * deadlock. */ - sf = sf_buf_alloc(pa[i], + sf = sf_buf_alloc(pga, m != NULL ? SFB_NOWAIT : SFB_CATCH); if (sf == NULL) { SFSTAT_INC(sf_allocfail); From owner-svn-src-head@freebsd.org Fri Apr 10 01:32:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B7D452AD545; Fri, 10 Apr 2020 01:32:53 +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) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48z0rP44BWz4ZcK; Fri, 10 Apr 2020 01:32:53 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 7DD101CD1A; Fri, 10 Apr 2020 01:32:53 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f182.google.com with SMTP id b10so442819qtt.9; Thu, 09 Apr 2020 18:32:53 -0700 (PDT) X-Gm-Message-State: AGi0PuYWd0Z04CNwFLmdLpioltuzQtbJrqmt62INqXn3lVNZfTJvdDGV bv0RNTgBZu9XZDD7nDE6HalxhZPKuEVv45g+TII= X-Google-Smtp-Source: APiQypIaFKHk+mX5g3tXfIxlFQVrVCYVgH/0B01yo7jP3iVVqeEnR3jVaZvgAFrMTBUkcRUE8WgqonAF9An7DvM+cy4= X-Received: by 2002:aed:2ee3:: with SMTP id k90mr2178616qtd.211.1586482372987; Thu, 09 Apr 2020 18:32:52 -0700 (PDT) MIME-Version: 1.0 References: <202003270029.02R0TX25062379@repo.freebsd.org> In-Reply-To: <202003270029.02R0TX25062379@repo.freebsd.org> From: Kyle Evans Date: Thu, 9 Apr 2020 20:32:41 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359346 - in head/sys: amd64/vmm/amd contrib/dev/acpica contrib/dev/acpica/common contrib/dev/acpica/compiler contrib/dev/acpica/components/debugger contrib/dev/acpica/components/dispat... To: Jung-uk Kim Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 01:32:53 -0000 On Thu, Mar 26, 2020 at 7:32 PM Jung-uk Kim wrote: > > Author: jkim > Date: Fri Mar 27 00:29:33 2020 > New Revision: 359346 > URL: https://svnweb.freebsd.org/changeset/base/359346 > > Log: > Merge ACPICA 20200326. > Hello! Any projection on if/when this will get merged back to stable/12 (and 11, but it looks like it's not getting ACPICA updates anymore)? Below is, in particular, the subset of the diff I care about as it resolves -fno-common issues. Thanks, Kyle Evans universe12a% svn diff sys/contrib Index: sys/contrib/dev/acpica/compiler/aslcompiler.l =================================================================== --- sys/contrib/dev/acpica/compiler/aslcompiler.l (revision 359763) +++ sys/contrib/dev/acpica/compiler/aslcompiler.l (working copy) @@ -156,7 +156,6 @@ #include #include -YYSTYPE AslCompilerlval; /* * Generation: Use the following command line: Index: sys/contrib/dev/acpica/compiler/dtcompiler.h =================================================================== --- sys/contrib/dev/acpica/compiler/dtcompiler.h (revision 359763) +++ sys/contrib/dev/acpica/compiler/dtcompiler.h (working copy) @@ -461,7 +461,6 @@ /* dtparser - lex/yacc files */ -UINT64 DtCompilerParserResult; /* Expression return value */ int DtCompilerParserparse ( void); Index: sys/contrib/dev/acpica/compiler/dtcompilerparser.y =================================================================== --- sys/contrib/dev/acpica/compiler/dtcompilerparser.y (revision 359763) +++ sys/contrib/dev/acpica/compiler/dtcompilerparser.y (working copy) @@ -170,7 +170,6 @@ extern DT_FIELD *AslGbl_CurrentField; extern int DtLabelByteOffset; -extern UINT64 DtCompilerParserResult; /* Expression return value */ extern UINT64 DtCompilerParserlineno; /* Current line number */ extern UINT32 DtTokenFirstLine; Index: sys/contrib/dev/acpica/compiler/dtparser.l =================================================================== --- sys/contrib/dev/acpica/compiler/dtparser.l (revision 359763) +++ sys/contrib/dev/acpica/compiler/dtparser.l (working copy) @@ -208,7 +208,7 @@ /* * Local support functions */ -YY_BUFFER_STATE LexBuffer; +static YY_BUFFER_STATE LexBuffer; /****************************************************************************** * Index: sys/contrib/dev/acpica/compiler/prparser.l =================================================================== --- sys/contrib/dev/acpica/compiler/prparser.l (revision 359763) +++ sys/contrib/dev/acpica/compiler/prparser.l (working copy) @@ -224,7 +224,7 @@ /* * Local support functions */ -YY_BUFFER_STATE LexBuffer; +static YY_BUFFER_STATE LexBuffer; /****************************************************************************** From owner-svn-src-head@freebsd.org Fri Apr 10 07:44:02 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BA13A2B5BA6; Fri, 10 Apr 2020 07:44:02 +0000 (UTC) (envelope-from tagattie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48z94f4Rrnz3Cl5; Fri, 10 Apr 2020 07:44:02 +0000 (UTC) (envelope-from tagattie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 93DDD22B8C; Fri, 10 Apr 2020 07:44:02 +0000 (UTC) (envelope-from tagattie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03A7i2Sr083064; Fri, 10 Apr 2020 07:44:02 GMT (envelope-from tagattie@FreeBSD.org) Received: (from tagattie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03A7i2He083063; Fri, 10 Apr 2020 07:44:02 GMT (envelope-from tagattie@FreeBSD.org) Message-Id: <202004100744.03A7i2He083063@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tagattie set sender to tagattie@FreeBSD.org using -f From: Hiroki Tagato Date: Fri, 10 Apr 2020 07:44:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359770 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: tagattie X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 359770 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 07:44:02 -0000 Author: tagattie (ports committer) Date: Fri Apr 10 07:44:02 2020 New Revision: 359770 URL: https://svnweb.freebsd.org/changeset/base/359770 Log: Add myself (tagattie) as ports committer Approved by: ehaupt (mentor) Modified: head/share/misc/committers-ports.dot Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Fri Apr 10 05:13:15 2020 (r359769) +++ head/share/misc/committers-ports.dot Fri Apr 10 07:44:02 2020 (r359770) @@ -260,6 +260,7 @@ sunpoet [label="Po-Chuan Hsieh\nsunpoet@FreeBSD.org\n2 swills [label="Steve Wills\nswills@FreeBSD.org\n2010/09/03"] sylvio [label="Sylvio Cesar Teixeira\nsylvio@FreeBSD.org\n2009/10/29"] tabthorpe [label="Thomas Abthorpe\ntabthorpe@FreeBSD.org\n2007/08/20"] +tagattie [label="Hiroki Tagato\ntagattie@FreeBSD.org\n2020/04/01"] tcberner [label="Tobias C. Berner\ntcberner@FreeBSD.org\n2016/07/06"] tdb [label="Tim Bishop\ntdb@FreeBSD.org\n2005/11/30"] thierry [label="Thierry Thomas\nthierry@FreeBSD.org\n2004/03/15"] @@ -411,6 +412,7 @@ edwin -> lx ehaupt -> db ehaupt -> martymac +ehaupt -> tagattie eik -> sem eik -> trhodes @@ -655,6 +657,8 @@ philip -> koitsu pi -> meta pi -> tz + +pizzamig -> tagattie rafan -> chinsan From owner-svn-src-head@freebsd.org Fri Apr 10 09:12:41 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AD8B92B7B57; Fri, 10 Apr 2020 09:12:41 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zC2x44FJz3Hls; Fri, 10 Apr 2020 09:12:41 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 872BF23C99; Fri, 10 Apr 2020 09:12:41 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03A9CfmY038204; Fri, 10 Apr 2020 09:12:41 GMT (envelope-from carlavilla@FreeBSD.org) Received: (from carlavilla@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03A9CfAj038203; Fri, 10 Apr 2020 09:12:41 GMT (envelope-from carlavilla@FreeBSD.org) Message-Id: <202004100912.03A9CfAj038203@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: carlavilla set sender to carlavilla@FreeBSD.org using -f From: Sergio Carlavilla Delgado Date: Fri, 10 Apr 2020 09:12:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359771 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: carlavilla X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 359771 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 09:12:41 -0000 Author: carlavilla (doc committer) Date: Fri Apr 10 09:12:41 2020 New Revision: 359771 URL: https://svnweb.freebsd.org/changeset/base/359771 Log: arc4random(3): Expand the SEE ALSO section Submitted by: Gordon Bergling Approved by: brueffer@ Obtained from: NetBSD Differential Revision: https://reviews.freebsd.org/D23716 Modified: head/lib/libc/gen/arc4random.3 Modified: head/lib/libc/gen/arc4random.3 ============================================================================== --- head/lib/libc/gen/arc4random.3 Fri Apr 10 07:44:02 2020 (r359770) +++ head/lib/libc/gen/arc4random.3 Fri Apr 10 09:12:41 2020 (r359771) @@ -31,7 +31,7 @@ .\" Manual page, using -mandoc macros .\" $FreeBSD$ .\" -.Dd March 21, 2019 +.Dd April 10, 2020 .Dt ARC4RANDOM 3 .Os .Sh NAME @@ -121,6 +121,13 @@ functions using .Xr rand 3 , .Xr rand48 3 , .Xr random 3 +.Rs +.%A Daniel J. Bernstein +.%T ChaCha, a variant of Salsa20 +.%D 2008-01-28 +.%O Document ID: 4027b5256e17b9796842e6d0f68b0b5e +.%U http://cr.yp.to/papers.html#chacha +.Re .Sh HISTORY These functions first appeared in .Ox 2.1 . From owner-svn-src-head@freebsd.org Fri Apr 10 09:27:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 155CC2B8041; Fri, 10 Apr 2020 09:27:19 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zCMp6vD4z3JRY; Fri, 10 Apr 2020 09:27:18 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E81EB23E96; Fri, 10 Apr 2020 09:27:18 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03A9RIhd044375; Fri, 10 Apr 2020 09:27:18 GMT (envelope-from carlavilla@FreeBSD.org) Received: (from carlavilla@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03A9RIum044374; Fri, 10 Apr 2020 09:27:18 GMT (envelope-from carlavilla@FreeBSD.org) Message-Id: <202004100927.03A9RIum044374@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: carlavilla set sender to carlavilla@FreeBSD.org using -f From: Sergio Carlavilla Delgado Date: Fri, 10 Apr 2020 09:27:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359772 - head/lib/libc/stdlib X-SVN-Group: head X-SVN-Commit-Author: carlavilla X-SVN-Commit-Paths: head/lib/libc/stdlib X-SVN-Commit-Revision: 359772 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 09:27:19 -0000 Author: carlavilla (doc committer) Date: Fri Apr 10 09:27:18 2020 New Revision: 359772 URL: https://svnweb.freebsd.org/changeset/base/359772 Log: exit(3): Add HISTORY section PR: 240259 Submitted by: Gordon Bergling Obtained from: OpenBSD Differential Revision: https://reviews.freebsd.org/D24146 Modified: head/lib/libc/stdlib/exit.3 Modified: head/lib/libc/stdlib/exit.3 ============================================================================== --- head/lib/libc/stdlib/exit.3 Fri Apr 10 09:12:41 2020 (r359771) +++ head/lib/libc/stdlib/exit.3 Fri Apr 10 09:27:18 2020 (r359772) @@ -32,7 +32,7 @@ .\" @(#)exit.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd May 28, 2018 +.Dd March 22, 2020 .Dt EXIT 3 .Os .Sh NAME @@ -131,3 +131,8 @@ and .Fn _Exit functions conform to .St -isoC-99 . +.Sh HISTORY +The +.Fn exit +function appeared in +.At v1 . From owner-svn-src-head@freebsd.org Fri Apr 10 09:37:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2B2602B8556; Fri, 10 Apr 2020 09:37:21 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zCbP0MLpz3KFH; Fri, 10 Apr 2020 09:37:21 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 07ACC240CE; Fri, 10 Apr 2020 09:37:21 +0000 (UTC) (envelope-from carlavilla@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03A9bKWB050601; Fri, 10 Apr 2020 09:37:20 GMT (envelope-from carlavilla@FreeBSD.org) Received: (from carlavilla@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03A9bKmL050600; Fri, 10 Apr 2020 09:37:20 GMT (envelope-from carlavilla@FreeBSD.org) Message-Id: <202004100937.03A9bKmL050600@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: carlavilla set sender to carlavilla@FreeBSD.org using -f From: Sergio Carlavilla Delgado Date: Fri, 10 Apr 2020 09:37:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359773 - head/lib/libc/stdio X-SVN-Group: head X-SVN-Commit-Author: carlavilla X-SVN-Commit-Paths: head/lib/libc/stdio X-SVN-Commit-Revision: 359773 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 09:37:21 -0000 Author: carlavilla (doc committer) Date: Fri Apr 10 09:37:20 2020 New Revision: 359773 URL: https://svnweb.freebsd.org/changeset/base/359773 Log: Add HISTORY section to getc(3) PR: 240269 Submitted by: Gordon Bergling Differential Revision: https://reviews.freebsd.org/D24295 Modified: head/lib/libc/stdio/getc.3 Modified: head/lib/libc/stdio/getc.3 ============================================================================== --- head/lib/libc/stdio/getc.3 Fri Apr 10 09:27:18 2020 (r359772) +++ head/lib/libc/stdio/getc.3 Fri Apr 10 09:37:20 2020 (r359773) @@ -32,7 +32,7 @@ .\" @(#)getc.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 10, 2003 +.Dd April 4, 2020 .Dt GETC 3 .Os .Sh NAME @@ -153,6 +153,22 @@ and .Fn getchar_unlocked functions conform to .St -p1003.1-2001 . +.Sh HISTORY +The +.Fn getc +and +.Fn getw +functions appeared in a similar form in +.At v1 ; +and were integrated into stdio in +.At v7 ; +.Fn getchar +in +.At v4 ; +and +.Fn fgetc +in +.At v7 . .Sh BUGS Since .Dv EOF From owner-svn-src-head@freebsd.org Fri Apr 10 14:01:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 927972BEA40; Fri, 10 Apr 2020 14:01:08 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zKRm3J7Gz44xS; Fri, 10 Apr 2020 14:01:08 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C0BD27321; Fri, 10 Apr 2020 14:01:08 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AE18lK013627; Fri, 10 Apr 2020 14:01:08 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AE18Ww013626; Fri, 10 Apr 2020 14:01:08 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004101401.03AE18Ww013626@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 10 Apr 2020 14:01:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359774 - in head: gnu/usr.bin/gdb share/mk X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: gnu/usr.bin/gdb share/mk X-SVN-Commit-Revision: 359774 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 14:01:08 -0000 Author: kevans Date: Fri Apr 10 14:01:07 2020 New Revision: 359774 URL: https://svnweb.freebsd.org/changeset/base/359774 Log: userland build: replace -fno-common with ${CFCOMMONFLAG} This change allows any downstream or otherwise consumer to easily override the new -fno-common default on a temporary basis without having to hack into src.sys.mk, and also makes it a bit easier to search for these specific cases where -fno-common must be overridden with -fcommon or else the build will fail. The gdb build, the only program requiring -fcommon on head/, is switched over as an example usage. It will need it on all branches, so this does not harm future mergability. MFC after: 3 days Modified: head/gnu/usr.bin/gdb/Makefile.inc head/share/mk/src.sys.mk Modified: head/gnu/usr.bin/gdb/Makefile.inc ============================================================================== --- head/gnu/usr.bin/gdb/Makefile.inc Fri Apr 10 09:37:20 2020 (r359773) +++ head/gnu/usr.bin/gdb/Makefile.inc Fri Apr 10 14:01:07 2020 (r359774) @@ -50,7 +50,7 @@ CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/edit # Some bits here currently rely on some of the linker-merging magic that happens # with -fcommon. While this is the default right now, explicitly set -fcommon # so that it continues to build when the default flips. -CFLAGS+= -fcommon +CFCOMMONFLAG= -fcommon GENSRCS+= nm.h tm.h Modified: head/share/mk/src.sys.mk ============================================================================== --- head/share/mk/src.sys.mk Fri Apr 10 09:37:20 2020 (r359773) +++ head/share/mk/src.sys.mk Fri Apr 10 14:01:07 2020 (r359774) @@ -37,7 +37,8 @@ __postrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}: # The following should be removed no earlier than LLVM11 being imported into the # tree, to ensure we don't regress the build. LLVM11 and GCC10 will switch the # default over to -fno-common, making this redundant. -CFLAGS+= -fno-common +CFCOMMONFLAG?= -fno-common +CFLAGS+= ${CFCOMMONFLAG} # tempting, but bsd.compiler.mk causes problems this early # probably need to remove dependence on bsd.own.mk From owner-svn-src-head@freebsd.org Fri Apr 10 16:27:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1714C2C1F0B; Fri, 10 Apr 2020 16:27:28 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zNhb6xW6z4FfK; Fri, 10 Apr 2020 16:27:27 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E90E31110; Fri, 10 Apr 2020 16:27:27 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AGRRj7004455; Fri, 10 Apr 2020 16:27:27 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AGRRvv004454; Fri, 10 Apr 2020 16:27:27 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004101627.03AGRRvv004454@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Fri, 10 Apr 2020 16:27:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359775 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 359775 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 16:27:28 -0000 Author: melifaro Date: Fri Apr 10 16:27:27 2020 New Revision: 359775 URL: https://svnweb.freebsd.org/changeset/base/359775 Log: Split rtrequest1_fib() into smaller manageable chunks. No functional changes. * Move route addition / route deletion code from rtrequest1_fib() to add_route() and del_route() respectively. * Rename rtrequest1_fib_change() to change_route() for consistency. * Shrink the scope of ugly info #defines. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24349 Modified: head/sys/net/route.c Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Fri Apr 10 14:01:07 2020 (r359774) +++ head/sys/net/route.c Fri Apr 10 16:27:27 2020 (r359775) @@ -143,8 +143,6 @@ VNET_DEFINE_STATIC(uma_zone_t, rtzone); /* Routing ta EVENTHANDLER_LIST_DEFINE(rt_addrmsg); static int rt_getifa_fib(struct rt_addrinfo *, u_int); -static int rtrequest1_fib_change(struct rib_head *, struct rt_addrinfo *, - struct rtentry **, u_int); static void rt_setmetrics(const struct rt_addrinfo *, struct rtentry *); static int rt_ifdelroute(const struct rtentry *rt, void *arg); static struct rtentry *rt_unlinkrte(struct rib_head *rnh, @@ -157,6 +155,13 @@ static struct radix_node *rt_mpath_unlink(struct rib_h static int rt_exportinfo(struct rtentry *rt, struct rt_addrinfo *info, int flags); +static int add_route(struct rib_head *rnh, struct rt_addrinfo *info, + struct rtentry **ret_nrt); +static int del_route(struct rib_head *rnh, struct rt_addrinfo *info, + struct rtentry **ret_nrt); +static int change_route(struct rib_head *, struct rt_addrinfo *, + struct rtentry **); + struct if_mtuinfo { struct ifnet *ifp; @@ -1528,20 +1533,26 @@ rt_mpath_unlink(struct rib_head *rnh, struct rt_addrin } #endif +#undef dst +#undef gateway +#undef netmask +#undef ifaaddr +#undef ifpaddr +#undef flags + int rtrequest1_fib(int req, struct rt_addrinfo *info, struct rtentry **ret_nrt, u_int fibnum) { - int error = 0; - struct rtentry *rt, *rt_old; - struct radix_node *rn; + const struct sockaddr *dst; struct rib_head *rnh; - struct ifaddr *ifa; - struct sockaddr *ndst; - struct sockaddr_storage mdst; + int error; KASSERT((fibnum < rt_numfibs), ("rtrequest1_fib: bad fibnum")); - KASSERT((flags & RTF_RNH_LOCKED) == 0, ("rtrequest1_fib: locked")); + KASSERT((info->rti_flags & RTF_RNH_LOCKED) == 0, ("rtrequest1_fib: locked")); + + dst = info->rti_info[RTAX_DST]; + switch (dst->sa_family) { case AF_INET6: case AF_INET: @@ -1563,36 +1574,13 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, stru * If we are adding a host route then we don't want to put * a netmask in the tree, nor do we want to clone it. */ - if (flags & RTF_HOST) - netmask = NULL; + if (info->rti_flags & RTF_HOST) + info->rti_info[RTAX_NETMASK] = NULL; + error = 0; switch (req) { case RTM_DELETE: - if (netmask) { - if (dst->sa_len > sizeof(mdst)) - return (EINVAL); - rt_maskedcopy(dst, (struct sockaddr *)&mdst, netmask); - dst = (struct sockaddr *)&mdst; - } - - RIB_WLOCK(rnh); - rt = rt_unlinkrte(rnh, info, &error); - RIB_WUNLOCK(rnh); - if (error != 0) - return (error); - - rt_notifydelete(rt, info); - - /* - * If the caller wants it, then it can have it, - * but it's up to it to free the rtentry as we won't be - * doing it. - */ - if (ret_nrt) { - *ret_nrt = rt; - RT_UNLOCK(rt); - } else - RTFREE_LOCKED(rt); + error = del_route(rnh, info, ret_nrt); break; case RTM_RESOLVE: /* @@ -1601,160 +1589,214 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, stru */ break; case RTM_ADD: - if ((flags & RTF_GATEWAY) && !gateway) - return (EINVAL); - if (dst && gateway && (dst->sa_family != gateway->sa_family) && - (gateway->sa_family != AF_UNSPEC) && (gateway->sa_family != AF_LINK)) - return (EINVAL); + error = add_route(rnh, info, ret_nrt); + break; + case RTM_CHANGE: + RIB_WLOCK(rnh); + error = change_route(rnh, info, ret_nrt); + RIB_WUNLOCK(rnh); + break; + default: + error = EOPNOTSUPP; + } - if (info->rti_ifa == NULL) { - error = rt_getifa_fib(info, fibnum); - if (error) - return (error); - } else { - ifa_ref(info->rti_ifa); - } - rt = uma_zalloc(V_rtzone, M_NOWAIT); - if (rt == NULL) { - ifa_free(info->rti_ifa); - return (ENOBUFS); - } - rt->rt_flags = RTF_UP | flags; - rt->rt_fibnum = fibnum; - /* - * Add the gateway. Possibly re-malloc-ing the storage for it. - */ - if ((error = rt_setgate(rt, dst, gateway)) != 0) { - ifa_free(info->rti_ifa); - uma_zfree(V_rtzone, rt); + return (error); +} + +static int +add_route(struct rib_head *rnh, struct rt_addrinfo *info, + struct rtentry **ret_nrt) +{ + struct sockaddr *dst, *ndst, *gateway, *netmask; + struct rtentry *rt, *rt_old; + struct radix_node *rn; + struct ifaddr *ifa; + int error, flags; + + dst = info->rti_info[RTAX_DST]; + gateway = info->rti_info[RTAX_GATEWAY]; + netmask = info->rti_info[RTAX_NETMASK]; + flags = info->rti_flags; + + if ((flags & RTF_GATEWAY) && !gateway) + return (EINVAL); + if (dst && gateway && (dst->sa_family != gateway->sa_family) && + (gateway->sa_family != AF_UNSPEC) && (gateway->sa_family != AF_LINK)) + return (EINVAL); + + if (info->rti_ifa == NULL) { + error = rt_getifa_fib(info, rnh->rib_fibnum); + if (error) return (error); - } + } else { + ifa_ref(info->rti_ifa); + } + rt = uma_zalloc(V_rtzone, M_NOWAIT); + if (rt == NULL) { + ifa_free(info->rti_ifa); + return (ENOBUFS); + } + rt->rt_flags = RTF_UP | flags; + rt->rt_fibnum = rnh->rib_fibnum; + /* + * Add the gateway. Possibly re-malloc-ing the storage for it. + */ + if ((error = rt_setgate(rt, dst, gateway)) != 0) { + ifa_free(info->rti_ifa); + uma_zfree(V_rtzone, rt); + return (error); + } - /* - * point to the (possibly newly malloc'd) dest address. - */ - ndst = (struct sockaddr *)rt_key(rt); + /* + * point to the (possibly newly malloc'd) dest address. + */ + ndst = (struct sockaddr *)rt_key(rt); - /* - * make sure it contains the value we want (masked if needed). - */ - if (netmask) { - rt_maskedcopy(dst, ndst, netmask); - } else - bcopy(dst, ndst, dst->sa_len); + /* + * make sure it contains the value we want (masked if needed). + */ + if (netmask) { + rt_maskedcopy(dst, ndst, netmask); + } else + bcopy(dst, ndst, dst->sa_len); - /* - * We use the ifa reference returned by rt_getifa_fib(). - * This moved from below so that rnh->rnh_addaddr() can - * examine the ifa and ifa->ifa_ifp if it so desires. - */ - ifa = info->rti_ifa; - rt->rt_ifa = ifa; - rt->rt_ifp = ifa->ifa_ifp; - rt->rt_weight = 1; + /* + * We use the ifa reference returned by rt_getifa_fib(). + * This moved from below so that rnh->rnh_addaddr() can + * examine the ifa and ifa->ifa_ifp if it so desires. + */ + ifa = info->rti_ifa; + rt->rt_ifa = ifa; + rt->rt_ifp = ifa->ifa_ifp; + rt->rt_weight = 1; - rt_setmetrics(info, rt); + rt_setmetrics(info, rt); - RIB_WLOCK(rnh); - RT_LOCK(rt); + RIB_WLOCK(rnh); + RT_LOCK(rt); #ifdef RADIX_MPATH - /* do not permit exactly the same dst/mask/gw pair */ - if (rt_mpath_capable(rnh) && - rt_mpath_conflict(rnh, rt, netmask)) { - RIB_WUNLOCK(rnh); + /* do not permit exactly the same dst/mask/gw pair */ + if (rt_mpath_capable(rnh) && + rt_mpath_conflict(rnh, rt, netmask)) { + RIB_WUNLOCK(rnh); - ifa_free(rt->rt_ifa); - R_Free(rt_key(rt)); - uma_zfree(V_rtzone, rt); - return (EEXIST); - } + ifa_free(rt->rt_ifa); + R_Free(rt_key(rt)); + uma_zfree(V_rtzone, rt); + return (EEXIST); + } #endif - /* XXX mtu manipulation will be done in rnh_addaddr -- itojun */ - rn = rnh->rnh_addaddr(ndst, netmask, &rnh->head, rt->rt_nodes); + /* XXX mtu manipulation will be done in rnh_addaddr -- itojun */ + rn = rnh->rnh_addaddr(ndst, netmask, &rnh->head, rt->rt_nodes); - if (rn != NULL && rt->rt_expire > 0) - tmproutes_update(rnh, rt); + if (rn != NULL && rt->rt_expire > 0) + tmproutes_update(rnh, rt); - rt_old = NULL; - if (rn == NULL && (info->rti_flags & RTF_PINNED) != 0) { + rt_old = NULL; + if (rn == NULL && (info->rti_flags & RTF_PINNED) != 0) { - /* - * Force removal and re-try addition - * TODO: better multipath&pinned support - */ - struct sockaddr *info_dst = info->rti_info[RTAX_DST]; - info->rti_info[RTAX_DST] = ndst; - /* Do not delete existing PINNED(interface) routes */ - info->rti_flags &= ~RTF_PINNED; - rt_old = rt_unlinkrte(rnh, info, &error); - info->rti_flags |= RTF_PINNED; - info->rti_info[RTAX_DST] = info_dst; - if (rt_old != NULL) - rn = rnh->rnh_addaddr(ndst, netmask, &rnh->head, - rt->rt_nodes); - } - RIB_WUNLOCK(rnh); - - if (rt_old != NULL) - RT_UNLOCK(rt_old); - /* - * If it still failed to go into the tree, - * then un-make it (this should be a function) + * Force removal and re-try addition + * TODO: better multipath&pinned support */ - if (rn == NULL) { - ifa_free(rt->rt_ifa); - R_Free(rt_key(rt)); - uma_zfree(V_rtzone, rt); - return (EEXIST); - } + struct sockaddr *info_dst = info->rti_info[RTAX_DST]; + info->rti_info[RTAX_DST] = ndst; + /* Do not delete existing PINNED(interface) routes */ + info->rti_flags &= ~RTF_PINNED; + rt_old = rt_unlinkrte(rnh, info, &error); + info->rti_flags |= RTF_PINNED; + info->rti_info[RTAX_DST] = info_dst; + if (rt_old != NULL) + rn = rnh->rnh_addaddr(ndst, netmask, &rnh->head, + rt->rt_nodes); + } + RIB_WUNLOCK(rnh); - if (rt_old != NULL) { - rt_notifydelete(rt_old, info); - RTFREE(rt_old); - } + if (rt_old != NULL) + RT_UNLOCK(rt_old); - /* - * If this protocol has something to add to this then - * allow it to do that as well. - */ - if (ifa->ifa_rtrequest) - ifa->ifa_rtrequest(req, rt, info); + /* + * If it still failed to go into the tree, + * then un-make it (this should be a function) + */ + if (rn == NULL) { + ifa_free(rt->rt_ifa); + R_Free(rt_key(rt)); + uma_zfree(V_rtzone, rt); + return (EEXIST); + } - /* - * actually return a resultant rtentry and - * give the caller a single reference. - */ - if (ret_nrt) { - *ret_nrt = rt; - RT_ADDREF(rt); - } - rnh->rnh_gen++; /* Routing table updated */ - RT_UNLOCK(rt); - break; - case RTM_CHANGE: - RIB_WLOCK(rnh); - error = rtrequest1_fib_change(rnh, info, ret_nrt, fibnum); - RIB_WUNLOCK(rnh); - break; - default: - error = EOPNOTSUPP; + if (rt_old != NULL) { + rt_notifydelete(rt_old, info); + RTFREE(rt_old); } - return (error); + /* + * If this protocol has something to add to this then + * allow it to do that as well. + */ + if (ifa->ifa_rtrequest) + ifa->ifa_rtrequest(RTM_ADD, rt, info); + + /* + * actually return a resultant rtentry and + * give the caller a single reference. + */ + if (ret_nrt) { + *ret_nrt = rt; + RT_ADDREF(rt); + } + rnh->rnh_gen++; /* Routing table updated */ + RT_UNLOCK(rt); + + return (0); } -#undef dst -#undef gateway -#undef netmask -#undef ifaaddr -#undef ifpaddr -#undef flags +static int +del_route(struct rib_head *rnh, struct rt_addrinfo *info, + struct rtentry **ret_nrt) +{ + struct sockaddr *dst, *netmask; + struct sockaddr_storage mdst; + struct rtentry *rt; + int error; + dst = info->rti_info[RTAX_DST]; + netmask = info->rti_info[RTAX_NETMASK]; + + if (netmask) { + if (dst->sa_len > sizeof(mdst)) + return (EINVAL); + rt_maskedcopy(dst, (struct sockaddr *)&mdst, netmask); + dst = (struct sockaddr *)&mdst; + } + + RIB_WLOCK(rnh); + rt = rt_unlinkrte(rnh, info, &error); + RIB_WUNLOCK(rnh); + if (error != 0) + return (error); + + rt_notifydelete(rt, info); + + /* + * If the caller wants it, then it can have it, + * but it's up to it to free the rtentry as we won't be + * doing it. + */ + if (ret_nrt) { + *ret_nrt = rt; + RT_UNLOCK(rt); + } else + RTFREE_LOCKED(rt); + + return (0); +} + static int -rtrequest1_fib_change(struct rib_head *rnh, struct rt_addrinfo *info, - struct rtentry **ret_nrt, u_int fibnum) +change_route(struct rib_head *rnh, struct rt_addrinfo *info, + struct rtentry **ret_nrt) { struct rtentry *rt = NULL; int error = 0; @@ -1801,7 +1843,7 @@ rtrequest1_fib_change(struct rib_head *rnh, struct rt_ * to avoid rlock in the ifa_ifwithroute(). */ info->rti_flags |= RTF_RNH_LOCKED; - error = rt_getifa_fib(info, fibnum); + error = rt_getifa_fib(info, rnh->rib_fibnum); info->rti_flags &= ~RTF_RNH_LOCKED; if (info->rti_ifa != NULL) free_ifa = 1; From owner-svn-src-head@freebsd.org Fri Apr 10 17:26:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 84EF92C3605; Fri, 10 Apr 2020 17:26:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zQ132kFrz4KBS; Fri, 10 Apr 2020 17:26:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 14A77257A; Fri, 10 Apr 2020 17:26:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 365691D6D6; Fri, 10 Apr 2020 17:26:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id nbYhO6NIwejq; Fri, 10 Apr 2020 17:26:43 +0000 (UTC) Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb DKIM-Filter: OpenDKIM Filter v2.10.3 mail.xzibition.com BE6AC1D6CD To: rgrimes@freebsd.org, Maxim Sobolev Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202004071037.037Abd5T091937@gndrsh.dnsmgr.net> From: Bryan Drewery Autocrypt: addr=bdrewery@FreeBSD.org; prefer-encrypt=mutual; keydata= mQENBFJphmsBCADiFgmS4bIzwZijrS31SjEMzg+n5zNellgM+HkShwehpqCiyhXdWrvH6dTZ a6u50pbUIX7doTR7W7PQHCjCTqtpwvcj0eulZva+iHFp+XrbgSFHn+VVXgkYP2MFySyZRFab D2qqzJBEJofhpv4HvY6uQI5K99pMqKr1Z/lHqsijYYu4RH2OfwB5PinId7xeldzWEonVoCr+ rfxzO/UrgA6v/3layGZcKNHFjmc3NqoN1DXtdaEHqtjIozzbndVkH6lkFvIpIrI6i5ox8pwp VxsxLCr/4Musd5CWgHiet5kSw2SzNeA8FbxdLYCpXNVu+uBACEbCUP+CSNy3NVfEUxsBABEB AAG0JEJyeWFuIERyZXdlcnkgPGJkcmV3ZXJ5QEZyZWVCU0Qub3JnPokBVwQTAQoAQQIbAwUL CQgHAwUVCgkICwUWAwIBAAIeAQIXgAIZARYhBPkXPLLDqup6XIofCTXXcbtuRpfPBQJb5hLu BQkNPvODAAoJEDXXcbtuRpfP9rMH/3f7cfX5rzyEV5QNfV/wS4jFukLoPZ4+nCM/TKxH3pEX 2bLbeQbkk6La8cueQ5Lpoht5XFZ18Y5TbMittngltrlNzoDD0h9are24OkDFGim3afJU7tkj IGQa1if+re+vI5BhzYwRhj0oKXzBi39M5oePd3L1dXfx83rg2FPyZBdIejsz6fR74T3JVkbd 6k2l5/3Zk2uiNMy+eBfDRgYE1E6CP28kV0nCeGKZgSVso0kGUUHud7voKqGVpMvbd0mE4pp4 PE5YJaFPjrll9miaDAvdU8LGIq5n6+aXPLKoQ/QNl6mg6ifgI6FfKILOkTizLW8E5PBSNnCm NapQ55yjm125AQ0EUmmGawEIAKJUU9+Q19oW1RK5jTf3m56j+szIc8Y9DaLC8REUKl4UZJBK BqCl6c0cukVApOD92XoU6hJPm2rLEyp/IcYcPPNTnVu8D8h9oag2L8EiFN7+2hk0xG+lwjc8 uOIZycme7AIJsBU4AZ1v63lxm2k104hwpiatgbe71GIGl7p1MX6ousP/wGzXCOF25Dx9w02C eRe7zEMfhnFjSUhzdCC9han2+KaVB7qIqNR3b8NfbwRNlwPmHqlhXffUow9OsQjSnTK8WKNR lx7xzVccXIvWP2wECFrmqmzMmXpSrmIuiWEpFwZ9x2a0Pva8dCNRiCVTK51IlRXKjaAxiN1u IUrMm6UAEQEAAYkBPAQYAQoAJgIbDBYhBPkXPLLDqup6XIofCTXXcbtuRpfPBQJb5hL4BQkN PvONAAoJEDXXcbtuRpfPCjcH/ivBsOpdpebpgLizSNU5/X4yWN5Aixsc9VBnQhGKAKnMINJQ VMpA55sD2JSPwloXYM/B3qyPJRS/9cwIuX5LDNKKOZU3Qp+TzleynM15/xea14orWYRGRict YHBM3Cnqp7OD8K6Q1uhs0fTxyJP7PZ/G0+7Corlf1DlHhDt6C2HldRPFvAvAgl6sR9Wzgcb7 rzub2HVtbJgl6YHbgyAG7x9NpXFqzx1JLAMdpt2DIYwoi+oMdRQlBIwNuKjQjCGzuXHandd3 kGvBAsyJpQ+coEep9UzwANaV28cXrFr2R4FSOcR50rBA2Nh/vqUYfpsvBvJlwuKAoV1djVHa ihNeL5E= Organization: FreeBSD Message-ID: <3e0a6d83-e99b-1e09-89e5-c202dbef9433@FreeBSD.org> Date: Fri, 10 Apr 2020 10:26:37 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <202004071037.037Abd5T091937@gndrsh.dnsmgr.net> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="UbftOwhhbNfgQ3S4B2To81yrQN1ylYFgm" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 17:26:47 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --UbftOwhhbNfgQ3S4B2To81yrQN1ylYFgm Content-Type: multipart/mixed; boundary="nQFmy8lbwr16kiTrqvEArL9KfYRtiu07u"; protected-headers="v1" From: Bryan Drewery To: rgrimes@freebsd.org, Maxim Sobolev Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <3e0a6d83-e99b-1e09-89e5-c202dbef9433@FreeBSD.org> Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb References: <202004071037.037Abd5T091937@gndrsh.dnsmgr.net> In-Reply-To: <202004071037.037Abd5T091937@gndrsh.dnsmgr.net> --nQFmy8lbwr16kiTrqvEArL9KfYRtiu07u Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 4/7/2020 3:37 AM, Rodney W. Grimes wrote: >> Author: sobomax >> Date: Tue Apr 7 02:46:22 2020 >> New Revision: 359685 >> URL: https://svnweb.freebsd.org/changeset/base/359685 >> >> Log: >> Normalize deployment tools usage and definitions by putting into one= place >> instead of sprinkling them out over many disjoint files. This is a f= ollow-up >> to achieve the same goal in an incomplete rev.348521. > I have concerns that this factoring out of 5 values that have not chang= ed > in 25 years is a pessimization, it is one more file that make has to > open on each invocation. >=20 >=20 The truth is that this additional file read is on top of hundreds of new reads per directory in the past few years. It can suck on NFS but otherwise this 1 change is very minor compared to other additions. One big example is foo.o.depend for each foo.o. Or bmake doing realpath(getcwd()) on every invocation. Improving those, or the bmake job queue, or bmake's overuse of /bin/sh, would go a lot further than the hit from this commit. --=20 Regards, Bryan Drewery --nQFmy8lbwr16kiTrqvEArL9KfYRtiu07u-- --UbftOwhhbNfgQ3S4B2To81yrQN1ylYFgm Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE+Rc8ssOq6npcih8JNddxu25Gl88FAl6QrE1fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEY5 MTczQ0IyQzNBQUVBN0E1QzhBMUYwOTM1RDc3MUJCNkU0Njk3Q0YACgkQNddxu25G l8/Upgf/WDWFT8iahP+M+48rdNLykOIyeSIxDSx9pfzVfw4V2pEmOVqsoxALfj/G igHbbLSI2GMn+w7A4enNh6I3aG9mPz2I4Sx/KK381V+WWkTwarhIKRtv6Dq1lwXk cRp+CSJCZnMPiZI3xin/LkHA8NJgVwKsajtlGiCyZFfCVaQVFuFgigPl1va5hJG0 21GrDBToYwEAeaj80uH36oXfHxjV81Dh+e0lZw7kMrVD6M9UCk/ov2H+MfPMB9qu QIIQsUXXKD5LxUu0QVbdUEeC0ZH37jEVd/PdmdDZesV2H/aqQuGwqdvqn03NUN1P jK1xMqk5xj2RasLuz1nmmAOZBI81cw== =BcP1 -----END PGP SIGNATURE----- --UbftOwhhbNfgQ3S4B2To81yrQN1ylYFgm-- From owner-svn-src-head@freebsd.org Fri Apr 10 17:43:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3D6C42C3E58; Fri, 10 Apr 2020 17:43:29 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48zQNJ6Q1nz4Lb6; Fri, 10 Apr 2020 17:43:28 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 03AHhR4G016799; Fri, 10 Apr 2020 10:43:27 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 03AHhR0F016798; Fri, 10 Apr 2020 10:43:27 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004101743.03AHhR0F016798@gndrsh.dnsmgr.net> Subject: Re: svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb In-Reply-To: <3e0a6d83-e99b-1e09-89e5-c202dbef9433@FreeBSD.org> To: Bryan Drewery Date: Fri, 10 Apr 2020 10:43:27 -0700 (PDT) CC: rgrimes@FreeBSD.org, Maxim Sobolev , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org Reply-To: rgrimes@FreeBSD.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48zQNJ6Q1nz4Lb6 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 17:43:29 -0000 > On 4/7/2020 3:37 AM, Rodney W. Grimes wrote: > >> Author: sobomax > >> Date: Tue Apr 7 02:46:22 2020 > >> New Revision: 359685 > >> URL: https://svnweb.freebsd.org/changeset/base/359685 > >> > >> Log: > >> Normalize deployment tools usage and definitions by putting into one place > >> instead of sprinkling them out over many disjoint files. This is a follow-up > >> to achieve the same goal in an incomplete rev.348521. > > I have concerns that this factoring out of 5 values that have not changed > > in 25 years is a pessimization, it is one more file that make has to > > open on each invocation. > > > > > > The truth is that this additional file read is on top of hundreds of new > reads per directory in the past few years. It can suck on NFS but > otherwise this 1 change is very minor compared to other additions. One > big example is foo.o.depend for each foo.o. Or bmake doing > realpath(getcwd()) on every invocation. Improving those, or the bmake > job queue, or bmake's overuse of /bin/sh, would go a lot further than > the hit from this commit. True, it was unfair of me to pick on this one change, there are a long slow gradual increase in the disk I/O intensity of buildworld over time. I was more raising that general issue, that we should keep an eye towards that as we make changes to the build system, we should be very careful of anything that pessimizes the build. My concerns are for people, like mdexter, that run Build Option Serveys, which is basically 240 buildwords in a single invocation with run times on the order days to complete, or for CI clusters doing 1000's of builds a week. > -- > Regards, > Bryan Drewery -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Fri Apr 10 18:13:30 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E9CE2C4EC4; Fri, 10 Apr 2020 18:13:30 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zR2x6jHwz4Ngg; Fri, 10 Apr 2020 18:13:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DBF462690; Fri, 10 Apr 2020 18:13:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AIDTZs071755; Fri, 10 Apr 2020 18:13:29 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AIDTdZ071754; Fri, 10 Apr 2020 18:13:29 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202004101813.03AIDTdZ071754@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 10 Apr 2020 18:13:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359776 - head/sys/dev/sound/pci/hda X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 359776 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 18:13:30 -0000 Author: emaste Date: Fri Apr 10 18:13:29 2020 New Revision: 359776 URL: https://svnweb.freebsd.org/changeset/base/359776 Log: hdac: update comment on reset duration The comment previously stated the delay must be at least 250us but that was insufficient and so should be doubled, but the delay was actually 1000. The HDA spec actually says the delay must be 521 us (25 frames) so update the comment to match. Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Fri Apr 10 16:27:27 2020 (r359775) +++ head/sys/dev/sound/pci/hda/hdac.c Fri Apr 10 18:13:29 2020 (r359776) @@ -440,9 +440,7 @@ hdac_reset(struct hdac_softc *sc, int wakeup) /* * Wait for codecs to finish their own reset sequence. The delay here - * should be of 250us but for some reasons, it's not enough on my - * computer. Let's use twice as much as necessary to make sure that - * it's reset properly. + * must be at least 521us (HDA 1.0a section 4.3 Codec Discovery). */ DELAY(1000); From owner-svn-src-head@freebsd.org Fri Apr 10 18:38:42 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A61AA2C5AA6; Fri, 10 Apr 2020 18:38:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zRc240L0z4Q8D; Fri, 10 Apr 2020 18:38:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8460E2AA0; Fri, 10 Apr 2020 18:38:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AIcgh8084600; Fri, 10 Apr 2020 18:38:42 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AIcgx5084599; Fri, 10 Apr 2020 18:38:42 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202004101838.03AIcgx5084599@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 10 Apr 2020 18:38:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359777 - head/sys/dev/sound/pci/hda X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 359777 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 18:38:42 -0000 Author: emaste Date: Fri Apr 10 18:38:42 2020 New Revision: 359777 URL: https://svnweb.freebsd.org/changeset/base/359777 Log: hdac: show which command timed out There are several reports of "hdac0: Command timeout on address 2" messages emitted during playback on a variety of contemporary machines. Show the command that timed out in case it might provide a clue in finding the cause. PR: 229190 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Fri Apr 10 18:13:29 2020 (r359776) +++ head/sys/dev/sound/pci/hda/hdac.c Fri Apr 10 18:38:42 2020 (r359777) @@ -999,7 +999,8 @@ hdac_send_command(struct hdac_softc *sc, nid_t cad, ui } while (sc->codecs[cad].pending != 0 && --timeout); if (sc->codecs[cad].pending != 0) { - device_printf(sc->dev, "Command timeout on address %d\n", cad); + device_printf(sc->dev, "Command 0x%08x timeout on address %d\n", + verb, cad); sc->codecs[cad].pending = 0; } From owner-svn-src-head@freebsd.org Fri Apr 10 20:42:12 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 72DFB278DF0; Fri, 10 Apr 2020 20:42:12 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zVLX2Q0Xz4Xp0; Fri, 10 Apr 2020 20:42:12 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4E0D3469E; Fri, 10 Apr 2020 20:42:12 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AKgCmH061088; Fri, 10 Apr 2020 20:42:12 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AKgBBF060995; Fri, 10 Apr 2020 20:42:11 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202004102042.03AKgBBF060995@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 10 Apr 2020 20:42:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359779 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 359779 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 20:42:12 -0000 Author: markj Date: Fri Apr 10 20:42:11 2020 New Revision: 359779 URL: https://svnweb.freebsd.org/changeset/base/359779 Log: sbappendcontrol() needs to avoid clearing M_NOTREADY on data mbufs. If LOCAL_CREDS is set on a unix socket and sendfile() is called, sendfile will call uipc_send(PRUS_NOTREADY), prepending a control message to the M_NOTREADY mbufs. uipc_send() then calls sbappendcontrol() instead of sbappend(), and sbappendcontrol() would erroneously clear M_NOTREADY. Pass send flags to sbappendcontrol(), like we do for sbappend(), to preserve M_READY when necessary. Reported by: syzkaller MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24333 Modified: head/sys/kern/uipc_sockbuf.c head/sys/kern/uipc_usrreq.c head/sys/sys/sockbuf.h Modified: head/sys/kern/uipc_sockbuf.c ============================================================================== --- head/sys/kern/uipc_sockbuf.c Fri Apr 10 20:41:59 2020 (r359778) +++ head/sys/kern/uipc_sockbuf.c Fri Apr 10 20:42:11 2020 (r359779) @@ -1101,11 +1101,11 @@ sbappendaddr(struct sockbuf *sb, const struct sockaddr void sbappendcontrol_locked(struct sockbuf *sb, struct mbuf *m0, - struct mbuf *control) + struct mbuf *control, int flags) { struct mbuf *m, *mlast; - m_clrprotoflags(m0); + sbm_clrprotoflags(m0, flags); m_last(control)->m_next = m0; SBLASTRECORDCHK(sb); @@ -1123,11 +1123,12 @@ sbappendcontrol_locked(struct sockbuf *sb, struct mbuf } void -sbappendcontrol(struct sockbuf *sb, struct mbuf *m0, struct mbuf *control) +sbappendcontrol(struct sockbuf *sb, struct mbuf *m0, struct mbuf *control, + int flags) { SOCKBUF_LOCK(sb); - sbappendcontrol_locked(sb, m0, control); + sbappendcontrol_locked(sb, m0, control, flags); SOCKBUF_UNLOCK(sb); } Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Fri Apr 10 20:41:59 2020 (r359778) +++ head/sys/kern/uipc_usrreq.c Fri Apr 10 20:42:11 2020 (r359779) @@ -1192,7 +1192,7 @@ uipc_send(struct socket *so, int flags, struct mbuf *m case SOCK_STREAM: if (control != NULL) { sbappendcontrol_locked(&so2->so_rcv, m, - control); + control, flags); control = NULL; } else sbappend_locked(&so2->so_rcv, m, flags); Modified: head/sys/sys/sockbuf.h ============================================================================== --- head/sys/sys/sockbuf.h Fri Apr 10 20:41:59 2020 (r359778) +++ head/sys/sys/sockbuf.h Fri Apr 10 20:42:11 2020 (r359779) @@ -145,9 +145,9 @@ int sbappendaddr_locked(struct sockbuf *sb, const stru int sbappendaddr_nospacecheck_locked(struct sockbuf *sb, const struct sockaddr *asa, struct mbuf *m0, struct mbuf *control); void sbappendcontrol(struct sockbuf *sb, struct mbuf *m0, - struct mbuf *control); + struct mbuf *control, int flags); void sbappendcontrol_locked(struct sockbuf *sb, struct mbuf *m0, - struct mbuf *control); + struct mbuf *control, int flags); void sbappendrecord(struct sockbuf *sb, struct mbuf *m0); void sbappendrecord_locked(struct sockbuf *sb, struct mbuf *m0); void sbcompress(struct sockbuf *sb, struct mbuf *m, struct mbuf *n); From owner-svn-src-head@freebsd.org Fri Apr 10 20:42:00 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7E741278DBE; Fri, 10 Apr 2020 20:42:00 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zVLJ2s0qz4Xh7; Fri, 10 Apr 2020 20:42:00 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5D3F44558; Fri, 10 Apr 2020 20:42:00 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AKg06B060944; Fri, 10 Apr 2020 20:42:00 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AKg0fK060943; Fri, 10 Apr 2020 20:42:00 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202004102042.03AKg0fK060943@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 10 Apr 2020 20:42:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359778 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359778 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 20:42:00 -0000 Author: markj Date: Fri Apr 10 20:41:59 2020 New Revision: 359778 URL: https://svnweb.freebsd.org/changeset/base/359778 Log: Properly handle disconnected sockets in uipc_ready(). When transmitting over a unix socket, data is placed directly into the receiving socket's receive buffer, instead of the transmitting socket's send buffer. This means that when pru_ready is called during sendfile(), the passed socket does not contain M_NOTREADY mbufs in its buffers; uipc_ready() must locate the linked socket. Currently uipc_ready() frees the mbufs if the socket is disconnected, but this is wrong since the mbufs may still be present in the receiving socket's buffer after a disconnect. This can result in a use-after-free and potentially a double free if the receive buffer is flushed after uipc_ready() frees the mbufs. Fix the problem by trying harder to locate the correct socket buffer and calling sbready(): use the global list of SOCK_STREAM unix sockets to search for a sockbuf containing the now-ready mbufs. Only free the mbufs if we fail this search. Reviewed by: jah, kib Reported and tested by: pho MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24332 Modified: head/sys/kern/uipc_usrreq.c Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Fri Apr 10 18:38:42 2020 (r359777) +++ head/sys/kern/uipc_usrreq.c Fri Apr 10 20:41:59 2020 (r359778) @@ -775,6 +775,18 @@ uipc_detach(struct socket *so) vplock = NULL; local_unp_rights = 0; + SOCK_LOCK(so); + if (!SOLISTENING(so)) { + /* + * Once the socket is removed from the global lists, + * uipc_ready() will not be able to locate its socket buffer, so + * clear the buffer now. At this point internalized rights have + * already been disposed of. + */ + sbrelease(&so->so_rcv, so); + } + SOCK_UNLOCK(so); + UNP_LINK_WLOCK(); LIST_REMOVE(unp, unp_link); if (unp->unp_gcflag & UNPGC_DEAD) @@ -1244,19 +1256,54 @@ release: return (error); } +static bool +uipc_ready_scan(struct socket *so, struct mbuf *m, int count, int *errorp) +{ + struct mbuf *mb, *n; + struct sockbuf *sb; + + SOCK_LOCK(so); + if (SOLISTENING(so)) { + SOCK_UNLOCK(so); + return (false); + } + mb = NULL; + sb = &so->so_rcv; + SOCKBUF_LOCK(sb); + if (sb->sb_fnrdy != NULL) { + for (mb = sb->sb_mb, n = mb->m_nextpkt; mb != NULL;) { + if (mb == m) { + *errorp = sbready(sb, m, count); + break; + } + mb = mb->m_next; + if (mb == NULL) { + mb = n; + n = mb->m_nextpkt; + } + } + } + SOCKBUF_UNLOCK(sb); + SOCK_UNLOCK(so); + return (mb != NULL); +} + static int uipc_ready(struct socket *so, struct mbuf *m, int count) { struct unpcb *unp, *unp2; struct socket *so2; - int error; + int error, i; unp = sotounpcb(so); + KASSERT(so->so_type == SOCK_STREAM, + ("%s: unexpected socket type for %p", __func__, so)); + UNP_PCB_LOCK(unp); if ((unp2 = unp->unp_conn) == NULL) { UNP_PCB_UNLOCK(unp); - goto error; + goto search; } if (unp != unp2) { if (UNP_PCB_TRYLOCK(unp2) == 0) { @@ -1264,25 +1311,39 @@ uipc_ready(struct socket *so, struct mbuf *m, int coun UNP_PCB_UNLOCK(unp); UNP_PCB_LOCK(unp2); if (unp_pcb_rele(unp2)) - goto error; + goto search; } else UNP_PCB_UNLOCK(unp); } so2 = unp2->unp_socket; - SOCKBUF_LOCK(&so2->so_rcv); if ((error = sbready(&so2->so_rcv, m, count)) == 0) sorwakeup_locked(so2); else SOCKBUF_UNLOCK(&so2->so_rcv); - UNP_PCB_UNLOCK(unp2); + return (error); +search: + /* + * The receiving socket has been disconnected, but may still be valid. + * In this case, the now-ready mbufs are still present in its socket + * buffer, so perform an exhaustive search before giving up and freeing + * the mbufs. + */ + UNP_LINK_RLOCK(); + LIST_FOREACH(unp, &unp_shead, unp_link) { + if (uipc_ready_scan(unp->unp_socket, m, count, &error)) + break; + } + UNP_LINK_RUNLOCK(); + + if (unp == NULL) { + for (i = 0; i < count; i++) + m = m_free(m); + error = ECONNRESET; + } return (error); - error: - for (int i = 0; i < count; i++) - m = m_free(m); - return (ECONNRESET); } static int From owner-svn-src-head@freebsd.org Fri Apr 10 21:25:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B9B5027A4A3; Fri, 10 Apr 2020 21:25:36 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zWJc2p9Gz4Zv4; Fri, 10 Apr 2020 21:25:36 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 414074E70; Fri, 10 Apr 2020 21:25:36 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ALPa44087348; Fri, 10 Apr 2020 21:25:36 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ALPaWg087347; Fri, 10 Apr 2020 21:25:36 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004102125.03ALPaWg087347@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 10 Apr 2020 21:25:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359780 - head/sys/fs/nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsserver X-SVN-Commit-Revision: 359780 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 21:25:36 -0000 Author: rmacklem Date: Fri Apr 10 21:25:35 2020 New Revision: 359780 URL: https://svnweb.freebsd.org/changeset/base/359780 Log: Replace mbuf macros with the code they would generate in the NFS code. When the code was ported to Mac OS/X, mbuf handling functions were converted to using the Mac OS/X accessor functions. For FreeBSD, they are a simple set of macros in sys/fs/nfs/nfskpiport.h. Since porting to Mac OS/X is no longer a consideration, replacement of these macros with the code generated by them makes the code more readable. When support for external page mbufs is added as needed by the KERN_TLS, the patch becomes simpler if done without the macros. This patch should not result in any semantic change. This conversion will be committed one file at a time. Modified: head/sys/fs/nfsserver/nfs_nfsdsubs.c Modified: head/sys/fs/nfsserver/nfs_nfsdsubs.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdsubs.c Fri Apr 10 20:42:11 2020 (r359779) +++ head/sys/fs/nfsserver/nfs_nfsdsubs.c Fri Apr 10 21:25:35 2020 (r359780) @@ -1290,15 +1290,15 @@ nfsrv_adj(mbuf_t mp, int len, int nul) count = 0; m = mp; for (;;) { - count += mbuf_len(m); - if (mbuf_next(m) == NULL) + count += m->m_len; + if (m->m_next == NULL) break; - m = mbuf_next(m); + m = m->m_next; } - if (mbuf_len(m) > len) { - mbuf_setlen(m, mbuf_len(m) - len); + if (m->m_len > len) { + m->m_len -= len; if (nul > 0) { - cp = NFSMTOD(m, caddr_t) + mbuf_len(m) - nul; + cp = mtod(m, caddr_t) + m->m_len - nul; for (i = 0; i < nul; i++) *cp++ = '\0'; } @@ -1312,20 +1312,20 @@ nfsrv_adj(mbuf_t mp, int len, int nul) * Find the mbuf with last data, adjust its length, * and toss data from remaining mbufs on chain. */ - for (m = mp; m; m = mbuf_next(m)) { - if (mbuf_len(m) >= count) { - mbuf_setlen(m, count); + for (m = mp; m; m = m->m_next) { + if (m->m_len >= count) { + m->m_len = count; if (nul > 0) { - cp = NFSMTOD(m, caddr_t) + mbuf_len(m) - nul; + cp = mtod(m, caddr_t) + m->m_len - nul; for (i = 0; i < nul; i++) *cp++ = '\0'; } break; } - count -= mbuf_len(m); + count -= m->m_len; } - for (m = mbuf_next(m); m; m = mbuf_next(m)) - mbuf_setlen(m, 0); + for (m = m->m_next; m; m = m->m_next) + m->m_len = 0; } /* @@ -1879,16 +1879,16 @@ nfsrv_parsename(struct nfsrv_descript *nd, char *bufp, */ fromcp = nd->nd_dpos; md = nd->nd_md; - rem = NFSMTOD(md, caddr_t) + mbuf_len(md) - fromcp; + rem = mtod(md, caddr_t) + md->m_len - fromcp; for (i = 0; i < len; i++) { while (rem == 0) { - md = mbuf_next(md); + md = md->m_next; if (md == NULL) { error = EBADRPC; goto nfsmout; } - fromcp = NFSMTOD(md, caddr_t); - rem = mbuf_len(md); + fromcp = mtod(md, caddr_t); + rem = md->m_len; } if (*fromcp == '\0') { nd->nd_repstat = EACCES; From owner-svn-src-head@freebsd.org Fri Apr 10 21:27:50 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2638E27A58C; Fri, 10 Apr 2020 21:27:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zWMB0G4Xz4b34; Fri, 10 Apr 2020 21:27:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 041034E74; Fri, 10 Apr 2020 21:27:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ALRnai087497; Fri, 10 Apr 2020 21:27:49 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ALRn48087496; Fri, 10 Apr 2020 21:27:49 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202004102127.03ALRn48087496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 10 Apr 2020 21:27:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359781 - head/sys/dev/sound/pci/hda X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 359781 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 21:27:50 -0000 Author: emaste Date: Fri Apr 10 21:27:49 2020 New Revision: 359781 URL: https://svnweb.freebsd.org/changeset/base/359781 Log: hda: if a CODEC is not responding, report which one PR: 229190 MFC after: 1 week Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Fri Apr 10 21:25:35 2020 (r359780) +++ head/sys/dev/sound/pci/hda/hdac.c Fri Apr 10 21:27:49 2020 (r359781) @@ -1529,7 +1529,7 @@ hdac_attach2(void *arg) if (vendorid == HDA_INVALID && revisionid == HDA_INVALID) { device_printf(sc->dev, - "CODEC is not responding!\n"); + "CODEC at address %d not responding!\n", i); continue; } sc->codecs[i].vendor_id = From owner-svn-src-head@freebsd.org Fri Apr 10 22:27:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 05BC227C7B9; Fri, 10 Apr 2020 22:27:46 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zXhK6m5Hz3F7t; Fri, 10 Apr 2020 22:27:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C935B5A79; Fri, 10 Apr 2020 22:27:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AMRjBT029367; Fri, 10 Apr 2020 22:27:45 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AMRjaN029365; Fri, 10 Apr 2020 22:27:45 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004102227.03AMRjaN029365@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 10 Apr 2020 22:27:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359784 - in head/sys/dev/cxgbe: . crypto X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in head/sys/dev/cxgbe: . crypto X-SVN-Commit-Revision: 359784 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 22:27:46 -0000 Author: jhb Date: Fri Apr 10 22:27:45 2020 New Revision: 359784 URL: https://svnweb.freebsd.org/changeset/base/359784 Log: Use both crypto engines on a T6. A T6 adapter contains two crypto engines on separate channels. This commit distributes sessions between the two engines. Previously, only the first engine was used. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24347 Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/crypto/t4_crypto.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Fri Apr 10 22:18:30 2020 (r359783) +++ head/sys/dev/cxgbe/adapter.h Fri Apr 10 22:27:45 2020 (r359784) @@ -600,9 +600,7 @@ struct sge_rxq { struct sge_fl fl; /* MUST follow iq */ struct ifnet *ifp; /* the interface this rxq belongs to */ -#if defined(INET) || defined(INET6) struct lro_ctrl lro; /* LRO state */ -#endif /* stats for common events first */ Modified: head/sys/dev/cxgbe/crypto/t4_crypto.c ============================================================================== --- head/sys/dev/cxgbe/crypto/t4_crypto.c Fri Apr 10 22:18:30 2020 (r359783) +++ head/sys/dev/cxgbe/crypto/t4_crypto.c Fri Apr 10 22:27:45 2020 (r359784) @@ -162,10 +162,18 @@ struct ccr_session_blkcipher { char deckey[CHCR_AES_MAX_KEY_LEN]; }; +struct ccr_port { + struct sge_wrq *txq; + struct sge_rxq *rxq; + int tx_channel_id; + u_int active_sessions; +}; + struct ccr_session { bool active; int pending; enum { HASH, HMAC, BLKCIPHER, ETA, GCM, CCM } mode; + struct ccr_port *port; union { struct ccr_session_hmac hmac; struct ccr_session_gmac gmac; @@ -178,11 +186,10 @@ struct ccr_softc { struct adapter *adapter; device_t dev; uint32_t cid; - int tx_channel_id; struct mtx lock; bool detaching; - struct sge_wrq *txq; - struct sge_rxq *rxq; + struct ccr_port ports[MAX_NPORTS]; + u_int port_mask; /* * Pre-allocate S/G lists used when preparing a work request. @@ -297,7 +304,8 @@ ccr_phys_dsgl_len(int nsegs) } static void -ccr_write_phys_dsgl(struct ccr_softc *sc, void *dst, int nsegs) +ccr_write_phys_dsgl(struct ccr_softc *sc, struct ccr_session *s, void *dst, + int nsegs) { struct sglist *sg; struct cpl_rx_phys_dsgl *cpl; @@ -316,7 +324,7 @@ ccr_write_phys_dsgl(struct ccr_softc *sc, void *dst, i V_CPL_RX_PHYS_DSGL_PCITPHNTENB(0) | V_CPL_RX_PHYS_DSGL_DCAID(0) | V_CPL_RX_PHYS_DSGL_NOOFSGENTR(nsegs)); cpl->rss_hdr_int.opcode = CPL_RX_PHYS_ADDR; - cpl->rss_hdr_int.qid = htobe16(sc->rxq->iq.abs_id); + cpl->rss_hdr_int.qid = htobe16(s->port->rxq->iq.abs_id); cpl->rss_hdr_int.hash_val = 0; sgl = (struct phys_sge_pairs *)(cpl + 1); j = 0; @@ -392,9 +400,9 @@ ccr_use_imm_data(u_int transhdr_len, u_int input_len) } static void -ccr_populate_wreq(struct ccr_softc *sc, struct chcr_wr *crwr, u_int kctx_len, - u_int wr_len, u_int imm_len, u_int sgl_len, u_int hash_size, - struct cryptop *crp) +ccr_populate_wreq(struct ccr_softc *sc, struct ccr_session *s, + struct chcr_wr *crwr, u_int kctx_len, u_int wr_len, u_int imm_len, + u_int sgl_len, u_int hash_size, struct cryptop *crp) { u_int cctx_size, idata_len; @@ -409,13 +417,13 @@ ccr_populate_wreq(struct ccr_softc *sc, struct chcr_wr V_FW_CRYPTO_LOOKASIDE_WR_LEN16(wr_len / 16)); crwr->wreq.session_id = 0; crwr->wreq.rx_chid_to_rx_q_id = htobe32( - V_FW_CRYPTO_LOOKASIDE_WR_RX_CHID(sc->tx_channel_id) | + V_FW_CRYPTO_LOOKASIDE_WR_RX_CHID(s->port->tx_channel_id) | V_FW_CRYPTO_LOOKASIDE_WR_LCB(0) | V_FW_CRYPTO_LOOKASIDE_WR_PHASH(0) | V_FW_CRYPTO_LOOKASIDE_WR_IV(IV_NOP) | V_FW_CRYPTO_LOOKASIDE_WR_FQIDX(0) | V_FW_CRYPTO_LOOKASIDE_WR_TX_CH(0) | - V_FW_CRYPTO_LOOKASIDE_WR_RX_Q_ID(sc->rxq->iq.abs_id)); + V_FW_CRYPTO_LOOKASIDE_WR_RX_Q_ID(s->port->rxq->iq.abs_id)); crwr->wreq.key_addr = 0; crwr->wreq.pld_size_hash_size = htobe32( V_FW_CRYPTO_LOOKASIDE_WR_PLD_SIZE(sgl_len) | @@ -424,8 +432,9 @@ ccr_populate_wreq(struct ccr_softc *sc, struct chcr_wr crwr->ulptx.cmd_dest = htobe32(V_ULPTX_CMD(ULP_TX_PKT) | V_ULP_TXPKT_DATAMODIFY(0) | - V_ULP_TXPKT_CHANNELID(sc->tx_channel_id) | V_ULP_TXPKT_DEST(0) | - V_ULP_TXPKT_FID(sc->rxq->iq.abs_id) | V_ULP_TXPKT_RO(1)); + V_ULP_TXPKT_CHANNELID(s->port->tx_channel_id) | + V_ULP_TXPKT_DEST(0) | + V_ULP_TXPKT_FID(s->port->rxq->iq.abs_id) | V_ULP_TXPKT_RO(1)); crwr->ulptx.len = htobe32( ((wr_len - sizeof(struct fw_crypto_lookaside_wr)) / 16)); @@ -497,7 +506,7 @@ ccr_hash(struct ccr_softc *sc, struct ccr_session *s, wr_len = roundup2(transhdr_len, 16) + roundup2(imm_len, 16) + sgl_len; if (wr_len > SGE_MAX_WR_LEN) return (EFBIG); - wr = alloc_wrqe(wr_len, sc->txq); + wr = alloc_wrqe(wr_len, s->port->txq); if (wr == NULL) { sc->stats_wr_nomem++; return (ENOMEM); @@ -505,13 +514,12 @@ ccr_hash(struct ccr_softc *sc, struct ccr_session *s, crwr = wrtod(wr); memset(crwr, 0, wr_len); - ccr_populate_wreq(sc, crwr, kctx_len, wr_len, imm_len, sgl_len, + ccr_populate_wreq(sc, s, crwr, kctx_len, wr_len, imm_len, sgl_len, hash_size_in_response, crp); - /* XXX: Hardcodes SGE loopback channel of 0. */ crwr->sec_cpl.op_ivinsrtofst = htobe32( V_CPL_TX_SEC_PDU_OPCODE(CPL_TX_SEC_PDU) | - V_CPL_TX_SEC_PDU_RXCHID(sc->tx_channel_id) | + V_CPL_TX_SEC_PDU_RXCHID(s->port->tx_channel_id) | V_CPL_TX_SEC_PDU_ACKFOLLOWS(0) | V_CPL_TX_SEC_PDU_ULPTXLPBK(1) | V_CPL_TX_SEC_PDU_CPLLEN(2) | V_CPL_TX_SEC_PDU_PLACEHOLDER(0) | V_CPL_TX_SEC_PDU_IVINSRTOFST(0)); @@ -649,7 +657,7 @@ ccr_blkcipher(struct ccr_softc *sc, struct ccr_session roundup2(imm_len, 16) + sgl_len; if (wr_len > SGE_MAX_WR_LEN) return (EFBIG); - wr = alloc_wrqe(wr_len, sc->txq); + wr = alloc_wrqe(wr_len, s->port->txq); if (wr == NULL) { sc->stats_wr_nomem++; return (ENOMEM); @@ -674,13 +682,12 @@ ccr_blkcipher(struct ccr_softc *sc, struct ccr_session /* Zero the remainder of the IV for AES-XTS. */ memset(iv + s->blkcipher.iv_len, 0, iv_len - s->blkcipher.iv_len); - ccr_populate_wreq(sc, crwr, kctx_len, wr_len, imm_len, sgl_len, 0, + ccr_populate_wreq(sc, s, crwr, kctx_len, wr_len, imm_len, sgl_len, 0, crp); - /* XXX: Hardcodes SGE loopback channel of 0. */ crwr->sec_cpl.op_ivinsrtofst = htobe32( V_CPL_TX_SEC_PDU_OPCODE(CPL_TX_SEC_PDU) | - V_CPL_TX_SEC_PDU_RXCHID(sc->tx_channel_id) | + V_CPL_TX_SEC_PDU_RXCHID(s->port->tx_channel_id) | V_CPL_TX_SEC_PDU_ACKFOLLOWS(0) | V_CPL_TX_SEC_PDU_ULPTXLPBK(1) | V_CPL_TX_SEC_PDU_CPLLEN(2) | V_CPL_TX_SEC_PDU_PLACEHOLDER(0) | V_CPL_TX_SEC_PDU_IVINSRTOFST(1)); @@ -736,7 +743,7 @@ ccr_blkcipher(struct ccr_softc *sc, struct ccr_session } dst = (char *)(crwr + 1) + kctx_len; - ccr_write_phys_dsgl(sc, dst, dsgl_nsegs); + ccr_write_phys_dsgl(sc, s, dst, dsgl_nsegs); dst += sizeof(struct cpl_rx_phys_dsgl) + dsgl_len; memcpy(dst, iv, iv_len); dst += iv_len; @@ -953,7 +960,7 @@ ccr_eta(struct ccr_softc *sc, struct ccr_session *s, s sgl_len; if (wr_len > SGE_MAX_WR_LEN) return (EFBIG); - wr = alloc_wrqe(wr_len, sc->txq); + wr = alloc_wrqe(wr_len, s->port->txq); if (wr == NULL) { sc->stats_wr_nomem++; return (ENOMEM); @@ -978,13 +985,12 @@ ccr_eta(struct ccr_softc *sc, struct ccr_session *s, s /* Zero the remainder of the IV for AES-XTS. */ memset(iv + s->blkcipher.iv_len, 0, iv_len - s->blkcipher.iv_len); - ccr_populate_wreq(sc, crwr, kctx_len, wr_len, imm_len, sgl_len, + ccr_populate_wreq(sc, s, crwr, kctx_len, wr_len, imm_len, sgl_len, op_type == CHCR_DECRYPT_OP ? hash_size_in_response : 0, crp); - /* XXX: Hardcodes SGE loopback channel of 0. */ crwr->sec_cpl.op_ivinsrtofst = htobe32( V_CPL_TX_SEC_PDU_OPCODE(CPL_TX_SEC_PDU) | - V_CPL_TX_SEC_PDU_RXCHID(sc->tx_channel_id) | + V_CPL_TX_SEC_PDU_RXCHID(s->port->tx_channel_id) | V_CPL_TX_SEC_PDU_ACKFOLLOWS(0) | V_CPL_TX_SEC_PDU_ULPTXLPBK(1) | V_CPL_TX_SEC_PDU_CPLLEN(2) | V_CPL_TX_SEC_PDU_PLACEHOLDER(0) | V_CPL_TX_SEC_PDU_IVINSRTOFST(1)); @@ -1050,7 +1056,7 @@ ccr_eta(struct ccr_softc *sc, struct ccr_session *s, s memcpy(dst, s->hmac.pads, iopad_size * 2); dst = (char *)(crwr + 1) + kctx_len; - ccr_write_phys_dsgl(sc, dst, dsgl_nsegs); + ccr_write_phys_dsgl(sc, s, dst, dsgl_nsegs); dst += sizeof(struct cpl_rx_phys_dsgl) + dsgl_len; memcpy(dst, iv, iv_len); dst += iv_len; @@ -1257,7 +1263,7 @@ ccr_gcm(struct ccr_softc *sc, struct ccr_session *s, s sgl_len; if (wr_len > SGE_MAX_WR_LEN) return (EFBIG); - wr = alloc_wrqe(wr_len, sc->txq); + wr = alloc_wrqe(wr_len, s->port->txq); if (wr == NULL) { sc->stats_wr_nomem++; return (ENOMEM); @@ -1269,13 +1275,12 @@ ccr_gcm(struct ccr_softc *sc, struct ccr_session *s, s if (s->blkcipher.iv_len == 12) *(uint32_t *)&iv[12] = htobe32(1); - ccr_populate_wreq(sc, crwr, kctx_len, wr_len, imm_len, sgl_len, 0, + ccr_populate_wreq(sc, s, crwr, kctx_len, wr_len, imm_len, sgl_len, 0, crp); - /* XXX: Hardcodes SGE loopback channel of 0. */ crwr->sec_cpl.op_ivinsrtofst = htobe32( V_CPL_TX_SEC_PDU_OPCODE(CPL_TX_SEC_PDU) | - V_CPL_TX_SEC_PDU_RXCHID(sc->tx_channel_id) | + V_CPL_TX_SEC_PDU_RXCHID(s->port->tx_channel_id) | V_CPL_TX_SEC_PDU_ACKFOLLOWS(0) | V_CPL_TX_SEC_PDU_ULPTXLPBK(1) | V_CPL_TX_SEC_PDU_CPLLEN(2) | V_CPL_TX_SEC_PDU_PLACEHOLDER(0) | V_CPL_TX_SEC_PDU_IVINSRTOFST(1)); @@ -1325,7 +1330,7 @@ ccr_gcm(struct ccr_softc *sc, struct ccr_session *s, s memcpy(dst, s->gmac.ghash_h, GMAC_BLOCK_LEN); dst = (char *)(crwr + 1) + kctx_len; - ccr_write_phys_dsgl(sc, dst, dsgl_nsegs); + ccr_write_phys_dsgl(sc, s, dst, dsgl_nsegs); dst += sizeof(struct cpl_rx_phys_dsgl) + dsgl_len; memcpy(dst, iv, iv_len); dst += iv_len; @@ -1694,7 +1699,7 @@ ccr_ccm(struct ccr_softc *sc, struct ccr_session *s, s sgl_len; if (wr_len > SGE_MAX_WR_LEN) return (EFBIG); - wr = alloc_wrqe(wr_len, sc->txq); + wr = alloc_wrqe(wr_len, s->port->txq); if (wr == NULL) { sc->stats_wr_nomem++; return (ENOMEM); @@ -1710,13 +1715,12 @@ ccr_ccm(struct ccr_softc *sc, struct ccr_session *s, s iv[0] = (15 - AES_CCM_IV_LEN) - 1; memcpy(iv + 1, crp->crp_iv, AES_CCM_IV_LEN); - ccr_populate_wreq(sc, crwr, kctx_len, wr_len, imm_len, sgl_len, 0, + ccr_populate_wreq(sc, s, crwr, kctx_len, wr_len, imm_len, sgl_len, 0, crp); - /* XXX: Hardcodes SGE loopback channel of 0. */ crwr->sec_cpl.op_ivinsrtofst = htobe32( V_CPL_TX_SEC_PDU_OPCODE(CPL_TX_SEC_PDU) | - V_CPL_TX_SEC_PDU_RXCHID(sc->tx_channel_id) | + V_CPL_TX_SEC_PDU_RXCHID(s->port->tx_channel_id) | V_CPL_TX_SEC_PDU_ACKFOLLOWS(0) | V_CPL_TX_SEC_PDU_ULPTXLPBK(1) | V_CPL_TX_SEC_PDU_CPLLEN(2) | V_CPL_TX_SEC_PDU_PLACEHOLDER(0) | V_CPL_TX_SEC_PDU_IVINSRTOFST(1)); @@ -1761,7 +1765,7 @@ ccr_ccm(struct ccr_softc *sc, struct ccr_session *s, s s->blkcipher.enckey, s->blkcipher.key_len); dst = (char *)(crwr + 1) + kctx_len; - ccr_write_phys_dsgl(sc, dst, dsgl_nsegs); + ccr_write_phys_dsgl(sc, s, dst, dsgl_nsegs); dst += sizeof(struct cpl_rx_phys_dsgl) + dsgl_len; memcpy(dst, iv, iv_len); dst += iv_len; @@ -1971,8 +1975,10 @@ static void ccr_sysctls(struct ccr_softc *sc) { struct sysctl_ctx_list *ctx; - struct sysctl_oid *oid; + struct sysctl_oid *oid, *port_oid; struct sysctl_oid_list *children; + char buf[16]; + int i; ctx = device_get_sysctl_ctx(sc->dev); @@ -1982,6 +1988,9 @@ ccr_sysctls(struct ccr_softc *sc) oid = device_get_sysctl_tree(sc->dev); children = SYSCTL_CHILDREN(oid); + SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "port_mask", CTLFLAG_RW, + &sc->port_mask, 0, "Mask of enabled ports"); + /* * dev.ccr.X.stats. */ @@ -2031,19 +2040,57 @@ ccr_sysctls(struct ccr_softc *sc) SYSCTL_ADD_U64(ctx, children, OID_AUTO, "sw_fallback", CTLFLAG_RD, &sc->stats_sw_fallback, 0, "Requests processed by falling back to software"); + + /* + * dev.ccr.X.stats.port + */ + port_oid = SYSCTL_ADD_NODE(ctx, children, OID_AUTO, "port", + CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "Per-port statistics"); + + for (i = 0; i < nitems(sc->ports); i++) { + if (sc->ports[i].rxq == NULL) + continue; + + /* + * dev.ccr.X.stats.port.Y + */ + snprintf(buf, sizeof(buf), "%d", i); + oid = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(port_oid), OID_AUTO, + buf, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, buf); + children = SYSCTL_CHILDREN(oid); + + SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "active_sessions", + CTLFLAG_RD, &sc->ports[i].active_sessions, 0, + "Count of active sessions"); + } } +static void +ccr_init_port(struct ccr_softc *sc, int port) +{ + + sc->ports[port].txq = &sc->adapter->sge.ctrlq[port]; + sc->ports[port].rxq = + &sc->adapter->sge.rxq[sc->adapter->port[port]->vi->first_rxq]; + sc->ports[port].tx_channel_id = port; + _Static_assert(sizeof(sc->port_mask) * NBBY >= MAX_NPORTS - 1, + "Too many ports to fit in port_mask"); + sc->port_mask |= 1u << port; +} + static int ccr_attach(device_t dev) { struct ccr_softc *sc; int32_t cid; + int i; sc = device_get_softc(dev); sc->dev = dev; sc->adapter = device_get_softc(device_get_parent(dev)); - sc->txq = &sc->adapter->sge.ctrlq[0]; - sc->rxq = &sc->adapter->sge.rxq[0]; + for_each_port(sc->adapter, i) { + ccr_init_port(sc, i); + } cid = crypto_get_driverid(dev, sizeof(struct ccr_session), CRYPTOCAP_F_HARDWARE); if (cid < 0) { @@ -2053,9 +2100,6 @@ ccr_attach(device_t dev) sc->cid = cid; sc->adapter->ccr_softc = sc; - /* XXX: TODO? */ - sc->tx_channel_id = 0; - mtx_init(&sc->lock, "ccr", NULL, MTX_DEF); sc->sg_crp = sglist_alloc(TX_SGL_SEGS, M_WAITOK); sc->sg_ulptx = sglist_alloc(TX_SGL_SEGS, M_WAITOK); @@ -2319,6 +2363,43 @@ ccr_probesession(device_t dev, const struct crypto_ses return (CRYPTODEV_PROBE_HARDWARE); } +/* + * Select an available port with the lowest number of active sessions. + */ +static struct ccr_port * +ccr_choose_port(struct ccr_softc *sc) +{ + struct ccr_port *best, *p; + int i; + + mtx_assert(&sc->lock, MA_OWNED); + best = NULL; + for (i = 0; i < nitems(sc->ports); i++) { + p = &sc->ports[i]; + + /* Ignore non-existent ports. */ + if (p->rxq == NULL) + continue; + + /* + * XXX: Ignore ports whose queues aren't initialized. + * This is racy as the rxq can be destroyed by the + * associated VI detaching. Eventually ccr should use + * dedicated queues. + */ + if (p->rxq->iq.adapter == NULL || p->txq->adapter == NULL) + continue; + + if ((sc->port_mask & (1u << i)) == 0) + continue; + + if (best == NULL || + p->active_sessions < best->active_sessions) + best = p; + } + return (best); +} + static int ccr_newsession(device_t dev, crypto_session_t cses, const struct crypto_session_params *csp) @@ -2409,15 +2490,6 @@ ccr_newsession(device_t dev, crypto_session_t cses, sc = device_get_softc(dev); - /* - * XXX: Don't create a session if the queues aren't - * initialized. This is racy as the rxq can be destroyed by - * the associated VI detaching. Eventually ccr should use - * dedicated queues. - */ - if (sc->rxq->iq.adapter == NULL || sc->txq->adapter == NULL) - return (ENXIO); - mtx_lock(&sc->lock); if (sc->detaching) { mtx_unlock(&sc->lock); @@ -2425,6 +2497,11 @@ ccr_newsession(device_t dev, crypto_session_t cses, } s = crypto_get_driver_session(cses); + s->port = ccr_choose_port(sc); + if (s->port == NULL) { + mtx_unlock(&sc->lock); + return (ENXIO); + } switch (csp->csp_mode) { case CSP_MODE_AEAD: @@ -2484,6 +2561,7 @@ ccr_newsession(device_t dev, crypto_session_t cses, } s->active = true; + s->port->active_sessions++; mtx_unlock(&sc->lock); return (0); } @@ -2502,6 +2580,7 @@ ccr_freesession(device_t dev, crypto_session_t cses) "session %p freed with %d pending requests\n", s, s->pending); s->active = false; + s->port->active_sessions--; mtx_unlock(&sc->lock); } From owner-svn-src-head@freebsd.org Fri Apr 10 22:42:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 726C227CF4B; Fri, 10 Apr 2020 22:42:15 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zY132Vbpz3G0v; Fri, 10 Apr 2020 22:42:15 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4FFB65D1A; Fri, 10 Apr 2020 22:42:15 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AMgFIA041541; Fri, 10 Apr 2020 22:42:15 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AMgFMS041540; Fri, 10 Apr 2020 22:42:15 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004102242.03AMgFMS041540@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 10 Apr 2020 22:42:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359785 - head/sys/fs/nfsclient X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsclient X-SVN-Commit-Revision: 359785 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 22:42:15 -0000 Author: rmacklem Date: Fri Apr 10 22:42:14 2020 New Revision: 359785 URL: https://svnweb.freebsd.org/changeset/base/359785 Log: Replace mbuf macros with the code they would generate in the NFS code. When the code was ported to Mac OS/X, mbuf handling functions were converted to using the Mac OS/X accessor functions. For FreeBSD, they are a simple set of macros in sys/fs/nfs/nfskpiport.h. Since porting to Mac OS/X is no longer a consideration, replacement of these macros with the code generated by them makes the code more readable. When support for external page mbufs is added as needed by the KERN_TLS, the patch becomes simpler if done without the macros. This patch should not result in any semantic change. This conversion will be committed one file at a time. Modified: head/sys/fs/nfsclient/nfs_clcomsubs.c Modified: head/sys/fs/nfsclient/nfs_clcomsubs.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clcomsubs.c Fri Apr 10 22:27:45 2020 (r359784) +++ head/sys/fs/nfsclient/nfs_clcomsubs.c Fri Apr 10 22:42:14 2020 (r359785) @@ -87,8 +87,8 @@ nfsm_uiombuf(struct nfsrv_descript *nd, struct uio *ui NFSMCLGET(mp, M_WAITOK); else NFSMGET(mp); - mbuf_setlen(mp, 0); - mbuf_setnext(mp2, mp); + mp->m_len = 0; + mp2->m_next = mp; mp2 = mp; mlen = M_TRAILINGSPACE(mp); } @@ -97,17 +97,17 @@ nfsm_uiombuf(struct nfsrv_descript *nd, struct uio *ui /* Not Yet.. */ if (uiop->uio_iov->iov_op != NULL) (*(uiop->uio_iov->iov_op)) - (uiocp, NFSMTOD(mp, caddr_t) + mbuf_len(mp), + (uiocp, mtod(mp, caddr_t) + mp->m_len, xfer); else #endif if (uiop->uio_segflg == UIO_SYSSPACE) - NFSBCOPY(uiocp, NFSMTOD(mp, caddr_t) + mbuf_len(mp), + NFSBCOPY(uiocp, mtod(mp, caddr_t) + mp->m_len, xfer); else - copyin(CAST_USER_ADDR_T(uiocp), NFSMTOD(mp, caddr_t) - + mbuf_len(mp), xfer); - mbuf_setlen(mp, mbuf_len(mp) + xfer); + copyin(CAST_USER_ADDR_T(uiocp), mtod(mp, caddr_t) + + mp->m_len, xfer); + mp->m_len += xfer; left -= xfer; uiocp += xfer; uiop->uio_offset += xfer; @@ -122,16 +122,16 @@ nfsm_uiombuf(struct nfsrv_descript *nd, struct uio *ui if (rem > 0) { if (rem > M_TRAILINGSPACE(mp)) { NFSMGET(mp); - mbuf_setlen(mp, 0); - mbuf_setnext(mp2, mp); + mp->m_len = 0; + mp2->m_next = mp; } - cp = NFSMTOD(mp, caddr_t) + mbuf_len(mp); + cp = mtod(mp, caddr_t) + mp->m_len; for (left = 0; left < rem; left++) *cp++ = '\0'; - mbuf_setlen(mp, mbuf_len(mp) + rem); + mp->m_len += rem; nd->nd_bpos = cp; } else - nd->nd_bpos = NFSMTOD(mp, caddr_t) + mbuf_len(mp); + nd->nd_bpos = mtod(mp, caddr_t) + mp->m_len; nd->nd_mb = mp; } @@ -159,7 +159,7 @@ nfsm_uiombuflist(struct uio *uiop, int siz, struct mbu NFSMCLGET(mp, M_WAITOK); else NFSMGET(mp); - mbuf_setlen(mp, 0); + mp->m_len = 0; firstmp = mp2 = mp; while (siz > 0) { left = uiop->uio_iov->iov_len; @@ -174,19 +174,19 @@ nfsm_uiombuflist(struct uio *uiop, int siz, struct mbu NFSMCLGET(mp, M_WAITOK); else NFSMGET(mp); - mbuf_setlen(mp, 0); - mbuf_setnext(mp2, mp); + mp->m_len = 0; + mp2->m_next = mp; mp2 = mp; mlen = M_TRAILINGSPACE(mp); } xfer = (left > mlen) ? mlen : left; if (uiop->uio_segflg == UIO_SYSSPACE) - NFSBCOPY(uiocp, NFSMTOD(mp, caddr_t) + - mbuf_len(mp), xfer); + NFSBCOPY(uiocp, mtod(mp, caddr_t) + + mp->m_len, xfer); else - copyin(uiocp, NFSMTOD(mp, caddr_t) + - mbuf_len(mp), xfer); - mbuf_setlen(mp, mbuf_len(mp) + xfer); + copyin(uiocp, mtod(mp, caddr_t) + + mp->m_len, xfer); + mp->m_len += xfer; left -= xfer; uiocp += xfer; uiop->uio_offset += xfer; @@ -199,7 +199,7 @@ nfsm_uiombuflist(struct uio *uiop, int siz, struct mbu siz -= uiosiz; } if (cpp != NULL) - *cpp = NFSMTOD(mp, caddr_t) + mbuf_len(mp); + *cpp = mtod(mp, caddr_t) + mp->m_len; if (mbp != NULL) *mbp = mp; return (firstmp); From owner-svn-src-head@freebsd.org Fri Apr 10 23:04:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 88AE327D65D; Fri, 10 Apr 2020 23:04:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zYVh323Mz3H0x; Fri, 10 Apr 2020 23:04:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-164.local (unknown [IPv6:2601:648:8881:1e90:79a6:7bb6:b2fc:96b0]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 0A2BB7208; Fri, 10 Apr 2020 23:04:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r359784 - in head/sys/dev/cxgbe: . crypto From: John Baldwin To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202004102227.03AMRjaN029365@repo.freebsd.org> Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: <4148ddc5-ffa5-fd1c-78ea-b7e12164c5ca@FreeBSD.org> Date: Fri, 10 Apr 2020 16:04:25 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <202004102227.03AMRjaN029365@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 23:04:28 -0000 On 4/10/20 3:27 PM, John Baldwin wrote: > Author: jhb > Date: Fri Apr 10 22:27:45 2020 > New Revision: 359784 > URL: https://svnweb.freebsd.org/changeset/base/359784 > > Log: > Use both crypto engines on a T6. > > A T6 adapter contains two crypto engines on separate channels. This > commit distributes sessions between the two engines. Previously, only > the first engine was used. In some simple benchmarks using KTLS with the traffic flowing over one of the ports (cc0) of the same NIC ccr0 was on, throughput increased from ~41 Gbps to 45 Gbps with this change (albeit with CPU usage increase from 70% to 80%). In addition, this commit adds a 'dev.ccr..port_mask' sysctl which controls which ports are enabled for new sessions. Setting this to '2' during this test to force all crypto requests to use the crypto engine associated with the channel for cc1 (which was not being used to send any traffic) further increased the throughput to around 48 Gbps while using the same amount of CPU. -- John Baldwin From owner-svn-src-head@freebsd.org Fri Apr 10 23:08:42 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7CEE427D7DF; Fri, 10 Apr 2020 23:08:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zYbZ2k5nz3HDc; Fri, 10 Apr 2020 23:08:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 58A0B6217; Fri, 10 Apr 2020 23:08:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03AN8gIU054226; Fri, 10 Apr 2020 23:08:42 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03AN8foC054222; Fri, 10 Apr 2020 23:08:41 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004102308.03AN8foC054222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 10 Apr 2020 23:08:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359786 - in head/sys: conf kgssapi/krb5 modules/kgssapi_krb5 X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in head/sys: conf kgssapi/krb5 modules/kgssapi_krb5 X-SVN-Commit-Revision: 359786 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 23:08:42 -0000 Author: jhb Date: Fri Apr 10 23:08:41 2020 New Revision: 359786 URL: https://svnweb.freebsd.org/changeset/base/359786 Log: Remove support for Kernel GSS algorithms deprecated in r348875. This removes support for using DES, Triple DES, and RC4. Reviewed by: cem, kp Tested by: kp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24344 Deleted: head/sys/kgssapi/krb5/kcrypto_arcfour.c head/sys/kgssapi/krb5/kcrypto_des.c head/sys/kgssapi/krb5/kcrypto_des3.c Modified: head/sys/conf/files head/sys/kgssapi/krb5/kcrypto.c head/sys/kgssapi/krb5/kcrypto.h head/sys/modules/kgssapi_krb5/Makefile Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Fri Apr 10 22:42:14 2020 (r359785) +++ head/sys/conf/files Fri Apr 10 23:08:41 2020 (r359786) @@ -3945,9 +3945,6 @@ kgssapi/gssd_prot.c optional kgssapi kgssapi/krb5/krb5_mech.c optional kgssapi kgssapi/krb5/kcrypto.c optional kgssapi kgssapi/krb5/kcrypto_aes.c optional kgssapi -kgssapi/krb5/kcrypto_arcfour.c optional kgssapi -kgssapi/krb5/kcrypto_des.c optional kgssapi -kgssapi/krb5/kcrypto_des3.c optional kgssapi kgssapi/kgss_if.m optional kgssapi kgssapi/gsstest.c optional kgssapi_debug # These files in libkern/ are those needed by all architectures. Some Modified: head/sys/kgssapi/krb5/kcrypto.c ============================================================================== --- head/sys/kgssapi/krb5/kcrypto.c Fri Apr 10 22:42:14 2020 (r359785) +++ head/sys/kgssapi/krb5/kcrypto.c Fri Apr 10 23:08:41 2020 (r359786) @@ -42,19 +42,10 @@ __FBSDID("$FreeBSD$"); #include "kcrypto.h" static struct krb5_encryption_class *krb5_encryption_classes[] = { - &krb5_des_encryption_class, - &krb5_des3_encryption_class, &krb5_aes128_encryption_class, &krb5_aes256_encryption_class, - &krb5_arcfour_encryption_class, - &krb5_arcfour_56_encryption_class, NULL }; - -struct timeval krb5_warn_interval = { .tv_sec = 3600, .tv_usec = 0 }; -SYSCTL_TIMEVAL_SEC(_kern, OID_AUTO, kgssapi_warn_interval, CTLFLAG_RW, - &krb5_warn_interval, - "Delay in seconds between warnings of deprecated KGSSAPI crypto."); struct krb5_encryption_class * krb5_find_encryption_class(int etype) Modified: head/sys/kgssapi/krb5/kcrypto.h ============================================================================== --- head/sys/kgssapi/krb5/kcrypto.h Fri Apr 10 22:42:14 2020 (r359785) +++ head/sys/kgssapi/krb5/kcrypto.h Fri Apr 10 23:08:41 2020 (r359786) @@ -95,13 +95,8 @@ struct krb5_key_state { void *ks_priv; }; -extern struct krb5_encryption_class krb5_des_encryption_class; -extern struct krb5_encryption_class krb5_des3_encryption_class; extern struct krb5_encryption_class krb5_aes128_encryption_class; extern struct krb5_encryption_class krb5_aes256_encryption_class; -extern struct krb5_encryption_class krb5_arcfour_encryption_class; -extern struct krb5_encryption_class krb5_arcfour_56_encryption_class; -extern struct timeval krb5_warn_interval; static __inline void krb5_set_key(struct krb5_key_state *ks, const void *keydata) Modified: head/sys/modules/kgssapi_krb5/Makefile ============================================================================== --- head/sys/modules/kgssapi_krb5/Makefile Fri Apr 10 22:42:14 2020 (r359785) +++ head/sys/modules/kgssapi_krb5/Makefile Fri Apr 10 23:08:41 2020 (r359786) @@ -5,10 +5,7 @@ KMOD= kgssapi_krb5 SRCS= krb5_mech.c \ kcrypto.c \ - kcrypto_des.c \ - kcrypto_des3.c \ kcrypto_aes.c \ - kcrypto_arcfour.c \ opt_inet6.h SRCS+= kgss_if.h gssd.h From owner-svn-src-head@freebsd.org Fri Apr 10 23:10:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 219E427D88C; Fri, 10 Apr 2020 23:10:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zYdd02gcz3HN0; Fri, 10 Apr 2020 23:10:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F02646220; Fri, 10 Apr 2020 23:10:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ANAS9X054403; Fri, 10 Apr 2020 23:10:28 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ANAS3N054402; Fri, 10 Apr 2020 23:10:28 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004102310.03ANAS3N054402@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 10 Apr 2020 23:10:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359787 - head/usr.sbin/gssd X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/usr.sbin/gssd X-SVN-Commit-Revision: 359787 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 23:10:29 -0000 Author: jhb Date: Fri Apr 10 23:10:28 2020 New Revision: 359787 URL: https://svnweb.freebsd.org/changeset/base/359787 Log: Remove the -o option from gssd(8). This uses DES and the kernel no longer supports DES for in-kernel GSS. Reviewed by: kp Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24345 Modified: head/usr.sbin/gssd/gssd.8 head/usr.sbin/gssd/gssd.c Modified: head/usr.sbin/gssd/gssd.8 ============================================================================== --- head/usr.sbin/gssd/gssd.8 Fri Apr 10 23:08:41 2020 (r359786) +++ head/usr.sbin/gssd/gssd.8 Fri Apr 10 23:10:28 2020 (r359787) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 7, 2013 +.Dd April 10 2020 .Dt GSSD 8 .Os .Sh NAME @@ -35,7 +35,6 @@ .Nm .Op Fl d .Op Fl h -.Op Fl o .Op Fl v .Op Fl s Ar dir-list .Op Fl c Ar file-substring @@ -61,10 +60,6 @@ gssname option for the .Xr mount_nfs 8 command. -.It Fl o -Force use of DES and the associated old style GSS-API initialization token. -This may be required to make kerberized NFS mounts work against some -non-FreeBSD NFS servers. .It Fl v Run in verbose mode. In this mode, Modified: head/usr.sbin/gssd/gssd.c ============================================================================== --- head/usr.sbin/gssd/gssd.c Fri Apr 10 23:08:41 2020 (r359786) +++ head/usr.sbin/gssd/gssd.c Fri Apr 10 23:10:28 2020 (r359787) @@ -77,7 +77,6 @@ int debug_level; static char ccfile_dirlist[PATH_MAX + 1], ccfile_substring[NAME_MAX + 1]; static char pref_realm[1024]; static int verbose; -static int use_old_des; static int hostbased_initiator_cred; #ifndef WITHOUT_KERBEROS /* 1.2.752.43.13.14 */ @@ -125,7 +124,7 @@ main(int argc, char **argv) pref_realm[0] = '\0'; debug = 0; verbose = 0; - while ((ch = getopt(argc, argv, "dhovs:c:r:")) != -1) { + while ((ch = getopt(argc, argv, "dhvs:c:r:")) != -1) { switch (ch) { case 'd': debug_level++; @@ -142,17 +141,6 @@ main(int argc, char **argv) " without MK_KERBEROS\n"); #endif break; - case 'o': -#ifndef WITHOUT_KERBEROS - /* - * Force use of DES and the old type of GSSAPI token. - */ - use_old_des = 1; -#else - errx(1, "This option not available when built" - " without MK_KERBEROS\n"); -#endif - break; case 'v': verbose = 1; break; @@ -483,44 +471,6 @@ gssd_init_sec_context_1_svc(init_sec_context_args *arg } gotcred = 0; -#ifndef WITHOUT_KERBEROS - if (use_old_des != 0) { - if (cred == GSS_C_NO_CREDENTIAL) { - /* Acquire a credential for the uid. */ - maj_stat = gssd_get_user_cred(&min_stat, argp->uid, - &cred); - if (maj_stat == GSS_S_COMPLETE) - gotcred = 1; - else - gssd_verbose_out("gssd_init_sec_context: " - "get user cred failed uid=%d major=0x%x " - "minor=%d\n", (int)argp->uid, - (unsigned int)maj_stat, (int)min_stat); - } - if (cred != GSS_C_NO_CREDENTIAL) { - key_enctype = ETYPE_DES_CBC_CRC; - enctype[0] = (key_enctype >> 24) & 0xff; - enctype[1] = (key_enctype >> 16) & 0xff; - enctype[2] = (key_enctype >> 8) & 0xff; - enctype[3] = key_enctype & 0xff; - principal_desc.length = sizeof(enctype); - principal_desc.value = enctype; - result->major_status = gss_set_cred_option( - &result->minor_status, &cred, - GSS_KRB5_SET_ALLOWABLE_ENCTYPES_X, - &principal_desc); - gssd_verbose_out("gssd_init_sec_context: set allowable " - "enctype major=0x%x minor=%d\n", - (unsigned int)result->major_status, - (int)result->minor_status); - if (result->major_status != GSS_S_COMPLETE) { - if (gotcred != 0) - gss_release_cred(&min_stat, &cred); - return (TRUE); - } - } - } -#endif result->major_status = gss_init_sec_context(&result->minor_status, cred, &ctx, name, argp->mech_type, argp->req_flags, argp->time_req, argp->input_chan_bindings, From owner-svn-src-head@freebsd.org Fri Apr 10 23:13:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A337E27DB48; Fri, 10 Apr 2020 23:13:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zYj53rhcz3HnK; Fri, 10 Apr 2020 23:13:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7EDC1641E; Fri, 10 Apr 2020 23:13:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ANDTQY059963; Fri, 10 Apr 2020 23:13:29 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ANDThv059962; Fri, 10 Apr 2020 23:13:29 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004102313.03ANDThv059962@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 10 Apr 2020 23:13:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359788 - head X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359788 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 23:13:29 -0000 Author: jhb Date: Fri Apr 10 23:13:29 2020 New Revision: 359788 URL: https://svnweb.freebsd.org/changeset/base/359788 Log: Document removal of deprecated algorithms for in-kernel GSS. Modified: head/RELNOTES Modified: head/RELNOTES ============================================================================== --- head/RELNOTES Fri Apr 10 23:10:28 2020 (r359787) +++ head/RELNOTES Fri Apr 10 23:13:29 2020 (r359788) @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +r359786-r359787: + Remove support for DES, Triple DES, and RC4 from in-kernel GSS + authentication. + r357627: remove elf2aout. From owner-svn-src-head@freebsd.org Fri Apr 10 23:49:35 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4028527E544; Fri, 10 Apr 2020 23:49:35 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zZVl0bssz3Jyh; Fri, 10 Apr 2020 23:49:35 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E53D669B1; Fri, 10 Apr 2020 23:49:34 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ANnYYl078543; Fri, 10 Apr 2020 23:49:34 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ANnYpK078542; Fri, 10 Apr 2020 23:49:34 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <202004102349.03ANnYpK078542@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Fri, 10 Apr 2020 23:49:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359789 - head/sbin/fsck_ffs X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: head/sbin/fsck_ffs X-SVN-Commit-Revision: 359789 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 23:49:35 -0000 Author: mckusick Date: Fri Apr 10 23:49:34 2020 New Revision: 359789 URL: https://svnweb.freebsd.org/changeset/base/359789 Log: Add an inode check-hash verification when running the journalled soft update recovery code with the debugging (-d) option. As inode check-hash was first introduced to UFS in FreeBSD 13, there is no need to MFC this commit. Reported by: Chuck Silvers Sponsored by: Netflix Modified: head/sbin/fsck_ffs/suj.c Modified: head/sbin/fsck_ffs/suj.c ============================================================================== --- head/sbin/fsck_ffs/suj.c Fri Apr 10 23:13:29 2020 (r359788) +++ head/sbin/fsck_ffs/suj.c Fri Apr 10 23:49:34 2020 (r359789) @@ -109,6 +109,7 @@ struct ino_blk { LIST_ENTRY(ino_blk) ib_next; uint8_t *ib_buf; int ib_dirty; + ino_t ib_startinginum; ufs2_daddr_t ib_blk; }; LIST_HEAD(iblkhd, ino_blk); @@ -157,6 +158,7 @@ static void ino_adjust(struct suj_ino *); static void ino_build(struct suj_ino *); static int blk_isfree(ufs2_daddr_t); static void initsuj(void); +static void ino_dirty(ino_t); static void * errmalloc(size_t n) @@ -394,6 +396,7 @@ ino_read(ino_t ino) struct iblkhd *hd; struct suj_cg *sc; ufs2_daddr_t blk; + union dinode *dp; int off; blk = ino_to_fsba(fs, ino); @@ -412,6 +415,7 @@ ino_read(ino_t ino) bzero(iblk, sizeof(*iblk)); iblk->ib_buf = errmalloc(fs->fs_bsize); iblk->ib_blk = blk; + iblk->ib_startinginum = rounddown(ino, INOPB(fs)); LIST_INSERT_HEAD(hd, iblk, ib_next); if (bread(&disk, fsbtodb(fs, blk), iblk->ib_buf, fs->fs_bsize) == -1) err_suj("Failed to read inode block %jd\n", blk); @@ -420,8 +424,18 @@ found: off = ino_to_fsbo(fs, ino); if (fs->fs_magic == FS_UFS1_MAGIC) return (union dinode *)&((struct ufs1_dinode *)iblk->ib_buf)[off]; - else - return (union dinode *)&((struct ufs2_dinode *)iblk->ib_buf)[off]; + dp = (union dinode *)&((struct ufs2_dinode *)iblk->ib_buf)[off]; + if (debug && + ffs_verify_dinode_ckhash(fs, (struct ufs2_dinode *)dp) != 0) { + pwarn("ino_read: INODE CHECK-HASH FAILED"); + prtinode(ino, dp); + if (preen || reply("FIX") != 0) { + if (preen) + printf(" (FIXED)\n"); + ino_dirty(ino); + } + } + return (dp); } static void @@ -464,9 +478,25 @@ ino_dirty(ino_t ino) static void iblk_write(struct ino_blk *iblk) { + struct ufs2_dinode *dp; + int i; if (iblk->ib_dirty == 0) return; + if (debug && fs->fs_magic == FS_UFS2_MAGIC) { + dp = (struct ufs2_dinode *)iblk->ib_buf; + for (i = 0; i < INOPB(fs); dp++, i++) { + if (ffs_verify_dinode_ckhash(fs, dp) == 0) + continue; + pwarn("iblk_write: INODE CHECK-HASH FAILED"); + prtinode(iblk->ib_startinginum + i, (union dinode *)dp); + if (preen || reply("FIX") != 0) { + if (preen) + printf(" (FIXED)\n"); + ino_dirty(iblk->ib_startinginum + i); + } + } + } if (bwrite(&disk, fsbtodb(fs, iblk->ib_blk), iblk->ib_buf, fs->fs_bsize) == -1) err_suj("Failed to write inode block %jd\n", iblk->ib_blk); From owner-svn-src-head@freebsd.org Fri Apr 10 23:58:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 09B6A27EC73; Fri, 10 Apr 2020 23:58:08 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zZhb6R3rz3KXL; Fri, 10 Apr 2020 23:58:07 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D81996BA1; Fri, 10 Apr 2020 23:58:07 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ANw7n8084432; Fri, 10 Apr 2020 23:58:07 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ANw7AB084431; Fri, 10 Apr 2020 23:58:07 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <202004102358.03ANw7AB084431@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Fri, 10 Apr 2020 23:58:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359790 - head/sbin/fsck_ffs X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: head/sbin/fsck_ffs X-SVN-Commit-Revision: 359790 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 23:58:08 -0000 Author: mckusick Date: Fri Apr 10 23:58:07 2020 New Revision: 359790 URL: https://svnweb.freebsd.org/changeset/base/359790 Log: Inode check-hash errors were being reported after system crashes. Trace the cause down to journalled soft updates recovery code in fsck failing to recompute the check-hash after updating an inode. As inode check-hash was first introduced to UFS in FreeBSD 13, there is no need to MFC this commit. Reported by: Chuck Silvers Sponsored by: Netflix Modified: head/sbin/fsck_ffs/suj.c Modified: head/sbin/fsck_ffs/suj.c ============================================================================== --- head/sbin/fsck_ffs/suj.c Fri Apr 10 23:49:34 2020 (r359789) +++ head/sbin/fsck_ffs/suj.c Fri Apr 10 23:58:07 2020 (r359790) @@ -1622,6 +1622,7 @@ ino_trunc(ino_t ino, off_t size) } DIP_SET(ip, di_blocks, fsbtodb(fs, totalfrags)); DIP_SET(ip, di_size, size); + ino_dirty(ino); /* * If we've truncated into the middle of a block or frag we have * to zero it here. Otherwise the file could extend into @@ -1959,6 +1960,7 @@ ino_unlinked(void) mode = DIP(ip, di_mode) & IFMT; inon = DIP(ip, di_freelink); DIP_SET(ip, di_freelink, 0); + ino_dirty(ino); /* * XXX Should this be an errx? */ From owner-svn-src-head@freebsd.org Sat Apr 11 00:12:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9751E27F1BA; Sat, 11 Apr 2020 00:12:36 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zb1J3hrzz3LDZ; Sat, 11 Apr 2020 00:12:36 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 60C786F58; Sat, 11 Apr 2020 00:12:36 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B0Cae2096548; Sat, 11 Apr 2020 00:12:36 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B0CYUO096540; Sat, 11 Apr 2020 00:12:34 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <202004110012.03B0CYUO096540@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Sat, 11 Apr 2020 00:12:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359791 - in head/sys/powerpc: booke include powerpc X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: in head/sys/powerpc: booke include powerpc X-SVN-Commit-Revision: 359791 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 00:12:36 -0000 Author: jhibbits Date: Sat Apr 11 00:12:34 2020 New Revision: 359791 URL: https://svnweb.freebsd.org/changeset/base/359791 Log: powerpc/booke: Change Book-E 64-bit pmap to 4-level table Summary: The existing page table is fraught with errors, since it creates a hole in the address space bits. Fix this by taking a cue from the POWER9 radix pmap, and make the page table 4 levels, 52 bits. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D24220 Modified: head/sys/powerpc/booke/pmap.c head/sys/powerpc/booke/pmap_32.c head/sys/powerpc/booke/pmap_64.c head/sys/powerpc/booke/trap_subr.S head/sys/powerpc/include/pmap.h head/sys/powerpc/include/pte.h head/sys/powerpc/include/vmparam.h head/sys/powerpc/powerpc/genassym.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Fri Apr 10 23:58:07 2020 (r359790) +++ head/sys/powerpc/booke/pmap.c Sat Apr 11 00:12:34 2020 (r359791) @@ -182,10 +182,6 @@ static int mmu_booke_enter_locked(mmu_t, pmap_t, vm_of vm_prot_t, u_int flags, int8_t psind); unsigned int kptbl_min; /* Index of the first kernel ptbl. */ -unsigned int kernel_ptbls; /* Number of KVA ptbls. */ -#ifdef __powerpc64__ -unsigned int kernel_pdirs; -#endif static uma_zone_t ptbl_root_zone; /* @@ -267,7 +263,7 @@ static vm_paddr_t pte_vatopa(mmu_t, pmap_t, vm_offset_ static int pte_enter(mmu_t, pmap_t, vm_page_t, vm_offset_t, uint32_t, boolean_t); static int pte_remove(mmu_t, pmap_t, vm_offset_t, uint8_t); static pte_t *pte_find(mmu_t, pmap_t, vm_offset_t); -static void kernel_pte_alloc(vm_offset_t, vm_offset_t, vm_offset_t); +static void kernel_pte_alloc(vm_offset_t, vm_offset_t); static pv_entry_t pv_alloc(void); static void pv_free(pv_entry_t); @@ -639,10 +635,9 @@ mmu_booke_bootstrap(mmu_t mmu, vm_offset_t start, vm_o vm_paddr_t physsz, hwphyssz; u_int phys_avail_count; vm_size_t kstack0_sz; - vm_offset_t kernel_pdir, kstack0; vm_paddr_t kstack0_phys; + vm_offset_t kstack0; void *dpcpu; - vm_offset_t kernel_ptbl_root; debugf("mmu_booke_bootstrap: entered\n"); @@ -681,35 +676,8 @@ mmu_booke_bootstrap(mmu_t mmu, vm_offset_t start, vm_o (uintptr_t)msgbufp, data_end); data_end = round_page(data_end); + data_end = round_page(mmu_booke_alloc_kernel_pgtables(data_end)); -#ifdef __powerpc64__ - kernel_ptbl_root = data_end; - data_end += PP2D_NENTRIES * sizeof(pte_t**); -#else - /* Allocate space for ptbl_bufs. */ - ptbl_bufs = (struct ptbl_buf *)data_end; - data_end += sizeof(struct ptbl_buf) * PTBL_BUFS; - debugf(" ptbl_bufs at 0x%"PRI0ptrX" end = 0x%"PRI0ptrX"\n", - (uintptr_t)ptbl_bufs, data_end); - - data_end = round_page(data_end); - kernel_ptbl_root = data_end; - data_end += PDIR_NENTRIES * sizeof(pte_t*); -#endif - - /* Allocate PTE tables for kernel KVA. */ - kernel_pdir = data_end; - kernel_ptbls = howmany(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS, - PDIR_SIZE); -#ifdef __powerpc64__ - kernel_pdirs = howmany(kernel_ptbls, PDIR_NENTRIES); - data_end += kernel_pdirs * PDIR_PAGES * PAGE_SIZE; -#endif - data_end += kernel_ptbls * PTBL_PAGES * PAGE_SIZE; - debugf(" kernel ptbls: %d\n", kernel_ptbls); - debugf(" kernel pdir at 0x%"PRI0ptrX" end = 0x%"PRI0ptrX"\n", - kernel_pdir, data_end); - /* Retrieve phys/avail mem regions */ mem_regions(&physmem_regions, &physmem_regions_sz, &availmem_regions, &availmem_regions_sz); @@ -751,15 +719,8 @@ mmu_booke_bootstrap(mmu_t mmu, vm_offset_t start, vm_o * possible additional TLB1 translations are in place (above) so that * all range up to the currently calculated 'data_end' is covered. */ + bzero((void *)data_start, data_end - data_start); dpcpu_init(dpcpu, 0); -#ifdef __powerpc64__ - memset((void *)kernel_pdir, 0, - kernel_pdirs * PDIR_PAGES * PAGE_SIZE + - kernel_ptbls * PTBL_PAGES * PAGE_SIZE); -#else - memset((void *)ptbl_bufs, 0, sizeof(struct ptbl_buf) * PTBL_SIZE); - memset((void *)kernel_pdir, 0, kernel_ptbls * PTBL_PAGES * PAGE_SIZE); -#endif /*******************************************************/ /* Set the start and end of kva. */ @@ -938,15 +899,9 @@ mmu_booke_bootstrap(mmu_t mmu, vm_offset_t start, vm_o /* Initialize (statically allocated) kernel pmap. */ /*******************************************************/ PMAP_LOCK_INIT(kernel_pmap); -#ifdef __powerpc64__ - kernel_pmap->pm_pp2d = (pte_t ***)kernel_ptbl_root; -#else - kptbl_min = VM_MIN_KERNEL_ADDRESS / PDIR_SIZE; - kernel_pmap->pm_pdir = (pte_t **)kernel_ptbl_root; -#endif debugf("kernel_pmap = 0x%"PRI0ptrX"\n", (uintptr_t)kernel_pmap); - kernel_pte_alloc(virtual_avail, kernstart, kernel_pdir); + kernel_pte_alloc(virtual_avail, kernstart); for (i = 0; i < MAXCPU; i++) { kernel_pmap->pm_tid[i] = TID_KERNEL; @@ -1327,7 +1282,7 @@ mmu_booke_enter_locked(mmu_t mmu, pmap_t pmap, vm_offs { pte_t *pte; vm_paddr_t pa; - uint32_t flags; + pte_t flags; int error, su, sync; pa = VM_PAGE_TO_PHYS(m); Modified: head/sys/powerpc/booke/pmap_32.c ============================================================================== --- head/sys/powerpc/booke/pmap_32.c Fri Apr 10 23:58:07 2020 (r359790) +++ head/sys/powerpc/booke/pmap_32.c Sat Apr 11 00:12:34 2020 (r359791) @@ -1,6 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * + * Copyright (C) 2020 Justin Hibbits * Copyright (C) 2007-2009 Semihalf, Rafal Jaworowski * Copyright (C) 2006 Semihalf, Marian Balakowicz * All rights reserved. @@ -109,6 +110,9 @@ static vm_offset_t copy_page_src_va; static vm_offset_t copy_page_dst_va; static struct mtx copy_page_mutex; +static vm_offset_t kernel_ptbl_root; +static unsigned int kernel_ptbls; /* Number of KVA ptbls. */ + /**************************************************************************/ /* PMAP */ /**************************************************************************/ @@ -137,7 +141,6 @@ static vm_paddr_t pte_vatopa(mmu_t, pmap_t, vm_offset_ static int pte_enter(mmu_t, pmap_t, vm_page_t, vm_offset_t, uint32_t, boolean_t); static int pte_remove(mmu_t, pmap_t, vm_offset_t, uint8_t); static pte_t *pte_find(mmu_t, pmap_t, vm_offset_t); -static void kernel_pte_alloc(vm_offset_t, vm_offset_t, vm_offset_t); struct ptbl_buf { TAILQ_ENTRY(ptbl_buf) link; /* list link */ @@ -597,16 +600,23 @@ pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va) /* Set up kernel page tables. */ static void -kernel_pte_alloc(vm_offset_t data_end, vm_offset_t addr, vm_offset_t pdir) +kernel_pte_alloc(vm_offset_t data_end, vm_offset_t addr) { - int i; - vm_offset_t va; pte_t *pte; + vm_offset_t va; + vm_offset_t pdir_start; + int i; + kptbl_min = VM_MIN_KERNEL_ADDRESS / PDIR_SIZE; + kernel_pmap->pm_pdir = (pte_t **)kernel_ptbl_root; + + pdir_start = kernel_ptbl_root + PDIR_NENTRIES * sizeof(pte_t); + /* Initialize kernel pdir */ - for (i = 0; i < kernel_ptbls; i++) + for (i = 0; i < kernel_ptbls; i++) { kernel_pmap->pm_pdir[kptbl_min + i] = - (pte_t *)(pdir + (i * PAGE_SIZE * PTBL_PAGES)); + (pte_t *)(pdir_start + (i * PAGE_SIZE * PTBL_PAGES)); + } /* * Fill in PTEs covering kernel code and data. They are not required @@ -616,10 +626,36 @@ kernel_pte_alloc(vm_offset_t data_end, vm_offset_t add */ for (va = addr; va < data_end; va += PAGE_SIZE) { pte = &(kernel_pmap->pm_pdir[PDIR_IDX(va)][PTBL_IDX(va)]); + powerpc_sync(); *pte = PTE_RPN_FROM_PA(kernload + (va - kernstart)); *pte |= PTE_M | PTE_SR | PTE_SW | PTE_SX | PTE_WIRED | PTE_VALID | PTE_PS_4KB; } +} + +static vm_offset_t +mmu_booke_alloc_kernel_pgtables(vm_offset_t data_end) +{ + /* Allocate space for ptbl_bufs. */ + ptbl_bufs = (struct ptbl_buf *)data_end; + data_end += sizeof(struct ptbl_buf) * PTBL_BUFS; + debugf(" ptbl_bufs at 0x%"PRI0ptrX" end = 0x%"PRI0ptrX"\n", + (uintptr_t)ptbl_bufs, data_end); + + data_end = round_page(data_end); + + kernel_ptbl_root = data_end; + data_end += PDIR_NENTRIES * sizeof(pte_t*); + + /* Allocate PTE tables for kernel KVA. */ + kernel_ptbls = howmany(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS, + PDIR_SIZE); + data_end += kernel_ptbls * PTBL_PAGES * PAGE_SIZE; + debugf(" kernel ptbls: %d\n", kernel_ptbls); + debugf(" kernel pdir at %#jx end = %#jx\n", + (uintmax_t)kernel_ptbl_root, (uintmax_t)data_end); + + return (data_end); } /* Modified: head/sys/powerpc/booke/pmap_64.c ============================================================================== --- head/sys/powerpc/booke/pmap_64.c Fri Apr 10 23:58:07 2020 (r359790) +++ head/sys/powerpc/booke/pmap_64.c Sat Apr 11 00:12:34 2020 (r359791) @@ -1,6 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * + * Copyright (C) 2020 Justin Hibbits * Copyright (C) 2007-2009 Semihalf, Rafal Jaworowski * Copyright (C) 2006 Semihalf, Marian Balakowicz * All rights reserved. @@ -114,6 +115,7 @@ __FBSDID("$FreeBSD$"); unsigned int kernel_pdirs; static uma_zone_t ptbl_root_zone; +static pte_t ****kernel_ptbl_root; /* * Base of the pmap_mapdev() region. On 32-bit it immediately follows the @@ -133,186 +135,144 @@ static unsigned long ilog2(unsigned long); /* Page table management */ /**************************************************************************/ -static struct rwlock_padalign pvh_global_lock; - -#define PMAP_ROOT_SIZE (sizeof(pte_t***) * PP2D_NENTRIES) -static pte_t *ptbl_alloc(mmu_t, pmap_t, pte_t **, - unsigned int, boolean_t); -static void ptbl_free(mmu_t, pmap_t, pte_t **, unsigned int, vm_page_t); -static void ptbl_hold(mmu_t, pmap_t, pte_t **, unsigned int); +#define PMAP_ROOT_SIZE (sizeof(pte_t****) * PG_ROOT_NENTRIES) +static pte_t *ptbl_alloc(mmu_t mmu, pmap_t pmap, vm_offset_t va, + bool nosleep, bool *is_new); +static void ptbl_hold(mmu_t, pmap_t, pte_t *); static int ptbl_unhold(mmu_t, pmap_t, vm_offset_t); static vm_paddr_t pte_vatopa(mmu_t, pmap_t, vm_offset_t); static int pte_enter(mmu_t, pmap_t, vm_page_t, vm_offset_t, uint32_t, boolean_t); static int pte_remove(mmu_t, pmap_t, vm_offset_t, uint8_t); static pte_t *pte_find(mmu_t, pmap_t, vm_offset_t); -static void kernel_pte_alloc(vm_offset_t, vm_offset_t, vm_offset_t); +static void kernel_pte_alloc(vm_offset_t, vm_offset_t); /**************************************************************************/ /* Page table related */ /**************************************************************************/ -/* Initialize pool of kva ptbl buffers. */ -static void -ptbl_init(void) +/* Allocate a page, to be used in a page table. */ +static vm_offset_t +mmu_booke_alloc_page(mmu_t mmu, pmap_t pmap, unsigned int idx, bool nosleep) { -} - -/* Get a pointer to a PTE in a page table. */ -static __inline pte_t * -pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va) -{ - pte_t **pdir; - pte_t *ptbl; - - KASSERT((pmap != NULL), ("pte_find: invalid pmap")); - - pdir = pmap->pm_pp2d[PP2D_IDX(va)]; - if (!pdir) - return NULL; - ptbl = pdir[PDIR_IDX(va)]; - return ((ptbl != NULL) ? &ptbl[PTBL_IDX(va)] : NULL); -} - -/* - * allocate a page of pointers to page directories, do not preallocate the - * page tables - */ -static pte_t ** -pdir_alloc(mmu_t mmu, pmap_t pmap, unsigned int pp2d_idx, bool nosleep) -{ vm_page_t m; - pte_t **pdir; int req; - req = VM_ALLOC_NOOBJ | VM_ALLOC_WIRED; - while ((m = vm_page_alloc(NULL, pp2d_idx, req)) == NULL) { + req = VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | VM_ALLOC_ZERO; + while ((m = vm_page_alloc(NULL, idx, req)) == NULL) { + if (nosleep) + return (0); + PMAP_UNLOCK(pmap); - if (nosleep) { - return (NULL); - } + rw_wunlock(&pvh_global_lock); vm_wait(NULL); + rw_wlock(&pvh_global_lock); PMAP_LOCK(pmap); } - /* Zero whole ptbl. */ - pdir = (pte_t **)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)); - mmu_booke_zero_page(mmu, m); + if (!(m->flags & PG_ZERO)) + /* Zero whole ptbl. */ + mmu_booke_zero_page(mmu, m); - return (pdir); + return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m))); } -/* Free pdir pages and invalidate pdir entry. */ +/* Initialize pool of kva ptbl buffers. */ static void -pdir_free(mmu_t mmu, pmap_t pmap, unsigned int pp2d_idx, vm_page_t m) +ptbl_init(void) { - pte_t **pdir; - - pdir = pmap->pm_pp2d[pp2d_idx]; - - KASSERT((pdir != NULL), ("pdir_free: null pdir")); - - pmap->pm_pp2d[pp2d_idx] = NULL; - - vm_wire_sub(1); - vm_page_free_zero(m); } -/* - * Decrement pdir pages hold count and attempt to free pdir pages. Called - * when removing directory entry from pdir. - * - * Return 1 if pdir pages were freed. - */ -static int -pdir_unhold(mmu_t mmu, pmap_t pmap, u_int pp2d_idx) +/* Get a pointer to a PTE in a page table. */ +static __inline pte_t * +pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va) { + pte_t ***pdir_l1; pte_t **pdir; - vm_paddr_t pa; - vm_page_t m; + pte_t *ptbl; - KASSERT((pmap != kernel_pmap), - ("pdir_unhold: unholding kernel pdir!")); + KASSERT((pmap != NULL), ("pte_find: invalid pmap")); - pdir = pmap->pm_pp2d[pp2d_idx]; + pdir_l1 = pmap->pm_root[PG_ROOT_IDX(va)]; + if (pdir_l1 == NULL) + return (NULL); + pdir = pdir_l1[PDIR_L1_IDX(va)]; + if (pdir == NULL) + return (NULL); + ptbl = pdir[PDIR_IDX(va)]; - /* decrement hold count */ - pa = DMAP_TO_PHYS((vm_offset_t) pdir); - m = PHYS_TO_VM_PAGE(pa); + return ((ptbl != NULL) ? &ptbl[PTBL_IDX(va)] : NULL); +} - /* - * Free pdir page if there are no dir entries in this pdir. - */ +static bool +unhold_free_page(mmu_t mmu, pmap_t pmap, vm_page_t m) +{ + m->ref_count--; if (m->ref_count == 0) { - pdir_free(mmu, pmap, pp2d_idx, m); - return (1); + vm_wire_sub(1); + vm_page_free_zero(m); + return (true); } - return (0); -} -/* - * Increment hold count for pdir pages. This routine is used when new ptlb - * entry is being inserted into pdir. - */ -static void -pdir_hold(mmu_t mmu, pmap_t pmap, pte_t ** pdir) -{ - vm_page_t m; - - KASSERT((pmap != kernel_pmap), - ("pdir_hold: holding kernel pdir!")); - - KASSERT((pdir != NULL), ("pdir_hold: null pdir")); - - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pdir)); - m->ref_count++; + return (false); } -/* Allocate page table. */ -static pte_t * -ptbl_alloc(mmu_t mmu, pmap_t pmap, pte_t ** pdir, unsigned int pdir_idx, - boolean_t nosleep) +static vm_offset_t +alloc_or_hold_page(mmu_t mmu, pmap_t pmap, vm_offset_t *ptr_tbl, uint32_t index, + bool nosleep, bool hold, bool *isnew) { + vm_offset_t page; vm_page_t m; - pte_t *ptbl; - int req; - KASSERT((pdir[pdir_idx] == NULL), - ("%s: valid ptbl entry exists!", __func__)); + page = ptr_tbl[index]; + KASSERT(page != 0 || pmap != kernel_pmap, + ("NULL page table page found in kernel pmap!")); + if (page == 0) { + page = mmu_booke_alloc_page(mmu, pmap, index, nosleep); + if (ptr_tbl[index] == 0) { + *isnew = true; + ptr_tbl[index] = page; + return (page); + } + m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS(page)); + page = ptr_tbl[index]; + vm_wire_sub(1); + vm_page_free_zero(m); + } - req = VM_ALLOC_NOOBJ | VM_ALLOC_WIRED; - while ((m = vm_page_alloc(NULL, pdir_idx, req)) == NULL) { - if (nosleep) - return (NULL); - PMAP_UNLOCK(pmap); - rw_wunlock(&pvh_global_lock); - vm_wait(NULL); - rw_wlock(&pvh_global_lock); - PMAP_LOCK(pmap); + if (hold) { + m = PHYS_TO_VM_PAGE(pmap_kextract(page)); + m->ref_count++; } + *isnew = false; - /* Zero whole ptbl. */ - ptbl = (pte_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)); - mmu_booke_zero_page(mmu, m); - - return (ptbl); + return (page); } -/* Free ptbl pages and invalidate pdir entry. */ -static void -ptbl_free(mmu_t mmu, pmap_t pmap, pte_t ** pdir, unsigned int pdir_idx, vm_page_t m) +/* Allocate page table. */ +static pte_t* +ptbl_alloc(mmu_t mmu, pmap_t pmap, vm_offset_t va, bool nosleep, bool *is_new) { - pte_t *ptbl; + unsigned int pg_root_idx = PG_ROOT_IDX(va); + unsigned int pdir_l1_idx = PDIR_L1_IDX(va); + unsigned int pdir_idx = PDIR_IDX(va); + vm_offset_t pdir_l1, pdir, ptbl; + bool hold_page; - ptbl = pdir[pdir_idx]; + hold_page = (pmap != kernel_pmap); + pdir_l1 = alloc_or_hold_page(mmu, pmap, (vm_offset_t *)pmap->pm_root, + pg_root_idx, nosleep, hold_page, is_new); + if (pdir_l1 == 0) + return (NULL); + pdir = alloc_or_hold_page(mmu, pmap, (vm_offset_t *)pdir_l1, pdir_l1_idx, + nosleep, hold_page, is_new); + if (pdir == 0) + return (NULL); + ptbl = alloc_or_hold_page(mmu, pmap, (vm_offset_t *)pdir, pdir_idx, + nosleep, false, is_new); - KASSERT((ptbl != NULL), ("ptbl_free: null ptbl")); - - pdir[pdir_idx] = NULL; - - vm_wire_sub(1); - vm_page_free_zero(m); + return ((pte_t *)ptbl); } /* @@ -326,34 +286,43 @@ ptbl_unhold(mmu_t mmu, pmap_t pmap, vm_offset_t va) { pte_t *ptbl; vm_page_t m; - u_int pp2d_idx; + u_int pg_root_idx; + pte_t ***pdir_l1; + u_int pdir_l1_idx; pte_t **pdir; u_int pdir_idx; - pp2d_idx = PP2D_IDX(va); + pg_root_idx = PG_ROOT_IDX(va); + pdir_l1_idx = PDIR_L1_IDX(va); pdir_idx = PDIR_IDX(va); KASSERT((pmap != kernel_pmap), ("ptbl_unhold: unholding kernel ptbl!")); - pdir = pmap->pm_pp2d[pp2d_idx]; + pdir_l1 = pmap->pm_root[pg_root_idx]; + pdir = pdir_l1[pdir_l1_idx]; ptbl = pdir[pdir_idx]; /* decrement hold count */ m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t) ptbl)); - /* - * Free ptbl pages if there are no pte entries in this ptbl. - * ref_count has the same value for all ptbl pages, so check the - * last page. - */ - m->ref_count--; - if (m->ref_count == 0) { - ptbl_free(mmu, pmap, pdir, pdir_idx, m); - pdir_unhold(mmu, pmap, pp2d_idx); + if (!unhold_free_page(mmu, pmap, m)) + return (0); + + pdir[pdir_idx] = NULL; + m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t) pdir)); + + if (!unhold_free_page(mmu, pmap, m)) return (1); - } - return (0); + + pdir_l1[pdir_l1_idx] = NULL; + m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t) pdir_l1)); + + if (!unhold_free_page(mmu, pmap, m)) + return (1); + pmap->pm_root[pg_root_idx] = NULL; + + return (1); } /* @@ -361,18 +330,13 @@ ptbl_unhold(mmu_t mmu, pmap_t pmap, vm_offset_t va) * entry is being inserted into ptbl. */ static void -ptbl_hold(mmu_t mmu, pmap_t pmap, pte_t ** pdir, unsigned int pdir_idx) +ptbl_hold(mmu_t mmu, pmap_t pmap, pte_t *ptbl) { - pte_t *ptbl; vm_page_t m; KASSERT((pmap != kernel_pmap), ("ptbl_hold: holding kernel ptbl!")); - ptbl = pdir[pdir_idx]; - - KASSERT((ptbl != NULL), ("ptbl_hold: null ptbl")); - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t) ptbl)); m->ref_count++; } @@ -389,7 +353,8 @@ pte_remove(mmu_t mmu, pmap_t pmap, vm_offset_t va, u_i pte_t *pte; pte = pte_find(mmu, pmap, va); - KASSERT(pte != NULL, ("%s: NULL pte", __func__)); + KASSERT(pte != NULL, ("%s: NULL pte for va %#jx, pmap %p", + __func__, (uintmax_t)va, pmap)); if (!PTE_ISVALID(pte)) return (0); @@ -442,27 +407,17 @@ static int pte_enter(mmu_t mmu, pmap_t pmap, vm_page_t m, vm_offset_t va, uint32_t flags, boolean_t nosleep) { - unsigned int pp2d_idx = PP2D_IDX(va); - unsigned int pdir_idx = PDIR_IDX(va); unsigned int ptbl_idx = PTBL_IDX(va); pte_t *ptbl, *pte, pte_tmp; - pte_t **pdir; + bool is_new; /* Get the page directory pointer. */ - pdir = pmap->pm_pp2d[pp2d_idx]; - if (pdir == NULL) - pdir = pdir_alloc(mmu, pmap, pp2d_idx, nosleep); - - /* Get the page table pointer. */ - ptbl = pdir[pdir_idx]; - + ptbl = ptbl_alloc(mmu, pmap, va, nosleep, &is_new); if (ptbl == NULL) { - /* Allocate page table pages. */ - ptbl = ptbl_alloc(mmu, pmap, pdir, pdir_idx, nosleep); - if (ptbl == NULL) { - KASSERT(nosleep, ("nosleep and NULL ptbl")); - return (ENOMEM); - } + KASSERT(nosleep, ("nosleep and NULL ptbl")); + return (ENOMEM); + } + if (is_new) { pte = &ptbl[ptbl_idx]; } else { /* @@ -478,18 +433,10 @@ pte_enter(mmu_t mmu, pmap_t pmap, vm_page_t m, vm_offs * pages. */ if (pmap != kernel_pmap) - ptbl_hold(mmu, pmap, pdir, pdir_idx); + ptbl_hold(mmu, pmap, ptbl); } } - if (pdir[pdir_idx] == NULL) { - if (pmap != kernel_pmap && pmap->pm_pp2d[pp2d_idx] != NULL) - pdir_hold(mmu, pmap, pdir); - pdir[pdir_idx] = ptbl; - } - if (pmap->pm_pp2d[pp2d_idx] == NULL) - pmap->pm_pp2d[pp2d_idx] = pdir; - /* * Insert pv_entry into pv_list for mapped page if part of managed * memory. @@ -534,25 +481,45 @@ pte_vatopa(mmu_t mmu, pmap_t pmap, vm_offset_t va) /* allocate pte entries to manage (addr & mask) to (addr & mask) + size */ static void -kernel_pte_alloc(vm_offset_t data_end, vm_offset_t addr, vm_offset_t pdir) +kernel_pte_alloc(vm_offset_t data_end, vm_offset_t addr) { - int i, j; - vm_offset_t va; pte_t *pte; + vm_size_t kva_size; + int kernel_pdirs, kernel_pgtbls, pdir_l1s; + vm_offset_t va, l1_va, pdir_va, ptbl_va; + int i, j, k; - va = addr; + kva_size = VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS; + kernel_pmap->pm_root = kernel_ptbl_root; + pdir_l1s = howmany(kva_size, PG_ROOT_SIZE); + kernel_pdirs = howmany(kva_size, PDIR_L1_SIZE); + kernel_pgtbls = howmany(kva_size, PDIR_SIZE); + /* Initialize kernel pdir */ - for (i = 0; i < kernel_pdirs; i++) { - kernel_pmap->pm_pp2d[i + PP2D_IDX(va)] = - (pte_t **)(pdir + (i * PAGE_SIZE * PDIR_PAGES)); - for (j = PDIR_IDX(va + (i * PAGE_SIZE * PDIR_NENTRIES * PTBL_NENTRIES)); - j < PDIR_NENTRIES; j++) { - kernel_pmap->pm_pp2d[i + PP2D_IDX(va)][j] = - (pte_t *)(pdir + (kernel_pdirs * PAGE_SIZE) + - (((i * PDIR_NENTRIES) + j) * PAGE_SIZE)); - } + l1_va = (vm_offset_t)kernel_ptbl_root + + round_page(PG_ROOT_NENTRIES * sizeof(pte_t ***)); + pdir_va = l1_va + pdir_l1s * PAGE_SIZE; + ptbl_va = pdir_va + kernel_pdirs * PAGE_SIZE; + if (bootverbose) { + printf("ptbl_root_va: %#lx\n", (vm_offset_t)kernel_ptbl_root); + printf("l1_va: %#lx (%d entries)\n", l1_va, pdir_l1s); + printf("pdir_va: %#lx(%d entries)\n", pdir_va, kernel_pdirs); + printf("ptbl_va: %#lx(%d entries)\n", ptbl_va, kernel_pgtbls); } + va = VM_MIN_KERNEL_ADDRESS; + for (i = 0; i < pdir_l1s; i++, l1_va += PAGE_SIZE) { + kernel_pmap->pm_root[i] = (pte_t ***)l1_va; + for (j = 0; + j < PDIR_L1_NENTRIES && va < VM_MAX_KERNEL_ADDRESS; + j++, pdir_va += PAGE_SIZE) { + kernel_pmap->pm_root[i][j] = (pte_t **)pdir_va; + for (k = 0; + k < PDIR_NENTRIES && va < VM_MAX_KERNEL_ADDRESS; + k++, va += PDIR_SIZE, ptbl_va += PAGE_SIZE) + kernel_pmap->pm_root[i][j][k] = (pte_t *)ptbl_va; + } + } /* * Fill in PTEs covering kernel code and data. They are not required * for address translation, as this area is covered by static TLB1 @@ -560,13 +527,28 @@ kernel_pte_alloc(vm_offset_t data_end, vm_offset_t add * addresses. */ for (va = addr; va < data_end; va += PAGE_SIZE) { - pte = &(kernel_pmap->pm_pp2d[PP2D_IDX(va)][PDIR_IDX(va)][PTBL_IDX(va)]); + pte = &(kernel_pmap->pm_root[PG_ROOT_IDX(va)][PDIR_L1_IDX(va)][PDIR_IDX(va)][PTBL_IDX(va)]); *pte = PTE_RPN_FROM_PA(kernload + (va - kernstart)); *pte |= PTE_M | PTE_SR | PTE_SW | PTE_SX | PTE_WIRED | PTE_VALID | PTE_PS_4KB; } } +static vm_offset_t +mmu_booke_alloc_kernel_pgtables(vm_offset_t data_end) +{ + vm_size_t kva_size = VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS; + kernel_ptbl_root = (pte_t ****)data_end; + + data_end += round_page(PG_ROOT_NENTRIES * sizeof(pte_t ***)); + data_end += howmany(kva_size, PG_ROOT_SIZE) * PAGE_SIZE; + data_end += howmany(kva_size, PDIR_L1_SIZE) * PAGE_SIZE; + data_end += howmany(kva_size, PDIR_SIZE) * PAGE_SIZE; + + return (data_end); +} + + /* * Initialize a preallocated and zeroed pmap structure, * such as one in a vmspace structure. @@ -585,8 +567,8 @@ mmu_booke_pinit(mmu_t mmu, pmap_t pmap) pmap->pm_tid[i] = TID_NONE; CPU_ZERO(&kernel_pmap->pm_active); bzero(&pmap->pm_stats, sizeof(pmap->pm_stats)); - pmap->pm_pp2d = uma_zalloc(ptbl_root_zone, M_WAITOK); - bzero(pmap->pm_pp2d, sizeof(pte_t **) * PP2D_NENTRIES); + pmap->pm_root = uma_zalloc(ptbl_root_zone, M_WAITOK); + bzero(pmap->pm_root, sizeof(pte_t **) * PG_ROOT_NENTRIES); } /* @@ -601,7 +583,7 @@ mmu_booke_release(mmu_t mmu, pmap_t pmap) KASSERT(pmap->pm_stats.resident_count == 0, ("pmap_release: pmap resident count %ld != 0", pmap->pm_stats.resident_count)); - uma_zfree(ptbl_root_zone, pmap->pm_pp2d); + uma_zfree(ptbl_root_zone, pmap->pm_root); } static void Modified: head/sys/powerpc/booke/trap_subr.S ============================================================================== --- head/sys/powerpc/booke/trap_subr.S Fri Apr 10 23:58:07 2020 (r359790) +++ head/sys/powerpc/booke/trap_subr.S Sat Apr 11 00:12:34 2020 (r359791) @@ -800,11 +800,16 @@ pte_lookup: beq 1f /* fail quickly if pmap is invalid */ #ifdef __powerpc64__ - rldicl %r21, %r31, (64 - PP2D_L_L), (64 - PP2D_L_NUM) /* pp2d offset */ - rldicl %r25, %r31, (64 - PP2D_H_L), (64 - PP2D_H_NUM) - rldimi %r21, %r25, PP2D_L_NUM, (64 - (PP2D_L_NUM + PP2D_H_NUM)) - slwi %r21, %r21, PP2D_ENTRY_SHIFT /* multiply by pp2d entry size */ - ld %r25, PM_PP2D(%r26) /* pmap pm_pp2d[] address */ + rldicl %r21, %r31, (64 - PG_ROOT_L), (64 - PG_ROOT_NUM) /* pp2d offset */ + slwi %r21, %r21, PG_ROOT_ENTRY_SHIFT /* multiply by pp2d entry size */ + ld %r25, PM_ROOT(%r26) /* pmap pm_pp2d[] address */ + ldx %r25, %r25, %r21 /* get pdir address, i.e. pmap->pm_pp2d[pp2d_idx] * */ + + cmpdi %r25, 0 + beq 2f + + rldicl %r21, %r31, (64 - PDIR_L1_L), (64 - PDIR_L1_NUM) /* pp2d offset */ + slwi %r21, %r21, PDIR_L1_ENTRY_SHIFT /* multiply by pp2d entry size */ ldx %r25, %r25, %r21 /* get pdir address, i.e. pmap->pm_pp2d[pp2d_idx] * */ cmpdi %r25, 0 Modified: head/sys/powerpc/include/pmap.h ============================================================================== --- head/sys/powerpc/include/pmap.h Fri Apr 10 23:58:07 2020 (r359790) +++ head/sys/powerpc/include/pmap.h Sat Apr 11 00:12:34 2020 (r359791) @@ -165,7 +165,7 @@ struct pmap { * Page table directory, * array of pointers to page directories. */ - pte_t ***pm_pp2d; + pte_t ****pm_root; #else /* * Page table directory, Modified: head/sys/powerpc/include/pte.h ============================================================================== --- head/sys/powerpc/include/pte.h Fri Apr 10 23:58:07 2020 (r359790) +++ head/sys/powerpc/include/pte.h Sat Apr 11 00:12:34 2020 (r359791) @@ -295,40 +295,52 @@ typedef uint64_t pte_t; * The virtual address is: * * 4K page size - * +-----+-----+-----+-------+-------------+-------------+----------------+ - * | - |p2d#h| - | p2d#l | dir# | pte# | off in 4K page | - * +-----+-----+-----+-------+-------------+-------------+----------------+ - * 63 62 61 60 59 40 39 30 29 ^ 21 20 ^ 12 11 0 + * +-----+-----------+-------+-------------+-------------+----------------+ + * | - | pg_root |pdir_l1| dir# | pte# | off in 4K page | + * +-----+-----------+-------+-------------+-------------+----------------+ + * 63 52 51 39 38 30 29 ^ 21 20 ^ 12 11 0 * | | * index in 1 page of pointers * - * 1st level - pointers to page table directory (pp2d) + * 1st level - Root page table * - * pp2d consists of PP2D_NENTRIES entries, each being a pointer to + * pp2d consists of PG_ROOT_NENTRIES entries, each being a pointer to * second level entity, i.e. the page table directory (pdir). */ -#define PP2D_H_H 61 -#define PP2D_H_L 60 -#define PP2D_L_H 39 -#define PP2D_L_L 30 /* >30 would work with no page table pool */ -#define PP2D_SIZE (1 << PP2D_L_L) /* va range mapped by pp2d */ -#define PP2D_L_SHIFT PP2D_L_L -#define PP2D_L_NUM (PP2D_L_H-PP2D_L_L+1) -#define PP2D_L_MASK ((1<> PP2D_H_SHIFT) & PP2D_H_MASK) | ((va >> PP2D_L_SHIFT) & PP2D_L_MASK)) -#define PP2D_NENTRIES (1<<(PP2D_L_NUM+PP2D_H_NUM)) -#define PP2D_ENTRY_SHIFT 3 /* log2 (sizeof(struct pte_entry **)) */ +#define PG_ROOT_H 51 +#define PG_ROOT_L 39 +#define PG_ROOT_SIZE (1UL << PG_ROOT_L) /* va range mapped by pp2d */ +#define PG_ROOT_SHIFT PG_ROOT_L +#define PG_ROOT_NUM (PG_ROOT_H - PG_ROOT_L + 1) +#define PG_ROOT_MASK ((1 << PG_ROOT_NUM) - 1) +#define PG_ROOT_IDX(va) ((va >> PG_ROOT_SHIFT) & PG_ROOT_MASK) +#define PG_ROOT_NENTRIES (1 << PG_ROOT_NUM) +#define PG_ROOT_ENTRY_SHIFT 3 /* log2 (sizeof(struct pte_entry **)) */ /* - * 2nd level - page table directory (pdir) + * 2nd level - page directory directory (pdir l1) * * pdir consists of PDIR_NENTRIES entries, each being a pointer to * second level entity, i.e. the actual page table (ptbl). */ -#define PDIR_H (PP2D_L_L-1) +#define PDIR_L1_H (PG_ROOT_L-1) +#define PDIR_L1_L 30 +#define PDIR_L1_NUM (PDIR_L1_H-PDIR_L1_L+1) +#define PDIR_L1_SIZE (1 << PDIR_L1_L) /* va range mapped by pdir */ +#define PDIR_L1_MASK ((1<> PDIR_L1_SHIFT) & PDIR_L1_MASK) +#define PDIR_L1_ENTRY_SHIFT 3 /* log2 (sizeof(struct pte_entry *)) */ +#define PDIR_L1_PAGES ((PDIR_L1_NENTRIES * (1< Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C14E127F34E; Sat, 11 Apr 2020 00:16:51 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zb6C4pBvz3LRC; Sat, 11 Apr 2020 00:16:51 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A01196F6A; Sat, 11 Apr 2020 00:16:51 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B0GpQd096823; Sat, 11 Apr 2020 00:16:51 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B0GpXx096821; Sat, 11 Apr 2020 00:16:51 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <202004110016.03B0GpXx096821@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Sat, 11 Apr 2020 00:16:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359792 - head/sys/powerpc/booke X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: head/sys/powerpc/booke X-SVN-Commit-Revision: 359792 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 00:16:51 -0000 Author: jhibbits Date: Sat Apr 11 00:16:50 2020 New Revision: 359792 URL: https://svnweb.freebsd.org/changeset/base/359792 Log: powerpc/booke: Add pte_find_next() to find the next in-use PTE Summary: Iterating over VM_MIN_ADDRESS->VM_MAXUSER_ADDRESS can take a very long time iterating one page at a time (2**(log_2(SIZE)-12) operations), yielding possibly several days or even weeks on 64-bit Book-E, even for a largely empty, which can happen when swapping out a process by vmdaemon. Speed this up by instead finding the next PTE at or equal to the given VA. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D24238 Modified: head/sys/powerpc/booke/pmap.c head/sys/powerpc/booke/pmap_32.c head/sys/powerpc/booke/pmap_64.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Sat Apr 11 00:12:34 2020 (r359791) +++ head/sys/powerpc/booke/pmap.c Sat Apr 11 00:16:50 2020 (r359792) @@ -1532,9 +1532,12 @@ mmu_booke_remove(mmu_t mmu, pmap_t pmap, vm_offset_t v rw_wlock(&pvh_global_lock); PMAP_LOCK(pmap); for (; va < endva; va += PAGE_SIZE) { - pte = pte_find(mmu, pmap, va); - if ((pte != NULL) && PTE_ISVALID(pte)) - pte_remove(mmu, pmap, va, hold_flag); + pte = pte_find_next(mmu, pmap, &va); + if ((pte == NULL) || !PTE_ISVALID(pte)) + break; + if (va >= endva) + break; + pte_remove(mmu, pmap, va, hold_flag); } PMAP_UNLOCK(pmap); rw_wunlock(&pvh_global_lock); Modified: head/sys/powerpc/booke/pmap_32.c ============================================================================== --- head/sys/powerpc/booke/pmap_32.c Sat Apr 11 00:12:34 2020 (r359791) +++ head/sys/powerpc/booke/pmap_32.c Sat Apr 11 00:16:50 2020 (r359792) @@ -598,6 +598,35 @@ pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va) return (NULL); } +/* Get a pointer to a PTE in a page table, or the next closest (greater) one. */ +static __inline pte_t * +pte_find_next(mmu_t mmu, pmap_t pmap, vm_offset_t *pva) +{ + vm_offset_t va; + pte_t **pdir; + pte_t *pte; + unsigned long i, j; + + KASSERT((pmap != NULL), ("pte_find: invalid pmap")); + + va = *pva; + i = PDIR_IDX(va); + j = PTBL_IDX(va); + pdir = pmap->pm_pdir; + for (; i < PDIR_NENTRIES; i++, j = 0) { + if (pdir[i] == NULL) + continue; + for (; j < PTBL_NENTRIES; j++) { + pte = &pdir[i][j]; + if (!PTE_ISVALID(pte)) + continue; + *pva = PDIR_SIZE * i + PAGE_SIZE * j; + return (pte); + } + } + return (NULL); +} + /* Set up kernel page tables. */ static void kernel_pte_alloc(vm_offset_t data_end, vm_offset_t addr) Modified: head/sys/powerpc/booke/pmap_64.c ============================================================================== --- head/sys/powerpc/booke/pmap_64.c Sat Apr 11 00:12:34 2020 (r359791) +++ head/sys/powerpc/booke/pmap_64.c Sat Apr 11 00:16:50 2020 (r359792) @@ -145,6 +145,7 @@ static vm_paddr_t pte_vatopa(mmu_t, pmap_t, vm_offset_ static int pte_enter(mmu_t, pmap_t, vm_page_t, vm_offset_t, uint32_t, boolean_t); static int pte_remove(mmu_t, pmap_t, vm_offset_t, uint8_t); static pte_t *pte_find(mmu_t, pmap_t, vm_offset_t); +static pte_t *pte_find_next(mmu_t, pmap_t, vm_offset_t *); static void kernel_pte_alloc(vm_offset_t, vm_offset_t); /**************************************************************************/ @@ -202,6 +203,50 @@ pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va) ptbl = pdir[PDIR_IDX(va)]; return ((ptbl != NULL) ? &ptbl[PTBL_IDX(va)] : NULL); +} + +/* Get a pointer to a PTE in a page table, or the next closest (greater) one. */ +static __inline pte_t * +pte_find_next(mmu_t mmu, pmap_t pmap, vm_offset_t *pva) +{ + vm_offset_t va; + pte_t ****pm_root; + pte_t *pte; + unsigned long i, j, k, l; + + KASSERT((pmap != NULL), ("pte_find: invalid pmap")); + + va = *pva; + i = PG_ROOT_IDX(va); + j = PDIR_L1_IDX(va); + k = PDIR_IDX(va); + l = PTBL_IDX(va); + pm_root = pmap->pm_root; + /* truncate the VA for later. */ + va &= ~((1UL << (PG_ROOT_H + 1)) - 1); + for (; i < PG_ROOT_NENTRIES; i++, j = 0) { + if (pm_root[i] == 0) + continue; + for (; j < PDIR_L1_NENTRIES; j++, k = 0) { + if (pm_root[i][j] == 0) + continue; + for (; k < PDIR_NENTRIES; k++, l = 0) { + if (pm_root[i][j][k] == NULL) + continue; + for (; l < PTBL_NENTRIES; l++) { + pte = &pm_root[i][j][k][l]; + if (!PTE_ISVALID(pte)) + continue; + *pva = va + PG_ROOT_SIZE * i + + PDIR_L1_SIZE * j + + PDIR_SIZE * k + + PAGE_SIZE * l; + return (pte); + } + } + } + } + return (NULL); } static bool From owner-svn-src-head@freebsd.org Sat Apr 11 00:17:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6F06427F3CC; Sat, 11 Apr 2020 00:17:56 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zb7S2Kktz3LZB; Sat, 11 Apr 2020 00:17:56 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4B2B86F74; Sat, 11 Apr 2020 00:17:56 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B0HuqS096914; Sat, 11 Apr 2020 00:17:56 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B0Hu4m096913; Sat, 11 Apr 2020 00:17:56 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <202004110017.03B0Hu4m096913@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Sat, 11 Apr 2020 00:17:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359793 - head/sys/powerpc/booke X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: head/sys/powerpc/booke X-SVN-Commit-Revision: 359793 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 00:17:56 -0000 Author: jhibbits Date: Sat Apr 11 00:17:55 2020 New Revision: 359793 URL: https://svnweb.freebsd.org/changeset/base/359793 Log: powerpc/booke: Use power-of-two mappings in 64-bit pmap_mapdev Summary: This reduces the precious TLB1 entry consumption (64 possible in existing 64-bit cores), by adjusting the size and alignment of a device mapping to a power of 2, to encompass the full mapping and its surroundings. One caveat with this: If a mapping really is smaller than a power of 2, it's possible to get a machine check or hang if the 'missing' physical space is accessed. In practice this should not be an issue for users, as devices overwhelmingly have physical spaces on power-of-two sizes and alignments, and any design that includes devices which don't follow this can be addressed by undefining the POW2_MAPPINGS guard. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D24248 Modified: head/sys/powerpc/booke/pmap.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Sat Apr 11 00:16:50 2020 (r359792) +++ head/sys/powerpc/booke/pmap.c Sat Apr 11 00:17:55 2020 (r359793) @@ -128,6 +128,10 @@ __FBSDID("$FreeBSD$"); #include "mmu_if.h" #define SPARSE_MAPDEV + +/* Use power-of-two mappings in mmu_booke_mapdev(), to save entries. */ +#define POW2_MAPPINGS + #ifdef DEBUG #define debugf(fmt, args...) printf(fmt, ##args) #else @@ -2211,6 +2215,8 @@ tlb1_find_pa(vm_paddr_t pa, tlb_entry_t *e) for (i = 0; i < TLB1_ENTRIES; i++) { tlb1_read_entry(e, i); if ((e->mas1 & MAS1_VALID) == 0) + continue; + if (e->phys == pa) return (i); } return (-1); @@ -2224,7 +2230,7 @@ mmu_booke_mapdev_attr(mmu_t mmu, vm_paddr_t pa, vm_siz #ifndef __powerpc64__ uintptr_t tmpva; #endif - uintptr_t va; + uintptr_t va, retva; vm_size_t sz; int i; int wimge; @@ -2245,7 +2251,7 @@ mmu_booke_mapdev_attr(mmu_t mmu, vm_paddr_t pa, vm_siz if (tmppa >= e.phys && tmppa < e.phys + e.size) { va = e.virt + (pa - e.phys); tmppa = e.phys + e.size; - sz -= MIN(sz, e.size); + sz -= MIN(sz, e.size - (pa - e.phys)); while (sz > 0 && (i = tlb1_find_pa(tmppa, &e)) != -1) { if (wimge != (e.mas2 & (MAS2_WIMGE_MASK & ~_TLB_ENTRY_SHARED))) break; @@ -2264,6 +2270,25 @@ mmu_booke_mapdev_attr(mmu_t mmu, vm_paddr_t pa, vm_siz KASSERT(pa < VM_MAPDEV_PA_MAX, ("Unsupported physical address! %lx", pa)); va = VM_MAPDEV_BASE + pa; + retva = va; +#ifdef POW2_MAPPINGS + /* + * Align the mapping to a power of 2 size, taking into account that we + * may need to increase the size multiple times to satisfy the size and + * alignment requirements. + * + * This works in the general case because it's very rare (near never?) + * to have different access properties (WIMG) within a single + * power-of-two region. If a design does call for that, POW2_MAPPINGS + * can be undefined, and exact mappings will be used instead. + */ + sz = size; + size = roundup2(size, 1 << ilog2(size)); + while (rounddown2(va, size) + size < va + sz) + size <<= 1; + va = rounddown2(va, size); + pa = rounddown2(pa, size); +#endif #else /* * The device mapping area is between VM_MAXUSER_ADDRESS and @@ -2288,14 +2313,15 @@ mmu_booke_mapdev_attr(mmu_t mmu, vm_paddr_t pa, vm_siz sz = sz ? min(roundup(sz + 3, 4), flsl(size) - 1) : flsl(size) - 1; va = roundup(tlb1_map_base, 1 << sz) | (((1 << sz) - 1) & pa); } while (!atomic_cmpset_int(&tlb1_map_base, tmpva, va + size)); +#endif va = atomic_fetchadd_int(&tlb1_map_base, size); + retva = va; #endif -#endif if (tlb1_mapin_region(va, pa, size, tlb_calc_wimg(pa, ma)) != size) return (NULL); - return ((void *)va); + return ((void *)retva); } /* @@ -2584,6 +2610,24 @@ tlb1_find_free(void) } static void +tlb1_purge_va_range(vm_offset_t va, vm_size_t size) +{ + tlb_entry_t e; + int i; + + for (i = 0; i < TLB1_ENTRIES; i++) { + tlb1_read_entry(&e, i); + if ((e.mas1 & MAS1_VALID) == 0) + continue; + if ((e.mas2 & MAS2_EPN_MASK) >= va && + (e.mas2 & MAS2_EPN_MASK) < va + size) { + mtspr(SPR_MAS1, e.mas1 & ~MAS1_VALID); + __asm __volatile("isync; tlbwe; isync; msync"); + } + } +} + +static void tlb1_write_entry_int(void *arg) { struct tlbwrite_args *args = arg; @@ -2591,6 +2635,7 @@ tlb1_write_entry_int(void *arg) idx = args->idx; if (idx == -1) { + tlb1_purge_va_range(args->e->virt, args->e->size); idx = tlb1_find_free(); if (idx == -1) panic("No free TLB1 entries!\n"); From owner-svn-src-head@freebsd.org Sat Apr 11 07:24:58 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 34FE02B19B3; Sat, 11 Apr 2020 07:24:58 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zmcB0CgMz4Gm3; Sat, 11 Apr 2020 07:24:58 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F2693C6D1; Sat, 11 Apr 2020 07:24:57 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B7OvDl061927; Sat, 11 Apr 2020 07:24:57 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B7Ovt3061926; Sat, 11 Apr 2020 07:24:57 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202004110724.03B7Ovt3061926@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sat, 11 Apr 2020 07:24:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359795 - head/sys/dev/acpi_support X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/sys/dev/acpi_support X-SVN-Commit-Revision: 359795 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 07:24:58 -0000 Author: delphij Date: Sat Apr 11 07:24:57 2020 New Revision: 359795 URL: https://svnweb.freebsd.org/changeset/base/359795 Log: Avoid using a variable solely for sizes that are never meant to be modified runtime. No functional change. MFC after: 2 weeks Modified: head/sys/dev/acpi_support/acpi_hp.c Modified: head/sys/dev/acpi_support/acpi_hp.c ============================================================================== --- head/sys/dev/acpi_support/acpi_hp.c Sat Apr 11 05:12:38 2020 (r359794) +++ head/sys/dev/acpi_support/acpi_hp.c Sat Apr 11 07:24:57 2020 (r359795) @@ -962,10 +962,9 @@ acpi_hp_get_cmi_block(device_t wmi_dev, const char* gu ACPI_BUFFER out = { ACPI_ALLOCATE_BUFFER, NULL }; int i; int outlen; - int size = 255; int has_enums = 0; int valuebase = 0; - char string_buffer[size]; + char string_buffer[255]; int enumbase; outlen = 0; @@ -1019,18 +1018,21 @@ acpi_hp_get_cmi_block(device_t wmi_dev, const char* gu if (detail & ACPI_HP_CMI_DETAIL_PATHS) { strlcat(outbuf, acpi_hp_get_string_from_object( - &obj->Package.Elements[2], string_buffer, size), outsize); + &obj->Package.Elements[2], + string_buffer, sizeof(string_buffer)), outsize); outlen += 48; while (strlen(outbuf) < outlen) strlcat(outbuf, " ", outsize); } strlcat(outbuf, acpi_hp_get_string_from_object( - &obj->Package.Elements[0], string_buffer, size), outsize); + &obj->Package.Elements[0], + string_buffer, sizeof(string_buffer)), outsize); outlen += 43; while (strlen(outbuf) < outlen) strlcat(outbuf, " ", outsize); strlcat(outbuf, acpi_hp_get_string_from_object( - &obj->Package.Elements[valuebase], string_buffer, size), outsize); + &obj->Package.Elements[valuebase], + string_buffer, sizeof(string_buffer)), outsize); outlen += 21; while (strlen(outbuf) < outlen) strlcat(outbuf, " ", outsize); @@ -1041,7 +1043,8 @@ acpi_hp_get_cmi_block(device_t wmi_dev, const char* gu for (i = enumbase + 1; i < enumbase + 1 + obj->Package.Elements[enumbase].Integer.Value; ++i) { acpi_hp_get_string_from_object( - &obj->Package.Elements[i], string_buffer, size); + &obj->Package.Elements[i], + string_buffer, sizeof(string_buffer)); if (strlen(string_buffer) > 1 || (strlen(string_buffer) == 1 && string_buffer[0] != ' ')) { @@ -1211,8 +1214,7 @@ acpi_hp_hpcmi_read(struct cdev *dev, struct uio *buf, UINT8 instance; UINT8 maxInstance; UINT32 sequence; - int linesize = 1025; - char line[linesize]; + char line[1025]; if (dev == NULL || dev->si_drv1 == NULL) return (EBADF); @@ -1237,7 +1239,7 @@ acpi_hp_hpcmi_read(struct cdev *dev, struct uio *buf, ++instance) { if (acpi_hp_get_cmi_block(sc->wmi_dev, ACPI_HP_WMI_CMI_GUID, instance, - line, linesize, &sequence, + line, sizeof(line), &sequence, sc->cmi_detail)) { instance = maxInstance; } @@ -1270,7 +1272,7 @@ acpi_hp_hpcmi_read(struct cdev *dev, struct uio *buf, for (i=0; icmi_order_size; ++i) { if (!acpi_hp_get_cmi_block(sc->wmi_dev, ACPI_HP_WMI_CMI_GUID, - sc->cmi_order[i].instance, line, linesize, + sc->cmi_order[i].instance, line, sizeof(line), &sequence, sc->cmi_detail)) { sbuf_printf(&sc->hpcmi_sbuf, "%s\n", line); } From owner-svn-src-head@freebsd.org Sat Apr 11 07:37:09 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E6A882B1CC0; Sat, 11 Apr 2020 07:37:09 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zmtF5qKqz4HJN; Sat, 11 Apr 2020 07:37:09 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C3046C8CC; Sat, 11 Apr 2020 07:37:09 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B7b9jd067991; Sat, 11 Apr 2020 07:37:09 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B7b8cS067986; Sat, 11 Apr 2020 07:37:08 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004110737.03B7b8cS067986@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 11 Apr 2020 07:37:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359797 - in head/sys: net netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/sys: net netinet netinet6 X-SVN-Commit-Revision: 359797 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 07:37:10 -0000 Author: melifaro Date: Sat Apr 11 07:37:08 2020 New Revision: 359797 URL: https://svnweb.freebsd.org/changeset/base/359797 Log: Remove per-AF radix_mpath initializtion functions. Split their functionality by moving random seed allocation to SYSINIT and calling (new) generic multipath function from standard IPv4/IPv5 RIB init handlers. Differential Revision: https://reviews.freebsd.org/D24356 Modified: head/sys/net/radix_mpath.c head/sys/net/route_var.h head/sys/netinet/in_proto.c head/sys/netinet/in_rmx.c head/sys/netinet6/in6_proto.c head/sys/netinet6/in6_rmx.c Modified: head/sys/net/radix_mpath.c ============================================================================== --- head/sys/net/radix_mpath.c Sat Apr 11 07:31:16 2020 (r359796) +++ head/sys/net/radix_mpath.c Sat Apr 11 07:37:08 2020 (r359797) @@ -290,38 +290,18 @@ rtalloc_mpath_fib(struct route *ro, uint32_t hash, u_i RT_UNLOCK(ro->ro_rt); } -extern int in6_inithead(void **head, int off, u_int fibnum); -extern int in_inithead(void **head, int off, u_int fibnum); - -#ifdef INET -int -rn4_mpath_inithead(void **head, int off, u_int fibnum) +void +rt_mpath_init_rnh(struct rib_head *rnh) { - struct rib_head *rnh; - hashjitter = arc4random(); - if (in_inithead(head, off, fibnum) == 1) { - rnh = (struct rib_head *)*head; - rnh->rnh_multipath = 1; - return 1; - } else - return 0; + rnh->rnh_multipath = 1; } -#endif -#ifdef INET6 -int -rn6_mpath_inithead(void **head, int off, u_int fibnum) +static void +mpath_init(void) { - struct rib_head *rnh; hashjitter = arc4random(); - if (in6_inithead(head, off, fibnum) == 1) { - rnh = (struct rib_head *)*head; - rnh->rnh_multipath = 1; - return 1; - } else - return 0; } +SYSINIT(mpath_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, mpath_init, NULL); -#endif Modified: head/sys/net/route_var.h ============================================================================== --- head/sys/net/route_var.h Sat Apr 11 07:31:16 2020 (r359796) +++ head/sys/net/route_var.h Sat Apr 11 07:37:08 2020 (r359797) @@ -88,6 +88,7 @@ _Static_assert(__offsetof(struct route, ro_dst) == __o "ro_dst and " #_dst_new " are at different offset") struct rib_head *rt_tables_get_rnh(int fib, int family); +void rt_mpath_init_rnh(struct rib_head *rnh); /* rte<>nhop translation */ static inline uint16_t Modified: head/sys/netinet/in_proto.c ============================================================================== --- head/sys/netinet/in_proto.c Sat Apr 11 07:31:16 2020 (r359796) +++ head/sys/netinet/in_proto.c Sat Apr 11 07:37:08 2020 (r359797) @@ -62,9 +62,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef RADIX_MPATH -#include -#endif #include #endif /* INET */ @@ -305,11 +302,7 @@ struct domain inetdomain = { .dom_name = "internet", .dom_protosw = inetsw, .dom_protoswNPROTOSW = &inetsw[nitems(inetsw)], -#ifdef RADIX_MPATH - .dom_rtattach = rn4_mpath_inithead, -#else .dom_rtattach = in_inithead, -#endif #ifdef VIMAGE .dom_rtdetach = in_detachhead, #endif Modified: head/sys/netinet/in_rmx.c ============================================================================== --- head/sys/netinet/in_rmx.c Sat Apr 11 07:31:16 2020 (r359796) +++ head/sys/netinet/in_rmx.c Sat Apr 11 07:37:08 2020 (r359797) @@ -30,6 +30,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_mpath.h" + #include #include #include @@ -125,6 +127,9 @@ in_inithead(void **head, int off, u_int fibnum) return (0); rh->rnh_addaddr = in_addroute; +#ifdef RADIX_MPATH + rt_mpath_init_rnh(rh); +#endif *head = (void *)rh; if (_in_rt_was_here == 0 ) { Modified: head/sys/netinet6/in6_proto.c ============================================================================== --- head/sys/netinet6/in6_proto.c Sat Apr 11 07:31:16 2020 (r359796) +++ head/sys/netinet6/in6_proto.c Sat Apr 11 07:37:08 2020 (r359797) @@ -90,9 +90,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef RADIX_MPATH -#include -#endif #include #include @@ -346,11 +343,7 @@ struct domain inet6domain = { .dom_name = "internet6", .dom_protosw = (struct protosw *)inet6sw, .dom_protoswNPROTOSW = (struct protosw *)&inet6sw[nitems(inet6sw)], -#ifdef RADIX_MPATH - .dom_rtattach = rn6_mpath_inithead, -#else .dom_rtattach = in6_inithead, -#endif #ifdef VIMAGE .dom_rtdetach = in6_detachhead, #endif Modified: head/sys/netinet6/in6_rmx.c ============================================================================== --- head/sys/netinet6/in6_rmx.c Sat Apr 11 07:31:16 2020 (r359796) +++ head/sys/netinet6/in6_rmx.c Sat Apr 11 07:37:08 2020 (r359797) @@ -64,6 +64,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_mpath.h" + #include #include #include @@ -167,6 +169,9 @@ in6_inithead(void **head, int off, u_int fibnum) return (0); rh->rnh_addaddr = in6_addroute; +#ifdef RADIX_MPATH + rt_mpath_init_rnh(rh); +#endif *head = (void *)rh; return (1); From owner-svn-src-head@freebsd.org Sat Apr 11 07:56:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CBBD12B23B6; Sat, 11 Apr 2020 07:56:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48znJC51txz4JS4; Sat, 11 Apr 2020 07:56:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A2DCFCCAF; Sat, 11 Apr 2020 07:56:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B7uBxG080386; Sat, 11 Apr 2020 07:56:11 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B7uB0S080385; Sat, 11 Apr 2020 07:56:11 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004110756.03B7uB0S080385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 11 Apr 2020 07:56:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359800 - head/sys/netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/netinet6 X-SVN-Commit-Revision: 359800 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 07:56:11 -0000 Author: melifaro Date: Sat Apr 11 07:56:11 2020 New Revision: 359800 URL: https://svnweb.freebsd.org/changeset/base/359800 Log: Remove RADIX_MPATH headers, they were unused since r293159. MFC after: 2 weeks Modified: head/sys/netinet6/nd6_nbr.c Modified: head/sys/netinet6/nd6_nbr.c ============================================================================== --- head/sys/netinet6/nd6_nbr.c Sat Apr 11 07:46:38 2020 (r359799) +++ head/sys/netinet6/nd6_nbr.c Sat Apr 11 07:56:11 2020 (r359800) @@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" -#include "opt_mpath.h" #include #include @@ -63,9 +62,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef RADIX_MPATH -#include -#endif #include #include From owner-svn-src-head@freebsd.org Sat Apr 11 08:16:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 325E82B2F2A; Sat, 11 Apr 2020 08:16:36 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48znlm0DwVz4KXs; Sat, 11 Apr 2020 08:16:36 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F301AD087; Sat, 11 Apr 2020 08:16:35 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B8GZBb092303; Sat, 11 Apr 2020 08:16:35 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B8GZCK092302; Sat, 11 Apr 2020 08:16:35 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202004110816.03B8GZCK092302@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Sat, 11 Apr 2020 08:16:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359801 - head/usr.bin/wc X-SVN-Group: head X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: head/usr.bin/wc X-SVN-Commit-Revision: 359801 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 08:16:36 -0000 Author: eugen Date: Sat Apr 11 08:16:35 2020 New Revision: 359801 URL: https://svnweb.freebsd.org/changeset/base/359801 Log: wc(1): document SIGINFO handling in the manual page. MFC after: 3 days Modified: head/usr.bin/wc/wc.1 Modified: head/usr.bin/wc/wc.1 ============================================================================== --- head/usr.bin/wc/wc.1 Sat Apr 11 07:56:11 2020 (r359800) +++ head/usr.bin/wc/wc.1 Sat Apr 11 08:16:35 2020 (r359801) @@ -31,7 +31,7 @@ .\" @(#)wc.1 8.2 (Berkeley) 4/19/94 .\" $FreeBSD$ .\" -.Dd August 2, 2018 +.Dd April 11, 2020 .Dt WC 1 .Os .Sh NAME @@ -126,6 +126,18 @@ file name is displayed. The prompt will accept input until receiving EOF, or .Bq ^D in most environments. +.Pp +If +.Nm +receives a +.Dv SIGINFO +(see the +.Cm status +argument for +.Xr stty 1 ) +signal, the interim data will be written +to the standard error output in the same format +as the standard completion message. .Sh ENVIRONMENT The .Ev LANG , LC_ALL From owner-svn-src-head@freebsd.org Sat Apr 11 09:38:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A7AED2B4E27; Sat, 11 Apr 2020 09:38:45 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zqZY3yvhz4Pgb; Sat, 11 Apr 2020 09:38:45 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 835E3DF81; Sat, 11 Apr 2020 09:38:45 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03B9cjhw041400; Sat, 11 Apr 2020 09:38:45 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03B9cjmF041399; Sat, 11 Apr 2020 09:38:45 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004110938.03B9cjmF041399@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 11 Apr 2020 09:38:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359804 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 359804 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 09:38:45 -0000 Author: melifaro Date: Sat Apr 11 09:38:45 2020 New Revision: 359804 URL: https://svnweb.freebsd.org/changeset/base/359804 Log: Fix build by adding forgotten header to radix_mpath.c after r359797. Modified: head/sys/net/radix_mpath.c Modified: head/sys/net/radix_mpath.c ============================================================================== --- head/sys/net/radix_mpath.c Sat Apr 11 09:36:41 2020 (r359803) +++ head/sys/net/radix_mpath.c Sat Apr 11 09:38:45 2020 (r359804) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-head@freebsd.org Sat Apr 11 15:25:41 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 894B02BBE15; Sat, 11 Apr 2020 15:25:41 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zzGs35T7z3GvC; Sat, 11 Apr 2020 15:25:41 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6535A1A2BF; Sat, 11 Apr 2020 15:25:41 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03BFPfpR055455; Sat, 11 Apr 2020 15:25:41 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03BFPfXK055454; Sat, 11 Apr 2020 15:25:41 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004111525.03BFPfXK055454@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sat, 11 Apr 2020 15:25:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359805 - head/usr.sbin/gpioctl X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/usr.sbin/gpioctl X-SVN-Commit-Revision: 359805 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 15:25:41 -0000 Author: manu Date: Sat Apr 11 15:25:40 2020 New Revision: 359805 URL: https://svnweb.freebsd.org/changeset/base/359805 Log: gpioctl: Print interrupts capabilities GPIO drivers who supports interrupts report them in the caps (obtain via the getcaps method) but gpioctl doesn't know how to interpret this and print "UNKNOWN" for each one of them. Even if we don't have userland gpio interrupts support for now let gpioctl print the supported caps. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24133 Modified: head/usr.sbin/gpioctl/gpioctl.c Modified: head/usr.sbin/gpioctl/gpioctl.c ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.c Sat Apr 11 09:38:45 2020 (r359804) +++ head/usr.sbin/gpioctl/gpioctl.c Sat Apr 11 15:25:40 2020 (r359805) @@ -62,6 +62,11 @@ static struct flag_desc gpio_flags[] = { { "II", GPIO_PIN_INVIN }, { "IO", GPIO_PIN_INVOUT }, { "PULSE", GPIO_PIN_PULSATE }, + { "INTRLL", GPIO_INTR_LEVEL_LOW}, + { "INTRLH", GPIO_INTR_LEVEL_HIGH}, + { "INTRER", GPIO_INTR_EDGE_RISING}, + { "INTREF", GPIO_INTR_EDGE_FALLING}, + { "INTREB", GPIO_INTR_EDGE_BOTH}, { NULL, 0 }, }; From owner-svn-src-head@freebsd.org Sat Apr 11 15:52:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 643622BC6DE; Sat, 11 Apr 2020 15:52:08 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48zzsN0kWwz3JWZ; Sat, 11 Apr 2020 15:52:08 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 143AB1A851; Sat, 11 Apr 2020 15:52:08 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03BFq7ij073956; Sat, 11 Apr 2020 15:52:07 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03BFq7F5073955; Sat, 11 Apr 2020 15:52:07 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004111552.03BFq7F5073955@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sat, 11 Apr 2020 15:52:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359806 - head/sys/arm/ti/am335x X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/arm/ti/am335x X-SVN-Commit-Revision: 359806 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 15:52:08 -0000 Author: manu Date: Sat Apr 11 15:52:07 2020 New Revision: 359806 URL: https://svnweb.freebsd.org/changeset/base/359806 Log: arm: am335x: Honor pmic option ti,pmic-shutdown-controller Honor ti,pmic-shutdown-controller option in DTS Tested on stable r359316 @ Sleep mode on custom hw, Power off on BBB and PB OFF bit [1] in status register control the pmic behaviour when PWR_EN pin is pulled low. On most AM335x hardware [beaglebone *] the desired behaviour are in fact power off due to some hardware designs - read more in the comments around pmic in sys/gnu/dts/arm/am335x-bone-common.dtsi This patch let the device-tree decide with ti,pmic-shutdown-controller[2] the state of off bit in status register. [1] 8.6.12 table 12 http://www.ti.com/lit/ds/symlink/tps65217.pdf [2] Documentation/devicetree/bindings/regulator/tps65217.txt PR: 245159 Submitted by: Oskar Holmlund MFC after: 2 weeks Modified: head/sys/arm/ti/am335x/am335x_pmic.c Modified: head/sys/arm/ti/am335x/am335x_pmic.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_pmic.c Sat Apr 11 15:25:40 2020 (r359805) +++ head/sys/arm/ti/am335x/am335x_pmic.c Sat Apr 11 15:52:07 2020 (r359806) @@ -208,6 +208,7 @@ am335x_pmic_start(struct am335x_pmic_softc *sc) char name[20]; char pwr[4][11] = {"Battery", "USB", "AC", "USB and AC"}; int rv; + phandle_t node; dev = sc->sc_dev; am335x_pmic_read(dev, TPS65217_CHIPID_REG, (uint8_t *)&chipid_reg, 1); @@ -232,6 +233,16 @@ am335x_pmic_start(struct am335x_pmic_softc *sc) device_printf(dev, "%s powered by %s\n", name, pwr[status_reg.usbpwr | (status_reg.acpwr << 1)]); + /* Check devicetree for ti,pmic-shutdown-controller + * if present; PMIC will go to shutdown state on PWR_EN toggle + * if not present; PMIC will enter sleep state on PWR_EN toggle (default on reset) + */ + node = ofw_bus_get_node(dev); + if (OF_hasprop(node, "ti,pmic-shutdown-controller")) { + status_reg.off = 1; + am335x_pmic_write(dev, TPS65217_STATUS_REG, (uint8_t *)&status_reg, 1); + } + if (am335x_pmic_vo[0] != '\0') { for (vo = 0; vo < 4; vo++) { if (strcmp(tps65217_voreg_c[vo], am335x_pmic_vo) == 0) @@ -291,16 +302,9 @@ am335x_pmic_attach(device_t dev) static void am335x_pmic_shutdown(void *xdev, int howto) { - device_t dev; - struct tps65217_status_reg reg; - if (!(howto & RB_POWEROFF)) return; - dev = (device_t)xdev; - am335x_pmic_read(dev, TPS65217_STATUS_REG, (uint8_t *)®, 1); - /* Set the OFF bit on status register to start the shutdown sequence. */ - reg.off = 1; - am335x_pmic_write(dev, TPS65217_STATUS_REG, (uint8_t *)®, 1); + /* Toggle pmic_pwr_enable to shutdown the PMIC. */ am335x_rtc_pmic_pwr_toggle(); } From owner-svn-src-head@freebsd.org Sat Apr 11 17:30:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 859572BDFA2; Sat, 11 Apr 2020 17:30:34 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49022y32dFz3P11; Sat, 11 Apr 2020 17:30:34 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 639611B9B5; Sat, 11 Apr 2020 17:30:34 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03BHUYE4029862; Sat, 11 Apr 2020 17:30:34 GMT (envelope-from oshogbo@FreeBSD.org) Received: (from oshogbo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03BHUYZp029861; Sat, 11 Apr 2020 17:30:34 GMT (envelope-from oshogbo@FreeBSD.org) Message-Id: <202004111730.03BHUYZp029861@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: oshogbo set sender to oshogbo@FreeBSD.org using -f From: Mariusz Zaborski Date: Sat, 11 Apr 2020 17:30:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359807 - head/sbin/decryptcore X-SVN-Group: head X-SVN-Commit-Author: oshogbo X-SVN-Commit-Paths: head/sbin/decryptcore X-SVN-Commit-Revision: 359807 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 17:30:34 -0000 Author: oshogbo Date: Sat Apr 11 17:30:33 2020 New Revision: 359807 URL: https://svnweb.freebsd.org/changeset/base/359807 Log: decryptcore: load the nls data Load the nls data before the openssl will try to do it in the capability mode. On my machine the sa_ossl_private_decrypt is trying to do that. MFC after: 2 weeks Modified: head/sbin/decryptcore/decryptcore.c Modified: head/sbin/decryptcore/decryptcore.c ============================================================================== --- head/sbin/decryptcore/decryptcore.c Sat Apr 11 15:52:07 2020 (r359806) +++ head/sbin/decryptcore/decryptcore.c Sat Apr 11 17:30:33 2020 (r359807) @@ -170,6 +170,7 @@ decrypt(int ofd, const char *privkeyfile, const char * goto failed; } + caph_cache_catpages(); if (caph_enter() < 0) { pjdlog_errno(LOG_ERR, "Unable to enter capability mode"); goto failed; From owner-svn-src-head@freebsd.org Sat Apr 11 17:54:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E215C2BEC80; Sat, 11 Apr 2020 17:54:36 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4902Zh5YDvz3R51; Sat, 11 Apr 2020 17:54:36 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B95D61BF28; Sat, 11 Apr 2020 17:54:36 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03BHsaSr048280; Sat, 11 Apr 2020 17:54:36 GMT (envelope-from oshogbo@FreeBSD.org) Received: (from oshogbo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03BHsZnf048276; Sat, 11 Apr 2020 17:54:35 GMT (envelope-from oshogbo@FreeBSD.org) Message-Id: <202004111754.03BHsZnf048276@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: oshogbo set sender to oshogbo@FreeBSD.org using -f From: Mariusz Zaborski Date: Sat, 11 Apr 2020 17:54:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359808 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common X-SVN-Group: head X-SVN-Commit-Author: oshogbo X-SVN-Commit-Paths: in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common X-SVN-Commit-Revision: 359808 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 17:54:36 -0000 Author: oshogbo Date: Sat Apr 11 17:54:35 2020 New Revision: 359808 URL: https://svnweb.freebsd.org/changeset/base/359808 Log: zfs: Add option for forcible unmounting dataset while receiving snapshot. Currently when the dataset is in use we can't receive snapshots. zfs send test/1@asd | zfs recv -FM test/2 cannot unmount '/test/2': Device busy This commits add option 'M' which attempts to forcibly unmount the dataset. Thanks to this we can enforce receiving snapshots in a single step. Note that this functionality is not supported on Linux because the VFS will prevent active mounted filesystems from being unmounted, even with the force option. This is the intended VFS behavior. Discussed-with: Pawel Jakub Dawidek Reviewed-by: Ryan Moeller Reviewed-by: Brian Behlendorf Reviewed-by: Allan Jude Differential Revision: https://reviews.freebsd.org/D22306 openzfs/zfs@a57d3d45d6efdff935421e2ef3f97e3dc089d93d Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sat Apr 11 17:30:33 2020 (r359807) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sat Apr 11 17:54:35 2020 (r359808) @@ -32,7 +32,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 16, 2019 +.Dd February 16, 2020 .Dt ZFS 8 .Os .Sh NAME @@ -201,12 +201,12 @@ .Fl t Ar receive_resume_token .Nm .Cm receive Ns | Ns Cm recv -.Op Fl vnsFu +.Op Fl vnsFMu .Op Fl o Sy origin Ns = Ns Ar snapshot .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Nm .Cm receive Ns | Ns Cm recv -.Op Fl vnsFu +.Op Fl vnsFMu .Op Fl d | e .Op Fl o Sy origin Ns = Ns Ar snapshot .Ar filesystem @@ -2909,14 +2909,14 @@ for more details. .It Xo .Nm .Cm receive Ns | Ns Cm recv -.Op Fl vnsFu +.Op Fl vnsFMu .Op Fl o Sy origin Ns = Ns Ar snapshot .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Xc .It Xo .Nm .Cm receive Ns | Ns Cm recv -.Op Fl vnsFu +.Op Fl vnsFMu .Op Fl d | e .Op Fl o Sy origin Ns = Ns Ar snapshot .Ar filesystem @@ -3016,6 +3016,9 @@ performing the receive operation. If receiving an incr stream (for example, one generated by .Qq Nm Cm send Fl R Bro Fl i | Fl I Brc ) , destroy snapshots and file systems that do not exist on the sending side. +.It Fl M +Force an unmount of the file system while receiving a snapshot. +This option is not supported on Linux. .It Fl s If the receive is interrupted, save the partially received state, rather than deleting it. Interruption may be due to premature termination of Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Sat Apr 11 17:30:33 2020 (r359807) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Sat Apr 11 17:54:35 2020 (r359808) @@ -274,9 +274,9 @@ get_usage(zfs_help_t idx) case HELP_PROMOTE: return (gettext("\tpromote \n")); case HELP_RECEIVE: - return (gettext("\treceive|recv [-vnsFu] \n" - "\treceive|recv [-vnsFu] [-o origin=] [-d | -e] " + "\treceive|recv [-vnsFMu] [-o origin=] [-d | -e] " "\n" "\treceive|recv -A \n")); case HELP_RENAME: @@ -4078,7 +4078,7 @@ zfs_do_receive(int argc, char **argv) nomem(); /* check options */ - while ((c = getopt(argc, argv, ":o:denuvFsA")) != -1) { + while ((c = getopt(argc, argv, ":o:denuvMFsA")) != -1) { switch (c) { case 'o': if (parseprop(props, optarg) != 0) @@ -4105,6 +4105,9 @@ zfs_do_receive(int argc, char **argv) break; case 'F': flags.force = B_TRUE; + break; + case 'M': + flags.forceunmount = B_TRUE; break; case 'A': abort_resumable = B_TRUE; Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Sat Apr 11 17:30:33 2020 (r359807) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Sat Apr 11 17:54:35 2020 (r359808) @@ -737,6 +737,9 @@ typedef struct recvflags { /* do not mount file systems as they are extracted (private) */ boolean_t nomount; + + /* force unmount while recv snapshot (private) */ + boolean_t forceunmount; } recvflags_t; extern int zfs_receive(libzfs_handle_t *, const char *, nvlist_t *, Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Sat Apr 11 17:30:33 2020 (r359807) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Sat Apr 11 17:54:35 2020 (r359808) @@ -2913,7 +2913,8 @@ zfs_receive_package(libzfs_handle_t *hdl, int fd, cons ZFS_TYPE_FILESYSTEM); if (zhp != NULL) { clp = changelist_gather(zhp, - ZFS_PROP_MOUNTPOINT, 0, 0); + ZFS_PROP_MOUNTPOINT, 0, + flags->forceunmount ? MS_FORCE : 0); zfs_close(zhp); if (clp != NULL) { softerr |= @@ -3435,7 +3436,8 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const if (!flags->dryrun && zhp->zfs_type == ZFS_TYPE_FILESYSTEM && stream_wantsnewfs) { /* We can't do online recv in this case */ - clp = changelist_gather(zhp, ZFS_PROP_NAME, 0, 0); + clp = changelist_gather(zhp, ZFS_PROP_NAME, 0, + flags->forceunmount ? MS_FORCE : 0); if (clp == NULL) { zfs_close(zhp); zcmd_free_nvlists(&zc); @@ -3881,6 +3883,7 @@ zfs_receive(libzfs_handle_t *hdl, const char *tosnap, int cleanup_fd; uint64_t action_handle = 0; char *originsnap = NULL; + if (props) { err = nvlist_lookup_string(props, "origin", &originsnap); if (err && err != ENOENT) @@ -3902,7 +3905,8 @@ zfs_receive(libzfs_handle_t *hdl, const char *tosnap, zhp = zfs_open(hdl, top_zfs, ZFS_TYPE_FILESYSTEM); if (zhp != NULL) { clp = changelist_gather(zhp, ZFS_PROP_MOUNTPOINT, - CL_GATHER_MOUNT_ALWAYS, 0); + CL_GATHER_MOUNT_ALWAYS, + flags->forceunmount ? MS_FORCE : 0); zfs_close(zhp); if (clp != NULL) { /* mount and share received datasets */ From owner-svn-src-head@freebsd.org Sat Apr 11 20:02:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E44932799A3; Sat, 11 Apr 2020 20:02:22 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-ot1-f66.google.com (mail-ot1-f66.google.com [209.85.210.66]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4905Q65MWBz442r; Sat, 11 Apr 2020 20:02:22 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-ot1-f66.google.com with SMTP id a49so5188773otc.11; Sat, 11 Apr 2020 13:02:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc:content-transfer-encoding; bh=umHgy25HIDIH7JPjsCUgdpdTF0gGqHMI9wxKpEJFmMY=; b=ZNkhHEWwFbGkmxLOWgOsDdor/5PmkCyIbCPNDWd9A464E/Zfy+1ZcWKOwSnxvRbYL9 /FamiLOhCLML9gaQGoNUpeUcK3f+UzyA1moaZ5xzhWc/ovys0fiTG9rBt1kLqEkJaEg2 6FGAzWkCyt83SbbP5xmVLqLFyNv38mgfloUbwGumDmdRUhnp/02Rg8svOiWofhpcoWAv Y5TKjmsVqGfAqjarq86JVYwrrdyrNoKAacQNlPt6nsT4K2yIbN5/D3oY5rLypyCRqdmA CydBVndUYXsu1JH42fXGaCfTCdbSQgejYyamCKjNumDSs9D2Y4yO8lsT2FjX0YBeLvfG mh5g== X-Gm-Message-State: AGi0PuaLZQFRr/KDmNiktgbQgJK+INWA2HABD5MYnz0Oek3jBaRu9BBr 1qXIVPm2iCM05dAsu+BduGpTBJer X-Google-Smtp-Source: APiQypI4VW3Zr9J+Kb+4gN4YvTyOcyc8CwKI82cCr9dNPqFZUPlWNNwFoCS8XFg9qrIWQbZXV2dtSA== X-Received: by 2002:a05:6830:1e10:: with SMTP id s16mr8602883otr.222.1586635341274; Sat, 11 Apr 2020 13:02:21 -0700 (PDT) Received: from mail-ot1-f41.google.com (mail-ot1-f41.google.com. [209.85.210.41]) by smtp.gmail.com with ESMTPSA id x82sm3403313oig.55.2020.04.11.13.02.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 Apr 2020 13:02:21 -0700 (PDT) Received: by mail-ot1-f41.google.com with SMTP id m2so5252833otr.1; Sat, 11 Apr 2020 13:02:21 -0700 (PDT) X-Received: by 2002:a4a:c3c9:: with SMTP id e9mr1797960ooq.51.1586635340731; Sat, 11 Apr 2020 13:02:20 -0700 (PDT) MIME-Version: 1.0 References: <202004110737.03B7b8cS067986@repo.freebsd.org> In-Reply-To: <202004110737.03B7b8cS067986@repo.freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sat, 11 Apr 2020 13:02:10 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359797 - in head/sys: net netinet netinet6 To: "Alexander V. Chernikov" Cc: svn-src-all , svn-src-head , src-committers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4905Q65MWBz442r X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 20:02:23 -0000 Hi Alexander, On Sat, Apr 11, 2020 at 12:37 AM Alexander V. Chernikov wrote: > > Author: melifaro > Date: Sat Apr 11 07:37:08 2020 > New Revision: 359797 > URL: https://svnweb.freebsd.org/changeset/base/359797 > > Log: > Remove per-AF radix_mpath initializtion functions. > > Split their functionality by moving random seed allocation > to SYSINIT and calling (new) generic multipath function from > standard IPv4/IPv5 RIB init handlers. > ... > --- head/sys/net/radix_mpath.c Sat Apr 11 07:31:16 2020 (r359796) > +++ head/sys/net/radix_mpath.c Sat Apr 11 07:37:08 2020 (r359797) > @@ -290,38 +290,18 @@ rtalloc_mpath_fib(struct route *ro, uint32_t hash, = u_i > ... > +static void > +mpath_init(void) > { > - struct rib_head *rnh; > > hashjitter =3D arc4random(); > - if (in6_inithead(head, off, fibnum) =3D=3D 1) { > - rnh =3D (struct rib_head *)*head; > - rnh->rnh_multipath =3D 1; > - return 1; > - } else > - return 0; > } > +SYSINIT(mpath_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, mpath_init, NULL)= ; This is pretty early in boot to be asking for random numbers. We don't have interrupts yet, for example. If the system doesn't have a saved /boot/entropy loaded (PPC, or installer, or some other embedded system perhaps), we will either deadlock boot or get not especially random numbers here (depending on availability behavior of arc4random =E2=80=94 currently we err on the side of low quality random numbers). If this number is predictable to an attacker, is it easier to DoS the system? Do we need the random number before userspace starts? (I would imagine networking does not really start chatting with remote hosts prior to userspace boot, but this is just a guess.) Best, Conrad From owner-svn-src-head@freebsd.org Sat Apr 11 20:36:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 721A027A319; Sat, 11 Apr 2020 20:36:55 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49069z2Pqpz45Gr; Sat, 11 Apr 2020 20:36:55 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 496D01DDB9; Sat, 11 Apr 2020 20:36:55 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03BKat4a047228; Sat, 11 Apr 2020 20:36:55 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03BKatfm047227; Sat, 11 Apr 2020 20:36:55 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202004112036.03BKatfm047227@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sat, 11 Apr 2020 20:36:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359809 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359809 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 20:36:55 -0000 Author: tuexen Date: Sat Apr 11 20:36:54 2020 New Revision: 359809 URL: https://svnweb.freebsd.org/changeset/base/359809 Log: Zero out pointers for consistency. This was found by running syzkaller on an INVARIANTS kernel. MFC after: 3 days Modified: head/sys/netinet/sctp_output.c Modified: head/sys/netinet/sctp_output.c ============================================================================== --- head/sys/netinet/sctp_output.c Sat Apr 11 17:54:35 2020 (r359808) +++ head/sys/netinet/sctp_output.c Sat Apr 11 20:36:54 2020 (r359809) @@ -12275,6 +12275,8 @@ sctp_send_str_reset_req(struct sctp_tcb *stcb, /* now anything on those queues? */ TAILQ_FOREACH_SAFE(sp, &oldstream[i].outqueue, next, nsp) { TAILQ_REMOVE(&oldstream[i].outqueue, sp, next); + sp->ss_next.tqe_next = NULL; + sp->ss_next.tqe_prev = NULL; TAILQ_INSERT_TAIL(&stcb->asoc.strmout[i].outqueue, sp, next); } From owner-svn-src-head@freebsd.org Sat Apr 11 20:45:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3B54527A834; Sat, 11 Apr 2020 20:45:46 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward500j.mail.yandex.net (forward500j.mail.yandex.net [5.45.198.250]) (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 4906N96Cjnz45pP; Sat, 11 Apr 2020 20:45:45 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback22g.mail.yandex.net (mxback22g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:322]) by forward500j.mail.yandex.net (Yandex) with ESMTP id 587AE11C2166; Sat, 11 Apr 2020 23:45:42 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback22g.mail.yandex.net (mxback/Yandex) with ESMTP id ZCXOxUhjsq-jfhmbsbA; Sat, 11 Apr 2020 23:45:41 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1586637941; bh=8RuWnKBM570O+3jf6FgwaRlHXB1hdQwBdYypGG69ELI=; h=Message-Id:Cc:Subject:In-Reply-To:Date:References:To:From; b=XA5OWbicQi7GgNvN837OnrMicWSJk/TTxXx//szLgRfleCRPOHnp+UBhBSge//Vz+ xWFob2EAhNfsQMiPQd+OrXmjdtPM+451a7W+aZgZzW5M9gy3kPTbgdO5aFxqOHeiP3 GwkQlK2VrH7gho9hCJJe2emUKLg0MuvxTTLUclyI= Received: by sas2-2d551da8e887.qloud-c.yandex.net with HTTP; Sat, 11 Apr 2020 23:45:41 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: "cem@freebsd.org" Cc: svn-src-all , svn-src-head , src-committers In-Reply-To: References: <202004110737.03B7b8cS067986@repo.freebsd.org> Subject: Re: svn commit: r359797 - in head/sys: net netinet netinet6 MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sat, 11 Apr 2020 21:45:41 +0100 Message-Id: <6140881586636906@vla5-dcf36e533bf7.qloud-c.yandex.net> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 4906N96Cjnz45pP X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 20:45:46 -0000 11.04.2020, 21:02, "Conrad Meyer" : > Hi Alexander, Hi Conrad, > > On Sat, Apr 11, 2020 at 12:37 AM Alexander V. Chernikov > wrote: >>  Author: melifaro >>  Date: Sat Apr 11 07:37:08 2020 >>  New Revision: 359797 >>  URL: https://svnweb.freebsd.org/changeset/base/359797 >> >>  Log: >>    Remove per-AF radix_mpath initializtion functions. >> >>    Split their functionality by moving random seed allocation >>     to SYSINIT and calling (new) generic multipath function from >>     standard IPv4/IPv5 RIB init handlers. >>  ... >>  --- head/sys/net/radix_mpath.c Sat Apr 11 07:31:16 2020 (r359796) >>  +++ head/sys/net/radix_mpath.c Sat Apr 11 07:37:08 2020 (r359797) >>  @@ -290,38 +290,18 @@ rtalloc_mpath_fib(struct route *ro, uint32_t hash, u_i >>  ... >>  +static void >>  +mpath_init(void) >>   { >>  - struct rib_head *rnh; >> >>          hashjitter = arc4random(); >>  - if (in6_inithead(head, off, fibnum) == 1) { >>  - rnh = (struct rib_head *)*head; >>  - rnh->rnh_multipath = 1; >>  - return 1; >>  - } else >>  - return 0; >>   } >>  +SYSINIT(mpath_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, mpath_init, NULL); > > This is pretty early in boot to be asking for random numbers. We > don't have interrupts yet, for example. If the system doesn't have a > saved /boot/entropy loaded (PPC, or installer, or some other embedded > system perhaps), we will either deadlock boot or get not especially > random numbers here (depending on availability behavior of arc4random > — currently we err on the side of low quality random numbers). Got it, that's a good datapoint! > > If this number is predictable to an attacker, is it easier to DoS the > system? Do we need the random number before userspace starts? (I > would imagine networking does not really start chatting with remote > hosts prior to userspace boot, but this is just a guess.) This number only affects selection of the outbound path in presence of multiple paths available for the same prefix. It means to mitigate hash polarization in the network ( https://www.cisco.com/c/en/us/support/docs/ip/express-forwarding-cef/116376-technote-cef-00.html contains somewhat relevant description). I don't think it that knowing the number make DoSing of the particular system easier. However, better quality randomness is always good. Speaking of "when" it is needed - you're right, it is needed pretty late in the boot process, after the userland starts. Will moving the order to SI_SUB_LAST help or I need to trigger number generation by different means? > > Best, > Conrad From owner-svn-src-head@freebsd.org Sat Apr 11 20:57:16 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D3C9B27ABF4; Sat, 11 Apr 2020 20:57:16 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4906dS5DZVz46YH; Sat, 11 Apr 2020 20:57:16 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AA8D41E179; Sat, 11 Apr 2020 20:57:16 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03BKvGGa059759; Sat, 11 Apr 2020 20:57:16 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03BKvFkJ059754; Sat, 11 Apr 2020 20:57:15 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004112057.03BKvFkJ059754@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 11 Apr 2020 20:57:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359810 - in head/sys/fs: nfs nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 359810 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 20:57:16 -0000 Author: rmacklem Date: Sat Apr 11 20:57:15 2020 New Revision: 359810 URL: https://svnweb.freebsd.org/changeset/base/359810 Log: Replace mbuf macros with the code they would generate in the NFS code. When the code was ported to Mac OS/X, mbuf handling functions were converted to using the Mac OS/X accessor functions. For FreeBSD, they are a simple set of macros in sys/fs/nfs/nfskpiport.h. Since porting to Mac OS/X is no longer a consideration, replacement of these macros with the code generated by them makes the code more readable. When support for external page mbufs is added as needed by the KERN_TLS, the patch becomes simpler if done without the macros. This patch should not result in any semantic change. Modified: head/sys/fs/nfs/nfs_commonkrpc.c head/sys/fs/nfs/nfsm_subs.h head/sys/fs/nfsserver/nfs_nfsdcache.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdstate.c Modified: head/sys/fs/nfs/nfs_commonkrpc.c ============================================================================== --- head/sys/fs/nfs/nfs_commonkrpc.c Sat Apr 11 20:36:54 2020 (r359809) +++ head/sys/fs/nfs/nfs_commonkrpc.c Sat Apr 11 20:57:15 2020 (r359810) @@ -1188,8 +1188,8 @@ tryagain: newnfs_restore_sigmask(td, &oldset); return (0); nfsmout: - mbuf_freem(nd->nd_mrep); - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mrep); + m_freem(nd->nd_mreq); if (usegssname == 0) AUTH_DESTROY(auth); if (rep != NULL) Modified: head/sys/fs/nfs/nfsm_subs.h ============================================================================== --- head/sys/fs/nfs/nfsm_subs.h Sat Apr 11 20:36:54 2020 (r359809) +++ head/sys/fs/nfs/nfsm_subs.h Sat Apr 11 20:57:15 2020 (r359810) @@ -68,8 +68,8 @@ nfsm_build(struct nfsrv_descript *nd, int siz) NFSMCLGET(mb2, M_NOWAIT); if (siz > MLEN) panic("build > MLEN"); - mbuf_setlen(mb2, 0); - nd->nd_bpos = NFSMTOD(mb2, caddr_t); + mb2->m_len = 0; + nd->nd_bpos = mtod(mb2, caddr_t); nd->nd_mb->m_next = mb2; nd->nd_mb = mb2; } @@ -87,7 +87,7 @@ nfsm_dissect(struct nfsrv_descript *nd, int siz) int tt1; void *retp; - tt1 = NFSMTOD(nd->nd_md, caddr_t) + nd->nd_md->m_len - nd->nd_dpos; + tt1 = mtod(nd->nd_md, caddr_t) + nd->nd_md->m_len - nd->nd_dpos; if (tt1 >= siz) { retp = (void *)nd->nd_dpos; nd->nd_dpos += siz; @@ -103,7 +103,7 @@ nfsm_dissect_nonblock(struct nfsrv_descript *nd, int s int tt1; void *retp; - tt1 = NFSMTOD(nd->nd_md, caddr_t) + nd->nd_md->m_len - nd->nd_dpos; + tt1 = mtod(nd->nd_md, caddr_t) + nd->nd_md->m_len - nd->nd_dpos; if (tt1 >= siz) { retp = (void *)nd->nd_dpos; nd->nd_dpos += siz; Modified: head/sys/fs/nfsserver/nfs_nfsdcache.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdcache.c Sat Apr 11 20:36:54 2020 (r359809) +++ head/sys/fs/nfsserver/nfs_nfsdcache.c Sat Apr 11 20:57:15 2020 (r359810) @@ -486,7 +486,7 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) mtx_unlock(mutex); nd->nd_repstat = 0; if (nd->nd_mreq) - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mreq); if (!(rp->rc_flag & RC_REPMBUF)) panic("reply from cache"); nd->nd_mreq = m_copym(rp->rc_reply, 0, @@ -798,7 +798,7 @@ nfsrc_freecache(struct nfsrvcache *rp) } nfsrc_wanted(rp); if (rp->rc_flag & RC_REPMBUF) { - mbuf_freem(rp->rc_reply); + m_freem(rp->rc_reply); if (!(rp->rc_flag & RC_UDP)) atomic_add_int(&nfsrc_tcpsavedreplies, -1); } @@ -1020,8 +1020,8 @@ nfsrc_getlenandcksum(mbuf_t m1, u_int16_t *cksum) m = m1; while (m) { - len += mbuf_len(m); - m = mbuf_next(m); + len += m->m_len; + m = m->m_next; } cklen = (len > NFSRVCACHE_CHECKLEN) ? NFSRVCACHE_CHECKLEN : len; *cksum = in_cksum(m1, cklen); Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Apr 11 20:36:54 2020 (r359809) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Apr 11 20:57:15 2020 (r359810) @@ -903,18 +903,18 @@ nfsrv_createiovecw(int retlen, struct mbuf *m, char *c cnt = 0; len = retlen; mp = m; - i = mtod(mp, caddr_t) + mbuf_len(mp) - cp; + i = mtod(mp, caddr_t) + mp->m_len - cp; while (len > 0) { if (i > 0) { len -= i; cnt++; } - mp = mbuf_next(mp); + mp = mp->m_next; if (!mp) { if (len > 0) return (EBADRPC); } else - i = mbuf_len(mp); + i = mp->m_len; } /* Now, create the iovec. */ Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Apr 11 20:36:54 2020 (r359809) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Apr 11 20:57:15 2020 (r359810) @@ -692,9 +692,9 @@ nfsrvd_readlink(struct nfsrv_descript *nd, __unused in goto out; NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(len); - mbuf_setnext(nd->nd_mb, mp); + nd->nd_mb->m_next = mp; nd->nd_mb = mpend; - nd->nd_bpos = NFSMTOD(mpend, caddr_t) + mbuf_len(mpend); + nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; out: NFSEXITCODE2(0, nd); @@ -849,7 +849,7 @@ nfsrvd_read(struct nfsrv_descript *nd, __unused int is if (nd->nd_repstat) { vput(vp); if (m3) - mbuf_freem(m3); + m_freem(m3); if (nd->nd_flag & ND_NFSV3) nfsrv_postopattr(nd, getret, &nva); goto out; @@ -873,9 +873,9 @@ nfsrvd_read(struct nfsrv_descript *nd, __unused int is } *tl = txdr_unsigned(cnt); if (m3) { - mbuf_setnext(nd->nd_mb, m3); + nd->nd_mb->m_next = m3; nd->nd_mb = m2; - nd->nd_bpos = NFSMTOD(m2, caddr_t) + mbuf_len(m2); + nd->nd_bpos = mtod(m2, caddr_t) + m2->m_len; } out: @@ -5564,9 +5564,9 @@ nfsrvd_getxattr(struct nfsrv_descript *nd, __unused in if (nd->nd_repstat == 0) { NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(len); - mbuf_setnext(nd->nd_mb, mp); + nd->nd_mb->m_next = mp; nd->nd_mb = mpend; - nd->nd_bpos = NFSMTOD(mpend, caddr_t) + mbuf_len(mpend); + nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; } free(name, M_TEMP); Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Apr 11 20:36:54 2020 (r359809) +++ head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Apr 11 20:57:15 2020 (r359810) @@ -4468,9 +4468,9 @@ nfsrv_docallback(struct nfsclient *clp, int procnum, n * Get the first mbuf for the request. */ MGET(m, M_WAITOK, MT_DATA); - mbuf_setlen(m, 0); + m->m_len = 0; nd->nd_mreq = nd->nd_mb = m; - nd->nd_bpos = NFSMTOD(m, caddr_t); + nd->nd_bpos = mtod(m, caddr_t); /* * and build the callback request. @@ -4480,7 +4480,7 @@ nfsrv_docallback(struct nfsclient *clp, int procnum, n error = nfsrv_cbcallargs(nd, clp, callback, NFSV4OP_CBGETATTR, "CB Getattr", &sep); if (error != 0) { - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mreq); goto errout; } (void)nfsm_fhtom(nd, (u_int8_t *)fhp, NFSX_MYFH, 0); @@ -4490,7 +4490,7 @@ nfsrv_docallback(struct nfsclient *clp, int procnum, n error = nfsrv_cbcallargs(nd, clp, callback, NFSV4OP_CBRECALL, "CB Recall", &sep); if (error != 0) { - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mreq); goto errout; } NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED + NFSX_STATEID); @@ -4510,7 +4510,7 @@ nfsrv_docallback(struct nfsclient *clp, int procnum, n NFSV4OP_CBLAYOUTRECALL, "CB Reclayout", &sep); NFSD_DEBUG(4, "aft cbcallargs=%d\n", error); if (error != 0) { - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mreq); goto errout; } NFSM_BUILD(tl, u_int32_t *, 4 * NFSX_UNSIGNED); @@ -4536,13 +4536,13 @@ nfsrv_docallback(struct nfsclient *clp, int procnum, n if ((clp->lc_flags & LCL_NFSV41) != 0) { error = nfsv4_getcbsession(clp, &sep); if (error != 0) { - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mreq); goto errout; } } } else { error = NFSERR_SERVERFAULT; - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mreq); goto errout; } @@ -4626,7 +4626,7 @@ errout: error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, p, NULL); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); } NFSLOCKSTATE(); clp->lc_cbref--; From owner-svn-src-head@freebsd.org Sat Apr 11 20:58:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6826A27AD03 for ; Sat, 11 Apr 2020 20:58:46 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound2k.ore.mailhop.org (outbound2k.ore.mailhop.org [54.148.219.64]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4906g96kPsz46mF for ; Sat, 11 Apr 2020 20:58:45 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1586638723; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=hBGcKo2DVSInrXyNMKUVpT9l0xEv7p28LTvwulMPfpquF0f6A8/xjG05ucIxrSOnZiW6Wv73Gx1xo LRkl3P/HCSrUhEEQkssN4trH6bVCfqN0fi4JJ/VJXHK4rsO238Dhiq9pOdAv7oCGLXERmBO2wvuHqG fXvVwO1d8m7ZhlsDXiNPBHiRDaJwl3AHtXNYEV3fCPBvzudNUgvBq4z8aCu4dP4mx96k4Cj8Dxitn/ VJV+C2tbX7Iiz15sNOVko/ydGQ5NwQms2wqfRwCoRI1SWH9oWkBzOiCN6zq2gYyXNeizeP/I1ybzFF 96eK03oaALXVEIA5C0b0raovwn0vMzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=osfFxKekFYqNYlwZwQtVe4mhRHeLyOdhwc8FBs4Ldo8=; b=sbgYrMiy6++3NSOLE4m4DUV+z9CP76n6sWkatcJaeX2XE6zzfAJYGDe4gJoTdPeyQWl/1x/Gkk4ho 9v4i5zW/XVqjKPFE6QTVqxZwIbPYIllLWcYUGjsmleGZti1ztCS3uT78wtGp7DBxR+D4NmATzCUTuw Sl+t9ji3Y2IAw3nBCTpQHMZT6PUKtS13oinUTicQGSU7jspc5Xqdovv9QSwihSN82z5VuoUdDsidkZ Th6v+5mis5gxnR3KQIMESUFHxg5BeBaGaniyU176W6ni2JqrAO2Aru9FlroH8pDK3zR8eZYdRG9ddN K6EJqaH0JOtRYsj0N8HzyOG3RLn5KDA== ARC-Authentication-Results: i=1; outbound4.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=osfFxKekFYqNYlwZwQtVe4mhRHeLyOdhwc8FBs4Ldo8=; b=gYaxv6N0vI4jD1XlLOf0UzeOwJE1d8/oq7oheLwtpnC2uvpEU67uCOm7Z+KtwE1XltBE8PCT+TaSN AhgxkQYuJDjzvXljfG/m8p02uoDn0umYGb0TnOzlN6yv/MAmlNrxrgDMQuUZIosqevgh8U0EkpHA0/ PfdwGSljqjjDPPdO/fmV3JeBSeoXjOabUXaMBIVYXZ0MM+z8JZ2dMmobuBKo2MnzkRpm4LR4IBJEUb 294WjsZ8ia8pv0dXiUKxsBsdtBjQf206RY/jG7Jo7FZ/HrxI12w7LSQWGcAyUjmZ6E6uh4wfzYP2yO OXZft05NrKa9j+NJrmaPmkpweV+UPoQ== X-MHO-RoutePath: aGlwcGll X-MHO-User: 394bb528-7c37-11ea-a065-6d02e42e573a X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound4.ore.mailhop.org (Halon) with ESMTPSA id 394bb528-7c37-11ea-a065-6d02e42e573a; Sat, 11 Apr 2020 20:58:42 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 03BKwfo3055700; Sat, 11 Apr 2020 14:58:41 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <5667a66b22e18893a4d7de58f0e0fd3084a6e0f7.camel@freebsd.org> Subject: Re: svn commit: r359797 - in head/sys: net netinet netinet6 From: Ian Lepore To: cem@freebsd.org, "Alexander V. Chernikov" Cc: svn-src-all , svn-src-head , src-committers Date: Sat, 11 Apr 2020 14:58:41 -0600 In-Reply-To: References: <202004110737.03B7b8cS067986@repo.freebsd.org> Content-Type: text/plain; charset="windows-1251" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4906g96kPsz46mF X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.94 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.97)[-0.971,0]; ASN(0.00)[asn:16509, ipnet:54.148.0.0/15, country:US]; NEURAL_HAM_LONG(-0.97)[-0.968,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 20:58:46 -0000 On Sat, 2020-04-11 at 13:02 -0700, Conrad Meyer wrote: > Hi Alexander, > > On Sat, Apr 11, 2020 at 12:37 AM Alexander V. Chernikov > wrote: > > > > Author: melifaro > > Date: Sat Apr 11 07:37:08 2020 > > New Revision: 359797 > > URL: https://svnweb.freebsd.org/changeset/base/359797 > > > > Log: > > Remove per-AF radix_mpath initializtion functions. > > > > Split their functionality by moving random seed allocation > > to SYSINIT and calling (new) generic multipath function from > > standard IPv4/IPv5 RIB init handlers. > > ... > > --- head/sys/net/radix_mpath.c Sat Apr 11 07:31:16 > > 2020 (r359796) > > +++ head/sys/net/radix_mpath.c Sat Apr 11 07:37:08 > > 2020 (r359797) > > @@ -290,38 +290,18 @@ rtalloc_mpath_fib(struct route *ro, uint32_t > > hash, u_i > > ... > > +static void > > +mpath_init(void) > > { > > - struct rib_head *rnh; > > > > hashjitter = arc4random(); > > - if (in6_inithead(head, off, fibnum) == 1) { > > - rnh = (struct rib_head *)*head; > > - rnh->rnh_multipath = 1; > > - return 1; > > - } else > > - return 0; > > } > > +SYSINIT(mpath_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, mpath_init, > > NULL); > > This is pretty early in boot to be asking for random numbers. We > don't have interrupts yet, for example. If the system doesn't have a > saved /boot/entropy loaded (PPC, or installer, or some other embedded > system perhaps), we will either deadlock boot or get not especially > random numbers here (depending on availability behavior of arc4random > — currently we err on the side of low quality random numbers). > > If this number is predictable to an attacker, is it easier to DoS the > system? Do we need the random number before userspace starts? (I > would imagine networking does not really start chatting with remote > hosts prior to userspace boot, but this is just a guess.) > > Best, > Conrad > I believe the earliest use of networking during boot is for mounting the rootfs using nfs. So SI_SUB_ROOT_CONF-1 might be good. -- Ian From owner-svn-src-head@freebsd.org Sat Apr 11 21:28:33 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AD59027BC9A; Sat, 11 Apr 2020 21:28:33 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4907KY3wQTz48Nw; Sat, 11 Apr 2020 21:28:33 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oi1-f174.google.com with SMTP id j16so4391589oih.10; Sat, 11 Apr 2020 14:28:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc:content-transfer-encoding; bh=HWm3WWZhQsoLI1ug9TCNPIYiX4bS2XQR4bO11hFj/1Q=; b=Zh3a01EE/5bo7M6o5Y8kEM5hJGz8Wgz9NfTwDMRyVVrlGWh9VriiQA3pWpOFtB7XBA au+gyw1cnOD0XoZ8KoWc38FJGtN+5Hbwjxip9dn7VWus20FXbNDrcovukTeAkYOi7tGL cf0jUzhPajEBdORQgGQ0y1jjwu09YTXzg1CPFMTHPxJJDjLuGkSWwF43ri9+8YU+NO3t NlypWKmxTvDO43JCrCjdgQztEXO5UwCyz9fs770wBS5AAId+CaTHtXcHvYtBpAQWfzAs Q4udONdktQ7+ddTYIULVcPD8EJpDzfjx4ZBjOO7KnvHAFslzCAbyeG3AkkDvcID522ZT Yh5g== X-Gm-Message-State: AGi0PubPoLGTtw5HCstxbEsQPx3rO8JNfQQcZVT+Ry3S2Mh9FIORQ6G7 dNmXNZIpjRYMOIzVidmYKjeZ6nTS X-Google-Smtp-Source: APiQypJorn/kqRca7fka56b+vd1efeghFVXHVRJdDJtZeZywgeX6I+YArreyAnp7zxB3mnbBQvs0XA== X-Received: by 2002:a54:481a:: with SMTP id j26mr7533899oij.172.1586640512163; Sat, 11 Apr 2020 14:28:32 -0700 (PDT) Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com. [209.85.210.49]) by smtp.gmail.com with ESMTPSA id q12sm3308753otn.43.2020.04.11.14.28.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 Apr 2020 14:28:31 -0700 (PDT) Received: by mail-ot1-f49.google.com with SMTP id i27so2466553ota.7; Sat, 11 Apr 2020 14:28:31 -0700 (PDT) X-Received: by 2002:a9d:6d98:: with SMTP id x24mr7690273otp.157.1586640511710; Sat, 11 Apr 2020 14:28:31 -0700 (PDT) MIME-Version: 1.0 References: <202004110737.03B7b8cS067986@repo.freebsd.org> <6140881586636906@vla5-dcf36e533bf7.qloud-c.yandex.net> In-Reply-To: <6140881586636906@vla5-dcf36e533bf7.qloud-c.yandex.net> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sat, 11 Apr 2020 14:28:20 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359797 - in head/sys: net netinet netinet6 To: "Alexander V. Chernikov" Cc: svn-src-all , svn-src-head , src-committers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4907KY3wQTz48Nw X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 21:28:33 -0000 On Sat, Apr 11, 2020 at 1:45 PM Alexander V. Chernikov wrote: > This number only affects selection of the outbound path in presence of mu= ltiple paths available for the same prefix. It means to mitigate hash polar= ization in the network ( https://www.cisco.com/c/en/us/support/docs/ip/expr= ess-forwarding-cef/116376-technote-cef-00.html contains somewhat relevant d= escription). > I don't think it that knowing the number make DoSing of the particular sy= stem easier. Thanks! Does it need to be stable over time, or would it be acceptable to be updated at some point? > However, better quality randomness is always good. > Speaking of "when" it is needed - you're right, it is needed pretty late = in the boot process, after the userland starts. > Will moving the order to SI_SUB_LAST help or I need to trigger number gen= eration by different means? SI_SUB_LAST is better, sure. If you want to ensure you eventually get a random number, and changing the number at runtime is acceptable, you could have userspace induce seeding. But maybe that is unnecessarily complex. Typical x86 systems using loader will have good entropy available already at this point, outside of the installer or if there is /boot corruption. (It sounds like this application would be fine with not really random numbers, at least early in boot. We don't have a great API for that need today, unfortunately.) Cheers, Conrad From owner-svn-src-head@freebsd.org Sat Apr 11 21:36:03 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 606B827C13D; Sat, 11 Apr 2020 21:36:03 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4907VC1qFhz48vQ; Sat, 11 Apr 2020 21:36:03 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-ot1-f42.google.com with SMTP id g23so5388802otq.4; Sat, 11 Apr 2020 14:36:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=t1SjdzkJVOBSJ3s/H7n5P8GILnXw0KODv8RQ6TtRUPM=; b=KY8Fyj0UJXmlOGWwVBYyVV1/7/em4q++qa/fXH820tuxe4D985s3PvmVi4iprvCPbI ap0ymR03DPRxHAiq3J9cHNMMD/dVFQa4PNOnPSAyXxfLt+DaTKUXALDfEWe3Wy7jvpSr Vg6ViCfSt8DYpcd13K0RlSWbQ++N3xDDWiwwdonJSn8vwrif8auqRNlJsi8A+TeJW8yL pvmXusfs9+4cOWcH79cAICVg3MAHhccmD4bvJz62gmmOa3QwC665o0Jx4QVlgfN/Bdvi TrKQyQax414Zb9y5aR8u0kv+HQQpbOXuZGC/cLsvOIrDjbESYyg6cFTewNgYknRxHzLe s34g== X-Gm-Message-State: AGi0PuYrWRTKY2ZtqpRb4QFjCbUnItctwY85WwxDCiRyeoOB4koYW8Af RkQJi7SxDgXUkLvwiarnUHhte59e X-Google-Smtp-Source: APiQypKkl4/81azWLzJdYOhYYBY4E+KnccgoWrOrsV/0t3+0k5rKLO2AOTXjy49Q7GWOl9C/m8YQTA== X-Received: by 2002:a9d:5e0d:: with SMTP id d13mr9292889oti.162.1586640961977; Sat, 11 Apr 2020 14:36:01 -0700 (PDT) Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com. [209.85.210.50]) by smtp.gmail.com with ESMTPSA id g1sm3318737otr.37.2020.04.11.14.36.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 Apr 2020 14:36:01 -0700 (PDT) Received: by mail-ot1-f50.google.com with SMTP id a49so5342888otc.11; Sat, 11 Apr 2020 14:36:01 -0700 (PDT) X-Received: by 2002:a4a:848e:: with SMTP id n14mr6329543oog.44.1586640961487; Sat, 11 Apr 2020 14:36:01 -0700 (PDT) MIME-Version: 1.0 References: <202004112036.03BKatfm047227@repo.freebsd.org> In-Reply-To: <202004112036.03BKatfm047227@repo.freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sat, 11 Apr 2020 14:35:50 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359809 - head/sys/netinet To: Michael Tuexen Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4907VC1qFhz48vQ X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 21:36:03 -0000 Hi Michael, On Sat, Apr 11, 2020 at 1:37 PM Michael Tuexen wrote: > > Author: tuexen > Date: Sat Apr 11 20:36:54 2020 > New Revision: 359809 > URL: https://svnweb.freebsd.org/changeset/base/359809 > > Log: > Zero out pointers for consistency. > > This was found by running syzkaller on an INVARIANTS kernel. For consistency? If syzkaller found something due to INVARIANTS sys/queue.h debugging trashing the pointer values, masking them by writing zeroes doesn't help. Generally, defeating the kernel's INVARIANTS system is not wise or useful. In this use, consider using 'TAILQ_CONCAT(&stcb->asoc.strmout[i].outqueue, &oldstream[i].outqueue, next)' instead of the loop construct. Conrad From owner-svn-src-head@freebsd.org Sat Apr 11 22:23:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 560F027D5D9; Sat, 11 Apr 2020 22:23:37 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward500o.mail.yandex.net (forward500o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::610]) (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 4908Y46wgfz4CQb; Sat, 11 Apr 2020 22:23:36 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback25o.mail.yandex.net (mxback25o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::76]) by forward500o.mail.yandex.net (Yandex) with ESMTP id D51766030D; Sun, 12 Apr 2020 01:23:32 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback25o.mail.yandex.net (mxback/Yandex) with ESMTP id a2kras6fg0-NWaKIAge; Sun, 12 Apr 2020 01:23:32 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1586643812; bh=4w9v8pCLScXumRK5Ey8m4O+bVSB4FA9YV/oSlBlmBtE=; h=Message-Id:Cc:Subject:In-Reply-To:Date:References:To:From; b=p93VXC/Ug/0tCpYGtbKOvlMSgsNp6bajKNOfmmZgA5ogEOE1nDJtbg1I8ORb0AJ1e +B3vqX6bEnxKK5EUqhftKPlkXAvC6bx3yBRdXjJ60MbkhutM/lCEGFFf16xcmn/++F QzeZvietxIFHn3MqfHoN95duct4/XEZ53pnxNkbc= Received: by myt6-887fb48a9c29.qloud-c.yandex.net with HTTP; Sun, 12 Apr 2020 01:23:32 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: "cem@freebsd.org" Cc: svn-src-all , svn-src-head , src-committers In-Reply-To: References: <202004110737.03B7b8cS067986@repo.freebsd.org> <6140881586636906@vla5-dcf36e533bf7.qloud-c.yandex.net> Subject: Re: svn commit: r359797 - in head/sys: net netinet netinet6 MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sat, 11 Apr 2020 23:23:32 +0100 Message-Id: <6191651586642867@vla5-4a37cde0b550.qloud-c.yandex.net> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 4908Y46wgfz4CQb X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 22:23:37 -0000 11.04.2020, 22:28, "Conrad Meyer" : > On Sat, Apr 11, 2020 at 1:45 PM Alexander V. Chernikov > wrote: >>  This number only affects selection of the outbound path in presence of multiple paths available for the same prefix. It means to mitigate hash polarization in the network ( https://www.cisco.com/c/en/us/support/docs/ip/express-forwarding-cef/116376-technote-cef-00.html contains somewhat relevant description). >>  I don't think it that knowing the number make DoSing of the particular system easier. > > Thanks! Does it need to be stable over time, or would it be > acceptable to be updated at some point? If "at some point" means "after N hours/days" than the short answer is no. In the multi-layer CLOS-like networks people usually try to reduce the amount of churn, even in presence of some failures. Changing that number results in increased randomness around the traffic flow, which doesn't bring any obvious benefit. I could potentially imagine user being able to override the number, but typically vendors don't do that. > >>  However, better quality randomness is always good. >>  Speaking of "when" it is needed - you're right, it is needed pretty late in the boot process, after the userland starts. >>  Will moving the order to SI_SUB_LAST help or I need to trigger number generation by different means? > > SI_SUB_LAST is better, sure. If you want to ensure you eventually get > a random number, and changing the number at runtime is acceptable, you > could have userspace induce seeding. But maybe that is unnecessarily Yep, that's a tradeoff between the ideal solution and implementation complexity. I was thinking of an approach when first rtsock connection triggers this generation, but that looks a bit ugly. If we have a good change to get somewhat decent entropy at SI_SUB_LAST, then I guess that's "good enough". > complex. Typical x86 systems using loader will have good entropy > available already at this point, outside of the installer or if there > is /boot corruption. > > (It sounds like this application would be fine with not really random > numbers, at least early in boot. We don't have a great API for that > need today, unfortunately.) Yep, for this value to be used, one need to install multipath route towards particular destination and it has to be actually used by the outbound traffic. Even if it is, nothing exceptionally bad will happen event with 0 value. > > Cheers, > Conrad From owner-svn-src-head@freebsd.org Sat Apr 11 22:30:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1E00D27D7D2; Sat, 11 Apr 2020 22:30:36 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward501j.mail.yandex.net (forward501j.mail.yandex.net [IPv6:2a02:6b8:0:801:2::111]) (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 4908j60wwqz4CdG; Sat, 11 Apr 2020 22:30:33 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback5q.mail.yandex.net (mxback5q.mail.yandex.net [IPv6:2a02:6b8:c0e:1ba:0:640:b716:ad89]) by forward501j.mail.yandex.net (Yandex) with ESMTP id 9DD6C33800ED; Sun, 12 Apr 2020 01:30:30 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback5q.mail.yandex.net (mxback/Yandex) with ESMTP id TYX1sZ6P25-UUletFlr; Sun, 12 Apr 2020 01:30:30 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1586644230; bh=ob+9CUifHQHIvMvZT4roGzysvJF9eZPscEvu+LRZkDw=; h=Message-Id:Cc:Subject:In-Reply-To:Date:References:To:From; b=ZiUgXp/UqqzKHGtaYle9gjWAThGrSLYD65WKBJ53k5W1WaQBHcit5xCK+W1VhVK9j cfiq+Muv8ez+xh1zc1DxDGxfts034ffTblK31juMF8wmdL++UxDAe7u+bN8p8aNBOQ +NzdoKX56iqrr2ltYdA9ulhAltWOv+Zm2GEM5sig= Received: by vla1-89a1c81c8982.qloud-c.yandex.net with HTTP; Sun, 12 Apr 2020 01:30:29 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: Ian Lepore , "cem@freebsd.org" Cc: svn-src-all , svn-src-head , src-committers In-Reply-To: <5667a66b22e18893a4d7de58f0e0fd3084a6e0f7.camel@freebsd.org> References: <202004110737.03B7b8cS067986@repo.freebsd.org> <5667a66b22e18893a4d7de58f0e0fd3084a6e0f7.camel@freebsd.org> Subject: Re: svn commit: r359797 - in head/sys: net netinet netinet6 MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sat, 11 Apr 2020 23:30:29 +0100 Message-Id: <4458041586643841@myt4-42d4a9f8d9f5.qloud-c.yandex.net> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 4908j60wwqz4CdG X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ipfw.ru header.s=mail header.b=ZiUgXp/U; dmarc=none; spf=pass (mx1.freebsd.org: domain of melifaro@ipfw.ru designates 2a02:6b8:0:801:2::111 as permitted sender) smtp.mailfrom=melifaro@ipfw.ru X-Spamd-Result: default: False [-5.85 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[ipfw.ru:s=mail]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a02:6b8:0::/52]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(-3.65)[ip: (-9.64), ipnet: 2a02:6b8::/32(-4.77), asn: 13238(-3.85), country: RU(0.01)]; DKIM_TRACE(0.00)[ipfw.ru:+]; RCVD_IN_DNSWL_NONE(0.00)[1.1.1.0.0.0.0.0.0.0.0.0.2.0.0.0.1.0.8.0.0.0.0.0.8.b.6.0.2.0.a.2.list.dnswl.org : 127.0.5.0]; FORGED_SENDER(0.30)[melifaro@freebsd.org,melifaro@ipfw.ru]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:13238, ipnet:2a02:6b8::/32, country:RU]; FROM_NEQ_ENVFROM(0.00)[melifaro@freebsd.org,melifaro@ipfw.ru] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 22:30:36 -0000 11.04.2020, 21:58, "Ian Lepore" : > On Sat, 2020-04-11 at 13:02 -0700, Conrad Meyer wrote: >>  Hi Alexander, >> >>  On Sat, Apr 11, 2020 at 12:37 AM Alexander V. Chernikov >>   wrote: >>  > >>  > Author: melifaro >>  > Date: Sat Apr 11 07:37:08 2020 >>  > New Revision: 359797 >>  > URL: https://svnweb.freebsd.org/changeset/base/359797 >>  > >>  > Log: >>  > Remove per-AF radix_mpath initializtion functions. >>  > >>  > Split their functionality by moving random seed allocation >>  > to SYSINIT and calling (new) generic multipath function from >>  > standard IPv4/IPv5 RIB init handlers. >>  > ... >>  > --- head/sys/net/radix_mpath.c Sat Apr 11 07:31:16 >>  > 2020 (r359796) >>  > +++ head/sys/net/radix_mpath.c Sat Apr 11 07:37:08 >>  > 2020 (r359797) >>  > @@ -290,38 +290,18 @@ rtalloc_mpath_fib(struct route *ro, uint32_t >>  > hash, u_i >>  > ... >>  > +static void >>  > +mpath_init(void) >>  > { >>  > - struct rib_head *rnh; >>  > >>  > hashjitter = arc4random(); >>  > - if (in6_inithead(head, off, fibnum) == 1) { >>  > - rnh = (struct rib_head *)*head; >>  > - rnh->rnh_multipath = 1; >>  > - return 1; >>  > - } else >>  > - return 0; >>  > } >>  > +SYSINIT(mpath_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, mpath_init, >>  > NULL); >> >>  This is pretty early in boot to be asking for random numbers. We >>  don't have interrupts yet, for example. If the system doesn't have a >>  saved /boot/entropy loaded (PPC, or installer, or some other embedded >>  system perhaps), we will either deadlock boot or get not especially >>  random numbers here (depending on availability behavior of arc4random >>  — currently we err on the side of low quality random numbers). >> >>  If this number is predictable to an attacker, is it easier to DoS the >>  system? Do we need the random number before userspace starts? (I >>  would imagine networking does not really start chatting with remote >>  hosts prior to userspace boot, but this is just a guess.) >> >>  Best, >>  Conrad > > I believe the earliest use of networking during boot is for mounting > the rootfs using nfs. So SI_SUB_ROOT_CONF-1 might be good. Yep, that's a good one. Generally you're right. In this particular case, this random value is only used when we have multiple paths to a particular destination. Such configuraition implies having either routing daemon up, or static route(8) configuration applied, which will happen at least after SI_SUB_KTHREAD_INIT. With all this in mind I'm thinking of moving it to the SI_SUB_LAST to increase the chance of getting good entropy. Does this sound good to you? > > -- Ian From owner-svn-src-head@freebsd.org Sat Apr 11 23:37:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CC52827F11D; Sat, 11 Apr 2020 23:37:59 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490BBv4S8Fz4HQt; Sat, 11 Apr 2020 23:37:59 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8F7451FFEA; Sat, 11 Apr 2020 23:37:59 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03BNbxR8064390; Sat, 11 Apr 2020 23:37:59 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03BNbxob064388; Sat, 11 Apr 2020 23:37:59 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004112337.03BNbxob064388@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 11 Apr 2020 23:37:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359811 - in head/sys/fs: nfs nfsclient X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfs nfsclient X-SVN-Commit-Revision: 359811 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 23:37:59 -0000 Author: rmacklem Date: Sat Apr 11 23:37:58 2020 New Revision: 359811 URL: https://svnweb.freebsd.org/changeset/base/359811 Log: Replace mbuf macros with the code they would generate in the NFS code. When the code was ported to Mac OS/X, mbuf handling functions were converted to using the Mac OS/X accessor functions. For FreeBSD, they are a simple set of macros in sys/fs/nfs/nfskpiport.h. Since porting to Mac OS/X is no longer a consideration, replacement of these macros with the code generated by them makes the code more readable. When support for external page mbufs is added as needed by the KERN_TLS, the patch becomes simpler if done without the macros. This patch should not result in any semantic change. This is the final patch of this series and the macros should now be able to be deleted from the .h files in a future commit. Modified: head/sys/fs/nfs/nfs_commonkrpc.c head/sys/fs/nfsclient/nfs_clrpcops.c Modified: head/sys/fs/nfs/nfs_commonkrpc.c ============================================================================== --- head/sys/fs/nfs/nfs_commonkrpc.c Sat Apr 11 20:57:15 2020 (r359810) +++ head/sys/fs/nfs/nfs_commonkrpc.c Sat Apr 11 23:37:58 2020 (r359811) @@ -893,7 +893,7 @@ tryagain: */ newnfs_realign(&nd->nd_mrep, M_WAITOK); nd->nd_md = nd->nd_mrep; - nd->nd_dpos = NFSMTOD(nd->nd_md, caddr_t); + nd->nd_dpos = mtod(nd->nd_md, caddr_t); nd->nd_repstat = 0; if (nd->nd_procnum != NFSPROC_NULL && nd->nd_procnum != NFSV4PROC_CBNULL) { Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Sat Apr 11 20:57:15 2020 (r359810) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Sat Apr 11 23:37:58 2020 (r359811) @@ -238,7 +238,7 @@ nfsrpc_null(vnode_t vp, struct ucred *cred, NFSPROC_T error = nfscl_request(nd, vp, p, cred, NULL); if (nd->nd_repstat && !error) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -344,7 +344,7 @@ nfsrpc_accessrpc(vnode_t vp, u_int32_t mode, struct uc } else error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -679,7 +679,7 @@ nfsmout: *dpp = ndp; else if (ndp != NULL) free(ndp, M_NFSCLDELEG); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -722,7 +722,7 @@ nfsrpc_opendowngrade(vnode_t vp, u_int32_t mode, struc if (error == NFSERR_STALESTATEID) nfscl_initiate_recovery(op->nfso_own->nfsow_clp); nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -880,7 +880,7 @@ nfsrpc_closerpc(struct nfsrv_descript *nd, struct nfsm if (error == NFSERR_STALESTATEID) nfscl_initiate_recovery(op->nfso_own->nfsow_clp); nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -922,7 +922,7 @@ nfsrpc_openconfirm(vnode_t vp, u_int8_t *nfhp, int fhl if (error == NFSERR_STALESTATEID) nfscl_initiate_recovery(op->nfso_own->nfsow_clp); nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -1077,7 +1077,7 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclcli tsep->nfsess_clientid.lval[1] = *tl++; confirm.lval[0] = *tl++; confirm.lval[1] = *tl; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); nd->nd_mrep = NULL; /* @@ -1095,7 +1095,7 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclcli cred, NFS_PROG, NFS_VER4, NULL, 1, NULL, NULL); if (error) return (error); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); nd->nd_mrep = NULL; if (nd->nd_repstat == 0) { nfscl_reqstart(nd, NFSPROC_GETATTR, nmp, nmp->nm_fh, @@ -1123,7 +1123,7 @@ nfsrpc_setclient(struct nfsmount *nmp, struct nfsclcli } error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -1150,7 +1150,7 @@ nfsrpc_getattr(vnode_t vp, struct ucred *cred, NFSPROC error = nfsm_loadattr(nd, nap); else error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -1190,7 +1190,7 @@ nfsrpc_getattrnovp(struct nfsmount *nmp, u_int8_t *fhp error = nfsm_loadattr(nd, nap); } else error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -1315,7 +1315,7 @@ nfsrpc_setattrrpc(vnode_t vp, struct vattr *vap, error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); if (!(nd->nd_flag & ND_NFSV3) && !nd->nd_repstat && !error) error = nfscl_postop_attr(nd, rnap, attrflagp, stuff); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); if (nd->nd_repstat && !error) error = nd->nd_repstat; return (error); @@ -1387,7 +1387,7 @@ nfsrpc_lookup(vnode_t dvp, char *name, int len, struct nfhp->nfh_len = np->n_fhp->nfh_len; NFSBCOPY(np->n_fhp->nfh_fh, nfhp->nfh_fh, nfhp->nfh_len); *nfhpp = nfhp; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (0); } if (nd->nd_flag & ND_NFSV3) @@ -1418,7 +1418,7 @@ nfsrpc_lookup(vnode_t dvp, char *name, int len, struct if ((nd->nd_flag & ND_NFSV3) && !error) error = nfscl_postop_attr(nd, dnap, dattrflagp, stuff); nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); if (!error && nd->nd_repstat) error = nd->nd_repstat; return (error); @@ -1476,7 +1476,7 @@ nfsrpc_readlink(vnode_t vp, struct uio *uiop, struct u if (nd->nd_repstat && !error) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -1617,7 +1617,7 @@ nfsrpc_readrpc(vnode_t vp, struct uio *uiop, struct uc error = nfsm_mbufuio(nd, uiop, retlen); if (error) goto nfsmout; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); nd->nd_mrep = NULL; tsiz -= retlen; if (!(nd->nd_flag & ND_NFSV2)) { @@ -1629,7 +1629,7 @@ nfsrpc_readrpc(vnode_t vp, struct uio *uiop, struct uc return (0); nfsmout: if (nd->nd_mrep != NULL) - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -1885,13 +1885,13 @@ nfsrpc_writerpc(vnode_t vp, struct uio *uiop, int *iom if (error) goto nfsmout; NFSWRITERPC_SETTIME(wccflag, np, nap, (nd->nd_flag & ND_NFSV4)); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); nd->nd_mrep = NULL; tsiz -= len; } nfsmout: if (nd->nd_mrep != NULL) - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); *iomode = committed; if (nd->nd_repstat && !error) error = nd->nd_repstat; @@ -1974,7 +1974,7 @@ nfsrpc_mknod(vnode_t dvp, char *name, int namelen, str if (!error && nd->nd_repstat) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -2098,7 +2098,7 @@ nfsrpc_createv23(vnode_t dvp, char *name, int namelen, if (nd->nd_repstat != 0 && error == 0) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -2343,7 +2343,7 @@ nfsmout: *dpp = dp; else if (dp != NULL) free(dp, M_NFSCLDELEG); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -2404,7 +2404,7 @@ tryagain: * If the Delegreturn failed, try again without * it. The server will Recall, as required. */ - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); goto tryagain; } for (i = 0; i < (ret * 2); i++) { @@ -2420,7 +2420,7 @@ tryagain: if (nd->nd_repstat && !error) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -2532,7 +2532,7 @@ tryagain: * If the Delegreturn failed, try again without * it. The server will Recall, as required. */ - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); goto tryagain; } for (i = 0; i < (ret * 2); i++) { @@ -2548,7 +2548,7 @@ tryagain: * If ret > 1, the first iteration of this * loop is the second DelegReturn result. */ - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); goto tryagain; } else { nd->nd_flag |= ND_NOMOREDATA; @@ -2578,7 +2578,7 @@ tryagain: if (nd->nd_repstat && !error) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -2641,7 +2641,7 @@ nfsrpc_link(vnode_t dvp, vnode_t vp, char *name, int n if (nd->nd_repstat && !error) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -2693,7 +2693,7 @@ nfsrpc_symlink(vnode_t dvp, char *name, int namelen, c } if (nd->nd_repstat && !error) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); /* * Kludge: Map EEXIST => 0 assuming that it is a reply to a retry. * Only do this if vfs.nfs.ignore_eexist is set. @@ -2775,7 +2775,7 @@ nfsrpc_mkdir(vnode_t dvp, char *name, int namelen, str if (nd->nd_repstat && !error) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); /* * Kludge: Map EEXIST => 0 assuming that it is a reply to a retry. * Only do this if vfs.nfs.ignore_eexist is set. @@ -2810,7 +2810,7 @@ nfsrpc_rmdir(vnode_t dvp, char *name, int namelen, str error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, dstuff); if (nd->nd_repstat && !error) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); /* * Kludge: Map ENOENT => 0 assuming that you have a reply to a retry. */ @@ -2976,7 +2976,7 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 } else { error = nd->nd_repstat; } - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); if (error) return (error); nd->nd_mrep = NULL; @@ -3225,7 +3225,7 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 goto nfsmout; } } - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); nd->nd_mrep = NULL; } /* @@ -3276,7 +3276,7 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 nfsmout: if (nd->nd_mrep != NULL) - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -3413,7 +3413,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui } else { error = nd->nd_repstat; } - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); if (error) return (error); nd->nd_mrep = NULL; @@ -3728,7 +3728,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui goto nfsmout; } } - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); nd->nd_mrep = NULL; } /* @@ -3779,7 +3779,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui nfsmout: if (nd->nd_mrep != NULL) - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } #endif /* !APPLE */ @@ -3830,7 +3830,7 @@ nfsrpc_commit(vnode_t vp, u_quad_t offset, int cnt, st nfsmout: if (!error && nd->nd_repstat) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4073,7 +4073,7 @@ nfsrpc_lockt(struct nfsrv_descript *nd, vnode_t vp, } else if (nd->nd_repstat == NFSERR_STALECLIENTID) nfscl_initiate_recovery(clp); nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4123,7 +4123,7 @@ nfsrpc_locku(struct nfsrv_descript *nd, struct nfsmoun } else if (nd->nd_repstat == NFSERR_STALESTATEID) nfscl_initiate_recovery(lp->nfsl_open->nfso_own->nfsow_clp); nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4211,7 +4211,7 @@ nfsrpc_lock(struct nfsrv_descript *nd, struct nfsmount } else if (nd->nd_repstat == NFSERR_STALESTATEID) nfscl_initiate_recovery(lp->nfsl_open->nfso_own->nfsow_clp); nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4291,7 +4291,7 @@ nfsrpc_statfs(vnode_t vp, struct nfsstatfs *sbp, struc sbp->sf_bavail = fxdr_unsigned(u_int32_t, *tl); } nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4352,7 +4352,7 @@ nfsrpc_pathconf(vnode_t vp, struct nfsv3_pathconf *pc, } } nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4391,7 +4391,7 @@ nfsrpc_fsinfo(vnode_t vp, struct nfsfsinfo *fsp, struc fsp->fs_properties = fxdr_unsigned(u_int32_t, *tl); } nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4445,7 +4445,7 @@ nfsrpc_renew(struct nfsclclient *clp, struct nfsclds * if (error) return (error); error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4484,7 +4484,7 @@ nfsrpc_rellockown(struct nfsmount *nmp, struct nfscllo if (error) return (error); error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4553,7 +4553,7 @@ nfsrpc_getdirpath(struct nfsmount *nmp, u_char *dirpat } error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4586,7 +4586,7 @@ nfsrpc_delegreturn(struct nfscldeleg *dp, struct ucred if (error) return (error); error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4616,7 +4616,7 @@ nfsrpc_getacl(vnode_t vp, struct ucred *cred, NFSPROC_ NULL, NULL, NULL, aclp, 0, NULL, NULL, NULL, p, cred); else error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4660,7 +4660,7 @@ nfsrpc_setaclrpc(vnode_t vp, struct ucred *cred, NFSPR if (error) return (error); /* Don't care about the pre/postop attributes */ - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (nd->nd_repstat); } @@ -4750,7 +4750,7 @@ nfsrpc_exchangeid(struct nfsmount *nmp, struct nfsclcl } error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4888,7 +4888,7 @@ nfsrpc_createsession(struct nfsmount *nmp, struct nfsc } error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4916,7 +4916,7 @@ nfsrpc_destroysession(struct nfsmount *nmp, struct nfs if (error != 0) return (error); error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4945,7 +4945,7 @@ nfsrpc_destroyclient(struct nfsmount *nmp, struct nfsc if (error != 0) return (error); error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -4977,7 +4977,7 @@ nfsrpc_layoutget(struct nfsmount *nmp, uint8_t *fhp, i flhp); if (error == 0 && nd->nd_repstat != 0) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -5211,7 +5211,7 @@ nfsrpc_getdeviceinfo(struct nfsmount *nmp, uint8_t *de nfsmout: if (error != 0 && ndi != NULL) nfscl_freedevinfo(ndi); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -5260,7 +5260,7 @@ nfsrpc_layoutcommit(struct nfsmount *nmp, uint8_t *fh, if (error != 0) return (error); error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -5348,7 +5348,7 @@ nfsrpc_layoutreturn(struct nfsmount *nmp, uint8_t *fh, } else error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -5645,7 +5645,7 @@ nfsrpc_reclaimcomplete(struct nfsmount *nmp, struct uc if (error != 0) return (error); error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -5908,10 +5908,10 @@ nfsm_copym(struct mbuf *m, int off, int xfer) while (m3->m_next != NULL) m3 = m3->m_next; NFSMGET(m4); - tl = NFSMTOD(m4, uint32_t *); + tl = mtod(m4, uint32_t *); *tl = 0; - mbuf_setlen(m4, rem); - mbuf_setnext(m3, m4); + m4->m_len = rem; + m3->m_next = m4; } return (m2); } @@ -6275,7 +6275,7 @@ nfsrpc_readds(vnode_t vp, struct uio *uiop, nfsv4state error = nfsm_mbufuio(nd, uiop, retlen); nfsmout: if (nd->nd_mrep != NULL) - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -6400,7 +6400,7 @@ nfsrpc_writeds(vnode_t vp, struct uio *uiop, int *iomo } nfsmout: if (nd->nd_mrep != NULL) - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); *iomode = committed; if (nd->nd_repstat != 0 && error == 0) error = nd->nd_repstat; @@ -6511,7 +6511,7 @@ nfsrpc_writedsmir(vnode_t vp, int *iomode, int *must_c } nfsmout: if (nd->nd_mrep != NULL) - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); *iomode = committed; if (nd->nd_repstat != 0 && error == 0) error = nd->nd_repstat; @@ -6698,7 +6698,7 @@ nfsrpc_commitds(vnode_t vp, uint64_t offset, int cnt, nfsmout: if (error == 0 && nd->nd_repstat != 0) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -6783,7 +6783,7 @@ nfsrpc_advise(vnode_t vp, off_t offset, uint64_t cnt, return (error); if (nd->nd_repstat != 0) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -6837,7 +6837,7 @@ nfsrpc_adviseds(vnode_t vp, uint64_t offset, int cnt, return (error); if (nd->nd_repstat != 0) error = nd->nd_repstat; - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -7001,7 +7001,7 @@ nfsrpc_allocaterpc(vnode_t vp, off_t off, off_t len, n } else error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -7616,7 +7616,7 @@ nfsrpc_openlayoutrpc(struct nfsmount *nmp, vnode_t vp, error = nd->nd_repstat; nfsmout: free(ndp, M_NFSCLDELEG); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -7873,7 +7873,7 @@ nfsmout: *dpp = dp; else free(dp, M_NFSCLDELEG); - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -8190,7 +8190,7 @@ nfsrpc_copyrpc(vnode_t invp, off_t inoff, vnode_t outv if (error == 0) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -8284,7 +8284,7 @@ nfsrpc_seekrpc(vnode_t vp, off_t *offp, nfsv4stateid_t } error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -8355,7 +8355,7 @@ nfsrpc_getextattr(vnode_t vp, const char *name, struct if (error == 0) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -8376,7 +8376,7 @@ nfsrpc_setextattr(vnode_t vp, const char *name, struct NFSCL_REQSTART(nd, NFSPROC_SETEXTATTR, vp); if (uiop->uio_resid > nd->nd_maxreq) { /* nd_maxreq is set by NFSCL_REQSTART(). */ - mbuf_freem(nd->nd_mreq); + m_freem(nd->nd_mreq); return (EINVAL); } NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); @@ -8403,7 +8403,7 @@ nfsrpc_setextattr(vnode_t vp, const char *name, struct if (error == 0) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -8441,7 +8441,7 @@ nfsrpc_rmextattr(vnode_t vp, const char *name, struct if (error == 0) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); } @@ -8518,7 +8518,7 @@ nfsrpc_listextattr(vnode_t vp, uint64_t *cookiep, stru if (error == 0) error = nd->nd_repstat; nfsmout: - mbuf_freem(nd->nd_mrep); + m_freem(nd->nd_mrep); return (error); }