Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Feb 2019 19:50:47 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r343807 - in projects/clang800-import: etc/mail lib/libc/tests/sys lib/libefivar lib/libpmc/pmu-events lib/libsysdecode lib/libthr/thread release/arm64 sbin/devmatch sbin/nvmecontrol sb...
Message-ID:  <201902051950.x15JolB7000924@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Tue Feb  5 19:50:46 2019
New Revision: 343807
URL: https://svnweb.freebsd.org/changeset/base/343807

Log:
  Merge ^/head r343712 through r343806.

Modified:
  projects/clang800-import/etc/mail/Makefile
  projects/clang800-import/lib/libc/tests/sys/sendfile_test.c
  projects/clang800-import/lib/libefivar/efi-osdep.h
  projects/clang800-import/lib/libefivar/efivar-dp-format.c
  projects/clang800-import/lib/libefivar/efivar-dp-parse.c
  projects/clang800-import/lib/libefivar/efivar-dp-xlate.c
  projects/clang800-import/lib/libefivar/efivar-dp.h
  projects/clang800-import/lib/libefivar/efivar.3
  projects/clang800-import/lib/libefivar/efivar.c
  projects/clang800-import/lib/libefivar/efivar.h
  projects/clang800-import/lib/libefivar/uefi-dplib.h
  projects/clang800-import/lib/libefivar/uefi-dputil.c
  projects/clang800-import/lib/libpmc/pmu-events/jevents.c
  projects/clang800-import/lib/libsysdecode/flags.c
  projects/clang800-import/lib/libthr/thread/thr_malloc.c
  projects/clang800-import/lib/libthr/thread/thr_mutex.c
  projects/clang800-import/release/arm64/PINE64-LTS.conf
  projects/clang800-import/release/arm64/RPI3.conf
  projects/clang800-import/sbin/devmatch/devmatch.8
  projects/clang800-import/sbin/devmatch/devmatch.c
  projects/clang800-import/sbin/nvmecontrol/modules/wdc/wdc.c
  projects/clang800-import/sbin/nvmecontrol/nc_util.c
  projects/clang800-import/sbin/nvmecontrol/ns.c
  projects/clang800-import/sbin/nvmecontrol/nvmecontrol_ext.h
  projects/clang800-import/sbin/nvmecontrol/power.c
  projects/clang800-import/share/man/man4/nda.4
  projects/clang800-import/share/man/man9/kern_testfrwk.9
  projects/clang800-import/stand/efi/libefi/efienv.c
  projects/clang800-import/stand/efi/libefi/env.c
  projects/clang800-import/stand/efi/libefi/wchar.c
  projects/clang800-import/stand/efi/loader/main.c
  projects/clang800-import/stand/forth/efi.4th
  projects/clang800-import/stand/i386/libi386/biospci.c
  projects/clang800-import/stand/libsa/abort.c
  projects/clang800-import/stand/libsa/xlocale_private.h
  projects/clang800-import/sys/amd64/amd64/exception.S
  projects/clang800-import/sys/amd64/conf/GENERIC
  projects/clang800-import/sys/arm/arm/physmem.c
  projects/clang800-import/sys/arm64/conf/GENERIC
  projects/clang800-import/sys/cam/nvme/nvme_all.c
  projects/clang800-import/sys/cam/nvme/nvme_all.h
  projects/clang800-import/sys/cam/nvme/nvme_da.c
  projects/clang800-import/sys/cam/scsi/scsi_enc_ses.c
  projects/clang800-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  projects/clang800-import/sys/conf/files
  projects/clang800-import/sys/conf/kern.pre.mk
  projects/clang800-import/sys/contrib/ipfilter/netinet/fil.c
  projects/clang800-import/sys/crypto/aesni/aesencdec.h
  projects/clang800-import/sys/dev/efidev/efidev.c
  projects/clang800-import/sys/dev/netmap/if_ptnet.c
  projects/clang800-import/sys/dev/netmap/if_vtnet_netmap.h
  projects/clang800-import/sys/dev/netmap/netmap.c
  projects/clang800-import/sys/dev/netmap/netmap_bdg.c
  projects/clang800-import/sys/dev/netmap/netmap_freebsd.c
  projects/clang800-import/sys/dev/netmap/netmap_generic.c
  projects/clang800-import/sys/dev/netmap/netmap_kern.h
  projects/clang800-import/sys/dev/netmap/netmap_legacy.c
  projects/clang800-import/sys/dev/netmap/netmap_mem2.c
  projects/clang800-import/sys/dev/netmap/netmap_monitor.c
  projects/clang800-import/sys/dev/netmap/netmap_null.c
  projects/clang800-import/sys/dev/netmap/netmap_offloadings.c
  projects/clang800-import/sys/dev/netmap/netmap_pipe.c
  projects/clang800-import/sys/dev/netmap/netmap_vale.c
  projects/clang800-import/sys/dev/nvme/nvme_sim.c
  projects/clang800-import/sys/dev/syscons/scterm-teken.c
  projects/clang800-import/sys/dev/tcp_log/tcp_log_dev.c
  projects/clang800-import/sys/dev/tcp_log/tcp_log_dev.h
  projects/clang800-import/sys/dev/vt/vt_core.c
  projects/clang800-import/sys/i386/include/counter.h
  projects/clang800-import/sys/kern/kern_environment.c
  projects/clang800-import/sys/kern/kern_proc.c
  projects/clang800-import/sys/kern/subr_boot.c
  projects/clang800-import/sys/kern/uipc_syscalls.c
  projects/clang800-import/sys/kern/vfs_extattr.c
  projects/clang800-import/sys/net/iflib.c
  projects/clang800-import/sys/netinet/sctp_output.c
  projects/clang800-import/sys/netinet/sctp_usrreq.c
  projects/clang800-import/sys/netinet/tcp_hpts.c
  projects/clang800-import/sys/netinet/tcp_hpts.h
  projects/clang800-import/sys/netinet/tcp_log_buf.c
  projects/clang800-import/sys/netinet/tcp_log_buf.h
  projects/clang800-import/sys/netinet/tcp_stacks/rack.c
  projects/clang800-import/sys/netinet/tcp_stacks/rack_bbr_common.h
  projects/clang800-import/sys/netinet/tcp_stacks/sack_filter.c
  projects/clang800-import/sys/netinet/tcp_stacks/sack_filter.h
  projects/clang800-import/sys/netinet/tcp_stacks/tcp_rack.h
  projects/clang800-import/sys/powerpc/aim/locore32.S
  projects/clang800-import/sys/powerpc/aim/locore64.S
  projects/clang800-import/sys/powerpc/aim/trap_subr32.S
  projects/clang800-import/sys/powerpc/aim/trap_subr64.S
  projects/clang800-import/sys/powerpc/powerpc/cpu.c
  projects/clang800-import/sys/powerpc/pseries/phyp_llan.c
  projects/clang800-import/sys/sys/boot.h
  projects/clang800-import/sys/sys/efiio.h
  projects/clang800-import/sys/sys/kern_prefetch.h
  projects/clang800-import/sys/teken/libteken/teken.3
  projects/clang800-import/sys/teken/teken.c
  projects/clang800-import/sys/teken/teken.h
  projects/clang800-import/sys/tests/callout_test.h
  projects/clang800-import/sys/tests/callout_test/callout_test.c
  projects/clang800-import/sys/tests/framework/kern_testfrwk.c
  projects/clang800-import/sys/tests/kern_testfrwk.h
  projects/clang800-import/sys/vm/vm_page.c
  projects/clang800-import/sys/vm/vm_page.h
  projects/clang800-import/sys/x86/include/specialreg.h
  projects/clang800-import/sys/x86/x86/identcpu.c
  projects/clang800-import/usr.sbin/efibootmgr/efibootmgr.8
  projects/clang800-import/usr.sbin/efibootmgr/efibootmgr.c
  projects/clang800-import/usr.sbin/efidp/efidp.8
  projects/clang800-import/usr.sbin/efidp/efidp.c
  projects/clang800-import/usr.sbin/efivar/efiutil.c
  projects/clang800-import/usr.sbin/efivar/efiutil.h
  projects/clang800-import/usr.sbin/efivar/efivar.8
  projects/clang800-import/usr.sbin/efivar/efivar.c
  projects/clang800-import/usr.sbin/mpsutil/mps_cmd.c
  projects/clang800-import/usr.sbin/mpsutil/mps_debug.c
  projects/clang800-import/usr.sbin/mpsutil/mps_show.c
  projects/clang800-import/usr.sbin/mpsutil/mpsutil.c
  projects/clang800-import/usr.sbin/pmcstat/pmcpl_annotate_cg.c
  projects/clang800-import/usr.sbin/pmcstat/pmcpl_annotate_cg.h
  projects/clang800-import/usr.sbin/pmcstudy/eval_expr.c
  projects/clang800-import/usr.sbin/pmcstudy/eval_expr.h
  projects/clang800-import/usr.sbin/pmcstudy/pmcstudy.8
  projects/clang800-import/usr.sbin/pmcstudy/pmcstudy.c
  projects/clang800-import/usr.sbin/sesutil/sesutil.c
Directory Properties:
  projects/clang800-import/   (props changed)
  projects/clang800-import/sys/cddl/contrib/opensolaris/   (props changed)
  projects/clang800-import/sys/contrib/ipfilter/   (props changed)
  projects/clang800-import/usr.sbin/bhyve/usb_mouse.c   (props changed)

Modified: projects/clang800-import/etc/mail/Makefile
==============================================================================
--- projects/clang800-import/etc/mail/Makefile	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/etc/mail/Makefile	Tue Feb  5 19:50:46 2019	(r343807)
@@ -60,8 +60,8 @@
 # ------------------------------------------------------------------------
 #
 # The Makefile knows about the following maps:
-# access, bitdomain, domaintable, genericstable, mailertable, userdb,
-# uucpdomain, virtusertable
+# access, authinfo, bitdomain, domaintable, genericstable, mailertable,
+# userdb, uucpdomain, virtusertable
 #
 
 .ifndef SENDMAIL_MC
@@ -125,7 +125,7 @@ SENDMAIL_MAP_PERMS?=	0640
 # type to use when calling makemap.
 #
 SENDMAIL_MAP_SRC+=	mailertable domaintable bitdomain uucpdomain \
-			genericstable virtusertable access
+			genericstable virtusertable access authinfo
 SENDMAIL_MAP_OBJ=
 SENDMAIL_MAP_TYPE?=	hash
 

Modified: projects/clang800-import/lib/libc/tests/sys/sendfile_test.c
==============================================================================
--- projects/clang800-import/lib/libc/tests/sys/sendfile_test.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libc/tests/sys/sendfile_test.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -97,22 +97,31 @@ generate_random_port(int seed)
 static void
 resolve_localhost(struct addrinfo **res, int domain, int type, int port)
 {
+	const char *host;
 	char *serv;
 	struct addrinfo hints;
 	int error;
 
-	ATF_REQUIRE_MSG(domain == AF_INET || domain == AF_INET6,
-	    "unhandled domain: %d", domain);
+	switch (domain) {
+	case AF_INET:
+		host = "127.0.0.1";
+		break;
+	case AF_INET6:
+		host = "::1";
+		break;
+	default:
+		atf_tc_fail("unhandled domain: %d", domain);
+	}
 
 	ATF_REQUIRE_MSG(asprintf(&serv, "%d", port) >= 0,
 	    "asprintf failed: %s", strerror(errno));
 
 	memset(&hints, 0, sizeof(hints));
 	hints.ai_family = domain;
-	hints.ai_flags = AI_ADDRCONFIG|AI_NUMERICSERV;
+	hints.ai_flags = AI_ADDRCONFIG|AI_NUMERICSERV|AI_NUMERICHOST;
 	hints.ai_socktype = type;
 
-	error = getaddrinfo("localhost", serv, &hints, res);
+	error = getaddrinfo(host, serv, &hints, res);
 	ATF_REQUIRE_EQ_MSG(error, 0,
 	    "getaddrinfo failed: %s", gai_strerror(error));
 	free(serv);

Modified: projects/clang800-import/lib/libefivar/efi-osdep.h
==============================================================================
--- projects/clang800-import/lib/libefivar/efi-osdep.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efi-osdep.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2017 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/efivar-dp-format.c
==============================================================================
--- projects/clang800-import/lib/libefivar/efivar-dp-format.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efivar-dp-format.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2017 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/efivar-dp-parse.c
==============================================================================
--- projects/clang800-import/lib/libefivar/efivar-dp-parse.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efivar-dp-parse.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2017 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/efivar-dp-xlate.c
==============================================================================
--- projects/clang800-import/lib/libefivar/efivar-dp-xlate.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efivar-dp-xlate.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2017 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/efivar-dp.h
==============================================================================
--- projects/clang800-import/lib/libefivar/efivar-dp.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efivar-dp.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2017 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/efivar.3
==============================================================================
--- projects/clang800-import/lib/libefivar/efivar.3	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efivar.3	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,3 +1,4 @@
+.\"
 .\" Copyright 2016 Netflix, Inc.
 .\" All rights reserved.
 .\"

Modified: projects/clang800-import/lib/libefivar/efivar.c
==============================================================================
--- projects/clang800-import/lib/libefivar/efivar.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efivar.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2016 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/efivar.h
==============================================================================
--- projects/clang800-import/lib/libefivar/efivar.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/efivar.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2016 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/uefi-dplib.h
==============================================================================
--- projects/clang800-import/lib/libefivar/uefi-dplib.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/uefi-dplib.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2017 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libefivar/uefi-dputil.c
==============================================================================
--- projects/clang800-import/lib/libefivar/uefi-dputil.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libefivar/uefi-dputil.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2017 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/lib/libpmc/pmu-events/jevents.c
==============================================================================
--- projects/clang800-import/lib/libpmc/pmu-events/jevents.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libpmc/pmu-events/jevents.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -54,6 +54,10 @@
 #include "json.h"
 #include "jevents.h"
 
+static int
+nftw_ordered(const char *path, int (*fn)(const char *, const struct stat *, int,
+	struct FTW *), int nfds, int ftwflags);
+
 _Noreturn void	 _Exit(int);
 
 int verbose;
@@ -1122,7 +1126,7 @@ int main(int argc, char *argv[])
 
 	maxfds = get_maxfds();
 	mapfile = NULL;
-	rc = nftw(ldirname, preprocess_arch_std_files, maxfds, 0);
+	rc = nftw_ordered(ldirname, preprocess_arch_std_files, maxfds, 0);
 	if (rc && verbose) {
 		pr_info("%s: Error preprocessing arch standard files %s: %s\n",
 			prog, ldirname, strerror(errno));
@@ -1135,7 +1139,7 @@ int main(int argc, char *argv[])
 		goto empty_map;
 	}
 
-	rc = nftw(ldirname, process_one_file, maxfds, 0);
+	rc = nftw_ordered(ldirname, process_one_file, maxfds, 0);
 	if (rc && verbose) {
 		pr_info("%s: Error walking file tree %s\n", prog, ldirname);
 		goto empty_map;
@@ -1168,4 +1172,91 @@ empty_map:
 	create_empty_mapping(output_file);
 	free_arch_std_events();
 	return 0;
+}
+
+#include <fts.h>
+
+static int
+fts_compare(const FTSENT * const *a, const FTSENT * const *b)
+{
+	return (strcmp((*a)->fts_name, (*b)->fts_name));
+}
+
+static int
+nftw_ordered(const char *path, int (*fn)(const char *, const struct stat *, int,
+     struct FTW *), int nfds, int ftwflags)
+{
+	char * const paths[2] = { (char *)path, NULL };
+	struct FTW ftw;
+	FTSENT *cur;
+	FTS *ftsp;
+	int error = 0, ftsflags, fnflag, postorder, sverrno;
+
+	/* XXX - nfds is currently unused */
+	if (nfds < 1) {
+		errno = EINVAL;
+		return (-1);
+	}
+
+	ftsflags = FTS_COMFOLLOW;
+	if (!(ftwflags & FTW_CHDIR))
+		ftsflags |= FTS_NOCHDIR;
+	if (ftwflags & FTW_MOUNT)
+		ftsflags |= FTS_XDEV;
+	if (ftwflags & FTW_PHYS)
+		ftsflags |= FTS_PHYSICAL;
+	else
+		ftsflags |= FTS_LOGICAL;
+	postorder = (ftwflags & FTW_DEPTH) != 0;
+	ftsp = fts_open(paths, ftsflags, fts_compare);
+	if (ftsp == NULL)
+		return (-1);
+	while ((cur = fts_read(ftsp)) != NULL) {
+		switch (cur->fts_info) {
+		case FTS_D:
+			if (postorder)
+				continue;
+			fnflag = FTW_D;
+			break;
+		case FTS_DC:
+			continue;
+		case FTS_DNR:
+			fnflag = FTW_DNR;
+			break;
+		case FTS_DP:
+			if (!postorder)
+				continue;
+			fnflag = FTW_DP;
+			break;
+		case FTS_F:
+		case FTS_DEFAULT:
+			fnflag = FTW_F;
+			break;
+		case FTS_NS:
+		case FTS_NSOK:
+			fnflag = FTW_NS;
+			break;
+		case FTS_SL:
+			fnflag = FTW_SL;
+			break;
+		case FTS_SLNONE:
+			fnflag = FTW_SLN;
+			break;
+		default:
+			error = -1;
+			goto done;
+		}
+		ftw.base = cur->fts_pathlen - cur->fts_namelen;
+		ftw.level = cur->fts_level;
+		error = fn(cur->fts_path, cur->fts_statp, fnflag, &ftw);
+		if (error != 0)
+			break;
+	}
+done:
+	sverrno = errno;
+	if (fts_close(ftsp) != 0 && error == 0)
+		error = -1;
+	else
+		errno = sverrno;
+	return (error);
 }

Modified: projects/clang800-import/lib/libsysdecode/flags.c
==============================================================================
--- projects/clang800-import/lib/libsysdecode/flags.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libsysdecode/flags.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1208,7 +1208,7 @@ sysdecode_sctp_pr_policy(int policy)
 
 static struct name_table sctpsndflags[] = {
 	X(SCTP_EOF) X(SCTP_ABORT) X(SCTP_UNORDERED) X(SCTP_ADDR_OVER)
-	X(SCTP_SENDALL) X(SCTP_SACK_IMMEDIATELY) XEND
+	X(SCTP_SENDALL) X(SCTP_EOR) X(SCTP_SACK_IMMEDIATELY) XEND
 };
 
 bool

Modified: projects/clang800-import/lib/libthr/thread/thr_malloc.c
==============================================================================
--- projects/clang800-import/lib/libthr/thread/thr_malloc.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libthr/thread/thr_malloc.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -46,6 +46,8 @@ void
 __thr_malloc_init(void)
 {
 
+	if (npagesizes != 0)
+		return;
 	npagesizes = getpagesizes(pagesizes_d, nitems(pagesizes_d));
 	if (npagesizes == -1) {
 		npagesizes = 1;
@@ -59,6 +61,8 @@ static void
 thr_malloc_lock(struct pthread *curthread)
 {
 
+	if (curthread == NULL)
+		return;
 	curthread->locklevel++;
 	_thr_umutex_lock(&thr_malloc_umtx, TID(curthread));
 }
@@ -67,6 +71,8 @@ static void
 thr_malloc_unlock(struct pthread *curthread)
 {
 
+	if (curthread == NULL)
+		return;
 	_thr_umutex_unlock(&thr_malloc_umtx, TID(curthread));
 	curthread->locklevel--;
 	_thr_ast(curthread);

Modified: projects/clang800-import/lib/libthr/thread/thr_mutex.c
==============================================================================
--- projects/clang800-import/lib/libthr/thread/thr_mutex.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/lib/libthr/thread/thr_mutex.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -390,6 +390,7 @@ __pthread_mutex_init(pthread_mutex_t * __restrict mute
 	}
 	if (mutex_attr == NULL ||
 	    (*mutex_attr)->m_pshared == PTHREAD_PROCESS_PRIVATE) {
+		__thr_malloc_init();
 		return (mutex_init(mutex, mutex_attr ? *mutex_attr : NULL,
 		    __thr_calloc));
 	}

Modified: projects/clang800-import/release/arm64/PINE64-LTS.conf
==============================================================================
--- projects/clang800-import/release/arm64/PINE64-LTS.conf	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/release/arm64/PINE64-LTS.conf	Tue Feb  5 19:50:46 2019	(r343807)
@@ -6,7 +6,7 @@
 EMBEDDED_TARGET_ARCH="aarch64"
 EMBEDDED_TARGET="arm64"
 EMBEDDEDBUILD=1
-EMBEDDEDPORTS="sysutils/u-boot-sopine"
+EMBEDDEDPORTS="sysutils/u-boot-pine64-lts"
 FAT_SIZE="54m -b 1m"
 FAT_TYPE="16"
 IMAGE_SIZE="2560M"
@@ -18,7 +18,7 @@ FDT_OVERLAYS="sun50i-a64-sid,sun50i-a64-ths,sun50i-a64
 export BOARDNAME="PINE64-LTS"
 
 arm_install_uboot() {
-	UBOOT_DIR="/usr/local/share/u-boot/u-boot-sopine"
+	UBOOT_DIR="/usr/local/share/u-boot/u-boot-pine64-lts"
 	UBOOT_FILES="u-boot-sunxi-with-spl.bin"
 	chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILES} \
 		of=/dev/${mddev} bs=1k seek=8 conv=sync

Modified: projects/clang800-import/release/arm64/RPI3.conf
==============================================================================
--- projects/clang800-import/release/arm64/RPI3.conf	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/release/arm64/RPI3.conf	Tue Feb  5 19:50:46 2019	(r343807)
@@ -4,7 +4,7 @@
 #
 
 DTB_DIR="/usr/local/share/rpi-firmware"
-DTB="bcm2710-rpi-3-b.dtb"
+DTB="bcm2710-rpi-3-b.dtb bcm2710-rpi-3-b-plus.dtb"
 EMBEDDED_TARGET_ARCH="aarch64"
 EMBEDDED_TARGET="arm64"
 EMBEDDEDBUILD=1

Modified: projects/clang800-import/sbin/devmatch/devmatch.8
==============================================================================
--- projects/clang800-import/sbin/devmatch/devmatch.8	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sbin/devmatch/devmatch.8	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,5 @@
 .\"
-.\" Copyright (c) 2017 Netflix, Inc
-.\"
-.\" All rights reserved.
+.\" Copyright (c) 2017 Netflix, Inc.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sbin/devmatch/devmatch.c
==============================================================================
--- projects/clang800-import/sbin/devmatch/devmatch.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sbin/devmatch/devmatch.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
- * Copyright (c) 2017 Netflix, Inc
- * All rights reserved.
+ * Copyright (c) 2017 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sbin/nvmecontrol/modules/wdc/wdc.c
==============================================================================
--- projects/clang800-import/sbin/nvmecontrol/modules/wdc/wdc.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sbin/nvmecontrol/modules/wdc/wdc.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
- * Copyright (c) 2017 Netflix, Inc
- * All rights reserved.
+ * Copyright (c) 2017 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sbin/nvmecontrol/nc_util.c
==============================================================================
--- projects/clang800-import/sbin/nvmecontrol/nc_util.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sbin/nvmecontrol/nc_util.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
- * Copyright (c) 2017 Netflix, Inc
- * All rights reserved.
+ * Copyright (c) 2017 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sbin/nvmecontrol/ns.c
==============================================================================
--- projects/clang800-import/sbin/nvmecontrol/ns.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sbin/nvmecontrol/ns.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,7 @@
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
  *
- * Copyright (c) 2017 Netflix, Inc
+ * Copyright (c) 2017 Netflix, Inc.
  * Copyright (C) 2018 Alexander Motin <mav@FreeBSD.org>
  *
  * Redistribution and use in source and binary forms, with or without

Modified: projects/clang800-import/sbin/nvmecontrol/nvmecontrol_ext.h
==============================================================================
--- projects/clang800-import/sbin/nvmecontrol/nvmecontrol_ext.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sbin/nvmecontrol/nvmecontrol_ext.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,7 @@
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
  *
- * Copyright (C) 2018 Netflix
+ * Copyright (C) 2018 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sbin/nvmecontrol/power.c
==============================================================================
--- projects/clang800-import/sbin/nvmecontrol/power.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sbin/nvmecontrol/power.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
- * Copyright (c) 2016 Netflix, Inc
- * All rights reserved.
+ * Copyright (c) 2016 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/share/man/man4/nda.4
==============================================================================
--- projects/clang800-import/share/man/man4/nda.4	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/share/man/man4/nda.4	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,5 +1,5 @@
-.\" Copyright (c) 2017 Netflix, Inc
-.\" All rights reserved.
+.\"
+.\" Copyright (c) 2017 Netflix, Inc.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions

Modified: projects/clang800-import/share/man/man9/kern_testfrwk.9
==============================================================================
--- projects/clang800-import/share/man/man9/kern_testfrwk.9	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/share/man/man9/kern_testfrwk.9	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 .\"
-.\" Copyright (c) 2015 Netflix Inc.
-.\" All rights reserved.
+.\" Copyright (c) 2015 Netflix, Inc.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions

Modified: projects/clang800-import/stand/efi/libefi/efienv.c
==============================================================================
--- projects/clang800-import/stand/efi/libefi/efienv.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/efi/libefi/efienv.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2018 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/stand/efi/libefi/env.c
==============================================================================
--- projects/clang800-import/stand/efi/libefi/env.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/efi/libefi/env.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Netflix, Inc. All Rights Reserved.
+ * Copyright (c) 2015 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/stand/efi/libefi/wchar.c
==============================================================================
--- projects/clang800-import/stand/efi/libefi/wchar.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/efi/libefi/wchar.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,5 +1,5 @@
 /*-
- * Copyright 2016 Netflix, Inc. All Rights Reserved.
+ * Copyright 2016 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/stand/efi/loader/main.c
==============================================================================
--- projects/clang800-import/stand/efi/loader/main.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/efi/loader/main.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,9 +1,10 @@
 /*-
  * Copyright (c) 2008-2010 Rui Paulo
  * Copyright (c) 2006 Marcel Moolenaar
- * Copyright (c) 2018 Netflix, Inc
  * All rights reserved.
  *
+ * Copyright (c) 2018 Netflix, Inc.
+ * 
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:

Modified: projects/clang800-import/stand/forth/efi.4th
==============================================================================
--- projects/clang800-import/stand/forth/efi.4th	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/forth/efi.4th	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,5 +1,5 @@
-\ Copyright (c) 2016 Netflix, Inc
-\ All rights reserved.
+\
+\ Copyright (c) 2016 Netflix, Inc.
 \
 \ Redistribution and use in source and binary forms, with or without
 \ modification, are permitted provided that the following conditions

Modified: projects/clang800-import/stand/i386/libi386/biospci.c
==============================================================================
--- projects/clang800-import/stand/i386/libi386/biospci.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/i386/libi386/biospci.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,8 @@
 /*-
  * Copyright (c) 1998 Michael Smith <msmith@freebsd.org>
- * Copyright (c) 2016 Netflix, Inc
  * All rights reserved.
+ *
+ * Copyright (c) 2016 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/stand/libsa/abort.c
==============================================================================
--- projects/clang800-import/stand/libsa/abort.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/libsa/abort.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Netflix. All Rights Reserved.
+ * Copyright (c) 2018 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/stand/libsa/xlocale_private.h
==============================================================================
--- projects/clang800-import/stand/libsa/xlocale_private.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/stand/libsa/xlocale_private.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2018 Netflix
+ * Copyright (c) 2018 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sys/amd64/amd64/exception.S
==============================================================================
--- projects/clang800-import/sys/amd64/amd64/exception.S	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/amd64/amd64/exception.S	Tue Feb  5 19:50:46 2019	(r343807)
@@ -521,12 +521,14 @@ fast_syscall_common:
 	movq	TF_RFLAGS(%rsp),%r11	/* original %rflags */
 	movq	TF_RIP(%rsp),%rcx	/* original %rip */
 	movq	TF_RSP(%rsp),%rsp	/* user stack pointer */
+	xorl	%r8d,%r8d		/* zero the rest of GPRs */
+	xorl	%r10d,%r10d
 	cmpq	$~0,PCPU(UCR3)
 	je	2f
 	movq	PCPU(UCR3),%r9
 	movq	%r9,%cr3
-	xorl	%r9d,%r9d
-2:	swapgs
+2:	xorl	%r9d,%r9d
+	swapgs
 	sysretq
 
 3:	/* AST scheduled. */

Modified: projects/clang800-import/sys/amd64/conf/GENERIC
==============================================================================
--- projects/clang800-import/sys/amd64/conf/GENERIC	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/amd64/conf/GENERIC	Tue Feb  5 19:50:46 2019	(r343807)
@@ -102,8 +102,8 @@ options 	MALLOC_DEBUG_MAXZONES=8	# Separate malloc(9) 
 options 	VERBOSE_SYSINIT=0	# Support debug.verbose_sysinit, off by default
 
 # Kernel Sanitizers
-#options 	COVERAGE		# Generic kernel coverage. Used by KCOV
-#options 	KCOV			# Kernel Coverage Sanitizer
+options 	COVERAGE		# Generic kernel coverage. Used by KCOV
+options 	KCOV			# Kernel Coverage Sanitizer
 # Warning: KUBSAN can result in a kernel too large for loader to load
 #options 	KUBSAN			# Kernel Undefined Behavior Sanitizer
 

Modified: projects/clang800-import/sys/arm/arm/physmem.c
==============================================================================
--- projects/clang800-import/sys/arm/arm/physmem.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/arm/arm/physmem.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -29,6 +29,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_acpi.h"
 #include "opt_ddb.h"
 
 /*
@@ -48,8 +49,13 @@ __FBSDID("$FreeBSD$");
  * that can be allocated, or both, depending on the exclusion flags associated
  * with the region.
  */
+#ifdef DEV_ACPI
+#define	MAX_HWCNT	32	/* ACPI needs more regions */
+#define	MAX_EXCNT	32
+#else
 #define	MAX_HWCNT	16
 #define	MAX_EXCNT	16
+#endif
 
 #if defined(__arm__)
 #define	MAX_PHYS_ADDR	0xFFFFFFFFull

Modified: projects/clang800-import/sys/arm64/conf/GENERIC
==============================================================================
--- projects/clang800-import/sys/arm64/conf/GENERIC	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/arm64/conf/GENERIC	Tue Feb  5 19:50:46 2019	(r343807)
@@ -94,8 +94,8 @@ options 	USB_DEBUG		# enable debug msgs
 options 	VERBOSE_SYSINIT=0	# Support debug.verbose_sysinit, off by default
 
 # Kernel Sanitizers
-#options 	COVERAGE		# Generic kernel coverage. Used by KCOV
-#options 	KCOV			# Kernel Coverage Sanitizer
+options 	COVERAGE		# Generic kernel coverage. Used by KCOV
+options 	KCOV			# Kernel Coverage Sanitizer
 # Warning: KUBSAN can result in a kernel too large for loader to load
 #options 	KUBSAN			# Kernel Undefined Behavior Sanitizer
 

Modified: projects/clang800-import/sys/cam/nvme/nvme_all.c
==============================================================================
--- projects/clang800-import/sys/cam/nvme/nvme_all.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/cam/nvme/nvme_all.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,7 @@
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
  *
- * Copyright (c) 2015 Netflix, Inc
+ * Copyright (c) 2015 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sys/cam/nvme/nvme_all.h
==============================================================================
--- projects/clang800-import/sys/cam/nvme/nvme_all.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/cam/nvme/nvme_all.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,7 @@
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
  *
- * Copyright (c) 2015 Netflix, Inc
+ * Copyright (c) 2015 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sys/cam/nvme/nvme_da.c
==============================================================================
--- projects/clang800-import/sys/cam/nvme/nvme_da.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/cam/nvme/nvme_da.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,7 @@
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
  *
- * Copyright (c) 2015 Netflix, Inc
+ * Copyright (c) 2015 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sys/cam/scsi/scsi_enc_ses.c
==============================================================================
--- projects/clang800-import/sys/cam/scsi/scsi_enc_ses.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/cam/scsi/scsi_enc_ses.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -2729,13 +2729,13 @@ ses_handle_string(enc_softc_t *enc, encioc_string_t *s
 	if (sstr->bufsiz > 0xffff)
 		return (EINVAL); /* buffer size too large */
 
-	if (ioc == ENCIOC_SETSTRING) {
+	switch (ioc) {
+	case ENCIOC_SETSTRING:
 		payload = sstr->bufsiz + 4; /* header for SEND DIAGNOSTIC */
 		amt = 0 - payload;
 		buf = ENC_MALLOC(payload);
 		if (buf == NULL)
-			return ENOMEM;
-
+			return (ENOMEM);
 		ses_page_cdb(cdb, payload, 0, CAM_DIR_OUT);
 		/* Construct the page request */
 		buf[0] = SesStringOut;
@@ -2743,12 +2743,14 @@ ses_handle_string(enc_softc_t *enc, encioc_string_t *s
 		buf[2] = sstr->bufsiz >> 8;
 		buf[3] = sstr->bufsiz & 0xff;
 		memcpy(&buf[4], sstr->buf, sstr->bufsiz);
-	} else if (ioc == ENCIOC_GETSTRING) {
+		break;
+	case ENCIOC_GETSTRING:
 		payload = sstr->bufsiz;
 		amt = payload;
 		ses_page_cdb(cdb, payload, SesStringIn, CAM_DIR_IN);
 		buf = sstr->buf;
-	} else if (ioc == ENCIOC_GETENCNAME) {
+		break;
+	case ENCIOC_GETENCNAME:
 		if (ses_cache->ses_nsubencs < 1)
 			return (ENODEV);
 		enc_desc = ses_cache->subencs[0];
@@ -2768,7 +2770,7 @@ ses_handle_string(enc_softc_t *enc, encioc_string_t *s
 			size = sstr->bufsiz;
 		copyout(str, sstr->buf, size);
 		return (size == rsize ? 0 : ENOMEM);
-	} else if (ioc == ENCIOC_GETENCID) {
+	case ENCIOC_GETENCID:
 		if (ses_cache->ses_nsubencs < 1)
 			return (ENODEV);
 		enc_desc = ses_cache->subencs[0];
@@ -2782,13 +2784,13 @@ ses_handle_string(enc_softc_t *enc, encioc_string_t *s
 			size = sstr->bufsiz;
 		copyout(str, sstr->buf, size);
 		return (size == rsize ? 0 : ENOMEM);
-	} else
-		return EINVAL;
-
+	default:
+		return (EINVAL);
+	}
 	ret = enc_runcmd(enc, cdb, 6, buf, &amt);
 	if (ioc == ENCIOC_SETSTRING)
 		ENC_FREE(buf);
-	return ret;
+	return (ret);
 }
 
 /**

Modified: projects/clang800-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
==============================================================================
--- projects/clang800-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -165,29 +165,38 @@ static vdev_ops_t *vdev_ops_table[] = {
 
 /* target number of metaslabs per top-level vdev */
 int vdev_max_ms_count = 200;
-SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, max_ms_count, CTLFLAG_RDTUN,
+SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, max_ms_count, CTLFLAG_RWTUN,
     &vdev_max_ms_count, 0,
-    "Maximum number of metaslabs per top-level vdev");
+    "Target number of metaslabs per top-level vdev");
 
 /* minimum number of metaslabs per top-level vdev */
 int vdev_min_ms_count = 16;
-SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, min_ms_count, CTLFLAG_RDTUN,
+SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, min_ms_count, CTLFLAG_RWTUN,
     &vdev_min_ms_count, 0,
     "Minimum number of metaslabs per top-level vdev");
 
 /* practical upper limit of total metaslabs per top-level vdev */
 int vdev_ms_count_limit = 1ULL << 17;
+SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, max_ms_count_limit, CTLFLAG_RWTUN,
+    &vdev_ms_count_limit, 0,
+    "Maximum number of metaslabs per top-level vdev");
 
 /* lower limit for metaslab size (512M) */
 int vdev_default_ms_shift = 29;
-SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, default_ms_shift, CTLFLAG_RDTUN,
+SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, default_ms_shift, CTLFLAG_RWTUN,
     &vdev_default_ms_shift, 0,
-    "Shift between vdev size and number of metaslabs");
+    "Default shift between vdev size and number of metaslabs");
 
 /* upper limit for metaslab size (256G) */
 int vdev_max_ms_shift = 38;
+SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, max_ms_shift, CTLFLAG_RWTUN,
+    &vdev_max_ms_shift, 0,
+    "Maximum shift between vdev size and number of metaslabs");
 
 boolean_t vdev_validate_skip = B_FALSE;
+SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, validate_skip, CTLFLAG_RWTUN,
+    &vdev_validate_skip, 0,
+    "Bypass vdev validation");
 
 /*
  * Since the DTL space map of a vdev is not expected to have a lot of

Modified: projects/clang800-import/sys/conf/files
==============================================================================
--- projects/clang800-import/sys/conf/files	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/conf/files	Tue Feb  5 19:50:46 2019	(r343807)
@@ -3808,7 +3808,7 @@ kern/kern_idle.c		standard
 kern/kern_intr.c		standard
 kern/kern_jail.c		standard
 kern/kern_kcov.c		optional kcov			\
-	compile-with		"${NORMAL_C} -fno-sanitize-coverage=trace-pc,trace-cmp"
+	compile-with		"${NORMAL_C} -fno-sanitize=all"
 kern/kern_khelp.c		standard
 kern/kern_kthread.c		standard
 kern/kern_ktr.c			optional ktr

Modified: projects/clang800-import/sys/conf/kern.pre.mk
==============================================================================
--- projects/clang800-import/sys/conf/kern.pre.mk	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/conf/kern.pre.mk	Tue Feb  5 19:50:46 2019	(r343807)
@@ -120,7 +120,12 @@ SAN_CFLAGS+=	-fsanitize=undefined
 
 COVERAGE_ENABLED!=	grep COVERAGE opt_global.h || true ; echo
 .if !empty(COVERAGE_ENABLED)
+.if ${COMPILER_TYPE} == "clang" || \
+    (${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80100)
 SAN_CFLAGS+=	-fsanitize-coverage=trace-pc,trace-cmp
+.else
+SAN_CFLAGS+=	-fsanitize-coverage=trace-pc
+.endif
 .endif
 
 CFLAGS+=	${SAN_CFLAGS}

Modified: projects/clang800-import/sys/contrib/ipfilter/netinet/fil.c
==============================================================================
--- projects/clang800-import/sys/contrib/ipfilter/netinet/fil.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/contrib/ipfilter/netinet/fil.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -6119,9 +6119,7 @@ ipf_getifname(ifp, buffer)
 	char *buffer;
 {
 	static char namebuf[LIFNAMSIZ];
-# if defined(MENTAT) || defined(__FreeBSD__) || defined(__osf__) || \
-     defined(__sgi) || defined(linux) || defined(_AIX51) || \
-     (defined(sun) && !defined(__SVR4) && !defined(__svr4__))
+# if defined(MENTAT) || defined(__FreeBSD__)
 	int unit, space;
 	char temp[20];
 	char *s;
@@ -6131,9 +6129,7 @@ ipf_getifname(ifp, buffer)
 		buffer = namebuf;
 	(void) strncpy(buffer, ifp->if_name, LIFNAMSIZ);
 	buffer[LIFNAMSIZ - 1] = '\0';
-# if defined(MENTAT) || defined(__FreeBSD__) || defined(__osf__) || \
-     defined(__sgi) || defined(_AIX51) || \
-     (defined(sun) && !defined(__SVR4) && !defined(__svr4__))
+# if defined(MENTAT) || defined(__FreeBSD__)
 	for (s = buffer; *s; s++)
 		;
 	unit = ifp->if_unit;

Modified: projects/clang800-import/sys/crypto/aesni/aesencdec.h
==============================================================================
--- projects/clang800-import/sys/crypto/aesni/aesencdec.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/crypto/aesni/aesencdec.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,7 +1,8 @@
 /*-
  * Copyright 2013 John-Mark Gurney <jmg@FreeBSD.org>
- * Copyright 2015 Netflix, Inc.
  * All rights reserved.
+ *
+ * Copyright 2015 Netflix, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sys/dev/efidev/efidev.c
==============================================================================
--- projects/clang800-import/sys/dev/efidev/efidev.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/dev/efidev/efidev.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1,6 +1,5 @@
 /*-
  * Copyright (c) 2016 Netflix, Inc.
- * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions

Modified: projects/clang800-import/sys/dev/netmap/if_ptnet.c
==============================================================================
--- projects/clang800-import/sys/dev/netmap/if_ptnet.c	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/dev/netmap/if_ptnet.c	Tue Feb  5 19:50:46 2019	(r343807)
@@ -1151,10 +1151,10 @@ ptnet_sync_from_csb(struct ptnet_softc *sc, struct net
 		kring->nr_hwtail = kring->rtail =
 			kring->ring->tail = ktoa->hwtail;
 
-		ND("%d,%d: csb {hc %u h %u c %u ht %u}", t, i,
+		nm_prdis("%d,%d: csb {hc %u h %u c %u ht %u}", t, i,
 		   ktoa->hwcur, atok->head, atok->cur,
 		   ktoa->hwtail);
-		ND("%d,%d: kring {hc %u rh %u rc %u h %u c %u ht %u rt %u t %u}",
+		nm_prdis("%d,%d: kring {hc %u rh %u rc %u h %u c %u ht %u rt %u t %u}",
 		   t, i, kring->nr_hwcur, kring->rhead, kring->rcur,
 		   kring->ring->head, kring->ring->cur, kring->nr_hwtail,
 		   kring->rtail, kring->ring->tail);
@@ -1179,7 +1179,6 @@ ptnet_nm_register(struct netmap_adapter *na, int onoff
 	struct ptnet_softc *sc = if_getsoftc(ifp);
 	int native = (na == &sc->ptna->hwup.up);
 	struct ptnet_queue *pq;
-	enum txrx t;
 	int ret = 0;
 	int i;
 
@@ -1194,7 +1193,7 @@ ptnet_nm_register(struct netmap_adapter *na, int onoff
 	 * in the RX rings, since we will not receive further interrupts
 	 * until these will be processed. */
 	if (native && !onoff && na->active_fds == 0) {
-		D("Exit netmap mode, re-enable interrupts");
+		nm_prinf("Exit netmap mode, re-enable interrupts");
 		for (i = 0; i < sc->num_rings; i++) {
 			pq = sc->queues + i;
 			pq->atok->appl_need_kick = 1;
@@ -1230,30 +1229,14 @@ ptnet_nm_register(struct netmap_adapter *na, int onoff
 		/* If not native, don't call nm_set_native_flags, since we don't want
 		 * to replace if_transmit method, nor set NAF_NETMAP_ON */
 		if (native) {
-			for_rx_tx(t) {
-				for (i = 0; i <= nma_get_nrings(na, t); i++) {
-					struct netmap_kring *kring = NMR(na, t)[i];
-
-					if (nm_kring_pending_on(kring)) {
-						kring->nr_mode = NKR_NETMAP_ON;
-					}
-				}
-			}
+			netmap_krings_mode_commit(na, onoff);
 			nm_set_native_flags(na);
 		}
 
 	} else {
 		if (native) {
 			nm_clear_native_flags(na);
-			for_rx_tx(t) {
-				for (i = 0; i <= nma_get_nrings(na, t); i++) {
-					struct netmap_kring *kring = NMR(na, t)[i];
-
-					if (nm_kring_pending_off(kring)) {
-						kring->nr_mode = NKR_NETMAP_OFF;
-					}
-				}
-			}
+			netmap_krings_mode_commit(na, onoff);
 		}
 
 		if (sc->ptna->backend_users == 0) {
@@ -1728,7 +1711,7 @@ ptnet_drain_transmit_queue(struct ptnet_queue *pq, uns
 
 	if (!PTNET_Q_TRYLOCK(pq)) {
 		/* We failed to acquire the lock, schedule the taskqueue. */
-		RD(1, "Deferring TX work");
+		nm_prlim(1, "Deferring TX work");
 		if (may_resched) {
 			taskqueue_enqueue(pq->taskq, &pq->task);
 		}
@@ -1738,7 +1721,7 @@ ptnet_drain_transmit_queue(struct ptnet_queue *pq, uns
 
 	if (unlikely(!(ifp->if_drv_flags & IFF_DRV_RUNNING))) {
 		PTNET_Q_UNLOCK(pq);
-		RD(1, "Interface is down");
+		nm_prlim(1, "Interface is down");
 		return ENETDOWN;
 	}
 
@@ -1776,7 +1759,7 @@ ptnet_drain_transmit_queue(struct ptnet_queue *pq, uns
 					break;
 				}
 
-				RD(1, "Found more slots by doublecheck");
+				nm_prlim(1, "Found more slots by doublecheck");
 				/* More slots were freed before reactivating
 				 * the interrupts. */
 				atok->appl_need_kick = 0;
@@ -1815,7 +1798,7 @@ ptnet_drain_transmit_queue(struct ptnet_queue *pq, uns
 					continue;
 				}
 			}
-			ND(1, "%s: [csum_flags %lX] vnet hdr: flags %x "
+			nm_prdis(1, "%s: [csum_flags %lX] vnet hdr: flags %x "
 			      "csum_start %u csum_ofs %u hdr_len = %u "
 			      "gso_size %u gso_type %x", __func__,
 			      mhead->m_pkthdr.csum_flags, vh->flags,
@@ -1890,7 +1873,7 @@ ptnet_drain_transmit_queue(struct ptnet_queue *pq, uns
 	}
 
 	if (count >= budget && may_resched) {
-		DBG(RD(1, "out of budget: resched, %d mbufs pending\n",
+		DBG(nm_prlim(1, "out of budget: resched, %d mbufs pending\n",
 					drbr_inuse(ifp, pq->bufring)));
 		taskqueue_enqueue(pq->taskq, &pq->task);
 	}
@@ -1932,7 +1915,7 @@ ptnet_transmit(if_t ifp, struct mbuf *m)
 	err = drbr_enqueue(ifp, pq->bufring, m);
 	if (err) {
 		/* ENOBUFS when the bufring is full */
-		RD(1, "%s: drbr_enqueue() failed %d\n",
+		nm_prlim(1, "%s: drbr_enqueue() failed %d\n",
 			__func__, err);
 		pq->stats.errors ++;
 		return err;
@@ -2077,13 +2060,13 @@ host_sync:
 				/* There is no good reason why host should
 				 * put the header in multiple netmap slots.
 				 * If this is the case, discard. */
-				RD(1, "Fragmented vnet-hdr: dropping");
+				nm_prlim(1, "Fragmented vnet-hdr: dropping");
 				head = ptnet_rx_discard(kring, head);
 				pq->stats.iqdrops ++;
 				deliver = 0;
 				goto skip;
 			}
-			ND(1, "%s: vnet hdr: flags %x csum_start %u "
+			nm_prdis(1, "%s: vnet hdr: flags %x csum_start %u "
 			      "csum_ofs %u hdr_len = %u gso_size %u "
 			      "gso_type %x", __func__, vh->flags,
 			      vh->csum_start, vh->csum_offset, vh->hdr_len,
@@ -2147,7 +2130,7 @@ host_sync:
 				/* The very last slot prepared by the host has
 				 * the NS_MOREFRAG set. Drop it and continue
 				 * the outer cycle (to do the double-check). */
-				RD(1, "Incomplete packet: dropping");
+				nm_prlim(1, "Incomplete packet: dropping");
 				m_freem(mhead);
 				pq->stats.iqdrops ++;
 				goto host_sync;
@@ -2185,7 +2168,7 @@ host_sync:
 					| VIRTIO_NET_HDR_F_DATA_VALID))) {
 			if (unlikely(ptnet_rx_csum(mhead, vh))) {
 				m_freem(mhead);
-				RD(1, "Csum offload error: dropping");
+				nm_prlim(1, "Csum offload error: dropping");
 				pq->stats.iqdrops ++;
 				deliver = 0;
 			}
@@ -2231,7 +2214,7 @@ escape:
 	if (count >= budget && may_resched) {
 		/* If we ran out of budget or the double-check found new
 		 * slots to process, schedule the taskqueue. */
-		DBG(RD(1, "out of budget: resched h %u t %u\n",
+		DBG(nm_prlim(1, "out of budget: resched h %u t %u\n",
 					head, ring->tail));
 		taskqueue_enqueue(pq->taskq, &pq->task);
 	}
@@ -2246,7 +2229,7 @@ ptnet_rx_task(void *context, int pending)
 {
 	struct ptnet_queue *pq = context;
 
-	DBG(RD(1, "%s: pq #%u\n", __func__, pq->kring_id));
+	DBG(nm_prlim(1, "%s: pq #%u\n", __func__, pq->kring_id));
 	ptnet_rx_eof(pq, PTNET_RX_BUDGET, true);
 }
 
@@ -2255,7 +2238,7 @@ ptnet_tx_task(void *context, int pending)
 {
 	struct ptnet_queue *pq = context;
 
-	DBG(RD(1, "%s: pq #%u\n", __func__, pq->kring_id));
+	DBG(nm_prlim(1, "%s: pq #%u\n", __func__, pq->kring_id));
 	ptnet_drain_transmit_queue(pq, PTNET_TX_BUDGET, true);
 }
 
@@ -2273,7 +2256,7 @@ ptnet_poll(if_t ifp, enum poll_cmd cmd, int budget)
 
 	KASSERT(sc->num_rings > 0, ("Found no queues in while polling ptnet"));
 	queue_budget = MAX(budget / sc->num_rings, 1);
-	RD(1, "Per-queue budget is %d", queue_budget);
+	nm_prlim(1, "Per-queue budget is %d", queue_budget);
 
 	while (budget) {
 		unsigned int rcnt = 0;

Modified: projects/clang800-import/sys/dev/netmap/if_vtnet_netmap.h
==============================================================================
--- projects/clang800-import/sys/dev/netmap/if_vtnet_netmap.h	Tue Feb  5 19:48:24 2019	(r343806)
+++ projects/clang800-import/sys/dev/netmap/if_vtnet_netmap.h	Tue Feb  5 19:50:46 2019	(r343807)
@@ -90,7 +90,6 @@ vtnet_netmap_reg(struct netmap_adapter *na, int state)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902051950.x15JolB7000924>