> On Aug 18, 2022, at 5:01 PM, Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote: > > Follow the advice of the below link and prefer 'strscpy' in this > subsystem. Conversion is 1:1 because the return value is not used. > Generated by a coccinelle script. > > Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@xxxxxxxxxxxxxx/ > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Makes sense. I think I would like to carry 05 and 07 in the NFSD tree so they can get some exposure to our test workloads before they are merged. Is that OK with you? > --- > fs/nfsd/nfs4idmap.c | 8 ++++---- > fs/nfsd/nfs4proc.c | 2 +- > fs/nfsd/nfssvc.c | 2 +- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c > index f92161ce1f97..e70a1a2999b7 100644 > --- a/fs/nfsd/nfs4idmap.c > +++ b/fs/nfsd/nfs4idmap.c > @@ -82,8 +82,8 @@ ent_init(struct cache_head *cnew, struct cache_head *citm) > new->id = itm->id; > new->type = itm->type; > > - strlcpy(new->name, itm->name, sizeof(new->name)); > - strlcpy(new->authname, itm->authname, sizeof(new->authname)); > + strscpy(new->name, itm->name, sizeof(new->name)); > + strscpy(new->authname, itm->authname, sizeof(new->authname)); > } > > static void > @@ -548,7 +548,7 @@ idmap_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen > return nfserr_badowner; > memcpy(key.name, name, namelen); > key.name[namelen] = '\0'; > - strlcpy(key.authname, rqst_authname(rqstp), sizeof(key.authname)); > + strscpy(key.authname, rqst_authname(rqstp), sizeof(key.authname)); > ret = idmap_lookup(rqstp, nametoid_lookup, &key, nn->nametoid_cache, &item); > if (ret == -ENOENT) > return nfserr_badowner; > @@ -584,7 +584,7 @@ static __be32 idmap_id_to_name(struct xdr_stream *xdr, > int ret; > struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); > > - strlcpy(key.authname, rqst_authname(rqstp), sizeof(key.authname)); > + strscpy(key.authname, rqst_authname(rqstp), sizeof(key.authname)); > ret = idmap_lookup(rqstp, idtoname_lookup, &key, nn->idtoname_cache, &item); > if (ret == -ENOENT) > return encode_ascii_id(xdr, id); > diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c > index a72ab97f77ef..0437210b9898 100644 > --- a/fs/nfsd/nfs4proc.c > +++ b/fs/nfsd/nfs4proc.c > @@ -1343,7 +1343,7 @@ static __be32 nfsd4_ssc_setup_dul(struct nfsd_net *nn, char *ipaddr, > return 0; > } > if (work) { > - strlcpy(work->nsui_ipaddr, ipaddr, sizeof(work->nsui_ipaddr) - 1); > + strscpy(work->nsui_ipaddr, ipaddr, sizeof(work->nsui_ipaddr) - 1); > refcount_set(&work->nsui_refcnt, 2); > work->nsui_busy = true; > list_add_tail(&work->nsui_list, &nn->nfsd_ssc_mount_list); > diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c > index 4bb5baa17040..bfbd9f672f59 100644 > --- a/fs/nfsd/nfssvc.c > +++ b/fs/nfsd/nfssvc.c > @@ -799,7 +799,7 @@ nfsd_svc(int nrservs, struct net *net, const struct cred *cred) > if (nrservs == 0 && nn->nfsd_serv == NULL) > goto out; > > - strlcpy(nn->nfsd_name, utsname()->nodename, > + strscpy(nn->nfsd_name, utsname()->nodename, > sizeof(nn->nfsd_name)); > > error = nfsd_create_serv(net); > -- > 2.35.1 > -- Chuck Lever