summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinglong Mee <kinglongmee@gmail.com>2014-05-24 11:26:49 +0800
committerJ. Bruce Fields <bfields@redhat.com>2014-05-30 17:32:24 -0400
commit1f53146da9cb2c941a3928320a6824d3b035455f (patch)
tree46e7a0dc2767f4df6baf37867465e445f748f1dd
parentf0db79d54b6c9f612fb2ef4f71ca8340edaf89f1 (diff)
NFSD: Using type of uint32_t for ex_nflavors instead of int
ex_nflavors can't be negative number, just defined by uint32_t. Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--fs/nfsd/export.c7
-rw-r--r--fs/nfsd/export.h2
2 files changed, 5 insertions, 4 deletions
diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c
index 263d30e7972..78840510700 100644
--- a/fs/nfsd/export.c
+++ b/fs/nfsd/export.c
@@ -438,13 +438,14 @@ out_free_all:
static int secinfo_parse(char **mesg, char *buf, struct svc_export *exp)
{
- int listsize, err;
struct exp_flavor_info *f;
+ u32 listsize;
+ int err;
- err = get_int(mesg, &listsize);
+ err = get_uint(mesg, &listsize);
if (err)
return err;
- if (listsize < 0 || listsize > MAX_SECINFO_LIST)
+ if (listsize > MAX_SECINFO_LIST)
return -EINVAL;
for (f = exp->ex_flavors; f < exp->ex_flavors + listsize; f++) {
diff --git a/fs/nfsd/export.h b/fs/nfsd/export.h
index c7d4ed05e47..cfeea85c5be 100644
--- a/fs/nfsd/export.h
+++ b/fs/nfsd/export.h
@@ -54,7 +54,7 @@ struct svc_export {
int ex_fsid;
unsigned char * ex_uuid; /* 16 byte fsid */
struct nfsd4_fs_locations ex_fslocs;
- int ex_nflavors;
+ uint32_t ex_nflavors;
struct exp_flavor_info ex_flavors[MAX_SECINFO_LIST];
struct cache_detail *cd;
};