[PATCH 01/12] common/cpt: fix build with GCC 12

Stephen Hemminger stephen at networkplumber.org
Fri May 20 22:23:35 CEST 2022


On Wed, 18 May 2022 12:16:46 +0200
David Marchand <david.marchand at redhat.com> wrote:

> GCC 12 raises the following warning:
> 
> In function ‘fill_sg_comp_from_iov’,
>     inlined from ‘cpt_kasumi_enc_prep’ at
>         ../drivers/common/cpt/cpt_ucode.h:2176:8,
>     inlined from ‘cpt_fc_enc_hmac_prep’ at
>         ../drivers/common/cpt/cpt_ucode.h:2475:3,
>     inlined from ‘fill_digest_params’ at
>         ../drivers/common/cpt/cpt_ucode.h:3548:14,
>     inlined from ‘otx_cpt_enq_single_sym’ at
>         ../drivers/crypto/octeontx/otx_cryptodev_ops.c:541:9,
>     inlined from ‘otx_cpt_enq_single_sym_sessless’ at
>         ../drivers/crypto/octeontx/otx_cryptodev_ops.c:584:8,
>     inlined from ‘otx_cpt_enq_single’ at
>         ../drivers/crypto/octeontx/otx_cryptodev_ops.c:611:11,
>     inlined from ‘otx_cpt_pkt_enqueue’ at
>         ../drivers/crypto/octeontx/otx_cryptodev_ops.c:643:9,
>     inlined from ‘otx_cpt_enqueue_sym’ at
>         ../drivers/crypto/octeontx/otx_cryptodev_ops.c:668:9:
> ../drivers/common/cpt/cpt_ucode.h:415:36: error: array subscript 0 is
>         outside array bounds of ‘buf_ptr_t[0]’ {aka ‘struct buf_ptr[]’}
>         [-Werror=array-bounds]
>   415 |                         e_dma_addr = bufs[j].dma_addr;
>       |                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> ../drivers/common/cpt/cpt_ucode.h:416:48: error: array subscript 0 is
>         outside array bounds of ‘buf_ptr_t[0]’ {aka ‘struct buf_ptr[]’}
>         [-Werror=array-bounds]
>   416 |                         e_len = (size > bufs[j].size) ?
>       |                                         ~~~~~~~^~~~~
> 
> For now, waive this warning until we have a proper fix.
> 
> Cc: stable at dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand at redhat.com>
 
NAK
Please fix properly, with something like:

--- a/drivers/common/cpt/cpt_mcode_defines.h
+++ b/drivers/common/cpt/cpt_mcode_defines.h
@@ -387,7 +387,7 @@ typedef struct buf_ptr {
 /* IOV Pointer */
 typedef struct{
        int buf_cnt;
-       buf_ptr_t bufs[0];
+       buf_ptr_t bufs[];
 } iov_ptr_t;
 
 typedef struct fc_params {





More information about the stable mailing list