Commit dce34ce2 authored by Trond Myklebust's avatar Trond Myklebust

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: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 2aefa104
...@@ -425,6 +425,8 @@ int nfs_scan_list(struct nfs_inode *nfsi, ...@@ -425,6 +425,8 @@ int nfs_scan_list(struct nfs_inode *nfsi,
req->wb_index, tag); req->wb_index, tag);
nfs_list_add_request(req, dst); nfs_list_add_request(req, dst);
res++; res++;
if (res == INT_MAX)
goto out;
} }
} }
......
...@@ -158,7 +158,7 @@ struct nfs_inode { ...@@ -158,7 +158,7 @@ struct nfs_inode {
spinlock_t req_lock; spinlock_t req_lock;
struct radix_tree_root nfs_page_tree; struct radix_tree_root nfs_page_tree;
unsigned int ncommit, unsigned long ncommit,
npages; npages;
/* Open contexts for shared mmap writes */ /* Open contexts for shared mmap writes */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment