svn commit: r236711 - in projects/pf/head: cddl/contrib/opensolaris/lib/libzfs/common cddl/lib/libdtrace contrib/bind9 contrib/bind9/lib/dns contrib/bsnmp/snmp_mibII gnu/lib/libsupc++ include lib/l...

Gleb Smirnoff glebius at FreeBSD.org
Thu Jun 7 09:52:50 UTC 2012


Author: glebius
Date: Thu Jun  7 09:52:48 2012
New Revision: 236711
URL: http://svn.freebsd.org/changeset/base/236711

Log:
  Merge head r233826 through r236710.

Added:
  projects/pf/head/cddl/lib/libdtrace/io.d
     - copied unchanged from r236710, head/cddl/lib/libdtrace/io.d
  projects/pf/head/share/man/man4/filemon.4
     - copied unchanged from r236710, head/share/man/man4/filemon.4
  projects/pf/head/sys/dev/filemon/
     - copied from r236710, head/sys/dev/filemon/
  projects/pf/head/sys/modules/filemon/
     - copied from r236710, head/sys/modules/filemon/
  projects/pf/head/tools/regression/filemon/
     - copied from r236710, head/tools/regression/filemon/
  projects/pf/head/tools/tools/ifpifa/
     - copied from r236710, head/tools/tools/ifpifa/
Modified:
  projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
  projects/pf/head/contrib/bind9/CHANGES
  projects/pf/head/contrib/bind9/lib/dns/rdata.c
  projects/pf/head/contrib/bind9/lib/dns/rdataslab.c
  projects/pf/head/contrib/bind9/version
  projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c
  projects/pf/head/gnu/lib/libsupc++/Version.map
  projects/pf/head/include/fmtmsg.h
  projects/pf/head/lib/libc/include/port_before.h
  projects/pf/head/lib/libc/net/getaddrinfo.c
  projects/pf/head/lib/libc/stdlib/realpath.c
  projects/pf/head/lib/libelf/elf_begin.3
  projects/pf/head/lib/libgssapi/gss_unwrap.3
  projects/pf/head/lib/libgssapi/gss_wrap.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3
  projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3
  projects/pf/head/sbin/camcontrol/camcontrol.8
  projects/pf/head/sbin/ifconfig/ifconfig.8
  projects/pf/head/share/man/man4/Makefile
  projects/pf/head/share/man/man4/bce.4
  projects/pf/head/share/man/man4/io.4
  projects/pf/head/share/man/man4/ip.4
  projects/pf/head/share/man/man4/mpt.4
  projects/pf/head/share/man/man4/ng_ksocket.4
  projects/pf/head/share/man/man4/vlan.4
  projects/pf/head/share/man/man5/make.conf.5
  projects/pf/head/share/man/man5/rc.conf.5
  projects/pf/head/share/man/man7/development.7
  projects/pf/head/share/man/man9/rwlock.9
  projects/pf/head/share/misc/committers-src.dot
  projects/pf/head/sys/arm/at91/at91.c
  projects/pf/head/sys/arm/at91/at91_machdep.c
  projects/pf/head/sys/arm/at91/at91_mci.c
  projects/pf/head/sys/arm/at91/at91_pmc.c
  projects/pf/head/sys/arm/at91/at91reg.h
  projects/pf/head/sys/arm/at91/at91rm9200.c
  projects/pf/head/sys/arm/at91/at91rm92reg.h
  projects/pf/head/sys/arm/at91/at91sam9260.c
  projects/pf/head/sys/arm/at91/at91sam9g20.c
  projects/pf/head/sys/arm/at91/at91var.h
  projects/pf/head/sys/boot/ofw/libofw/ofw_disk.c
  projects/pf/head/sys/boot/sparc64/loader/main.c
  projects/pf/head/sys/cam/ata/ata_da.c
  projects/pf/head/sys/cam/ata/ata_pmp.c
  projects/pf/head/sys/cam/ata/ata_xpt.c
  projects/pf/head/sys/cam/cam_xpt.c
  projects/pf/head/sys/cam/scsi/scsi_all.c
  projects/pf/head/sys/cam/scsi/scsi_all.h
  projects/pf/head/sys/cam/scsi/scsi_cd.c
  projects/pf/head/sys/cam/scsi/scsi_da.c
  projects/pf/head/sys/cam/scsi/scsi_pt.c
  projects/pf/head/sys/cam/scsi/scsi_xpt.c
  projects/pf/head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
  projects/pf/head/sys/cddl/dev/dtrace/i386/dtrace_subr.c
  projects/pf/head/sys/dev/ae/if_ae.c
  projects/pf/head/sys/dev/ahci/ahci.c
  projects/pf/head/sys/dev/aic7xxx/aicasm/Makefile
  projects/pf/head/sys/dev/aic7xxx/aicasm/aicasm.c
  projects/pf/head/sys/dev/ata/ata-all.c
  projects/pf/head/sys/dev/ath/if_ath.c
  projects/pf/head/sys/dev/ath/if_ath_misc.h
  projects/pf/head/sys/dev/ath/if_ath_rx.c
  projects/pf/head/sys/dev/bge/if_bgereg.h
  projects/pf/head/sys/dev/ixgbe/ixgbe.c
  projects/pf/head/sys/dev/jme/if_jme.c
  projects/pf/head/sys/dev/mvs/mvs.c
  projects/pf/head/sys/dev/siis/siis.c
  projects/pf/head/sys/fs/nfsclient/nfs_clbio.c
  projects/pf/head/sys/geom/multipath/g_multipath.c
  projects/pf/head/sys/kern/uipc_syscalls.c
  projects/pf/head/sys/modules/Makefile
  projects/pf/head/sys/net/bpf.c
  projects/pf/head/sys/netinet/libalias/libalias.3
  projects/pf/head/sys/netinet/tcp_input.c
  projects/pf/head/sys/netinet6/in6.c
  projects/pf/head/tools/tools/syscall_timing/syscall_timing.c
  projects/pf/head/tools/tools/tinybsd/README
  projects/pf/head/usr.bin/find/find.1
  projects/pf/head/usr.bin/gzip/zmore.1
  projects/pf/head/usr.bin/kdump/kdump.1
  projects/pf/head/usr.bin/kdump/kdump.c
  projects/pf/head/usr.bin/usbhidctl/usbhidctl.1
  projects/pf/head/usr.sbin/inetd/inetd.c
  projects/pf/head/usr.sbin/inetd/inetd.h
  projects/pf/head/usr.sbin/pmcstat/pmcstat_log.c
Directory Properties:
  projects/pf/head/   (props changed)
  projects/pf/head/cddl/contrib/opensolaris/   (props changed)
  projects/pf/head/contrib/bind9/   (props changed)
  projects/pf/head/gnu/lib/   (props changed)
  projects/pf/head/lib/libc/   (props changed)
  projects/pf/head/sbin/   (props changed)
  projects/pf/head/share/man/man4/   (props changed)
  projects/pf/head/sys/   (props changed)
  projects/pf/head/sys/boot/   (props changed)
  projects/pf/head/sys/contrib/pf/   (props changed)

Modified: projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Thu Jun  7 09:52:48 2012	(r236711)
@@ -23,6 +23,7 @@
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2010 Nexenta Systems, Inc. All rights reserved.
  * Copyright (c) 2011 by Delphix. All rights reserved.
+ * Copyright (c) 2012 DEY Storage Systems, Inc.  All rights reserved.
  * Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel at dawidek.net>.
  * All rights reserved.
  * Copyright (c) 2012 Martin Matuska <mm at FreeBSD.org>. All rights reserved.
@@ -2321,6 +2322,17 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop
 		}
 		break;
 
+	case ZFS_PROP_GUID:
+		/*
+		 * GUIDs are stored as numbers, but they are identifiers.
+		 * We don't want them to be pretty printed, because pretty
+		 * printing mangles the ID into a truncated and useless value.
+		 */
+		if (get_numeric_property(zhp, prop, src, &source, &val) != 0)
+			return (-1);
+		(void) snprintf(propbuf, proplen, "%llu", (u_longlong_t)val);
+		break;
+
 	default:
 		switch (zfs_prop_get_type(prop)) {
 		case PROP_TYPE_NUMBER:

Copied: projects/pf/head/cddl/lib/libdtrace/io.d (from r236710, head/cddl/lib/libdtrace/io.d)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pf/head/cddl/lib/libdtrace/io.d	Thu Jun  7 09:52:48 2012	(r236711, copy of r236710, head/cddl/lib/libdtrace/io.d)
@@ -0,0 +1,220 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ * $FreeBSD$
+ */
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#pragma D depends_on module unix
+#pragma D depends_on provider io
+
+inline int B_BUSY = B_BUSY;
+#pragma D binding "1.0" B_BUSY
+inline int B_DONE = 0x00000200;
+#pragma D binding "1.0" B_DONE
+inline int B_ERROR = B_ERROR;
+#pragma D binding "1.0" B_ERROR
+inline int B_PAGEIO = B_PAGEIO;
+#pragma D binding "1.0" B_PAGEIO
+inline int B_PHYS = B_PHYS;
+#pragma D binding "1.0" B_PHYS
+inline int B_READ = B_READ;
+#pragma D binding "1.0" B_READ
+inline int B_WRITE = B_WRITE;
+#pragma D binding "1.0" B_WRITE
+inline int B_ASYNC = 0x00000004;
+#pragma D binding "1.0" B_ASYNC
+
+typedef struct bufinfo {
+	int b_flags;			/* buffer status */
+	size_t b_bcount;		/* number of bytes */
+	caddr_t b_addr;			/* buffer address */
+	uint64_t b_lblkno;		/* block # on device */
+	uint64_t b_blkno;		/* expanded block # on device */
+	size_t b_resid;			/* # of bytes not transferred */
+	size_t b_bufsize;		/* size of allocated buffer */
+	caddr_t b_iodone;		/* I/O completion routine */
+	int b_error;			/* expanded error field */
+	dev_t b_edev;			/* extended device */
+} bufinfo_t;
+
+#pragma D binding "1.0" translator
+translator bufinfo_t < struct buf *B > {
+	b_flags = B->b_flags;
+	b_addr = B->b_un.b_addr;
+	b_bcount = B->b_bcount;
+	b_lblkno = B->_b_blkno._f;
+	b_blkno = sizeof (long) == 8 ? B->_b_blkno._f : B->_b_blkno._p._l;
+	b_resid = B->b_resid;
+	b_bufsize = B->b_bufsize;
+	b_iodone = (caddr_t)B->b_iodone;
+	b_error = B->b_error;
+	b_edev = B->b_edev;
+}; 
+
+typedef struct devinfo {
+	int dev_major;			/* major number */
+	int dev_minor;			/* minor number */
+	int dev_instance;		/* instance number */
+	string dev_name;		/* name of device */
+	string dev_statname;		/* name of device + instance/minor */
+	string dev_pathname;		/* pathname of device */
+} devinfo_t;
+
+#pragma D binding "1.0" translator
+translator devinfo_t < struct buf *B > {
+	dev_major = B->b_dip != NULL ? getmajor(B->b_edev) :
+	    getmajor(B->b_file->v_vfsp->vfs_dev);
+	dev_minor = B->b_dip != NULL ? getminor(B->b_edev) :
+	    getminor(B->b_file->v_vfsp->vfs_dev);
+	dev_instance = B->b_dip == NULL ? 
+	    getminor(B->b_file->v_vfsp->vfs_dev) :
+	    ((struct dev_info *)B->b_dip)->devi_instance;
+	dev_name = B->b_dip == NULL ? "nfs" :
+	    stringof(`devnamesp[getmajor(B->b_edev)].dn_name);
+	dev_statname = strjoin(B->b_dip == NULL ? "nfs" :
+	    stringof(`devnamesp[getmajor(B->b_edev)].dn_name),
+	    lltostr(B->b_dip == NULL ? getminor(B->b_file->v_vfsp->vfs_dev) :
+	    ((struct dev_info *)B->b_dip)->devi_instance == 0 &&
+	    ((struct dev_info *)B->b_dip)->devi_parent != NULL &&
+	    ((struct dev_info *)B->b_dip)->devi_parent->devi_node_name ==
+	    "pseudo" ? getminor(B->b_edev) :
+	    ((struct dev_info *)B->b_dip)->devi_instance));
+	dev_pathname = B->b_dip == NULL ? "<nfs>" :
+	    ddi_pathname(B->b_dip, getminor(B->b_edev));
+};
+
+typedef struct fileinfo {
+	string fi_name;			/* name (basename of fi_pathname) */
+	string fi_dirname;		/* directory (dirname of fi_pathname) */
+	string fi_pathname;		/* full pathname */
+	offset_t fi_offset;		/* offset within file */
+	string fi_fs;			/* filesystem */
+	string fi_mount;		/* mount point of file system */
+	int fi_oflags;			/* open(2) flags for file descriptor */
+} fileinfo_t;
+
+#pragma D binding "1.0" translator
+translator fileinfo_t < struct buf *B > {
+	fi_name = B->b_file == NULL ? "<none>" :
+	    B->b_file->v_path == NULL ? "<unknown>" :
+	    basename(cleanpath(B->b_file->v_path));
+	fi_dirname = B->b_file == NULL ? "<none>" :
+	    B->b_file->v_path == NULL ? "<unknown>" :
+	    dirname(cleanpath(B->b_file->v_path));
+	fi_pathname = B->b_file == NULL ? "<none>" :
+	    B->b_file->v_path == NULL ? "<unknown>" :
+	    cleanpath(B->b_file->v_path);
+	fi_offset = B->b_offset;
+	fi_fs = B->b_file == NULL ? "<none>" :
+	    stringof(B->b_file->v_op->vnop_name);
+	fi_mount = B->b_file == NULL ? "<none>" :
+	    B->b_file->v_vfsp->vfs_vnodecovered == NULL ? "/" :
+	    B->b_file->v_vfsp->vfs_vnodecovered->v_path == NULL ? "<unknown>" :
+	    cleanpath(B->b_file->v_vfsp->vfs_vnodecovered->v_path);
+	fi_oflags = 0;
+};
+
+/*
+ * The following inline constants can be used to examine fi_oflags when using
+ * the fds[] array or a translated fileinfo_t.  Note that the various open
+ * flags behave as a bit-field *except* for O_RDONLY, O_WRONLY, and O_RDWR.
+ * To test the open mode, you write code similar to that used with the fcntl(2)
+ * F_GET[X]FL command, such as: if ((fi_oflags & O_ACCMODE) == O_WRONLY).
+ */
+inline int O_ACCMODE = 0x0003;
+#pragma D binding "1.1" O_ACCMODE
+
+inline int O_RDONLY = 0x0000;
+#pragma D binding "1.1" O_RDONLY
+inline int O_WRONLY = 0x0001;
+#pragma D binding "1.1" O_WRONLY
+inline int O_RDWR = 0x0002;
+#pragma D binding "1.1" O_RDWR
+
+inline int O_APPEND = 0x0008;
+#pragma D binding "1.1" O_APPEND
+inline int O_CREAT = 0x0200;
+#pragma D binding "1.1" O_CREAT
+inline int O_DSYNC = O_DSYNC;
+#pragma D binding "1.1" O_DSYNC
+inline int O_EXCL = 0x0800;
+#pragma D binding "1.1" O_EXCL
+inline int O_LARGEFILE = O_LARGEFILE;
+#pragma D binding "1.1" O_LARGEFILE
+inline int O_NOCTTY = 0x8000;
+#pragma D binding "1.1" O_NOCTTY
+inline int O_NONBLOCK = 0x0004;
+#pragma D binding "1.1" O_NONBLOCK
+inline int O_NDELAY = 0x0004;
+#pragma D binding "1.1" O_NDELAY
+inline int O_RSYNC = O_RSYNC;
+#pragma D binding "1.1" O_RSYNC
+inline int O_SYNC = 0x0080;
+#pragma D binding "1.1" O_SYNC
+inline int O_TRUNC = 0x0400;
+#pragma D binding "1.1" O_TRUNC
+inline int O_XATTR = O_XATTR;
+#pragma D binding "1.1" O_XATTR
+
+#pragma D binding "1.1" translator
+translator fileinfo_t < struct file *F > {
+	fi_name = F == NULL ? "<none>" :
+	    F->f_vnode->v_path == NULL ? "<unknown>" :
+	    basename(cleanpath(F->f_vnode->v_path));
+	fi_dirname = F == NULL ? "<none>" :
+	    F->f_vnode->v_path == NULL ? "<unknown>" :
+	    dirname(cleanpath(F->f_vnode->v_path));
+	fi_pathname = F == NULL ? "<none>" :
+	    F->f_vnode->v_path == NULL ? "<unknown>" :
+	    cleanpath(F->f_vnode->v_path);
+	fi_offset = F == NULL ? 0 : F->f_offset;
+	fi_fs = F == NULL ? "<none>" : stringof(F->f_vnode->v_op->vnop_name);
+	fi_mount = F == NULL ? "<none>" :
+	    F->f_vnode->v_vfsp->vfs_vnodecovered == NULL ? "/" :
+	    F->f_vnode->v_vfsp->vfs_vnodecovered->v_path == NULL ? "<unknown>" :
+	    cleanpath(F->f_vnode->v_vfsp->vfs_vnodecovered->v_path);
+	fi_oflags = F == NULL ? 0 : F->f_flag + (int)FOPEN;
+};
+
+inline fileinfo_t fds[int fd] = xlate <fileinfo_t> (
+    fd >= 0 && fd < curthread->t_procp->p_user.u_finfo.fi_nfiles ?
+    curthread->t_procp->p_user.u_finfo.fi_list[fd].uf_file : NULL);
+
+#pragma D attributes Stable/Stable/Common fds
+#pragma D binding "1.1" fds
+
+#pragma D binding "1.2" translator
+translator fileinfo_t < struct vnode *V > {
+	fi_name = V->v_path == NULL ? "<unknown>" :
+	    basename(cleanpath(V->v_path));
+	fi_dirname = V->v_path == NULL ? "<unknown>" :
+	    dirname(cleanpath(V->v_path));
+	fi_pathname = V->v_path == NULL ? "<unknown>" : cleanpath(V->v_path);
+	fi_fs = stringof(V->v_op->vnop_name);
+	fi_mount = V->v_vfsp->vfs_vnodecovered == NULL ? "/" :
+	    V->v_vfsp->vfs_vnodecovered->v_path == NULL ? "<unknown>" :
+	    cleanpath(V->v_vfsp->vfs_vnodecovered->v_path);
+};

Modified: projects/pf/head/contrib/bind9/CHANGES
==============================================================================
--- projects/pf/head/contrib/bind9/CHANGES	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/contrib/bind9/CHANGES	Thu Jun  7 09:52:48 2012	(r236711)
@@ -1,3 +1,8 @@
+	--- 9.8.3-P1 released ---
+
+3331.	[security]	dns_rdataslab_fromrdataset could produce bad
+			rdataslabs. [RT #29644]
+			
 	--- 9.8.3 released ---
 
 3318.	[tuning]	Reduce the amount of work performed while holding a

Modified: projects/pf/head/contrib/bind9/lib/dns/rdata.c
==============================================================================
--- projects/pf/head/contrib/bind9/lib/dns/rdata.c	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/contrib/bind9/lib/dns/rdata.c	Thu Jun  7 09:52:48 2012	(r236711)
@@ -329,8 +329,8 @@ dns_rdata_compare(const dns_rdata_t *rda
 
 	REQUIRE(rdata1 != NULL);
 	REQUIRE(rdata2 != NULL);
-	REQUIRE(rdata1->data != NULL);
-	REQUIRE(rdata2->data != NULL);
+	REQUIRE(rdata1->length == 0 || rdata1->data != NULL);
+	REQUIRE(rdata2->length == 0 || rdata2->data != NULL);
 	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata1));
 	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata2));
 
@@ -360,8 +360,8 @@ dns_rdata_casecompare(const dns_rdata_t 
 
 	REQUIRE(rdata1 != NULL);
 	REQUIRE(rdata2 != NULL);
-	REQUIRE(rdata1->data != NULL);
-	REQUIRE(rdata2->data != NULL);
+	REQUIRE(rdata1->length == 0 || rdata1->data != NULL);
+	REQUIRE(rdata2->length == 0 || rdata2->data != NULL);
 	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata1));
 	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata2));
 

Modified: projects/pf/head/contrib/bind9/lib/dns/rdataslab.c
==============================================================================
--- projects/pf/head/contrib/bind9/lib/dns/rdataslab.c	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/contrib/bind9/lib/dns/rdataslab.c	Thu Jun  7 09:52:48 2012	(r236711)
@@ -126,6 +126,11 @@ isc_result_t
 dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
 			   isc_region_t *region, unsigned int reservelen)
 {
+	/*
+	 * Use &removed as a sentinal pointer for duplicate
+	 * rdata as rdata.data == NULL is valid.
+	 */
+	static unsigned char removed;
 	struct xrdata  *x;
 	unsigned char  *rawbuf;
 #if DNS_RDATASET_FIXED
@@ -169,6 +174,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_
 		INSIST(result == ISC_R_SUCCESS);
 		dns_rdata_init(&x[i].rdata);
 		dns_rdataset_current(rdataset, &x[i].rdata);
+		INSIST(x[i].rdata.data != &removed);
 #if DNS_RDATASET_FIXED
 		x[i].order = i;
 #endif
@@ -201,8 +207,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_
 	 */
 	for (i = 1; i < nalloc; i++) {
 		if (compare_rdata(&x[i-1].rdata, &x[i].rdata) == 0) {
-			x[i-1].rdata.data = NULL;
-			x[i-1].rdata.length = 0;
+			x[i-1].rdata.data = &removed;
 #if DNS_RDATASET_FIXED
 			/*
 			 * Preserve the least order so A, B, A -> A, B
@@ -292,7 +297,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_
 #endif
 
 	for (i = 0; i < nalloc; i++) {
-		if (x[i].rdata.data == NULL)
+		if (x[i].rdata.data == &removed)
 			continue;
 #if DNS_RDATASET_FIXED
 		offsettable[x[i].order] = rawbuf - offsetbase;

Modified: projects/pf/head/contrib/bind9/version
==============================================================================
--- projects/pf/head/contrib/bind9/version	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/contrib/bind9/version	Thu Jun  7 09:52:48 2012	(r236711)
@@ -6,5 +6,5 @@
 MAJORVER=9
 MINORVER=8
 PATCHVER=3
-RELEASETYPE=
-RELEASEVER=
+RELEASETYPE=-P
+RELEASEVER=1

Modified: projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c
==============================================================================
--- projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c	Thu Jun  7 09:52:48 2012	(r236711)
@@ -109,10 +109,12 @@ fetch_tcp(void)
              ptr = (struct xinpgen *)(void *)((char *)ptr + ptr->xig_len)) {
 		tp = (struct xtcpcb *)ptr;
 		if (tp->xt_inp.inp_gencnt > xinpgen->xig_gen ||
-		    (tp->xt_inp.inp_vflag & INP_IPV4) == 0)
+		    (tp->xt_inp.inp_vflag & (INP_IPV4|INP_IPV6)) == 0)
 			continue;
 
-		tcp_total++;
+		if (tp->xt_inp.inp_vflag & INP_IPV4)
+			tcp_total++;
+
 		if (tp->xt_tp.t_state == TCPS_ESTABLISHED ||
 		    tp->xt_tp.t_state == TCPS_CLOSE_WAIT)
 			tcp_count++;

Modified: projects/pf/head/gnu/lib/libsupc++/Version.map
==============================================================================
--- projects/pf/head/gnu/lib/libsupc++/Version.map	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/gnu/lib/libsupc++/Version.map	Thu Jun  7 09:52:48 2012	(r236711)
@@ -126,11 +126,19 @@ CXXABI_1.3 {
     # __gnu_cxx::_verbose_terminate_handler()
     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
 
-    # new / delete operators
+    # operator new and new[], 32-bit size_t
     _Znaj;
     _ZnajRKSt9nothrow_t;
     _Znwj;
     _ZnwjRKSt9nothrow_t;
+
+    # operator new and new[], 64-bit size_t
+    _Znam;
+    _ZnamRKSt9nothrow_t;
+    _Znwm;
+    _ZnwmRKSt9nothrow_t;
+
+    # operator delete and delete[]
     _ZdaPv;
     _ZdaPvRKSt9nothrow_t;
     _ZdlPv;

Modified: projects/pf/head/include/fmtmsg.h
==============================================================================
--- projects/pf/head/include/fmtmsg.h	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/include/fmtmsg.h	Thu Jun  7 09:52:48 2012	(r236711)
@@ -32,7 +32,7 @@
 /* Source of condition is... */
 #define	MM_HARD		0x0001	/* ...hardware. */
 #define	MM_SOFT		0x0002	/* ...software. */
-#define	MM_FIRM		0x0004	/* ...fireware. */
+#define	MM_FIRM		0x0004	/* ...firmware. */
 
 /* Condition detected by... */
 #define	MM_APPL		0x0010	/* ...application. */

Modified: projects/pf/head/lib/libc/include/port_before.h
==============================================================================
--- projects/pf/head/lib/libc/include/port_before.h	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/libc/include/port_before.h	Thu Jun  7 09:52:48 2012	(r236711)
@@ -17,6 +17,6 @@
                 var = _u.v; \
         } while (0)
 
-#define UNUSED(x) (x) = (x)
+#define UNUSED(x) (void)(x)
 
 #endif /* _PORT_BEFORE_H_ */

Modified: projects/pf/head/lib/libc/net/getaddrinfo.c
==============================================================================
--- projects/pf/head/lib/libc/net/getaddrinfo.c	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/libc/net/getaddrinfo.c	Thu Jun  7 09:52:48 2012	(r236711)
@@ -464,7 +464,7 @@ getaddrinfo(const char *hostname, const 
 		}
 		error = get_portmatch(pai, servname);
 		if (error)
-			ERR(error);
+			goto bad;
 
 		*pai = ai0;
 	}

Modified: projects/pf/head/lib/libc/stdlib/realpath.c
==============================================================================
--- projects/pf/head/lib/libc/stdlib/realpath.c	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/libc/stdlib/realpath.c	Thu Jun  7 09:52:48 2012	(r236711)
@@ -54,7 +54,7 @@ realpath(const char * __restrict path, c
 	char *p, *q, *s;
 	size_t left_len, resolved_len;
 	unsigned symlinks;
-	int m, serrno, slen;
+	int m, slen;
 	char left[PATH_MAX], next_token[PATH_MAX], symlink[PATH_MAX];
 
 	if (path == NULL) {
@@ -65,7 +65,6 @@ realpath(const char * __restrict path, c
 		errno = ENOENT;
 		return (NULL);
 	}
-	serrno = errno;
 	if (resolved == NULL) {
 		resolved = malloc(PATH_MAX);
 		if (resolved == NULL)

Modified: projects/pf/head/lib/libelf/elf_begin.3
==============================================================================
--- projects/pf/head/lib/libelf/elf_begin.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/libelf/elf_begin.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -252,7 +252,7 @@ was created.
 .It Bq Er ELF_E_ARGUMENT
 An
 .Xr ar 1
-archive was opened with with
+archive was opened with
 .Ar cmd
 set to
 .Dv ELF_C_RDWR .

Modified: projects/pf/head/lib/libgssapi/gss_unwrap.3
==============================================================================
--- projects/pf/head/lib/libgssapi/gss_unwrap.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/libgssapi/gss_unwrap.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -100,7 +100,7 @@ Protected message.
 .It output_message_buffer
 Buffer to receive unwrapped message.
 Storage associated with this buffer must
-be freed by the application after use use
+be freed by the application after use
 with a call to
 .Xr gss_release_buffer 3 .
 .It conf_state

Modified: projects/pf/head/lib/libgssapi/gss_wrap.3
==============================================================================
--- projects/pf/head/lib/libgssapi/gss_wrap.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/libgssapi/gss_wrap.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -118,7 +118,7 @@ Integrity and data origin services only 
 .It output_message_buffer
 Buffer to receive protected message.
 Storage associated with this buffer must
-be freed by the application after use use
+be freed by the application after use
 with a call to
 .Xr gss_release_buffer 3 .
 .El

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -39,7 +39,7 @@
 .Sh DESCRIPTION
 Get details of the last RPCSEC_GSS error.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It error"
 .It error
 A pointer to a structure where the error details will be returned
 .El

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -40,7 +40,7 @@
 This function looks up a mechanism by name by reading the file
 /etc/gss/mech and queries it for its capabilities.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It service"
 .It mech
 The mechanism to search for
 .It service

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -46,7 +46,7 @@
 This function can be used to generate a client principal name from
 various strings.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It principal"
 .It principal
 If the principal is created successfully,
 .Fa *principal

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -39,7 +39,7 @@
 .Sh DESCRIPTION
 Return the highest and lowest supported versions of the RPCSEC_GSS protocol.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It vers_lo"
 .It vers_hi
 The value of
 .Fa *vers_hi

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -45,7 +45,7 @@
 This function returns the RPCSEC_GSS authenticated credentials
 associated with an RPC request.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It cookie"
 .It req
 The RPC request to query
 .It rcred

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -40,7 +40,7 @@
 This function looks up a mechanism by name by reading the file
 /etc/gss/mech.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It mech"
 .It mech
 The mechanism to search for
 .El

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -41,7 +41,7 @@ Calculate the maximum message size that 
 .Fa max_tp_unit_len ,
 given the current service and QoP setting.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It max_tp_unit_len"
 .It auth
 A handle to a RPCSEC_GSS security context
 .It max_tp_unit_len

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -40,7 +40,7 @@
 This function looks up a mechanism by name by reading the file
 /etc/gss/mech.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It oid_ret"
 .It mech
 The mechanism name to search for
 .It oid_ret

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -40,7 +40,7 @@
 This function looks up a mechanism by oid by reading the file
 /etc/gss/mech.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It mech_ret"
 .It oid
 The mechanism oid to search for
 .It mech_ret

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -40,7 +40,7 @@
 This function looks up a quality of protection by name by reading the file
 /etc/gss/qop.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It number_ret"
 .It qop
 The quality of protection to search for
 .It mech

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -48,7 +48,7 @@
 This function is used to establish a security context between an
 application and a remote peer using the RPSEC_GSS protocol.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width "options_req"
 .It clnt
 An RPC handle which is connected to the remote peer
 .It principal
@@ -62,7 +62,7 @@ The value of mechanism should be the nam
 mechanisms listed in /etc/gss/mech.
 .It service
 Type of service requested.
-.Bl -tag
+.Bl -tag -width "rpc_gss_svc_integrity"
 .It rpc_gss_svc_default
 The default - typically the same as
 .Dv rpc_gss_svc_none .

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -62,7 +62,7 @@ protection used by the context.
 If a context is locked, any subsequent requests which use different
 values for service and quality of protection will be rejected.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It gss_context"
 .It cb
 A structure containing the RPC program and version for this callback
 and a function which will be called when new contexts are created for

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -45,7 +45,7 @@ Set the service and quality of protectio
 The new values apply for the rest of the lifetime of the context
 (unless changed again with this function).
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It service"
 .It service
 The service type to use for subsequent RPC requests
 .It qop

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -47,7 +47,7 @@ This function registers a service princi
 authenticate RPCSEC_GSS security contexts for a given RPC program and
 version.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It mechanism"
 .It principal
 A string representing the service principal in the form
 .Qq service at hostname

Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3	Thu Jun  7 09:52:48 2012	(r236711)
@@ -41,7 +41,7 @@ Calculate the maximum message size that 
 .Fa max_tp_unit_len ,
 given the current service and QoP setting.
 .Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It max_tp_unit_len"
 .It req
 An RPC request
 .It max_tp_unit_len

Modified: projects/pf/head/sbin/camcontrol/camcontrol.8
==============================================================================
--- projects/pf/head/sbin/camcontrol/camcontrol.8	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/sbin/camcontrol/camcontrol.8	Thu Jun  7 09:52:48 2012	(r236711)
@@ -738,7 +738,7 @@ Set the partial pathway timeout value, i
 See the
 .Tn ANSI
 .Tn SAS
-Protcol Layer (SPL)
+Protocol Layer (SPL)
 specification for more information on this field.
 .It Fl a Ar enable|disable
 Enable or disable SATA slumber phy power conditions.
@@ -1109,7 +1109,7 @@ Do not ask for confirmation.
 Run in simulation mode.
 Packet sizes that will be sent are shown, but no actual packet is sent to the
 device.
-No confimation is asked in simulation mode.
+No confirmation is asked in simulation mode.
 .It Fl v
 Besides showing sense information in case of a failure, the verbose option
 causes

Modified: projects/pf/head/sbin/ifconfig/ifconfig.8
==============================================================================
--- projects/pf/head/sbin/ifconfig/ifconfig.8	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/sbin/ifconfig/ifconfig.8	Thu Jun  7 09:52:48 2012	(r236711)
@@ -2051,7 +2051,7 @@ Send broadcast path requests every two s
 Nodes on the mesh without a path to this root mesh station with try to
 discover a path to us.
 .It Cm PROACTIVE
-Send broadcast path requests every two seconds and every node must reply with
+Send broadcast path requests every two seconds and every node must reply
 with a path reply even if it already has a path to this root mesh station.
 .It Cm RANN
 Send broadcast root announcement (RANN) frames.

Modified: projects/pf/head/share/man/man4/Makefile
==============================================================================
--- projects/pf/head/share/man/man4/Makefile	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/share/man/man4/Makefile	Thu Jun  7 09:52:48 2012	(r236711)
@@ -126,6 +126,7 @@ MAN=	aac.4 \
 	fdt.4 \
 	fdtbus.4 \
 	ffclock.4 \
+	filemon.4 \
 	firewire.4 \
 	fpa.4 \
 	fwe.4 \

Modified: projects/pf/head/share/man/man4/bce.4
==============================================================================
--- projects/pf/head/share/man/man4/bce.4	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/share/man/man4/bce.4	Thu Jun  7 09:52:48 2012	(r236711)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 1, 2012
+.Dd June 4, 2012
 .Dt BCE 4
 .Os
 .Sh NAME
@@ -213,45 +213,58 @@ Enable/Disable strict RX frame size chec
 Enable/Disable frame header/payload splitting (default 1).
 .It Va hw.bce.rx_pages
 Set the number of memory pages assigned to recieve packets by the driver.
-Due to alignment issues, this value can only be of the set 1, 2, 4 or 8 (default 2).
+Due to alignment issues, this value can only be of the set
+1, 2, 4 or 8 (default 2).
 .It Va hw.bce.tx_pages
-Set the number of memory pages assigned to transmit packets by the driver.
-Due to alignment issues, this value can only be of the set 1, 2, 4 or 8 (default 2).
+Set the number of memory pages assigned to transmit packets
+by the driver.
+Due to alignment issues, this value can only be of the set
+1, 2, 4 or 8 (default 2).
 .It Va hw.bce.rx_ticks
-Time in microsecond ticks to wait before generating a status block updates due to RX processing activity.
+Time in microsecond ticks to wait before generating a status
+block updates due to RX processing activity.
 Values from 0-100 are valid.
 A value of 0 disables this status block update.
-Cannot be set to 0 if hw.bce.rx_quick_cons_trip is also 0 (default 18).
+Cannot be set to 0 if hw.bce.rx_quick_cons_trip is also 0
+(default 18).
 .It Va hw.bce.rx_ticks_int
-Time in microsecond ticks to wait during RX interrupt processing before generating a status block update.
+Time in microsecond ticks to wait during RX interrupt
+processing before generating a status block update.
 Values from 0-100 are valid.
 Valid values are in the range from 0-100.
 A value of 0 disables this status block update (default 18).
 .It Va hw.bce.rx_quick_cons_trip
-Number of RX Quick BD Chain entries that must be completed before a status block is generated.
+Number of RX Quick BD Chain entries that must be completed
+before a status block is generated.
 Values from 0-256 are valid.
 A value of 0 disables this status block update.
 Cannot be set to 0 if hw.bce.rx_ticks is also 0 (default 6).
 .It Va hw.bce.rx_quick_cons_trip_int
-Number of RX quick BD entries that must be completed before a status block is generated duing interrupt processing.
+Number of RX quick BD entries that must be completed before
+a status block is generated duing interrupt processing.
 Values from 0-256 are valid.
 A value of 0 disables this status block update (default 6).
 .It Va hw.bce.tx_ticks
-Time in microsecond ticks to wait before a status block update is generated due to TX activitiy.
+Time in microsecond ticks to wait before a status block
+update is generated due to TX activitiy.
 Values from 0-100 are valid.
 A value of 0 disables this status block update.
-Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0 (default 80).
+Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0
+(default 80).
 .It Va hw.bce.tx_ticks_int
-Time in microsecond ticks to wait in interrupt processing before a status block update is generated due to TX activity
+Time in microsecond ticks to wait in interrupt processing
+before a status block update is generated due to TX activity
 Values from 0-100 are valid.
 A value of 0 disables this status block update (default 80).
 .It Va hw.bce.tx_cons_trip
-How many TX Quick BD Chain entries that must be completed before a status block is generated.
+How many TX Quick BD Chain entries that must be completed
+before a status block is generated.
 Values from 0-100 are valid.
 A value of 0 disables this status block update.
 Cannot be set to 0 if hw.bce.tx_ticks is also 0 (default 20).
 .It Va hw.bce.tx_cons_trip_int
-How many TX Quick BD Chain entries that must be completed before a status block is generated during an interrupt.
+How many TX Quick BD Chain entries that must be completed
+before a status block is generated during an interrupt.
 Values from 0-100 are valid.
 A value of 0 disables this status block update (default 20).
 .El

Copied: projects/pf/head/share/man/man4/filemon.4 (from r236710, head/share/man/man4/filemon.4)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pf/head/share/man/man4/filemon.4	Thu Jun  7 09:52:48 2012	(r236711, copy of r236710, head/share/man/man4/filemon.4)
@@ -0,0 +1,178 @@
+.\" Copyright (c) 2012
+.\"	David E. O'Brien <obrien at FreeBSD.org>.  All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgment:
+.\"	This product includes software developed by David E. O'Brien and
+.\"	contributors.
+.\" 4. Neither the name of the author nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd May 30, 2012
+.Dt FILEMON 4
+.Os
+.Sh NAME
+.Nm filemon
+.Nd the filemon device
+.Sh SYNOPSIS
+.In dev/filemon/filemon.h
+.Sh DESCRIPTION
+The
+.Nm
+device allows a process to collect file operations data of its children.
+The device
+.Pa /dev/filemon
+responds to two
+.Xr ioctl 2
+calls.
+.Pp
+System calls are denoted using the following single letters:
+.Pp
+.Bl -tag -width indent -compact
+.It Ql C
+.Xr chdir 2
+.It Ql D
+.Xr unlink 2
+.It Ql E
+.Xr exec 2
+.It Ql F
+.Xr fork 2 ,
+.Xr vfork 2
+.It Ql L
+.Xr link 2 ,
+.Xr linkat 2 ,
+.Xr symlink 2 ,
+.Xr symlinkat 2
+.It Ql M
+.Xr rename 2
+.It Ql R
+.Xr open 2
+for read
+.It Ql S
+.Xr stat 2
+.It Ql W
+.Xr open 2
+for write
+.It Ql X
+.Xr _exit 2
+.El
+.Pp
+Note that
+.Ql R
+following
+.Ql W
+records can represent a single
+.Xr open 2
+for R/W,
+or two separate
+.Xr open 2
+calls, one for
+.Ql R
+and one for
+.Ql W .
+Note that only successful system calls are captured.
+.Sh IOCTLS
+User mode programs communicate with the
+.Nm
+driver through a number of ioctls which are described below.
+Each takes a single argument.
+.Bl -tag -width ".Dv FILEMON_SET_PID"
+.It Dv FILEMON_SET_FD
+Write the internal tracing buffer to the supplied open file descriptor.
+.It Dv FILEMON_SET_PID
+Child process ID to trace.
+.El
+.Sh RETURN VALUES
+.\" .Rv -std ioctl
+The
+.Fn ioctl
+function returns the value 0 if successful;
+otherwise the value \-1 is returned and the global variable
+.Va errno
+is set to indicate the error.
+.Sh FILES
+.Bl -tag -width ".Pa /dev/filemon"
+.It Pa /dev/filemon
+.El
+.Sh EXAMPLES
+.Bd -literal
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <sys/ioctl.h>
+#include <dev/filemon/filemon.h>
+#include <fcntl.h>
+#include <err.h>
+
+static void
+open_filemon(void)
+{
+	pid_t child;
+	int fm_fd, fm_log;
+
+	if ((fm_fd = open("/dev/filemon", O_RDWR)) == -1)
+		err(1, "open(\e"/dev/filemon\e", O_RDWR)");
+	if ((fm_log = open("filemon.out",
+	    O_CREAT | O_WRONLY | O_TRUNC, DEFFILEMODE)) == -1)
+		err(1, "open(filemon.out)");
+
+	if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) == -1)
+		err(1, "Cannot set filemon log file descriptor");
+	/* Set up these two fd's to close on exec. */
+	(void)fcntl(fm_fd, F_SETFD, FD_CLOEXEC);
+	(void)fcntl(fm_log, F_SETFD, FD_CLOEXEC);
+
+	if ((child = fork()) == 0) {
+		child = getpid();
+		if (ioctl(fm_fd, FILEMON_SET_PID, &child) == -1)
+			err(1, "Cannot set filemon PID");
+		/* Do something here. */
+		return 0;
+	} else {
+		wait(&child);
+		close(fm_fd);
+	}
+	return 0;
+}
+.Ed
+.Pp
+Creates a file named
+.Pa filemon.out
+and configures the
+.Nm
+device to write the
+.Nm
+buffer contents to it.
+.Sh SEE ALSO
+.Xr dtrace 1 ,
+.Xr ktrace 1 ,
+.Xr truss 1 ,
+.Xr ioctl 2
+.Sh HISTORY
+A
+.Nm
+device appeared in
+.Fx 9.1 .

Modified: projects/pf/head/share/man/man4/io.4
==============================================================================
--- projects/pf/head/share/man/man4/io.4	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/share/man/man4/io.4	Thu Jun  7 09:52:48 2012	(r236711)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 01, 2010
+.Dd June 1, 2010
 .Dt IO 4
 .Os
 .Sh NAME

Modified: projects/pf/head/share/man/man4/ip.4
==============================================================================
--- projects/pf/head/share/man/man4/ip.4	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/share/man/man4/ip.4	Thu Jun  7 09:52:48 2012	(r236711)
@@ -165,7 +165,7 @@ The
 .Vt cmsghdr
 fields have the following values:
 .Bd -literal
-cmsg_len = sizeof(struct in_addr)
+cmsg_len = CMSG_LEN(sizeof(struct in_addr))
 cmsg_level = IPPROTO_IP
 cmsg_type = IP_RECVDSTADDR
 .Ed
@@ -184,7 +184,7 @@ structure followed by the
 address.
 The cmsghdr fields should have the following values:
 .Bd -literal
-cmsg_len = sizeof(struct in_addr)
+cmsg_len = CMSG_LEN(sizeof(struct in_addr))
 cmsg_level = IPPROTO_IP
 cmsg_type = IP_SENDSRCADDR
 .Ed
@@ -279,7 +279,7 @@ that contains a cmsghdr structure follow
 .Tn TTL .
 The cmsghdr fields have the following values:
 .Bd -literal
-cmsg_len = sizeof(u_char)
+cmsg_len = CMSG_LEN(sizeof(u_char))
 cmsg_level = IPPROTO_IP
 cmsg_type = IP_RECVTTL
 .Ed
@@ -307,7 +307,7 @@ The
 .Vt cmsghdr
 fields have the following values:
 .Bd -literal
-cmsg_len = sizeof(struct sockaddr_dl)
+cmsg_len = CMSG_LEN(sizeof(struct sockaddr_dl))
 cmsg_level = IPPROTO_IP
 cmsg_type = IP_RECVIF
 .Ed

Modified: projects/pf/head/share/man/man4/mpt.4
==============================================================================
--- projects/pf/head/share/man/man4/mpt.4	Thu Jun  7 09:47:36 2012	(r236710)
+++ projects/pf/head/share/man/man4/mpt.4	Thu Jun  7 09:52:48 2012	(r236711)
@@ -124,15 +124,15 @@ Dell PowerEdge 1750 thru 2850
 IBM eServer xSeries 335
 .El
 .Pp
-These systems also contain Integrated Raid Mirroring and Integrated
-Raid Mirroring Enhanced which this driver also supports.
+These systems also contain Integrated RAID Mirroring and Integrated
+RAID Mirroring Enhanced which this driver also supports.
 .Pp

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


More information about the svn-src-projects mailing list