diff mbox series

i40e_pto.c: Odd use of strlcpy converted from strncpy

Message ID edf91d8284a2a19d956eb8b7e8b6c4984ceaa1ab.camel@perches.com
State RFC
Delegated to: Jeff Kirsher
Headers show
Series i40e_pto.c: Odd use of strlcpy converted from strncpy | expand

Commit Message

Joe Perches Oct. 6, 2019, 5:19 p.m. UTC
This got converted from strncpy to strlcpy but it's
now not necessary to use one character less than the
actual size.

Perhaps the sizeof() - 1 is now not correct and it
should use strscpy and a normal sizeof.

from:

commit 7eb74ff891b4e94b8bac48f648a21e4b94ddee64
Author: Mitch Williams <mitch.a.williams@intel.com>
Date:   Mon Aug 20 08:12:30 2018 -0700

    i40e: use correct length for strncpy

and

commit 4ff2d8540321324e04c1306f85d4fe68a0c2d0ae
Author: Patryk Małek <patryk.malek@intel.com>
Date:   Tue Oct 30 10:50:44 2018 -0700

    i40e: Replace strncpy with strlcpy to ensure null termination
---
 drivers/net/ethernet/intel/i40e/i40e_ptp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Kirsher, Jeffrey T Oct. 7, 2019, 8:44 p.m. UTC | #1
On Sun, 2019-10-06 at 10:19 -0700, Joe Perches wrote:
> This got converted from strncpy to strlcpy but it's
> now not necessary to use one character less than the
> actual size.
> 
> Perhaps the sizeof() - 1 is now not correct and it
> should use strscpy and a normal sizeof.
> 
> from:
> 
> commit 7eb74ff891b4e94b8bac48f648a21e4b94ddee64
> Author: Mitch Williams <mitch.a.williams@intel.com>
> Date:   Mon Aug 20 08:12:30 2018 -0700
> 
>     i40e: use correct length for strncpy
> 
> and
> 
> commit 4ff2d8540321324e04c1306f85d4fe68a0c2d0ae
> Author: Patryk Małek <patryk.malek@intel.com>
> Date:   Tue Oct 30 10:50:44 2018 -0700
> 
>     i40e: Replace strncpy with strlcpy to ensure null termination

Looks like you have a typo in the subject, s/i40e_pto.c/i40e_ptp.c/.

You are also missing you signed-off-by: and Fixes:, I can get your
change under test in the meantime to confirm your fix.

> ---
>  drivers/net/ethernet/intel/i40e/i40e_ptp.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> index 9bf1ad4319f5..627b1c02bb4b 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> @@ -700,8 +700,8 @@ static long i40e_ptp_create_clock(struct i40e_pf
> *pf)
>  	if (!IS_ERR_OR_NULL(pf->ptp_clock))
>  		return 0;
>  
> -	strlcpy(pf->ptp_caps.name, i40e_driver_name,
> -		sizeof(pf->ptp_caps.name) - 1);
> +	strscpy(pf->ptp_caps.name, i40e_driver_name, sizeof(pf-
> >ptp_caps.name));
> +
>  	pf->ptp_caps.owner = THIS_MODULE;
>  	pf->ptp_caps.max_adj = 999999999;
>  	pf->ptp_caps.n_ext_ts = 0;
> 
>
Joe Perches Oct. 7, 2019, 8:48 p.m. UTC | #2
On Mon, 2019-10-07 at 13:44 -0700, Jeff Kirsher wrote:
> On Sun, 2019-10-06 at 10:19 -0700, Joe Perches wrote:
> > This got converted from strncpy to strlcpy but it's
> > now not necessary to use one character less than the
> > actual size.
> > 
> > Perhaps the sizeof() - 1 is now not correct and it
> > should use strscpy and a normal sizeof.
[]
> You are also missing you signed-off-by: and Fixes:, I can get your
> change under test in the meantime to confirm your fix.

I didn't sign off as all I intended was to bring it
to your attention.  The diff is just the simplest way.
It's trivial if it's a defect.

> > ---
> >  drivers/net/ethernet/intel/i40e/i40e_ptp.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> > b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> > index 9bf1ad4319f5..627b1c02bb4b 100644
> > --- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> > +++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> > @@ -700,8 +700,8 @@ static long i40e_ptp_create_clock(struct i40e_pf
> > *pf)
> >  	if (!IS_ERR_OR_NULL(pf->ptp_clock))
> >  		return 0;
> >  
> > -	strlcpy(pf->ptp_caps.name, i40e_driver_name,
> > -		sizeof(pf->ptp_caps.name) - 1);
> > +	strscpy(pf->ptp_caps.name, i40e_driver_name, sizeof(pf-
> > > ptp_caps.name));
> > +
> >  	pf->ptp_caps.owner = THIS_MODULE;
> >  	pf->ptp_caps.max_adj = 999999999;
> >  	pf->ptp_caps.n_ext_ts = 0;
> > 
> >
Kirsher, Jeffrey T Oct. 7, 2019, 9:48 p.m. UTC | #3
On Mon, 2019-10-07 at 13:48 -0700, Joe Perches wrote:
> On Mon, 2019-10-07 at 13:44 -0700, Jeff Kirsher wrote:
> > On Sun, 2019-10-06 at 10:19 -0700, Joe Perches wrote:
> > > This got converted from strncpy to strlcpy but it's
> > > now not necessary to use one character less than the
> > > actual size.
> > > 
> > > Perhaps the sizeof() - 1 is now not correct and it
> > > should use strscpy and a normal sizeof.
> []
> > You are also missing you signed-off-by: and Fixes:, I can get your
> > change under test in the meantime to confirm your fix.
> 
> I didn't sign off as all I intended was to bring it
> to your attention.  The diff is just the simplest way.
> It's trivial if it's a defect.

Ah, thanks for bringing it to our attention.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
index 9bf1ad4319f5..627b1c02bb4b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
@@ -700,8 +700,8 @@  static long i40e_ptp_create_clock(struct i40e_pf *pf)
 	if (!IS_ERR_OR_NULL(pf->ptp_clock))
 		return 0;
 
-	strlcpy(pf->ptp_caps.name, i40e_driver_name,
-		sizeof(pf->ptp_caps.name) - 1);
+	strscpy(pf->ptp_caps.name, i40e_driver_name, sizeof(pf->ptp_caps.name));
+
 	pf->ptp_caps.owner = THIS_MODULE;
 	pf->ptp_caps.max_adj = 999999999;
 	pf->ptp_caps.n_ext_ts = 0;