svn commit: r328480 - in head/sys: fs/ext2fs ufs/ufs
Pedro F. Giffuni
pfg at FreeBSD.org
Sat Jan 27 16:34:01 UTC 2018
Author: pfg
Date: Sat Jan 27 16:34:00 2018
New Revision: 328480
URL: https://svnweb.freebsd.org/changeset/base/328480
Log:
Revert r328479:
{ext2|ufs}_readdir: Set limit on valid ncookies values.
We aren't allowed to set resid like this.
Pointed out by: kib, imp
Modified:
head/sys/fs/ext2fs/ext2_lookup.c
head/sys/ufs/ufs/ufs_vnops.c
Modified: head/sys/fs/ext2fs/ext2_lookup.c
==============================================================================
--- head/sys/fs/ext2fs/ext2_lookup.c Sat Jan 27 15:33:52 2018 (r328479)
+++ head/sys/fs/ext2fs/ext2_lookup.c Sat Jan 27 16:34:00 2018 (r328480)
@@ -145,18 +145,14 @@ ext2_readdir(struct vop_readdir_args *ap)
off_t offset, startoffset;
size_t readcnt, skipcnt;
ssize_t startresid;
- int ncookies;
+ u_int ncookies;
int DIRBLKSIZ = VTOI(ap->a_vp)->i_e2fs->e2fs_bsize;
int error;
if (uio->uio_offset < 0)
return (EINVAL);
ip = VTOI(vp);
- if (uio->uio_resid < 0)
- uio->uio_resid = 0;
if (ap->a_ncookies != NULL) {
- if (uio->uio_resid > MAXPHYS)
- uio->uio_resid = MAXPHYS;
ncookies = uio->uio_resid;
if (uio->uio_offset >= ip->i_size)
ncookies = 0;
Modified: head/sys/ufs/ufs/ufs_vnops.c
==============================================================================
--- head/sys/ufs/ufs/ufs_vnops.c Sat Jan 27 15:33:52 2018 (r328479)
+++ head/sys/ufs/ufs/ufs_vnops.c Sat Jan 27 16:34:00 2018 (r328480)
@@ -2170,7 +2170,7 @@ ufs_readdir(ap)
off_t offset, startoffset;
size_t readcnt, skipcnt;
ssize_t startresid;
- int ncookies;
+ u_int ncookies;
int error;
if (uio->uio_offset < 0)
@@ -2178,11 +2178,7 @@ ufs_readdir(ap)
ip = VTOI(vp);
if (ip->i_effnlink == 0)
return (0);
- if (uio->uio_resid < 0)
- uio->uio_resid = 0;
if (ap->a_ncookies != NULL) {
- if (uio->uio_resid > MAXPHYS)
- uio->uio_resid = MAXPHYS;
ncookies = uio->uio_resid;
if (uio->uio_offset >= ip->i_size)
ncookies = 0;
More information about the svn-src-all
mailing list