svn commit: r250174 - in user/adrian/net80211_tx: . contrib/bmake etc include lib lib/libc/sys lib/libprocstat lib/libthr lib/libthr/thread libexec/rtld-elf release/picobsd/floppy.tree/etc release/...

Adrian Chadd adrian at FreeBSD.org
Thu May 2 07:20:32 UTC 2013


Author: adrian
Date: Thu May  2 07:20:26 2013
New Revision: 250174
URL: http://svnweb.freebsd.org/changeset/base/250174

Log:
  Merge from HEAD.

Added:
  user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/ssh/
     - copied from r250173, head/release/picobsd/floppy.tree/etc/ssh/
  user/adrian/net80211_tx/share/man/man4/ntb.4
     - copied unchanged from r250173, head/share/man/man4/ntb.4
  user/adrian/net80211_tx/sys/dev/ntb/
     - copied from r250173, head/sys/dev/ntb/
  user/adrian/net80211_tx/sys/modules/ntb/
     - copied from r250173, head/sys/modules/ntb/
Deleted:
  user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/sshd_config
Modified:
  user/adrian/net80211_tx/MAINTAINERS   (contents, props changed)
  user/adrian/net80211_tx/Makefile.inc1
  user/adrian/net80211_tx/UPDATING
  user/adrian/net80211_tx/contrib/bmake/var.c
  user/adrian/net80211_tx/etc/Makefile
  user/adrian/net80211_tx/include/unistd.h
  user/adrian/net80211_tx/lib/Makefile
  user/adrian/net80211_tx/lib/libc/sys/Makefile.inc
  user/adrian/net80211_tx/lib/libc/sys/Symbol.map
  user/adrian/net80211_tx/lib/libc/sys/accept.2
  user/adrian/net80211_tx/lib/libc/sys/pipe.2
  user/adrian/net80211_tx/lib/libprocstat/libprocstat.c
  user/adrian/net80211_tx/lib/libthr/pthread.map
  user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c
  user/adrian/net80211_tx/libexec/rtld-elf/rtld.c
  user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd
  user/adrian/net80211_tx/sbin/dumpon/dumpon.8
  user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h
  user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8
  user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c
  user/adrian/net80211_tx/sbin/fsck_ffs/main.c
  user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c
  user/adrian/net80211_tx/share/man/man4/Makefile
  user/adrian/net80211_tx/share/man/man4/em.4
  user/adrian/net80211_tx/share/man/man4/igb.4
  user/adrian/net80211_tx/share/man/man4/ixgb.4
  user/adrian/net80211_tx/share/man/man4/ixgbe.4
  user/adrian/net80211_tx/share/misc/bsd-family-tree
  user/adrian/net80211_tx/sys/amd64/amd64/fpu.c
  user/adrian/net80211_tx/sys/amd64/conf/NOTES
  user/adrian/net80211_tx/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  user/adrian/net80211_tx/sys/cam/ctl/ctl_frontend_internal.c
  user/adrian/net80211_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_proto.h
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_syscall.h
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_syscalls.c
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_sysent.c
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_systrace_args.c
  user/adrian/net80211_tx/sys/compat/freebsd32/syscalls.master
  user/adrian/net80211_tx/sys/conf/files
  user/adrian/net80211_tx/sys/conf/files.amd64
  user/adrian/net80211_tx/sys/conf/files.powerpc
  user/adrian/net80211_tx/sys/conf/kern.pre.mk
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_ani.c
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_radio.c
  user/adrian/net80211_tx/sys/contrib/octeon-sdk/cvmx-usbd.c
  user/adrian/net80211_tx/sys/dev/acpi_support/acpi_hp.c
  user/adrian/net80211_tx/sys/dev/altera/jtag_uart/altera_jtag_uart.h
  user/adrian/net80211_tx/sys/dev/ath/ath_hal/ah.c
  user/adrian/net80211_tx/sys/dev/ath/ath_hal/ah_devid.h
  user/adrian/net80211_tx/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h
  user/adrian/net80211_tx/sys/dev/bktr/msp34xx.c
  user/adrian/net80211_tx/sys/dev/cfi/cfi_bus_fdt.c
  user/adrian/net80211_tx/sys/dev/cfi/cfi_core.c
  user/adrian/net80211_tx/sys/dev/cxgbe/adapter.h
  user/adrian/net80211_tx/sys/dev/cxgbe/common/common.h
  user/adrian/net80211_tx/sys/dev/cxgbe/common/t4_hw.c
  user/adrian/net80211_tx/sys/dev/cxgbe/firmware/t4fw_interface.h
  user/adrian/net80211_tx/sys/dev/cxgbe/osdep.h
  user/adrian/net80211_tx/sys/dev/cxgbe/t4_main.c
  user/adrian/net80211_tx/sys/dev/cxgbe/tom/t4_ddp.c
  user/adrian/net80211_tx/sys/dev/e1000/README
  user/adrian/net80211_tx/sys/dev/e1000/if_em.c
  user/adrian/net80211_tx/sys/dev/e1000/if_igb.c
  user/adrian/net80211_tx/sys/dev/e1000/if_lem.c
  user/adrian/net80211_tx/sys/dev/hptiop/hptiop.c
  user/adrian/net80211_tx/sys/dev/hptiop/hptiop.h
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_core.c
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_intel.c
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_mod.c
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_soft.c
  user/adrian/net80211_tx/sys/dev/hwpmc/pmc_events.h
  user/adrian/net80211_tx/sys/dev/ixgb/README
  user/adrian/net80211_tx/sys/dev/ixgbe/ixgbe.c
  user/adrian/net80211_tx/sys/dev/netmap/if_em_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/if_igb_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/if_lem_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/if_re_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/ixgbe_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/netmap.c
  user/adrian/net80211_tx/sys/dev/netmap/netmap_kern.h
  user/adrian/net80211_tx/sys/dev/netmap/netmap_mem2.c
  user/adrian/net80211_tx/sys/dev/re/if_re.c
  user/adrian/net80211_tx/sys/fs/nfsserver/nfs_nfsdport.c
  user/adrian/net80211_tx/sys/kern/capabilities.conf
  user/adrian/net80211_tx/sys/kern/imgact_elf.c
  user/adrian/net80211_tx/sys/kern/init_sysent.c
  user/adrian/net80211_tx/sys/kern/sys_pipe.c
  user/adrian/net80211_tx/sys/kern/syscalls.c
  user/adrian/net80211_tx/sys/kern/syscalls.master
  user/adrian/net80211_tx/sys/kern/systrace_args.c
  user/adrian/net80211_tx/sys/kern/uipc_socket.c
  user/adrian/net80211_tx/sys/kern/uipc_syscalls.c
  user/adrian/net80211_tx/sys/kgssapi/krb5/krb5_mech.c
  user/adrian/net80211_tx/sys/mips/atheros/ar71xx_gpio.c
  user/adrian/net80211_tx/sys/mips/include/asm.h
  user/adrian/net80211_tx/sys/mips/include/regdef.h
  user/adrian/net80211_tx/sys/mips/mips/db_interface.c
  user/adrian/net80211_tx/sys/mips/mips/trap.c
  user/adrian/net80211_tx/sys/mips/mips/vm_machdep.c
  user/adrian/net80211_tx/sys/modules/Makefile
  user/adrian/net80211_tx/sys/net/if_spppsubr.c
  user/adrian/net80211_tx/sys/net/netmap.h
  user/adrian/net80211_tx/sys/net/netmap_user.h
  user/adrian/net80211_tx/sys/netpfil/ipfw/ip_dummynet.c
  user/adrian/net80211_tx/sys/sys/param.h
  user/adrian/net80211_tx/sys/sys/socket.h
  user/adrian/net80211_tx/sys/sys/syscall.h
  user/adrian/net80211_tx/sys/sys/syscall.mk
  user/adrian/net80211_tx/sys/sys/syscallsubr.h
  user/adrian/net80211_tx/sys/sys/sysproto.h
  user/adrian/net80211_tx/sys/xen/xenstore/xenstore.c
  user/adrian/net80211_tx/tools/tools/netmap/README
  user/adrian/net80211_tx/usr.bin/nfsstat/nfsstat.1
  user/adrian/net80211_tx/usr.sbin/bhyve/pci_virtio_net.c
  user/adrian/net80211_tx/usr.sbin/config/main.c
  user/adrian/net80211_tx/usr.sbin/nfsd/nfsv4.4
Directory Properties:
  user/adrian/net80211_tx/   (props changed)
  user/adrian/net80211_tx/contrib/bmake/   (props changed)
  user/adrian/net80211_tx/lib/libc/   (props changed)
  user/adrian/net80211_tx/sbin/   (props changed)
  user/adrian/net80211_tx/sbin/dumpon/   (props changed)
  user/adrian/net80211_tx/share/man/man4/   (props changed)
  user/adrian/net80211_tx/sys/   (props changed)
  user/adrian/net80211_tx/sys/cddl/contrib/opensolaris/   (props changed)
  user/adrian/net80211_tx/sys/conf/   (props changed)
  user/adrian/net80211_tx/sys/contrib/octeon-sdk/   (props changed)
  user/adrian/net80211_tx/usr.sbin/bhyve/   (props changed)

Modified: user/adrian/net80211_tx/MAINTAINERS
==============================================================================
--- user/adrian/net80211_tx/MAINTAINERS	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/MAINTAINERS	Thu May  2 07:20:26 2013	(r250174)
@@ -64,7 +64,6 @@ linprocfs	des	Pre-commit review requeste
 lpr		gad	Pre-commit review requested, particularly for
 			lpd/recvjob.c and lpd/printjob.c.
 newsyslog(8)	gad	Heads-up appreciated.  I'm going thru the PR's for it.
-cvs		peter	Heads-up appreciated, try not to break it.
 nvi		peter	Try not to break it.
 libz		peter	Try not to break it.
 groff		ru	Recommends pre-commit review.

Modified: user/adrian/net80211_tx/Makefile.inc1
==============================================================================
--- user/adrian/net80211_tx/Makefile.inc1	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/Makefile.inc1	Thu May  2 07:20:26 2013	(r250174)
@@ -41,13 +41,6 @@
 # /usr/share/mk.  These include:
 #		obj depend all install clean cleandepend cleanobj
 
-# You are supposed to define both of these when calling Makefile.inc1
-# directly.  However, some old scripts don't.  Cope for the moment, but
-# issue a new warning for a transition period.
-.if defined(TARGET) && !defined(TARGET_ARCH)
-.warning "You must pass both TARGET and TARGET_ARCH to Makefile.inc1.  Setting TARGET_ARCH=${TARGET}."
-TARGET_ARCH=${TARGET}
-.endif
 .if !defined(TARGET) || !defined(TARGET_ARCH)
 .error "Both TARGET and TARGET_ARCH must be defined."
 .endif
@@ -65,6 +58,9 @@ TARGET_ARCH=${TARGET}
 # use that new version.  And the new (dynamically-linked) /bin/sh
 # will expect to find appropriate libraries in /lib and /libexec.
 #
+.if defined(SUBDIR_OVERRIDE)
+SUBDIR=	${SUBDIR_OVERRIDE}
+.else
 SUBDIR=	share/info lib libexec
 SUBDIR+=bin
 .if ${MK_GAMES} != "no"
@@ -103,9 +99,6 @@ SUBDIR+=etc
 SUBDIR+= ${_DIR}
 .endif
 .endfor
-
-.if defined(SUBDIR_OVERRIDE)
-SUBDIR=		${SUBDIR_OVERRIDE}
 .endif
 
 .if defined(NOCLEAN)

Modified: user/adrian/net80211_tx/UPDATING
==============================================================================
--- user/adrian/net80211_tx/UPDATING	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/UPDATING	Thu May  2 07:20:26 2013	(r250174)
@@ -31,6 +31,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20130429:
+        Fix a bug that allows NFS clients to issue READDIR on files.
+
 20130426:
 	The WITHOUT_IDEA option has been removed because
 	the IDEA patent expired.
@@ -101,6 +104,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	while having the GNU version installed as gnupatch, rebuild
 	and install world with the WITH_BSD_PATCH knob set.
 
+20130121:
+	Due to the use of the new -l option to install(1) during build
+	and install, you must take care not to directly set the INSTALL
+	make variable in your /etc/make.conf, /etc/src.conf, or on the
+	command line.  If you with to use the -C flag for all installs
+	you may be able to add INSTALL+=-C to /etc/make.conf or
+	/etc/src.conf.
+
 20130118:
 	The install(1) option -M has changed meaning and now takes an
 	argument that is a file or path to append logs to.  In the
@@ -280,7 +291,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	is now spelled mips64.  mipsn32eb is now spelled mipsn32.  mipseb is
 	now spelled mips.  This is to aid compatibility with third-party
 	software that expects this naming scheme in uname(3).  Little-endian
-	settings are unchanged.
+	settings are unchanged. If you are updating a big-endian mips64 machine
+	from before this change, you may need to set MACHINE_ARCH=mips64 in
+	your environment before the new build system will recognize your machine.
 
 20120306:
 	Disable by default the option VFS_ALLOW_NONMPSAFE for all supported

Modified: user/adrian/net80211_tx/contrib/bmake/var.c
==============================================================================
--- user/adrian/net80211_tx/contrib/bmake/var.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/contrib/bmake/var.c	Thu May  2 07:20:26 2013	(r250174)
@@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/
 #include    "job.h"
 
 /*
+ * XXX transition hack for FreeBSD ports.
+ * bsd.port.mk can set .MAKE.FreeBSD_UL=yes
+ * to cause us to treat :[LU] as aliases for :t[lu]
+ * To be reverted when ports converts to :t[lu] (when 8.3 is EOL)
+ */
+#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL"
+#ifdef MAKE_FREEBSD_UL
+static int FreeBSD_UL = FALSE;
+#endif
+
+/*
  * This lets us tell if we have replaced the original environ
  * (which we cannot free).
  */
@@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va
 	setenv(MAKE_LEVEL_SAFE, tmp, 1);
 #endif
     }
+#ifdef MAKE_FREEBSD_UL
+    if (strcmp(MAKE_FREEBSD_UL, name) == 0) {
+	FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE);
+    }
+#endif
 	
 	
  out:
@@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t
 		free(loop.str);
 		break;
 	    }
-	case 'D':
 	case 'U':
+#ifdef MAKE_FREEBSD_UL
+	    if (FreeBSD_UL) {
+		int nc = tstr[1];
+
+		/* we have to be careful, since :U is used internally */
+		if (nc == ':' || nc == endc) {
+		    char *dp = bmake_strdup(nstr);
+		    for (newStr = dp; *dp; dp++)
+			*dp = toupper((unsigned char)*dp);
+		    cp = tstr + 1;
+		    termc = *cp;
+		    break;		/* yes inside the conditional */
+		}
+		/* FALLTHROUGH */
+	    }
+#endif
+	case 'D':
 	    {
 		Buffer  buf;    	/* Buffer for patterns */
 		int	    wantit;	/* want data in buffer */
@@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t
 		break;
 	    }
 	case 'L':
+#ifdef MAKE_FREEBSD_UL
+	    if (FreeBSD_UL) {
+		char *dp = bmake_strdup(nstr);
+		for (newStr = dp; *dp; dp++)
+		    *dp = tolower((unsigned char)*dp);
+		cp = tstr + 1;
+		termc = *cp;
+		break;
+	    }
+	    /* FALLTHROUGH */
+#endif
 	    {
 		if ((v->flags & VAR_JUNK) != 0)
 		    v->flags |= VAR_KEEP;

Modified: user/adrian/net80211_tx/etc/Makefile
==============================================================================
--- user/adrian/net80211_tx/etc/Makefile	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/etc/Makefile	Thu May  2 07:20:26 2013	(r250174)
@@ -328,7 +328,7 @@ MTREES+=	mtree/BSD.sendmail.dist		/
 MTREES+=	../${mtree}			/
 .endfor
 
-distrib-dirs:
+distrib-dirs: ${MTREES:N/*}
 	@set ${MTREES}; \
 	while test $$# -ge 2; do \
 		m=${.CURDIR}/$$1; \

Modified: user/adrian/net80211_tx/include/unistd.h
==============================================================================
--- user/adrian/net80211_tx/include/unistd.h	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/include/unistd.h	Thu May  2 07:20:26 2013	(r250174)
@@ -533,6 +533,7 @@ char	*mktemp(char *);
 #endif
 int	 nfssvc(int, void *);
 int	 nlm_syscall(int, int, int, char **);
+int	 pipe2(int *, int);
 int	 profil(char *, size_t, vm_offset_t, int);
 int	 rcmd(char **, int, const char *, const char *, const char *, int *);
 int	 rcmd_af(char **, int, const char *,

Modified: user/adrian/net80211_tx/lib/Makefile
==============================================================================
--- user/adrian/net80211_tx/lib/Makefile	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/Makefile	Thu May  2 07:20:26 2013	(r250174)
@@ -252,7 +252,9 @@ _libusbhid=	libusbhid
 _libusb=	libusb
 .endif
 
+.if !defined(LIBRARIES_ONLY)
 afterinstall:
-	ln -hfs ../include ${DESTDIR}/usr/lib/include
+	${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include
+.endif
 
 .include <bsd.subdir.mk>

Modified: user/adrian/net80211_tx/lib/libc/sys/Makefile.inc
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/Makefile.inc	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/Makefile.inc	Thu May  2 07:20:26 2013	(r250174)
@@ -270,6 +270,7 @@ MAN+=	sctp_generic_recvmsg.2 \
 	wait.2 \
 	write.2
 
+MLINKS+=accept.2 accept4.2
 MLINKS+=access.2 eaccess.2 \
 	access.2 faccessat.2
 MLINKS+=brk.2 sbrk.2
@@ -351,6 +352,7 @@ MLINKS+=pathconf.2 lpathconf.2
 MLINKS+=pdfork.2 pdgetpid.2\
 	pdfork.2 pdkill.2 \
 	pdfork.2 pdwait4.2
+MLINKS+=pipe.2 pipe2.2
 MLINKS+=read.2 pread.2 \
 	read.2 preadv.2 \
 	read.2 readv.2

Modified: user/adrian/net80211_tx/lib/libc/sys/Symbol.map
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/Symbol.map	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/Symbol.map	Thu May  2 07:20:26 2013	(r250174)
@@ -378,6 +378,7 @@ FBSD_1.2 {
 };
 
 FBSD_1.3 {
+	accept4;
 	bindat;
 	cap_fcntls_get;
 	cap_fcntls_limit;
@@ -392,6 +393,7 @@ FBSD_1.3 {
 	ffclock_getcounter;
 	ffclock_getestimate;
 	ffclock_setestimate;
+	pipe2;
 	posix_fadvise;
 	wait6;
 };
@@ -461,6 +463,8 @@ FBSDprivate_1.0 {
 	__sys_abort2;
 	_accept;
 	__sys_accept;
+	_accept4;
+	__sys_accept4;
 	_access;
 	__sys_access;
 	_acct;

Modified: user/adrian/net80211_tx/lib/libc/sys/accept.2
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/accept.2	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/accept.2	Thu May  2 07:20:26 2013	(r250174)
@@ -28,7 +28,7 @@
 .\"     @(#)accept.2	8.2 (Berkeley) 12/11/93
 .\" $FreeBSD$
 .\"
-.Dd April 22, 2013
+.Dd May 1, 2013
 .Dt ACCEPT 2
 .Os
 .Sh NAME
@@ -41,6 +41,8 @@
 .In sys/socket.h
 .Ft int
 .Fn accept "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen"
+.Ft int
+.Fn accept4 "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen" "int flags"
 .Sh DESCRIPTION
 The argument
 .Fa s
@@ -66,6 +68,26 @@ and
 signals from the original socket
 .Fa s .
 .Pp
+The
+.Fn accept4
+system call is similar,
+but the
+.Dv O_NONBLOCK
+property of the new socket is instead determined by the
+.Dv SOCK_NONBLOCK
+flag in the
+.Fa flags
+argument,
+the
+.Dv O_ASYNC
+property is cleared,
+the signal destination is cleared
+and the close-on-exec flag on the new file descriptor can be set via the
+.Dv SOCK_CLOEXEC
+flag in the
+.Fa flags
+argument.
+.Pp
 If no pending connections are
 present on the queue, and the original socket
 is not marked as non-blocking,
@@ -141,13 +163,15 @@ properties and the signal destination be
 but should set them explicitly using
 .Xr fcntl 2 .
 .Sh RETURN VALUES
-The call returns \-1 on error.
-If it succeeds, it returns a non-negative
+These calls return \-1 on error.
+If they succeed, they return a non-negative
 integer that is a descriptor for the accepted socket.
 .Sh ERRORS
 The
 .Fn accept
-system call will fail if:
+and
+.Fn accept4
+system calls will fail if:
 .Bl -tag -width Er
 .It Bq Er EBADF
 The descriptor is invalid.
@@ -176,6 +200,16 @@ are present to be accepted.
 A connection arrived, but it was closed while waiting
 on the listen queue.
 .El
+.Pp
+The
+.Fn accept4
+system call will also fail if:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The
+.Fa flags
+argument is invalid.
+.El
 .Sh SEE ALSO
 .Xr bind 2 ,
 .Xr connect 2 ,
@@ -190,3 +224,8 @@ The
 .Fn accept
 system call appeared in
 .Bx 4.2 .
+.Pp
+The
+.Fn accept4
+system call appeared in
+.Fx 10.0 .

Modified: user/adrian/net80211_tx/lib/libc/sys/pipe.2
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/pipe.2	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/pipe.2	Thu May  2 07:20:26 2013	(r250174)
@@ -28,7 +28,7 @@
 .\"     @(#)pipe.2	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd January 30, 2006
+.Dd May 1, 2013
 .Dt PIPE 2
 .Os
 .Sh NAME
@@ -40,6 +40,8 @@
 .In unistd.h
 .Ft int
 .Fn pipe "int fildes[2]"
+.Ft int
+.Fn pipe2 "int fildes[2]" "int flags"
 .Sh DESCRIPTION
 The
 .Fn pipe
@@ -50,6 +52,29 @@ which is an object allowing
 bidirectional data flow,
 and allocates a pair of file descriptors.
 .Pp
+The
+.Fn pipe2
+system call allows control over the attributes of the file descriptors
+via the
+.Fa flags
+argument.
+Values for
+.Fa flags
+are constructed by a bitwise-inclusive OR of flags from the following
+list, defined in
+.In fcntl.h :
+.Bl -tag -width ".Dv O_NONBLOCK"
+.It Dv O_CLOEXEC
+Set the close-on-exec flag for the new file descriptors.
+.It Dv O_NONBLOCK
+Set the non-blocking flag for the ends of the pipe.
+.El
+.Pp
+If the
+.Fa flags
+argument is 0, the behavior is identical to a call to
+.Fn pipe .
+.Pp
 By convention, the first descriptor is normally used as the
 .Em read end
 of the pipe,
@@ -88,7 +113,9 @@ pipe in one direction.
 .Sh ERRORS
 The
 .Fn pipe
-system call will fail if:
+and
+.Fn pipe2
+system calls will fail if:
 .Bl -tag -width Er
 .It Bq Er EMFILE
 Too many descriptors are active.
@@ -97,6 +124,16 @@ The system file table is full.
 .It Bq Er ENOMEM
 Not enough kernel memory to establish a pipe.
 .El
+.Pp
+The
+.Fn pipe2
+system call will also fail if:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The
+.Fa flags
+argument is invalid.
+.El
 .Sh SEE ALSO
 .Xr sh 1 ,
 .Xr fork 2 ,
@@ -111,3 +148,8 @@ function appeared in
 .Pp
 Bidirectional pipes were first used on
 .At V.4 .
+.Pp
+The
+.Fn pipe2
+function appeared in
+.Fx 10.0 .

Modified: user/adrian/net80211_tx/lib/libprocstat/libprocstat.c
==============================================================================
--- user/adrian/net80211_tx/lib/libprocstat/libprocstat.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libprocstat/libprocstat.c	Thu May  2 07:20:26 2013	(r250174)
@@ -39,6 +39,9 @@ __FBSDID("$FreeBSD$");
 #include <sys/elf.h>
 #include <sys/time.h>
 #include <sys/resourcevar.h>
+#define	_WANT_UCRED
+#include <sys/ucred.h>
+#undef _WANT_UCRED
 #include <sys/proc.h>
 #include <sys/user.h>
 #include <sys/stat.h>
@@ -141,19 +144,30 @@ static int	procstat_get_vnode_info_sysct
     struct vnstat *vn, char *errbuf);
 static gid_t	*procstat_getgroups_core(struct procstat_core *core,
     unsigned int *count);
+static gid_t *	procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    unsigned int *count);
 static gid_t	*procstat_getgroups_sysctl(pid_t pid, unsigned int *count);
 static struct kinfo_kstack	*procstat_getkstack_sysctl(pid_t pid,
     int *cntp);
+static int	procstat_getosrel_core(struct procstat_core *core,
+    int *osrelp);
+static int	procstat_getosrel_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    int *osrelp);
+static int	procstat_getosrel_sysctl(pid_t pid, int *osrelp);
 static int	procstat_getpathname_core(struct procstat_core *core,
     char *pathname, size_t maxlen);
 static int	procstat_getpathname_sysctl(pid_t pid, char *pathname,
     size_t maxlen);
 static int	procstat_getrlimit_core(struct procstat_core *core, int which,
     struct rlimit* rlimit);
+static int	procstat_getrlimit_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    int which, struct rlimit* rlimit);
 static int	procstat_getrlimit_sysctl(pid_t pid, int which,
     struct rlimit* rlimit);
 static int	procstat_getumask_core(struct procstat_core *core,
     unsigned short *maskp);
+static int	procstat_getumask_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    unsigned short *maskp);
 static int	procstat_getumask_sysctl(pid_t pid, unsigned short *maskp);
 static int	vntype2psfsttype(int type);
 
@@ -1790,6 +1804,46 @@ procstat_freevmmap(struct procstat *proc
 }
 
 static gid_t *
+procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned int *cntp)
+{
+	struct proc proc;
+	struct ucred ucred;
+	gid_t *groups;
+	size_t len;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc,
+	    sizeof(proc))) {
+		warnx("can't read proc struct at %p for pid %d",
+		    kp->ki_paddr, kp->ki_pid);
+		return (NULL);
+	}
+	if (proc.p_ucred == NOCRED)
+		return (NULL);
+	if (!kvm_read_all(kd, (unsigned long)proc.p_ucred, &ucred,
+	    sizeof(ucred))) {
+		warnx("can't read ucred struct at %p for pid %d",
+		    proc.p_ucred, kp->ki_pid);
+		return (NULL);
+	}
+	len = ucred.cr_ngroups * sizeof(gid_t);
+	groups = malloc(len);
+	if (groups == NULL) {
+		warn("malloc(%zu)", len);
+		return (NULL);
+	}
+	if (!kvm_read_all(kd, (unsigned long)ucred.cr_groups, groups, len)) {
+		warnx("can't read groups at %p for pid %d",
+		    ucred.cr_groups, kp->ki_pid);
+		free(groups);
+		return (NULL);
+	}
+	*cntp = ucred.cr_ngroups;
+	return (groups);
+}
+
+static gid_t *
 procstat_getgroups_sysctl(pid_t pid, unsigned int *cntp)
 {
 	int mib[4];
@@ -1834,8 +1888,7 @@ procstat_getgroups(struct procstat *proc
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (NULL);
+		return (procstat_getgroups_kvm(procstat->kd, kp, cntp));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getgroups_sysctl(kp->ki_pid, cntp));
 	case PROCSTAT_CORE:
@@ -1854,6 +1907,24 @@ procstat_freegroups(struct procstat *pro
 }
 
 static int
+procstat_getumask_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned short *maskp)
+{
+	struct filedesc fd;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	if (kp->ki_fd == NULL)
+		return (-1);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_fd, &fd, sizeof(fd))) {
+		warnx("can't read filedesc at %p for pid %d", kp->ki_fd,
+		    kp->ki_pid);
+		return (-1);
+	}
+	*maskp = fd.fd_cmask;
+	return (0);
+}
+
+static int
 procstat_getumask_sysctl(pid_t pid, unsigned short *maskp)
 {
 	int error;
@@ -1895,8 +1966,7 @@ procstat_getumask(struct procstat *procs
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		return (procstat_getumask_kvm(procstat->kd, kp, maskp));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getumask_sysctl(kp->ki_pid, maskp));
 	case PROCSTAT_CORE:
@@ -1908,6 +1978,33 @@ procstat_getumask(struct procstat *procs
 }
 
 static int
+procstat_getrlimit_kvm(kvm_t *kd, struct kinfo_proc *kp, int which,
+    struct rlimit* rlimit)
+{
+	struct proc proc;
+	unsigned long offset;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	assert(which >= 0 && which < RLIM_NLIMITS);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc,
+	    sizeof(proc))) {
+		warnx("can't read proc struct at %p for pid %d",
+		    kp->ki_paddr, kp->ki_pid);
+		return (-1);
+	}
+	if (proc.p_limit == NULL)
+		return (-1);
+	offset = (unsigned long)proc.p_limit + sizeof(struct rlimit) * which;
+	if (!kvm_read_all(kd, offset, rlimit, sizeof(*rlimit))) {
+		warnx("can't read rlimit struct at %p for pid %d",
+		    (void *)offset, kp->ki_pid);
+		return (-1);
+	}
+	return (0);
+}
+
+static int
 procstat_getrlimit_sysctl(pid_t pid, int which, struct rlimit* rlimit)
 {
 	int error, name[5];
@@ -1958,8 +2055,8 @@ procstat_getrlimit(struct procstat *proc
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		return (procstat_getrlimit_kvm(procstat->kd, kp, which,
+		    rlimit));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getrlimit_sysctl(kp->ki_pid, which, rlimit));
 	case PROCSTAT_CORE:
@@ -2017,8 +2114,10 @@ procstat_getpathname(struct procstat *pr
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		/* XXX: Return empty string. */
+		if (maxlen > 0)
+			pathname[0] = '\0';
+		return (0);
 	case PROCSTAT_SYSCTL:
 		return (procstat_getpathname_sysctl(kp->ki_pid, pathname,
 		    maxlen));
@@ -2032,6 +2131,23 @@ procstat_getpathname(struct procstat *pr
 }
 
 static int
+procstat_getosrel_kvm(kvm_t *kd, struct kinfo_proc *kp, int *osrelp)
+{
+	struct proc proc;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc,
+	    sizeof(proc))) {
+		warnx("can't read proc struct at %p for pid %d",
+		    kp->ki_paddr, kp->ki_pid);
+		return (-1);
+	}
+	*osrelp = proc.p_osrel;
+	return (0);
+}
+
+static int
 procstat_getosrel_sysctl(pid_t pid, int *osrelp)
 {
 	int error, name[4];
@@ -2071,8 +2187,7 @@ procstat_getosrel(struct procstat *procs
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		return (procstat_getosrel_kvm(procstat->kd, kp, osrelp));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getosrel_sysctl(kp->ki_pid, osrelp));
 	case PROCSTAT_CORE:

Modified: user/adrian/net80211_tx/lib/libthr/pthread.map
==============================================================================
--- user/adrian/net80211_tx/lib/libthr/pthread.map	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libthr/pthread.map	Thu May  2 07:20:26 2013	(r250174)
@@ -181,6 +181,7 @@ FBSDprivate_1.0 {
 	___wait;
 	___waitpid;
 	__accept;
+	__accept4;
 	__aio_suspend;
 	__close;
 	__connect;
@@ -408,3 +409,7 @@ FBSD_1.2 {
 	setcontext;
 	swapcontext;
 };
+
+FBSD_1.3 {
+	accept4;
+};

Modified: user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c
==============================================================================
--- user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c	Thu May  2 07:20:26 2013	(r250174)
@@ -101,6 +101,7 @@ extern pid_t	__waitpid(pid_t, int *, int
 extern int	__sys_aio_suspend(const struct aiocb * const[], int,
 			const struct timespec *);
 extern int	__sys_accept(int, struct sockaddr *, socklen_t *);
+extern int	__sys_accept4(int, struct sockaddr *, socklen_t *, int);
 extern int	__sys_connect(int, const struct sockaddr *, socklen_t);
 extern int	__sys_fsync(int);
 extern int	__sys_msync(void *, size_t, int);
@@ -129,6 +130,7 @@ int	___usleep(useconds_t useconds);
 pid_t	___wait(int *);
 pid_t	___waitpid(pid_t, int *, int);
 int	__accept(int, struct sockaddr *, socklen_t *);
+int	__accept4(int, struct sockaddr *, socklen_t *, int);
 int	__aio_suspend(const struct aiocb * const iocbs[], int,
 		const struct timespec *);
 int	__close(int);
@@ -176,6 +178,26 @@ __accept(int s, struct sockaddr *addr, s
  	return (ret);
 }
 
+__weak_reference(__accept4, accept4);
+
+/*
+ * Cancellation behavior:
+ *   If thread is canceled, no socket is created.
+ */
+int
+__accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags)
+{
+	struct pthread *curthread;
+	int ret;
+
+	curthread = _get_curthread();
+	_thr_cancel_enter(curthread);
+	ret = __sys_accept4(s, addr, addrlen, flags);
+	_thr_cancel_leave(curthread, ret == -1);
+
+ 	return (ret);
+}
+
 __weak_reference(__aio_suspend, aio_suspend);
 
 int

Modified: user/adrian/net80211_tx/libexec/rtld-elf/rtld.c
==============================================================================
--- user/adrian/net80211_tx/libexec/rtld-elf/rtld.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/libexec/rtld-elf/rtld.c	Thu May  2 07:20:26 2013	(r250174)
@@ -784,7 +784,7 @@ origin_subst_one(char *real, const char 
 	/*
 	 * Now, execute the substitution loop.
 	 */
-	for (p = real, resp = res;;) {
+	for (p = real, resp = res, *resp = '\0';;) {
 		p1 = strstr(p, kw);
 		if (p1 != NULL) {
 			/* Copy the prefix before keyword. */
@@ -793,6 +793,7 @@ origin_subst_one(char *real, const char 
 			/* Keyword replacement. */
 			memcpy(resp, subst, subst_len);
 			resp += subst_len;
+			*resp = '\0';
 			p = p1 + kw_len;
 		} else
 			break;

Modified: user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd
==============================================================================
--- user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd	Thu May  2 07:20:26 2013	(r250174)
@@ -5,6 +5,7 @@ daemon:*:1:1::0:0:Owner of many system p
 operator:*:2:20::0:0:System &:/usr/guest/operator:/bin/csh
 bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/nonexistent
 tty:*:4:65533::0:0:Tty Sandbox:/:/nonexistent
+sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/usr/sbin/nologin
 nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/nonexistent
 _dhcp:*:65:65::0:0:dhcp programs:/var/empty:/usr/sbin/nologin
 user:*:1002:1002:Sample User:0:0:user:/home/user:/bin/sh

Modified: user/adrian/net80211_tx/sbin/dumpon/dumpon.8
==============================================================================
--- user/adrian/net80211_tx/sbin/dumpon/dumpon.8	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/dumpon/dumpon.8	Thu May  2 07:20:26 2013	(r250174)
@@ -28,7 +28,7 @@
 .\"     From: @(#)swapon.8	8.1 (Berkeley) 6/5/93
 .\" $FreeBSD$
 .\"
-.Dd May 12, 1995
+.Dd April 29, 2013
 .Dt DUMPON 8
 .Os
 .Sh NAME
@@ -59,14 +59,21 @@ controlled by the
 variable in the boot time configuration file
 .Pa /etc/rc.conf .
 .Pp
-For most systems the size of the specified dump device must be at
+The default type of kernel crash dump is the mini crash dump.
+Mini crash dumps hold only memory pages in use by the kernel.
+Alternatively, full memory dumps can be enabled by setting the
+.Va debug.minidump
+.Xr sysctl 8
+variable to 0.
+.Pp
+For systems using full memory dumps, the size of the specified dump
+device must be at
 least the size of physical memory.
 Even though an additional 64 kB header is added to the dump, the BIOS for a
 platform typically holds back some memory, so it is not usually
 necessary to size the dump device larger than the actual amount of RAM
 available in the machine.
-.Pp
-The
+Also, when using full memory dumps, the
 .Nm
 utility will refuse to enable a dump device which is smaller than the
 total amount of physical memory as reported by the

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h	Thu May  2 07:20:26 2013	(r250174)
@@ -74,6 +74,7 @@
 #define	MINBUFS		10	/* minimum number of buffers required */
 #define	MAXBUFS		40	/* maximum space to allocate to buffers */
 #define	INOBUFSIZE	64*1024	/* size of buffer to read inodes in pass1 */
+#define	ZEROBUFSIZE	(dev_bsize * 128) /* size of zero buffer used by -Z */
 
 union dinode {
 	struct ufs1_dinode dp1;
@@ -306,7 +307,8 @@ char	yflag;			/* assume a yes response *
 int	bkgrdflag;		/* use a snapshot to run on an active system */
 int	bflag;			/* location of alternate super block */
 int	debug;			/* output debugging info */
-int	Eflag;			/* zero out empty data blocks */
+int	Eflag;			/* delete empty data blocks */
+int	Zflag;			/* zero empty data blocks */
 int	inoopt;			/* trim out unused inodes */
 char	ckclean;		/* only do work if not cleanly unmounted */
 int	cvtlevel;		/* convert to newer file system format */
@@ -402,6 +404,7 @@ int		blread(int fd, char *buf, ufs2_dadd
 void		bufinit(void);
 void		blwrite(int fd, char *buf, ufs2_daddr_t blk, ssize_t size);
 void		blerase(int fd, ufs2_daddr_t blk, long size);
+void		blzero(int fd, ufs2_daddr_t blk, long size);
 void		cacheino(union dinode *dp, ino_t inumber);
 void		catch(int);
 void		catchquit(int);

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8	Thu May  2 07:20:26 2013	(r250174)
@@ -38,7 +38,7 @@
 .Nd file system consistency check and interactive repair
 .Sh SYNOPSIS
 .Nm
-.Op Fl BEFfnpry
+.Op Fl BEFfnpryZ
 .Op Fl b Ar block
 .Op Fl c Ar level
 .Op Fl m Ar mode
@@ -280,6 +280,15 @@ Assume a yes response to all questions a
 .Nm ;
 this should be used with great caution as this is a free license
 to continue after essentially unlimited trouble has been encountered.
+.It Fl Z
+Similar to
+.Fl E ,
+but overwrites unused blocks with zeroes.
+If both
+.Fl E
+and
+.Fl Z
+are specified, blocks are first zeroed and then erased.
 .El
 .Pp
 Inconsistencies checked are as follows:

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c	Thu May  2 07:20:26 2013	(r250174)
@@ -618,6 +618,35 @@ blerase(int fd, ufs2_daddr_t blk, long s
 	return;
 }
 
+void
+blzero(int fd, ufs2_daddr_t blk, long size)
+{
+	static char *zero;
+	off_t offset, len;
+
+	if (fd < 0)
+		return;
+	len = ZEROBUFSIZE;
+	if (zero == NULL) {
+		zero = calloc(len, 1);
+		if (zero == NULL)
+			errx(EEXIT, "cannot allocate buffer pool");
+	}
+	offset = blk * dev_bsize;
+	if (lseek(fd, offset, 0) < 0)
+		rwerror("SEEK BLK", blk);
+	while (size > 0) {
+		if (size > len)
+			size = len;
+		else
+			len = size;
+		if (write(fd, zero, len) != len)
+			rwerror("WRITE BLK", blk);
+		blk += len / dev_bsize;
+		size -= len;
+	}
+}
+
 /*
  * Verify cylinder group's magic number and other parameters.  If the
  * test fails, offer an option to rebuild the whole cylinder group.

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/main.c
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/main.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/main.c	Thu May  2 07:20:26 2013	(r250174)
@@ -82,7 +82,7 @@ main(int argc, char *argv[])
 	sync();
 	skipclean = 1;
 	inoopt = 0;
-	while ((ch = getopt(argc, argv, "b:Bc:CdEfFm:npry")) != -1) {
+	while ((ch = getopt(argc, argv, "b:Bc:CdEfFm:npryZ")) != -1) {
 		switch (ch) {
 		case 'b':
 			skipclean = 0;
@@ -147,6 +147,10 @@ main(int argc, char *argv[])
 			nflag = 0;
 			break;
 
+		case 'Z':
+			Zflag++;
+			break;
+
 		default:
 			usage();
 		}

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c	Thu May  2 07:20:26 2013	(r250174)
@@ -252,7 +252,7 @@ pass5(void)
 			frags = 0;
 			for (j = 0; j < fs->fs_frag; j++) {
 				if (testbmap(d + j)) {
-					if (Eflag && start != -1) {
+					if ((Eflag || Zflag) && start != -1) {
 						clear_blocks(start, d + j - 1);
 						start = -1;
 					}
@@ -274,7 +274,7 @@ pass5(void)
 				ffs_fragacct(fs, blk, newcg->cg_frsum, 1);
 			}
 		}
-		if (Eflag && start != -1)
+		if ((Eflag || Zflag) && start != -1)
 			clear_blocks(start, d - 1);
 		if (fs->fs_contigsumsize > 0) {
 			int32_t *sump = cg_clustersum(newcg);
@@ -581,11 +581,16 @@ check_maps(
 	}
 }
 
-static void clear_blocks(ufs2_daddr_t start, ufs2_daddr_t end)
+static void
+clear_blocks(ufs2_daddr_t start, ufs2_daddr_t end)
 {
 
 	if (debug)
 		printf("Zero frags %jd to %jd\n", start, end);
-	blerase(fswritefd, fsbtodb(&sblock, start),
-	    lfragtosize(&sblock, end - start + 1));
+	if (Zflag)
+		blzero(fswritefd, fsbtodb(&sblock, start),
+		    lfragtosize(&sblock, end - start + 1));
+	if (Eflag)
+		blerase(fswritefd, fsbtodb(&sblock, start),
+		    lfragtosize(&sblock, end - start + 1));
 }

Modified: user/adrian/net80211_tx/share/man/man4/Makefile
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/Makefile	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/Makefile	Thu May  2 07:20:26 2013	(r250174)
@@ -333,6 +333,7 @@ MAN=	aac.4 \
 	ng_vlan.4 \
 	nmdm.4 \
 	nsp.4 \
+	${_ntb.4} \
 	null.4 \
 	${_nvd.4} \
 	${_nve.4} \
@@ -647,6 +648,8 @@ MLINKS+=netintro.4 net.4 \
 	netintro.4 networking.4
 MLINKS+=${_nfe.4} ${_if_nfe.4}
 MLINKS+=nge.4 if_nge.4
+MLINKS+=${_ntb.4} ${_if_ntb.4} \
+	${_ntb.4} ${_ntb_hw.4}
 MLINKS+=${_nve.4} ${_if_nve.4}
 MLINKS+=${_nxge.4} ${_if_nxge.4}
 MLINKS+=patm.4 if_patm.4
@@ -784,6 +787,9 @@ MLINKS+=lindev.4 full.4
 
 .if ${MACHINE_CPUARCH} == "amd64"
 _bhyve.4=	bhyve.4
+_if_ntb.4=	if_ntb.4
+_ntb.4=		ntb.4
+_ntb_hw.4=	ntb_hw.4
 _qlxgb.4=	qlxgb.4
 _sfxge.4=	sfxge.4
 

Modified: user/adrian/net80211_tx/share/man/man4/em.4
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/em.4	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/em.4	Thu May  2 07:20:26 2013	(r250174)
@@ -260,7 +260,7 @@ go to the Intel support website at:
 If an issue is identified with the released source code on the supported kernel
 with a supported adapter, email the specific information related to the
 issue to
-.Aq freebsdnic at mailbox.intel.com .
+.Aq freebsd at intel.com .
 .Sh SEE ALSO
 .Xr altq 4 ,
 .Xr arp 4 ,
@@ -280,7 +280,7 @@ device driver first appeared in
 The
 .Nm
 driver was written by
-.An Intel Corporation Aq freebsdnic at mailbox.intel.com .
+.An Intel Corporation Aq freebsd at intel.com .
 .Sh BUGS
 Hardware-assisted VLAN processing is disabled by default.
 You can enable it on an

Modified: user/adrian/net80211_tx/share/man/man4/igb.4
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/igb.4	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/igb.4	Thu May  2 07:20:26 2013	(r250174)
@@ -205,7 +205,7 @@ go to the Intel support website at:
 If an issue is identified with the released source code on the supported kernel
 with a supported adapter, email the specific information related to the
 issue to
-.Aq freebsdnic at mailbox.intel.com .
+.Aq freebsd at intel.com .
 .Sh SEE ALSO
 .Xr altq 4 ,
 .Xr arp 4 ,
@@ -225,4 +225,4 @@ device driver first appeared in
 The
 .Nm
 driver was written by
-.An Intel Corporation Aq freebsdnic at mailbox.intel.com .
+.An Intel Corporation Aq freebsd at intel.com .

Modified: user/adrian/net80211_tx/share/man/man4/ixgb.4
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/ixgb.4	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/ixgb.4	Thu May  2 07:20:26 2013	(r250174)
@@ -102,7 +102,7 @@ go to the Intel support website at:
 If an issue is identified with the released source code on the supported kernel
 with a supported adapter, email the specific information related to the
 issue to

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


More information about the svn-src-user mailing list