aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs3xdr.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2007-11-01 16:57:20 -0400
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-02-01 16:42:03 -0500
commita628f6675861d979405f751418e924c4ec7d457d (patch)
tree09281fd445da7841b890a626004abb012c06debd /fs/nfsd/nfs3xdr.c
parent9c7544d3a195cde33b3d1e46639b23c221f901db (diff)
NFSD: Fix mixed sign comparison in nfs3svc_decode_symlinkargs
Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Acked-By: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd/nfs3xdr.c')
-rw-r--r--fs/nfsd/nfs3xdr.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c
index c02b8d69297..be515c5a815 100644
--- a/fs/nfsd/nfs3xdr.c
+++ b/fs/nfsd/nfs3xdr.c
@@ -452,8 +452,7 @@ int
452nfs3svc_decode_symlinkargs(struct svc_rqst *rqstp, __be32 *p, 452nfs3svc_decode_symlinkargs(struct svc_rqst *rqstp, __be32 *p,
453 struct nfsd3_symlinkargs *args) 453 struct nfsd3_symlinkargs *args)
454{ 454{
455 unsigned int len; 455 unsigned int len, avail;
456 int avail;
457 char *old, *new; 456 char *old, *new;
458 struct kvec *vec; 457 struct kvec *vec;
459 458
@@ -486,7 +485,8 @@ nfs3svc_decode_symlinkargs(struct svc_rqst *rqstp, __be32 *p,
486 /* now copy next page if there is one */ 485 /* now copy next page if there is one */
487 if (len && !avail && rqstp->rq_arg.page_len) { 486 if (len && !avail && rqstp->rq_arg.page_len) {
488 avail = rqstp->rq_arg.page_len; 487 avail = rqstp->rq_arg.page_len;
489 if (avail > PAGE_SIZE) avail = PAGE_SIZE; 488 if (avail > PAGE_SIZE)
489 avail = PAGE_SIZE;
490 old = page_address(rqstp->rq_arg.pages[0]); 490 old = page_address(rqstp->rq_arg.pages[0]);
491 } 491 }
492 while (len && avail && *old) { 492 while (len && avail && *old) {