Commit fdc368e9 authored by Su Hui's avatar Su Hui Committed by Chuck Lever
Browse files

nfsd: Change the type of ek_fsidtype from int to u8 and use kstrtou8



The valid values for ek_fsidtype are actually 0-7 so it's better to
change the type to u8. Also using kstrtou8() to relpace simple_strtoul(),
kstrtou8() is safer and more suitable for u8.

Suggested-by: default avatarNeilBrown <neil@brown.name>
Signed-off-by: default avatarSu Hui <suhui@nfschina.com>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent f26c9305
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -82,8 +82,7 @@ static int expkey_parse(struct cache_detail *cd, char *mesg, int mlen)
	int len;
	struct auth_domain *dom = NULL;
	int err;
	int fsidtype;
	char *ep;
	u8 fsidtype;
	struct svc_expkey key;
	struct svc_expkey *ek = NULL;

@@ -109,10 +108,9 @@ static int expkey_parse(struct cache_detail *cd, char *mesg, int mlen)
	err = -EINVAL;
	if (qword_get(&mesg, buf, PAGE_SIZE) <= 0)
		goto out;
	fsidtype = simple_strtoul(buf, &ep, 10);
	if (*ep)
	if (kstrtou8(buf, 10, &fsidtype))
		goto out;
	dprintk("found fsidtype %d\n", fsidtype);
	dprintk("found fsidtype %u\n", fsidtype);
	if (key_len(fsidtype)==0) /* invalid type */
		goto out;
	if ((len=qword_get(&mesg, buf, PAGE_SIZE)) <= 0)
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ struct svc_expkey {
	struct cache_head	h;

	struct auth_domain *	ek_client;
	int			ek_fsidtype;
	u8			ek_fsidtype;
	u32			ek_fsid[6];

	struct path		ek_path;
+2 −2
Original line number Diff line number Diff line
@@ -344,7 +344,7 @@ TRACE_EVENT(nfsd_exp_find_key,
		 int status),
	TP_ARGS(key, status),
	TP_STRUCT__entry(
		__field(int, fsidtype)
		__field(u8, fsidtype)
		__array(u32, fsid, 6)
		__string(auth_domain, key->ek_client->name)
		__field(int, status)
@@ -367,7 +367,7 @@ TRACE_EVENT(nfsd_expkey_update,
	TP_PROTO(const struct svc_expkey *key, const char *exp_path),
	TP_ARGS(key, exp_path),
	TP_STRUCT__entry(
		__field(int, fsidtype)
		__field(u8, fsidtype)
		__array(u32, fsid, 6)
		__string(auth_domain, key->ek_client->name)
		__string(path, exp_path)