svn commit: r361868 - head/share/man/man4

2020-06-05 Thread Warner Losh
Author: imp
Date: Sat Jun  6 06:49:06 2020
New Revision: 361868
URL: https://svnweb.freebsd.org/changeset/base/361868

Log:
  Fix typo
  
  Submitted by: Yuri Pankov

Modified:
  head/share/man/man4/nda.4

Modified: head/share/man/man4/nda.4
==
--- head/share/man/man4/nda.4   Sat Jun  6 06:21:20 2020(r361867)
+++ head/share/man/man4/nda.4   Sat Jun  6 06:49:06 2020(r361868)
@@ -66,7 +66,7 @@ When set to 1,
 aliases will be created for all
 .Nm
 devices, including partitions and other
-.Xr goem 4
+.Xr geom 4
 providers that take their names from the disk's name.
 .Xr nvd
 devices will not, however, be reported in the
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361867 - head/share/man/man4

2020-06-05 Thread Yuri Pankov

Warner Losh wrote:

Author: imp
Date: Sat Jun  6 06:21:20 2020
New Revision: 361867
URL: https://svnweb.freebsd.org/changeset/base/361867

Log:
   Document all the sysctl values for the nda devices. Include some minimal
   documentation on namespace support for nda devices. Fix a few typos
   and formatting nits to apease igor.

Modified:
   head/share/man/man4/nda.4

Modified: head/share/man/man4/nda.4
==
--- head/share/man/man4/nda.4   Sat Jun  6 06:21:15 2020(r361866)
+++ head/share/man/man4/nda.4   Sat Jun  6 06:21:20 2020(r361867)
@@ -25,7 +25,7 @@
  .\"
  .\" $FreeBSD$
  .\"
-.Dd December 20, 2017
+.Dd June 6, 2020
  .Dt NDA 4
  .Os
  .Sh NAME
@@ -48,37 +48,156 @@ variables and
  .Xr loader 8
  tunables:
  .Bl -tag -width 12
+.It Va hw.nvme.use_nvd
+The
+.Xr nvme 4
+driver will create
+.Nm
+device nodes for block storage when set to 0.
+Create
+.Xr nvd 4
+device nodes for block storage when set to 1.
+See
+.Xr nvd 4
+when set to 1.
+.It Va kern.cam.nda.nvd_compat
+When set to 1,
+.Xr nvd 4
+aliases will be created for all
+.Nm
+devices, including partitions and other
+.Xr goem 4


A typo in the link.


+providers that take their names from the disk's name.
+.Xr nvd
+devices will not, however, be reported in the
+.Va kern.disks
+.Xr sysctl 8 .
  .It Va kern.cam.nda.sort_io_queue
-.Pp
  This variable determines whether the software queued entries are
  sorted in LBA order or not.
  Sorting is almost always a waste of time.
  The default is to not sort.
+.It Va kern.cam.nda.enable_biospeedup
+This variable determines if the
+.Nm
+devices participate in the speedup protocol.
+When the device participates in the speedup, then when the upper layers
+send a
+.Va BIO_SPEEDUP ,
+all current
+.Va BIO_DELETE
+requests not yet sent to the hardware are completed successfully immediate
+without sending them to the hardware.
+Used in low disk space scenarios when the filesystem encounters
+a critical shortage and needs blocks immediately.
+Since trims have maximum benefit when the LBA is unused for a long time,
+skipping the trim when space is needed for immediate writes results in little 
to
+no excess wear.
+When participation is disabled,
+.Va BIO_SPEEDUP
+requests are ignored.
+.It Va kern.cam.nda.max_trim
+The maximum number of LBA ranges to be collected together for each DSM trims
+send to the hardware.
+Defaults to 256, which is the maximum number of ranges the protocol supports.
+Sometimes poor trim performance can be mitigated by limiting the number of
+ranges sent to the device.
+This value must be between 1 and 256 inclusive.
  .El
  .Pp
  The following report per-device settings, and are read-only unless
-otherwise indicated. Replace
+otherwise indicated.
+Replace
  .Va N
  with the device unit number.
  .Bl -tag -width 12
  .It Va kern.cam.nda.N.rotating
-.Pp
  This variable reports whether the storage volume is spinning or
  flash.
-It's value is hard coded to 0 indicating flash.
+Its value is hard coded to 0 indicating flash.
  .It Va kern.cam.nda.N.unmapped_io
  This variable reports whether the
  .Nm
  driver accepts unmapped I/O for this unit.
+.It Va kern.cam.nda.N.flags
+This variable reports the current flags.
+.Bl -tag -width 12
+.It Va OPEN
+The device is open.
+.It Va DIRTY
+Set when a write to the drive is scheduled.
+Cleared after flush commands.
+.It Va SCTX_INIT
+Internal flag set after
+.Xr sysctl 8
+nodes have been created.
  .El
+.It Va kern.cam.nda.N.sort_io_queue
+Same as the
+.Va kern.cam.nda.sort_io_queue
+tunable.
+.It Va kern.cam.nda.N.trim_ticks
+Writable.
+When greater than zero, hold trims for up to this many ticks before sending
+to the drive.
+Sometimes waiting a little bit to collect more trims to send at one time
+improves trim performance.
+When 0, no delaying of trims are done.
+.It Va kern.cam.nda.N.trim_goal
+Writable.
+When delaying a bit to collect multiple trims, send the accumulated DSM TRIM to
+the drive.
+.It Va kern.cam.nda.N.trim_lbas
+Total number of LBAs that have been trimmed.
+.It Va kern.cam.nda.N.trim_ranges
+Total number of LBA ranges that have been trimmed.
+.It Va kern.cam.nda.N.trim_count
+Total number of trims sent to the hardware.
+.It Va kern.cam.nda.N.deletes
+Total number of
+.Va BIO_DELETE
+requests queued to the device.
+.El
+.Sh NAMESPACE MAPPING
+Each
+.Xr nvme 4
+drive has one or more namespaces associated with it.
+One instance of the
+.Nm
+driver will be created for each of the namespaces on
+the drive.
+All the
+.Nm
+nodes for a
+.Xr nvme 4
+device are at target 0.
+However, the namespace ID maps to the CAM lun, as reported
+in kernel messages and in the
+.Va devlist
+sub command of
+.Xr camcontrol 8 .
+.Pp
+Namespaces are managed with the
+.Va ns
+sub command of
+.Xr nvmecontrol 8 .
+Not all drives support namespace management,
+but all drives support at least one namespace.
+Device nodes for
+.Nm
+will be created and destroyed dynamically as
+n

Re: svn commit: r361867 - head/share/man/man4

2020-06-05 Thread Warner Losh
On Sat, Jun 6, 2020 at 12:22 AM Mark Linimon  wrote:

> On Sat, Jun 06, 2020 at 06:21:20AM +, Warner Losh wrote:
> > Document all the sysctl values for the nda devices.
>
> Thank you.
>

You are welcome. This is overdue. And is likely missing a MFC After line.

And if you read developers, you know why I did it. :)

Warner
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361867 - head/share/man/man4

2020-06-05 Thread Mark Linimon
On Sat, Jun 06, 2020 at 06:21:20AM +, Warner Losh wrote:
> Document all the sysctl values for the nda devices.

Thank you.

mcl
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361866 - head/sys/cam/nvme

2020-06-05 Thread Warner Losh
Author: imp
Date: Sat Jun  6 06:21:15 2020
New Revision: 361866
URL: https://svnweb.freebsd.org/changeset/base/361866

Log:
  Add a tunable for the nvd symlink creation.
  
  Some automation tries to detect if nvd or nda is in used, and the presence of
  both confuses it. Provide a knob to turn off nvd alias creation
  (kern.cam.nda.nvd_compat=0) for these situations. The default is the same:
  create the nvd compat link.

Modified:
  head/sys/cam/nvme/nvme_da.c

Modified: head/sys/cam/nvme/nvme_da.c
==
--- head/sys/cam/nvme/nvme_da.c Sat Jun  6 06:20:04 2020(r361865)
+++ head/sys/cam/nvme/nvme_da.c Sat Jun  6 06:21:15 2020(r361866)
@@ -185,11 +185,14 @@ static int nda_send_ordered = NDA_DEFAULT_SEND_ORDERED
 static int nda_default_timeout = NDA_DEFAULT_TIMEOUT;
 static int nda_max_trim_entries = NDA_MAX_TRIM_ENTRIES;
 static int nda_enable_biospeedup = 1;
+static int nda_nvd_compat = 1;
 SYSCTL_INT(_kern_cam_nda, OID_AUTO, max_trim, CTLFLAG_RDTUN,
 &nda_max_trim_entries, NDA_MAX_TRIM_ENTRIES,
 "Maximum number of BIO_DELETE to send down as a DSM TRIM.");
 SYSCTL_INT(_kern_cam_nda, OID_AUTO, enable_biospeedup, CTLFLAG_RDTUN,
-&nda_enable_biospeedup, 0, "Enable BIO_SPEEDUP processing");
+&nda_enable_biospeedup, 0, "Enable BIO_SPEEDUP processing.");
+SYSCTL_INT(_kern_cam_nda, OID_AUTO, nvd_compat, CTLFLAG_RDTUN,
+&nda_nvd_compat, 1, "Enable creation of nvd aliases.");
 
 /*
  * All NVMe media is non-rotational, so all nvme device instances
@@ -950,7 +953,8 @@ ndaregister(struct cam_periph *periph, void *arg)
/*
 * Add alias for older nvd drives to ease transition.
 */
-   disk_add_alias(disk, "nvd");
+   if (nda_nvd_compat)
+   disk_add_alias(disk, "nvd");
 
/*
 * Acquire a reference to the periph before we register with GEOM.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361867 - head/share/man/man4

2020-06-05 Thread Warner Losh
Author: imp
Date: Sat Jun  6 06:21:20 2020
New Revision: 361867
URL: https://svnweb.freebsd.org/changeset/base/361867

Log:
  Document all the sysctl values for the nda devices. Include some minimal
  documentation on namespace support for nda devices. Fix a few typos
  and formatting nits to apease igor.

Modified:
  head/share/man/man4/nda.4

Modified: head/share/man/man4/nda.4
==
--- head/share/man/man4/nda.4   Sat Jun  6 06:21:15 2020(r361866)
+++ head/share/man/man4/nda.4   Sat Jun  6 06:21:20 2020(r361867)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 20, 2017
+.Dd June 6, 2020
 .Dt NDA 4
 .Os
 .Sh NAME
@@ -48,37 +48,156 @@ variables and
 .Xr loader 8
 tunables:
 .Bl -tag -width 12
+.It Va hw.nvme.use_nvd
+The
+.Xr nvme 4
+driver will create
+.Nm
+device nodes for block storage when set to 0.
+Create
+.Xr nvd 4
+device nodes for block storage when set to 1.
+See
+.Xr nvd 4
+when set to 1.
+.It Va kern.cam.nda.nvd_compat
+When set to 1,
+.Xr nvd 4
+aliases will be created for all
+.Nm
+devices, including partitions and other
+.Xr goem 4
+providers that take their names from the disk's name.
+.Xr nvd
+devices will not, however, be reported in the
+.Va kern.disks
+.Xr sysctl 8 .
 .It Va kern.cam.nda.sort_io_queue
-.Pp
 This variable determines whether the software queued entries are
 sorted in LBA order or not.
 Sorting is almost always a waste of time.
 The default is to not sort.
+.It Va kern.cam.nda.enable_biospeedup
+This variable determines if the
+.Nm
+devices participate in the speedup protocol.
+When the device participates in the speedup, then when the upper layers
+send a
+.Va BIO_SPEEDUP ,
+all current
+.Va BIO_DELETE
+requests not yet sent to the hardware are completed successfully immediate
+without sending them to the hardware.
+Used in low disk space scenarios when the filesystem encounters
+a critical shortage and needs blocks immediately.
+Since trims have maximum benefit when the LBA is unused for a long time,
+skipping the trim when space is needed for immediate writes results in little 
to
+no excess wear.
+When participation is disabled,
+.Va BIO_SPEEDUP
+requests are ignored.
+.It Va kern.cam.nda.max_trim
+The maximum number of LBA ranges to be collected together for each DSM trims
+send to the hardware.
+Defaults to 256, which is the maximum number of ranges the protocol supports.
+Sometimes poor trim performance can be mitigated by limiting the number of
+ranges sent to the device.
+This value must be between 1 and 256 inclusive.
 .El
 .Pp
 The following report per-device settings, and are read-only unless
-otherwise indicated. Replace
+otherwise indicated.
+Replace
 .Va N
 with the device unit number.
 .Bl -tag -width 12
 .It Va kern.cam.nda.N.rotating
-.Pp
 This variable reports whether the storage volume is spinning or
 flash.
-It's value is hard coded to 0 indicating flash.
+Its value is hard coded to 0 indicating flash.
 .It Va kern.cam.nda.N.unmapped_io
 This variable reports whether the
 .Nm
 driver accepts unmapped I/O for this unit.
+.It Va kern.cam.nda.N.flags
+This variable reports the current flags.
+.Bl -tag -width 12
+.It Va OPEN
+The device is open.
+.It Va DIRTY
+Set when a write to the drive is scheduled.
+Cleared after flush commands.
+.It Va SCTX_INIT
+Internal flag set after
+.Xr sysctl 8
+nodes have been created.
 .El
+.It Va kern.cam.nda.N.sort_io_queue
+Same as the
+.Va kern.cam.nda.sort_io_queue
+tunable.
+.It Va kern.cam.nda.N.trim_ticks
+Writable.
+When greater than zero, hold trims for up to this many ticks before sending
+to the drive.
+Sometimes waiting a little bit to collect more trims to send at one time
+improves trim performance.
+When 0, no delaying of trims are done.
+.It Va kern.cam.nda.N.trim_goal
+Writable.
+When delaying a bit to collect multiple trims, send the accumulated DSM TRIM to
+the drive.
+.It Va kern.cam.nda.N.trim_lbas
+Total number of LBAs that have been trimmed.
+.It Va kern.cam.nda.N.trim_ranges
+Total number of LBA ranges that have been trimmed.
+.It Va kern.cam.nda.N.trim_count
+Total number of trims sent to the hardware.
+.It Va kern.cam.nda.N.deletes
+Total number of
+.Va BIO_DELETE
+requests queued to the device.
+.El
+.Sh NAMESPACE MAPPING
+Each
+.Xr nvme 4
+drive has one or more namespaces associated with it.
+One instance of the
+.Nm
+driver will be created for each of the namespaces on
+the drive.
+All the
+.Nm
+nodes for a
+.Xr nvme 4
+device are at target 0.
+However, the namespace ID maps to the CAM lun, as reported
+in kernel messages and in the
+.Va devlist
+sub command of
+.Xr camcontrol 8 .
+.Pp
+Namespaces are managed with the
+.Va ns
+sub command of
+.Xr nvmecontrol 8 .
+Not all drives support namespace management,
+but all drives support at least one namespace.
+Device nodes for
+.Nm
+will be created and destroyed dynamically as
+namespaces are activated or detached.
 .Sh FILES
 .Bl -tag -width ".Pa /dev/nd

svn commit: r361865 - head/sys/cam/nvme

2020-06-05 Thread Warner Losh
Author: imp
Date: Sat Jun  6 06:20:04 2020
New Revision: 361865
URL: https://svnweb.freebsd.org/changeset/base/361865

Log:
  Ensure that we send at least LBA range per TRIM.

Modified:
  head/sys/cam/nvme/nvme_da.c

Modified: head/sys/cam/nvme/nvme_da.c
==
--- head/sys/cam/nvme/nvme_da.c Sat Jun  6 06:17:51 2020(r361864)
+++ head/sys/cam/nvme/nvme_da.c Sat Jun  6 06:20:04 2020(r361865)
@@ -1082,6 +1082,7 @@ ndastart(struct cam_periph *periph, union ccb *start_c
TAILQ_INIT(&trim->bps);
bp1 = bp;
ents = min(nitems(trim->dsm), nda_max_trim_entries);
+   ents = max(ents, 1);
dsm_range = trim->dsm;
dsm_end = dsm_range + ents;
do {
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361864 - head/sys/net80211

2020-06-05 Thread Adrian Chadd
Author: adrian
Date: Sat Jun  6 06:17:51 2020
New Revision: 361864
URL: https://svnweb.freebsd.org/changeset/base/361864

Log:
  [net80211] Fix this typo!
  
  I've just started using this macro in upcoming amsdu/ampdu/ff rework and
  yes, too many parens.  Oops!

Modified:
  head/sys/net80211/ieee80211_ht.h

Modified: head/sys/net80211/ieee80211_ht.h
==
--- head/sys/net80211/ieee80211_ht.hSat Jun  6 05:46:12 2020
(r361863)
+++ head/sys/net80211/ieee80211_ht.hSat Jun  6 06:17:51 2020
(r361864)
@@ -74,7 +74,7 @@ struct ieee80211_tx_ampdu {
  * A-MSDU in A-MPDU
  */
 #defineIEEE80211_AMPDU_RUNNING_AMSDU(tap) \
-   tap)->txa_flags & (IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_AMSDU)) \
+   (((tap)->txa_flags & (IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_AMSDU)) \
== (IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_AMSDU))
 
 /* return non-zero if AMPDU tx for the TID was NACKed */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361863 - head/sys/net80211

2020-06-05 Thread Adrian Chadd
Author: adrian
Date: Sat Jun  6 05:46:12 2020
New Revision: 361863
URL: https://svnweb.freebsd.org/changeset/base/361863

Log:
  [net80211] Fix typo.
  
  Oops!

Modified:
  head/sys/net80211/ieee80211_node.c

Modified: head/sys/net80211/ieee80211_node.c
==
--- head/sys/net80211/ieee80211_node.c  Sat Jun  6 03:54:06 2020
(r361862)
+++ head/sys/net80211/ieee80211_node.c  Sat Jun  6 05:46:12 2020
(r361863)
@@ -2764,7 +2764,7 @@ ieee80211_node_join(struct ieee80211_node *ni, int res
ni->ni_flags & IEEE80211_NODE_HT ?
(ni->ni_chw == 40 ? ", HT40" : ", HT20") : "",
ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "",
-   ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+ASPDU)" : "",
+   ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "",
ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" :
ni->ni_flags & IEEE80211_NODE_MIMO_PS ? " (+SMPS)" : "",
ni->ni_flags & IEEE80211_NODE_RIFS ? " (+RIFS)" : "",
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361862 - in stable: 11/sys/netinet6 12/sys/netinet6

2020-06-05 Thread Ryan Moeller
Author: freqlabs
Date: Sat Jun  6 03:54:06 2020
New Revision: 361862
URL: https://svnweb.freebsd.org/changeset/base/361862

Log:
  MFC r361756, r361757:
  
  scope6: Check for NULL afdata before dereferencing
  
  Narrows the race window with if_detach.
  
  Approved by:mav (mentor)
  Sponsored by:   iXsystems, Inc.
  Differential Revision:  https://reviews.freebsd.org/D25017

Modified:
  stable/12/sys/netinet6/scope6.c
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/sys/netinet6/scope6.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/12/sys/netinet6/scope6.c
==
--- stable/12/sys/netinet6/scope6.c Sat Jun  6 03:09:12 2020
(r361861)
+++ stable/12/sys/netinet6/scope6.c Sat Jun  6 03:54:06 2020
(r361862)
@@ -419,6 +419,10 @@ in6_setscope(struct in6_addr *in6, struct ifnet *ifp, 
in6->s6_addr16[1] = htons(zoneid & 0x); /* XXX */
} else if (scope != IPV6_ADDR_SCOPE_GLOBAL) {
IF_AFDATA_RLOCK(ifp);
+   if (ifp->if_afdata[AF_INET6] == NULL) {
+   IF_AFDATA_RUNLOCK(ifp);
+   return (ENETDOWN);
+   }
sid = SID(ifp);
zoneid = sid->s6id_list[scope];
IF_AFDATA_RUNLOCK(ifp);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361862 - in stable: 11/sys/netinet6 12/sys/netinet6

2020-06-05 Thread Ryan Moeller
Author: freqlabs
Date: Sat Jun  6 03:54:06 2020
New Revision: 361862
URL: https://svnweb.freebsd.org/changeset/base/361862

Log:
  MFC r361756, r361757:
  
  scope6: Check for NULL afdata before dereferencing
  
  Narrows the race window with if_detach.
  
  Approved by:mav (mentor)
  Sponsored by:   iXsystems, Inc.
  Differential Revision:  https://reviews.freebsd.org/D25017

Modified:
  stable/11/sys/netinet6/scope6.c
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/12/sys/netinet6/scope6.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/11/sys/netinet6/scope6.c
==
--- stable/11/sys/netinet6/scope6.c Sat Jun  6 03:09:12 2020
(r361861)
+++ stable/11/sys/netinet6/scope6.c Sat Jun  6 03:54:06 2020
(r361862)
@@ -417,6 +417,10 @@ in6_setscope(struct in6_addr *in6, struct ifnet *ifp, 
in6->s6_addr16[1] = htons(zoneid & 0x); /* XXX */
} else if (scope != IPV6_ADDR_SCOPE_GLOBAL) {
IF_AFDATA_RLOCK(ifp);
+   if (ifp->if_afdata[AF_INET6] == NULL) {
+   IF_AFDATA_RUNLOCK(ifp);
+   return (ENETDOWN);
+   }
sid = SID(ifp);
zoneid = sid->s6id_list[scope];
IF_AFDATA_RUNLOCK(ifp);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361861 - in head/sys: conf powerpc/aim powerpc/booke powerpc/include powerpc/powerpc

2020-06-05 Thread Justin Hibbits
Author: jhibbits
Date: Sat Jun  6 03:09:12 2020
New Revision: 361861
URL: https://svnweb.freebsd.org/changeset/base/361861

Log:
  powerpc: Use IFUNCs for copyin/copyout/etc
  
  Summary:
  Radix on AIM, and all of Book-E (currently), can do direct addressing of
  user space, instead of needing to map user addresses into kernel space.
  Take advantage of this to optimize the copy(9) functions for this
  behavior, and avoid effectively NOP translations.
  
  Test Plan: Tested on powerpcspe, powerpc64/booke, powerpc64/AIM
  
  Reviewed by:  bdragon
  Differential Revision:https://reviews.freebsd.org/D25129

Added:
  head/sys/powerpc/powerpc/support.S   (contents, props changed)
Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/aim/mmu_radix.c
  head/sys/powerpc/booke/pmap.c
  head/sys/powerpc/include/asm.h
  head/sys/powerpc/include/mmuvar.h
  head/sys/powerpc/include/param.h
  head/sys/powerpc/powerpc/copyinout.c
  head/sys/powerpc/powerpc/pmap_dispatch.c
  head/sys/powerpc/powerpc/trap.c

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Sat Jun  6 02:45:57 2020(r361860)
+++ head/sys/conf/files.powerpc Sat Jun  6 03:09:12 2020(r361861)
@@ -239,7 +239,7 @@ powerpc/powerpc/autoconf.c  standard
 powerpc/powerpc/bus_machdep.c  standard
 powerpc/powerpc/busdma_machdep.c standard
 powerpc/powerpc/clock.cstandard
-powerpc/powerpc/copyinout.cstandard
+powerpc/powerpc/copyinout.coptionalaim
 powerpc/powerpc/cpu.c  standard
 powerpc/powerpc/cpu_subr64.S   optionalpowerpc64
 powerpc/powerpc/db_disasm.coptionalddb
@@ -274,6 +274,7 @@ powerpc/powerpc/sigcode64.S optionalpowerpc64
 powerpc/powerpc/swtch32.S  optionalpowerpc | powerpcspe
 powerpc/powerpc/swtch64.S  optionalpowerpc64
 powerpc/powerpc/stack_machdep.coptionalddb | stack
+powerpc/powerpc/support.S  optionalpowerpc64 | booke
 powerpc/powerpc/syncicache.c   standard
 powerpc/powerpc/sys_machdep.c  standard
 powerpc/powerpc/trap.c standard

Modified: head/sys/powerpc/aim/mmu_radix.c
==
--- head/sys/powerpc/aim/mmu_radix.cSat Jun  6 02:45:57 2020
(r361860)
+++ head/sys/powerpc/aim/mmu_radix.cSat Jun  6 03:09:12 2020
(r361861)
@@ -412,8 +412,6 @@ void mmu_radix_align_superpage(vm_object_t, vm_ooffset
 vm_size_t);
 void mmu_radix_clear_modify(vm_page_t);
 void mmu_radix_copy(pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t);
-int mmu_radix_map_user_ptr(pmap_t pm,
-volatile const void *uaddr, void **kaddr, size_t ulen, size_t *klen);
 int mmu_radix_decode_kernel_ptr(vm_offset_t, int *, vm_offset_t *);
 int mmu_radix_enter(pmap_t, vm_offset_t, vm_page_t, vm_prot_t, u_int, int8_t);
 void mmu_radix_enter_object(pmap_t, vm_offset_t, vm_offset_t, vm_page_t,
@@ -538,7 +536,6 @@ static struct pmap_funcs mmu_radix_methods = {
.kextract = mmu_radix_kextract,
.kremove = mmu_radix_kremove,
.change_attr = mmu_radix_change_attr,
-   .map_user_ptr = mmu_radix_map_user_ptr,
.decode_kernel_ptr =  mmu_radix_decode_kernel_ptr,
 
.tlbie_all = mmu_radix_tlbie_all,
@@ -5996,20 +5993,6 @@ mmu_radix_kremove(vm_offset_t va)
 
pte = kvtopte(va);
pte_clear(pte);
-}
-
-int mmu_radix_map_user_ptr(pmap_t pm,
-volatile const void *uaddr, void **kaddr, size_t ulen, size_t *klen)
-{
-   if ((uintptr_t)uaddr + ulen >= VM_MAXUSER_ADDRESS ||
-   (uintptr_t)uaddr + ulen < (uintptr_t)uaddr)
-   return (EFAULT);
-
-   *kaddr = (void *)(uintptr_t)uaddr;
-   if (klen)
-   *klen = ulen;
-
-   return (0);
 }
 
 int

Modified: head/sys/powerpc/booke/pmap.c
==
--- head/sys/powerpc/booke/pmap.c   Sat Jun  6 02:45:57 2020
(r361860)
+++ head/sys/powerpc/booke/pmap.c   Sat Jun  6 03:09:12 2020
(r361861)
@@ -349,8 +349,6 @@ static vm_offset_t  mmu_booke_quick_enter_page(vm_page_
 static voidmmu_booke_quick_remove_page(vm_offset_t addr);
 static int mmu_booke_change_attr(vm_offset_t addr,
 vm_size_t sz, vm_memattr_t mode);
-static int mmu_booke_map_user_ptr(pmap_t pm,
-volatile const void *uaddr, void **kaddr, size_t ulen, size_t *klen);
 static int mmu_booke_decode_kernel_ptr(vm_offset_t addr,
 int *is_user, vm_offset_t *decoded_addr);
 static voidmmu_booke_page_array_startup(long);
@@ -410,7 +408,6 @@ static struct pmap_funcs mmu_booke_methods = {
.kremove = mmu_booke_kremove,
.unmapdev = mmu_booke_unmapdev,
.change_attr = mmu_booke_change_attr,
-   .map_user_ptr = mmu_booke_map_user_ptr,
.decode_kernel_ptr =  mmu_booke_decode_kernel_

svn commit: r361860 - in head/gnu/usr.bin/binutils: objcopy objdump

2020-06-05 Thread Ed Maste
Author: emaste
Date: Sat Jun  6 02:45:57 2020
New Revision: 361860
URL: https://svnweb.freebsd.org/changeset/base/361860

Log:
  Remove GNU objcopy and objdump build infrastructure
  
  We haven't used the GNU versions of these tools for some time.

Deleted:
  head/gnu/usr.bin/binutils/objcopy/
  head/gnu/usr.bin/binutils/objdump/
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361859 - in head/sys/powerpc: aim include powerpc

2020-06-05 Thread Justin Hibbits
Author: jhibbits
Date: Sat Jun  6 02:40:52 2020
New Revision: 361859
URL: https://svnweb.freebsd.org/changeset/base/361859

Log:
  powerpc: Add a (CPU/runtime features) flags set to pcpu struct
  
  Summary:
  The point of this addition is to cache CPU behavior 'features', to avoid
  having to recompute based on CPU, etc.
  
  The first such use case is to avoid the unnecessary manipulation of the
  SLBs (Segment Lookaside Buffers) when using the Radix pmap on POWER9.
  Since we already get the PCPU pointer wherever we swap the SLB entries,
  we can use a cached flag to check if it's necessary to perform the
  operation anyway, and skip it when not.
  
  Reviewed by:  bdragon
  Differential Revision:https://reviews.freebsd.org/D24908

Modified:
  head/sys/powerpc/aim/mmu_radix.c
  head/sys/powerpc/aim/trap_subr64.S
  head/sys/powerpc/include/pcpu.h
  head/sys/powerpc/powerpc/db_interface.c
  head/sys/powerpc/powerpc/genassym.c
  head/sys/powerpc/powerpc/mp_machdep.c

Modified: head/sys/powerpc/aim/mmu_radix.c
==
--- head/sys/powerpc/aim/mmu_radix.cSat Jun  6 02:28:21 2020
(r361858)
+++ head/sys/powerpc/aim/mmu_radix.cSat Jun  6 02:40:52 2020
(r361859)
@@ -2327,6 +2327,7 @@ mmu_radix_bootstrap(vm_offset_t start, vm_offset_t end
printf("%s done\n", __func__);
pmap_bootstrapped = 1;
dmaplimit = roundup2(powerpc_ptob(Maxmem), L2_PAGE_SIZE);
+   PCPU_SET(flags, PCPU_GET(flags) | PC_FLAG_NOSRS);
 }
 
 static void

Modified: head/sys/powerpc/aim/trap_subr64.S
==
--- head/sys/powerpc/aim/trap_subr64.S  Sat Jun  6 02:28:21 2020
(r361858)
+++ head/sys/powerpc/aim/trap_subr64.S  Sat Jun  6 02:40:52 2020
(r361859)
@@ -87,6 +87,9 @@ restore_usersrs:
  */
 restore_kernsrs:
GET_CPUINFO(%r28)
+   lwz %r29, PC_FLAGS(%r28)
+   mtcr%r29
+   btlr0
addi%r28,%r28,PC_KERNSLB
ld  %r29,16(%r28)   /* One past USER_SLB_SLOT */
cmpdi   %r29,0
@@ -270,9 +273,13 @@ restore_kernsrs:
std %r29,(savearea+CPUSAVE_R29)(%r3);   \
std %r30,(savearea+CPUSAVE_R30)(%r3);   \
std %r31,(savearea+CPUSAVE_R31)(%r3);   \
+   lwz %r28,PC_FLAGS(%r3); \
+   mtcr%r28;   \
+   bt  0, 0f;  /* Check to skip restoring SRs. */  \
mflr%r27;   /* preserve LR */   \
bl  restore_usersrs;/* uses r28-r31 */  \
mtlr%r27;   \
+0: \
ld  %r31,(savearea+CPUSAVE_R31)(%r3);   \
ld  %r30,(savearea+CPUSAVE_R30)(%r3);   \
ld  %r29,(savearea+CPUSAVE_R29)(%r3);   \

Modified: head/sys/powerpc/include/pcpu.h
==
--- head/sys/powerpc/include/pcpu.h Sat Jun  6 02:28:21 2020
(r361858)
+++ head/sys/powerpc/include/pcpu.h Sat Jun  6 02:40:52 2020
(r361859)
@@ -50,6 +50,7 @@ struct pvo_entry;
int pc_bsp; \
volatile intpc_awake;   \
uint32_tpc_ipimask; \
+   uint32_tpc_flags;   /* cpu feature flags */ \
register_t  pc_tempsave[CPUSAVE_LEN];   \
register_t  pc_disisave[CPUSAVE_LEN];   \
register_t  pc_dbsave[CPUSAVE_LEN]; \
@@ -76,6 +77,9 @@ struct pvo_entry;
 #else
 #define PCPU_MD_AIM_FIELDS PCPU_MD_AIM32_FIELDS
 #endif
+
+/* CPU feature flags, can be used for cached flow control. */
+#definePC_FLAG_NOSRS   0x8000
 
 #defineBOOKE_CRITSAVE_LEN  (CPUSAVE_LEN + 2)
 #defineBOOKE_TLB_MAXNEST   4

Modified: head/sys/powerpc/powerpc/db_interface.c
==
--- head/sys/powerpc/powerpc/db_interface.c Sat Jun  6 02:28:21 2020
(r361858)
+++ head/sys/powerpc/powerpc/db_interface.c Sat Jun  6 02:40:52 2020
(r361859)
@@ -91,4 +91,5 @@ db_show_mdpcpu(struct pcpu *pc)
 
db_printf("PPC: hwref   = %#zx\n", pc->pc_hwref);
db_printf("PPC: ipimask = %#x\n", pc->pc_ipimask);
+   db_printf("PPC: flags   = %#x\n", pc->pc_flags);
 }

Modified: head/sys/powerpc/powerpc/genassym.c
==
--- head/sys/

svn commit: r361858 - head/share/man/man5

2020-06-05 Thread Ed Maste
Author: emaste
Date: Sat Jun  6 02:28:21 2020
New Revision: 361858
URL: https://svnweb.freebsd.org/changeset/base/361858

Log:
  src.conf.5: regen after r361857, BINUTILS_BOOTSTRAP off by default

Modified:
  head/share/man/man5/src.conf.5

Modified: head/share/man/man5/src.conf.5
==
--- head/share/man/man5/src.conf.5  Sat Jun  6 02:27:28 2020
(r361857)
+++ head/share/man/man5/src.conf.5  Sat Jun  6 02:28:21 2020
(r361858)
@@ -1,6 +1,6 @@
 .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
 .\" $FreeBSD$
-.Dd May 30, 2020
+.Dd June 5, 2020
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -188,18 +188,9 @@ Build and install GNU
 as part of the normal system build.
 This option is not available as of
 .Fx 13.0 .
-.It Va WITHOUT_BINUTILS_BOOTSTRAP
-Do not build GNU binutils
-as part of the bootstrap process.
-.Pp
-This is a default setting on
-arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mips, mips/mips64, 
powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
 .It Va WITH_BINUTILS_BOOTSTRAP
 Build GNU binutils
 as part of the bootstrap process.
-.Pp
-This is a default setting on
-amd64/amd64.
 .It Va WITHOUT_BLACKLIST
 Set this if you do not want to build
 .Xr blacklistd 8
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361857 - head/share/mk

2020-06-05 Thread Ed Maste
Author: emaste
Date: Sat Jun  6 02:27:28 2020
New Revision: 361857
URL: https://svnweb.freebsd.org/changeset/base/361857

Log:
  src.opts.mk: disable BINUTILS_BOOTSTRAP universally
  
  As of r361853 skein_block_asm.S is assembled using Clang's integrated
  assembler.
  
  PR:   233611
  Sponsored by: The FreeBSD Foundation

Modified:
  head/share/mk/src.opts.mk

Modified: head/share/mk/src.opts.mk
==
--- head/share/mk/src.opts.mk   Sat Jun  6 01:56:30 2020(r361856)
+++ head/share/mk/src.opts.mk   Sat Jun  6 02:27:28 2020(r361857)
@@ -201,6 +201,7 @@ __DEFAULT_NO_OPTIONS = \
 BEARSSL \
 BHYVE_SNAPSHOT \
 BINUTILS \
+BINUTILS_BOOTSTRAP \
 BSD_GREP \
 CLANG_EXTRAS \
 DTRACE_TESTS \
@@ -290,12 +291,6 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF
 # In-tree binutils/gcc are older versions without modern architecture support.
 .if ${__T} == "aarch64" || ${__T:Mriscv*} != ""
 BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GDB
-.endif
-# BINUTILS_BOOTSTRAP is needed on amd64 only, for skein_block_asm.s
-.if ${__T} == "amd64"
-__DEFAULT_YES_OPTIONS+=BINUTILS_BOOTSTRAP
-.else
-__DEFAULT_NO_OPTIONS+=BINUTILS_BOOTSTRAP
 .endif
 .if ${__T:Mriscv*} != ""
 BROKEN_OPTIONS+=OFED
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361856 - in stable: 11/stand/common 12/stand/common

2020-06-05 Thread Kyle Evans
Author: kevans
Date: Sat Jun  6 01:56:30 2020
New Revision: 361856
URL: https://svnweb.freebsd.org/changeset/base/361856

Log:
  MFC r361763: lualoader: drop the filename and word "LUA" from errors
  
  The filename is nearly always wrong since it's /boot/lua/loader.lua, which
  is not useful for diagnostics. The actual errmsg will include a lua filename
  if this is relevant.
  
  Dropping "LUA" while we're here because that's almost universally
  irrelevant to whatever error follows, unless the error states that it's
  actually a lua problem.
  
  Both of these are minor nits that just detract from identifying the
  pertinent information.

Modified:
  stable/11/stand/common/interp_lua.c
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/12/stand/common/interp_lua.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/11/stand/common/interp_lua.c
==
--- stable/11/stand/common/interp_lua.c Sat Jun  6 00:47:59 2020
(r361855)
+++ stable/11/stand/common/interp_lua.c Sat Jun  6 01:56:30 2020
(r361856)
@@ -126,7 +126,7 @@ interp_init(void)
if (interp_include(filename) != 0) {
const char *errstr = lua_tostring(luap, -1);
errstr = errstr == NULL ? "unknown" : errstr;
-   printf("Startup error in %s:\nLUA ERROR: %s.\n", filename, 
errstr);
+   printf("ERROR: %s.\n", errstr);
lua_pop(luap, 1);
setenv("autoboot_delay", "NO", 1);
}
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361856 - in stable: 11/stand/common 12/stand/common

2020-06-05 Thread Kyle Evans
Author: kevans
Date: Sat Jun  6 01:56:30 2020
New Revision: 361856
URL: https://svnweb.freebsd.org/changeset/base/361856

Log:
  MFC r361763: lualoader: drop the filename and word "LUA" from errors
  
  The filename is nearly always wrong since it's /boot/lua/loader.lua, which
  is not useful for diagnostics. The actual errmsg will include a lua filename
  if this is relevant.
  
  Dropping "LUA" while we're here because that's almost universally
  irrelevant to whatever error follows, unless the error states that it's
  actually a lua problem.
  
  Both of these are minor nits that just detract from identifying the
  pertinent information.

Modified:
  stable/12/stand/common/interp_lua.c
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/stand/common/interp_lua.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/12/stand/common/interp_lua.c
==
--- stable/12/stand/common/interp_lua.c Sat Jun  6 00:47:59 2020
(r361855)
+++ stable/12/stand/common/interp_lua.c Sat Jun  6 01:56:30 2020
(r361856)
@@ -126,7 +126,7 @@ interp_init(void)
if (interp_include(filename) != 0) {
const char *errstr = lua_tostring(luap, -1);
errstr = errstr == NULL ? "unknown" : errstr;
-   printf("Startup error in %s:\nLUA ERROR: %s.\n", filename, 
errstr);
+   printf("ERROR: %s.\n", errstr);
lua_pop(luap, 1);
setenv("autoboot_delay", "NO", 1);
}
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361855 - head/sys/vm

2020-06-05 Thread Chuck Silvers
Author: chs
Date: Sat Jun  6 00:47:59 2020
New Revision: 361855
URL: https://svnweb.freebsd.org/changeset/base/361855

Log:
  Don't mark pages as valid if reading the contents from disk fails.
  Instead, just skip marking pages valid if the read fails.  Future
  attempts to access such pages will notice that they are not marked valid
  and try to read them from disk again.
  
  Reviewed by:  kib, markj
  Sponsored by: Netflix
  Differential Revision:https://reviews.freebsd.org/D25138

Modified:
  head/sys/vm/vnode_pager.c

Modified: head/sys/vm/vnode_pager.c
==
--- head/sys/vm/vnode_pager.c   Sat Jun  6 00:40:02 2020(r361854)
+++ head/sys/vm/vnode_pager.c   Sat Jun  6 00:47:59 2020(r361855)
@@ -1150,28 +1150,30 @@ vnode_pager_generic_getpages_done(struct buf *bp)
if (mt == bogus_page)
continue;
 
-   if (nextoff <= object->un_pager.vnp.vnp_size) {
-   /*
-* Read filled up entire page.
-*/
-   vm_page_valid(mt);
-   KASSERT(mt->dirty == 0,
-   ("%s: page %p is dirty", __func__, mt));
-   KASSERT(!pmap_page_is_mapped(mt),
-   ("%s: page %p is mapped", __func__, mt));
-   } else {
-   /*
-* Read did not fill up entire page.
-*
-* Currently we do not set the entire page valid,
-* we just try to clear the piece that we couldn't
-* read.
-*/
-   vm_page_set_valid_range(mt, 0,
-   object->un_pager.vnp.vnp_size - tfoff);
-   KASSERT((mt->dirty & vm_page_bits(0,
-   object->un_pager.vnp.vnp_size - tfoff)) == 0,
-   ("%s: page %p is dirty", __func__, mt));
+   if (error == 0) {
+   if (nextoff <= object->un_pager.vnp.vnp_size) {
+   /*
+* Read filled up entire page.
+*/
+   vm_page_valid(mt);
+   KASSERT(mt->dirty == 0,
+   ("%s: page %p is dirty", __func__, mt));
+   KASSERT(!pmap_page_is_mapped(mt),
+   ("%s: page %p is mapped", __func__, mt));
+   } else {
+   /*
+* Read did not fill up entire page.
+*
+* Currently we do not set the entire page
+* valid, we just try to clear the piece that
+* we couldn't read.
+*/
+   vm_page_set_valid_range(mt, 0,
+   object->un_pager.vnp.vnp_size - tfoff);
+   KASSERT((mt->dirty & vm_page_bits(0,
+   object->un_pager.vnp.vnp_size - tfoff)) ==
+   0, ("%s: page %p is dirty", __func__, mt));
+   }
}
 
if (i < bp->b_pgbefore || i >= bp->b_npages - bp->b_pgafter)
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361854 - head/usr.sbin/mountd

2020-06-05 Thread Rick Macklem
Author: rmacklem
Date: Sat Jun  6 00:40:02 2020
New Revision: 361854
URL: https://svnweb.freebsd.org/changeset/base/361854

Log:
  Fix mountd so that it will not lose SIGHUPs that indicate "reload exports".
  
  Without this patch, if a SIGHUP is handled while the process is executing
  get_exportlist(), that SIGHUP is essentially ignored because the got_sighup
  variable is reset to 0 after get_exportlist().
  This results in the exports file(s) not being reloaded until another SIGHUP
  signal is sent to mountd.
  This patch fixes this by resetting got_sighup to zero before the
  get_exportlist() call while SIGHUP is blocked.
  It also defines a delay time of 250msec before doing another exports reload
  if there are RPC request(s) to process. This prevents repeated exports reloads
  from delaying handling of RPC requests significantly.
  
  PR:   246597
  Reported by:  patrykkotlow...@gmail.com
  Tested by:patrykkotlow...@gmail.com
  Reviewed by:  markj
  MFC after:2 weeks
  Differential Revision:https://reviews.freebsd.org/D25127

Modified:
  head/usr.sbin/mountd/mountd.c

Modified: head/usr.sbin/mountd/mountd.c
==
--- head/usr.sbin/mountd/mountd.c   Sat Jun  6 00:35:41 2020
(r361853)
+++ head/usr.sbin/mountd/mountd.c   Sat Jun  6 00:40:02 2020
(r361854)
@@ -184,6 +184,12 @@ struct fhreturn {
 
 #defineGETPORT_MAXTRY  20  /* Max tries to get a port # */
 
+/*
+ * How long to delay a reload of exports when there are RPC request(s)
+ * to process, in usec.  Must be less than 1second.
+ */
+#defineRELOADDELAY 25
+
 /* Global defs */
 static char*add_expdir(struct dirlist **, char *, int);
 static voidadd_dlist(struct dirlist **, struct dirlist *,
@@ -410,6 +416,10 @@ main(int argc, char **argv)
int maxrec = RPC_MAXDATASIZE;
int attempt_cnt, port_len, port_pos, ret;
char **port_list;
+   uint64_t curtime, nexttime;
+   struct timeval tv;
+   struct timespec tp;
+   sigset_t sighup_mask;
 
/* Check that another mountd isn't already running. */
pfh = pidfile_open(_PATH_MOUNTDPID, 0600, &otherpid);
@@ -665,19 +675,49 @@ main(int argc, char **argv)
}
 
/* Expand svc_run() here so that we can call get_exportlist(). */
+   curtime = nexttime = 0;
+   sigemptyset(&sighup_mask);
+   sigaddset(&sighup_mask, SIGHUP);
for (;;) {
-   if (got_sighup) {
-   get_exportlist(1);
+   clock_gettime(CLOCK_MONOTONIC, &tp);
+   curtime = tp.tv_sec;
+   curtime = curtime * 100 + tp.tv_nsec / 1000;
+   sigprocmask(SIG_BLOCK, &sighup_mask, NULL);
+   if (got_sighup && curtime >= nexttime) {
got_sighup = 0;
-   }
+   sigprocmask(SIG_UNBLOCK, &sighup_mask, NULL);
+   get_exportlist(1);
+   clock_gettime(CLOCK_MONOTONIC, &tp);
+   nexttime = tp.tv_sec;
+   nexttime = nexttime * 100 + tp.tv_nsec / 1000 +
+   RELOADDELAY;
+   } else
+   sigprocmask(SIG_UNBLOCK, &sighup_mask, NULL);
+
+   /*
+* If a reload is pending, poll for received request(s),
+* otherwise set a RELOADDELAY timeout, since a SIGHUP
+* could be processed between the got_sighup test and
+* the select() system call.
+*/
+   tv.tv_sec = 0;
+   if (got_sighup)
+   tv.tv_usec = 0;
+   else
+   tv.tv_usec = RELOADDELAY;
readfds = svc_fdset;
-   switch (select(svc_maxfd + 1, &readfds, NULL, NULL, NULL)) {
+   switch (select(svc_maxfd + 1, &readfds, NULL, NULL, &tv)) {
case -1:
-   if (errno == EINTR)
-continue;
+   if (errno == EINTR) {
+   /* Allow a reload now. */
+   nexttime = 0;
+   continue;
+   }
syslog(LOG_ERR, "mountd died: select: %m");
exit(1);
case 0:
+   /* Allow a reload now. */
+   nexttime = 0;
continue;
default:
svc_getreqset(&readfds);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361853 - in head: lib/libmd sys/crypto/skein/amd64 sys/modules/crypto

2020-06-05 Thread Ed Maste
Author: emaste
Date: Sat Jun  6 00:35:41 2020
New Revision: 361853
URL: https://svnweb.freebsd.org/changeset/base/361853

Log:
  Rename skein_block_asm.s to .S and assemble using Clang IAS
  
  Comparing the object files produced by GNU as 2.17.50 and Clang IAS
  shows many immaterial changes in strtab etc., and one material change
  in .text:
  
 1bac:  4c 8b 4f 18 mov0x18(%rdi),%r9
 1bb0:  eb 0e   jmp1bc0 
  -  1bb2:  66 66 2e 0f 1f 84 00data16 nopw %cs:0x0(%rax,%rax,1)
  -  1bb9:  00 00 00 00
  -  1bbd:  0f 1f 00nopl   (%rax)
  +  1bb2:  66 2e 0f 1f 84 00 00nopw   %cs:0x0(%rax,%rax,1)
  +  1bb9:  00 00 00
  +  1bbc:  0f 1f 40 00 nopl   0x0(%rax)
  
   1bc0 :
   Skein1024_block_loop():
 1bc0:  4c 8b 47 10 mov0x10(%rdi),%r8
 1bc4:  4c 03 85 c0 00 00 00add0xc0(%rbp),%r8
  
  That is, GNU as and Clang's integrated assembler use different multi-
  byte NOPs for alignment (GNU as emits an 11 byte NOP + a 3 byte NOP,
  while Clang IAS emits a 10 byte NOP + a 4 byte NOP).
  
  Dependency cleanup hacks are not required, because we do not create
  .depend files from GNU as.
  
  Reviewed by:  allanjude, arichardson, cem, tsoome
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D8434

Added:
  head/sys/crypto/skein/amd64/skein_block_asm.S
 - copied unchanged from r361852, 
head/sys/crypto/skein/amd64/skein_block_asm.s
Deleted:
  head/sys/crypto/skein/amd64/skein_block_asm.s
Modified:
  head/lib/libmd/Makefile
  head/sys/modules/crypto/Makefile

Modified: head/lib/libmd/Makefile
==
--- head/lib/libmd/Makefile Sat Jun  6 00:02:50 2020(r361852)
+++ head/lib/libmd/Makefile Sat Jun  6 00:35:41 2020(r361853)
@@ -116,18 +116,15 @@ CFLAGS+= -DSHA1_ASM
 SRCS+= rmd160.S
 CFLAGS+= -DRMD160_ASM
 .endif
-.if exists(${MACHINE_ARCH}/skein_block_asm.s)
-.if defined(XAS) || ${MK_BINUTILS_BOOTSTRAP} != "no"
-AFLAGS += --strip-local-absolute
+.if exists(${MACHINE_ARCH}/skein_block_asm.S)
 # Fully unroll all loops in the assembly optimized version
-AFLAGS+= --defsym SKEIN_LOOP=0 --defsym SKEIN_USE_ASM=1792
-SRCS+= skein_block_asm.s
+ACFLAGS+= -DSKEIN_LOOP=0
+SRCS+= skein_block_asm.S
 CFLAGS+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace 
with assembly: 256+512+1024 = 1792
 .else
 .warning as not available: not using optimized Skein asm
 .endif
-.endif
-.if exists(${MACHINE_ARCH}/sha.S) || exists(${MACHINE_ARCH}/rmd160.S) || 
exists(${MACHINE_ARCH}/skein_block_asm.s)
+.if exists(${MACHINE_ARCH}/sha.S) || exists(${MACHINE_ARCH}/rmd160.S) || 
exists(${MACHINE_ARCH}/skein_block_asm.S)
 ACFLAGS+= -DELF -Wa,--noexecstack
 .endif
 .endif # ${USE_ASM_SOURCES} != 0

Copied: head/sys/crypto/skein/amd64/skein_block_asm.S (from r361852, 
head/sys/crypto/skein/amd64/skein_block_asm.s)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/crypto/skein/amd64/skein_block_asm.S   Sat Jun  6 00:35:41 
2020(r361853, copy of r361852, 
head/sys/crypto/skein/amd64/skein_block_asm.s)
@@ -0,0 +1,1333 @@
+#
+#
+# 64-bit x86 assembler code (gnu as) for Skein block functions
+#
+# Author: Doug Whiting, Hifn/Exar
+#
+# This code is released to the public domain.
+#
+# $FreeBSD$
+#
+.text
+.altmacro
+#ifndef __clang__
+.psize 0,128#list file has no page boundaries
+#endif
+#
+_MASK_ALL_  =  (256+512+1024)   #all three algorithm bits
+_MAX_FRAME_ =  240
+#
+#
+#ifndef SKEIN_USE_ASM
+_USE_ASM_ = _MASK_ALL_
+#else
+_USE_ASM_ = SKEIN_USE_ASM
+#endif
+#
+#configure loop unrolling
+#ifndef SKEIN_LOOP
+_SKEIN_LOOP   =   2 #default is fully unrolled for 
256/512, twice for 1024
+#else
+_SKEIN_LOOP   = SKEIN_LOOP
+  .irp _NN_,%_SKEIN_LOOP#only display loop unrolling if 
default changed on command line
+#.print  "+++ SKEIN_LOOP = \_NN_"
+  .endr
+#endif
+# the unroll counts (0 --> fully unrolled)
+SKEIN_UNROLL_256  = (_SKEIN_LOOP / 100) % 10
+SKEIN_UNROLL_512  = (_SKEIN_LOOP /  10) % 10
+SKEIN_UNROLL_1024 = (_SKEIN_LOOP  ) % 10
+#
+SKEIN_ASM_UNROLL  = 0
+  .irp _NN_,256,512,1024
+.if (SKEIN_UNROLL_\_NN_) == 0
+SKEIN_ASM_UNROLL  = SKEIN_ASM_UNROLL + \_NN_
+.endif
+  .endr
+#
+#
+.ifndef SKEIN_ROUNDS
+ROUNDS_256  =   72
+ROUNDS_512  =   72
+ROUNDS_1024 =   80
+.else
+ROUNDS_256  = 8*SKEIN_ROUNDS / 100) + 5) % 10) + 5)
+ROUNDS_512  = 8*SKEIN_ROUNDS /  10) + 5) % 10) + 5)
+ROUNDS_1024 = 8*SKEIN_ROUNDS  ) + 5) % 10) + 5)
+# only display rounds if default

svn commit: r361852 - head/sys/kern

2020-06-05 Thread Chuck Silvers
Author: chs
Date: Sat Jun  6 00:02:50 2020
New Revision: 361852
URL: https://svnweb.freebsd.org/changeset/base/361852

Log:
  Fix hang due to missing unbusy in sendfile when an async data I/O fails.
  
  r359473 removed the page unbusy logic from sendfile_iodone() because when
  vm_pager_get_pages_async() would return an error after failing to start
  the async I/O (eg. because VOP_BMAP failed), sendfile_swapin() would also
  unbusy the pages, and it was wrong to unbusy twice.  However this breaks
  the case where vm_pager_get_pages_async() succeeds in starting an async I/O
  and the async I/O is what fails.  In this case, sendfile_iodone() must
  unbusy the pages, and because sendfile_iodone() doesn't know which case
  it is in, sendfile_iodone() must always unbusy pages and relookup pages
  which have been substituted with bogus_page, which in turn means that
  sendfile_swapin() must never do unbusy or relookup for pages which have
  been given to vm_pager_get_pages_async(), even if there is an error.
  
  Reviewed by:  kib, markj
  Sponsored by: Netflix
  Differential Revision:https://reviews.freebsd.org/D25136

Modified:
  head/sys/kern/kern_sendfile.c

Modified: head/sys/kern/kern_sendfile.c
==
--- head/sys/kern/kern_sendfile.c   Fri Jun  5 22:07:10 2020
(r361851)
+++ head/sys/kern/kern_sendfile.c   Sat Jun  6 00:02:50 2020
(r361852)
@@ -292,36 +292,30 @@ sendfile_iodone(void *arg, vm_page_t *pa, int count, i
struct socket *so;
int i;
 
-   if (error != 0) {
+   if (error != 0)
sfio->error = error;
-   /*
-* Restore of the pg[] elements is done by
-* sendfile_swapin().
-*/
-   } else {
-   /*
-* Restore the valid page pointers.  They are already
-* unbusied, but still wired.  For error != 0 case,
-* sendfile_swapin() handles unbusy.
-*
-* XXXKIB since pages are only wired, and we do not
-* own the object lock, other users might have
-* invalidated them in meantime.  Similarly, after we
-* unbusied the swapped-in pages, they can become
-* invalid under us.
-*/
-   MPASS(count == 0 || pa[0] != bogus_page);
-   for (i = 0; i < count; i++) {
-   if (pa[i] == bogus_page) {
-   sfio->pa[(pa[0]->pindex - sfio->pindex0) + i] =
-   pa[i] = vm_page_relookup(sfio->obj,
-   pa[0]->pindex + i);
-   KASSERT(pa[i] != NULL,
-   ("%s: page %p[%d] disappeared",
-   __func__, pa, i));
-   } else {
-   vm_page_xunbusy_unchecked(pa[i]);
-   }
+
+   /*
+* Restore the valid page pointers.  They are already
+* unbusied, but still wired.
+*
+* XXXKIB since pages are only wired, and we do not
+* own the object lock, other users might have
+* invalidated them in meantime.  Similarly, after we
+* unbusied the swapped-in pages, they can become
+* invalid under us.
+*/
+   MPASS(count == 0 || pa[0] != bogus_page);
+   for (i = 0; i < count; i++) {
+   if (pa[i] == bogus_page) {
+   sfio->pa[(pa[0]->pindex - sfio->pindex0) + i] =
+   pa[i] = vm_page_relookup(sfio->obj,
+   pa[0]->pindex + i);
+   KASSERT(pa[i] != NULL,
+   ("%s: page %p[%d] disappeared",
+   __func__, pa, i));
+   } else {
+   vm_page_xunbusy_unchecked(pa[i]);
}
}
 
@@ -534,22 +528,12 @@ sendfile_swapin(vm_object_t obj, struct sf_io *sfio, i
sendfile_iowait(sfio, "sferrio");
 
/*
-* Perform full pages recovery before returning EIO.
+* Do remaining pages recovery before returning EIO.
 * Pages from 0 to npages are wired.
-* Pages from (i + 1) to (i + count - 1) may be
-* substituted to bogus page, and not busied.
-* Pages from (i + count) to (i + count1 - 1) are
-* not busied.
-* Rest of the pages from i to npages are busied.
+* Pages from (i + count1) to npages are busied.
 */
for (j = 0; j < npages; j++) {
-   if (j >= i + count && j < i + count1)
- 

svn commit: r361851 - svnadmin/conf

2020-06-05 Thread Warner Losh
Author: imp
Date: Fri Jun  5 22:07:10 2020
New Revision: 361851
URL: https://svnweb.freebsd.org/changeset/base/361851

Log:
  Free Chuck Silvers from mentorship

Modified:
  svnadmin/conf/mentors

Modified: svnadmin/conf/mentors
==
--- svnadmin/conf/mentors   Fri Jun  5 20:18:55 2020(r361850)
+++ svnadmin/conf/mentors   Fri Jun  5 22:07:10 2020(r361851)
@@ -14,7 +14,6 @@ afedorov  vmaffione   Co-mentor: jhb
 alfredojhibbits
 anish  jhb
 brdallanjude   Co-mentor: bapt
-chsimp
 freqlabs   mav Co-mentor: mmacy
 gordon delphij Co-mentor: emaste
 jceel  trasz
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361790 - head/sbin/ifconfig

2020-06-05 Thread Shawn Webb
On Sat, Jun 06, 2020 at 03:20:57AM +0700, Eugene Grosbein wrote:
> 05.06.2020 4:45, Shawn Webb wrote:
> 
> >> Modified: head/sbin/ifconfig/ifconfig.8
> >> ==
> >> --- head/sbin/ifconfig/ifconfig.8  Thu Jun  4 14:15:39 2020
> >> (r361789)
> >> +++ head/sbin/ifconfig/ifconfig.8  Thu Jun  4 14:44:44 2020
> >> (r361790)
> > 
> > Hey Eugene,
> > 
> > Does the manpage need a date bump?
> 
> It was already bumped that day with previous commit by avg.
> Sorry for late reply.

No worries. I didn't catch the prior date bump. Thanks for the
clarification! :)

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

GPG Key ID:  0xFF2E67A277F8E1FA
GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9  3633 C85B 0AF8 AB23 0FB2
https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc


signature.asc
Description: PGP signature


Re: svn commit: r361790 - head/sbin/ifconfig

2020-06-05 Thread Eugene Grosbein
05.06.2020 4:45, Shawn Webb wrote:

>> Modified: head/sbin/ifconfig/ifconfig.8
>> ==
>> --- head/sbin/ifconfig/ifconfig.8Thu Jun  4 14:15:39 2020
>> (r361789)
>> +++ head/sbin/ifconfig/ifconfig.8Thu Jun  4 14:44:44 2020
>> (r361790)
> 
> Hey Eugene,
> 
> Does the manpage need a date bump?

It was already bumped that day with previous commit by avg.
Sorry for late reply.


___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361850 - head

2020-06-05 Thread Ed Maste
Author: emaste
Date: Fri Jun  5 20:18:55 2020
New Revision: 361850
URL: https://svnweb.freebsd.org/changeset/base/361850

Log:
  Makefile.inc1: remove stale dependency cleanup from 2018

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Fri Jun  5 20:14:54 2020(r361849)
+++ head/Makefile.inc1  Fri Jun  5 20:18:55 2020(r361850)
@@ -1559,12 +1559,6 @@ INSTALLKERNEL= ${_kernel}
 .endfor
 
 _cleankernobj_fast_depend_hack: .PHONY
-# 20180320 remove stale generated assym.s after renaming to .inc in r331254
-   @if [ -e "${OBJTOP}/sys/${KERNCONF}/assym.s" ]; then \
-   echo "Removing stale generated assym files"; \
-   rm -f ${OBJTOP}/sys/${KERNCONF}/assym.* \
-   ${OBJTOP}/sys/${KERNCONF}/.depend.assym.*; \
-   fi
 # 20191009  r353340  removal of opensolaris_atomic.S (also r353381)
 .if ${MACHINE} != i386
 .for f in opensolaris_atomic
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361849 - head/sys/gnu/dts/arm

2020-06-05 Thread Emmanuel Vadot
Author: manu
Date: Fri Jun  5 20:14:54 2020
New Revision: 361849
URL: https://svnweb.freebsd.org/changeset/base/361849

Log:
  dts: patch the am33xx dts for upcoming clock support
  
  Some ranges are too small compared to what they really are.
  Add functional clocks for the timers.
  
  Submitted by:  Oskar Holmlund (oskar.holml...@ohdata.se)
  X-Differential Revision:  https://reviews.freebsd.org/D25118

Modified:
  head/sys/gnu/dts/arm/am33xx-l4.dtsi
  head/sys/gnu/dts/arm/am33xx.dtsi

Modified: head/sys/gnu/dts/arm/am33xx-l4.dtsi
==
--- head/sys/gnu/dts/arm/am33xx-l4.dtsi Fri Jun  5 20:09:13 2020
(r361848)
+++ head/sys/gnu/dts/arm/am33xx-l4.dtsi Fri Jun  5 20:14:54 2020
(r361849)
@@ -1167,6 +1167,8 @@
compatible = "ti,am335x-timer";
reg = <0x0 0x400>;
interrupts = <69>;
+   clocks = <&timer3_fck>;
+   clock-names = "fck";
};
};
 
@@ -1193,6 +1195,8 @@
reg = <0x0 0x400>;
interrupts = <92>;
ti,timer-pwm;
+   clocks = <&timer4_fck>;
+   clock-names = "fck";
};
};
 
@@ -1219,6 +1223,8 @@
reg = <0x0 0x400>;
interrupts = <93>;
ti,timer-pwm;
+   clocks = <&timer5_fck>;
+   clock-names = "fck";
};
};
 
@@ -1245,6 +1251,8 @@
reg = <0x0 0x400>;
interrupts = <94>;
ti,timer-pwm;
+   clocks = <&timer6_fck>;
+   clock-names = "fck";
};
};
 
@@ -1271,6 +1279,8 @@
reg = <0x0 0x400>;
interrupts = <95>;
ti,timer-pwm;
+   clocks = <&timer7_fck>;
+   clock-names = "fck";
};
};
 

Modified: head/sys/gnu/dts/arm/am33xx.dtsi
==
--- head/sys/gnu/dts/arm/am33xx.dtsiFri Jun  5 20:09:13 2020
(r361848)
+++ head/sys/gnu/dts/arm/am33xx.dtsiFri Jun  5 20:14:54 2020
(r361849)
@@ -336,7 +336,7 @@
  <0x47400010 0x4>;
reg-names = "rev", "sysc";
ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
-SYSC_OMAP2_SOFTRESET)>;
+SYSC_OMAP4_SOFTRESET)>;
ti,sysc-midle = ,
,
;
@@ -348,7 +348,7 @@
clock-names = "fck";
#address-cells = <1>;
#size-cells = <1>;
-   ranges = <0x0 0x4740 0x5000>;
+   ranges = <0x0 0x4740 0x8000>;
 
usb0_phy: usb-phy@1300 {
compatible = "ti,am335x-usb-phy";
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361848 - in head/sys/gnu/dts: arm arm64/allwinner arm64/altera arm64/amlogic arm64/arm arm64/freescale arm64/intel arm64/marvell arm64/mediatek arm64/nvidia arm64/qcom arm64/renesas ar...

2020-06-05 Thread Emmanuel Vadot
Author: manu
Date: Fri Jun  5 20:09:13 2020
New Revision: 361848
URL: https://svnweb.freebsd.org/changeset/base/361848

Log:
  dts: Update our copy to be in sync with Linux 5.7
  
  MFC after:2 months

Added:
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/am57-pruss.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6dl-pico-dwarf.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6dl-pico-hobbit.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6dl-pico-nymph.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6dl-pico-pi.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6q-pico-dwarf.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6q-pico-hobbit.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6q-pico-nymph.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6q-pico-pi.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6qdl-pico-dwarf.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6qdl-pico-hobbit.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6qdl-pico-nymph.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6qdl-pico-pi.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6qdl-pico.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx6ul-pico-dwarf.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx7-colibri-aster.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx7d-colibri-aster.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx7d-colibri-emmc-aster.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx7d-pico-dwarf.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx7d-pico-nymph.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/imx7s-colibri-aster.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/ste-ux500-samsung-skomer.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/stm32mp157c-dhcom-pdk2.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/stm32mp157c-dhcom-som.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/sun5i-a13-pocketbook-touch-lux-3.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm/sun7i-a20-linutronix-testbox-v2.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/allwinner/sun50i-a64-pinephone-1.0.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/allwinner/sun50i-a64-pinephone-1.1.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/allwinner/sun50i-a64-pinephone.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/allwinner/sun50i-a64-pinetab.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/fsl-ls1028a-kontron-sl28-var2.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/fsl-ls1028a-kontron-sl28-var4.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/fsl-ls1028a-kontron-sl28.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/imx8mp-evk.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/imx8mp-pinfunc.h
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/freescale/imx8mp.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/mediatek/mt8516-pinfunc.h
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/mediatek/mt8516-pumpkin.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/mediatek/mt8516.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/mediatek/pumpkin-common.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/qcom/ipq6018-cp01-c1.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/qcom/ipq6018.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/qcom/sm8250-mtp.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/qcom/sm8250.dtsi
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts
 - copied unchanged from r361846, 
vendor/device-tree/dist/src/arm64/renesas/r8a77961-ulcb.dts
 - copied 

svn commit: r361847 - vendor/device-tree/5.7

2020-06-05 Thread Emmanuel Vadot
Author: manu
Date: Fri Jun  5 19:29:38 2020
New Revision: 361847
URL: https://svnweb.freebsd.org/changeset/base/361847

Log:
  Tag import of device tree files from Linux 5.7

Added:
  vendor/device-tree/5.7/
 - copied from r361846, vendor/device-tree/dist/
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361846 - in vendor/device-tree/dist: Bindings Bindings/arm Bindings/arm/altera Bindings/arm/amlogic Bindings/arm/bcm Bindings/arm/freescale Bindings/arm/mrvl Bindings/arm/msm Bindings/...

2020-06-05 Thread Emmanuel Vadot
Author: manu
Date: Fri Jun  5 19:28:32 2020
New Revision: 361846
URL: https://svnweb.freebsd.org/changeset/base/361846

Log:
  Import DTS files from Linux 5.7

Added:
  vendor/device-tree/dist/Bindings/arm/arm,integrator.yaml
  vendor/device-tree/dist/Bindings/arm/arm,realview.yaml
  vendor/device-tree/dist/Bindings/arm/arm,versatile.yaml
  vendor/device-tree/dist/Bindings/arm/arm,vexpress-juno.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,bcm11351.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,bcm21664.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,bcm23550.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,bcm4708.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,cygnus.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,hr2.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,ns2.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,nsp.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,stingray.yaml
  vendor/device-tree/dist/Bindings/arm/bcm/brcm,vulcan-soc.yaml
  vendor/device-tree/dist/Bindings/arm/coresight-cti.yaml
  
vendor/device-tree/dist/Bindings/arm/socionext/socionext,uniphier-system-cache.yaml
  vendor/device-tree/dist/Bindings/arm/socionext/uniphier.yaml
  vendor/device-tree/dist/Bindings/arm/tegra/nvidia,tegra20-pmc.yaml
  vendor/device-tree/dist/Bindings/ata/renesas,rcar-sata.yaml
  vendor/device-tree/dist/Bindings/bus/socionext,uniphier-system-bus.yaml
  vendor/device-tree/dist/Bindings/chrome/
  vendor/device-tree/dist/Bindings/chrome/google,cros-ec-typec.yaml
  vendor/device-tree/dist/Bindings/clock/arm,syscon-icst.yaml
  vendor/device-tree/dist/Bindings/clock/imx8mm-clock.yaml
  vendor/device-tree/dist/Bindings/clock/imx8mq-clock.yaml
  vendor/device-tree/dist/Bindings/clock/marvell,mmp2-clock.yaml
  vendor/device-tree/dist/Bindings/clock/qcom,gcc-sm8250.yaml
  vendor/device-tree/dist/Bindings/clock/qcom,sc7180-mss.yaml
  vendor/device-tree/dist/Bindings/clock/renesas,cpg-mssr.yaml
  vendor/device-tree/dist/Bindings/clock/socionext,uniphier-clock.yaml
  vendor/device-tree/dist/Bindings/clock/sprd,sc9860-clk.txt   (contents, props 
changed)
  vendor/device-tree/dist/Bindings/clock/sprd,sc9863a-clk.yaml
  vendor/device-tree/dist/Bindings/clock/ti,am654-ehrpwm-tbclk.yaml
  vendor/device-tree/dist/Bindings/connector/usb-connector.yaml
  vendor/device-tree/dist/Bindings/crypto/xlnx,zynqmp-aes.yaml
  vendor/device-tree/dist/Bindings/display/bridge/ps8640.yaml
  vendor/device-tree/dist/Bindings/display/bridge/toshiba,tc358768.yaml
  vendor/device-tree/dist/Bindings/display/ilitek,ili9486.yaml
  vendor/device-tree/dist/Bindings/display/msm/gmu.yaml
  vendor/device-tree/dist/Bindings/display/panel/advantech,idk-1110wr.yaml
  vendor/device-tree/dist/Bindings/display/panel/advantech,idk-2121wr.yaml
  vendor/device-tree/dist/Bindings/display/panel/boe,tv101wum-nl6.yaml
  vendor/device-tree/dist/Bindings/display/panel/display-timings.yaml
  vendor/device-tree/dist/Bindings/display/panel/elida,kd35t133.yaml
  vendor/device-tree/dist/Bindings/display/panel/feixin,k101-im2ba02.yaml
  vendor/device-tree/dist/Bindings/display/panel/novatek,nt35510.yaml
  vendor/device-tree/dist/Bindings/display/panel/orisetech,otm8009a.yaml
  vendor/device-tree/dist/Bindings/display/panel/panel-dpi.yaml
  vendor/device-tree/dist/Bindings/display/panel/panel-simple-dsi.yaml
  vendor/device-tree/dist/Bindings/display/panel/panel-timing.yaml
  vendor/device-tree/dist/Bindings/display/panel/raydium,rm68200.yaml
  vendor/device-tree/dist/Bindings/display/panel/samsung,s6e88a0-ams452ef01.yaml
  vendor/device-tree/dist/Bindings/display/rockchip/rockchip-drm.yaml
  vendor/device-tree/dist/Bindings/display/sitronix,st7735r.yaml
  vendor/device-tree/dist/Bindings/display/ti/ti,am65x-dss.yaml
  vendor/device-tree/dist/Bindings/display/ti/ti,j721e-dss.yaml
  vendor/device-tree/dist/Bindings/display/ti/ti,k2g-dss.yaml
  vendor/device-tree/dist/Bindings/dma/socionext,uniphier-mio-dmac.yaml
  vendor/device-tree/dist/Bindings/dma/socionext,uniphier-xdmac.yaml
  vendor/device-tree/dist/Bindings/edac/dmc-520.yaml
  vendor/device-tree/dist/Bindings/extcon/extcon-usbc-cros-ec.yaml
  vendor/device-tree/dist/Bindings/fsi/ibm,fsi2spi.yaml
  vendor/device-tree/dist/Bindings/gpio/socionext,uniphier-gpio.yaml
  vendor/device-tree/dist/Bindings/gpu/vivante,gc.yaml
  vendor/device-tree/dist/Bindings/hwmon/adi,axi-fan-control.yaml
  vendor/device-tree/dist/Bindings/hwmon/adt7475.yaml
  vendor/device-tree/dist/Bindings/i2c/brcm,brcmstb-i2c.yaml
  vendor/device-tree/dist/Bindings/i2c/i2c-rk3x.yaml
  vendor/device-tree/dist/Bindings/i2c/socionext,uniphier-fi2c.yaml
  vendor/device-tree/dist/Bindings/i2c/socionext,uniphier-i2c.yaml
  vendor/device-tree/dist/Bindings/iio/adc/adi,ad7923.yaml
  vendor/device-tree/dist/Bindings/iio/adc/maxim,max1238.yaml
  vendor/device-tree/dist/Bindings/iio/adc/maxim,max1363.yaml
  vendor/device-tree/dist/Bindings/iio/adc/st,stm32-adc.yaml
  vendor/device-tree/dist/Bindings/iio/amplifiers/
  ve

svn commit: r361845 - in head: lib/libmd sys/modules/crypto

2020-06-05 Thread Ed Maste
Author: emaste
Date: Fri Jun  5 18:56:43 2020
New Revision: 361845
URL: https://svnweb.freebsd.org/changeset/base/361845

Log:
  Also pass SKEIN_USE_ASM to the assembler, via AFLAGS

Modified:
  head/lib/libmd/Makefile
  head/sys/modules/crypto/Makefile

Modified: head/lib/libmd/Makefile
==
--- head/lib/libmd/Makefile Fri Jun  5 18:44:14 2020(r361844)
+++ head/lib/libmd/Makefile Fri Jun  5 18:56:43 2020(r361845)
@@ -120,7 +120,7 @@ CFLAGS+= -DRMD160_ASM
 .if defined(XAS) || ${MK_BINUTILS_BOOTSTRAP} != "no"
 AFLAGS += --strip-local-absolute
 # Fully unroll all loops in the assembly optimized version
-AFLAGS+= --defsym SKEIN_LOOP=0
+AFLAGS+= --defsym SKEIN_LOOP=0 --defsym SKEIN_USE_ASM=1792
 SRCS+= skein_block_asm.s
 CFLAGS+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace 
with assembly: 256+512+1024 = 1792
 .else

Modified: head/sys/modules/crypto/Makefile
==
--- head/sys/modules/crypto/MakefileFri Jun  5 18:44:14 2020
(r361844)
+++ head/sys/modules/crypto/MakefileFri Jun  5 18:56:43 2020
(r361845)
@@ -34,7 +34,7 @@ SRCS  += skein_block_asm.s
 CFLAGS += -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to 
replace with assembly: 256+512+1024 = 1792
 ACFLAGS+= -DELF -Wa,--noexecstack
 # Fully unroll all loops in the assembly optimized version
-AFLAGS+= --defsym SKEIN_LOOP=0
+AFLAGS+= --defsym SKEIN_LOOP=0 --defsym SKEIN_USE_ASM=1792
 .endif
 SRCS   += siphash.c
 SRCS   += gmac.c gfmult.c
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361844 - head/lib/librtld_db

2020-06-05 Thread Mark Johnston
Author: markj
Date: Fri Jun  5 18:44:14 2020
New Revision: 361844
URL: https://svnweb.freebsd.org/changeset/base/361844

Log:
  librtld_db: Handle anonymous mappings below the first file mapping.
  
  r360979 erroneously assumed that the lowest mapping in an address space
  would be a file mapping, but of course this is not true in general.
  
  Reported and tested by:   Frederic Chardon 
  MFC after:3 days

Modified:
  head/lib/librtld_db/rtld_db.c

Modified: head/lib/librtld_db/rtld_db.c
==
--- head/lib/librtld_db/rtld_db.c   Fri Jun  5 18:37:04 2020
(r361843)
+++ head/lib/librtld_db/rtld_db.c   Fri Jun  5 18:44:14 2020
(r361844)
@@ -186,11 +186,15 @@ rd_loadobj_iter(rd_agent_t *rdap, rl_iter_f *cb, void 
 * file, but we want the mapping offset relative to the base
 * mapping.
 */
-   if (kve->kve_type == KVME_TYPE_VNODE &&
-   kve->kve_vn_fileid != fileid) {
-   base = kve->kve_start;
-   fileid = kve->kve_vn_fileid;
-   path = kve->kve_path;
+   if (kve->kve_type == KVME_TYPE_VNODE) {
+   if (kve->kve_vn_fileid != fileid) {
+   base = kve->kve_start;
+   fileid = kve->kve_vn_fileid;
+   path = kve->kve_path;
+   }
+   } else {
+   base = 0;
+   path = NULL;
}
memset(&rdl, 0, sizeof(rdl));
/*
@@ -205,7 +209,8 @@ rd_loadobj_iter(rd_agent_t *rdap, rl_iter_f *cb, void 
rdl.rdl_prot |= RD_RDL_W;
if (kve->kve_protection & KVME_PROT_EXEC)
rdl.rdl_prot |= RD_RDL_X;
-   strlcpy(rdl.rdl_path, path, sizeof(rdl.rdl_path));
+   if (path != NULL)
+   strlcpy(rdl.rdl_path, path, sizeof(rdl.rdl_path));
if ((*cb)(&rdl, clnt_data) != 0) {
ret = RD_ERR;
break;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361843 - head/sys/crypto/skein/amd64

2020-06-05 Thread Ed Maste
Author: emaste
Date: Fri Jun  5 18:37:04 2020
New Revision: 361843
URL: https://svnweb.freebsd.org/changeset/base/361843

Log:
  skein_block_asm.S: use #ifdef not .ifdef, for Clang IAS
  
  Clang IAS does not support the --defsym argument, and
  
  .ifndef SKEIN_USE_ASM
  
  gets turned into
  
  .ifndef 1792
  
  by the preprocessor, which results in
  
  error: expected identifier after '.ifdef'
  .ifndef 1792
  ^
  
  Use #ifdef instead, which still works with GNU as.
  
  Reviewed by:  cem
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D25154

Modified:
  head/sys/crypto/skein/amd64/skein_block_asm.s

Modified: head/sys/crypto/skein/amd64/skein_block_asm.s
==
--- head/sys/crypto/skein/amd64/skein_block_asm.s   Fri Jun  5 18:18:27 
2020(r361842)
+++ head/sys/crypto/skein/amd64/skein_block_asm.s   Fri Jun  5 18:37:04 
2020(r361843)
@@ -18,20 +18,21 @@ _MASK_ALL_  =  (256+512+1024)   #all three
 _MAX_FRAME_ =  240
 #
 #
-.ifndef SKEIN_USE_ASM
+#ifndef SKEIN_USE_ASM
 _USE_ASM_ = _MASK_ALL_
-.else
+#else
 _USE_ASM_ = SKEIN_USE_ASM
-.endif
+#endif
 #
-.ifndef SKEIN_LOOP  #configure loop unrolling
+#configure loop unrolling
+#ifndef SKEIN_LOOP
 _SKEIN_LOOP   =   2 #default is fully unrolled for 
256/512, twice for 1024
-.else
+#else
 _SKEIN_LOOP   = SKEIN_LOOP
   .irp _NN_,%_SKEIN_LOOP#only display loop unrolling if 
default changed on command line
 #.print  "+++ SKEIN_LOOP = \_NN_"
   .endr
-.endif
+#endif
 # the unroll counts (0 --> fully unrolled)
 SKEIN_UNROLL_256  = (_SKEIN_LOOP / 100) % 10
 SKEIN_UNROLL_512  = (_SKEIN_LOOP /  10) % 10
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361783 - head/usr.bin/killall

2020-06-05 Thread Rodney W. Grimes
> It seems Conrad dropped me from his reply, so I can't include it directly,
> but...
> 
> On Thu, Jun 04, 2020 at 06:12:05AM -0700, Rodney W. Grimes wrote:
> > > 04.06.2020 11:29, Benjamin Kaduk wrote:
> > > 
> > > > Author: bjk (doc committer)
> > > > Date: Thu Jun  4 04:29:43 2020
> > > > New Revision: 361783
> > > > URL: https://svnweb.freebsd.org/changeset/base/361783
> > > > 
> > > > Log:
> > > >   Add EXAMPLES to killall(1)
> > > >   
> > > >   Submitted by: fernape
> > > >   Differential Revision:https://reviews.freebsd.org/D25002
> > > > 
> > > > Modified:
> > > >   head/usr.bin/killall/killall.1
> > > > 
> > > > Modified: head/usr.bin/killall/killall.1
> > > > ==
> > > > --- head/usr.bin/killall/killall.1  Thu Jun  4 02:36:41 2020
> > > > (r361782)
> > > > +++ head/usr.bin/killall/killall.1  Thu Jun  4 04:29:43 2020
> > > > (r361783)
> > > > @@ -145,6 +145,50 @@ utility exits 0 if some processes have been found 
> > > > and
> > > >  signalled successfully.
> > > >  Otherwise, a status of 1 will be
> > > >  returned.
> > > > +.Sh EXAMPLES
> > > > +Send
> > > > +.Dv SIGTERM
> > > > +to all firefox processes:
> > > > +.Bd -literal -offset indent
> > > > +killall firefox
> > > > +.Ed
> > > > +.Pp
> > > > +Send
> > > > +.Dv SIGTERM
> > > > +to firefox processes belonging to
> > > > +.Va USER :
> > > > +.Bd -literal -offset indent
> > > > +killall -u ${USER} firefox
> > > > +.Ed
> > > > +.Pp
> > > > +Stop all firefox processes:
> > > > +.Bd -literal -offset indent
> > > > +killall -SIGSTOP firefox
> > > > +.Ed
> > > > +.Pp
> > > > +Resume firefox processes:
> > > > +.Bd -literal -offset indent
> > > > +killall -SIGCONT firefox
> > > > +.Ed
> > > > +.Pp
> > > > +Show what would be done to firefox processes, but do not actually 
> > > > signal them:
> > > > +.Bd -literal -offset indent
> > > > +killall -s firefox
> > > > +.Ed
> > > > +.Pp
> > > > +Send
> > > > +.Dv SIGKILL
> > > > +to csh process running inside jail ID 282:
> > > > +.Bd -literal -offset indent
> > > > +killall -9 -j282 csh
> > > > +.Ed
> > > > +.Pp
> > > > +Send
> > > > +.Dv SIGTERM
> > > > +to all processes matching provided pattern (like vim and vimdiff):
> > > > +.Bd -literal -offset indent
> > > > +killall -m 'vim*'
> > > > +.Ed
> > > >  .Sh DIAGNOSTICS
> > > >  Diagnostic messages will only be printed if requested by
> > > >  .Fl d
> > > 
> > > "Firefox" is a trade mark (type of intellectual property) of Mozilla 
> > > Foundation.
> > > Is it OK for us to use this name such way?
> > > 
> > > Isn't it better using a name of some utility we have in the base system 
> > > like systat(1) ?
> > 
> > Purley out of simple safety I agree here.   Though I doubt a case could
> > be made for infringement it is just too easy to do the safe thing.
> 
> I'm not aware of any issues with using a trademark-protected term to refer
> to the product named by the mark,

Actually since you fail to recognize it as a mark with a TM notice this
does have other legal issues  much as Sony didnt recognize the TM
on FreeBSD when used Mozilla could send us a nasty gram.

Probably unlikely, but still possible.

> and don't see how one could claim that
> this usage is an attempt to dilute the mark.  I don't currently plan to
> make any further changes to this example, myself (though I will not stand
> in the way if someone else wants to blandify the example).

Good enough.

> Thanks,
> Ben
-- 
Rod Grimes rgri...@freebsd.org
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361842 - head/sbin/zfsbootcfg

2020-06-05 Thread Toomas Soome
Author: tsoome
Date: Fri Jun  5 18:18:27 2020
New Revision: 361842
URL: https://svnweb.freebsd.org/changeset/base/361842

Log:
  zfsbootcfg: use vfs.root.mountfrom and update nextboot on every vdev
  
  vfs.zfs.boot.primary_pool is only set on BIOS boot, use vfs.root.mountfrom
  instead and update all vdevs on pool.
  
  Reviewed by:  allanjude
  Sponsored by: Netflix, Klara Inc.
  Differential Revision:https://reviews.freebsd.org/D25103

Modified:
  head/sbin/zfsbootcfg/zfsbootcfg.c

Modified: head/sbin/zfsbootcfg/zfsbootcfg.c
==
--- head/sbin/zfsbootcfg/zfsbootcfg.c   Fri Jun  5 18:00:36 2020
(r361841)
+++ head/sbin/zfsbootcfg/zfsbootcfg.c   Fri Jun  5 18:18:27 2020
(r361842)
@@ -40,13 +40,44 @@ __FBSDID("$FreeBSD$");
 /* Keep in sync with zfsboot.c. */
 #define MAX_COMMAND_LEN512
 
+int
+install_bootonce(libzfs_handle_t *hdl, uint64_t pool_guid, nvlist_t *nv,
+const char * const data)
+{
+   nvlist_t **child;
+   uint_t children = 0;
+   uint64_t guid;
+   int rv;
+
+   (void) nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, &child,
+   &children);
+
+   for (int c = 0; c < children; c++) {
+   rv = install_bootonce(hdl, pool_guid, child[c], data);
+   }
+
+   if (children > 0)
+   return (rv);
+
+   if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_GUID, &guid) != 0) {
+   perror("can't get vdev guid");
+   return (1);
+   }
+   if (zpool_nextboot(hdl, pool_guid, guid, data) != 0) {
+   perror("ZFS_IOC_NEXTBOOT failed");
+   return (1);
+   }
+   return (0);
+}
+
 int main(int argc, const char * const *argv)
 {
-   char buf[32];
+   char buf[32], *name;
libzfs_handle_t *hdl;
+   zpool_handle_t *zphdl;
uint64_t pool_guid;
-   uint64_t vdev_guid;
-   int zfs_fd;
+   nvlist_t *nv, *config;
+   int rv;
int len;
 
if (argc != 2) {
@@ -60,39 +91,56 @@ int main(int argc, const char * const *argv)
return (1);
}
 
-   if (kenv(KENV_GET, "vfs.zfs.boot.primary_pool", buf, sizeof(buf)) <= 0) 
{
-   perror("can't get vfs.zfs.boot.primary_pool");
+   if (kenv(KENV_GET, "vfs.root.mountfrom", buf, sizeof(buf)) <= 0) {
+   perror("can't get vfs.root.mountfrom");
return (1);
}
-   pool_guid = strtoumax(buf, NULL, 10);
-   if (pool_guid == 0) {
-   perror("can't parse vfs.zfs.boot.primary_pool");
+
+   if (strncmp(buf, "zfs:", 4) == 0) {
+   name = strchr(buf + 4, '/');
+   if (name != NULL)
+   *name = '\0';
+   name = buf + 4;
+   } else {
+   perror("not a zfs root");
return (1);
}
-
-   if (kenv(KENV_GET, "vfs.zfs.boot.primary_vdev", buf, sizeof(buf)) <= 0) 
{
-   perror("can't get vfs.zfs.boot.primary_vdev");
+   
+   if ((hdl = libzfs_init()) == NULL) {
+   (void) fprintf(stderr, "internal error: failed to "
+   "initialize ZFS library\n");
return (1);
}
-   vdev_guid = strtoumax(buf, NULL, 10);
-   if (vdev_guid == 0) {
-   perror("can't parse vfs.zfs.boot.primary_vdev");
+
+   zphdl = zpool_open(hdl, name);
+   if (zphdl == NULL) {
+   perror("can't open pool");
+   libzfs_fini(hdl);
return (1);
}
 
-   if ((hdl = libzfs_init()) == NULL) {
-   (void) fprintf(stderr, "internal error: failed to "
-   "initialize ZFS library\n");
+   pool_guid = zpool_get_prop_int(zphdl, ZPOOL_PROP_GUID, NULL);
+
+   config = zpool_get_config(zphdl, NULL);
+   if (config == NULL) {
+   perror("can't get pool config");
+   zpool_close(zphdl);
+   libzfs_fini(hdl);
return (1);
}
 
-   if (zpool_nextboot(hdl, pool_guid, vdev_guid, argv[1]) != 0) {
-   perror("ZFS_IOC_NEXTBOOT failed");
+   if (nvlist_lookup_nvlist(config, ZPOOL_CONFIG_VDEV_TREE, &nv) != 0) {
+   perror("failed to get vdev tree");
+   zpool_close(zphdl);
libzfs_fini(hdl);
return (1);
}
 
+   rv = install_bootonce(hdl, pool_guid, nv, argv[1]);
+
+   zpool_close(zphdl);
libzfs_fini(hdl);
-   printf("zfs next boot options are successfully written\n");
-   return (0);
+   if (rv == 0)
+   printf("zfs next boot options are successfully written\n");
+   return (rv);
 }
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361841 - in stable/12/sys/netinet: . tcp_stacks

2020-06-05 Thread Richard Scheffenegger
Author: rscheff
Date: Fri Jun  5 18:00:36 2020
New Revision: 361841
URL: https://svnweb.freebsd.org/changeset/base/361841

Log:
  MFC r361346: Retain only mutually supported TCP options after simultaneous SYN
  
  When receiving a parallel SYN in SYN-SENT state, remove all the
  options only we supported locally before sending the SYN,ACK.
  
  This addresses a consistency issue on parallel opens.
  
  Also, on such a parallel open, the stack could be coaxed into
  running with timestamps enabled, even if administratively disabled.
  
  This does NOT contain the merge of the change to BBR since at this
  time that code does not exist in stable/12, and there is no plan to
  merge BBR(v1) to stable/12.
  
  Reviewed by:  tuexen (mentor)
  Approved by:  tuexen (mentor), rgrimes (mentor, blanket)
  Sponsored by: NetApp, Inc.
  Differential Revision:https://reviews.freebsd.org/D23371

Modified:
  stable/12/sys/netinet/tcp_input.c
  stable/12/sys/netinet/tcp_stacks/rack.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/netinet/tcp_input.c
==
--- stable/12/sys/netinet/tcp_input.c   Fri Jun  5 17:00:38 2020
(r361840)
+++ stable/12/sys/netinet/tcp_input.c   Fri Jun  5 18:00:36 2020
(r361841)
@@ -1667,17 +1667,20 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, stru
(tp->t_flags & TF_REQ_SCALE)) {
tp->t_flags |= TF_RCVD_SCALE;
tp->snd_scale = to.to_wscale;
-   }
+   } else
+   tp->t_flags &= ~TF_REQ_SCALE;
/*
 * Initial send window.  It will be updated with
 * the next incoming segment to the scaled value.
 */
tp->snd_wnd = th->th_win;
-   if (to.to_flags & TOF_TS) {
+   if ((to.to_flags & TOF_TS) &&
+   (tp->t_flags & TF_REQ_TSTMP)) {
tp->t_flags |= TF_RCVD_TSTMP;
tp->ts_recent = to.to_tsval;
tp->ts_recent_age = tcp_ts_getticks();
-   }
+   } else
+   tp->t_flags &= ~TF_REQ_TSTMP;
if (to.to_flags & TOF_MSS)
tcp_mss(tp, to.to_mss);
if ((tp->t_flags & TF_SACK_PERMIT) &&

Modified: stable/12/sys/netinet/tcp_stacks/rack.c
==
--- stable/12/sys/netinet/tcp_stacks/rack.c Fri Jun  5 17:00:38 2020
(r361840)
+++ stable/12/sys/netinet/tcp_stacks/rack.c Fri Jun  5 18:00:36 2020
(r361841)
@@ -6754,17 +6754,20 @@ rack_hpts_do_segment(struct mbuf *m, struct tcphdr *th
(tp->t_flags & TF_REQ_SCALE)) {
tp->t_flags |= TF_RCVD_SCALE;
tp->snd_scale = to.to_wscale;
-   }
+   } else
+   tp->t_flags &= ~TF_REQ_SCALE;
/*
 * Initial send window.  It will be updated with the
 * next incoming segment to the scaled value.
 */
tp->snd_wnd = th->th_win;
-   if (to.to_flags & TOF_TS) {
+   if ((to.to_flags & TOF_TS) &&
+   (tp->t_flags & TF_REQ_TSTMP)) {
tp->t_flags |= TF_RCVD_TSTMP;
tp->ts_recent = to.to_tsval;
tp->ts_recent_age = cts;
-   }
+   } else
+   tp->t_flags &= ~TF_REQ_TSTMP;
if (to.to_flags & TOF_MSS)
tcp_mss(tp, to.to_mss);
if ((tp->t_flags & TF_SACK_PERMIT) &&
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361840 - in head: lib/libmd sys/modules/crypto

2020-06-05 Thread Ed Maste
Author: emaste
Date: Fri Jun  5 17:00:38 2020
New Revision: 361840
URL: https://svnweb.freebsd.org/changeset/base/361840

Log:
  Apply C SKEIN_LOOP setting only to skein_block.c
  
  Otherwise if assembling skein_block_asm.s with Clang's integrated assembler
  we can pass conflicting SKEIN_LOOP settings (via CFLAGS and ACFLAGS).

Modified:
  head/lib/libmd/Makefile
  head/sys/modules/crypto/Makefile

Modified: head/lib/libmd/Makefile
==
--- head/lib/libmd/Makefile Fri Jun  5 16:59:14 2020(r361839)
+++ head/lib/libmd/Makefile Fri Jun  5 17:00:38 2020(r361840)
@@ -97,7 +97,7 @@ CFLAGS+= -I${.CURDIR} -I${SRCTOP}/sys/crypto/sha2
 CFLAGS+= -I${SRCTOP}/sys/crypto/skein
 CFLAGS+= -DWEAK_REFS
 # unroll the 256 and 512 loops, half unroll the 1024
-CFLAGS+= -DSKEIN_LOOP=995
+CFLAGS.skein_block.c+= -DSKEIN_LOOP=995
 .PATH: ${.CURDIR}/${MACHINE_ARCH} ${SRCTOP}/sys/crypto/sha2
 .PATH: ${SRCTOP}/sys/crypto/skein ${SRCTOP}/sys/crypto/skein/${MACHINE_ARCH}
 

Modified: head/sys/modules/crypto/Makefile
==
--- head/sys/modules/crypto/MakefileFri Jun  5 16:59:14 2020
(r361839)
+++ head/sys/modules/crypto/MakefileFri Jun  5 17:00:38 2020
(r361840)
@@ -27,7 +27,7 @@ SRCS  += des_ecb.c des_enc.c des_setkey.c
 SRCS   += sha1.c sha256c.c sha512c.c
 SRCS   += skein.c skein_block.c
 # unroll the 256 and 512 loops, half unroll the 1024
-CFLAGS+= -DSKEIN_LOOP=995
+CFLAGS.skein_block.c   += -DSKEIN_LOOP=995
 .if exists(${MACHINE_ARCH}/skein_block_asm.s)
 .PATH: ${SRCTOP}/sys/crypto/skein/${MACHINE_ARCH}
 SRCS   += skein_block_asm.s
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361839 - head/usr.bin/killall

2020-06-05 Thread Benjamin Kaduk
Author: bjk (doc committer)
Date: Fri Jun  5 16:59:14 2020
New Revision: 361839
URL: https://svnweb.freebsd.org/changeset/base/361839

Log:
  Belatedly bump .Dd for r361783
  
  Reported by:  lwhsu
  Pointy hat to:bjk

Modified:
  head/usr.bin/killall/killall.1

Modified: head/usr.bin/killall/killall.1
==
--- head/usr.bin/killall/killall.1  Fri Jun  5 16:12:21 2020
(r361838)
+++ head/usr.bin/killall/killall.1  Fri Jun  5 16:59:14 2020
(r361839)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 30, 2013
+.Dd June 4, 2020
 .Dt KILLALL 1
 .Os
 .Sh NAME
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361783 - head/usr.bin/killall

2020-06-05 Thread Benjamin Kaduk
It seems Conrad dropped me from his reply, so I can't include it directly,
but...

On Thu, Jun 04, 2020 at 06:12:05AM -0700, Rodney W. Grimes wrote:
> > 04.06.2020 11:29, Benjamin Kaduk wrote:
> > 
> > > Author: bjk (doc committer)
> > > Date: Thu Jun  4 04:29:43 2020
> > > New Revision: 361783
> > > URL: https://svnweb.freebsd.org/changeset/base/361783
> > > 
> > > Log:
> > >   Add EXAMPLES to killall(1)
> > >   
> > >   Submitted by:   fernape
> > >   Differential Revision:  https://reviews.freebsd.org/D25002
> > > 
> > > Modified:
> > >   head/usr.bin/killall/killall.1
> > > 
> > > Modified: head/usr.bin/killall/killall.1
> > > ==
> > > --- head/usr.bin/killall/killall.1Thu Jun  4 02:36:41 2020
> > > (r361782)
> > > +++ head/usr.bin/killall/killall.1Thu Jun  4 04:29:43 2020
> > > (r361783)
> > > @@ -145,6 +145,50 @@ utility exits 0 if some processes have been found and
> > >  signalled successfully.
> > >  Otherwise, a status of 1 will be
> > >  returned.
> > > +.Sh EXAMPLES
> > > +Send
> > > +.Dv SIGTERM
> > > +to all firefox processes:
> > > +.Bd -literal -offset indent
> > > +killall firefox
> > > +.Ed
> > > +.Pp
> > > +Send
> > > +.Dv SIGTERM
> > > +to firefox processes belonging to
> > > +.Va USER :
> > > +.Bd -literal -offset indent
> > > +killall -u ${USER} firefox
> > > +.Ed
> > > +.Pp
> > > +Stop all firefox processes:
> > > +.Bd -literal -offset indent
> > > +killall -SIGSTOP firefox
> > > +.Ed
> > > +.Pp
> > > +Resume firefox processes:
> > > +.Bd -literal -offset indent
> > > +killall -SIGCONT firefox
> > > +.Ed
> > > +.Pp
> > > +Show what would be done to firefox processes, but do not actually signal 
> > > them:
> > > +.Bd -literal -offset indent
> > > +killall -s firefox
> > > +.Ed
> > > +.Pp
> > > +Send
> > > +.Dv SIGKILL
> > > +to csh process running inside jail ID 282:
> > > +.Bd -literal -offset indent
> > > +killall -9 -j282 csh
> > > +.Ed
> > > +.Pp
> > > +Send
> > > +.Dv SIGTERM
> > > +to all processes matching provided pattern (like vim and vimdiff):
> > > +.Bd -literal -offset indent
> > > +killall -m 'vim*'
> > > +.Ed
> > >  .Sh DIAGNOSTICS
> > >  Diagnostic messages will only be printed if requested by
> > >  .Fl d
> > 
> > "Firefox" is a trade mark (type of intellectual property) of Mozilla 
> > Foundation.
> > Is it OK for us to use this name such way?
> > 
> > Isn't it better using a name of some utility we have in the base system 
> > like systat(1) ?
> 
> Purley out of simple safety I agree here.   Though I doubt a case could
> be made for infringement it is just too easy to do the safe thing.

I'm not aware of any issues with using a trademark-protected term to refer
to the product named by the mark, and don't see how one could claim that
this usage is an attempt to dilute the mark.  I don't currently plan to
make any further changes to this example, myself (though I will not stand
in the way if someone else wants to blandify the example).

Thanks,

Ben
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361838 - in head/sys/geom: . label

2020-06-05 Thread Conrad Meyer
Author: cem
Date: Fri Jun  5 16:12:21 2020
New Revision: 361838
URL: https://svnweb.freebsd.org/changeset/base/361838

Log:
  geom_label: Use provider aliasing to alias upstream geoms
  
  For synthetic aliases (just pseudonyms inferred from metadata like GPT or
  UFS labels, GPT UUIDs, etc), use the GEOM provider aliasing system to create
  a symlink to the real device instead of creating an independent device.
  This makes it more clear which labels and devices correspond, and we can
  safely have multiple labels to a single device accessed at once.
  
  The confusingly named geom_label on-disk construct continues to behave
  identically to how it did before.
  
  This requires teaching GEOM's provider aliasing about the possibility
  that aliases might be added later in time, and GEOM's devfs interaction
  layer not to worry about existing aliases during retaste.
  
  Discussed with:   imp
  Relnotes: sure, if we don't end up reverting it
  Differential Revision:https://reviews.freebsd.org/D24968

Modified:
  head/sys/geom/geom_dev.c
  head/sys/geom/label/g_label.c

Modified: head/sys/geom/geom_dev.c
==
--- head/sys/geom/geom_dev.cFri Jun  5 16:05:09 2020(r361837)
+++ head/sys/geom/geom_dev.cFri Jun  5 16:12:21 2020(r361838)
@@ -336,9 +336,20 @@ g_dev_taste(struct g_class *mp, struct g_provider *pp,
struct cdev *dev, *adev;
char buf[SPECNAMELEN + 6];
struct make_dev_args args;
+   bool retaste;
 
g_trace(G_T_TOPOLOGY, "dev_taste(%s,%s)", mp->name, pp->name);
g_topology_assert();
+   /* Only one geom_dev per provider. */
+   LIST_FOREACH(cp, &pp->consumers, consumers) {
+   if (cp->geom->class != mp || (cp->flags & G_CF_SPOILED))
+   continue;
+   gp = cp->geom;
+   sc = cp->private;
+   dev = sc->sc_dev;
+   retaste = true;
+   goto aliases;
+   }
gp = g_new_geomf(mp, "%s", pp->name);
sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO);
mtx_init(&sc->sc_mtx, "g_dev", NULL, MTX_DEF);
@@ -380,6 +391,8 @@ g_dev_taste(struct g_class *mp, struct g_provider *pp,
g_dev_attrchanged(cp, "GEOM::physpath");
snprintf(buf, sizeof(buf), "cdev=%s", gp->name);
devctl_notify_f("GEOM", "DEV", "CREATE", buf, M_WAITOK);
+   retaste = false;
+aliases:
/*
 * Now add all the aliases for this drive
 */
@@ -387,8 +400,16 @@ g_dev_taste(struct g_class *mp, struct g_provider *pp,
error = make_dev_alias_p(MAKEDEV_CHECKNAME | MAKEDEV_WAITOK, 
&adev, dev,
"%s", gap->ga_alias);
if (error) {
-   printf("%s: make_dev_alias_p() failed (name=%s, 
error=%d)\n",
-   __func__, gap->ga_alias, error);
+   /*
+* With aliases added after initial taste, we don't
+* know which aliases are new in this retaste, so we
+* try to create all of them.  EEXIST is expected and
+* silently ignored or else this becomes really spammy.
+*/
+   if (error != EEXIST || !retaste)
+   printf("%s: make_dev_alias_p() failed (name=%s,"
+   " error=%d)\n", __func__, gap->ga_alias,
+   error);
continue;
}
snprintf(buf, sizeof(buf), "cdev=%s", gap->ga_alias);

Modified: head/sys/geom/label/g_label.c
==
--- head/sys/geom/label/g_label.c   Fri Jun  5 16:05:09 2020
(r361837)
+++ head/sys/geom/label/g_label.c   Fri Jun  5 16:12:21 2020
(r361838)
@@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -344,18 +345,16 @@ g_label_taste(struct g_class *mp, struct g_provider *p
 {
struct g_label_metadata md;
struct g_consumer *cp;
+   struct g_class *clsp;
struct g_geom *gp;
int i;
+   bool changed;
 
g_trace(G_T_TOPOLOGY, "%s(%s, %s)", __func__, mp->name, pp->name);
g_topology_assert();
 
G_LABEL_DEBUG(2, "Tasting %s.", pp->name);
 
-   /* Skip providers that are already open for writing. */
-   if (pp->acw > 0)
-   return (NULL);
-
if (strcmp(pp->geom->class->name, mp->name) == 0)
return (NULL);
 
@@ -391,9 +390,16 @@ g_label_taste(struct g_class *mp, struct g_provider *p
if (md.md_provsize != pp->mediasize)
break;
 
+   /* Skip providers that are already open for writing. */
+   if (pp->acw > 0) {
+   g_access(

svn commit: r361837 - head/sys/geom

2020-06-05 Thread Conrad Meyer
Author: cem
Date: Fri Jun  5 16:05:09 2020
New Revision: 361837
URL: https://svnweb.freebsd.org/changeset/base/361837

Log:
  geom: Don't re-add duplicate aliases
  
  Reviewed by:  imp (informal +1; extracted from phab 24968)

Modified:
  head/sys/geom/geom_subr.c

Modified: head/sys/geom/geom_subr.c
==
--- head/sys/geom/geom_subr.c   Fri Jun  5 15:09:02 2020(r361836)
+++ head/sys/geom/geom_subr.c   Fri Jun  5 16:05:09 2020(r361837)
@@ -652,6 +652,15 @@ g_provider_add_alias(struct g_provider *pp, const char
sbuf_vprintf(sb, fmt, ap);
va_end(ap);
sbuf_finish(sb);
+
+   LIST_FOREACH(gap, &pp->aliases, ga_next) {
+   if (strcmp(gap->ga_alias, sbuf_data(sb)) != 0)
+   continue;
+   /* Don't re-add the same alias. */
+   sbuf_delete(sb);
+   return;
+   }
+
gap = g_malloc(sizeof(*gap) + sbuf_len(sb) + 1, M_WAITOK | M_ZERO);
memcpy((char *)(gap + 1), sbuf_data(sb), sbuf_len(sb));
sbuf_delete(sb);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361835 - head/sys/dev/sound/pci/hda

2020-06-05 Thread Alexander Motin
Author: mav
Date: Fri Jun  5 15:06:58 2020
New Revision: 361835
URL: https://svnweb.freebsd.org/changeset/base/361835

Log:
  Add bunch of HDA controller and codec IDs.
  
  MFC after:2 weeks

Modified:
  head/sys/dev/sound/pci/hda/hdac.c
  head/sys/dev/sound/pci/hda/hdac.h
  head/sys/dev/sound/pci/hda/hdacc.c

Modified: head/sys/dev/sound/pci/hda/hdac.c
==
--- head/sys/dev/sound/pci/hda/hdac.c   Fri Jun  5 14:17:19 2020
(r361834)
+++ head/sys/dev/sound/pci/hda/hdac.c   Fri Jun  5 15:06:58 2020
(r361835)
@@ -79,15 +79,19 @@ static const struct {
charquirks_off;
 } hdac_devices[] = {
{ HDA_INTEL_OAK, "Intel Oaktrail",  0, 0 },
+   { HDA_INTEL_CMLKLP,  "Intel Comet Lake-LP", 0, 0 },
+   { HDA_INTEL_CMLKH,   "Intel Comet Lake-H",  0, 0 },
{ HDA_INTEL_BAY, "Intel BayTrail",  0, 0 },
{ HDA_INTEL_HSW1,"Intel Haswell",   0, 0 },
{ HDA_INTEL_HSW2,"Intel Haswell",   0, 0 },
{ HDA_INTEL_HSW3,"Intel Haswell",   0, 0 },
{ HDA_INTEL_BDW1,"Intel Broadwell", 0, 0 },
{ HDA_INTEL_BDW2,"Intel Broadwell", 0, 0 },
+   { HDA_INTEL_BXTNT,   "Intel Broxton-T", 0, 0 },
{ HDA_INTEL_CPT, "Intel Cougar Point",  0, 0 },
{ HDA_INTEL_PATSBURG,"Intel Patsburg",  0, 0 },
{ HDA_INTEL_PPT1,"Intel Panther Point", 0, 0 },
+   { HDA_INTEL_BR,  "Intel Braswell",  0, 0 },
{ HDA_INTEL_LPT1,"Intel Lynx Point",0, 0 },
{ HDA_INTEL_LPT2,"Intel Lynx Point",0, 0 },
{ HDA_INTEL_WCPT,"Intel Wildcat Point", 0, 0 },
@@ -101,6 +105,7 @@ static const struct {
{ HDA_INTEL_KBLK,"Intel Kaby Lake", 0, 0 },
{ HDA_INTEL_KBLKH,   "Intel Kaby Lake-H",   0, 0 },
{ HDA_INTEL_CFLK,"Intel Coffee Lake",   0, 0 },
+   { HDA_INTEL_CMLKS,   "Intel Comet Lake-S",  0, 0 },
{ HDA_INTEL_CNLK,"Intel Cannon Lake",   0, 0 },
{ HDA_INTEL_ICLK,"Intel Ice Lake",  0, 0 },
{ HDA_INTEL_CMLKLP,  "Intel Comet Lake-LP", 0, 0 },
@@ -112,10 +117,14 @@ static const struct {
{ HDA_INTEL_82801G,  "Intel 82801G",0, 0 },
{ HDA_INTEL_82801H,  "Intel 82801H",0, 0 },
{ HDA_INTEL_82801I,  "Intel 82801I",0, 0 },
+   { HDA_INTEL_JLK, "Intel Jasper Lake",   0, 0 },
{ HDA_INTEL_82801JI, "Intel 82801JI",   0, 0 },
{ HDA_INTEL_82801JD, "Intel 82801JD",   0, 0 },
{ HDA_INTEL_PCH, "Intel Ibex Peak", 0, 0 },
{ HDA_INTEL_PCH2,"Intel Ibex Peak", 0, 0 },
+   { HDA_INTEL_ELLK,"Intel Elkhart Lake",  0, 0 },
+   { HDA_INTEL_JLK2,"Intel Jasper Lake",   0, 0 },
+   { HDA_INTEL_BXTNP,   "Intel Broxton-P", 0, 0 },
{ HDA_INTEL_SCH, "Intel SCH",   0, 0 },
{ HDA_NVIDIA_MCP51,  "NVIDIA MCP51",0, HDAC_QUIRK_MSI },
{ HDA_NVIDIA_MCP55,  "NVIDIA MCP55",0, HDAC_QUIRK_MSI },
@@ -173,6 +182,10 @@ static const struct {
{ HDA_ATI_RV940, "ATI RV940",   0, 0 },
{ HDA_ATI_RV970, "ATI RV970",   0, 0 },
{ HDA_ATI_R1000, "ATI R1000",   0, 0 },
+   { HDA_AMD_X370,  "AMD X370",0, 0 },
+   { HDA_AMD_X570,  "AMD X570",0, 0 },
+   { HDA_AMD_STONEY,"AMD Stoney",  0, 0 },
+   { HDA_AMD_RAVEN, "AMD Raven",   0, 0 },
{ HDA_AMD_HUDSON2,   "AMD Hudson-2",0, 0 },
{ HDA_RDC_M3010, "RDC M3010",   0, 0 },
{ HDA_VIA_VT82XX,"VIA VT8251/8237A",0, 0 },

Modified: head/sys/dev/sound/pci/hda/hdac.h
==
--- head/sys/dev/sound/pci/hda/hdac.h   Fri Jun  5 14:17:19 2020
(r361834)
+++ head/sys/dev/sound/pci/hda/hdac.h   Fri Jun  5 15:06:58 2020
(r361835)
@@ -43,24 +43,32 @@
 
 /* Intel */
 #define INTEL_VENDORID 0x8086
+#define HDA_INTEL_CMLKLP   HDA_MODEL_CONSTRUCT(INTEL, 0x02c8)
+#define HDA_INTEL_CMLKHHDA_MODEL_CONSTRUCT(INTEL, 0x06c8)
 #define HDA_INTEL_OAK  HDA_MODEL_CONSTRUCT(INTEL, 0x080a)
 #define HDA_INTEL_BAY  HDA_MODEL_CONSTRUCT(INTEL, 0x0f04)
 #define HDA_INTEL_HSW1 HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c)
 #define HDA_INTEL_HSW2 HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c)
 #define HDA_INTEL_HSW3 HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c)
 #define HDA_INTEL_BDW1 HDA_MODEL_CONSTRUCT(INTEL, 0x160c)
+#define HDA_INTEL_BXTNTHDA_MODEL_CONSTRUCT(INTEL, 0x1a98)
 #define HDA_INTEL_CPT  HDA_MODEL_CONSTRUCT(INTEL, 0x1c20)
 #define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20)
 #define HDA_INTEL_PPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x1e20)
+#define HDA_INTEL_BR   HDA_MODEL_CONSTRUCT(INTEL, 0x2284)
 #define HDA_INTEL_82801F   HDA_MODEL_CONSTRUCT(INTEL, 0x2668)
 #de

svn commit: r361834 - head/sys/net80211

2020-06-05 Thread Adrian Chadd
Author: adrian
Date: Fri Jun  5 14:17:19 2020
New Revision: 361834
URL: https://svnweb.freebsd.org/changeset/base/361834

Log:
  [net80211] Don't call ic_updateslot if it's not set.
  
  Turns out this isn't a required call. I didn't pick it up because my
  uncommitted changes involve new updateslot methods for cards I'm working
  on.
  
  Dunce hat to: adrian

Modified:
  head/sys/net80211/ieee80211_proto.c

Modified: head/sys/net80211/ieee80211_proto.c
==
--- head/sys/net80211/ieee80211_proto.c Fri Jun  5 13:54:13 2020
(r361833)
+++ head/sys/net80211/ieee80211_proto.c Fri Jun  5 14:17:19 2020
(r361834)
@@ -864,7 +864,8 @@ vap_update_slot(void *arg, int npending)
/*
 * Call the driver with our new global slot time flags.
 */
-   ic->ic_updateslot(ic);
+   if (ic->ic_updateslot != NULL)
+   ic->ic_updateslot(ic);
 }
 
 /*
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361791 - head/etc/mtree

2020-06-05 Thread Rodney W. Grimes
> On Thu, Jun 04, 2020 at 09:19:35AM -0700, Cy Schubert wrote:
> > In message <202006041604.054g4kab098...@repo.freebsd.org>, Conrad Meyer
> > writes:
> > > New Revision: 361791
> > > URL: https://svnweb.freebsd.org/changeset/base/361791
> > >
> > > Log:
> > >   Restrict default /root permissions
> > >   
> > > ...
> > > @@ -117,7 +117,7 @@
> > >  ..
> > >  rescue
> > >  ..
> > > -root
> > > +rootmode=0750
> > >  ..
> > 
> > Recent CIS benchmarks recommend 0700.

Can you provide a pointer, I would like to understand how they
came to the conclusing that 0700 is more secuire than 0750.  I
can only think of one situation, in which a member of group wheel 
does not know the password for root.

> 
> Please, let's keep a reasonable balance between security and usability.
> I often visit /root as a regular user (wheel'ed), and 0700 would make
> it real PITA.

IIRC there is a review and long discussion on this already...

> ./danfe
-- 
Rod Grimes rgri...@freebsd.org
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361833 - head/sys/crypto/skein/amd64

2020-06-05 Thread Alex Richardson
Author: arichardson
Date: Fri Jun  5 13:54:13 2020
New Revision: 361833
URL: https://svnweb.freebsd.org/changeset/base/361833

Log:
  Allow assembling skein_block_asm.s with clang
  
  GNU as seems to allow macro arguments without the '\' but clang is more
  strict in that regard.
  This change makes the source code compatible with LLVM's but does not yet
  change the build system or rename it to .S.
  
  The new code assembles identically with GNU as 2.17.50.
  
  Reviewed By:  emaste
  Differential Revision: https://reviews.freebsd.org/D25143

Modified:
  head/sys/crypto/skein/amd64/skein_block_asm.s

Modified: head/sys/crypto/skein/amd64/skein_block_asm.s
==
--- head/sys/crypto/skein/amd64/skein_block_asm.s   Fri Jun  5 09:58:59 
2020(r361832)
+++ head/sys/crypto/skein/amd64/skein_block_asm.s   Fri Jun  5 13:54:13 
2020(r361833)
@@ -10,7 +10,9 @@
 #
 .text
 .altmacro
+#ifndef __clang__
 .psize 0,128#list file has no page boundaries
+#endif
 #
 _MASK_ALL_  =  (256+512+1024)   #all three algorithm bits
 _MAX_FRAME_ =  240
@@ -240,9 +242,8 @@ RC_1024_7_7 = 20
 # Output:  <<< RC_BlkSize_roundNum_mixNum, BlkSize=256/512/1024
 #
 .macro RotL64   reg,BLK_SIZE,ROUND_NUM,MIX_NUM
-_RCNT_ = RC_\BLK_SIZE&_\ROUND_NUM&_\MIX_NUM
-  .if _RCNT_  #is there anything to do?
-rolq$_RCNT_,%\reg
+  .if RC_\BLK_SIZE\()_\ROUND_NUM\()_\MIX_NUM  #is there anything to do?
+rolq$RC_\BLK_SIZE\()_\ROUND_NUM\()_\MIX_NUM,%\reg
   .endif
 .endm
 #
@@ -334,7 +335,7 @@ __STK_FRM_OFFS_\BLK_BITS = FRAME_OFFS
 #
 #
 .macro Reset_Stack
-addq$LOCAL_SIZE,%rsp#get rid of locals (wipe??)
+addq$LOCAL_SIZE,%rsp#get rid of locals (wipe?)
   .irp _reg_,r15,r14,r13,r12,rbx,rbp
 popq%\_reg_ #restore caller's regs
 _PushCnt_ = _PushCnt_ - 1
@@ -724,22 +725,22 @@ C_label Skein_256_Unroll_Cnt
 .macro R_512_OneRound rn0,rn1,rn2,rn3,rn4,rn5,rn6,rn7,_Rn_,op1,op2,op3,op4
 #
 addReg  r\rn0, r\rn1
-RotL64  r\rn1, 512,%((_Rn_) % 8),0
+RotL64  r\rn1, 512,%((\_Rn_) % 8),0
 xorReg  r\rn1, r\rn0
-op1
+\op1
 addReg  r\rn2, r\rn3
-RotL64  r\rn3, 512,%((_Rn_) % 8),1
+RotL64  r\rn3, 512,%((\_Rn_) % 8),1
 xorReg  r\rn3, r\rn2
-op2
+\op2
 addReg  r\rn4, r\rn5
-RotL64  r\rn5, 512,%((_Rn_) % 8),2
+RotL64  r\rn5, 512,%((\_Rn_) % 8),2
 xorReg  r\rn5, r\rn4
-op3
+\op3
 addReg  r\rn6, r\rn7
-RotL64  r\rn7, 512,%((_Rn_) % 8),3
+RotL64  r\rn7, 512,%((\_Rn_) % 8),3
 xorReg  r\rn7, r\rn6
-op4
-Skein_Debug_Round 512,%(_Rn_+1),-4
+\op4
+Skein_Debug_Round 512,%(\_Rn_+1),-4
 #
 .endm #R_512_OneRound
 #
@@ -749,11 +750,11 @@ C_label Skein_256_Unroll_Cnt
 .macro R_512_FourRounds _RR_#RR = base round number (0 % 8)
   .if (SKEIN_ASM_UNROLL && 512)
 # here for fully unrolled case.
-_II_ = ((_RR_)/4) + 1   #key injection counter
-R_512_OneRound  8, 9,10,11,12,13,14,15,%((_RR_)+0),,,
-R_512_OneRound 10, 9,12,15,14,13, 8,11,%((_RR_)+1),,,
-R_512_OneRound 12, 9,14,11, 8,13,10,15,%((_RR_)+2),,,
-R_512_OneRound 14, 9, 8,15,10,13,12,11,%((_RR_)+3),,
+_II_ = ((\_RR_)/4) + 1   #key injection counter
+R_512_OneRound  8, 9,10,11,12,13,14,15,%((\_RR_)+0),,,
+R_512_OneRound 10, 9,12,15,14,13, 8,11,%((\_RR_)+1),,,
+R_512_OneRound 12, 9,14,11, 8,13,10,15,%((\_RR_)+2),,,
+R_512_OneRound 14, 9, 8,15,10,13,12,11,%((\_RR_)+3),,
 # inject the key schedule
 addqksKey+8*(((_II_)+0)%9)+F_O(%rbp),%r8
 addReg   r11, rax
@@ -766,10 +767,10 @@ C_label Skein_256_Unroll_Cnt
   .else
 # here for looping case
#"rotate" key/tweak schedule (move up on stack)
 incq%rdi #bump key injection counter
-R_512_OneRound  8, 9,10,11,12,13,14,15,%((_RR_)+0),,,
-R_512_OneRound 10, 9,12,15,14,13, 8,11,%((_RR_)+1),,,
-R_512_OneRound 12, 9,14,11, 8,13,10,15,%((_RR_)+2),,,
-R_512_OneRound 14, 9, 8,15,10,13,12,11,%((_RR_)+3),,
+R_512_OneRound  8, 9,10,11,12,13,14,15,%((\_RR_)+0),,,
+R_512_OneRound 10, 9,12,15,14,13, 8,11,%((\_RR_)+1),,,
+R_512_OneRound 12, 9,14,11, 8,13,10,15,%((\_RR_)+2),,,
+R_512_OneRound 14, 9, 8,15,10,13,12,11,%((\_RR_)+3),,
 # inject the key schedule
 addqksKey+8*0+F_O(%rbp,%rdi,8),%r8
 addReg   r11, rax
@@ -814,9 +815,9 @@ Skein_512_block_loop:
 movq%rbx,ksTwk+ 8+F_O(%rbp)
 movq%rcx,ksTwk+16+F_O(%rbp)
 .irp _Rn_,8,9,10,11,12,13,14,15
-  movq  X_VARS+8*(_Rn_-8)(%rdi),%r\_Rn_
+  movq  X_VARS+8*(\_Rn_-8)(%rdi),%r\_Rn_
   xorq  %r\_Rn_,%rdx  #compute overall parity
-

svn commit: r361832 - stable/11/sys/netpfil/ipfw

2020-06-05 Thread Andrey V. Elsukov
Author: ae
Date: Fri Jun  5 09:58:59 2020
New Revision: 361832
URL: https://svnweb.freebsd.org/changeset/base/361832

Log:
  MFC r361624:
Fix O_IP_FLOW_LOOKUP opcode handling.
  
Do not check table value matching when table lookup has failed.

Modified:
  stable/11/sys/netpfil/ipfw/ip_fw2.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/netpfil/ipfw/ip_fw2.c
==
--- stable/11/sys/netpfil/ipfw/ip_fw2.c Fri Jun  5 09:56:51 2020
(r361831)
+++ stable/11/sys/netpfil/ipfw/ip_fw2.c Fri Jun  5 09:58:59 2020
(r361832)
@@ -2066,6 +2066,8 @@ do {  \
uint32_t v = 0;
match = ipfw_lookup_table(chain,
cmd->arg1, 0, &args->f_id, &v);
+   if (!match)
+   break;
if (cmdlen == 
F_INSN_SIZE(ipfw_insn_u32))
match = ((ipfw_insn_u32 
*)cmd)->d[0] ==
TARG_VAL(chain, v, tag);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361831 - stable/12/sys/netpfil/ipfw

2020-06-05 Thread Andrey V. Elsukov
Author: ae
Date: Fri Jun  5 09:56:51 2020
New Revision: 361831
URL: https://svnweb.freebsd.org/changeset/base/361831

Log:
  MFC r361624:
Fix O_IP_FLOW_LOOKUP opcode handling.
  
Do not check table value matching when table lookup has failed.

Modified:
  stable/12/sys/netpfil/ipfw/ip_fw2.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/netpfil/ipfw/ip_fw2.c
==
--- stable/12/sys/netpfil/ipfw/ip_fw2.c Fri Jun  5 08:46:55 2020
(r361830)
+++ stable/12/sys/netpfil/ipfw/ip_fw2.c Fri Jun  5 09:56:51 2020
(r361831)
@@ -2068,6 +2068,8 @@ do {  \
uint32_t v = 0;
match = ipfw_lookup_table(chain,
cmd->arg1, 0, &args->f_id, &v);
+   if (!match)
+   break;
if (cmdlen == 
F_INSN_SIZE(ipfw_insn_u32))
match = ((ipfw_insn_u32 
*)cmd)->d[0] ==
TARG_VAL(chain, v, tag);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361829 - in head/lib/libc/tests: gen/posix_spawn sys

2020-06-05 Thread Alex Richardson
Author: arichardson
Date: Fri Jun  5 08:46:50 2020
New Revision: 361829
URL: https://svnweb.freebsd.org/changeset/base/361829

Log:
  Avoid using non-portable dd status=none flag
  
  Copying the approach chosen in r309412. This fixes building the libc tests
  on a macOS host since the macOS /bin/dd binary does not support status=none.
  
  As there only seem to be two uses, this commit changes the two Makefiles.
  If this becomes more common, we could also add a wrapper bootstrap script
  that ignores status= and forwards the remaining args to the real dd.
  Another alternative would be to remove the status flag and pipe stderr to
  /dev/null, but them we lose error messages.
  
  Reviewed By:  brooks
  Differential Revision: https://reviews.freebsd.org/D24785

Modified:
  head/lib/libc/tests/gen/posix_spawn/Makefile
  head/lib/libc/tests/sys/Makefile

Modified: head/lib/libc/tests/gen/posix_spawn/Makefile
==
--- head/lib/libc/tests/gen/posix_spawn/MakefileFri Jun  5 08:12:08 
2020(r361828)
+++ head/lib/libc/tests/gen/posix_spawn/MakefileFri Jun  5 08:46:50 
2020(r361829)
@@ -19,8 +19,12 @@ CLEANFILES+= h_nonexec
 
 .include "../../Makefile.netbsd-tests"
 
+# The dd status=none option is non-standard. Only use it when this test 
succeeds
+# rather than require dd to be a bootstrap tool.
+DD_NOSTATUS!=(dd status=none count=0 2> /dev/null && echo status=none) || true
+DD=dd ${DD_NOSTATUS}
 h_zero:
-   dd if=/dev/zero of=h_zero bs=1k count=2 status=none
+   ${DD} if=/dev/zero of=h_zero bs=1k count=2
chmod a+x h_zero
 
 CLEANFILES+=   h_zero

Modified: head/lib/libc/tests/sys/Makefile
==
--- head/lib/libc/tests/sys/MakefileFri Jun  5 08:12:08 2020
(r361828)
+++ head/lib/libc/tests/sys/MakefileFri Jun  5 08:46:50 2020
(r361829)
@@ -96,7 +96,11 @@ truncate_test_FILESGRP= wheel
 truncate_test_FILESPACKAGE=${PACKAGE}
 
 CLEANFILES=truncate_test.root_owned
+# The dd status=none option is non-standard. Only use it when this test 
succeeds
+# rather than require dd to be a bootstrap tool.
+DD_NOSTATUS!=(dd status=none count=0 2> /dev/null && echo status=none) || true
+DD=dd ${DD_NOSTATUS}
 truncate_test.root_owned:
-   dd if=/dev/null bs=1 count=1 of=${.TARGET} status=none
+   ${DD} if=/dev/null bs=1 count=1 of=${.TARGET}
 
 .include 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361830 - head/lib/csu/mips

2020-06-05 Thread Alex Richardson
Author: arichardson
Date: Fri Jun  5 08:46:55 2020
New Revision: 361830
URL: https://svnweb.freebsd.org/changeset/base/361830

Log:
  csu: Avoid additional nops in the MIPS INIT_CALL_SEQ macro
  
  Since we had a .set reorder, the nop after the "jal" was being placed after
  the delay slot, resulting in two nops.
  While changing this code also guard the .set noreorder with .set push/pop
  and use $zero as the cpsetup save register since we don't need to save $gp.
  
  Reviewed By:  jhb
  Differential Revision: https://reviews.freebsd.org/D25025

Modified:
  head/lib/csu/mips/crt.h

Modified: head/lib/csu/mips/crt.h
==
--- head/lib/csu/mips/crt.h Fri Jun  5 08:46:50 2020(r361829)
+++ head/lib/csu/mips/crt.h Fri Jun  5 08:46:55 2020(r361830)
@@ -30,29 +30,31 @@
 #defineCTORS_CONSTRUCTORS
 #ifdef __mips_o32
 #defineINIT_CALL_SEQ(func) 
\
+".set push \n" \
 ".set noreorder\n" \
 "bal   1f  \n" \
 "nop   \n" \
 "1:\n" 
\
 ".cpload   $ra \n" \
 "addu  $sp, $sp, -8\n" \
-".set reorder  \n" \
 ".cprestore4   \n" 
\
 ".local" __STRING(func) "\n"   \
 "jal   " __STRING(func) "\n"   \
 "nop   \n" \
-"addu  $sp, $sp, 8 \n"
+"addu  $sp, $sp, 8 \n" \
+".set pop\n"
 #else
 #defineINIT_CALL_SEQ(func) 
\
+".set push \n" \
 ".set noreorder\n" \
 "bal   1f  \n" \
 "nop   \n" \
 "1:\n" 
\
-".set reorder  \n" \
-".cpsetup $ra, $v0, 1b \n" \
+".cpsetup $ra, $zero, 1b   \n" \
 ".local" __STRING(func) "\n"   \
 "jal   " __STRING(func) "\n"   \
-"nop   \n"
+"nop   \n" \
+".set pop\n"
 #endif
 
 #endif
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361828 - head/sys/compat/linuxkpi/common/include/linux

2020-06-05 Thread Hans Petter Selasky
Author: hselasky
Date: Fri Jun  5 08:12:08 2020
New Revision: 361828
URL: https://svnweb.freebsd.org/changeset/base/361828

Log:
  Ensure pci_channel_offline() actually queries the PCI register space,
  and not only the software cache of that register.  Else
  pci_channel_offline() won't detect that the PCI device is gone when
  using the LinuxKPI.
  
  MFC after:1 week
  Sponsored by: Mellanox Technologies

Modified:
  head/sys/compat/linuxkpi/common/include/linux/pci.h

Modified: head/sys/compat/linuxkpi/common/include/linux/pci.h
==
--- head/sys/compat/linuxkpi/common/include/linux/pci.h Fri Jun  5 07:57:16 
2020(r361827)
+++ head/sys/compat/linuxkpi/common/include/linux/pci.h Fri Jun  5 08:12:08 
2020(r361828)
@@ -657,7 +657,7 @@ static inline int
 pci_channel_offline(struct pci_dev *pdev)
 {
 
-   return (pci_get_vendor(pdev->dev.bsddev) == PCIV_INVALID);
+   return (pci_read_config(pdev->dev.bsddev, PCIR_VENDOR, 2) == 
PCIV_INVALID);
 }
 
 static inline int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn)
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361827 - in head: lib/libusbhid sys/dev/usb

2020-06-05 Thread Hans Petter Selasky
Author: hselasky
Date: Fri Jun  5 07:57:16 2020
New Revision: 361827
URL: https://svnweb.freebsd.org/changeset/base/361827

Log:
  USB HID descriptors may push/pop the current state to allow
  description of items residing in a so-called union. FreeBSD currently
  only supports 4 such pop levels.
  
  If the push level is not restored within the processing of the same
  HID item, an invalid memory location may be used for subsequent HID
  item processing.
  
  Verify that the push level is always valid when processing HID items.
  
  Reported by:  Andy Nguyen (Google)
  MFC after:3 days
  Sponsored by: Mellanox Technologies

Modified:
  head/lib/libusbhid/parse.c
  head/sys/dev/usb/usb_hid.c

Modified: head/lib/libusbhid/parse.c
==
--- head/lib/libusbhid/parse.c  Fri Jun  5 07:38:46 2020(r361826)
+++ head/lib/libusbhid/parse.c  Fri Jun  5 07:57:16 2020(r361827)
@@ -403,26 +403,28 @@ hid_get_item_raw(hid_data_t s, hid_item_t *h)
s->loc_count = dval & mask;
break;
case 10:/* Push */
+   /* stop parsing, if invalid push level */
+   if ((s->pushlevel + 1) >= MAXPUSH)
+   return (0);
s->pushlevel ++;
-   if (s->pushlevel < MAXPUSH) {
-   s->cur[s->pushlevel] = *c;
-   /* store size and count */
-   c->report_size = s->loc_size;
-   c->report_count = s->loc_count;
-   /* update current item pointer */
-   c = &s->cur[s->pushlevel];
-   }
+   s->cur[s->pushlevel] = *c;
+   /* store size and count */
+   c->report_size = s->loc_size;
+   c->report_count = s->loc_count;
+   /* update current item pointer */
+   c = &s->cur[s->pushlevel];
break;
case 11:/* Pop */
+   /* stop parsing, if invalid push level */
+   if (s->pushlevel == 0)
+   return (0);
s->pushlevel --;
-   if (s->pushlevel < MAXPUSH) {
-   c = &s->cur[s->pushlevel];
-   /* restore size and count */
-   s->loc_size = c->report_size;
-   s->loc_count = c->report_count;
-   c->report_size = 0;
-   c->report_count = 0;
-   }
+   c = &s->cur[s->pushlevel];
+   /* restore size and count */
+   s->loc_size = c->report_size;
+   s->loc_count = c->report_count;
+   c->report_size = 0;
+   c->report_count = 0;
break;
default:
break;

Modified: head/sys/dev/usb/usb_hid.c
==
--- head/sys/dev/usb/usb_hid.c  Fri Jun  5 07:38:46 2020(r361826)
+++ head/sys/dev/usb/usb_hid.c  Fri Jun  5 07:57:16 2020(r361827)
@@ -436,36 +436,36 @@ hid_get_item(struct hid_data *s, struct hid_item *h)
s->loc_count = dval & mask;
break;
case 10:/* Push */
-   s->pushlevel ++;
-   if (s->pushlevel < MAXPUSH) {
-   s->cur[s->pushlevel] = *c;
-   /* store size and count */
-   c->loc.size = s->loc_size;
-   c->loc.count = s->loc_count;
-   /* update current item pointer */
-   c = &s->cur[s->pushlevel];
-   } else {
-   DPRINTFN(0, "Cannot push "
-   "item @ %d\n", s->pushlevel);
+   /* stop parsing, if invalid push level */
+   if ((s->pushlevel + 1) >= MAXPUSH) {
+   DPRINTFN(0, "Cannot push item @ %d

svn commit: r361826 - head/sys/net80211

2020-06-05 Thread Adrian Chadd
Author: adrian
Date: Fri Jun  5 07:38:46 2020
New Revision: 361826
URL: https://svnweb.freebsd.org/changeset/base/361826

Log:
  [net80211] print out node A-MSDU state.
  
  Now that the node AMSDU TX/RX flags are correctly set in ieee80211_ht.c,
  we can print out the AMSDU state here.

Modified:
  head/sys/net80211/ieee80211_node.c
  head/sys/net80211/ieee80211_sta.c

Modified: head/sys/net80211/ieee80211_node.c
==
--- head/sys/net80211/ieee80211_node.c  Fri Jun  5 07:38:10 2020
(r361825)
+++ head/sys/net80211/ieee80211_node.c  Fri Jun  5 07:38:46 2020
(r361826)
@@ -2754,7 +2754,7 @@ ieee80211_node_join(struct ieee80211_node *ni, int res
 * XXX VHT - should log VHT channel width, etc
 */
IEEE80211_NOTE(vap, IEEE80211_MSG_ASSOC | IEEE80211_MSG_DEBUG, ni,
-   "station associated at aid %d: %s preamble, %s slot 
time%s%s%s%s%s%s%s%s",
+   "station associated at aid %d: %s preamble, %s slot 
time%s%s%s%s%s%s%s%s%s",
IEEE80211_NODE_AID(ni),
ic->ic_flags & IEEE80211_F_SHPREAMBLE ? "short" : "long",
vap->iv_flags & IEEE80211_F_SHSLOT ? "short" : "long",
@@ -2764,6 +2764,7 @@ ieee80211_node_join(struct ieee80211_node *ni, int res
ni->ni_flags & IEEE80211_NODE_HT ?
(ni->ni_chw == 40 ? ", HT40" : ", HT20") : "",
ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "",
+   ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+ASPDU)" : "",
ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" :
ni->ni_flags & IEEE80211_NODE_MIMO_PS ? " (+SMPS)" : "",
ni->ni_flags & IEEE80211_NODE_RIFS ? " (+RIFS)" : "",

Modified: head/sys/net80211/ieee80211_sta.c
==
--- head/sys/net80211/ieee80211_sta.c   Fri Jun  5 07:38:10 2020
(r361825)
+++ head/sys/net80211/ieee80211_sta.c   Fri Jun  5 07:38:46 2020
(r361826)
@@ -1862,7 +1862,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *
ic->ic_flags &= ~IEEE80211_F_USEPROT;
IEEE80211_NOTE_MAC(vap,
IEEE80211_MSG_ASSOC | IEEE80211_MSG_DEBUG, wh->i_addr2,
-   "%sassoc success at aid %d: %s preamble, %s slot 
time%s%s%s%s%s%s%s%s",
+   "%sassoc success at aid %d: %s preamble, %s slot 
time%s%s%s%s%s%s%s%s%s",
ISREASSOC(subtype) ? "re" : "",
IEEE80211_NODE_AID(ni),
ic->ic_flags&IEEE80211_F_SHPREAMBLE ? "short" : "long",
@@ -1872,6 +1872,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *
ni->ni_flags & IEEE80211_NODE_HT ?
(ni->ni_chw == 40 ? ", HT40" : ", HT20") : "",
ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "",
+   ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "",
ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" :
ni->ni_flags & IEEE80211_NODE_MIMO_PS ? " (+SMPS)" : "",
ni->ni_flags & IEEE80211_NODE_RIFS ? " (+RIFS)" : "",
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361825 - head/sys/net80211

2020-06-05 Thread Adrian Chadd
Author: adrian
Date: Fri Jun  5 07:38:10 2020
New Revision: 361825
URL: https://svnweb.freebsd.org/changeset/base/361825

Log:
  [net80211] Add initial A-MSDU in A-MPDU negotation support.
  
  This is hopefully a big no-op unless you're running some extra
  patches to flip on A-MSDU options in a driver.
  
  802.11n supports sending A-MSDU in A-MPDU. That lets you do things
  like pack small frames into an A-MSDU and stuff /those/ into an A-MPDU.
  It allows for much more efficient airtime because you're not
  wasting time sending small frames - which is still a problem when
  doing A-MPDU as there's still per-frame overhead and minimum A-MPDU
  density requirements.
  
  It, however, is optional for 802.11n.  A lot of stuff doesn't advertise
  it (but does it, just wait!); and I know that ath10k does it and my
  ath(4) driver work supports it.
  
  Now, 802.11ac makes A-MSDU in A-MPDU something that can happen more
  frequently, because even though you can send very large A-MPDUs
  (like 1 megabyte and larger) you still have the small frame problem.
  So, 802.11ac NICs like ath10k and iwm will support A-MSDU in A-MPDU
  out of the box if it's enabled - and you can negotiate it.
  
  So, let's lay down the ground work to enable A-MSDU in A-MPDU.
  This will allow hardware like iwn(4) and ath(4) which supports
  software A-MSDU but hardware A-MPDU to be more efficient.
  
  Drivers that support A-MSDU in A-MPDU will set TX/RX htcap flags.
  Note this is separate from the software A-MSDU encap path; /that/
  dictates whether net80211 is doing A-MSDU encapsulation or not.
  These HTC flags control negotiation, NOT encapsulation.
  
  Once this negotiation and driver bits are done, hardware like
  rtwn(4), run(4), and others will be able to use A-MSDU even without
  A-MPDU working;  right now FF and A-MSDU aren't even attempted
  if you're an 11n node.  It's a small hold-over from the initial
  A-MPDU work and I know how to fix it, but to flip it on properly
  I need to be able to negotiate or ignore A-MSDU in A-MPDU.
  
  Oh and the fun part - some 11ac APs I've tested will quite happily
  decap A-MSDU in A-MPDU even though they don't negotiate it when
  doing 802.11n.  So hey, I know it works - I just want to properly
  handle things. :-)
  
  Tested:
  
  * AR9380, STA/AP mode

Modified:
  head/sys/net80211/_ieee80211.h
  head/sys/net80211/ieee80211_ht.c
  head/sys/net80211/ieee80211_ht.h

Modified: head/sys/net80211/_ieee80211.h
==
--- head/sys/net80211/_ieee80211.h  Fri Jun  5 07:37:52 2020
(r361824)
+++ head/sys/net80211/_ieee80211.h  Fri Jun  5 07:38:10 2020
(r361825)
@@ -529,10 +529,13 @@ struct ieee80211_mimo_info {
 #defineIEEE80211_HTC_TXUNEQUAL 0x0080  /* CAPABILITY: TX 
unequal MCS */
 #defineIEEE80211_HTC_TXMCS32   0x0100  /* CAPABILITY: MCS32 
support */
 #defineIEEE80211_HTC_TXLDPC0x0200  /* CAPABILITY: TX using 
LDPC */
+#defineIEEE80211_HTC_RX_AMSDU_AMPDU0x0400  /* CAPABILITY: 
RX A-MSDU in A-MPDU */
+#defineIEEE80211_HTC_TX_AMSDU_AMPDU0x0800  /* CAPABILITY: 
TX A-MSDU in A-MPDU */
 
 #defineIEEE80211_C_HTCAP_BITS \
"\20\1LDPC\2CHWIDTH40\5GREENFIELD\6SHORTGI20\7SHORTGI40\10TXSTBC" \
-   "\21AMPDU\22AMSDU\23HT\24SMPS\25RIFS\32TXLDPC"
+   "\21AMPDU\22AMSDU\23HT\24SMPS\25RIFS\32TXLDPC\33RXAMSDUAMPDU" \
+   "\34TXAMSDUAMPDU"
 
 /*
  * RX status notification - which fields are valid.

Modified: head/sys/net80211/ieee80211_ht.c
==
--- head/sys/net80211/ieee80211_ht.cFri Jun  5 07:37:52 2020
(r361824)
+++ head/sys/net80211/ieee80211_ht.cFri Jun  5 07:38:10 2020
(r361825)
@@ -592,6 +592,7 @@ static int
 ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap,
int baparamset, int batimeout, int baseqctl)
 {
+   struct ieee80211vap *vap = ni->ni_vap;
int bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ);
 
if (rap->rxa_flags & IEEE80211_AGGR_RUNNING) {
@@ -607,6 +608,13 @@ ampdu_rx_start(struct ieee80211_node *ni, struct ieee8
rap->rxa_start = MS(baseqctl, IEEE80211_BASEQ_START);
rap->rxa_flags |=  IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_XCHGPEND;
 
+   /* XXX this should be a configuration flag */
+   if ((vap->iv_htcaps & IEEE80211_HTC_RX_AMSDU_AMPDU) &&
+   (MS(baparamset, IEEE80211_BAPS_AMSDU)))
+   rap->rxa_flags |= IEEE80211_AGGR_AMSDU;
+   else
+   rap->rxa_flags &= ~IEEE80211_AGGR_AMSDU;
+
return 0;
 }
 
@@ -642,6 +650,8 @@ ieee80211_ampdu_rx_start_ext(struct ieee80211_node *ni
}
rap->rxa_flags |=  IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_XCHGPEND;
 
+   /* XXX TODO: no amsdu flag */
+
IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni,
  

svn commit: r361824 - stable/12/lib/libprocstat

2020-06-05 Thread Andriy Gapon
Author: avg
Date: Fri Jun  5 07:37:52 2020
New Revision: 361824
URL: https://svnweb.freebsd.org/changeset/base/361824

Log:
  fix up r361823, libprocstat zfs support, on powerpc
  
  This fixes a build failure:
In file included from .../zfs_context.h:104,
 from .../libprocstat/zfs_defs.c:53:
.../vm/vm_page.h:204: error: field 'md' has incomplete type
  
  In this branch, on powerpc, struct md_page is visible only if either AIM
  or BOOKE is defined.
  This is a direct commit.

Modified:
  stable/12/lib/libprocstat/zfs_defs.c

Modified: stable/12/lib/libprocstat/zfs_defs.c
==
--- stable/12/lib/libprocstat/zfs_defs.cFri Jun  5 06:34:04 2020
(r361823)
+++ stable/12/lib/libprocstat/zfs_defs.cFri Jun  5 07:37:52 2020
(r361824)
@@ -43,6 +43,9 @@ __FBSDID("$FreeBSD$");
 #define _OPENSOLARIS_SYS_POLICY_H_
 #define _OPENSOLARIS_SYS_VNODE_H_
 #define _VNODE_PAGER_
+#ifdef __powerpc__
+#defineAIM /* AIM or BOOKE, insignificant. */
+#endif
 
 typedef struct vnode vnode_t;
 typedef struct vattr vattr_t;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361791 - head/etc/mtree

2020-06-05 Thread Alexey Dokuchaev
On Thu, Jun 04, 2020 at 09:19:35AM -0700, Cy Schubert wrote:
> In message <202006041604.054g4kab098...@repo.freebsd.org>, Conrad Meyer
> writes:
> > New Revision: 361791
> > URL: https://svnweb.freebsd.org/changeset/base/361791
> >
> > Log:
> >   Restrict default /root permissions
> >   
> > ...
> > @@ -117,7 +117,7 @@
> >  ..
> >  rescue
> >  ..
> > -root
> > +rootmode=0750
> >  ..
> 
> Recent CIS benchmarks recommend 0700.

Please, let's keep a reasonable balance between security and usability.
I often visit /root as a regular user (wheel'ed), and 0700 would make
it real PITA.

./danfe
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"