[lkml]   [2018]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 18/18] cpupower: change strncpy+truncation to strlcpy
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
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

 \ /
  Last update: 2018-08-14 21:28    [W:0.741 / U:2.592 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site