diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2014-06-10 06:08:19 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-06-23 11:31:36 -0400 |
commit | 3c7aa15d2073d81e56e8ba8771a4ab6f23be7ae2 (patch) | |
tree | f76a11c503dd24636dbd36dfb9a58aa3d76ad54e /fs/nfsd/nfsxdr.c | |
parent | a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee (diff) |
NFSD: Using min/max/min_t/max_t for calculate
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfsxdr.c')
-rw-r--r-- | fs/nfsd/nfsxdr.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c index 1ac306b769df..412d7061f9e5 100644 --- a/fs/nfsd/nfsxdr.c +++ b/fs/nfsd/nfsxdr.c | |||
@@ -257,8 +257,7 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, | |||
257 | len = args->count = ntohl(*p++); | 257 | len = args->count = ntohl(*p++); |
258 | p++; /* totalcount - unused */ | 258 | p++; /* totalcount - unused */ |
259 | 259 | ||
260 | if (len > NFSSVC_MAXBLKSIZE_V2) | 260 | len = min_t(unsigned int, len, NFSSVC_MAXBLKSIZE_V2); |
261 | len = NFSSVC_MAXBLKSIZE_V2; | ||
262 | 261 | ||
263 | /* set up somewhere to store response. | 262 | /* set up somewhere to store response. |
264 | * We take pages, put them on reslist and include in iovec | 263 | * We take pages, put them on reslist and include in iovec |
@@ -268,7 +267,7 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, | |||
268 | struct page *p = *(rqstp->rq_next_page++); | 267 | struct page *p = *(rqstp->rq_next_page++); |
269 | 268 | ||
270 | rqstp->rq_vec[v].iov_base = page_address(p); | 269 | rqstp->rq_vec[v].iov_base = page_address(p); |
271 | rqstp->rq_vec[v].iov_len = len < PAGE_SIZE?len:PAGE_SIZE; | 270 | rqstp->rq_vec[v].iov_len = min_t(unsigned int, len, PAGE_SIZE); |
272 | len -= rqstp->rq_vec[v].iov_len; | 271 | len -= rqstp->rq_vec[v].iov_len; |
273 | v++; | 272 | v++; |
274 | } | 273 | } |
@@ -400,9 +399,7 @@ nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, | |||
400 | return 0; | 399 | return 0; |
401 | args->cookie = ntohl(*p++); | 400 | args->cookie = ntohl(*p++); |
402 | args->count = ntohl(*p++); | 401 | args->count = ntohl(*p++); |
403 | if (args->count > PAGE_SIZE) | 402 | args->count = min_t(u32, args->count, PAGE_SIZE); |
404 | args->count = PAGE_SIZE; | ||
405 | |||
406 | args->buffer = page_address(*(rqstp->rq_next_page++)); | 403 | args->buffer = page_address(*(rqstp->rq_next_page++)); |
407 | 404 | ||
408 | return xdr_argsize_check(rqstp, p); | 405 | return xdr_argsize_check(rqstp, p); |
@@ -516,10 +513,11 @@ nfssvc_encode_entry(void *ccdv, const char *name, | |||
516 | } | 513 | } |
517 | if (cd->offset) | 514 | if (cd->offset) |
518 | *cd->offset = htonl(offset); | 515 | *cd->offset = htonl(offset); |
519 | if (namlen > NFS2_MAXNAMLEN) | ||
520 | namlen = NFS2_MAXNAMLEN;/* truncate filename */ | ||
521 | 516 | ||
517 | /* truncate filename */ | ||
518 | namlen = min(namlen, NFS2_MAXNAMLEN); | ||
522 | slen = XDR_QUADLEN(namlen); | 519 | slen = XDR_QUADLEN(namlen); |
520 | |||
523 | if ((buflen = cd->buflen - slen - 4) < 0) { | 521 | if ((buflen = cd->buflen - slen - 4) < 0) { |
524 | cd->common.err = nfserr_toosmall; | 522 | cd->common.err = nfserr_toosmall; |
525 | return -EINVAL; | 523 | return -EINVAL; |