summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-06-17 15:47:53 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-10 23:40:27 -0400
commitdce34ce298d85b81630401f4feb4bd7ac77fe9c7 (patch)
tree9caa66cd3f03d500fdef5df290de23695589026d /fs
parent2aefa104313996d1a9582476cee53d1296c834bf (diff)
downloadkernel-crypto-dce34ce298d85b81630401f4feb4bd7ac77fe9c7.tar.gz
kernel-crypto-dce34ce298d85b81630401f4feb4bd7ac77fe9c7.tar.xz
kernel-crypto-dce34ce298d85b81630401f4feb4bd7ac77fe9c7.zip
NFS: Prevent integer overflow in nfs_scan_list()
Also ensure that nfs_inode ncommit and npages are large enough to represent all possible values for the number of pages. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/pagelist.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
index ad90cbe7670..68f6bf12200 100644
--- a/fs/nfs/pagelist.c
+++ b/fs/nfs/pagelist.c
@@ -425,6 +425,8 @@ int nfs_scan_list(struct nfs_inode *nfsi,
req->wb_index, tag);
nfs_list_add_request(req, dst);
res++;
+ if (res == INT_MAX)
+ goto out;
}
}