linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 12/18] test_power: change strncpy+truncation to strlcpy
       [not found] <1531444483-17338-1-git-send-email-asmadeus@codewreck.org>
@ 2018-07-13  1:25 ` Dominique Martinet
  2018-07-13  1:26 ` [PATCH 18/18] cpupower: " Dominique Martinet
  1 sibling, 0 replies; 6+ messages in thread
From: Dominique Martinet @ 2018-07-13  1:25 UTC (permalink / raw)
  Cc: Dominique Martinet, Sebastian Reichel, linux-pm, linux-kernel

Generated by scripts/coccinelle/misc/strncpy_truncation.cocci

Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
---

Please see https://marc.info/?l=linux-kernel&m=153144450722324&w=2 (the
first patch of the serie) for the motivation behind this patch

 drivers/power/supply/test_power.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c
index 57246cdbd042..64adf630f64f 100644
--- a/drivers/power/supply/test_power.c
+++ b/drivers/power/supply/test_power.c
@@ -297,8 +297,7 @@ static int map_get_value(struct battery_property_map *map, const char *key,
 	char buf[MAX_KEYLENGTH];
 	int cr;
 
-	strncpy(buf, key, MAX_KEYLENGTH);
-	buf[MAX_KEYLENGTH-1] = '\0';
+	strlcpy(buf, key, MAX_KEYLENGTH);
 
 	cr = strnlen(buf, MAX_KEYLENGTH) - 1;
 	if (cr < 0)
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy
       [not found] <1531444483-17338-1-git-send-email-asmadeus@codewreck.org>
  2018-07-13  1:25 ` [PATCH 12/18] test_power: change strncpy+truncation to strlcpy Dominique Martinet
@ 2018-07-13  1:26 ` Dominique Martinet
  2018-07-24 16:31   ` Shuah Khan
  2018-08-14 15:45   ` Daniel Díaz
  1 sibling, 2 replies; 6+ messages in thread
From: Dominique Martinet @ 2018-07-13  1:26 UTC (permalink / raw)
  Cc: Dominique Martinet, Thomas Renninger, Shuah Khan, Colin Ian King,
	linux-pm, linux-kernel

Generated by scripts/coccinelle/misc/strncpy_truncation.cocci

Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
---

Please see https://marc.info/?l=linux-kernel&m=153144450722324&w=2 (the
first patch of the serie) for the motivation behind this patch

 tools/power/cpupower/bench/parse.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tools/power/cpupower/bench/parse.c b/tools/power/cpupower/bench/parse.c
index 9ba8a44ad2a7..1566b89989b2 100644
--- a/tools/power/cpupower/bench/parse.c
+++ b/tools/power/cpupower/bench/parse.c
@@ -221,9 +221,8 @@ int prepare_config(const char *path, struct config *config)
 			sscanf(val, "%u", &config->cpu);
 
 		else if (strcmp("governor", opt) == 0) {
-			strncpy(config->governor, val,
+			strlcpy(config->governor, val,
 					sizeof(config->governor));
-			config->governor[sizeof(config->governor) - 1] = '\0';
 		}
 
 		else if (strcmp("priority", opt) == 0) {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy
  2018-07-13  1:26 ` [PATCH 18/18] cpupower: " Dominique Martinet
@ 2018-07-24 16:31   ` Shuah Khan
  2018-08-14 15:45   ` Daniel Díaz
  1 sibling, 0 replies; 6+ messages in thread
From: Shuah Khan @ 2018-07-24 16:31 UTC (permalink / raw)
  To: Dominique Martinet
  Cc: Thomas Renninger, Colin Ian King, linux-pm, linux-kernel,
	Shuah Khan

On 07/12/2018 07:26 PM, Dominique Martinet wrote:
> Generated by scripts/coccinelle/misc/strncpy_truncation.cocci
> 
> Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
> ---
> 
> Please see https://marc.info/?l=linux-kernel&m=153144450722324&w=2 (the
> first patch of the serie) for the motivation behind this patch
> 
>  tools/power/cpupower/bench/parse.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/tools/power/cpupower/bench/parse.c b/tools/power/cpupower/bench/parse.c
> index 9ba8a44ad2a7..1566b89989b2 100644
> --- a/tools/power/cpupower/bench/parse.c
> +++ b/tools/power/cpupower/bench/parse.c
> @@ -221,9 +221,8 @@ int prepare_config(const char *path, struct config *config)
>  			sscanf(val, "%u", &config->cpu);
>  
>  		else if (strcmp("governor", opt) == 0) {
> -			strncpy(config->governor, val,
> +			strlcpy(config->governor, val,
>  					sizeof(config->governor));
> -			config->governor[sizeof(config->governor) - 1] = '\0';
>  		}
>  
>  		else if (strcmp("priority", opt) == 0) {
> 

Thanks for the patch. I will pull this in for 4.19-rc1

-- Shuah

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy
  2018-07-13  1:26 ` [PATCH 18/18] cpupower: " Dominique Martinet
  2018-07-24 16:31   ` Shuah Khan
@ 2018-08-14 15:45   ` Daniel Díaz
  2018-08-14 19:27     ` Dominique Martinet
  1 sibling, 1 reply; 6+ messages in thread
From: Daniel Díaz @ 2018-08-14 15:45 UTC (permalink / raw)
  To: Dominique Martinet
  Cc: Thomas Renninger, Shuah Khan, Colin Ian King, linux-pm, open list

Hello!


On 12 July 2018 at 20:26, Dominique Martinet <asmadeus@codewreck.org> wrote:
> Generated by scripts/coccinelle/misc/strncpy_truncation.cocci
>
> Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
> ---
>
> Please see https://marc.info/?l=linux-kernel&m=153144450722324&w=2 (the
> first patch of the serie) for the motivation behind this patch
>
>  tools/power/cpupower/bench/parse.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/tools/power/cpupower/bench/parse.c b/tools/power/cpupower/bench/parse.c
> index 9ba8a44ad2a7..1566b89989b2 100644
> --- a/tools/power/cpupower/bench/parse.c
> +++ b/tools/power/cpupower/bench/parse.c
> @@ -221,9 +221,8 @@ int prepare_config(const char *path, struct config *config)
>                         sscanf(val, "%u", &config->cpu);
>
>                 else if (strcmp("governor", opt) == 0) {
> -                       strncpy(config->governor, val,
> +                       strlcpy(config->governor, val,
>                                         sizeof(config->governor));
> -                       config->governor[sizeof(config->governor) - 1] = '\0';
>                 }
>
>                 else if (strcmp("priority", opt) == 0) {
> --
> 2.17.1

I can't get cpupower to compile anymore now that it made its way to linux-next:
  [/linux/tools/power/cpupower]$ make
    CC       lib/cpufreq.o
  [...]
  make[1]: Entering directory '/linux/tools/power/cpupower/bench'
    CC       main.o
    CC       parse.o
  parse.c: In function ‘prepare_config’:
  parse.c:224:4: warning: implicit declaration of function ‘strlcpy’
[-Wimplicit-function-declaration]
      strlcpy(config->governor, val,
      ^
    CC       system.o
    CC       benchmark.o
    CC       cpufreq-bench
  .//parse.o: In function `prepare_config':
  /linux/tools/power/cpupower/bench/parse.c:224: undefined reference
to `strlcpy'
  collect2: error: ld returned 1 exit status
  Makefile:25: recipe for target 'cpufreq-bench' failed
  make[1]: *** [cpufreq-bench] Error 1
  make[1]: Leaving directory '/linux/tools/power/cpupower/bench'
  Makefile:258: recipe for target 'compile-bench' failed
  make: *** [compile-bench] Error 2

Does it need anything special to make?

Greetings!

Daniel Díaz
daniel.diaz@linaro.org

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy
  2018-08-14 15:45   ` Daniel Díaz
@ 2018-08-14 19:27     ` Dominique Martinet
  2018-08-20 14:27       ` Shuah Khan
  0 siblings, 1 reply; 6+ messages in thread
From: Dominique Martinet @ 2018-08-14 19:27 UTC (permalink / raw)
  To: Daniel Díaz
  Cc: Thomas Renninger, Shuah Khan, Colin Ian King, linux-pm, open list

Daniel Díaz wrote on Tue, Aug 14, 2018:
> I can't get cpupower to compile anymore now that it made its way to linux-next:
>   [/linux/tools/power/cpupower]$ make
>     CC       lib/cpufreq.o
>   [...]
>   make[1]: Entering directory '/linux/tools/power/cpupower/bench'
>     CC       main.o
>     CC       parse.o
>   parse.c: In function ‘prepare_config’:
>   parse.c:224:4: warning: implicit declaration of function ‘strlcpy’
> [-Wimplicit-function-declaration]
>       strlcpy(config->governor, val,
>       ^
>     CC       system.o
>     CC       benchmark.o
>     CC       cpufreq-bench
>   .//parse.o: In function `prepare_config':
>   /linux/tools/power/cpupower/bench/parse.c:224: undefined reference
> to `strlcpy'
>   collect2: error: ld returned 1 exit status
>   Makefile:25: recipe for target 'cpufreq-bench' failed
>   make[1]: *** [cpufreq-bench] Error 1
>   make[1]: Leaving directory '/linux/tools/power/cpupower/bench'
>   Makefile:258: recipe for target 'compile-bench' failed
>   make: *** [compile-bench] Error 2
> 
> Does it need anything special to make?

Ugh, no, I am really ashamed about this patch series for insufficient
testing in general. It is currently "under rework" for an indefinite
time frame as I have had other priorities but I'll add cpupower to the
list...
More precisely, the function is defined in the linux kernel but for
userspace strlcpy is only available through libbsd, and I don't believe
we should pull that in just for this.

I'll send a second patch using snprintf and warning if a truncation
occurs (which is the proper fix that the gcc folks intended people to do
anyway) when I get around to it, but I would recommend to just revert
the patch for now.


Shuah, could you take the patch off please if you haven't pushed it to
linus yet?


Sorry for the time you might have spent on this,
-- 
Dominique Martinet

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy
  2018-08-14 19:27     ` Dominique Martinet
@ 2018-08-20 14:27       ` Shuah Khan
  0 siblings, 0 replies; 6+ messages in thread
From: Shuah Khan @ 2018-08-20 14:27 UTC (permalink / raw)
  To: Dominique Martinet, Daniel Díaz
  Cc: Thomas Renninger, Colin Ian King, linux-pm, open list, Shuah Khan

On 08/14/2018 01:27 PM, Dominique Martinet wrote:
> Daniel Díaz wrote on Tue, Aug 14, 2018:
>> I can't get cpupower to compile anymore now that it made its way to linux-next:
>>   [/linux/tools/power/cpupower]$ make
>>     CC       lib/cpufreq.o
>>   [...]
>>   make[1]: Entering directory '/linux/tools/power/cpupower/bench'
>>     CC       main.o
>>     CC       parse.o
>>   parse.c: In function ‘prepare_config’:
>>   parse.c:224:4: warning: implicit declaration of function ‘strlcpy’
>> [-Wimplicit-function-declaration]
>>       strlcpy(config->governor, val,
>>       ^
>>     CC       system.o
>>     CC       benchmark.o
>>     CC       cpufreq-bench
>>   .//parse.o: In function `prepare_config':
>>   /linux/tools/power/cpupower/bench/parse.c:224: undefined reference
>> to `strlcpy'
>>   collect2: error: ld returned 1 exit status
>>   Makefile:25: recipe for target 'cpufreq-bench' failed
>>   make[1]: *** [cpufreq-bench] Error 1
>>   make[1]: Leaving directory '/linux/tools/power/cpupower/bench'
>>   Makefile:258: recipe for target 'compile-bench' failed
>>   make: *** [compile-bench] Error 2
>>
>> Does it need anything special to make?
> 
> Ugh, no, I am really ashamed about this patch series for insufficient
> testing in general. It is currently "under rework" for an indefinite
> time frame as I have had other priorities but I'll add cpupower to the
> list...
> More precisely, the function is defined in the linux kernel but for
> userspace strlcpy is only available through libbsd, and I don't believe
> we should pull that in just for this.
> 
> I'll send a second patch using snprintf and warning if a truncation
> occurs (which is the proper fix that the gcc folks intended people to do
> anyway) when I get around to it, but I would recommend to just revert
> the patch for now.
> 
> 
> Shuah, could you take the patch off please if you haven't pushed it to
> linus yet?
> 
> 
> Sorry for the time you might have spent on this,
> 
I will go ahead and revert it.

thanks,
-- Shuah

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-08-20 14:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1531444483-17338-1-git-send-email-asmadeus@codewreck.org>
2018-07-13  1:25 ` [PATCH 12/18] test_power: change strncpy+truncation to strlcpy Dominique Martinet
2018-07-13  1:26 ` [PATCH 18/18] cpupower: " Dominique Martinet
2018-07-24 16:31   ` Shuah Khan
2018-08-14 15:45   ` Daniel Díaz
2018-08-14 19:27     ` Dominique Martinet
2018-08-20 14:27       ` Shuah Khan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).