--- old/usr/src/man/Makefile	Thu Jul 17 00:50:38 2014
+++ new/usr/src/man/Makefile	Thu Jul 17 00:50:38 2014
@@ -102,8 +102,9 @@
 clean		:= TARGET = clean
 clobber		:= TARGET = clobber
 install		:= TARGET = install
+check		:= TARGET = check
 
-all clean clobber install: $(SUBDIRS)
+all check clean clobber install: $(SUBDIRS)
 
 $(SUBDIRS):	FRC
 	@cd $@; pwd; $(MAKE) $(TARGET)
--- old/usr/src/man/Makefile.man	Thu Jul 17 00:50:38 2014
+++ new/usr/src/man/Makefile.man	Thu Jul 17 00:50:38 2014
@@ -14,9 +14,9 @@
 # Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
 #
 
+MANDOC=		$(ROOT)/usr/bin/mandoc
 ROOTMAN=	$(ROOT)/usr/share/man
 ROOTHASMAN=	$(ROOT)/usr/has/man
-
 FILEMODE=	0444
 
 # The manual section being built, client Makefiles must set this to, for e.g.
@@ -24,6 +24,7 @@
 #
 # MANSECT=
 
+MANCHECKS=	$(MANFILES:%=%.check)
 ROOTMANFILES= 	$(MANFILES:%=$(ROOTMAN)/man$(MANSECT)/%)
 ROOTMANLINKS=	$(MANLINKS:%=$(ROOTMAN)/man$(MANSECT)/%)
 
@@ -30,6 +31,9 @@
 $(ROOTMAN)/man$(MANSECT)/% $(ROOTHASMAN)/man$(MANSECT)/%: %
 		$(INS.file)
 
+$(MANCHECKS):
+		$(MANDOC) -Tlint $(@:%.check=%)
+
 $(MANLINKS):
 		$(RM) $@; $(SYMLINK) $(LINKSRC) $@
 
@@ -38,6 +42,8 @@
 
 all:
 
+check:		$(MANCHECKS)
+
 clean:
 
 clobber:
--- old/usr/src/man/man1/head.1	Thu Jul 17 00:50:38 2014
+++ new/usr/src/man/man1/head.1	Thu Jul 17 00:50:38 2014
@@ -11,7 +11,7 @@
 .\" 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]
-.TH HEAD 1 "Mar	4, 2013"
+.TH HEAD 1 "Mar 4, 2013"
 .SH NAME
 head \- display first few lines of files
 .SH SYNOPSIS
--- old/usr/src/man/man1/ld.1	Thu Jul 17 00:50:38 2014
+++ new/usr/src/man/man1/ld.1	Thu Jul 17 00:50:38 2014
@@ -1036,7 +1036,7 @@
 Suggests that \fB-z direct\fR or \fB-B direct\fR be present prior to any
 specified dependency.  This allows predictable symbol binding at runtime.
 
-Can be disabled with \fB-z guidance=nodirect\fR 
+Can be disabled with \fB-z guidance=nodirect\fR
 .RE
 
 .sp
@@ -1105,7 +1105,7 @@
 
 Can be disabled with \fB-z guidance=nounused\fR.
 .RE
-.RE 
+.RE
 
 .sp
 .ne 2
--- old/usr/src/man/man1/man.1	Thu Jul 17 00:50:39 2014
+++ new/usr/src/man/man1/man.1	Thu Jul 17 00:50:39 2014
@@ -117,7 +117,7 @@
 Enabled.
 .Sh INTERFACE STABILITY
 The
-.Nm 
+.Nm
 utility is
 .Nm Standard ,
 as is the
--- old/usr/src/man/man1/mandoc.1	Thu Jul 17 00:50:39 2014
+++ new/usr/src/man/man1/mandoc.1	Thu Jul 17 00:50:39 2014
@@ -630,7 +630,7 @@
 .El
 .Sh INTERFACE STABILITY
 The
-.Nm 
+.Nm
 utility is
 .Nm Committed ,
 but the details of specific output formats other than ASCII are
--- old/usr/src/man/man1/printf.1	Thu Jul 17 00:50:39 2014
+++ new/usr/src/man/man1/printf.1	Thu Jul 17 00:50:39 2014
@@ -128,7 +128,7 @@
 The special character \fB*\fR may be used instead of a string of decimal digits
 to indicate a minimum field width or a precision.  In this case the next
 available argument is used (or the \fIn\fRth if the form \fIn\fR\fB$\fR is
-used), treating its value as a decimal string. 
+used), treating its value as a decimal string.
 .RE
 .RS +4
 .TP
--- old/usr/src/man/man1/tar.1	Thu Jul 17 00:50:39 2014
+++ new/usr/src/man/man1/tar.1	Thu Jul 17 00:50:39 2014
@@ -1182,7 +1182,7 @@
 .sp
 .LP
 \fBar\fR(1), \fBbasename\fR(1), \fBbzip2\fR(1), \fBcd\fR(1), \fBchown\fR(1),
-\fBcompress\fR)(1), \fBcpio\fR(1), \fBcsh\fR(1), \fBdirname\fR(1), 
+\fBcompress\fR)(1), \fBcpio\fR(1), \fBcsh\fR(1), \fBdirname\fR(1),
 \fBfind\fR(1), \fBgzip\fR(1), \fBls\fR(1), \fBmt\fR(1), \fBpax\fR(1),
 \fBsetfacl\fR(1), \fBumask\fR(1), \fBxz\fR(1), \fBmknod\fR(1M),
 \fBarchives.h\fR(3HEAD), \fBattributes\fR(5), \fBenviron\fR(5),
--- old/usr/src/man/man1m/arcstat.1m	Thu Jul 17 00:50:39 2014
+++ new/usr/src/man/man1m/arcstat.1m	Thu Jul 17 00:50:39 2014
@@ -460,7 +460,7 @@
 Specify the sampling interval in seconds.
 .RE
 
-.SH AUTHORS 
+.SH AUTHORS
 .sp
 .LP
 arcstat was originally written by Neelakanth Nadgir and supported only ZFS ARC statistics.
--- old/usr/src/man/man1m/dd.1m	Thu Jul 17 00:50:39 2014
+++ new/usr/src/man/man1m/dd.1m	Thu Jul 17 00:50:39 2014
@@ -410,8 +410,6 @@
 \fBfcntl.h\fR(3HEAD).
 .RE
 
-.RE
-
 .sp
 .LP
 If operands other than \fBconv=\fR and \fBoflag=\fR are specified more than once,
--- old/usr/src/man/man1m/ipadm.1m	Thu Jul 17 00:50:39 2014
+++ new/usr/src/man/man1m/ipadm.1m	Thu Jul 17 00:50:39 2014
@@ -419,7 +419,6 @@
 .sp
 
 .RE
-.RE
 
 .sp
 .ne 2
--- old/usr/src/man/man1m/lofiadm.1m	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man1m/lofiadm.1m	Thu Jul 17 00:50:40 2014
@@ -81,7 +81,6 @@
 In the global zone, \fBlofiadm\fR can be used on both the global
 zone devices and all devices owned by other non-global zones on the system.
 .sp
-.LP
 .SH OPTIONS
 .sp
 .LP
--- old/usr/src/man/man1m/root_archive.1m	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man1m/root_archive.1m	Thu Jul 17 00:50:40 2014
@@ -21,7 +21,7 @@
 .SH DESCRIPTION
 .sp
 .LP
-The \fBroot_archive\fR utility is used to manipulate boot archives. 
+The \fBroot_archive\fR utility is used to manipulate boot archives.
 The utility can pack and unpack boot archives and image miniroots. Both \fBufs\fR and \fBhsfs\fR
 (\fBiso9660\fR) format archives can be unpacked, although only \fBufs\fR format
 is generated when packing.
--- old/usr/src/man/man1m/zonecfg.1m	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man1m/zonecfg.1m	Thu Jul 17 00:50:40 2014
@@ -864,7 +864,6 @@
 
 .sp
 .ne 2
-.mk
 .na
 \fBglobal: \fBfs-allowed\fR\fR
 .ad
--- old/usr/src/man/man2/pipe.2	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man2/pipe.2	Thu Jul 17 00:50:40 2014
@@ -41,7 +41,6 @@
 behave identically to \fBpipe()\fR.  Values for \fIflags\fR are constructed
 by a bitwise-inclusive-OR of flags from the following list, defined in
 <\fBfcntl.h\fR>.
-.RE
 
 .sp
 .ne 2
--- old/usr/src/man/man3c/btowc.3c	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man3c/btowc.3c	Thu Jul 17 00:50:40 2014
@@ -35,7 +35,7 @@
 .LP
 The behavior of \fBbtowc()\fR is affected by the \fBLC_CTYPE\fR category of the
 current locale.  See \fBenviron\fR(5). The function \fBbtowc_l()\fR does
-not use the current locale, and instead operates on the locale 
+not use the current locale, and instead operates on the locale
 specified by \fIloc\fR.
 .SH RETURN VALUES
 .LP
--- old/usr/src/man/man3c/fgetwc.3c	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man3c/fgetwc.3c	Thu Jul 17 00:50:40 2014
@@ -36,7 +36,7 @@
 convert that to the corresponding wide-character code and advance the
 associated file position indicator for the stream (if defined).
 Whereas \fBfgetwc()\fR uses the current locale, \fBfgetwc_l()\fR uses the
-locale specified by \fIloc\R.
+locale specified by \fIloc\fR.
 .LP
 If an error occurs, the resulting value of the file position indicator for the
 stream is indeterminate.
--- old/usr/src/man/man3c/fopen.3c	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man3c/fopen.3c	Thu Jul 17 00:50:40 2014
@@ -34,7 +34,7 @@
 .sp
 .ne 2
 .na
-\fB\fBr\fR\fR 
+\fB\fBr\fR\fR
 .ad
 .RS 20n
 Open file for reading.
--- old/usr/src/man/man3c/iswctype.3c	Thu Jul 17 00:50:40 2014
+++ new/usr/src/man/man3c/iswctype.3c	Thu Jul 17 00:50:40 2014
@@ -42,7 +42,7 @@
 and wide-character codes corresponding to the valid character encodings in the
 current locale (or
 .I loc
-for 
+for
 .BR iswctype_l() .)
 If the
 .I wc
--- old/usr/src/man/man3c/mbrtowc.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/mbrtowc.3c	Thu Jul 17 00:50:41 2014
@@ -81,7 +81,7 @@
 internal
 .B mbstate_t
 object, which is initialized at program startup to the
-initial conversion state. Otherwise, the 
+initial conversion state. Otherwise, the
 .B mbstate_t
 object pointed to by
 .I ps
--- old/usr/src/man/man3c/mbsrtowcs.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/mbsrtowcs.3c	Thu Jul 17 00:50:41 2014
@@ -135,7 +135,7 @@
 .B mbsnrtowcs()
 and
 .B mbsrtowcs()
-functions are Standard.  The 
+functions are Standard.  The
 .B mbsnrtowcs_l()
 and
 .B mbsrtowcs_l()
--- old/usr/src/man/man3c/newlocale.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/newlocale.3c	Thu Jul 17 00:50:41 2014
@@ -76,7 +76,7 @@
 Indicates that the locale should be processed based in the values in the
 environment. See
 .BR setlocale (3C)
-and 
+and
 .BR environ (5)
 for more information.
 .LP
--- old/usr/src/man/man3c/strcoll.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/strcoll.3c	Thu Jul 17 00:50:41 2014
@@ -69,8 +69,6 @@
 .SH FILES
 .IP \fB/usr/lib/locale/\fR\fIlocale\fR\fB/LC_COLLATE/*\fR
 collation database for \fIlocale\fR
-.RE
-
 .SH ATTRIBUTES
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
--- old/usr/src/man/man3c/string.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/string.3c	Thu Jul 17 00:50:41 2014
@@ -174,7 +174,7 @@
 The \fBstrcasecmp()\fR and \fBstrncasecmp()\fR functions compare two strings
 byte-by-byte, after
 converting each upper-case character to lower-case (as determined by the
-\fBLC_CTYPE\fR category of the current locale).  Note that neither the contents 
+\fBLC_CTYPE\fR category of the current locale).  Note that neither the contents
 pointed to by \fIs1\fR nor \fIs2\fR are modified.
 .LP
 The functions return an integer
--- old/usr/src/man/man3c/towlower.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/towlower.3c	Thu Jul 17 00:50:41 2014
@@ -26,7 +26,7 @@
 .LP
 .nf
 \fBwint_t\fR \fBtowlower_l\fR(\fBwint_t\fR \fIwc\fR, \fBlocale_t\fR \fIloc\fR);
-.nf
+.fi
 .SH DESCRIPTION
 The function
 .BR towlower()
--- old/usr/src/man/man3c/uselocale.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/uselocale.3c	Thu Jul 17 00:50:41 2014
@@ -34,7 +34,7 @@
 .LP
 If
 .BR (locale_t) 0
-is supplied for 
+is supplied for
 .IR loc ,
 then no change is made to the thread's locale setting.  This can be used
 to query the thread's locale without making any change.
--- old/usr/src/man/man3c/wcscoll.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/wcscoll.3c	Thu Jul 17 00:50:41 2014
@@ -50,7 +50,7 @@
 character string pointed to by \fIws1\fR is greater than, equal to, or less
 than the wide character string pointed to by \fIws2\fR, when both are
 interpreted as appropriate to the the current locale, or the locale
-specified by \fIloc\fR. On error, 
+specified by \fIloc\fR. On error,
 they set \fBerrno\fR, but no return value is reserved to indicate an error.
 .SH ERRORS
 .LP
--- old/usr/src/man/man3c/wcsrtombs.3c	Thu Jul 17 00:50:41 2014
+++ new/usr/src/man/man3c/wcsrtombs.3c	Thu Jul 17 00:50:41 2014
@@ -24,6 +24,7 @@
 .nf
 \fBsize_t\fR \fBwcsnrtombs\fR(\fBchar *restrict\fR \fIdst\fR, \fBconst wchar_t **restrict\fR \fIsrc\fR,
      \fBsize_t\fR \fInwc\fR, \fBsize_t\fR \fIlen\fR, \fBmbstate_t *restrict\fR \fIps\fR);
+.fi
 .LP
 .nf
 #include <wchar.h>
--- old/usr/src/man/man3lib/libc.3lib	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man3lib/libc.3lib	Thu Jul 17 00:50:42 2014
@@ -434,7 +434,7 @@
 \fBmutex_destroy\fR	\fBmutex_init\fR
 \fBmutex_lock\fR	\fBmutex_trylock\fR
 \fBmutex_unlock\fR	\fBnanosleep\fR
-\fBnextafter\fR		\fBnewlocale\fR
+\fBnextafter\fR	\fBnewlocale\fR
 \fBnfs_getfh\fR	\fBnftw\fR
 \fBngettext\fR	\fBnice\fR
 \fBnl_langinfo\fR	\fBnl_langinfo_l\fR
--- old/usr/src/man/man4/init.4	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man4/init.4	Thu Jul 17 00:50:42 2014
@@ -5,7 +5,7 @@
 .\" 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]
-.TH init 4 "Mar 15, 2014"
+.TH INIT 4 "Mar 15, 2014"
 .SH NAME
 init \- set default system time zone and locale
 .SH SYNOPSIS
@@ -25,7 +25,7 @@
 .LP
 \fB/etc/TIMEZONE\fR is a symbolic link to \fB/etc/default/init\fR.  This
 link exists for compatibility with legacy software, is obsolete, and may
-be removed in a future release. 
+be removed in a future release.
 .sp
 .LP
 The number of environment variables that can be set from
--- old/usr/src/man/man5/mdoc.5	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man5/mdoc.5	Thu Jul 17 00:50:42 2014
@@ -394,7 +394,7 @@
 .It Em INTERFACE STABILITY
 Indicates the level of commitment to the interface. Interfaces can be described
 with in the following ways:
-.Bl -tag
+.Bl -tag -width Ds
 .It Nm Standard
 Indicates that the interface is defined by one or more standards bodies.
 Generally, changes to the interface will be carefully managed to conform
@@ -403,7 +403,7 @@
 .It Nm Committed
 Indicates that the interface is intended to be preserved for the long-haul, and
 will rarely, if ever change, and never without notification (barring
-extraordinary and extenuating circumstances). These interfaces are 
+extraordinary and extenuating circumstances). These interfaces are
 preferred over other interfaces with the exeception of
 .Nm Standard
 interfaces.
@@ -455,7 +455,7 @@
 is made in the MT-Level section of
 .Xr attributes 5 .
 The interface can be described in the following ways.
-.Bl -tag
+.Bl -tag -width Ds
 .It Nm Safe
 Indicates the interface is safe for use within multiple threads.  There
 may be additional caveats that apply, in which case those will be
--- old/usr/src/man/man7d/cpqary3.7d	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man7d/cpqary3.7d	Thu Jul 17 00:50:42 2014
@@ -13,9 +13,7 @@
 .\"
 .TH CPQARY3 7D Aug 26, 2013"
 .SH NAME
-.LP
 cpqary3 - provides disk and SCSI tape support for HP Smart Array controllers
-.LP
 .SH DESCRIPTION
 .LP
 The cpqary3 module provides low-level interface routines between the common
@@ -78,7 +76,6 @@
 .BR driver.conf (4),
 .BR sd (7D),
 .BR st (7D)
-.LP
 .SH NOTES
 .LP
 The Smart Array controllers supported by the current version of the
--- old/usr/src/man/man7d/nv_sata.7d	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man7d/nv_sata.7d	Thu Jul 17 00:50:42 2014
@@ -4,7 +4,7 @@
 .\" 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]
-.TH nv_sata 7D "25 Sep 2011"
+.TH NV_SATA 7D "Sep 25, 2011"
 .SH NAME
 nv_sata \- NVIDIA CK804/MCP04/MCP51/MCP55/MCP61 SATA controller driver
 .SH SYNOPSIS
@@ -16,7 +16,7 @@
 .SH DESCRIPTION
 .sp
 .LP
-The \fBnv_sata\fR driver is a SATA HBA driver that supports NVIDIA CK804/MCP04 
+The \fBnv_sata\fR driver is a SATA HBA driver that supports NVIDIA CK804/MCP04
 and MCP51/MCP55/MCP61 SATA HBA controllers. Note that while these controllers
 support standard SATA features including SATA-II drives, NCQ, hotplug and ATAPI
 drives, the driver currently does not support NCQ features.
--- old/usr/src/man/man7d/pcn.7d	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man7d/pcn.7d	Thu Jul 17 00:50:42 2014
@@ -43,7 +43,7 @@
 .SH "APPLICATION PROGRAMMING INTERFACE"
 The \fBpcn\fR driver can be used as either a "style 1" or a "style 2" Data Link
 Service Provider\. Physical points of attachment (PPAs) are interpreted as the
-instance number of the \fBpcn\fR controller as assigned by the Illumos 
+instance number of the \fBpcn\fR controller as assigned by the
 operating environment\.
 .sp
 .LP
@@ -58,7 +58,7 @@
 .TP
 .ie t \(bu
 .el o
-Minimum SDU is 0\. 
+Minimum SDU is 0\.
 .RE
 .RS +4
 .TP
@@ -76,7 +76,7 @@
 .TP
 .ie t \(bu
 .el o
-SAP length is \-2\. The 6\-byte physical address is immediately followed by a 
+SAP length is \-2\. The 6\-byte physical address is immediately followed by a
 2\-byte SAP\.
 .RE
 .RS +4
@@ -89,7 +89,7 @@
 .TP
 .ie t \(bu
 .el o
-The broadcast address is the 6\-byte Ethernet broadcast address 
+The broadcast address is the 6\-byte Ethernet broadcast address
 (\fBff:ff:ff:ff:ff:ff\fR)\.
 .SH "CONFIGURATION"
 .sp
--- old/usr/src/man/man9f/ddi_dmae.9f	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man9f/ddi_dmae.9f	Thu Jul 17 00:50:42 2014
@@ -133,7 +133,7 @@
 \fB\fIcookiep\fR\fR
 .ad
 .RS 12n
-A pointer to a \fBddi_dma_cookie\fR(9S) object, 
+A pointer to a \fBddi_dma_cookie\fR(9S) object,
 which contains the address and count.
 .RE
 
--- old/usr/src/man/man9f/rwlock.9f	Thu Jul 17 00:50:42 2014
+++ new/usr/src/man/man9f/rwlock.9f	Thu Jul 17 00:50:42 2014
@@ -140,7 +140,7 @@
 .sp
 .LP
 The \fBrw_enter()\fR function acquires the lock, and blocks if necessary. If
-\fIenter_type\fR is \fBRW_WRITER\fR, the caller blocks if any thread holds 
+\fIenter_type\fR is \fBRW_WRITER\fR, the caller blocks if any thread holds
 the lock. If \fIenter_type\fR is \fBRW_READER\fR, the caller blocks if there
 is a writer or a thread attempting to enter for writing. If \fIenter_type\fR
 is \fBRW_READER_STARVEWRITER\fR, the caller blocks only if there is a writer;
--- old/usr/src/man/man9f/scsi_hba_attach_setup.9f	Thu Jul 17 00:50:43 2014
+++ new/usr/src/man/man9f/scsi_hba_attach_setup.9f	Thu Jul 17 00:50:43 2014
@@ -259,7 +259,7 @@
 .SS "scsi_hba_detach(\|)"
 .sp
 .LP
-The \fBscsi_hba_detach()\fR function removes the reference to the DMA 
+The \fBscsi_hba_detach()\fR function removes the reference to the DMA
 attributes structure and the transport vector for the given instance of an HBA
 driver.
 .SH RETURN VALUES
--- old/usr/src/tools/onbld/Checks/Makefile	Thu Jul 17 00:50:43 2014
+++ new/usr/src/tools/onbld/Checks/Makefile	Thu Jul 17 00:50:43 2014
@@ -24,6 +24,7 @@
 #
 
 # Copyright 2010, Richard Lowe
+# Copyright 2014 Garrett D'Amore <garrett@damore.org>
 
 include $(SRC)/Makefile.master
 include ../../Makefile.tools
@@ -38,6 +39,7 @@
 	HdrChk.py	\
 	JStyle.py	\
 	Keywords.py	\
+	ManLint.py	\
 	Mapfile.py	\
 	ProcessCheck.py \
 	__init__.py
--- /dev/null	Thu Jul 17 00:50:43 2014
+++ new/usr/src/tools/onbld/Checks/ManLint.py	Thu Jul 17 00:50:43 2014
@@ -0,0 +1,57 @@
+#
+# 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
+#
+
+#
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# Copyright 2014 Garrett D'Amore <garrett@damore.org>
+#
+
+#
+# ManLint, wrap the mandoc lint tool in a pythonic API
+#
+
+import sys
+from onbld.Checks.ProcessCheck import processcheck
+
+def manlint(fh, filename=None, output=sys.stderr, **opts):
+	opttrans = { 'picky': None }
+
+	for x in filter(lambda x: x not in opttrans, opts):
+		raise TypeError('mandoc() got an unexpected keyword '
+				'argument %s' % x)
+
+	options = [opttrans[x] for x in opts if opts[x] and opttrans[x]]
+	options.append('-Tlint')
+
+	if not filename:
+		filename = fh.name
+
+	ret, tmpfile = processcheck('mandoc', options, fh, output)
+
+	if tmpfile:
+		for line in tmpfile:
+			line = line.replace('<stdin>', filename)
+			output.write(line)
+
+		tmpfile.close()
+	return ret
--- old/usr/src/tools/onbld/Checks/__init__.py	Thu Jul 17 00:50:43 2014
+++ new/usr/src/tools/onbld/Checks/__init__.py	Thu Jul 17 00:50:43 2014
@@ -26,6 +26,7 @@
 #
 
 # Copyright 2010, Richard Lowe
+# Copyright 2014 Garrett D'Amore <garrett@damore.org>
 
 #
 # The 'checks' package contains various checks that may be run
@@ -39,4 +40,5 @@
 	'HdrChk',
 	'JStyle',
 	'Keywords',
+	'ManLint',
 	'Mapfile']
--- old/usr/src/tools/onbld/hgext/cdm.py	Thu Jul 17 00:50:43 2014
+++ new/usr/src/tools/onbld/hgext/cdm.py	Thu Jul 17 00:50:43 2014
@@ -16,6 +16,7 @@
 #
 # Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
 # Copyright 2008, 2011 Richard Lowe
+# Copyright 2014 Garrett D'Amore <garrett@damore.org>
 #
 
 '''OpenSolaris extensions to Mercurial
@@ -104,7 +105,7 @@
 from onbld.Scm.WorkSpace import WorkSpace, WorkList
 from onbld.Scm.Backup import CdmBackup
 from onbld.Checks import Cddl, Comments, Copyright, CStyle, HdrChk
-from onbld.Checks import JStyle, Keywords, Mapfile
+from onbld.Checks import JStyle, Keywords, ManLint, Mapfile
 
 
 def yes_no(ui, msg, default):
@@ -390,6 +391,40 @@
     return ret
 
 
+def cdm_manlintchk(ui, repo, *args, **opts):
+    '''check for mandoc lint
+
+    Check for man page formatting errors.
+
+    Files can be excluded from this check using the manlint.NOT
+    file.  See NOT Files in the extension documentation ('hg help
+    cdm').
+    '''
+
+    filelist = buildfilelist(wslist[repo], opts.get('parent'), args)
+    exclude = not_check(repo, 'manlint')
+    ret = 0
+
+    # Man pages are identified as having a suffix starting with a digit.
+    ManfileRE = re.compile(r'.*\.[0-9][a-z]*$', re.IGNORECASE)
+
+    ui.write('Man format check:\n')
+
+    for f, e in filelist:
+        if e and e.is_removed():
+            continue
+        elif (not ManfileRE.match(f)):
+            continue
+        elif (e or opts.get('honour_nots')) and exclude(f):
+            ui.status('Skipping %s...\n' % f)
+            continue
+
+        fh = open(f, 'r')
+        ret |= ManLint.manlint(fh, output=ui, picky=True)
+        fh.close()
+    return ret
+
+
 def cdm_mapfilechk(ui, repo, *args, **opts):
     '''check for a valid mapfile header block in active files
 
@@ -794,6 +829,7 @@
       - cstyle     (C source style)
       - hdrchk     (C header style)
       - jstyle     (java source style)
+      - manlint    (man page formatting)
       - mapfilechk (link-editor mapfiles)
       - permchk    (file permissions)
       - keywords   (SCCS keywords)
@@ -806,6 +842,7 @@
         cdm_cstyle,
         cdm_hdrchk,
         cdm_jstyle,
+        cmd_manlintchk,
         cdm_mapfilechk,
         cdm_permchk,
         cdm_keywords]
@@ -828,6 +865,7 @@
       - hdrchk     (C header style)
       - jstyle     (java source style)
       - keywords   (SCCS keywords)
+      - manlint    (man page formatting)
       - mapfilechk (link-editor mapfiles)
       - permchk    (file permissions)
       - tagchk     (addition/modification of tags)
@@ -848,6 +886,7 @@
         cdm_cstyle,
         cdm_hdrchk,
         cdm_jstyle,
+        cdm_manlintchk,
         cdm_mapfilechk,
         cdm_permchk,
         cdm_keywords,
@@ -1431,6 +1470,8 @@
                                 ('m', 'modified', None, 'show modified files'),
                                 ('r', 'removed', None, 'show removed files')],
                     'hg list [-amrRu] [-p PARENT]'),
+    'manlint': (cdm_manlintchk, [('p', 'parent', '', 'parent workspace')],
+                'hg manlint [-p PARENT]'),
     'mapfilechk': (cdm_mapfilechk, [('p', 'parent', '', 'parent workspace')],
                 'hg mapfilechk [-p PARENT]'),
     '^nits': (cdm_nits, [('p', 'parent', '', 'parent workspace')],
--- old/usr/src/tools/scripts/git-pbchk.py	Thu Jul 17 00:50:43 2014
+++ new/usr/src/tools/scripts/git-pbchk.py	Thu Jul 17 00:50:43 2014
@@ -17,6 +17,7 @@
 #
 # Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
 # Copyright 2008, 2012 Richard Lowe
+# Copyright 2014 Garrett D'Amore <garrett@damore.org>
 #
 
 import getopt
@@ -48,7 +49,7 @@
 sys.path.insert(2, os.path.join(os.path.dirname(__file__), ".."))
 
 from onbld.Checks import Comments, Copyright, CStyle, HdrChk
-from onbld.Checks import JStyle, Keywords, Mapfile
+from onbld.Checks import JStyle, Keywords, ManLint, Mapfile
 
 
 class GitError(Exception):
@@ -282,6 +283,16 @@
     return ret
 
 
+def manlint(root, parent, flist, output):
+    ret = 0
+    output.write("Man page format:\n")
+    ManfileRE = re.compile(r'.*\.[0-9][a-z]*$', re.IGNORECASE)
+    for f in flist(lambda x: ManfileRE.match(x)):
+        fh = open(f, 'r')
+        ret |= ManLint.manlint(fh, output=output, picky=True)
+	fh.close()
+    return ret
+
 def keywords(root, parent, flist, output):
     ret = 0
     output.write("SCCS Keywords:\n")
@@ -323,6 +334,7 @@
             hdrchk,
             jstyle,
             keywords,
+	    manlint,
             mapfilechk]
     run_checks(root, parent, cmds, paths)
 
@@ -334,6 +346,7 @@
             hdrchk,
             jstyle,
             keywords,
+	    manlint,
             mapfilechk]
     run_checks(root, parent, cmds)
 
