svn commit: r208027 - in head: lib/libarchive lib/libc/gen lib/libc/stdio lib/libc/stdlib lib/libc/string lib/libc/sys lib/libpmc lib/msun/man sbin/fsirand sbin/mksnap_ffs sbin/mount sbin/mount_msd...

Ulrich Spoerlein uqs at FreeBSD.org
Thu May 13 12:07:56 UTC 2010


Author: uqs
Date: Thu May 13 12:07:55 2010
New Revision: 208027
URL: http://svn.freebsd.org/changeset/base/208027

Log:
  mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the
  bottom of the manpages and order them consistently.
  
  GNU groff doesn't care about the ordering, and doesn't even mention
  CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put
  them.
  
  Found by:	mdocml lint run
  Reviewed by:	ru

Modified:
  head/lib/libarchive/cpio.5
  head/lib/libc/gen/fmtcheck.3
  head/lib/libc/stdio/fgets.3
  head/lib/libc/stdio/printf.3
  head/lib/libc/stdio/tmpnam.3
  head/lib/libc/stdio/wprintf.3
  head/lib/libc/stdlib/realpath.3
  head/lib/libc/string/strcat.3
  head/lib/libc/string/strcpy.3
  head/lib/libc/sys/access.2
  head/lib/libc/sys/execve.2
  head/lib/libc/sys/setuid.2
  head/lib/libpmc/pmc.mips.3
  head/lib/libpmc/pmc.xscale.3
  head/lib/msun/man/fenv.3
  head/sbin/fsirand/fsirand.8
  head/sbin/mksnap_ffs/mksnap_ffs.8
  head/sbin/mount/mount.8
  head/sbin/mount_msdosfs/mount_msdosfs.8
  head/sbin/mount_ntfs/mount_ntfs.8
  head/sbin/mount_reiserfs/mount_reiserfs.8
  head/sbin/mount_std/mount_std.8
  head/sbin/rcorder/rcorder.8
  head/share/man/man4/ae.4
  head/share/man/man4/ahb.4
  head/share/man/man4/amdtemp.4
  head/share/man/man4/ataraid.4
  head/share/man/man4/cpuctl.4
  head/share/man/man4/ed.4
  head/share/man/man4/ef.4
  head/share/man/man4/en.4
  head/share/man/man4/fpa.4
  head/share/man/man4/geom_fox.4
  head/share/man/man4/harp.4
  head/share/man/man4/hatm.4
  head/share/man/man4/hifn.4
  head/share/man/man4/hwpmc.4
  head/share/man/man4/inet.4
  head/share/man/man4/kbdmux.4
  head/share/man/man4/ksyms.4
  head/share/man/man4/man4.i386/cs.4
  head/share/man/man4/man4.i386/ie.4
  head/share/man/man4/man4.i386/mse.4
  head/share/man/man4/man4.i386/pnp.4
  head/share/man/man4/man4.i386/pnpbios.4
  head/share/man/man4/man4.i386/vx.4
  head/share/man/man4/man4.i386/wl.4
  head/share/man/man4/man4.powerpc/snd_ai2s.4
  head/share/man/man4/man4.powerpc/snd_davbus.4
  head/share/man/man4/man4.sparc64/clkbrd.4
  head/share/man/man4/man4.sparc64/creator.4
  head/share/man/man4/man4.sparc64/machfb.4
  head/share/man/man4/man4.sparc64/ofw_console.4
  head/share/man/man4/man4.sparc64/openfirm.4
  head/share/man/man4/man4.sparc64/openprom.4
  head/share/man/man4/natm.4
  head/share/man/man4/nve.4
  head/share/man/man4/patm.4
  head/share/man/man4/psm.4
  head/share/man/man4/splash.4
  head/share/man/man4/syscons.4
  head/share/man/man4/twa.4   (contents, props changed)
  head/share/man/man4/ucom.4
  head/share/man/man4/vkbd.4
  head/share/man/man4/wpi.4
  head/share/man/man5/make.conf.5
  head/share/man/man5/reiserfs.5
  head/share/man/man5/xfs.5
  head/share/man/man9/fail.9
  head/share/man/man9/mbpool.9
  head/sys/boot/forth/loader.conf.5
  head/tools/tools/vimage/vimage.8
  head/usr.bin/bsdiff/bsdiff/bsdiff.1
  head/usr.bin/bsdiff/bspatch/bspatch.1
  head/usr.sbin/adduser/adduser.conf.5
  head/usr.sbin/bluetooth/bthidd/bthidd.8
  head/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8
  head/usr.sbin/cpucontrol/cpucontrol.8
  head/usr.sbin/crunch/crunchgen/crunchgen.1
  head/usr.sbin/mount_portalfs/mount_portalfs.8
  head/usr.sbin/moused/moused.8
  head/usr.sbin/mtree/mtree.5
  head/usr.sbin/rtprio/rtprio.1

Modified: head/lib/libarchive/cpio.5
==============================================================================
--- head/lib/libarchive/cpio.5	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libarchive/cpio.5	Thu May 13 12:07:55 2010	(r208027)
@@ -268,31 +268,6 @@ data, including ACLs and extended attrib
 entries in cpio archives.
 .Pp
 XXX Others? XXX
-.Sh BUGS
-The
-.Dq CRC
-format is mis-named, as it uses a simple checksum and
-not a cyclic redundancy check.
-.Pp
-The old binary format is limited to 16 bits for user id,
-group id, device, and inode numbers.
-It is limited to 4 gigabyte file sizes.
-.Pp
-The old ASCII format is limited to 18 bits for
-the user id, group id, device, and inode numbers.
-It is limited to 8 gigabyte file sizes.
-.Pp
-The new ASCII format is limited to 4 gigabyte file sizes.
-.Pp
-None of the cpio formats store user or group names,
-which are essential when moving files between systems with
-dissimilar user or group numbering.
-.Pp
-Especially when writing older cpio variants, it may be necessary
-to map actual device/inode values to synthesized values that
-fit the available fields.
-With very large filesystems, this may be necessary even for
-the newer formats.
 .Sh SEE ALSO
 .Xr cpio 1 ,
 .Xr tar 5
@@ -323,3 +298,28 @@ license.
 The character format was adopted as part of
 .St -p1003.1-88 .
 XXX when did "newc" appear?  Who invented it?  When did HP come out with their variant?  When did Sun introduce ACLs and extended attributes? XXX
+.Sh BUGS
+The
+.Dq CRC
+format is mis-named, as it uses a simple checksum and
+not a cyclic redundancy check.
+.Pp
+The old binary format is limited to 16 bits for user id,
+group id, device, and inode numbers.
+It is limited to 4 gigabyte file sizes.
+.Pp
+The old ASCII format is limited to 18 bits for
+the user id, group id, device, and inode numbers.
+It is limited to 8 gigabyte file sizes.
+.Pp
+The new ASCII format is limited to 4 gigabyte file sizes.
+.Pp
+None of the cpio formats store user or group names,
+which are essential when moving files between systems with
+dissimilar user or group numbering.
+.Pp
+Especially when writing older cpio variants, it may be necessary
+to map actual device/inode values to synthesized values that
+fit the available fields.
+With very large filesystems, this may be necessary even for
+the newer formats.

Modified: head/lib/libc/gen/fmtcheck.3
==============================================================================
--- head/lib/libc/gen/fmtcheck.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/gen/fmtcheck.3	Thu May 13 12:07:55 2010	(r208027)
@@ -87,6 +87,12 @@ will return
 .Fa fmt_suspect .
 Otherwise, it will return
 .Fa fmt_default .
+.Sh SEE ALSO
+.Xr printf 3
+.Sh BUGS
+The
+.Fn fmtcheck
+function does not recognize positional parameters.
 .Sh SECURITY CONSIDERATIONS
 Note that the formats may be quite different as long as they accept the
 same arguments.
@@ -100,9 +106,3 @@ is not equivalent to
 .Qq Li %lx
 because
 the first requires an integer and the second requires a long.
-.Sh SEE ALSO
-.Xr printf 3
-.Sh BUGS
-The
-.Fn fmtcheck
-function does not recognize positional parameters.

Modified: head/lib/libc/stdio/fgets.3
==============================================================================
--- head/lib/libc/stdio/fgets.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/stdio/fgets.3	Thu May 13 12:07:55 2010	(r208027)
@@ -128,6 +128,19 @@ may also fail and set
 .Va errno
 for any of the errors specified for the routine
 .Xr getchar 3 .
+.Sh SEE ALSO
+.Xr feof 3 ,
+.Xr ferror 3 ,
+.Xr fgetln 3 ,
+.Xr fgetws 3 ,
+.Xr getline 3
+.Sh STANDARDS
+The functions
+.Fn fgets
+and
+.Fn gets
+conform to
+.St -isoC-99 .
 .Sh SECURITY CONSIDERATIONS
 The
 .Fn gets
@@ -143,16 +156,3 @@ It is strongly suggested that the
 function be used in all cases.
 (See
 the FSA.)
-.Sh SEE ALSO
-.Xr feof 3 ,
-.Xr ferror 3 ,
-.Xr fgetln 3 ,
-.Xr fgetws 3 ,
-.Xr getline 3
-.Sh STANDARDS
-The functions
-.Fn fgets
-and
-.Fn gets
-conform to
-.St -isoC-99 .

Modified: head/lib/libc/stdio/printf.3
==============================================================================
--- head/lib/libc/stdio/printf.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/stdio/printf.3	Thu May 13 12:07:55 2010	(r208027)
@@ -709,77 +709,6 @@ char *newfmt(const char *fmt, ...)
 	return (p);
 }
 .Ed
-.Sh SECURITY CONSIDERATIONS
-The
-.Fn sprintf
-and
-.Fn vsprintf
-functions are easily misused in a manner which enables malicious users
-to arbitrarily change a running program's functionality through
-a buffer overflow attack.
-Because
-.Fn sprintf
-and
-.Fn vsprintf
-assume an infinitely long string,
-callers must be careful not to overflow the actual space;
-this is often hard to assure.
-For safety, programmers should use the
-.Fn snprintf
-interface instead.
-For example:
-.Bd -literal
-void
-foo(const char *arbitrary_string, const char *and_another)
-{
-	char onstack[8];
-
-#ifdef BAD
-	/*
-	 * This first sprintf is bad behavior.  Do not use sprintf!
-	 */
-	sprintf(onstack, "%s, %s", arbitrary_string, and_another);
-#else
-	/*
-	 * The following two lines demonstrate better use of
-	 * snprintf().
-	 */
-	snprintf(onstack, sizeof(onstack), "%s, %s", arbitrary_string,
-	    and_another);
-#endif
-}
-.Ed
-.Pp
-The
-.Fn printf
-and
-.Fn sprintf
-family of functions are also easily misused in a manner
-allowing malicious users to arbitrarily change a running program's
-functionality by either causing the program
-to print potentially sensitive data
-.Dq "left on the stack" ,
-or causing it to generate a memory fault or bus error
-by dereferencing an invalid pointer.
-.Pp
-.Cm %n
-can be used to write arbitrary data to potentially carefully-selected
-addresses.
-Programmers are therefore strongly advised to never pass untrusted strings
-as the
-.Fa format
-argument, as an attacker can put format specifiers in the string
-to mangle your stack,
-leading to a possible security hole.
-This holds true even if the string was built using a function like
-.Fn snprintf ,
-as the resulting string may still contain user-supplied conversion specifiers
-for later interpolation by
-.Fn printf .
-.Pp
-Always use the proper secure idiom:
-.Pp
-.Dl "snprintf(buffer, sizeof(buffer), \*q%s\*q, string);"
 .Sh COMPATIBILITY
 Many application writers used the name
 .Va dprintf
@@ -906,3 +835,74 @@ The
 family of functions do not correctly handle multibyte characters in the
 .Fa format
 argument.
+.Sh SECURITY CONSIDERATIONS
+The
+.Fn sprintf
+and
+.Fn vsprintf
+functions are easily misused in a manner which enables malicious users
+to arbitrarily change a running program's functionality through
+a buffer overflow attack.
+Because
+.Fn sprintf
+and
+.Fn vsprintf
+assume an infinitely long string,
+callers must be careful not to overflow the actual space;
+this is often hard to assure.
+For safety, programmers should use the
+.Fn snprintf
+interface instead.
+For example:
+.Bd -literal
+void
+foo(const char *arbitrary_string, const char *and_another)
+{
+	char onstack[8];
+
+#ifdef BAD
+	/*
+	 * This first sprintf is bad behavior.  Do not use sprintf!
+	 */
+	sprintf(onstack, "%s, %s", arbitrary_string, and_another);
+#else
+	/*
+	 * The following two lines demonstrate better use of
+	 * snprintf().
+	 */
+	snprintf(onstack, sizeof(onstack), "%s, %s", arbitrary_string,
+	    and_another);
+#endif
+}
+.Ed
+.Pp
+The
+.Fn printf
+and
+.Fn sprintf
+family of functions are also easily misused in a manner
+allowing malicious users to arbitrarily change a running program's
+functionality by either causing the program
+to print potentially sensitive data
+.Dq "left on the stack" ,
+or causing it to generate a memory fault or bus error
+by dereferencing an invalid pointer.
+.Pp
+.Cm %n
+can be used to write arbitrary data to potentially carefully-selected
+addresses.
+Programmers are therefore strongly advised to never pass untrusted strings
+as the
+.Fa format
+argument, as an attacker can put format specifiers in the string
+to mangle your stack,
+leading to a possible security hole.
+This holds true even if the string was built using a function like
+.Fn snprintf ,
+as the resulting string may still contain user-supplied conversion specifiers
+for later interpolation by
+.Fn printf .
+.Pp
+Always use the proper secure idiom:
+.Pp
+.Dl "snprintf(buffer, sizeof(buffer), \*q%s\*q, string);"

Modified: head/lib/libc/stdio/tmpnam.3
==============================================================================
--- head/lib/libc/stdio/tmpnam.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/stdio/tmpnam.3	Thu May 13 12:07:55 2010	(r208027)
@@ -217,6 +217,17 @@ for any of the errors specified for the 
 .Xr malloc 3
 or
 .Xr mktemp 3 .
+.Sh SEE ALSO
+.Xr mkstemp 3 ,
+.Xr mktemp 3
+.Sh STANDARDS
+The
+.Fn tmpfile
+and
+.Fn tmpnam
+functions
+conform to
+.St -isoC .
 .Sh SECURITY CONSIDERATIONS
 The
 .Fn tmpnam
@@ -235,14 +246,3 @@ It is strongly suggested that
 be used in place of these functions.
 (See
 the FSA.)
-.Sh SEE ALSO
-.Xr mkstemp 3 ,
-.Xr mktemp 3
-.Sh STANDARDS
-The
-.Fn tmpfile
-and
-.Fn tmpnam
-functions
-conform to
-.St -isoC .

Modified: head/lib/libc/stdio/wprintf.3
==============================================================================
--- head/lib/libc/stdio/wprintf.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/stdio/wprintf.3	Thu May 13 12:07:55 2010	(r208027)
@@ -588,9 +588,6 @@ In no case does a non-existent or small 
 a numeric field; if the result of a conversion is wider than the field
 width, the
 field is expanded to contain the conversion result.
-.Sh SECURITY CONSIDERATIONS
-Refer to
-.Xr printf 3 .
 .Sh SEE ALSO
 .Xr btowc 3 ,
 .Xr fputws 3 ,
@@ -616,3 +613,6 @@ and
 functions
 conform to
 .St -isoC-99 .
+.Sh SECURITY CONSIDERATIONS
+Refer to
+.Xr printf 3 .

Modified: head/lib/libc/stdlib/realpath.3
==============================================================================
--- head/lib/libc/stdlib/realpath.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/stdlib/realpath.3	Thu May 13 12:07:55 2010	(r208027)
@@ -109,6 +109,18 @@ for any of the errors specified for the 
 .Xr readlink 2
 and
 .Xr getcwd 3 .
+.Sh SEE ALSO
+.Xr getcwd 3
+.Sh STANDARDS
+The
+.Fn realpath
+function conforms to
+.St -p1003.1-2001 .
+.Sh HISTORY
+The
+.Fn realpath
+function first appeared in
+.Bx 4.4 .
 .Sh CAVEATS
 This implementation of
 .Fn realpath
@@ -121,15 +133,3 @@ under certain circumstances, return a re
 .Fa resolved_path
 when given a relative
 .Fa pathname .
-.Sh "SEE ALSO"
-.Xr getcwd 3
-.Sh STANDARDS
-The
-.Fn realpath
-function conforms to
-.St -p1003.1-2001 .
-.Sh HISTORY
-The
-.Fn realpath
-function first appeared in
-.Bx 4.4 .

Modified: head/lib/libc/string/strcat.3
==============================================================================
--- head/lib/libc/string/strcat.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/string/strcat.3	Thu May 13 12:07:55 2010	(r208027)
@@ -80,6 +80,23 @@ and
 functions
 return the pointer
 .Fa s .
+.Sh SEE ALSO
+.Xr bcopy 3 ,
+.Xr memccpy 3 ,
+.Xr memcpy 3 ,
+.Xr memmove 3 ,
+.Xr strcpy 3 ,
+.Xr strlcat 3 ,
+.Xr strlcpy 3 ,
+.Xr wcscat 3
+.Sh STANDARDS
+The
+.Fn strcat
+and
+.Fn strncat
+functions
+conform to
+.St -isoC .
 .Sh SECURITY CONSIDERATIONS
 The
 .Fn strcat
@@ -138,20 +155,3 @@ foo(const char *arbitrary_string)
 #endif
 }
 .Ed
-.Sh SEE ALSO
-.Xr bcopy 3 ,
-.Xr memccpy 3 ,
-.Xr memcpy 3 ,
-.Xr memmove 3 ,
-.Xr strcpy 3 ,
-.Xr strlcat 3 ,
-.Xr strlcpy 3 ,
-.Xr wcscat 3
-.Sh STANDARDS
-The
-.Fn strcat
-and
-.Fn strncat
-functions
-conform to
-.St -isoC .

Modified: head/lib/libc/string/strcpy.3
==============================================================================
--- head/lib/libc/string/strcpy.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/string/strcpy.3	Thu May 13 12:07:55 2010	(r208027)
@@ -174,16 +174,6 @@ Note that because
 .Xr strlcpy 3
 is not defined in any standards, it should
 only be used when portability is not a concern.
-.Sh SECURITY CONSIDERATIONS
-The
-.Fn strcpy
-function is easily misused in a manner which enables malicious users
-to arbitrarily change a running program's functionality through a
-buffer overflow attack.
-(See
-the FSA
-and
-.Sx EXAMPLES . )
 .Sh SEE ALSO
 .Xr bcopy 3 ,
 .Xr memccpy 3 ,
@@ -214,3 +204,13 @@ and
 .Fn stpncpy
 was added in
 .Fx 8.0 .
+.Sh SECURITY CONSIDERATIONS
+The
+.Fn strcpy
+function is easily misused in a manner which enables malicious users
+to arbitrarily change a running program's functionality through a
+buffer overflow attack.
+(See
+the FSA
+and
+.Sx EXAMPLES . )

Modified: head/lib/libc/sys/access.2
==============================================================================
--- head/lib/libc/sys/access.2	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/sys/access.2	Thu May 13 12:07:55 2010	(r208027)
@@ -188,6 +188,27 @@ is neither
 .Dv AT_FDCWD
 nor a file descriptor associated with a directory.
 .El
+.Sh SEE ALSO
+.Xr chmod 2 ,
+.Xr intro 2 ,
+.Xr stat 2
+.Sh STANDARDS
+The
+.Fn access
+system call is expected to conform to
+.St -p1003.1-90 .
+The
+.Fn faccessat
+system call follows The Open Group Extended API Set 2 specification.
+.Sh HISTORY
+The
+.Fn access
+function appeared in
+.At v7 .
+The
+.Fn faccessat
+system call appeared in
+.Fx 8.0 .
 .Sh SECURITY CONSIDERATIONS
 The
 .Fn access
@@ -212,24 +233,3 @@ of the st_mode bits that the application
 e.g. in the case of AFS).
 It also allows a cheaper file existence test than
 .Xr stat 2 .
-.Sh SEE ALSO
-.Xr chmod 2 ,
-.Xr intro 2 ,
-.Xr stat 2
-.Sh STANDARDS
-The
-.Fn access
-system call is expected to conform to
-.St -p1003.1-90 .
-The
-.Fn faccessat
-system call follows The Open Group Extended API Set 2 specification.
-.Sh HISTORY
-The
-.Fn access
-function appeared in
-.At v7 .
-The
-.Fn faccessat
-system call appeared in
-.Fx 8.0 .

Modified: head/lib/libc/sys/execve.2
==============================================================================
--- head/lib/libc/sys/execve.2	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/sys/execve.2	Thu May 13 12:07:55 2010	(r208027)
@@ -313,30 +313,6 @@ The
 .Fa fd
 argument is not a valid file descriptor open for executing.
 .El
-.Sh CAVEATS
-If a program is
-.Em setuid
-to a non-super-user, but is executed when
-the real
-.Em uid
-is ``root'', then the program has some of the powers
-of a super-user as well.
-.Pp
-When executing an interpreted program through
-.Fn fexecve ,
-kernel supplies
-.Pa /dev/fd/n
-as a second argument to the interpreter,
-where
-.Ar n
-is the file descriptor passed in the
-.Fa fd
-argument to
-.Fn fexecve .
-For this construction to work correctly, the
-.Xr fdescfs 5
-filesystem shall be mounted on
-.Pa /dev/fd .
 .Sh SEE ALSO
 .Xr ktrace 1 ,
 .Xr _exit 2 ,
@@ -373,3 +349,27 @@ The
 .Fn fexecve
 system call appeared in
 .Fx 8.0 .
+.Sh CAVEATS
+If a program is
+.Em setuid
+to a non-super-user, but is executed when
+the real
+.Em uid
+is ``root'', then the program has some of the powers
+of a super-user as well.
+.Pp
+When executing an interpreted program through
+.Fn fexecve ,
+kernel supplies
+.Pa /dev/fd/n
+as a second argument to the interpreter,
+where
+.Ar n
+is the file descriptor passed in the
+.Fa fd
+argument to
+.Fn fexecve .
+For this construction to work correctly, the
+.Xr fdescfs 5
+filesystem shall be mounted on
+.Pa /dev/fd .

Modified: head/lib/libc/sys/setuid.2
==============================================================================
--- head/lib/libc/sys/setuid.2	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libc/sys/setuid.2	Thu May 13 12:07:55 2010	(r208027)
@@ -124,39 +124,6 @@ The system calls will fail if:
 The user is not the super user and the ID
 specified is not the real, effective ID, or saved ID.
 .El
-.Sh SECURITY CONSIDERATIONS
-Read and write permissions to files are determined upon a call to
-.Xr open 2 .
-Once a file descriptor is open, dropping privilege does not affect
-the process's read/write permissions, even if the user ID specified
-has no read or write permissions to the file.
-These files normally remain open in any new process executed,
-resulting in a user being able to read or modify
-potentially sensitive data.
-.Pp
-To prevent these files from remaining open after an
-.Xr exec 3
-call, be sure to set the close-on-exec flag is set:
-.Bd -literal
-void
-pseudocode(void)
-{
-	int fd;
-	/* ... */
-
-	fd = open("/path/to/sensitive/data", O_RDWR);
-	if (fd == -1)
-		err(1, "open");
-
-	/*
-	 * Set close-on-exec flag; see fcntl(2) for more information.
-	 */
-	if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1)
-		err(1, "fcntl(F_SETFD)");
-	/* ... */
-	execve(path, argv, environ);
-}
-.Ed
 .Sh SEE ALSO
 .Xr getgid 2 ,
 .Xr getuid 2 ,
@@ -191,3 +158,36 @@ and
 .Fn setgid
 functions appeared in
 .At v7 .
+.Sh SECURITY CONSIDERATIONS
+Read and write permissions to files are determined upon a call to
+.Xr open 2 .
+Once a file descriptor is open, dropping privilege does not affect
+the process's read/write permissions, even if the user ID specified
+has no read or write permissions to the file.
+These files normally remain open in any new process executed,
+resulting in a user being able to read or modify
+potentially sensitive data.
+.Pp
+To prevent these files from remaining open after an
+.Xr exec 3
+call, be sure to set the close-on-exec flag is set:
+.Bd -literal
+void
+pseudocode(void)
+{
+	int fd;
+	/* ... */
+
+	fd = open("/path/to/sensitive/data", O_RDWR);
+	if (fd == -1)
+		err(1, "open");
+
+	/*
+	 * Set close-on-exec flag; see fcntl(2) for more information.
+	 */
+	if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1)
+		err(1, "fcntl(F_SETFD)");
+	/* ... */
+	execve(path, argv, environ);
+}
+.Ed

Modified: head/lib/libpmc/pmc.mips.3
==============================================================================
--- head/lib/libpmc/pmc.mips.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libpmc/pmc.mips.3	Thu May 13 12:07:55 2010	(r208027)
@@ -392,8 +392,6 @@ and the underlying hardware events used.
 .Xr pmc_cpuinfo 3 ,
 .Xr pmclog 3 ,
 .Xr hwpmc 4
-.Sh CAVEATS
-The MIPS code does not yet support sampling.
 .Sh HISTORY
 The
 .Nm pmc
@@ -408,3 +406,5 @@ library was written by
 MIPS support was added by
 .An "George Neville-Neil"
 .Aq gnn at FreeBSD.org .
+.Sh CAVEATS
+The MIPS code does not yet support sampling.

Modified: head/lib/libpmc/pmc.xscale.3
==============================================================================
--- head/lib/libpmc/pmc.xscale.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/libpmc/pmc.xscale.3	Thu May 13 12:07:55 2010	(r208027)
@@ -135,8 +135,6 @@ and the underlying hardware events used.
 .Xr pmc_cpuinfo 3 ,
 .Xr pmclog 3 ,
 .Xr hwpmc 4
-.Sh CAVEATS
-The Intel XScale code does not yet support sampling.
 .Sh HISTORY
 The
 .Nm pmc
@@ -154,3 +152,5 @@ library was written by
 Intel XScale support was added by
 .An "Rui Paulo"
 .Aq rpaulo at FreeBSD.org .
+.Sh CAVEATS
+The Intel XScale code does not yet support sampling.

Modified: head/lib/msun/man/fenv.3
==============================================================================
--- head/lib/msun/man/fenv.3	Thu May 13 09:59:10 2010	(r208026)
+++ head/lib/msun/man/fenv.3	Thu May 13 12:07:55 2010	(r208027)
@@ -196,18 +196,6 @@ environment.
 The macro
 .Dv FE_DFL_ENV
 expands to a pointer to the default environment.
-.Sh CAVEATS
-The FENV_ACCESS pragma can be enabled with
-.Dl "#pragma STDC FENV_ACCESS ON"
-and disabled with the
-.Dl "#pragma STDC FENV_ACCESS OFF"
-directive.
-This lexically-scoped annotation tells the compiler that the program
-may access the floating-point environment, so optimizations that would
-violate strict IEEE-754 semantics are disabled.
-If execution reaches a block of code for which
-.Dv FENV_ACCESS
-is off, the floating-point environment will become undefined.
 .Sh EXAMPLES
 The following routine computes the square root function.
 It explicitly raises an invalid exception on appropriate inputs using
@@ -274,6 +262,18 @@ It supersedes the non-standard routines 
 .In ieeefp.h
 and documented in
 .Xr fpgetround 3 .
+.Sh CAVEATS
+The FENV_ACCESS pragma can be enabled with
+.Dl "#pragma STDC FENV_ACCESS ON"
+and disabled with the
+.Dl "#pragma STDC FENV_ACCESS OFF"
+directive.
+This lexically-scoped annotation tells the compiler that the program
+may access the floating-point environment, so optimizations that would
+violate strict IEEE-754 semantics are disabled.
+If execution reaches a block of code for which
+.Dv FENV_ACCESS
+is off, the floating-point environment will become undefined.
 .Sh BUGS
 The
 .Dv FENV_ACCESS

Modified: head/sbin/fsirand/fsirand.8
==============================================================================
--- head/sbin/fsirand/fsirand.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/fsirand/fsirand.8	Thu May 13 12:07:55 2010	(r208027)
@@ -88,12 +88,6 @@ is not marked as clean.
 Print the current generation numbers for all inodes instead of
 generating new ones.
 .El
-.Sh CAVEATS
-Since
-.Nm
-allocates enough memory to hold all the inodes in
-a given cylinder group it may use a large amount
-of memory for large disks with few cylinder groups.
 .Sh SEE ALSO
 .Xr fs 5 ,
 .Xr fsck 8 ,
@@ -114,3 +108,9 @@ version first appeared in
 .Fx 2.2.5 .
 .Sh AUTHORS
 .An Todd C. Miller Aq Todd.Miller at courtesan.com
+.Sh CAVEATS
+Since
+.Nm
+allocates enough memory to hold all the inodes in
+a given cylinder group it may use a large amount
+of memory for large disks with few cylinder groups.

Modified: head/sbin/mksnap_ffs/mksnap_ffs.8
==============================================================================
--- head/sbin/mksnap_ffs/mksnap_ffs.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/mksnap_ffs/mksnap_ffs.8	Thu May 13 12:07:55 2010	(r208027)
@@ -71,11 +71,11 @@ mount -o ro /dev/md0 /mnt/
 .Xr chown 8 ,
 .Xr mdconfig 8 ,
 .Xr mount 8
-.Sh CAVEATS
-The disk full situation is not handled gracefully and may
-lead to a system panic when no free blocks are found.
 .Sh HISTORY
 The
 .Nm
 utility first appeared in
 .Fx 5.0 .
+.Sh CAVEATS
+The disk full situation is not handled gracefully and may
+lead to a system panic when no free blocks are found.

Modified: head/sbin/mount/mount.8
==============================================================================
--- head/sbin/mount/mount.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/mount/mount.8	Thu May 13 12:07:55 2010	(r208027)
@@ -542,6 +542,11 @@ support for a particular file system mig
 .Xr umount 8 ,
 .Xr zfs 8 ,
 .Xr zpool 8
+.Sh HISTORY
+A
+.Nm
+utility appeared in
+.At v1 .
 .Sh CAVEATS
 After a successful
 .Nm ,
@@ -564,10 +569,5 @@ gets a
 signal (that causes an update of the export list)
 only when the file system is mounted via
 .Nm .
-.Sh HISTORY
-A
-.Nm
-utility appeared in
-.At v1 .
 .Sh BUGS
 It is possible for a corrupted file system to cause a crash.

Modified: head/sbin/mount_msdosfs/mount_msdosfs.8
==============================================================================
--- head/sbin/mount_msdosfs/mount_msdosfs.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/mount_msdosfs/mount_msdosfs.8	Thu May 13 12:07:55 2010	(r208027)
@@ -199,12 +199,6 @@ To mount a Japanese MS-DOS file system l
 .Pp
 List of Localized MS Operating Systems:
 .Pa http://www.microsoft.com/globaldev/reference/oslocversion.mspx .
-.Sh CAVEATS
-The use of the
-.Fl 9
-flag could result in damaged file systems,
-albeit the damage is in part taken care of by
-procedures similar to the ones used in Win'95.
 .Sh HISTORY
 The
 .Nm
@@ -221,3 +215,9 @@ of the more aptly-named
 The character code conversion routine was added by
 .An Ryuichiro Imura Aq imura at ryu16.org
 at 2003.
+.Sh CAVEATS
+The use of the
+.Fl 9
+flag could result in damaged file systems,
+albeit the damage is in part taken care of by
+procedures similar to the ones used in Win'95.

Modified: head/sbin/mount_ntfs/mount_ntfs.8
==============================================================================
--- head/sbin/mount_ntfs/mount_ntfs.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/mount_ntfs/mount_ntfs.8	Thu May 13 12:07:55 2010	(r208027)
@@ -149,14 +149,6 @@ The file name must not contain multibyte
 .Xr fstab 5 ,
 .Xr mount 8 ,
 .Xr mount_msdosfs 8
-.Sh CAVEATS
-This utility is primarily used for read access to an NTFS volume.
-See the
-.Sx WRITING
-section for details about writing to an NTFS volume.
-.Pp
-For a full read-write NTFS support consider sysutils/fusefs-ntfs
-port/package.
 .Sh HISTORY
 The
 .Nm
@@ -171,3 +163,11 @@ The NTFS kernel implementation,
 .Nm
 utility, and manual were written by
 .An Semen Ustimenko Aq semenu at FreeBSD.org .
+.Sh CAVEATS
+This utility is primarily used for read access to an NTFS volume.
+See the
+.Sx WRITING
+section for details about writing to an NTFS volume.
+.Pp
+For a full read-write NTFS support consider sysutils/fusefs-ntfs
+port/package.

Modified: head/sbin/mount_reiserfs/mount_reiserfs.8
==============================================================================
--- head/sbin/mount_reiserfs/mount_reiserfs.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/mount_reiserfs/mount_reiserfs.8	Thu May 13 12:07:55 2010	(r208027)
@@ -66,9 +66,6 @@ To mount a ReiserFS volume located in
 .Xr unmount 2 ,
 .Xr fstab 5 ,
 .Xr mount 8
-.Sh CAVEATS
-This utility is primarily used for read access to a ReiserFS volume.
-Writing to a volume is currently unsupported.
 .Sh HISTORY
 The
 .Nm
@@ -88,3 +85,6 @@ The
 .Nm
 utility and manual were written by
 .An Jean-S\['e]bastien P\['e]dron Aq dumbbell at FreeBSD.org .
+.Sh CAVEATS
+This utility is primarily used for read access to a ReiserFS volume.
+Writing to a volume is currently unsupported.

Modified: head/sbin/mount_std/mount_std.8
==============================================================================
--- head/sbin/mount_std/mount_std.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/mount_std/mount_std.8	Thu May 13 12:07:55 2010	(r208027)
@@ -142,8 +142,6 @@ loadable module for it was found.
 .Xr linprocfs 5 ,
 .Xr procfs 5 ,
 .Xr mount 8
-.Sh CAVEATS
-None of the ``standard'' file systems may be NFS-exported.
 .Sh HISTORY
 The
 .Nm
@@ -165,3 +163,5 @@ the
 .Dq linprocfs
 file system type first appeared in
 .Fx 4.0 .
+.Sh CAVEATS
+None of the ``standard'' file systems may be NFS-exported.

Modified: head/sbin/rcorder/rcorder.8
==============================================================================
--- head/sbin/rcorder/rcorder.8	Thu May 13 09:59:10 2010	(r208026)
+++ head/sbin/rcorder/rcorder.8	Thu May 13 12:07:55 2010	(r208027)
@@ -152,6 +152,19 @@ processing the stated condition.
 A set of files has a circular dependency which was detected while
 processing the stated file.
 .El
+.Sh SEE ALSO
+.Xr rc 8
+.Sh HISTORY
+The
+.Nm
+utility first appeared in
+.Nx 1.5 .
+.Sh AUTHORS
+.An -nosplit
+Written by
+.An Perry E. Metzger Aq perry at piermont.com
+and
+.An Matthew R. Green Aq mrg at eterna.com.au .
 .Sh BUGS
 The
 .Dq Li REQUIRE
@@ -171,16 +184,3 @@ script in the dependency ordering,
 not necessarily that it requires
 .Xr named 8
 to be started or enabled.
-.Sh SEE ALSO
-.Xr rc 8
-.Sh HISTORY
-The
-.Nm
-utility first appeared in
-.Nx 1.5 .
-.Sh AUTHORS
-.An -nosplit
-Written by
-.An Perry E. Metzger Aq perry at piermont.com
-and
-.An Matthew R. Green Aq mrg at eterna.com.au .

Modified: head/share/man/man4/ae.4
==============================================================================
--- head/share/man/man4/ae.4	Thu May 13 09:59:10 2010	(r208026)
+++ head/share/man/man4/ae.4	Thu May 13 12:07:55 2010	(r208027)
@@ -133,6 +133,14 @@ instead.
 .Xr ng_ether 4 ,
 .Xr vlan 4 ,
 .Xr ifconfig 8
+.Sh HISTORY
+The
+.Nm
+driver and this manual page was written by
+.An Stanislav Sedov
+.Aq stas at FreeBSD.org .
+It first appeared in
+.Fx 7.1 .
 .Sh BUGS
 The Attansic L2 FastEthernet contoller supports DMA but does not use a
 descriptor based transfer mechanism via scatter-gather DMA.
@@ -142,11 +150,3 @@ Furthermore, a lot of data alignment res
 This may introduce a high CPU load on systems with heavy network activity.
 Luckily enough this should not be a problem on modern hardware as L2 does
 not support speeds faster than 100Mbps.
-.Sh HISTORY
-The
-.Nm
-driver and this manual page was written by
-.An Stanislav Sedov
-.Aq stas at FreeBSD.org .
-It first appeared in
-.Fx 7.1 .

Modified: head/share/man/man4/ahb.4
==============================================================================
--- head/share/man/man4/ahb.4	Thu May 13 09:59:10 2010	(r208026)
+++ head/share/man/man4/ahb.4	Thu May 13 12:07:55 2010	(r208027)
@@ -70,13 +70,6 @@ Adaptec AHA-1740A
 .It
 Adaptec AHA-1742A
 .El
-.Sh CAVEATS
-The Adaptec 174X is very sensitive to SCSI bus termination and cable
-length.
-It may also have difficulties operating with some modern devices
-that, due to their speed, expose timing problems in the controller.
-There are no known mechanisms for working around device incompatibilities of
-this nature.
 .Sh SEE ALSO
 .Xr aha 4 ,
 .Xr ahc 4 ,
@@ -90,3 +83,10 @@ The
 .Nm
 driver was written by
 .An Justin T. Gibbs .
+.Sh CAVEATS
+The Adaptec 174X is very sensitive to SCSI bus termination and cable
+length.
+It may also have difficulties operating with some modern devices
+that, due to their speed, expose timing problems in the controller.
+There are no known mechanisms for working around device incompatibilities of
+this nature.

Modified: head/share/man/man4/amdtemp.4
==============================================================================
--- head/share/man/man4/amdtemp.4	Thu May 13 09:59:10 2010	(r208026)
+++ head/share/man/man4/amdtemp.4	Thu May 13 12:07:55 2010	(r208027)
@@ -64,9 +64,6 @@ located in each CPU core.
 For the K10 and K11 families, the driver creates
 .Va dev.cpu.%d.temperature
 with the temperature of each core.
-.Sh BUGS
-AMD K9 is not supported because temperature reporting has been replaced
-by Maltese.
 .Sh SEE ALSO
 .Xr sysctl 8
 .Sh HISTORY
@@ -77,3 +74,6 @@ driver first appeared in
 .Sh AUTHORS
 .An Rui Paulo Aq rpaulo at FreeBSD.org
 .An Norikatsu Shigemura Aq nork at FreeBSD.org
+.Sh BUGS
+AMD K9 is not supported because temperature reporting has been replaced
+by Maltese.

Modified: head/share/man/man4/ataraid.4
==============================================================================
--- head/share/man/man4/ataraid.4	Thu May 13 09:59:10 2010	(r208026)
+++ head/share/man/man4/ataraid.4	Thu May 13 12:07:55 2010	(r208027)
@@ -135,9 +135,6 @@ ATA RAID device nodes
 .Sh SEE ALSO
 .Xr ata 4 ,
 .Xr atacontrol 8
-.Sh CAVEATS

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


More information about the svn-src-head mailing list