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: NeilBrown <neil@brown.name>
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
Su Hui 2025-06-04 11:47:26 +08:00 committed by Chuck Lever
parent f26c930530
commit fdc368e96d
3 changed files with 6 additions and 8 deletions

View file

@ -82,8 +82,7 @@ static int expkey_parse(struct cache_detail *cd, char *mesg, int mlen)
int len; int len;
struct auth_domain *dom = NULL; struct auth_domain *dom = NULL;
int err; int err;
int fsidtype; u8 fsidtype;
char *ep;
struct svc_expkey key; struct svc_expkey key;
struct svc_expkey *ek = NULL; struct svc_expkey *ek = NULL;
@ -109,10 +108,9 @@ static int expkey_parse(struct cache_detail *cd, char *mesg, int mlen)
err = -EINVAL; err = -EINVAL;
if (qword_get(&mesg, buf, PAGE_SIZE) <= 0) if (qword_get(&mesg, buf, PAGE_SIZE) <= 0)
goto out; goto out;
fsidtype = simple_strtoul(buf, &ep, 10); if (kstrtou8(buf, 10, &fsidtype))
if (*ep)
goto out; goto out;
dprintk("found fsidtype %d\n", fsidtype); dprintk("found fsidtype %u\n", fsidtype);
if (key_len(fsidtype)==0) /* invalid type */ if (key_len(fsidtype)==0) /* invalid type */
goto out; goto out;
if ((len=qword_get(&mesg, buf, PAGE_SIZE)) <= 0) if ((len=qword_get(&mesg, buf, PAGE_SIZE)) <= 0)

View file

@ -88,7 +88,7 @@ struct svc_expkey {
struct cache_head h; struct cache_head h;
struct auth_domain * ek_client; struct auth_domain * ek_client;
int ek_fsidtype; u8 ek_fsidtype;
u32 ek_fsid[6]; u32 ek_fsid[6];
struct path ek_path; struct path ek_path;

View file

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