Message ID | 20200227170854.9949-1-digetx@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Chanwoo Choi |
Headers | show |
Series | [RE-SEND,v1] PM / devfreq: Replace strncpy with strscpy | expand |
27.02.2020 20:08, Dmitry Osipenko пишет: > GCC produces this warning when kernel compiled using `make W=1`: > > warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] > 772 | strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); > > The strncpy doesn't take care of NULL-termination of the destination > buffer, while the strscpy does. > > Signed-off-by: Dmitry Osipenko <digetx@gmail.com> > --- > drivers/devfreq/devfreq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c > index 8494c5f05a73..2011f64bfa3a 100644 > --- a/drivers/devfreq/devfreq.c > +++ b/drivers/devfreq/devfreq.c > @@ -769,7 +769,7 @@ struct devfreq *devfreq_add_device(struct device *dev, > devfreq->dev.release = devfreq_dev_release; > INIT_LIST_HEAD(&devfreq->node); > devfreq->profile = profile; > - strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); > + strscpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); > devfreq->previous_freq = profile->initial_freq; > devfreq->last_status.current_frequency = profile->initial_freq; > devfreq->data = data; > Hello Chanwoo, Do you have any objections to this patch?
Hi Dmitry, On 4/17/20 11:04 PM, Dmitry Osipenko wrote: > 27.02.2020 20:08, Dmitry Osipenko пишет: >> GCC produces this warning when kernel compiled using `make W=1`: >> >> warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] >> 772 | strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); >> >> The strncpy doesn't take care of NULL-termination of the destination >> buffer, while the strscpy does. >> >> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> >> --- >> drivers/devfreq/devfreq.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c >> index 8494c5f05a73..2011f64bfa3a 100644 >> --- a/drivers/devfreq/devfreq.c >> +++ b/drivers/devfreq/devfreq.c >> @@ -769,7 +769,7 @@ struct devfreq *devfreq_add_device(struct device *dev, >> devfreq->dev.release = devfreq_dev_release; >> INIT_LIST_HEAD(&devfreq->node); >> devfreq->profile = profile; >> - strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); >> + strscpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); >> devfreq->previous_freq = profile->initial_freq; >> devfreq->last_status.current_frequency = profile->initial_freq; >> devfreq->data = data; >> > > Hello Chanwoo, > > Do you have any objections to this patch? > I'm sorry for late reply. I applied it for v5.8-rc1. Thanks.
07.05.2020 03:02, Chanwoo Choi пишет: > Hi Dmitry, > > On 4/17/20 11:04 PM, Dmitry Osipenko wrote: >> 27.02.2020 20:08, Dmitry Osipenko пишет: >>> GCC produces this warning when kernel compiled using `make W=1`: >>> >>> warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] >>> 772 | strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); >>> >>> The strncpy doesn't take care of NULL-termination of the destination >>> buffer, while the strscpy does. >>> >>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> >>> --- >>> drivers/devfreq/devfreq.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c >>> index 8494c5f05a73..2011f64bfa3a 100644 >>> --- a/drivers/devfreq/devfreq.c >>> +++ b/drivers/devfreq/devfreq.c >>> @@ -769,7 +769,7 @@ struct devfreq *devfreq_add_device(struct device *dev, >>> devfreq->dev.release = devfreq_dev_release; >>> INIT_LIST_HEAD(&devfreq->node); >>> devfreq->profile = profile; >>> - strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); >>> + strscpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); >>> devfreq->previous_freq = profile->initial_freq; >>> devfreq->last_status.current_frequency = profile->initial_freq; >>> devfreq->data = data; >>> >> >> Hello Chanwoo, >> >> Do you have any objections to this patch? >> > > I'm sorry for late reply. I applied it for v5.8-rc1. > Thanks. No problems, thank you :)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index 8494c5f05a73..2011f64bfa3a 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -769,7 +769,7 @@ struct devfreq *devfreq_add_device(struct device *dev, devfreq->dev.release = devfreq_dev_release; INIT_LIST_HEAD(&devfreq->node); devfreq->profile = profile; - strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); + strscpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); devfreq->previous_freq = profile->initial_freq; devfreq->last_status.current_frequency = profile->initial_freq; devfreq->data = data;
GCC produces this warning when kernel compiled using `make W=1`: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] 772 | strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); The strncpy doesn't take care of NULL-termination of the destination buffer, while the strscpy does. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/devfreq/devfreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)