Re: [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy
From: Shuah Khan
Date: Mon Aug 20 2018 - 10:27:48 EST
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