Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jul 2013 19:37:50 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r253657 - head/sys/fs/ext2fs
Message-ID:  <201307251937.r6PJbosT067513@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pfg
Date: Thu Jul 25 19:37:49 2013
New Revision: 253657
URL: http://svnweb.freebsd.org/changeset/base/253657

Log:
  ext2fs: Return EINVAL for negative uio_offset as in UFS.
  
  While here drop old comment that doesn't really apply.
  
  MFC after:	1 month
  Discussed with:	gleb

Modified:
  head/sys/fs/ext2fs/ext2_lookup.c

Modified: head/sys/fs/ext2fs/ext2_lookup.c
==============================================================================
--- head/sys/fs/ext2fs/ext2_lookup.c	Thu Jul 25 19:34:24 2013	(r253656)
+++ head/sys/fs/ext2fs/ext2_lookup.c	Thu Jul 25 19:37:49 2013	(r253657)
@@ -146,6 +146,8 @@ ext2_readdir(struct vop_readdir_args *ap
 	int DIRBLKSIZ = VTOI(ap->a_vp)->i_e2fs->e2fs_bsize;
 	int error;
 
+	if (uio->uio_offset < 0)
+		return (EINVAL);
 	ip = VTOI(vp);
 	if (ap->a_ncookies != NULL) {
 		ncookies = uio->uio_resid;
@@ -162,14 +164,6 @@ ext2_readdir(struct vop_readdir_args *ap
 		ncookies = 0;
 		cookies = NULL;
 	}
-	/*
-	 * Avoid complications for partial directory entries by adjusting
-	 * the i/o to end at a block boundary.  Don't give up (like ufs
-	 * does) if the initial adjustment gives a negative count, since
-	 * many callers don't supply a large enough buffer.  The correct
-	 * size is a little larger than DIRBLKSIZ to allow for expansion
-	 * of directory entries, but some callers just use 512.
-	 */
 	offset = startoffset = uio->uio_offset;
 	startresid = uio->uio_resid;
 	error = 0;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307251937.r6PJbosT067513>