diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2007-11-01 16:57:20 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-02-01 16:42:03 -0500 |
commit | a628f6675861d979405f751418e924c4ec7d457d (patch) | |
tree | 09281fd445da7841b890a626004abb012c06debd /fs/nfsd | |
parent | 9c7544d3a195cde33b3d1e46639b23c221f901db (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')
-rw-r--r-- | fs/nfsd/nfs3xdr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c index c02b8d69297d..be515c5a8154 100644 --- a/fs/nfsd/nfs3xdr.c +++ b/fs/nfsd/nfs3xdr.c | |||
@@ -452,8 +452,7 @@ int | |||
452 | nfs3svc_decode_symlinkargs(struct svc_rqst *rqstp, __be32 *p, | 452 | nfs3svc_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) { |