[PATCH v3] cpufreq: brcmstb-avs-cpufreq: Fix -Warray-bounds bug

Florian Fainelli florian.fainelli at broadcom.com
Tue Aug 1 10:05:11 PDT 2023


On 7/31/23 20:15, Gustavo A. R. Silva wrote:
> Allocate extra space for terminating element at:
> 
> drivers/cpufreq/brcmstb-avs-cpufreq.c:
> 449         table[i].frequency = CPUFREQ_TABLE_END;
> 
> and add code comment to make this clear.
> 
> This fixes the following -Warray-bounds warning seen after building
> ARM with multi_v7_defconfig (GCC 13):
> In function 'brcm_avs_get_freq_table',
>      inlined from 'brcm_avs_cpufreq_init' at drivers/cpufreq/brcmstb-avs-cpufreq.c:623:15:
> drivers/cpufreq/brcmstb-avs-cpufreq.c:449:28: warning: array subscript 5 is outside array bounds of 'void[60]' [-Warray-bounds=]
>    449 |         table[i].frequency = CPUFREQ_TABLE_END;
> In file included from include/linux/node.h:18,
>                   from include/linux/cpu.h:17,
>                   from include/linux/cpufreq.h:12,
>                   from drivers/cpufreq/brcmstb-avs-cpufreq.c:44:
> In function 'devm_kmalloc_array',
>      inlined from 'devm_kcalloc' at include/linux/device.h:328:9,
>      inlined from 'brcm_avs_get_freq_table' at drivers/cpufreq/brcmstb-avs-cpufreq.c:437:10,
>      inlined from 'brcm_avs_cpufreq_init' at drivers/cpufreq/brcmstb-avs-cpufreq.c:623:15:
> include/linux/device.h:323:16: note: at offset 60 into object of size 60 allocated by 'devm_kmalloc'
>    323 |         return devm_kmalloc(dev, bytes, flags);
>        |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
> routines on memcpy() and help us make progress towards globally
> enabling -Warray-bounds.
> 
> Link: https://github.com/KSPP/linux/issues/324
> Fixes: de322e085995 ("cpufreq: brcmstb-avs-cpufreq: AVS CPUfreq driver for Broadcom STB SoCs")
> Cc: stable at vger.kernel.org
> Signed-off-by: Gustavo A. R. Silva <gustavoars at kernel.org>

Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
-- 
Florian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4221 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20230801/94d36cfe/attachment.p7s>


More information about the linux-arm-kernel mailing list