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 <[email protected]>
---
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;
--
2.24.0
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 <[email protected]>
> ---
> 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 <[email protected]>
>> ---
>> 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.
--
Best Regards,
Chanwoo Choi
Samsung Electronics
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 <[email protected]>
>>> ---
>>> 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 :)