Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Aug 2016 16:36:00 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r303748 - in user/alc/PQ_LAUNDRY: bin/uuidgen contrib/elftoolchain/readelf contrib/libpcap crypto/openssh etc/rc.d include lib/libc/gen lib/libc/sys lib/libproc sbin/geom/class/eli sbin...
Message-ID:  <201608041636.u74Ga0Sm009297@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alc
Date: Thu Aug  4 16:36:00 2016
New Revision: 303748
URL: https://svnweb.freebsd.org/changeset/base/303748

Log:
  MFH r303747
  
  Note: A conflict in one of vm_pageout_cluster()'s comments had to be
  resolved because of functional differences between HEAD and this branch.

Added:
  user/alc/PQ_LAUNDRY/sys/mips/conf/std.AR933X
     - copied unchanged from r303747, head/sys/mips/conf/std.AR933X
  user/alc/PQ_LAUNDRY/sys/mips/conf/std.AR934X
     - copied unchanged from r303747, head/sys/mips/conf/std.AR934X
  user/alc/PQ_LAUNDRY/sys/x86/x86/mp_watchdog.c
     - copied unchanged from r303747, head/sys/x86/x86/mp_watchdog.c
Deleted:
  user/alc/PQ_LAUNDRY/sys/amd64/amd64/mp_watchdog.c
  user/alc/PQ_LAUNDRY/sys/i386/i386/mp_watchdog.c
  user/alc/PQ_LAUNDRY/sys/mips/conf/AR933X_BASE
  user/alc/PQ_LAUNDRY/sys/mips/conf/AR934X_BASE
Modified:
  user/alc/PQ_LAUNDRY/bin/uuidgen/uuidgen.c
  user/alc/PQ_LAUNDRY/contrib/elftoolchain/readelf/readelf.c
  user/alc/PQ_LAUNDRY/contrib/libpcap/pcap-bpf.c
  user/alc/PQ_LAUNDRY/crypto/openssh/FREEBSD-upgrade
  user/alc/PQ_LAUNDRY/crypto/openssh/config.h
  user/alc/PQ_LAUNDRY/crypto/openssh/configure.ac
  user/alc/PQ_LAUNDRY/crypto/openssh/myproposal.h
  user/alc/PQ_LAUNDRY/crypto/openssh/servconf.c
  user/alc/PQ_LAUNDRY/crypto/openssh/ssh_config.5
  user/alc/PQ_LAUNDRY/crypto/openssh/sshd_config.5
  user/alc/PQ_LAUNDRY/etc/rc.d/sshd
  user/alc/PQ_LAUNDRY/include/stdio.h
  user/alc/PQ_LAUNDRY/lib/libc/gen/Makefile.inc
  user/alc/PQ_LAUNDRY/lib/libc/gen/clock_getcpuclockid.3
  user/alc/PQ_LAUNDRY/lib/libc/gen/glob.c
  user/alc/PQ_LAUNDRY/lib/libc/sys/mprotect.2
  user/alc/PQ_LAUNDRY/lib/libproc/proc_create.c
  user/alc/PQ_LAUNDRY/sbin/geom/class/eli/geli.8
  user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl.c
  user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_parser.c
  user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_radix.c
  user/alc/PQ_LAUNDRY/share/man/man3/pthread_getcpuclockid.3
  user/alc/PQ_LAUNDRY/share/man/man9/Makefile
  user/alc/PQ_LAUNDRY/share/man/man9/pci.9
  user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree
  user/alc/PQ_LAUNDRY/sys/amd64/vmm/vmm.c
  user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp209.c
  user/alc/PQ_LAUNDRY/sys/arm/include/elf.h
  user/alc/PQ_LAUNDRY/sys/arm64/arm64/pmap.c
  user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/boot1.c
  user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/ufs_module.c
  user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/zfs_module.c
  user/alc/PQ_LAUNDRY/sys/boot/fdt/dts/arm/zynq-7000.dtsi
  user/alc/PQ_LAUNDRY/sys/boot/i386/libi386/biosdisk.c
  user/alc/PQ_LAUNDRY/sys/compat/freebsd32/freebsd32_proto.h
  user/alc/PQ_LAUNDRY/sys/compat/freebsd32/freebsd32_syscall.h
  user/alc/PQ_LAUNDRY/sys/compat/freebsd32/freebsd32_syscalls.c
  user/alc/PQ_LAUNDRY/sys/compat/freebsd32/freebsd32_sysent.c
  user/alc/PQ_LAUNDRY/sys/compat/freebsd32/freebsd32_systrace_args.c
  user/alc/PQ_LAUNDRY/sys/compat/freebsd32/syscalls.master
  user/alc/PQ_LAUNDRY/sys/conf/files.amd64
  user/alc/PQ_LAUNDRY/sys/conf/files.i386
  user/alc/PQ_LAUNDRY/sys/conf/files.pc98
  user/alc/PQ_LAUNDRY/sys/conf/files.powerpc
  user/alc/PQ_LAUNDRY/sys/conf/options.powerpc
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_if.m
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_iov.c
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_main.c
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_ddp.c
  user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_tom.h
  user/alc/PQ_LAUNDRY/sys/dev/hwpmc/hwpmc_core.c
  user/alc/PQ_LAUNDRY/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
  user/alc/PQ_LAUNDRY/sys/dev/pci/pci_if.m
  user/alc/PQ_LAUNDRY/sys/dev/pci/pci_iov.c
  user/alc/PQ_LAUNDRY/sys/dev/pci/pci_iov.h
  user/alc/PQ_LAUNDRY/sys/dev/pci/pci_private.h
  user/alc/PQ_LAUNDRY/sys/fs/nfsclient/nfs_clbio.c
  user/alc/PQ_LAUNDRY/sys/fs/nfsclient/nfs_clsubs.c
  user/alc/PQ_LAUNDRY/sys/fs/nfsclient/nfs_clvnops.c
  user/alc/PQ_LAUNDRY/sys/fs/nfsclient/nfsnode.h
  user/alc/PQ_LAUNDRY/sys/fs/pseudofs/pseudofs.c
  user/alc/PQ_LAUNDRY/sys/fs/pseudofs/pseudofs.h
  user/alc/PQ_LAUNDRY/sys/fs/pseudofs/pseudofs_fileno.c
  user/alc/PQ_LAUNDRY/sys/fs/pseudofs/pseudofs_vncache.c
  user/alc/PQ_LAUNDRY/sys/kern/init_sysent.c
  user/alc/PQ_LAUNDRY/sys/kern/kern_fork.c
  user/alc/PQ_LAUNDRY/sys/kern/kern_sx.c
  user/alc/PQ_LAUNDRY/sys/kern/syscalls.c
  user/alc/PQ_LAUNDRY/sys/kern/syscalls.master
  user/alc/PQ_LAUNDRY/sys/kern/systrace_args.c
  user/alc/PQ_LAUNDRY/sys/kern/vfs_subr.c
  user/alc/PQ_LAUNDRY/sys/kern/vnode_if.src
  user/alc/PQ_LAUNDRY/sys/mips/conf/ALFA_HORNET_UB
  user/alc/PQ_LAUNDRY/sys/mips/conf/AP121
  user/alc/PQ_LAUNDRY/sys/mips/conf/CARAMBOLA2
  user/alc/PQ_LAUNDRY/sys/mips/conf/DB120
  user/alc/PQ_LAUNDRY/sys/mips/conf/DIR-825C1
  user/alc/PQ_LAUNDRY/sys/mips/conf/ONIONOMEGA
  user/alc/PQ_LAUNDRY/sys/mips/conf/TL-WDR4300
  user/alc/PQ_LAUNDRY/sys/mips/conf/TL-WR740Nv4
  user/alc/PQ_LAUNDRY/sys/mips/conf/TP-MR3020
  user/alc/PQ_LAUNDRY/sys/powerpc/conf/MPC85XX
  user/alc/PQ_LAUNDRY/sys/powerpc/conf/dpaa/DPAA
  user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/mpc85xx.c
  user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/mpc85xx.h
  user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/pci_mpc85xx.c
  user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/platform_mpc85xx.c
  user/alc/PQ_LAUNDRY/sys/sys/elf_common.h
  user/alc/PQ_LAUNDRY/sys/sys/mman.h
  user/alc/PQ_LAUNDRY/sys/sys/pmc.h
  user/alc/PQ_LAUNDRY/sys/sys/syscall.h
  user/alc/PQ_LAUNDRY/sys/sys/syscall.mk
  user/alc/PQ_LAUNDRY/sys/sys/sysproto.h
  user/alc/PQ_LAUNDRY/sys/sys/vnode.h
  user/alc/PQ_LAUNDRY/sys/vm/swap_pager.c
  user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c
  user/alc/PQ_LAUNDRY/usr.bin/grep/regex/tre-fastmatch.c
  user/alc/PQ_LAUNDRY/usr.bin/indent/args.c
  user/alc/PQ_LAUNDRY/usr.bin/indent/indent.1
  user/alc/PQ_LAUNDRY/usr.bin/indent/indent.c
  user/alc/PQ_LAUNDRY/usr.bin/indent/indent.h
  user/alc/PQ_LAUNDRY/usr.bin/indent/indent_globs.h
  user/alc/PQ_LAUNDRY/usr.bin/indent/lexi.c
  user/alc/PQ_LAUNDRY/usr.bin/truss/setup.c
  user/alc/PQ_LAUNDRY/usr.sbin/kgzip/kgzip.8
Directory Properties:
  user/alc/PQ_LAUNDRY/   (props changed)
  user/alc/PQ_LAUNDRY/contrib/elftoolchain/   (props changed)
  user/alc/PQ_LAUNDRY/contrib/libpcap/   (props changed)
  user/alc/PQ_LAUNDRY/crypto/openssh/   (props changed)

Modified: user/alc/PQ_LAUNDRY/bin/uuidgen/uuidgen.c
==============================================================================
--- user/alc/PQ_LAUNDRY/bin/uuidgen/uuidgen.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/bin/uuidgen/uuidgen.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -47,7 +47,7 @@ main(int argc, char *argv[])
 	FILE *fp;
 	uuid_t *store, *uuid;
 	char *p;
-	int ch, count, i, iterate;
+	int ch, count, i, iterate, status;
 
 	count = -1;	/* no count yet */
 	fp = stdout;	/* default output file */
@@ -101,7 +101,9 @@ main(int argc, char *argv[])
 
 	uuid = store;
 	while (count--) {
-		uuid_to_string(uuid++, &p, NULL);
+		uuid_to_string(uuid++, &p, &status);
+		if (status != uuid_s_ok)
+		     err(1, "cannot stringify a UUID");
 		fprintf(fp, "%s\n", p);
 		free(p);
 	}

Modified: user/alc/PQ_LAUNDRY/contrib/elftoolchain/readelf/readelf.c
==============================================================================
--- user/alc/PQ_LAUNDRY/contrib/elftoolchain/readelf/readelf.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/contrib/elftoolchain/readelf/readelf.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -343,7 +343,7 @@ static const char *note_type_openbsd(uns
 static const char *note_type_unknown(unsigned int nt);
 static const char *note_type_xen(unsigned int nt);
 static const char *option_kind(uint8_t kind);
-static const char *phdr_type(unsigned int ptype);
+static const char *phdr_type(unsigned int mach, unsigned int ptype);
 static const char *ppc_abi_fp(uint64_t fp);
 static const char *ppc_abi_vector(uint64_t vec);
 static void readelf_usage(int status);
@@ -622,10 +622,24 @@ elf_ver(unsigned int ver)
 }
 
 static const char *
-phdr_type(unsigned int ptype)
+phdr_type(unsigned int mach, unsigned int ptype)
 {
 	static char s_ptype[32];
 
+	if (ptype >= PT_LOPROC && ptype <= PT_HIPROC) {
+		switch (mach) {
+		case EM_ARM:
+			switch (ptype) {
+			case PT_ARM_ARCHEXT: return "ARM_ARCHEXT";
+			case PT_ARM_EXIDX: return "ARM_EXIDX";
+			}
+			break;
+		}
+		snprintf(s_ptype, sizeof(s_ptype), "LOPROC+%#x",
+		    ptype - PT_LOPROC);
+		return (s_ptype);
+	}
+
 	switch (ptype) {
 	case PT_NULL: return "NULL";
 	case PT_LOAD: return "LOAD";
@@ -639,10 +653,7 @@ phdr_type(unsigned int ptype)
 	case PT_GNU_STACK: return "GNU_STACK";
 	case PT_GNU_RELRO: return "GNU_RELRO";
 	default:
-		if (ptype >= PT_LOPROC && ptype <= PT_HIPROC)
-			snprintf(s_ptype, sizeof(s_ptype), "LOPROC+%#x",
-			    ptype - PT_LOPROC);
-		else if (ptype >= PT_LOOS && ptype <= PT_HIOS)
+		if (ptype >= PT_LOOS && ptype <= PT_HIOS)
 			snprintf(s_ptype, sizeof(s_ptype), "LOOS+%#x",
 			    ptype - PT_LOOS);
 		else
@@ -659,6 +670,15 @@ section_type(unsigned int mach, unsigned
 
 	if (stype >= SHT_LOPROC && stype <= SHT_HIPROC) {
 		switch (mach) {
+		case EM_ARM:
+			switch (stype) {
+			case SHT_ARM_EXIDX: return "ARM_EXIDX";
+			case SHT_ARM_PREEMPTMAP: return "ARM_PREEMPTMAP";
+			case SHT_ARM_ATTRIBUTES: return "ARM_ATTRIBUTES";
+			case SHT_ARM_DEBUGOVERLAY: return "ARM_DEBUGOVERLAY";
+			case SHT_ARM_OVERLAYSECTION: return "ARM_OVERLAYSECTION";
+			}
+			break;
 		case EM_X86_64:
 			switch (stype) {
 			case SHT_X86_64_UNWIND: return "X86_64_UNWIND";
@@ -2273,9 +2293,10 @@ dump_phdr(struct readelf *re)
 
 #define	PH_HDR	"Type", "Offset", "VirtAddr", "PhysAddr", "FileSiz",	\
 		"MemSiz", "Flg", "Align"
-#define	PH_CT	phdr_type(phdr.p_type), (uintmax_t)phdr.p_offset,	\
-		(uintmax_t)phdr.p_vaddr, (uintmax_t)phdr.p_paddr,	\
-		(uintmax_t)phdr.p_filesz, (uintmax_t)phdr.p_memsz,	\
+#define	PH_CT	phdr_type(re->ehdr.e_machine, phdr.p_type),		\
+		(uintmax_t)phdr.p_offset, (uintmax_t)phdr.p_vaddr,	\
+		(uintmax_t)phdr.p_paddr, (uintmax_t)phdr.p_filesz,	\
+		(uintmax_t)phdr.p_memsz,				\
 		phdr.p_flags & PF_R ? 'R' : ' ',			\
 		phdr.p_flags & PF_W ? 'W' : ' ',			\
 		phdr.p_flags & PF_X ? 'E' : ' ',			\

Modified: user/alc/PQ_LAUNDRY/contrib/libpcap/pcap-bpf.c
==============================================================================
--- user/alc/PQ_LAUNDRY/contrib/libpcap/pcap-bpf.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/contrib/libpcap/pcap-bpf.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -431,6 +431,22 @@ pcap_create_interface(const char *device
 
 	p->activate_op = pcap_activate_bpf;
 	p->can_set_rfmon_op = pcap_can_set_rfmon_bpf;
+#ifdef BIOCSTSTAMP
+	/*
+	 * We claim that we support microsecond and nanosecond time
+	 * stamps.
+	 */
+	p->tstamp_precision_count = 2;
+	p->tstamp_precision_list = malloc(2 * sizeof(u_int));
+	if (p->tstamp_precision_list == NULL) {
+		snprintf(ebuf, PCAP_ERRBUF_SIZE, "malloc: %s",
+		    pcap_strerror(errno));
+		free(p);
+		return (NULL);
+	}
+	p->tstamp_precision_list[0] = PCAP_TSTAMP_PRECISION_MICRO;
+	p->tstamp_precision_list[1] = PCAP_TSTAMP_PRECISION_NANO;
+#endif /* BIOCSTSTAMP */
 	return (p);
 }
 
@@ -946,7 +962,11 @@ pcap_read_bpf(pcap_t *p, int cnt, pcap_h
 	/*
 	 * Loop through each packet.
 	 */
+#ifdef BIOCSTSTAMP
+#define bhp ((struct bpf_xhdr *)bp)
+#else
 #define bhp ((struct bpf_hdr *)bp)
+#endif
 	ep = bp + cc;
 #ifdef PCAP_FDDIPAD
 	pad = p->fddipad;
@@ -1008,7 +1028,25 @@ pcap_read_bpf(pcap_t *p, int cnt, pcap_h
 		if (pb->filtering_in_kernel ||
 		    bpf_filter(p->fcode.bf_insns, datap, bhp->bh_datalen, caplen)) {
 			struct pcap_pkthdr pkthdr;
+#ifdef BIOCSTSTAMP
+			struct bintime bt;
+
+			bt.sec = bhp->bh_tstamp.bt_sec;
+			bt.frac = bhp->bh_tstamp.bt_frac;
+			if (p->opt.tstamp_precision == PCAP_TSTAMP_PRECISION_NANO) {
+				struct timespec ts;
+
+				bintime2timespec(&bt, &ts);
+				pkthdr.ts.tv_sec = ts.tv_sec;
+				pkthdr.ts.tv_usec = ts.tv_nsec;
+			} else {
+				struct timeval tv;
 
+				bintime2timeval(&bt, &tv);
+				pkthdr.ts.tv_sec = tv.tv_sec;
+				pkthdr.ts.tv_usec = tv.tv_usec;
+			}
+#else
 			pkthdr.ts.tv_sec = bhp->bh_tstamp.tv_sec;
 #ifdef _AIX
 			/*
@@ -1019,6 +1057,7 @@ pcap_read_bpf(pcap_t *p, int cnt, pcap_h
 #else
 			pkthdr.ts.tv_usec = bhp->bh_tstamp.tv_usec;
 #endif
+#endif /* BIOCSTSTAMP */
 #ifdef PCAP_FDDIPAD
 			if (caplen > pad)
 				pkthdr.caplen = caplen - pad;
@@ -2192,6 +2231,16 @@ pcap_activate_bpf(pcap_t *p)
 		}
 	}
 
+#ifdef BIOCSTSTAMP
+	v = BPF_T_BINTIME;
+	if (ioctl(p->fd, BIOCSTSTAMP, &v) < 0) {
+		snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "BIOCSTSTAMP: %s",
+		    pcap_strerror(errno));
+		status = PCAP_ERROR;
+		goto bad;
+	}
+#endif /* BIOCSTSTAMP */
+
 	if (ioctl(fd, BIOCGBLEN, (caddr_t)&v) < 0) {
 		snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "BIOCGBLEN: %s",
 		    pcap_strerror(errno));

Modified: user/alc/PQ_LAUNDRY/crypto/openssh/FREEBSD-upgrade
==============================================================================
--- user/alc/PQ_LAUNDRY/crypto/openssh/FREEBSD-upgrade	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/crypto/openssh/FREEBSD-upgrade	Thu Aug  4 16:36:00 2016	(r303748)
@@ -142,30 +142,25 @@
    Support for TCP wrappers was removed in upstream 6.7p1.  We've
    added it back by porting the 6.6p1 code forward.
 
-6) DSA keys
-
-   DSA keys were disabled by default in upstream 6.9p1.  We've added
-   them back.
-
-7) Agent client reference counting
+6) Agent client reference counting
 
    We've added code to ssh-agent.c to implement client reference
    counting; the agent will automatically exit when the last client
    disconnects.
 
-8) Class-based login restrictions
+7) Class-based login restrictions
 
    We've added code to auth2.c to enforce the host.allow, host.deny,
    times.allow and times.deny login class capabilities.
 
-9) HPN
+8) HPN
 
    We no longer have the HPN patches (adaptive buffer size for
    increased throughput on high-BxD links), but we recognize and
    ignore HPN-related configuration options to avoid breaking existing
    configurations.
 
-A) AES-CBC
+9) AES-CBC
 
    The AES-CBC ciphers were removed from the server-side proposal list
    in 6.7p1 due to theoretical weaknesses and the availability of

Modified: user/alc/PQ_LAUNDRY/crypto/openssh/config.h
==============================================================================
--- user/alc/PQ_LAUNDRY/crypto/openssh/config.h	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/crypto/openssh/config.h	Thu Aug  4 16:36:00 2016	(r303748)
@@ -1701,7 +1701,7 @@
 /* #undef WITH_SELINUX */
 
 /* include SSH protocol version 1 support */
-#define WITH_SSH1 1
+/* #undef WITH_SSH1 */
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */

Modified: user/alc/PQ_LAUNDRY/crypto/openssh/configure.ac
==============================================================================
--- user/alc/PQ_LAUNDRY/crypto/openssh/configure.ac	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/crypto/openssh/configure.ac	Thu Aug  4 16:36:00 2016	(r303748)
@@ -123,7 +123,7 @@ AC_CHECK_DECL([PR_SET_NO_NEW_PRIVS], [ha
 ])
 
 openssl=yes
-ssh1=yes
+ssh1=no
 AC_ARG_WITH([openssl],
 	[  --without-openssl       Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL** ],
 	[  if test "x$withval" = "xno" ; then

Modified: user/alc/PQ_LAUNDRY/crypto/openssh/myproposal.h
==============================================================================
--- user/alc/PQ_LAUNDRY/crypto/openssh/myproposal.h	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/crypto/openssh/myproposal.h	Thu Aug  4 16:36:00 2016	(r303748)
@@ -100,13 +100,11 @@
 	HOSTKEY_ECDSA_CERT_METHODS \
 	"ssh-ed25519-cert-v01@openssh.com," \
 	"ssh-rsa-cert-v01@openssh.com," \
-	"ssh-dss-cert-v01@openssh.com," \
 	HOSTKEY_ECDSA_METHODS \
 	"ssh-ed25519," \
 	"rsa-sha2-512," \
 	"rsa-sha2-256," \
-	"ssh-rsa," \
-	"ssh-dss"
+	"ssh-rsa"
 
 /* the actual algorithms */
 

Modified: user/alc/PQ_LAUNDRY/crypto/openssh/servconf.c
==============================================================================
--- user/alc/PQ_LAUNDRY/crypto/openssh/servconf.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/crypto/openssh/servconf.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -206,8 +206,6 @@ fill_default_server_options(ServerOption
 	/* Standard Options */
 	if (options->protocol == SSH_PROTO_UNKNOWN)
 		options->protocol = SSH_PROTO_2;
-	if (options->protocol & SSH_PROTO_1)
-		error("WARNING: SSH protocol version 1 enabled");
 	if (options->num_host_key_files == 0) {
 		/* fill default hostkeys for protocols */
 		if (options->protocol & SSH_PROTO_1)

Modified: user/alc/PQ_LAUNDRY/crypto/openssh/ssh_config.5
==============================================================================
--- user/alc/PQ_LAUNDRY/crypto/openssh/ssh_config.5	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/crypto/openssh/ssh_config.5	Thu Aug  4 16:36:00 2016	(r303748)
@@ -871,10 +871,8 @@ ecdsa-sha2-nistp384-cert-v01@openssh.com
 ecdsa-sha2-nistp521-cert-v01@openssh.com,
 ssh-ed25519-cert-v01@openssh.com,
 ssh-rsa-cert-v01@openssh.com,
-ssh-dss-cert-v01@openssh.com,
-ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
-ecdsa-sha2-nistp521,ssh-ed25519,
-ssh-rsa,ssh-dss
+ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ssh-ed25519,ssh-rsa
 .Ed
 .Pp
 The
@@ -896,10 +894,8 @@ ecdsa-sha2-nistp384-cert-v01@openssh.com
 ecdsa-sha2-nistp521-cert-v01@openssh.com,
 ssh-ed25519-cert-v01@openssh.com,
 ssh-rsa-cert-v01@openssh.com,
-ssh-dss-cert-v01@openssh.com,
-ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
-ecdsa-sha2-nistp521,ssh-ed25519,
-ssh-rsa,ssh-dss
+ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ssh-ed25519,ssh-rsa
 .Ed
 .Pp
 If hostkeys are known for the destination host then this default is modified
@@ -1336,10 +1332,8 @@ ecdsa-sha2-nistp384-cert-v01@openssh.com
 ecdsa-sha2-nistp521-cert-v01@openssh.com,
 ssh-ed25519-cert-v01@openssh.com,
 ssh-rsa-cert-v01@openssh.com,
-ssh-dss-cert-v01@openssh.com,
-ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
-ecdsa-sha2-nistp521,ssh-ed25519,
-ssh-rsa,ssh-dss
+ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ssh-ed25519,ssh-rsa
 .Ed
 .Pp
 The

Modified: user/alc/PQ_LAUNDRY/crypto/openssh/sshd_config.5
==============================================================================
--- user/alc/PQ_LAUNDRY/crypto/openssh/sshd_config.5	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/crypto/openssh/sshd_config.5	Thu Aug  4 16:36:00 2016	(r303748)
@@ -659,10 +659,8 @@ ecdsa-sha2-nistp384-cert-v01@openssh.com
 ecdsa-sha2-nistp521-cert-v01@openssh.com,
 ssh-ed25519-cert-v01@openssh.com,
 ssh-rsa-cert-v01@openssh.com,
-ssh-dss-cert-v01@openssh.com,
-ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
-ecdsa-sha2-nistp521,ssh-ed25519,
-ssh-rsa,ssh-dss
+ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ssh-ed25519,ssh-rsa
 .Ed
 .Pp
 The
@@ -753,10 +751,8 @@ ecdsa-sha2-nistp384-cert-v01@openssh.com
 ecdsa-sha2-nistp521-cert-v01@openssh.com,
 ssh-ed25519-cert-v01@openssh.com,
 ssh-rsa-cert-v01@openssh.com,
-ssh-dss-cert-v01@openssh.com,
-ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
-ecdsa-sha2-nistp521,ssh-ed25519,
-ssh-rsa,ssh-dss
+ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ssh-ed25519,ssh-rsa
 .Ed
 .Pp
 The list of available key types may also be obtained using the
@@ -1372,10 +1368,8 @@ ecdsa-sha2-nistp384-cert-v01@openssh.com
 ecdsa-sha2-nistp521-cert-v01@openssh.com,
 ssh-ed25519-cert-v01@openssh.com,
 ssh-rsa-cert-v01@openssh.com,
-ssh-dss-cert-v01@openssh.com,
-ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
-ecdsa-sha2-nistp521,ssh-ed25519,
-ssh-rsa,ssh-dss
+ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
+ssh-ed25519,ssh-rsa
 .Ed
 .Pp
 The

Modified: user/alc/PQ_LAUNDRY/etc/rc.d/sshd
==============================================================================
--- user/alc/PQ_LAUNDRY/etc/rc.d/sshd	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/etc/rc.d/sshd	Thu Aug  4 16:36:00 2016	(r303748)
@@ -23,7 +23,7 @@ extra_commands="configtest keygen reload
 
 : ${sshd_rsa1_enable:="no"}
 : ${sshd_rsa_enable:="yes"}
-: ${sshd_dsa_enable:="yes"}
+: ${sshd_dsa_enable:="no"}
 : ${sshd_ecdsa_enable:="yes"}
 : ${sshd_ed25519_enable:="yes"}
 

Modified: user/alc/PQ_LAUNDRY/include/stdio.h
==============================================================================
--- user/alc/PQ_LAUNDRY/include/stdio.h	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/include/stdio.h	Thu Aug  4 16:36:00 2016	(r303748)
@@ -357,6 +357,7 @@ ssize_t	 getdelim(char ** __restrict, si
 FILE	*open_memstream(char **, size_t *);
 int	 renameat(int, const char *, int, const char *);
 int	 vdprintf(int, const char * __restrict, __va_list);
+/* _WITH_GETLINE to allow pre 11 sources to build on 11+ systems */
 ssize_t	 getline(char ** __restrict, size_t * __restrict, FILE * __restrict);
 int	 dprintf(int, const char * __restrict, ...);
 #endif /* __POSIX_VISIBLE >= 200809 */

Modified: user/alc/PQ_LAUNDRY/lib/libc/gen/Makefile.inc
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libc/gen/Makefile.inc	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/lib/libc/gen/Makefile.inc	Thu Aug  4 16:36:00 2016	(r303748)
@@ -390,6 +390,7 @@ MLINKS+=getgrent.3 endgrent.3 \
 	getgrent.3 getgrgid_r.3
 MLINKS+=gethostname.3 sethostname.3
 MLINKS+=getnetgrent.3 endnetgrent.3 \
+	getnetgrent.3 getnetgrent_r.3 \
 	getnetgrent.3 innetgr.3 \
 	getnetgrent.3 setnetgrent.3
 MLINKS+=getprogname.3 setprogname.3

Modified: user/alc/PQ_LAUNDRY/lib/libc/gen/clock_getcpuclockid.3
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libc/gen/clock_getcpuclockid.3	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/lib/libc/gen/clock_getcpuclockid.3	Thu Aug  4 16:36:00 2016	(r303748)
@@ -70,7 +70,9 @@ Upon successful completion,
 returns zero; otherwise, an error number is returned to indicate the
 error.
 .Sh ERRORS
-The clock_getcpuclockid() function will fail if:
+The
+.Fn clock_getcpuclockid
+function will fail if:
 .Bl -tag -width Er
 .It Bq Er EPERM
 The requesting process does not have permission to access the CPU-time
@@ -84,7 +86,7 @@ No process can be found corresponding to
 .Sh STANDARDS
 The
 .Fn clock_getcpuclockid
-function conform to
+function conforms to
 .St -p1003.1-2001 .
 .Sh HISTORY
 The

Modified: user/alc/PQ_LAUNDRY/lib/libc/gen/glob.c
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libc/gen/glob.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/lib/libc/gen/glob.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -177,6 +177,8 @@ static int	 globexp2(const Char *, const
 static int	 globfinal(glob_t *, struct glob_limit *, size_t,
     const char *);
 static int	 match(Char *, Char *, Char *);
+static int	 err_nomatch(glob_t *, struct glob_limit *, const char *);
+static int	 err_aborted(glob_t *, int, char *);
 #ifdef DEBUG
 static void	 qprintf(const char *, Char *);
 #endif
@@ -217,8 +219,7 @@ glob(const char * __restrict pattern, in
 		while (bufnext <= bufend) {
 			clen = mbrtowc(&wc, patnext, MB_LEN_MAX, &mbs);
 			if (clen == (size_t)-1 || clen == (size_t)-2)
-				return (globfinal(pglob, &limit,
-				    pglob->gl_pathc, pattern));
+				return (err_nomatch(pglob, &limit, pattern));
 			else if (clen == 0) {
 				too_long = 0;
 				break;
@@ -240,8 +241,7 @@ glob(const char * __restrict pattern, in
 				prot = 0;
 			clen = mbrtowc(&wc, patnext, MB_LEN_MAX, &mbs);
 			if (clen == (size_t)-1 || clen == (size_t)-2)
-				return (globfinal(pglob, &limit,
-				    pglob->gl_pathc, pattern));
+				return (err_nomatch(pglob, &limit, pattern));
 			else if (clen == 0) {
 				too_long = 0;
 				break;
@@ -251,7 +251,7 @@ glob(const char * __restrict pattern, in
 		}
 	}
 	if (too_long)
-		return (globfinal(pglob, &limit, pglob->gl_pathc, pattern));
+		return (err_nomatch(pglob, &limit, pattern));
 	*bufnext = EOS;
 
 	if (flags & GLOB_BRACE)
@@ -608,20 +608,9 @@ glob0(const Char *pattern, glob_t *pglob
 static int
 globfinal(glob_t *pglob, struct glob_limit *limit, size_t oldpathc,
     const char *origpat) {
-	/*
-	 * If there was no match we are going to append the origpat
-	 * if GLOB_NOCHECK was specified or if GLOB_NOMAGIC was specified
-	 * and the origpat did not contain any magic characters
-	 * GLOB_NOMAGIC is there just for compatibility with csh.
-	 */
-	if (pglob->gl_pathc == oldpathc) {
-		if ((pglob->gl_flags & GLOB_NOCHECK) ||
-		    ((pglob->gl_flags & GLOB_NOMAGIC) &&
-		    !(pglob->gl_flags & GLOB_MAGCHAR)))
-			return (globextend(NULL, pglob, limit, origpat));
-		else
-			return (GLOB_NOMATCH);
-	}
+	if (pglob->gl_pathc == oldpathc)
+		return (err_nomatch(pglob, limit, origpat));
+
 	if (!(pglob->gl_flags & GLOB_NOSORT))
 		qsort(pglob->gl_pathv + pglob->gl_offs + oldpathc,
 		    pglob->gl_pathc - oldpathc, sizeof(char *), compare);
@@ -750,16 +739,10 @@ glob3(Char *pathbuf, Char *pathend, Char
 	if ((dirp = g_opendir(pathbuf, pglob)) == NULL) {
 		if (errno == ENOENT || errno == ENOTDIR)
 			return (0);
-		if ((pglob->gl_errfunc != NULL &&
-		    pglob->gl_errfunc(buf, errno)) ||
-		    (pglob->gl_flags & GLOB_ERR)) {
-			if (errno == 0)
-				errno = saverrno;
-			return (GLOB_ABORTED);
-		}
+		err = err_aborted(pglob, errno, buf);
 		if (errno == 0)
 			errno = saverrno;
-		return (0);
+		return (err);
 	}
 
 	err = 0;
@@ -809,11 +792,9 @@ glob3(Char *pathbuf, Char *pathend, Char
 			}
 			sc += clen;
 		}
-		if (too_long && ((pglob->gl_errfunc != NULL &&
-		    pglob->gl_errfunc(buf, ENAMETOOLONG)) ||
-		    (pglob->gl_flags & GLOB_ERR))) {
+		if (too_long && (err = err_aborted(pglob, ENAMETOOLONG,
+		    buf))) {
 			errno = ENAMETOOLONG;
-			err = GLOB_ABORTED;
 			break;
 		}
 		if (too_long || !match(pathend, pattern, restpattern)) {
@@ -840,9 +821,9 @@ glob3(Char *pathbuf, Char *pathend, Char
 	if (err)
 		return (err);
 
-	if (dp == NULL && errno != 0 && ((pglob->gl_errfunc != NULL &&
-	    pglob->gl_errfunc(buf, errno)) || (pglob->gl_flags & GLOB_ERR)))
-		return (GLOB_ABORTED);
+	if (dp == NULL && errno != 0 &&
+	    (err = err_aborted(pglob, errno, buf)))
+		return (err);
 
 	if (errno == 0)
 		errno = saverrno;
@@ -1079,6 +1060,29 @@ g_Ctoc(const Char *str, char *buf, size_
 	return (1);
 }
 
+static int
+err_nomatch(glob_t *pglob, struct glob_limit *limit, const char *origpat) {
+	/*
+	 * If there was no match we are going to append the origpat
+	 * if GLOB_NOCHECK was specified or if GLOB_NOMAGIC was specified
+	 * and the origpat did not contain any magic characters
+	 * GLOB_NOMAGIC is there just for compatibility with csh.
+	 */
+	if ((pglob->gl_flags & GLOB_NOCHECK) ||
+	    ((pglob->gl_flags & GLOB_NOMAGIC) &&
+	    !(pglob->gl_flags & GLOB_MAGCHAR)))
+		return (globextend(NULL, pglob, limit, origpat));
+	return (GLOB_NOMATCH);
+}
+
+static int
+err_aborted(glob_t *pglob, int err, char *buf) {
+	if ((pglob->gl_errfunc != NULL && pglob->gl_errfunc(buf, err)) ||
+	    (pglob->gl_flags & GLOB_ERR))
+		return (GLOB_ABORTED);
+	return (0);
+}
+
 #ifdef DEBUG
 static void
 qprintf(const char *str, Char *s)

Modified: user/alc/PQ_LAUNDRY/lib/libc/sys/mprotect.2
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libc/sys/mprotect.2	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/lib/libc/sys/mprotect.2	Thu Aug  4 16:36:00 2016	(r303748)
@@ -28,7 +28,7 @@
 .\"	@(#)mprotect.2	8.1 (Berkeley) 6/9/93
 .\" $FreeBSD$
 .\"
-.Dd June 9, 1993
+.Dd August 3, 2016
 .Dt MPROTECT 2
 .Os
 .Sh NAME
@@ -39,7 +39,7 @@
 .Sh SYNOPSIS
 .In sys/mman.h
 .Ft int
-.Fn mprotect "const void *addr" "size_t len" "int prot"
+.Fn mprotect "void *addr" "size_t len" "int prot"
 .Sh DESCRIPTION
 The
 .Fn mprotect

Modified: user/alc/PQ_LAUNDRY/lib/libproc/proc_create.c
==============================================================================
--- user/alc/PQ_LAUNDRY/lib/libproc/proc_create.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/lib/libproc/proc_create.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -73,9 +73,9 @@ proc_init(pid_t pid, int flags, int stat
 	struct proc_handle *phdl;
 	int error, class, count, fd;
 
-	*pphdl = NULL;
+	error = ENOMEM;
 	if ((phdl = malloc(sizeof(*phdl))) == NULL)
-		return (ENOMEM);
+		goto out;
 
 	memset(phdl, 0, sizeof(*phdl));
 	phdl->pid = pid;
@@ -83,17 +83,17 @@ proc_init(pid_t pid, int flags, int stat
 	phdl->status = status;
 	phdl->procstat = procstat_open_sysctl();
 	if (phdl->procstat == NULL)
-		return (ENOMEM);
+		goto out;
 
 	/* Obtain a path to the executable. */
 	if ((kp = procstat_getprocs(phdl->procstat, KERN_PROC_PID, pid,
 	    &count)) == NULL)
-		return (ENOMEM);
+		goto out;
 	error = procstat_getpathname(phdl->procstat, kp, phdl->execpath,
 	    sizeof(phdl->execpath));
 	procstat_freeprocs(phdl->procstat, kp);
 	if (error != 0)
-		return (error);
+		goto out;
 
 	/* Use it to determine the data model for the process. */
 	if ((fd = open(phdl->execpath, O_RDONLY)) < 0) {

Modified: user/alc/PQ_LAUNDRY/sbin/geom/class/eli/geli.8
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/geom/class/eli/geli.8	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sbin/geom/class/eli/geli.8	Thu Aug  4 16:36:00 2016	(r303748)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 10, 2015
+.Dd August 3, 2016
 .Dt GELI 8
 .Os
 .Sh NAME
@@ -266,7 +266,7 @@ If the option is not given, there will b
 The recommended algorithm is
 .Nm HMAC/SHA256 .
 .It Fl b
-Ask for the passphrase on boot, before the root partition is mounted.
+Try to decrypt this partition during boot, before the root partition is mounted.
 This makes it possible to use an encrypted root partition.
 One will still need bootable unencrypted storage with a
 .Pa /boot/

Modified: user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -82,7 +82,7 @@ int	 pfctl_load_limit(struct pfctl *, un
 int	 pfctl_load_timeout(struct pfctl *, unsigned int, unsigned int);
 int	 pfctl_load_debug(struct pfctl *, unsigned int);
 int	 pfctl_load_logif(struct pfctl *, char *);
-int	 pfctl_load_hostid(struct pfctl *, unsigned int);
+int	 pfctl_load_hostid(struct pfctl *, u_int32_t);
 int	 pfctl_get_pool(int, struct pf_pool *, u_int32_t, u_int32_t, int,
 	    char *);
 void	 pfctl_print_rule_counters(struct pf_rule *, int);
@@ -100,7 +100,7 @@ int	 pfctl_ruleset_trans(struct pfctl *,
 int	 pfctl_load_ruleset(struct pfctl *, char *,
 		struct pf_ruleset *, int, int);
 int	 pfctl_load_rule(struct pfctl *, char *, struct pf_rule *, int);
-const char	*pfctl_lookup_option(char *, const char **);
+const char	*pfctl_lookup_option(char *, const char * const *);
 
 struct pf_anchor_global	 pf_anchors;
 struct pf_anchor	 pf_main_anchor;
@@ -111,7 +111,7 @@ const char	*showopt;
 const char	*debugopt;
 char		*anchoropt;
 const char	*optiopt = NULL;
-char		*pf_device = "/dev/pf";
+const char	*pf_device = "/dev/pf";
 char		*ifaceopt;
 char		*tableopt;
 const char	*tblcmdopt;
@@ -203,27 +203,27 @@ static const struct {
 	{ NULL,			NULL }
 };
 
-static const char *clearopt_list[] = {
+static const char * const clearopt_list[] = {
 	"nat", "queue", "rules", "Sources",
 	"states", "info", "Tables", "osfp", "all", NULL
 };
 
-static const char *showopt_list[] = {
+static const char * const showopt_list[] = {
 	"nat", "queue", "rules", "Anchors", "Sources", "states", "info",
 	"Interfaces", "labels", "timeouts", "memory", "Tables", "osfp",
 	"all", NULL
 };
 
-static const char *tblcmdopt_list[] = {
+static const char * const tblcmdopt_list[] = {
 	"kill", "flush", "add", "delete", "load", "replace", "show",
 	"test", "zero", "expire", NULL
 };
 
-static const char *debugopt_list[] = {
+static const char * const debugopt_list[] = {
 	"none", "urgent", "misc", "loud", NULL
 };
 
-static const char *optiopt_list[] = {
+static const char * const optiopt_list[] = {
 	"none", "basic", "profile", NULL
 };
 
@@ -1975,7 +1975,7 @@ pfctl_show_anchors(int dev, int opts, ch
 }
 
 const char *
-pfctl_lookup_option(char *cmd, const char **list)
+pfctl_lookup_option(char *cmd, const char * const *list)
 {
 	if (cmd != NULL && *cmd)
 		for (; *list; list++)

Modified: user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_parser.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_parser.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_parser.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -76,7 +76,7 @@ struct node_host	*host_v4(const char *, 
 struct node_host	*host_v6(const char *, int);
 struct node_host	*host_dns(const char *, int, int);
 
-const char *tcpflags = "FSRPAUEW";
+const char * const tcpflags = "FSRPAUEW";
 
 static const struct icmptypeent icmp_type[] = {
 	{ "echoreq",	ICMP_ECHO },
@@ -473,10 +473,10 @@ print_pool(struct pf_pool *pool, u_int16
 		printf(" static-port");
 }
 
-const char	*pf_reasons[PFRES_MAX+1] = PFRES_NAMES;
-const char	*pf_lcounters[LCNT_MAX+1] = LCNT_NAMES;
-const char	*pf_fcounters[FCNT_MAX+1] = FCNT_NAMES;
-const char	*pf_scounters[FCNT_MAX+1] = FCNT_NAMES;
+const char	* const pf_reasons[PFRES_MAX+1] = PFRES_NAMES;
+const char	* const pf_lcounters[LCNT_MAX+1] = LCNT_NAMES;
+const char	* const pf_fcounters[FCNT_MAX+1] = FCNT_NAMES;
+const char	* const pf_scounters[FCNT_MAX+1] = FCNT_NAMES;
 
 void
 print_status(struct pf_status *s, int opts)

Modified: user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_radix.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_radix.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sbin/pfctl/pfctl_radix.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -401,7 +401,7 @@ pfi_get_ifaces(const char *filter, struc
 
 /* buffer management code */
 
-size_t buf_esize[PFRB_MAX] = { 0,
+const size_t buf_esize[PFRB_MAX] = { 0,
 	sizeof(struct pfr_table), sizeof(struct pfr_tstats),
 	sizeof(struct pfr_addr), sizeof(struct pfr_astats),
 	sizeof(struct pfi_kif), sizeof(struct pfioc_trans_e)

Modified: user/alc/PQ_LAUNDRY/share/man/man3/pthread_getcpuclockid.3
==============================================================================
--- user/alc/PQ_LAUNDRY/share/man/man3/pthread_getcpuclockid.3	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/share/man/man3/pthread_getcpuclockid.3	Thu Aug  4 16:36:00 2016	(r303748)
@@ -51,8 +51,8 @@
 The
 .Fn pthread_getcpuclockid
 returns the clock ID of the CPU-time clock of the thread specified by
-.Fa thread_id .
-If the thread described by
+.Fa thread_id ,
+if the thread described by
 .Fa thread_id
 exists.
 .Sh RETURN VALUES
@@ -61,7 +61,9 @@ Upon successful completion,
 returns zero; otherwise, an error number is returned to indicate the
 error.
 .Sh ERRORS
-The pthread_getcpuclockid() function will fail if:
+The
+.Fn pthread_getcpuclockid
+function will fail if:
 .Bl -tag -width Er
 .It Bq Er ESRCH
 The value specified by

Modified: user/alc/PQ_LAUNDRY/share/man/man9/Makefile
==============================================================================
--- user/alc/PQ_LAUNDRY/share/man/man9/Makefile	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/share/man/man9/Makefile	Thu Aug  4 16:36:00 2016	(r303748)
@@ -1303,6 +1303,7 @@ MLINKS+=pci.9 pci_alloc_msi.9 \
 	pci.9 pci_get_vpd_ident.9 \
 	pci.9 pci_get_vpd_readonly.9 \
 	pci.9 pci_iov_attach.9 \
+	pci.9 pci_iov_attach_name.9 \
 	pci.9 pci_iov_detach.9 \
 	pci.9 pci_msi_count.9 \
 	pci.9 pci_msix_count.9 \

Modified: user/alc/PQ_LAUNDRY/share/man/man9/pci.9
==============================================================================
--- user/alc/PQ_LAUNDRY/share/man/man9/pci.9	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/share/man/man9/pci.9	Thu Aug  4 16:36:00 2016	(r303748)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 24, 2016
+.Dd August 3, 2016
 .Dt PCI 9
 .Os
 .Sh NAME
@@ -50,6 +50,7 @@
 .Nm pci_get_vpd_ident ,
 .Nm pci_get_vpd_readonly ,
 .Nm pci_iov_attach ,
+.Nm pci_iov_attach_name ,
 .Nm pci_iov_detach ,
 .Nm pci_msi_count ,
 .Nm pci_msix_count ,
@@ -152,6 +153,14 @@
 .Ft int
 .Fn pci_iov_attach "device_t dev" "nvlist_t *pf_schema" "nvlist_t *vf_schema"
 .Ft int
+.Fo pci_iov_attach_name
+.Fa "device_t dev"
+.Fa "nvlist_t *pf_schema"
+.Fa "nvlist_t *vf_schema"
+.Fa "const char *fmt"
+.Fa "..."
+.Fc
+.Ft int
 .Fn pci_iov_detach "device_t dev"
 .Sh DESCRIPTION
 The
@@ -595,6 +604,20 @@ and is responsible for freeing them.
 The driver must never free the schemas itself.
 .Pp
 The
+.Fn pci_iov_attach_name
+function is a variant of
+.Fn pci_iov_attach
+that allows the name of the associated character device in
+.Pa /dev/iov
+to be specified by
+.Fa fmt .
+The
+.Fn pci_iov_attach
+function uses the name of
+.Fa dev
+as the device name.
+.Pp
+The
 .Fn pci_iov_detach
 function is used to advise the SR-IOV infrastructure that the driver for the
 given device is attempting to detach and that all SR-IOV resources for the

Modified: user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree
==============================================================================
--- user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/share/misc/bsd-family-tree	Thu Aug  4 16:36:00 2016	(r303748)
@@ -338,7 +338,7 @@ FreeBSD 5.2           |      |          
  |     |              |      |                 |               DragonFly 4.4.1
  |  FreeBSD           |      |            OpenBSD 5.9                  |
  |   10.3             |      |                 |                       |
- |                    |      |                 |                       |
+ |                    |      |                 |               DragonFly 4.6.0
  *--FreeBSD           |      |                 |                       |
  |   11.0             |      |                 |                       |
  |                    |      |                 |                       |
@@ -691,6 +691,7 @@ OpenBSD 5.8		2015-10-18 [OBD]
 DragonFly 4.4.1		2015-12-07 [DFB]
 OpenBSD 5.9		2016-03-29 [OBD]
 FreeBSD 10.3		2016-04-04 [FBD]
+DragonFly 4.6.0		2016-08-02 [DFB]
 
 Bibliography
 ------------------------

Modified: user/alc/PQ_LAUNDRY/sys/amd64/vmm/vmm.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sys/amd64/vmm/vmm.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sys/amd64/vmm/vmm.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -914,7 +914,7 @@ vm_gpa_hold(struct vm *vm, int vcpuid, v
 	 * guaranteed if at least one vcpu is in the VCPU_FROZEN state.
 	 */
 	int state;
-	KASSERT(vcpuid >= -1 || vcpuid < VM_MAXCPU, ("%s: invalid vcpuid %d",
+	KASSERT(vcpuid >= -1 && vcpuid < VM_MAXCPU, ("%s: invalid vcpuid %d",
 	    __func__, vcpuid));
 	for (i = 0; i < VM_MAXCPU; i++) {
 		if (vcpuid != -1 && vcpuid != i)

Modified: user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp209.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp209.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sys/arm/allwinner/axp209.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -707,10 +707,10 @@ extern devclass_t ofwgpiobus_devclass, g
 extern driver_t ofw_gpiobus_driver, gpioc_driver;
 
 EARLY_DRIVER_MODULE(axp209, iicbus, axp209_driver, axp209_devclass,
-  0, 0, BUS_PASS_RESOURCE + BUS_PASS_ORDER_MIDDLE);
+  0, 0, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE);
 EARLY_DRIVER_MODULE(ofw_gpiobus, axp209_pmu, ofw_gpiobus_driver,
-    ofwgpiobus_devclass, 0, 0, BUS_PASS_RESOURCE + BUS_PASS_ORDER_MIDDLE);
-EARLY_DRIVER_MODULE(gpioc, axp209_pmu, gpioc_driver, gpioc_devclass,
-    0, 0, BUS_PASS_RESOURCE + BUS_PASS_ORDER_MIDDLE);
+    ofwgpiobus_devclass, 0, 0, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE);
+DRIVER_MODULE(gpioc, axp209_pmu, gpioc_driver, gpioc_devclass,
+    0, 0);
 MODULE_VERSION(axp209, 1);
 MODULE_DEPEND(axp209, iicbus, 1, 1, 1);

Modified: user/alc/PQ_LAUNDRY/sys/arm/include/elf.h
==============================================================================
--- user/alc/PQ_LAUNDRY/sys/arm/include/elf.h	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sys/arm/include/elf.h	Thu Aug  4 16:36:00 2016	(r303748)
@@ -55,9 +55,6 @@ __ElfType(Auxinfo);
 
 #define	ELF_MACHINE_OK(x) ((x) == EM_ARM)
 
-/* Unwind info section type */
-#define	PT_ARM_EXIDX (PT_LOPROC + 1)
-
 /*
  * Relocation types.
  */

Modified: user/alc/PQ_LAUNDRY/sys/arm64/arm64/pmap.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sys/arm64/arm64/pmap.c	Thu Aug  4 16:20:12 2016	(r303747)
+++ user/alc/PQ_LAUNDRY/sys/arm64/arm64/pmap.c	Thu Aug  4 16:36:00 2016	(r303748)
@@ -218,8 +218,6 @@ vm_offset_t kernel_vm_end = 0;
 
 struct msgbuf *msgbufp = NULL;
 
-static struct rwlock_padalign pvh_global_lock;
-
 vm_paddr_t dmap_phys_base;	/* The start of the dmap region */
 vm_paddr_t dmap_phys_max;	/* The limit of the dmap region */
 vm_offset_t dmap_max_addr;	/* The virtual address limit of the dmap */
@@ -671,11 +669,6 @@ pmap_bootstrap(vm_offset_t l0pt, vm_offs
 	kernel_pmap_store.pm_l0 = (pd_entry_t *)l0pt;
 	PMAP_LOCK_INIT(kernel_pmap);
 
- 	/*
-	 * Initialize the global pv list lock.
-	 */
-	rw_init(&pvh_global_lock, "pmap pv global");
-
 	/* Assume the address we were loaded to is a valid physical address */
 	min_pa = max_pa = KERNBASE - kern_delta;
 
@@ -1404,9 +1397,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t 
 		if (lockp != NULL) {
 			RELEASE_PV_LIST_LOCK(lockp);
 			PMAP_UNLOCK(pmap);
-			rw_runlock(&pvh_global_lock);
 			VM_WAIT;
-			rw_rlock(&pvh_global_lock);
 			PMAP_LOCK(pmap);
 		}
 
@@ -1748,7 +1739,6 @@ free_pv_entry(pmap_t pmap, pv_entry_t pv
 	struct pv_chunk *pc;
 	int idx, field, bit;
 
-	rw_assert(&pvh_global_lock, RA_LOCKED);
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	PV_STAT(atomic_add_long(&pv_entry_frees, 1));
 	PV_STAT(atomic_add_int(&pv_entry_spare, 1));
@@ -1805,7 +1795,6 @@ get_pv_entry(pmap_t pmap, struct rwlock 
 	struct pv_chunk *pc;
 	vm_page_t m;
 
-	rw_assert(&pvh_global_lock, RA_LOCKED);
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	PV_STAT(atomic_add_long(&pv_entry_allocs, 1));
 retry:
@@ -1873,7 +1862,6 @@ pmap_pvh_remove(struct md_page *pvh, pma
 {
 	pv_entry_t pv;
 
-	rw_assert(&pvh_global_lock, RA_LOCKED);
 	TAILQ_FOREACH(pv, &pvh->pv_list, pv_next) {
 		if (pmap == PV_PMAP(pv) && va == pv->pv_va) {
 			TAILQ_REMOVE(&pvh->pv_list, pv, pv_next);
@@ -1909,7 +1897,6 @@ pmap_try_insert_pv_entry(pmap_t pmap, vm
 {
 	pv_entry_t pv;
 
-	rw_assert(&pvh_global_lock, RA_LOCKED);
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	/* Pass NULL instead of the lock pointer to disable reclamation. */
 	if ((pv = get_pv_entry(pmap, NULL)) != NULL) {
@@ -1978,7 +1965,6 @@ pmap_remove(pmap_t pmap, vm_offset_t sva
 	anyvalid = 0;
 	SLIST_INIT(&free);
 
-	rw_rlock(&pvh_global_lock);
 	PMAP_LOCK(pmap);
 
 	lock = NULL;
@@ -2057,7 +2043,6 @@ pmap_remove(pmap_t pmap, vm_offset_t sva
 		rw_wunlock(lock);
 	if (anyvalid)
 		pmap_invalidate_all(pmap);
-	rw_runlock(&pvh_global_lock);
 	PMAP_UNLOCK(pmap);
 	pmap_free_zero_pages(&free);
 }
@@ -2080,18 +2065,31 @@ pmap_remove_all(vm_page_t m)
 {
 	pv_entry_t pv;
 	pmap_t pmap;
+	struct rwlock *lock;
 	pd_entry_t *pde, tpde;
 	pt_entry_t *pte, tpte;
 	struct spglist free;
-	int lvl;
+	int lvl, md_gen;
 
 	KASSERT((m->oflags & VPO_UNMANAGED) == 0,
 	    ("pmap_remove_all: page %p is not managed", m));
 	SLIST_INIT(&free);
-	rw_wlock(&pvh_global_lock);
+	lock = VM_PAGE_TO_PV_LIST_LOCK(m);
+retry:
+	rw_wlock(lock);
 	while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) {
 		pmap = PV_PMAP(pv);
-		PMAP_LOCK(pmap);
+		if (!PMAP_TRYLOCK(pmap)) {
+			md_gen = m->md.pv_gen;
+			rw_wunlock(lock);
+			PMAP_LOCK(pmap);
+			rw_wlock(lock);
+			if (md_gen != m->md.pv_gen) {
+				rw_wunlock(lock);
+				PMAP_UNLOCK(pmap);
+				goto retry;
+			}
+		}
 		pmap_resident_count_dec(pmap, 1);
 
 		pde = pmap_pde(pmap, pv->pv_va, &lvl);
@@ -2126,7 +2124,7 @@ pmap_remove_all(vm_page_t m)
 		PMAP_UNLOCK(pmap);

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



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