Message ID | 20180809133720.16406-1-aneesh.kumar@linux.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | ae24ce5e12127eeef6bf946c3ee0e95f3797caaf |
Headers | show |
Series | powerpc/powernv/idle: Fix build error | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | next/apply_patch Successfully applied |
snowpatch_ozlabs/checkpatch | warning | Test checkpatch on branch next |
snowpatch_ozlabs/build-ppc64le | success | Test build-ppc64le on branch next |
snowpatch_ozlabs/build-ppc64be | success | Test build-ppc64be on branch next |
snowpatch_ozlabs/build-ppc64e | success | Test build-ppc64e on branch next |
snowpatch_ozlabs/build-ppc32 | success | Test build-ppc32 on branch next |
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> writes: > Fix the below build error using strlcpy instead of strncpy > > In function 'pnv_parse_cpuidle_dt', > inlined from 'pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:840:7, > inlined from '__machine_initcall_powernv_pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:870:1: > arch/powerpc/platforms/powernv/idle.c:820:3: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] > strncpy(pnv_idle_states[i].name, temp_string[i], > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > PNV_IDLE_NAME_LEN); I'm curious why I haven't seen this? What compiler are you using? cheers > diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c > index ecb002c5db83..35f699ebb662 100644 > --- a/arch/powerpc/platforms/powernv/idle.c > +++ b/arch/powerpc/platforms/powernv/idle.c > @@ -817,7 +817,7 @@ static int pnv_parse_cpuidle_dt(void) > goto out; > } > for (i = 0; i < nr_idle_states; i++) > - strncpy(pnv_idle_states[i].name, temp_string[i], > + strlcpy(pnv_idle_states[i].name, temp_string[i], > PNV_IDLE_NAME_LEN); > nr_pnv_idle_states = nr_idle_states; > rc = 0; > -- > 2.17.1
On 10/08/2018 17:10, Michael Ellerman wrote: > "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> writes: > >> Fix the below build error using strlcpy instead of strncpy >> >> In function 'pnv_parse_cpuidle_dt', >> inlined from 'pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:840:7, >> inlined from '__machine_initcall_powernv_pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:870:1: >> arch/powerpc/platforms/powernv/idle.c:820:3: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] >> strncpy(pnv_idle_states[i].name, temp_string[i], >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> PNV_IDLE_NAME_LEN); > > I'm curious why I haven't seen this? What compiler are you using? gcc 8 does this. > > cheers > >> diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c >> index ecb002c5db83..35f699ebb662 100644 >> --- a/arch/powerpc/platforms/powernv/idle.c >> +++ b/arch/powerpc/platforms/powernv/idle.c >> @@ -817,7 +817,7 @@ static int pnv_parse_cpuidle_dt(void) >> goto out; >> } >> for (i = 0; i < nr_idle_states; i++) >> - strncpy(pnv_idle_states[i].name, temp_string[i], >> + strlcpy(pnv_idle_states[i].name, temp_string[i], >> PNV_IDLE_NAME_LEN); >> nr_pnv_idle_states = nr_idle_states; >> rc = 0; >> -- >> 2.17.1
On Thu, 2018-08-09 at 13:37:20 UTC, "Aneesh Kumar K.V" wrote: > Fix the below build error using strlcpy instead of strncpy > > In function 'pnv_parse_cpuidle_dt', > inlined from 'pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:840:7, > inlined from '__machine_initcall_powernv_pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:870:1: > arch/powerpc/platforms/powernv/idle.c:820:3: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] > strncpy(pnv_idle_states[i].name, temp_string[i], > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > PNV_IDLE_NAME_LEN); > > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/ae24ce5e12127eeef6bf946c3ee0e9 cheers
Alexey Kardashevskiy <aik@ozlabs.ru> writes: > On 10/08/2018 17:10, Michael Ellerman wrote: >> "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> writes: >> >>> Fix the below build error using strlcpy instead of strncpy >>> >>> In function 'pnv_parse_cpuidle_dt', >>> inlined from 'pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:840:7, >>> inlined from '__machine_initcall_powernv_pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:870:1: >>> arch/powerpc/platforms/powernv/idle.c:820:3: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] >>> strncpy(pnv_idle_states[i].name, temp_string[i], >>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> PNV_IDLE_NAME_LEN); >> >> I'm curious why I haven't seen this? What compiler are you using? > > gcc 8 does this. Yeah you're right. It was hidden by another build failure in my build scripts :/ cheers
diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c index ecb002c5db83..35f699ebb662 100644 --- a/arch/powerpc/platforms/powernv/idle.c +++ b/arch/powerpc/platforms/powernv/idle.c @@ -817,7 +817,7 @@ static int pnv_parse_cpuidle_dt(void) goto out; } for (i = 0; i < nr_idle_states; i++) - strncpy(pnv_idle_states[i].name, temp_string[i], + strlcpy(pnv_idle_states[i].name, temp_string[i], PNV_IDLE_NAME_LEN); nr_pnv_idle_states = nr_idle_states; rc = 0;
Fix the below build error using strlcpy instead of strncpy In function 'pnv_parse_cpuidle_dt', inlined from 'pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:840:7, inlined from '__machine_initcall_powernv_pnv_init_idle_states' at arch/powerpc/platforms/powernv/idle.c:870:1: arch/powerpc/platforms/powernv/idle.c:820:3: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] strncpy(pnv_idle_states[i].name, temp_string[i], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PNV_IDLE_NAME_LEN); Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> --- arch/powerpc/platforms/powernv/idle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)