cvs commit: src/sys/kern vfs_mount.c

Kris Kennaway kris at obsecurity.org
Thu Aug 24 20:48:18 UTC 2006


Thanks!

On Thu, Aug 24, 2006 at 06:52:28PM +0000, Marius Strobl wrote:
> marius      2006-08-24 18:52:28 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             vfs_mount.c 
>   Log:
>   Fix a bug introduced with rev. 1.204; in vfs_donmount() use
>   copyout(9) instead of copystr(9) for copying the errmsg from
>   kernel- to user-space. This fixes a panic on sparc64 when
>   using the nmount(2)-converted mountd(8).
>   While at it, use bcopy(3) instead of strncpy(3) in the kernel-
>   to kernel-space case for consistency with vfs_buildopts() and
>   between kernel- to user-space and kernel- to kernel-space case.
>   
>   Revision  Changes    Path
>   1.229     +4 -5      src/sys/kern/vfs_mount.c
> http://cvsweb.FreeBSD.org/src/sys/kern/vfs_mount.c.diff?r1=1.228&r2=1.229
> | ===================================================================
> | RCS file: /usr/local/www/cvsroot/FreeBSD/src/sys/kern/vfs_mount.c,v
> | retrieving revision 1.228
> | retrieving revision 1.229
> | diff -u -p -r1.228 -r1.229
> | --- src/sys/kern/vfs_mount.c	2006/06/27 14:46:31	1.228
> | +++ src/sys/kern/vfs_mount.c	2006/08/24 18:52:28	1.229
> | @@ -35,7 +35,7 @@
> |   */
> |  
> |  #include <sys/cdefs.h>
> | -__FBSDID("$FreeBSD: /usr/local/www/cvsroot/FreeBSD/src/sys/kern/vfs_mount.c,v 1.228 2006/06/27 14:46:31 jhb Exp $");
> | +__FBSDID("$FreeBSD: /usr/local/www/cvsroot/FreeBSD/src/sys/kern/vfs_mount.c,v 1.229 2006/08/24 18:52:28 marius Exp $");
> |  
> |  #include <sys/param.h>
> |  #include <sys/conf.h>
> | @@ -693,14 +693,13 @@ bail:
> |  	if (errmsg_pos != -1 && ((2 * errmsg_pos + 1) < fsoptions->uio_iovcnt)
> |  	    && errmsg_len > 0 && errmsg != NULL) {
> |  		if (fsoptions->uio_segflg == UIO_SYSSPACE) {
> | -			strncpy(fsoptions->uio_iov[2 * errmsg_pos + 1].iov_base,
> | -			    errmsg, 
> | +			bcopy(errmsg,
> | +			    fsoptions->uio_iov[2 * errmsg_pos + 1].iov_base,
> |  			    fsoptions->uio_iov[2 * errmsg_pos + 1].iov_len);
> |  		} else {
> | -			copystr(errmsg,
> | +			copyout(errmsg,
> |  			    fsoptions->uio_iov[2 * errmsg_pos + 1].iov_base,
> | -			    fsoptions->uio_iov[2 * errmsg_pos + 1].iov_len,
> | -			    NULL);
> | +			    fsoptions->uio_iov[2 * errmsg_pos + 1].iov_len);
> |  		} 
> |  	}
> |  
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20060824/1017a69f/attachment.pgp


More information about the cvs-src mailing list